Add cli executor models 26/88026/5
authorBrinda Santh <brindasanth@in.ibm.com>
Wed, 15 May 2019 21:03:13 +0000 (17:03 -0400)
committerSteve Siani <alphonse.steve.siani.djissitchi@ibm.com>
Thu, 23 May 2019 04:15:54 +0000 (00:15 -0400)
Change-Id: I611de175a265ea27dcb64fa08c33de5eb2dbffb6
Issue-ID: CCSDK-1335
Signed-off-by: Brinda Santh <brindasanth@in.ibm.com>
components/model-catalog/blueprint-model/test-blueprint/baseconfiguration/Definitions/activation-blueprint.json
components/model-catalog/blueprint-model/test-blueprint/baseconfiguration/Definitions/node_types.json
components/model-catalog/definition-type/starter-type/node_type/component-cli-executor.json [new file with mode: 0644]

index eae6924..5530b7c 100644 (file)
           }
         }
       },
+      "activate-cli": {
+        "type": "component-cli-executor",
+        "interfaces": {
+          "ComponentCliExecutor": {
+            "operations": {
+              "process": {
+                "implementation": {
+                  "primary": "component-script"
+                },
+                "inputs": {
+                  "script-type": "kotlin",
+                  "script-class-reference": "InternalSimpleCli_cba$TestCliScriptFunction",
+                  "instance-dependencies": []
+                },
+                "outputs": {
+                  "response-data": "",
+                  "status": "success"
+                }
+              }
+            }
+          }
+        }
+      },
       "sample-netconf-device": {
         "type": "vnf-netconf-device",
         "capabilities": {
           }
         }
       },
+      "activate-cli": {
+        "steps": {
+          "activate-process": {
+            "description": "Activate CLI flow",
+            "target": "activate-cli",
+            "activities": [
+              {
+                "call_operation": "ComponentCliExecutor.process"
+              }
+            ]
+          }
+        }
+      },
       "assign-activate": {
         "inputs": {
           "assign-activate-properties": {
index 8e9d13e..ceb18b2 100644 (file)
@@ -1,5 +1,70 @@
 {
   "node_types": {
+    "component-cli-executor": {
+      "description": "This is CLI Transaction Configuration Component API",
+      "version": "1.0.0",
+      "capabilities": {
+        "component-node": {
+          "type": "tosca.capabilities.Node"
+        }
+      },
+      "interfaces": {
+        "ComponentCliExecutor": {
+          "operations": {
+            "process": {
+              "inputs": {
+                "script-type": {
+                  "description": "Script type, kotlin type is supported",
+                  "required": true,
+                  "type": "string",
+                  "constraints": [
+                    {
+                      "valid_values": [
+                        "kotlin",
+                        "jython",
+                        "internal"
+                      ]
+                    }
+                  ],
+                  "default": "internal"
+                },
+                "script-class-reference": {
+                  "description": "Kotlin Script class name or jython script name.",
+                  "required": true,
+                  "type": "string"
+                },
+                "instance-dependencies": {
+                  "description": "Instance names to inject to Jython or Kotlin Script.",
+                  "required": true,
+                  "type": "list",
+                  "entry_schema": {
+                    "type": "string"
+                  }
+                },
+                "dynamic-properties": {
+                  "description": "Dynamic Json Content or DSL Json reference.",
+                  "required": false,
+                  "type": "json"
+                }
+              },
+              "outputs": {
+                "response-data": {
+                  "description": "Execution Response Data.",
+                  "required": false,
+                  "type": "string"
+                },
+                "status": {
+                  "description": "Status of the Component Execution ( success or failure )",
+                  "required": true,
+                  "type": "string"
+                }
+              }
+            }
+          }
+        }
+      },
+      "derived_from": "tosca.nodes.Component"
+    },
     "component-jython-executor": {
       "description": "This is Jython Execution Component.",
       "version": "1.0.0",
           }
         }
       },
-      "derived_from": "tosca.nodes.component.Jython"
+      "derived_from": "tosca.nodes.Component"
     },
     "component-netconf-executor": {
       "description": "This is Netconf Transaction Configuration Component API",
       },
       "derived_from": "tosca.nodes.ResourceSource"
     },
+    "source-default": {
+      "description": "This is Default Resource Source Node Type",
+      "version": "1.0.0",
+      "properties": {},
+      "derived_from": "tosca.nodes.ResourceSource"
+    },
     "source-input": {
       "description": "This is Input Resource Source Node Type",
       "version": "1.0.0",
-      "properties": {
-        "key": {
-          "required": false,
-          "type": "string"
-        },
-        "key-dependencies": {
-          "required": true,
-          "type": "list",
-          "entry_schema": {
-            "type": "string"
-          }
-        }
-      },
+      "properties": {},
       "derived_from": "tosca.nodes.ResourceSource"
     },
     "source-processor-db": {
       "version": "1.0.0",
       "properties": {
         "type": {
-          "required": false,
+          "required": true,
           "type": "string",
           "constraints": [
             {
           "default": "JSON"
         },
         "verb": {
-          "required": false,
+          "required": true,
           "type": "string",
           "constraints": [
             {
       "version": "1.0.0",
       "derived_from": "tosca.nodes.Root"
     },
-    "tosca.nodes.Workflow": {
-      "description": "This is Directed Graph Node Type",
-      "version": "1.0.0",
-      "derived_from": "tosca.nodes.Root"
-    },
     "tosca.nodes.ResourceSource": {
       "description": "TOSCA base type for Resource Sources",
       "version": "1.0.0",
       "version": "1.0.0",
       "derived_from": "tosca.nodes.Root"
     },
-    "tosca.nodes.component.Jython": {
-      "description": "This is Jython Component",
+    "tosca.nodes.Workflow": {
+      "description": "This is Directed Graph Node Type",
       "version": "1.0.0",
       "derived_from": "tosca.nodes.Root"
     },
diff --git a/components/model-catalog/definition-type/starter-type/node_type/component-cli-executor.json b/components/model-catalog/definition-type/starter-type/node_type/component-cli-executor.json
new file mode 100644 (file)
index 0000000..4860dd4
--- /dev/null
@@ -0,0 +1,65 @@
+{
+  "description": "This is CLI Transaction Configuration Component API",
+  "version": "1.0.0",
+  "capabilities": {
+    "component-node": {
+      "type": "tosca.capabilities.Node"
+    }
+  },
+  "interfaces": {
+    "ComponentCliExecutor": {
+      "operations": {
+        "process": {
+          "inputs": {
+            "script-type": {
+              "description": "Script type, kotlin type is supported",
+              "required": true,
+              "type": "string",
+              "default": "internal",
+              "constraints": [
+                {
+                  "valid_values": [
+                    "kotlin",
+                    "jython",
+                    "internal"
+                  ]
+                }
+              ]
+            },
+            "script-class-reference": {
+              "description": "Kotlin Script class name or jython script name.",
+              "required": true,
+              "type": "string"
+            },
+            "instance-dependencies": {
+              "required": true,
+              "description": "Instance names to inject to Jython or Kotlin Script.",
+              "type": "list",
+              "entry_schema": {
+                "type": "string"
+              }
+            },
+            "dynamic-properties": {
+              "description": "Dynamic Json Content or DSL Json reference.",
+              "required": false,
+              "type": "json"
+            }
+          },
+          "outputs": {
+            "response-data": {
+              "description": "Execution Response Data.",
+              "required": false,
+              "type": "string"
+            },
+            "status": {
+              "description": "Status of the Component Execution ( success or failure )",
+              "required": true,
+              "type": "string"
+            }
+          }
+        }
+      }
+    }
+  },
+  "derived_from": "tosca.nodes.Component"
+}
\ No newline at end of file