summaryrefslogtreecommitdiffstats
path: root/ms/controllerblueprints/modules
diff options
context:
space:
mode:
Diffstat (limited to 'ms/controllerblueprints/modules')
-rw-r--r--ms/controllerblueprints/modules/pom.xml2
-rw-r--r--ms/controllerblueprints/modules/service/pom.xml2
-rw-r--r--ms/controllerblueprints/modules/service/src/main/java/org/onap/ccsdk/apps/controllerblueprints/service/domain/ConfigModelSearch.java2
-rw-r--r--ms/controllerblueprints/modules/service/src/test/java/org/onap/ccsdk/apps/controllerblueprints/service/validator/ModelTypeValidatorTest.java58
-rw-r--r--ms/controllerblueprints/modules/service/src/test/resources/enhance/enhanced-template.json1848
5 files changed, 985 insertions, 927 deletions
diff --git a/ms/controllerblueprints/modules/pom.xml b/ms/controllerblueprints/modules/pom.xml
index 887d02331..b38b6e6aa 100644
--- a/ms/controllerblueprints/modules/pom.xml
+++ b/ms/controllerblueprints/modules/pom.xml
@@ -23,7 +23,7 @@
<parent>
<groupId>org.onap.ccsdk.apps.controllerblueprints</groupId>
<artifactId>parent</artifactId>
- <version>0.3.0-SNAPSHOT</version>
+ <version>0.3.1-SNAPSHOT</version>
<relativePath>../parent</relativePath>
</parent>
<artifactId>modules</artifactId>
diff --git a/ms/controllerblueprints/modules/service/pom.xml b/ms/controllerblueprints/modules/service/pom.xml
index e95c1f739..add4ad15a 100644
--- a/ms/controllerblueprints/modules/service/pom.xml
+++ b/ms/controllerblueprints/modules/service/pom.xml
@@ -25,7 +25,7 @@
<parent>
<groupId>org.onap.ccsdk.apps.controllerblueprints</groupId>
<artifactId>modules</artifactId>
- <version>0.3.0-SNAPSHOT</version>
+ <version>0.3.1-SNAPSHOT</version>
</parent>
<artifactId>service</artifactId>
<name>Controller Blueprints Service</name>
diff --git a/ms/controllerblueprints/modules/service/src/main/java/org/onap/ccsdk/apps/controllerblueprints/service/domain/ConfigModelSearch.java b/ms/controllerblueprints/modules/service/src/main/java/org/onap/ccsdk/apps/controllerblueprints/service/domain/ConfigModelSearch.java
index 6ec39ab55..b6f0f0019 100644
--- a/ms/controllerblueprints/modules/service/src/main/java/org/onap/ccsdk/apps/controllerblueprints/service/domain/ConfigModelSearch.java
+++ b/ms/controllerblueprints/modules/service/src/main/java/org/onap/ccsdk/apps/controllerblueprints/service/domain/ConfigModelSearch.java
@@ -49,7 +49,7 @@ public class ConfigModelSearch implements Serializable {
@Column(name = "internal_version")
private Integer internalVersion;
- @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "MM/dd/yyyy KK:mm:ss a Z")
+ @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'")
@LastModifiedDate
@Temporal(TemporalType.TIMESTAMP)
@Column(name = "creation_date")
diff --git a/ms/controllerblueprints/modules/service/src/test/java/org/onap/ccsdk/apps/controllerblueprints/service/validator/ModelTypeValidatorTest.java b/ms/controllerblueprints/modules/service/src/test/java/org/onap/ccsdk/apps/controllerblueprints/service/validator/ModelTypeValidatorTest.java
new file mode 100644
index 000000000..a5eb661af
--- /dev/null
+++ b/ms/controllerblueprints/modules/service/src/test/java/org/onap/ccsdk/apps/controllerblueprints/service/validator/ModelTypeValidatorTest.java
@@ -0,0 +1,58 @@
+/*
+ * Copyright © 2018 IBM.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.onap.ccsdk.apps.controllerblueprints.service.validator;
+
+import static org.junit.Assert.*;
+
+import org.junit.*;
+import org.onap.ccsdk.apps.controllerblueprints.service.validator.ModelTypeValidator;
+import org.onap.ccsdk.apps.controllerblueprints.service.domain.ModelType;
+import org.onap.ccsdk.apps.controllerblueprints.core.BluePrintException;
+
+import com.fasterxml.jackson.databind.JsonNode;
+
+public class ModelTypeValidatorTest {
+
+ @Before
+ public void setup(){
+ ModelTypeValidator modelTypeValidator;
+ }
+
+ @Test
+ public void testGetValidModelDefinitionType_definitionContentNULL() throws Exception{
+ String definitionType=null;
+ JsonNode definitionContent=null;
+ boolean valid= ModelTypeValidator.validateModelTypeDefinition(definitionType, definitionContent);
+ Assert.assertTrue(valid);
+
+ }
+
+ @Test(expected=BluePrintException.class)
+ public void testvalidateModelType() throws Exception{
+ ModelType modelType = new ModelType();
+ modelType.setDefinitionType("");
+ modelType.setDerivedFrom("");
+ modelType.setDescription("");
+ JsonNode definitionContent=null;
+ modelType.setDefinition(definitionContent);
+ modelType.setModelName("");
+ modelType.setVersion("");
+ modelType.setTags("");
+ modelType.setUpdatedBy("");
+ ModelTypeValidator.validateModelType(modelType);
+ }
+}
diff --git a/ms/controllerblueprints/modules/service/src/test/resources/enhance/enhanced-template.json b/ms/controllerblueprints/modules/service/src/test/resources/enhance/enhanced-template.json
index 531d756be..d49ab8fec 100644
--- a/ms/controllerblueprints/modules/service/src/test/resources/enhance/enhanced-template.json
+++ b/ms/controllerblueprints/modules/service/src/test/resources/enhance/enhanced-template.json
@@ -1,925 +1,925 @@
-{
- "metadata" : {
- "template_author" : "Brinda Santh",
- "template_name" : "enhance-template",
- "template_version" : "1.0.0",
- "template_tags" : "brinda, VPE",
- "service-type" : "Sample Service",
- "release" : "1806",
- "vnf-type" : "VPE"
- },
- "tosca_definitions_version" : "controller_blueprint_1_0_0",
- "artifact_types" : { },
- "data_types" : {
- "dt-v4-aggregate" : {
- "description" : "This is dt-v4-aggregate Data Type",
- "version" : "1.0.0",
- "properties" : {
- "ipv4-address" : {
- "required" : true,
- "type" : "string"
- },
- "ipv4-plen" : {
- "required" : false,
- "type" : "integer"
- }
- },
- "derived_from" : "tosca.datatypes.Root"
- },
- "dt-license-key" : {
- "description" : "This is dt-plicense-key Data Type",
- "version" : "1.0.0",
- "properties" : {
- "license-key" : {
- "required" : true,
- "type" : "string"
- }
- },
- "derived_from" : "tosca.datatypes.Root"
- },
- "datatype-resource-assignment" : {
- "description" : "This is Resource Assignment Data Type",
- "version" : "1.0.0",
- "properties" : {
- "property" : {
- "required" : true,
- "type" : "datatype-property"
- },
- "input-param" : {
- "required" : true,
- "type" : "boolean"
- },
- "dictionary-name" : {
- "required" : false,
- "type" : "string"
- },
- "dictionary-source" : {
- "required" : false,
- "type" : "string"
- },
- "dependencies" : {
- "required" : true,
- "type" : "list",
- "entry_schema" : {
- "type" : "string"
- }
- },
- "status" : {
- "required" : false,
- "type" : "string"
- },
- "message" : {
- "required" : false,
- "type" : "string"
- },
- "updated-date" : {
- "required" : false,
- "type" : "string"
- },
- "updated-by" : {
- "required" : false,
- "type" : "string"
- }
- },
- "derived_from" : "tosca.datatypes.Root"
- },
- "datatype-property" : {
- "description" : "This is Entry point Input Data Type, which is dynamic datatype, The parameter names will be populated during the Design time for each inputs",
- "version" : "1.0.0",
- "properties" : {
- "type" : {
- "required" : true,
- "type" : "string"
- },
- "description" : {
- "required" : false,
- "type" : "string"
- },
- "required" : {
- "required" : false,
- "type" : "boolean"
- },
- "default" : {
- "required" : false,
- "type" : "string"
- },
- "entry_schema" : {
- "required" : false,
- "type" : "string"
- }
- },
- "derived_from" : "tosca.datatypes.Root"
- },
- "dt-resource-assignment-request" : {
- "description" : "This is Dynamic Data type definition generated from resource mapping for the config template name base-config-template.",
- "version" : "1.0.0",
- "properties" : {
- "hostname" : {
- "required" : true,
- "type" : "string"
- },
- "licenses" : {
- "required" : true,
- "type" : "list",
- "entry_schema" : {
- "type" : "dt-license-key"
- }
- },
- "rs-db-source" : {
- "required" : true,
- "type" : "string"
- },
- "service" : {
- "required" : true,
- "type" : "string"
- },
- "service-instance-id" : {
- "required" : true,
- "type" : "string"
- },
- "mdsal-source" : {
- "description" : "",
- "required" : true,
- "type" : "list",
- "entry_schema" : {
- "type" : "dt-v4-aggregate"
- }
- }
- },
- "derived_from" : "tosca.datatypes.Dynamic"
- }
- },
- "node_types" : {
- "dg-resource-assignment" : {
- "description" : "This is Resource Assignment Directed Graph",
- "version" : "1.0.0",
- "properties" : {
- "mode" : {
- "required" : false,
- "type" : "string",
- "default" : "sync"
- },
- "version" : {
- "required" : false,
- "type" : "string",
- "default" : "LATEST"
- },
- "is-start-flow" : {
- "required" : false,
- "type" : "boolean",
- "default" : false
- }
- },
- "capabilities" : {
- "dg-node" : {
- "type" : "tosca.capabilities.Node"
- }
- },
- "requirements" : {
- "component-dependency" : {
- "capability" : "component-node",
- "node" : "component-resource-assignment",
- "relationship" : "tosca.relationships.DependsOn"
- }
- },
- "interfaces" : {
- "CONFIG" : {
- "operations" : {
- "ResourceAssignment" : {
- "inputs" : {
- "params" : {
- "required" : false,
- "type" : "list",
- "entry_schema" : {
- "type" : "datatype-property"
- }
- }
- }
- }
- }
- }
- },
- "derived_from" : "tosca.nodes.DG"
- },
- "tosca.nodes.Component" : {
- "description" : "This is default Component Node",
- "version" : "1.0.0",
- "derived_from" : "tosca.nodes.Root"
- },
- "artifact-config-template" : {
- "description" : "This is Configuration Velocity Template",
- "version" : "1.0.0",
- "properties" : {
- "action-names" : {
- "required" : true,
- "type" : "list",
- "entry_schema" : {
- "type" : "string"
- }
- }
- },
- "capabilities" : {
- "content" : {
- "type" : "tosca.capabilities.Content",
- "properties" : {
- "content" : {
- "required" : true,
- "type" : "string"
- }
- }
- },
- "mapping" : {
- "type" : "tosca.capabilities.Mapping",
- "properties" : {
- "mapping" : {
- "required" : false,
- "type" : "list",
- "entry_schema" : {
- "type" : "datatype-resource-assignment"
- }
- }
- }
- }
- },
- "derived_from" : "tosca.nodes.Artifact"
- },
- "tosca.nodes.Vnf" : {
- "description" : "This is VNF Node Type",
- "version" : "1.0.0",
- "derived_from" : "tosca.nodes.Root"
- },
- "tosca.nodes.Artifact" : {
- "description" : "This is Deprecated Artifact Node Type.",
- "version" : "1.0.0",
- "derived_from" : "tosca.nodes.Root"
- },
- "dg-activate-netconf" : {
- "description" : "This is Download Netconf Directed Graph",
- "version" : "1.0.0",
- "properties" : {
- "mode" : {
- "required" : false,
- "type" : "string",
- "default" : "sync"
- },
- "version" : {
- "required" : false,
- "type" : "string",
- "default" : "LATEST"
- },
- "is-start-flow" : {
- "required" : false,
- "type" : "boolean",
- "default" : false
- }
- },
- "capabilities" : {
- "dg-node" : {
- "type" : "tosca.capabilities.Node"
- }
- },
- "requirements" : {
- "component-dependency" : {
- "capability" : "component-node",
- "node" : "component-netconf-executor",
- "relationship" : "tosca.relationships.DependsOn"
- }
- },
- "interfaces" : {
- "CONFIG" : {
- "operations" : {
- "ActivateNetconf" : {
- "inputs" : {
- "params" : {
- "required" : false,
- "type" : "list",
- "entry_schema" : {
- "type" : "datatype-property"
- }
- }
- }
- }
- }
- }
- },
- "derived_from" : "tosca.nodes.DG"
- },
- "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"
- }
- }
- },
- "derived_from" : "tosca.nodes.ResourceSource"
- },
- "tosca.nodes.ResourceSource" : {
- "description" : "TOSCA base type for Resource Sources",
- "version" : "1.0.0",
- "derived_from" : "tosca.nodes.Root"
- },
- "component-resource-assignment" : {
- "description" : "This is Resource Assignment Component API",
- "version" : "1.0.0",
- "capabilities" : {
- "component-node" : {
- "type" : "tosca.capabilities.Node"
- }
- },
- "interfaces" : {
- "org-onap-ccsdk-config-assignment-service-ConfigAssignmentNode" : {
- "operations" : {
- "process" : {
- "inputs" : {
- "template-name" : {
- "description" : "Service Template Name.",
- "required" : true,
- "type" : "string"
- },
- "template-version" : {
- "description" : "Service Template Version.",
- "required" : true,
- "type" : "string"
- },
- "resource-type" : {
- "description" : "Request type.",
- "required" : true,
- "type" : "string"
- },
- "template-names" : {
- "description" : "Name of the artifact Node Templates, to get the template Content.",
- "required" : true,
- "type" : "list",
- "entry_schema" : {
- "type" : "string"
- }
- },
- "request-id" : {
- "description" : "Request Id, Unique Id for the request.",
- "required" : true,
- "type" : "string"
- },
- "resource-id" : {
- "description" : "Resource Id.",
- "required" : true,
- "type" : "string"
- },
- "action-name" : {
- "description" : "Action Name of the process",
- "required" : true,
- "type" : "string"
- }
- },
- "outputs" : {
- "resource-assignment-params" : {
- "required" : true,
- "type" : "string"
- },
- "status" : {
- "required" : true,
- "type" : "string"
- }
- }
- }
- }
- }
- },
- "derived_from" : "tosca.nodes.Component"
- },
- "tosca.nodes.DG" : {
- "description" : "This is Directed Graph Node Type",
- "version" : "1.0.0",
- "derived_from" : "tosca.nodes.Root"
- },
- "source-db" : {
- "description" : "This is Database Resource Source Node Type",
- "version" : "1.0.0",
- "properties" : {
- "type" : {
- "required" : true,
- "type" : "string",
- "constraints" : [ {
- "valid_values" : [ "SQL", "PLSQL" ]
- } ]
- },
- "query" : {
- "required" : true,
- "type" : "string"
- },
- "input-key-mapping" : {
- "required" : false,
- "type" : "map",
- "entry_schema" : {
- "type" : "string"
- }
- },
- "output-key-mapping" : {
- "required" : false,
- "type" : "map",
- "entry_schema" : {
- "type" : "string"
- }
- },
- "key-dependencies" : {
- "required" : true,
- "type" : "list",
- "entry_schema" : {
- "type" : "string"
- }
- }
- },
- "derived_from" : "tosca.nodes.ResourceSource"
- },
- "vnf-netconf-device" : {
- "description" : "This is VNF Device with Netconf Capability",
- "version" : "1.0.0",
- "capabilities" : {
- "netconf" : {
- "type" : "tosca.capabilities.Netconf",
- "properties" : {
- "login-key" : {
- "required" : true,
- "type" : "string",
- "default" : "sdnc"
- },
- "login-account" : {
- "required" : true,
- "type" : "string",
- "default" : "sdnc-tacacs"
- },
- "source" : {
- "required" : true,
- "type" : "string",
- "default" : "npm"
- },
- "target-ip-address" : {
- "required" : true,
- "type" : "string"
- },
- "port-number" : {
- "required" : true,
- "type" : "integer",
- "default" : 830
- },
- "connection-time-out" : {
- "required" : false,
- "type" : "integer",
- "default" : 30
- }
- }
- }
- },
- "derived_from" : "tosca.nodes.Vnf"
- },
- "source-rest" : {
- "description" : "This is Rest Resource Source Node Type",
- "version" : "1.0.0",
- "properties" : {
- "type" : {
- "required" : false,
- "type" : "string",
- "constraints" : [ {
- "valid_values" : [ "JSON" ]
- } ],
- "default" : "JSON"
- },
- "url-path" : {
- "required" : true,
- "type" : "string"
- },
- "path" : {
- "required" : true,
- "type" : "string"
- },
- "expression-type" : {
- "required" : false,
- "type" : "string",
- "constraints" : [ {
- "valid_values" : [ "JSON_PATH", "JSON_POINTER" ]
- } ],
- "default" : "JSON_PATH"
- },
- "input-key-mapping" : {
- "required" : false,
- "type" : "map",
- "entry_schema" : {
- "type" : "string"
- }
- },
- "output-key-mapping" : {
- "required" : false,
- "type" : "map",
- "entry_schema" : {
- "type" : "string"
- }
- },
- "key-dependencies" : {
- "required" : true,
- "type" : "list",
- "entry_schema" : {
- "type" : "string"
- }
- }
- },
- "derived_from" : "tosca.nodes.ResourceSource"
- },
- "component-netconf-executor" : {
- "description" : "This is Netconf Transaction Configuration Component API",
- "version" : "1.0.0",
- "capabilities" : {
- "component-node" : {
- "type" : "tosca.capabilities.Node"
- }
- },
- "requirements" : {
- "netconf-connection" : {
- "capability" : "netconf",
- "node" : "vnf-netconf-device",
- "relationship" : "tosca.relationships.ConnectsTo"
- }
- },
- "interfaces" : {
- "org-openecomp-sdnc-netconf-adaptor-service-NetconfExecutorNode" : {
- "operations" : {
- "process" : {
- "inputs" : {
- "request-id" : {
- "description" : "Request Id used to store the generated configuration, in the database along with the template-name",
- "required" : true,
- "type" : "string"
- },
- "template-name" : {
- "description" : "Service Template Name",
- "required" : true,
- "type" : "string"
- },
- "template-version" : {
- "description" : "Service Template Version",
- "required" : true,
- "type" : "string"
- },
- "action-name" : {
- "description" : "Action Name to get from Database, Either (message & mask-info ) or ( resource-id & resource-type & action-name & template-name ) should be present. Message will be given higest priority",
- "required" : false,
- "type" : "string"
- },
- "resource-type" : {
- "description" : "Resource Type to get from Database, Either (message & mask-info ) or( resource-id & resource-type & action-name & template-name ) should be present. Message will be given higest priority",
- "required" : false,
- "type" : "string"
- },
- "resource-id" : {
- "description" : "Resource Id to get from Database, Either (message & mask-info ) or ( resource-id & resource-type & action-name & template-name ) should be present. Message will be given higest priority",
- "required" : false,
- "type" : "string"
- },
- "reservation-id" : {
- "description" : "Reservation Id used to send to NPM",
- "required" : false,
- "type" : "string"
- },
- "execution-script" : {
- "description" : "Python Script to Execute for this Component action, It should refer any one of Prython Artifact Definition for this Node Template.",
- "required" : true,
- "type" : "string"
- }
- },
- "outputs" : {
- "response-data" : {
- "description" : "Execution Response Data in JSON format.",
- "required" : false,
- "type" : "string"
- },
- "status" : {
- "description" : "Status of the Component Execution ( success or failure )",
- "required" : true,
- "type" : "string"
- }
- }
- }
- }
- }
- },
- "derived_from" : "tosca.nodes.Component"
- }
- },
- "topology_template" : {
- "inputs" : {
- "request-id" : {
- "required" : true,
- "type" : "string"
- },
- "service-instance-id" : {
- "required" : true,
- "type" : "string"
- },
- "scope-type" : {
- "required" : true,
- "type" : "string"
- },
- "action-name" : {
- "required" : true,
- "type" : "string"
- },
- "hostname" : {
- "required" : true,
- "type" : "string"
- },
- "resource-assignment-request" : {
- "description" : "This is Dynamic Data type for the receipe resource-assignment-action.",
- "required" : false,
- "type" : "dt-resource-assignment-request"
- }
- },
- "node_templates" : {
- "vpe-netconf-device" : {
- "type" : "vnf-netconf-device",
- "capabilities" : {
- "netconf" : {
- "properties" : {
- "login-key" : "sdnc",
- "login-account" : "sndc-local",
- "source" : "local",
- "target-ip-address" : {
- "get_attribute" : [ "SELF", "lo0-local-ipv4-address" ]
- },
- "port-number" : 22,
- "connection-time-out" : 30
- }
- }
- }
- },
- "activate-netconf-component" : {
- "type" : "component-netconf-executor",
- "capabilities" : {
- "component-node" : { }
- },
- "requirements" : {
- "netconf-connection" : {
- "capability" : "netconf",
- "node" : "vpe-netconf-device",
- "relationship" : "tosca.relationships.ConnectsTo"
- }
- },
- "interfaces" : {
- "org-openecomp-sdnc-netconf-adaptor-service-NetconfExecutorNode" : {
- "operations" : {
- "process" : {
- "implementation" : {
- "primary" : "file://netconf_adaptor/DefaultBaseLicenceConfig.py"
- },
- "inputs" : {
- "action-name" : {
- "get_input" : "action-name"
- },
- "template-name" : {
- "get_input" : "template_name"
- },
- "template-version" : {
- "get_input" : "template_version"
- },
- "resource-type" : "vnf-type",
- "request-id" : {
- "get_input" : "request-id"
- },
- "resource-id" : {
- "get_input" : "hostname"
- },
- "execution-script" : "execution-script"
- },
- "outputs" : {
- "response-data" : {
- "get_attribute" : [ "SELF", "netconf-executor-baseconfig.response-data" ]
- },
- "status" : {
- "get_attribute" : [ "SELF", "netconf-executor-baseconfig.status" ]
- }
- }
- }
- }
- }
- }
- },
- "resource-assignment-ra-component" : {
- "type" : "component-resource-assignment",
- "capabilities" : {
- "component-node" : { }
- },
- "interfaces" : {
- "org-onap-ccsdk-config-assignment-service-ConfigAssignmentNode" : {
- "operations" : {
- "process" : {
- "inputs" : {
- "template-names" : [ "base-config-template", "licence-template" ],
- "action-name" : {
- "get_input" : "action-name"
- },
- "template-name" : {
- "get_input" : "template_name"
- },
- "template-version" : {
- "get_input" : "template-version"
- },
- "resource-type" : "vnf-type",
- "request-id" : {
- "get_input" : "request-id"
- },
- "resource-id" : {
- "get_input" : "hostname"
- }
- },
- "outputs" : {
- "resource-assignment-params" : "success",
- "status" : "status"
- }
- }
- }
- }
- }
- },
- "resource-assignment-action" : {
- "type" : "dg-resource-assignment",
- "properties" : {
- "mode" : "sync",
- "version" : "LATEST",
- "is-start-flow" : false
- },
- "capabilities" : {
- "dg-node" : { }
- },
- "requirements" : {
- "component-dependency" : {
- "capability" : "component-node",
- "node" : "resource-assignment-ra-component",
- "relationship" : "tosca.relationships.DependsOn"
- }
- },
- "interfaces" : {
- "CONFIG" : {
- "operations" : {
- "ResourceAssignment" : {
- "inputs" : {
- "params" : [ ]
- }
- }
- }
- }
- }
- },
- "activate-action" : {
- "type" : "dg-activate-netconf",
- "properties" : {
- "mode" : "sync",
- "version" : "LATEST",
- "is-start-flow" : false
- },
- "capabilities" : {
- "dg-node" : { }
- },
- "requirements" : {
- "component-dependency" : {
- "capability" : "component-node",
- "node" : "activate-netconf-component",
- "relationship" : "tosca.relationships.DependsOn"
- }
- },
- "interfaces" : {
- "CONFIG" : {
- "operations" : {
- "ActivateNetconf" : {
- "inputs" : {
- "params" : [ ]
- }
- }
- }
- }
- }
- },
- "base-config-template" : {
- "type" : "artifact-config-template",
- "properties" : {
- "action-names" : [ "resource-assignment-action" ]
- },
- "capabilities" : {
- "content" : {
- "properties" : {
- "content" : "db://base-config-template"
- }
- },
- "mapping" : {
- "properties" : {
- "mapping" : [ {
- "name" : "rs-db-source",
- "property" : {
- "required" : true,
- "type" : "string"
- },
- "input-param" : false,
- "dictionary-name" : "sample-db-source",
- "dictionary-source" : "db",
- "dependencies" : [ "hostname" ],
- "version" : 0
- }, {
- "name" : "mdsal-source",
- "property" : {
- "description" : "",
- "required" : true,
- "type" : "list",
- "entry_schema" : {
- "type" : "dt-v4-aggregate"
- }
- },
- "input-param" : false,
- "dictionary-name" : "sample-mdsal-source",
- "dictionary-source" : "mdsal",
- "dependencies" : [ "service-instance-id" ],
- "version" : 0
- }, {
- "name" : "hostname",
- "property" : {
- "required" : true,
- "type" : "string"
- },
- "dictionary-name" : "hostname",
- "dictionary-source" : "input",
- "version" : 0,
- "input-param" : false
- }, {
- "name" : "service",
- "property" : {
- "required" : true,
- "type" : "string"
- },
- "dictionary-name" : "service",
- "dictionary-source" : "input",
- "version" : 0,
- "input-param" : false
- }, {
- "name" : "service-instance-id",
- "property" : {
- "required" : true,
- "type" : "string"
- },
- "dictionary-name" : "service-instance-id",
- "dictionary-source" : "input",
- "version" : 0,
- "input-param" : false
- } ]
- }
- }
- }
- },
- "licence-template" : {
- "type" : "artifact-config-template",
- "properties" : {
- "action-names" : [ "resource-assignment-action" ]
- },
- "capabilities" : {
- "content" : {
- "properties" : {
- "content" : "db://licence-template"
- }
- },
- "mapping" : {
- "properties" : {
- "mapping" : [ {
- "name" : "licenses",
- "property" : {
- "required" : true,
- "type" : "list",
- "entry_schema" : {
- "type" : "dt-license-key"
- }
- },
- "input-param" : false,
- "dictionary-name" : "sample-licenses",
- "dictionary-source" : "mdsal",
- "dependencies" : [ "service-instance-id" ],
- "version" : 0
- }, {
- "name" : "service-instance-id",
- "property" : {
- "required" : true,
- "type" : "string"
- },
- "dictionary-name" : "service-instance-id",
- "dictionary-source" : "input",
- "version" : 0,
- "input-param" : false
- } ]
- }
- }
- }
- }
- }
- }
+{
+ "metadata" : {
+ "template_author" : "Brinda Santh",
+ "template_name" : "enhance-template",
+ "template_version" : "1.0.0",
+ "template_tags" : "brinda, VPE",
+ "service-type" : "Sample Service",
+ "release" : "1806",
+ "vnf-type" : "VPE"
+ },
+ "tosca_definitions_version" : "controller_blueprint_1_0_0",
+ "artifact_types" : { },
+ "data_types" : {
+ "dt-v4-aggregate" : {
+ "description" : "This is dt-v4-aggregate Data Type",
+ "version" : "1.0.0",
+ "properties" : {
+ "ipv4-address" : {
+ "required" : true,
+ "type" : "string"
+ },
+ "ipv4-plen" : {
+ "required" : false,
+ "type" : "integer"
+ }
+ },
+ "derived_from" : "tosca.datatypes.Root"
+ },
+ "dt-license-key" : {
+ "description" : "This is dt-plicense-key Data Type",
+ "version" : "1.0.0",
+ "properties" : {
+ "license-key" : {
+ "required" : true,
+ "type" : "string"
+ }
+ },
+ "derived_from" : "tosca.datatypes.Root"
+ },
+ "datatype-resource-assignment" : {
+ "description" : "This is Resource Assignment Data Type",
+ "version" : "1.0.0",
+ "properties" : {
+ "property" : {
+ "required" : true,
+ "type" : "datatype-property"
+ },
+ "input-param" : {
+ "required" : true,
+ "type" : "boolean"
+ },
+ "dictionary-name" : {
+ "required" : false,
+ "type" : "string"
+ },
+ "dictionary-source" : {
+ "required" : false,
+ "type" : "string"
+ },
+ "dependencies" : {
+ "required" : true,
+ "type" : "list",
+ "entry_schema" : {
+ "type" : "string"
+ }
+ },
+ "status" : {
+ "required" : false,
+ "type" : "string"
+ },
+ "message" : {
+ "required" : false,
+ "type" : "string"
+ },
+ "updated-date" : {
+ "required" : false,
+ "type" : "string"
+ },
+ "updated-by" : {
+ "required" : false,
+ "type" : "string"
+ }
+ },
+ "derived_from" : "tosca.datatypes.Root"
+ },
+ "datatype-property" : {
+ "description" : "This is Entry point Input Data Type, which is dynamic datatype, The parameter names will be populated during the Design time for each inputs",
+ "version" : "1.0.0",
+ "properties" : {
+ "type" : {
+ "required" : true,
+ "type" : "string"
+ },
+ "description" : {
+ "required" : false,
+ "type" : "string"
+ },
+ "required" : {
+ "required" : false,
+ "type" : "boolean"
+ },
+ "default" : {
+ "required" : false,
+ "type" : "string"
+ },
+ "entry_schema" : {
+ "required" : false,
+ "type" : "string"
+ }
+ },
+ "derived_from" : "tosca.datatypes.Root"
+ },
+ "dt-resource-assignment-request" : {
+ "description" : "This is Dynamic Data type definition generated from resource mapping for the config template name base-config-template.",
+ "version" : "1.0.0",
+ "properties" : {
+ "hostname" : {
+ "required" : true,
+ "type" : "string"
+ },
+ "licenses" : {
+ "required" : true,
+ "type" : "list",
+ "entry_schema" : {
+ "type" : "dt-license-key"
+ }
+ },
+ "rs-db-source" : {
+ "required" : true,
+ "type" : "string"
+ },
+ "service" : {
+ "required" : true,
+ "type" : "string"
+ },
+ "service-instance-id" : {
+ "required" : true,
+ "type" : "string"
+ },
+ "mdsal-source" : {
+ "description" : "",
+ "required" : true,
+ "type" : "list",
+ "entry_schema" : {
+ "type" : "dt-v4-aggregate"
+ }
+ }
+ },
+ "derived_from" : "tosca.datatypes.Dynamic"
+ }
+ },
+ "node_types" : {
+ "dg-resource-assignment" : {
+ "description" : "This is Resource Assignment Directed Graph",
+ "version" : "1.0.0",
+ "properties" : {
+ "mode" : {
+ "required" : false,
+ "type" : "string",
+ "default" : "sync"
+ },
+ "version" : {
+ "required" : false,
+ "type" : "string",
+ "default" : "LATEST"
+ },
+ "is-start-flow" : {
+ "required" : false,
+ "type" : "boolean",
+ "default" : false
+ }
+ },
+ "capabilities" : {
+ "dg-node" : {
+ "type" : "tosca.capabilities.Node"
+ }
+ },
+ "requirements" : {
+ "component-dependency" : {
+ "capability" : "component-node",
+ "node" : "component-resource-assignment",
+ "relationship" : "tosca.relationships.DependsOn"
+ }
+ },
+ "interfaces" : {
+ "CONFIG" : {
+ "operations" : {
+ "ResourceAssignment" : {
+ "inputs" : {
+ "params" : {
+ "required" : false,
+ "type" : "list",
+ "entry_schema" : {
+ "type" : "datatype-property"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "derived_from" : "tosca.nodes.DG"
+ },
+ "tosca.nodes.Component" : {
+ "description" : "This is default Component Node",
+ "version" : "1.0.0",
+ "derived_from" : "tosca.nodes.Root"
+ },
+ "artifact-config-template" : {
+ "description" : "This is Configuration Velocity Template",
+ "version" : "1.0.0",
+ "properties" : {
+ "action-names" : {
+ "required" : true,
+ "type" : "list",
+ "entry_schema" : {
+ "type" : "string"
+ }
+ }
+ },
+ "capabilities" : {
+ "content" : {
+ "type" : "tosca.capabilities.Content",
+ "properties" : {
+ "content" : {
+ "required" : true,
+ "type" : "string"
+ }
+ }
+ },
+ "mapping" : {
+ "type" : "tosca.capabilities.Mapping",
+ "properties" : {
+ "mapping" : {
+ "required" : false,
+ "type" : "list",
+ "entry_schema" : {
+ "type" : "datatype-resource-assignment"
+ }
+ }
+ }
+ }
+ },
+ "derived_from" : "tosca.nodes.Artifact"
+ },
+ "tosca.nodes.Vnf" : {
+ "description" : "This is VNF Node Type",
+ "version" : "1.0.0",
+ "derived_from" : "tosca.nodes.Root"
+ },
+ "tosca.nodes.Artifact" : {
+ "description" : "This is Deprecated Artifact Node Type.",
+ "version" : "1.0.0",
+ "derived_from" : "tosca.nodes.Root"
+ },
+ "dg-activate-netconf" : {
+ "description" : "This is Download Netconf Directed Graph",
+ "version" : "1.0.0",
+ "properties" : {
+ "mode" : {
+ "required" : false,
+ "type" : "string",
+ "default" : "sync"
+ },
+ "version" : {
+ "required" : false,
+ "type" : "string",
+ "default" : "LATEST"
+ },
+ "is-start-flow" : {
+ "required" : false,
+ "type" : "boolean",
+ "default" : false
+ }
+ },
+ "capabilities" : {
+ "dg-node" : {
+ "type" : "tosca.capabilities.Node"
+ }
+ },
+ "requirements" : {
+ "component-dependency" : {
+ "capability" : "component-node",
+ "node" : "component-netconf-executor",
+ "relationship" : "tosca.relationships.DependsOn"
+ }
+ },
+ "interfaces" : {
+ "CONFIG" : {
+ "operations" : {
+ "ActivateNetconf" : {
+ "inputs" : {
+ "params" : {
+ "required" : false,
+ "type" : "list",
+ "entry_schema" : {
+ "type" : "datatype-property"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "derived_from" : "tosca.nodes.DG"
+ },
+ "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"
+ }
+ }
+ },
+ "derived_from" : "tosca.nodes.ResourceSource"
+ },
+ "tosca.nodes.ResourceSource" : {
+ "description" : "TOSCA base type for Resource Sources",
+ "version" : "1.0.0",
+ "derived_from" : "tosca.nodes.Root"
+ },
+ "component-resource-assignment" : {
+ "description" : "This is Resource Assignment Component API",
+ "version" : "1.0.0",
+ "capabilities" : {
+ "component-node" : {
+ "type" : "tosca.capabilities.Node"
+ }
+ },
+ "interfaces" : {
+ "org-onap-ccsdk-config-assignment-service-ConfigAssignmentNode" : {
+ "operations" : {
+ "process" : {
+ "inputs" : {
+ "template-name" : {
+ "description" : "Service Template Name.",
+ "required" : true,
+ "type" : "string"
+ },
+ "template-version" : {
+ "description" : "Service Template Version.",
+ "required" : true,
+ "type" : "string"
+ },
+ "resource-type" : {
+ "description" : "Request type.",
+ "required" : true,
+ "type" : "string"
+ },
+ "template-names" : {
+ "description" : "Name of the artifact Node Templates, to get the template Content.",
+ "required" : true,
+ "type" : "list",
+ "entry_schema" : {
+ "type" : "string"
+ }
+ },
+ "request-id" : {
+ "description" : "Request Id, Unique Id for the request.",
+ "required" : true,
+ "type" : "string"
+ },
+ "resource-id" : {
+ "description" : "Resource Id.",
+ "required" : true,
+ "type" : "string"
+ },
+ "action-name" : {
+ "description" : "Action Name of the process",
+ "required" : true,
+ "type" : "string"
+ }
+ },
+ "outputs" : {
+ "resource-assignment-params" : {
+ "required" : true,
+ "type" : "string"
+ },
+ "status" : {
+ "required" : true,
+ "type" : "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "derived_from" : "tosca.nodes.Component"
+ },
+ "tosca.nodes.DG" : {
+ "description" : "This is Directed Graph Node Type",
+ "version" : "1.0.0",
+ "derived_from" : "tosca.nodes.Root"
+ },
+ "source-db" : {
+ "description" : "This is Database Resource Source Node Type",
+ "version" : "1.0.0",
+ "properties" : {
+ "type" : {
+ "required" : true,
+ "type" : "string",
+ "constraints" : [ {
+ "valid_values" : [ "SQL", "PLSQL" ]
+ } ]
+ },
+ "query" : {
+ "required" : true,
+ "type" : "string"
+ },
+ "input-key-mapping" : {
+ "required" : false,
+ "type" : "map",
+ "entry_schema" : {
+ "type" : "string"
+ }
+ },
+ "output-key-mapping" : {
+ "required" : false,
+ "type" : "map",
+ "entry_schema" : {
+ "type" : "string"
+ }
+ },
+ "key-dependencies" : {
+ "required" : true,
+ "type" : "list",
+ "entry_schema" : {
+ "type" : "string"
+ }
+ }
+ },
+ "derived_from" : "tosca.nodes.ResourceSource"
+ },
+ "vnf-netconf-device" : {
+ "description" : "This is VNF Device with Netconf Capability",
+ "version" : "1.0.0",
+ "capabilities" : {
+ "netconf" : {
+ "type" : "tosca.capabilities.Netconf",
+ "properties" : {
+ "login-key" : {
+ "required" : true,
+ "type" : "string",
+ "default" : "sdnc"
+ },
+ "login-account" : {
+ "required" : true,
+ "type" : "string",
+ "default" : "sdnc-tacacs"
+ },
+ "source" : {
+ "required" : true,
+ "type" : "string",
+ "default" : "npm"
+ },
+ "target-ip-address" : {
+ "required" : true,
+ "type" : "string"
+ },
+ "port-number" : {
+ "required" : true,
+ "type" : "integer",
+ "default" : 830
+ },
+ "connection-time-out" : {
+ "required" : false,
+ "type" : "integer",
+ "default" : 30
+ }
+ }
+ }
+ },
+ "derived_from" : "tosca.nodes.Vnf"
+ },
+ "source-rest" : {
+ "description" : "This is Rest Resource Source Node Type",
+ "version" : "1.0.0",
+ "properties" : {
+ "type" : {
+ "required" : false,
+ "type" : "string",
+ "constraints" : [ {
+ "valid_values" : [ "JSON" ]
+ } ],
+ "default" : "JSON"
+ },
+ "url-path" : {
+ "required" : true,
+ "type" : "string"
+ },
+ "path" : {
+ "required" : true,
+ "type" : "string"
+ },
+ "expression-type" : {
+ "required" : false,
+ "type" : "string",
+ "constraints" : [ {
+ "valid_values" : [ "JSON_PATH", "JSON_POINTER" ]
+ } ],
+ "default" : "JSON_PATH"
+ },
+ "input-key-mapping" : {
+ "required" : false,
+ "type" : "map",
+ "entry_schema" : {
+ "type" : "string"
+ }
+ },
+ "output-key-mapping" : {
+ "required" : false,
+ "type" : "map",
+ "entry_schema" : {
+ "type" : "string"
+ }
+ },
+ "key-dependencies" : {
+ "required" : true,
+ "type" : "list",
+ "entry_schema" : {
+ "type" : "string"
+ }
+ }
+ },
+ "derived_from" : "tosca.nodes.ResourceSource"
+ },
+ "component-netconf-executor" : {
+ "description" : "This is Netconf Transaction Configuration Component API",
+ "version" : "1.0.0",
+ "capabilities" : {
+ "component-node" : {
+ "type" : "tosca.capabilities.Node"
+ }
+ },
+ "requirements" : {
+ "netconf-connection" : {
+ "capability" : "netconf",
+ "node" : "vnf-netconf-device",
+ "relationship" : "tosca.relationships.ConnectsTo"
+ }
+ },
+ "interfaces" : {
+ "org-openecomp-sdnc-netconf-adaptor-service-NetconfExecutorNode" : {
+ "operations" : {
+ "process" : {
+ "inputs" : {
+ "request-id" : {
+ "description" : "Request Id used to store the generated configuration, in the database along with the template-name",
+ "required" : true,
+ "type" : "string"
+ },
+ "template-name" : {
+ "description" : "Service Template Name",
+ "required" : true,
+ "type" : "string"
+ },
+ "template-version" : {
+ "description" : "Service Template Version",
+ "required" : true,
+ "type" : "string"
+ },
+ "action-name" : {
+ "description" : "Action Name to get from Database, Either (message & mask-info ) or ( resource-id & resource-type & action-name & template-name ) should be present. Message will be given higest priority",
+ "required" : false,
+ "type" : "string"
+ },
+ "resource-type" : {
+ "description" : "Resource Type to get from Database, Either (message & mask-info ) or( resource-id & resource-type & action-name & template-name ) should be present. Message will be given higest priority",
+ "required" : false,
+ "type" : "string"
+ },
+ "resource-id" : {
+ "description" : "Resource Id to get from Database, Either (message & mask-info ) or ( resource-id & resource-type & action-name & template-name ) should be present. Message will be given higest priority",
+ "required" : false,
+ "type" : "string"
+ },
+ "reservation-id" : {
+ "description" : "Reservation Id used to send to NPM",
+ "required" : false,
+ "type" : "string"
+ },
+ "execution-script" : {
+ "description" : "Python Script to Execute for this Component action, It should refer any one of Prython Artifact Definition for this Node Template.",
+ "required" : true,
+ "type" : "string"
+ }
+ },
+ "outputs" : {
+ "response-data" : {
+ "description" : "Execution Response Data in JSON format.",
+ "required" : false,
+ "type" : "string"
+ },
+ "status" : {
+ "description" : "Status of the Component Execution ( success or failure )",
+ "required" : true,
+ "type" : "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "derived_from" : "tosca.nodes.Component"
+ }
+ },
+ "topology_template" : {
+ "inputs" : {
+ "request-id" : {
+ "required" : true,
+ "type" : "string"
+ },
+ "service-instance-id" : {
+ "required" : true,
+ "type" : "string"
+ },
+ "scope-type" : {
+ "required" : true,
+ "type" : "string"
+ },
+ "action-name" : {
+ "required" : true,
+ "type" : "string"
+ },
+ "hostname" : {
+ "required" : true,
+ "type" : "string"
+ },
+ "resource-assignment-request" : {
+ "description" : "This is Dynamic Data type for the receipe resource-assignment-action.",
+ "required" : false,
+ "type" : "dt-resource-assignment-request"
+ }
+ },
+ "node_templates" : {
+ "vpe-netconf-device" : {
+ "type" : "vnf-netconf-device",
+ "capabilities" : {
+ "netconf" : {
+ "properties" : {
+ "login-key" : "sdnc",
+ "login-account" : "sndc-local",
+ "source" : "local",
+ "target-ip-address" : {
+ "get_attribute" : [ "SELF", "lo0-local-ipv4-address" ]
+ },
+ "port-number" : 22,
+ "connection-time-out" : 30
+ }
+ }
+ }
+ },
+ "activate-netconf-component" : {
+ "type" : "component-netconf-executor",
+ "capabilities" : {
+ "component-node" : { }
+ },
+ "requirements" : {
+ "netconf-connection" : {
+ "capability" : "netconf",
+ "node" : "vpe-netconf-device",
+ "relationship" : "tosca.relationships.ConnectsTo"
+ }
+ },
+ "interfaces" : {
+ "org-openecomp-sdnc-netconf-adaptor-service-NetconfExecutorNode" : {
+ "operations" : {
+ "process" : {
+ "implementation" : {
+ "primary" : "file://netconf_adaptor/DefaultBaseLicenceConfig.py"
+ },
+ "inputs" : {
+ "action-name" : {
+ "get_input" : "action-name"
+ },
+ "template-name" : {
+ "get_input" : "template_name"
+ },
+ "template-version" : {
+ "get_input" : "template_version"
+ },
+ "resource-type" : "vnf-type",
+ "request-id" : {
+ "get_input" : "request-id"
+ },
+ "resource-id" : {
+ "get_input" : "hostname"
+ },
+ "execution-script" : "execution-script"
+ },
+ "outputs" : {
+ "response-data" : {
+ "get_attribute" : [ "SELF", "netconf-executor-baseconfig.response-data" ]
+ },
+ "status" : {
+ "get_attribute" : [ "SELF", "netconf-executor-baseconfig.status" ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "resource-assignment-ra-component" : {
+ "type" : "component-resource-assignment",
+ "capabilities" : {
+ "component-node" : { }
+ },
+ "interfaces" : {
+ "org-onap-ccsdk-config-assignment-service-ConfigAssignmentNode" : {
+ "operations" : {
+ "process" : {
+ "inputs" : {
+ "template-names" : [ "base-config-template", "licence-template" ],
+ "action-name" : {
+ "get_input" : "action-name"
+ },
+ "template-name" : {
+ "get_input" : "template_name"
+ },
+ "template-version" : {
+ "get_input" : "template-version"
+ },
+ "resource-type" : "vnf-type",
+ "request-id" : {
+ "get_input" : "request-id"
+ },
+ "resource-id" : {
+ "get_input" : "hostname"
+ }
+ },
+ "outputs" : {
+ "resource-assignment-params" : "success",
+ "status" : "status"
+ }
+ }
+ }
+ }
+ }
+ },
+ "resource-assignment-action" : {
+ "type" : "dg-resource-assignment",
+ "properties" : {
+ "mode" : "sync",
+ "version" : "LATEST",
+ "is-start-flow" : false
+ },
+ "capabilities" : {
+ "dg-node" : { }
+ },
+ "requirements" : {
+ "component-dependency" : {
+ "capability" : "component-node",
+ "node" : "resource-assignment-ra-component",
+ "relationship" : "tosca.relationships.DependsOn"
+ }
+ },
+ "interfaces" : {
+ "CONFIG" : {
+ "operations" : {
+ "ResourceAssignment" : {
+ "inputs" : {
+ "params" : [ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "activate-action" : {
+ "type" : "dg-activate-netconf",
+ "properties" : {
+ "mode" : "sync",
+ "version" : "LATEST",
+ "is-start-flow" : false
+ },
+ "capabilities" : {
+ "dg-node" : { }
+ },
+ "requirements" : {
+ "component-dependency" : {
+ "capability" : "component-node",
+ "node" : "activate-netconf-component",
+ "relationship" : "tosca.relationships.DependsOn"
+ }
+ },
+ "interfaces" : {
+ "CONFIG" : {
+ "operations" : {
+ "ActivateNetconf" : {
+ "inputs" : {
+ "params" : [ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "base-config-template" : {
+ "type" : "artifact-config-template",
+ "properties" : {
+ "action-names" : [ "resource-assignment-action" ]
+ },
+ "capabilities" : {
+ "content" : {
+ "properties" : {
+ "content" : "db://base-config-template"
+ }
+ },
+ "mapping" : {
+ "properties" : {
+ "mapping" : [ {
+ "name" : "rs-db-source",
+ "property" : {
+ "required" : true,
+ "type" : "string"
+ },
+ "input-param" : false,
+ "dictionary-name" : "sample-db-source",
+ "dictionary-source" : "db",
+ "dependencies" : [ "hostname" ],
+ "version" : 0
+ }, {
+ "name" : "mdsal-source",
+ "property" : {
+ "description" : "",
+ "required" : true,
+ "type" : "list",
+ "entry_schema" : {
+ "type" : "dt-v4-aggregate"
+ }
+ },
+ "input-param" : false,
+ "dictionary-name" : "sample-mdsal-source",
+ "dictionary-source" : "mdsal",
+ "dependencies" : [ "service-instance-id" ],
+ "version" : 0
+ }, {
+ "name" : "hostname",
+ "property" : {
+ "required" : true,
+ "type" : "string"
+ },
+ "dictionary-name" : "hostname",
+ "dictionary-source" : "input",
+ "version" : 0,
+ "input-param" : false
+ }, {
+ "name" : "service",
+ "property" : {
+ "required" : true,
+ "type" : "string"
+ },
+ "dictionary-name" : "service",
+ "dictionary-source" : "input",
+ "version" : 0,
+ "input-param" : false
+ }, {
+ "name" : "service-instance-id",
+ "property" : {
+ "required" : true,
+ "type" : "string"
+ },
+ "dictionary-name" : "service-instance-id",
+ "dictionary-source" : "input",
+ "version" : 0,
+ "input-param" : false
+ } ]
+ }
+ }
+ }
+ },
+ "licence-template" : {
+ "type" : "artifact-config-template",
+ "properties" : {
+ "action-names" : [ "resource-assignment-action" ]
+ },
+ "capabilities" : {
+ "content" : {
+ "properties" : {
+ "content" : "db://licence-template"
+ }
+ },
+ "mapping" : {
+ "properties" : {
+ "mapping" : [ {
+ "name" : "licenses",
+ "property" : {
+ "required" : true,
+ "type" : "list",
+ "entry_schema" : {
+ "type" : "dt-license-key"
+ }
+ },
+ "input-param" : false,
+ "dictionary-name" : "sample-licenses",
+ "dictionary-source" : "mdsal",
+ "dependencies" : [ "service-instance-id" ],
+ "version" : 0
+ }, {
+ "name" : "service-instance-id",
+ "property" : {
+ "required" : true,
+ "type" : "string"
+ },
+ "dictionary-name" : "service-instance-id",
+ "dictionary-source" : "input",
+ "version" : 0,
+ "input-param" : false
+ } ]
+ }
+ }
+ }
+ }
+ }
+ }
} \ No newline at end of file