aboutsummaryrefslogtreecommitdiffstats
path: root/products/onap-dublin/features
diff options
context:
space:
mode:
authorItohan Ukponmwan <itohan.ukponmwan@intel.com>2019-08-05 16:30:20 +0000
committerGerrit Code Review <gerrit@onap.org>2019-08-05 16:30:20 +0000
commit55f55f93890a2c4745ee89505cc889f54ba3c3dd (patch)
tree5eb804de9b3907b38621a3f5d8169ae3f6a64c21 /products/onap-dublin/features
parentd53b78f51ed1a37f13163fe0ffd77ebd1c7f6f6f (diff)
parentb9d85a33892c99949aff8e3471eb0fdc039d44aa (diff)
Merge changes I816a1dbb,Ice38da57,I1217d391,I07d22e81,I0ddcdc1c, ...
* changes: Add integration support Update framework Add vf model add artifact command Add service model artifact add command Add VF model checkout command Add VF checkin command Add sdc service resource property set Add sdc consumer-show command Add sdc consumer create command Add ID output in service-model commands Update open-cli.properties Update the sample command OCS YAML Add product into service and schema list Update the version format Update the README Set SNAPSHOT versioning clean-up stale onap profiles Ignore python build artifacts from git
Diffstat (limited to 'products/onap-dublin/features')
-rw-r--r--products/onap-dublin/features/aai/pom.xml2
-rw-r--r--products/onap-dublin/features/integration/pom.xml45
-rw-r--r--products/onap-dublin/features/integration/src/main/resources/conf/ovp-tosca-vnf-provision.json141
-rw-r--r--products/onap-dublin/features/integration/src/main/resources/open-cli-schema/ovp-tosca-vnf-provision.yaml90
-rw-r--r--products/onap-dublin/features/integration/src/main/resources/script/ovp-tosca-vnf-provision.py456
-rw-r--r--products/onap-dublin/features/msb/pom.xml2
-rw-r--r--products/onap-dublin/features/multicloud/pom.xml2
-rw-r--r--products/onap-dublin/features/policy/pom.xml2
-rw-r--r--products/onap-dublin/features/pom.xml48
-rw-r--r--products/onap-dublin/features/sdc/pom.xml2
-rw-r--r--products/onap-dublin/features/sdc/src/main/resources/open-cli-sample/consumer/sdc-consumer-create-schema-dublin-moco.json31
-rw-r--r--products/onap-dublin/features/sdc/src/main/resources/open-cli-sample/consumer/sdc-consumer-create-schema-dublin-sample.yaml9
-rw-r--r--products/onap-dublin/features/sdc/src/main/resources/open-cli-sample/consumer/sdc-consumer-show-schema-dublin-moco.json27
-rw-r--r--products/onap-dublin/features/sdc/src/main/resources/open-cli-sample/consumer/sdc-consumer-show-schema-dublin-sample.yaml9
-rw-r--r--products/onap-dublin/features/sdc/src/main/resources/open-cli-sample/service-model/ns-model-set-property-moco.json154
-rw-r--r--products/onap-dublin/features/sdc/src/main/resources/open-cli-sample/service-model/ns-model-set-property-sample.yaml9
-rw-r--r--products/onap-dublin/features/sdc/src/main/resources/open-cli-sample/service-model/service-model-add-artifact-schema-dublin-sample.yaml0
-rw-r--r--products/onap-dublin/features/sdc/src/main/resources/open-cli-sample/vf/vf-model-checkin-schema-dublin-moco.json72
-rw-r--r--products/onap-dublin/features/sdc/src/main/resources/open-cli-sample/vf/vf-model-checkin-schema-dublin-sample.yaml9
-rw-r--r--products/onap-dublin/features/sdc/src/main/resources/open-cli-sample/vf/vf-model-checkout-schema-dublin-moco.json70
-rw-r--r--products/onap-dublin/features/sdc/src/main/resources/open-cli-sample/vf/vf-model-checkout-schema-dublin-sample.yaml9
-rw-r--r--products/onap-dublin/features/sdc/src/main/resources/open-cli-schema/consumer/sdc-consumer-create-schema-dublin.yaml70
-rw-r--r--products/onap-dublin/features/sdc/src/main/resources/open-cli-schema/consumer/sdc-consumer-show-schema-dublin.yaml66
-rw-r--r--products/onap-dublin/features/sdc/src/main/resources/open-cli-schema/service-model/service-model-add-artifact-schema-dublin.yaml72
-rw-r--r--products/onap-dublin/features/sdc/src/main/resources/open-cli-schema/service-model/service-model-add-vf-schema-dublin.yaml5
-rw-r--r--products/onap-dublin/features/sdc/src/main/resources/open-cli-schema/service-model/service-model-checkout-schema-dublin.yaml9
-rw-r--r--products/onap-dublin/features/sdc/src/main/resources/open-cli-schema/service-model/service-model-set-property.yaml67
-rw-r--r--products/onap-dublin/features/sdc/src/main/resources/open-cli-schema/service-model/service2vf-model-list-schema-dublin.yaml5
-rw-r--r--products/onap-dublin/features/sdc/src/main/resources/open-cli-schema/vf/vf-model-add-artifact-schema-dublin.yaml72
-rw-r--r--products/onap-dublin/features/sdc/src/main/resources/open-cli-schema/vf/vf-model-checkin-schema-dublin.yaml50
-rw-r--r--products/onap-dublin/features/sdc/src/main/resources/open-cli-schema/vf/vf-model-checkout-schema-dublin.yaml54
-rw-r--r--products/onap-dublin/features/sdnc/pom.xml2
-rw-r--r--products/onap-dublin/features/so/pom.xml2
-rw-r--r--products/onap-dublin/features/vfc/pom.xml2
-rw-r--r--products/onap-dublin/features/vnfsdk/pom.xml2
35 files changed, 1657 insertions, 10 deletions
diff --git a/products/onap-dublin/features/aai/pom.xml b/products/onap-dublin/features/aai/pom.xml
index 0383c0bc..f774302c 100644
--- a/products/onap-dublin/features/aai/pom.xml
+++ b/products/onap-dublin/features/aai/pom.xml
@@ -24,7 +24,7 @@
<parent>
<groupId>org.onap.cli</groupId>
<artifactId>cli-products-onap-dublin-features</artifactId>
- <version>3.0.0</version>
+ <version>4.0.0-SNAPSHOT</version>
</parent>
<artifactId>cli-products-onap-dublin-features-aai</artifactId>
diff --git a/products/onap-dublin/features/integration/pom.xml b/products/onap-dublin/features/integration/pom.xml
new file mode 100644
index 00000000..10ca092d
--- /dev/null
+++ b/products/onap-dublin/features/integration/pom.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2019 Huawei Technologies Co., Ltd.
+
+ 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.
+ -->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
+ http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.onap.cli</groupId>
+ <artifactId>cli-products-onap-dublin-features</artifactId>
+ <version>4.0.0-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>cli-products-onap-dublin-features-integration</artifactId>
+ <name>cli/products/onap-dublin/features/integration</name>
+ <packaging>jar</packaging>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-dependency-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-resources-plugin</artifactId>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/products/onap-dublin/features/integration/src/main/resources/conf/ovp-tosca-vnf-provision.json b/products/onap-dublin/features/integration/src/main/resources/conf/ovp-tosca-vnf-provision.json
new file mode 100644
index 00000000..f3a5354e
--- /dev/null
+++ b/products/onap-dublin/features/integration/src/main/resources/conf/ovp-tosca-vnf-provision.json
@@ -0,0 +1,141 @@
+{
+ "open_cli_product" : "onap-dublin",
+ "open_cli_home" : "/opt/vtp",
+ "aai_url" : "https://10.12.5.224:30233",
+ "aai_username" : "AAI",
+ "aai_password" : "AAI",
+
+ "sdc_onboarding_url" : "http://10.43.89.129:8081",
+ "sdc_catalog_url" : "http://10.12.5.224:30205",
+ "sdc_password" : "demo123456!",
+ "sdc_creator" : "cs0008",
+ "sdc_tester" : "jm0007",
+ "sdc_governor" : "gv0001",
+ "sdc_operator" : "op0001",
+ "sdc_consumer" : "ocomp",
+
+ "multicloud_url" : "http://10.12.5.224:30280",
+
+ "//" : "#Parameters required to create cloud complex",
+ "complex_name" : "OVP-LCM",
+ "street1" : "street1",
+ "street2" : "street2",
+ "physical_location" : "phy_type",
+ "data_center_code" : "ocomp",
+ "latitude" : "32.89948",
+ "longitude" : "97.045443",
+ "lata" : "example-lata-val-28399",
+ "elevation" : "example-elevation-val-28399",
+ "region" : "northwest",
+ "state" : "oregon",
+ "city" : "hillsboro",
+ "postal-code" : "00000",
+ "country" : "USA",
+ "identity_url" : "http://10.12.11.1:5000/v3",
+ "service-model-name" : "usn",
+ "//" : "#Dictionary containing cloud regions and their Parameters",
+
+ "cloud_region_data":{
+ "ONAP-POD-01-Rail-05":{
+ "cloud-region-version" : "titanium_cloud",
+ "esr-system-info-id":"5c85ce1f-aa78-4ebf-8d6f-4b62784e9bc7",
+ "service-url": "http://10.12.11.1:5000/v3",
+ "user-name":"${cloud-username}",
+ "password":"${cloud-password}",
+ "system-type": "VIM",
+ "ssl-insecure":true,
+ "cloud-domain":"Default",
+ "default-tenant":"Integration-HPA",
+ "tenant-id" : "709ba629fe194f8699b12f9d6ffd86a0",
+ "cloud-type" : "openstack",
+ "identity-url": "WillBeUpdatedByMultiCloud",
+ "system-status":"active"
+ }
+ },
+
+ "//" : "#Parameters to register cloud region",
+ "cloud-owner" : "CloudOwner",
+ "owner-defined-type" : "t1",
+ "cloud-zone" : "CloudZone",
+
+ "service_name" : "USN",
+ "customer_name" : "ocomp",
+ "subscriber_name" : "ocomp",
+
+ "//" : "Onboarding parameters",
+ "vendor-name" : "Huawei",
+ "entitlement-pool-name" : "ovp-pool",
+ "entitlement-description" : "ovp-pool",
+ "start-date" : "08/01/2019",
+ "expiry-date" : "12/31/2019",
+ "key-group-name" : "ovp-key",
+ "key-group-type" : "Universal",
+ "feature-grp-name" : "ovp-feature",
+ "feature-grp-desc" : "ovp-feature",
+ "part-no" : "ovp-part",
+ "agreement-name" : "ovp-agreement",
+ "agreement-desc" : "ovp-agreement",
+
+ "onboarding-method" : "NetworkPackage",
+
+ "//" : "Be sure to include single quotes in parameters that have spaces",
+ "project-code" : "000000",
+ "service-model-name" : "usn",
+ "service-model-desc" : "'usn service'",
+ "icon-id" : "network_l_1-3",
+ "category-display" : "'Network L1-3'",
+ "category" : "'network l1-3'",
+
+ "service-test-remarks" : "ovp test",
+ "service-accept-remarks" : "accepted",
+ "service-approve-remarks" : "approved",
+
+ "//" : "#Parameters to vfc",
+ "vfc-url": "http://10.12.5.224:30280",
+ "vnfs":{
+ "usn":{
+ "path": "/opt/vtp/data/usn.csar",
+ "csar-id": "You need change it",
+ "vsp-name" : "ovp-usn",
+ "vsp-desc" : "ovp usn",
+ "vsp-version" : "1.0",
+ "vf-name" : "ovp-vf",
+ "vf-description" : "ovp vf",
+ "vf-remarks" :"ovp test",
+ "vf-version" : "1.0",
+ "key": "key2",
+ "value": "value2"
+ }
+ },
+ "ns":{
+ "csar-id": "You need change it",
+ "key": "key1",
+ "value": "value1",
+ "path": "/opt/vtp/data/usn_service.csar",
+ "name": "ovp-usn"
+ },
+ "location": "CloudOwner_ONAP-POD-01-Rail-05",
+ "vnfm_params":{
+ "GVNFMDRIVER":{
+ "type": "gvnfmdriver",
+ "vendor": "vfc",
+ "version": "v1.0",
+ "url": "http://msb-iag:80/",
+ "vim-id": "CloudOwner_ONAP-POD-01-Rail-05",
+ "user-name": "admin",
+ "user-password": "admin",
+ "vnfm-version": "v1.0"
+ },
+ "HWVNFMDRIVER":{
+ "type": "hwvnfmdriver",
+ "vendor": "vfc",
+ "version": "v1.0",
+ "url": "http://msb-iag:80/",
+ "vim-id": "CloudOwner_ONAP-POD-01-Rail-05",
+ "user-name": "admin",
+ "user-password": "admin",
+ "vnfm-version": "v1.0"
+ }
+ },
+ "sdc-controller-id": "2"
+}
diff --git a/products/onap-dublin/features/integration/src/main/resources/open-cli-schema/ovp-tosca-vnf-provision.yaml b/products/onap-dublin/features/integration/src/main/resources/open-cli-schema/ovp-tosca-vnf-provision.yaml
new file mode 100644
index 00000000..b98bef76
--- /dev/null
+++ b/products/onap-dublin/features/integration/src/main/resources/open-cli-schema/ovp-tosca-vnf-provision.yaml
@@ -0,0 +1,90 @@
+# Copyright 2019 Huawei Technologies Co., Ltd.
+#
+# 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.
+
+open_cli_schema_version: 1.0
+name: tosca-vnf-provision
+description: |
+ Provision TOSCA based VNF using ONAP.
+ More details: https://wiki.lfnetworking.org/display/LN/TOSCA+VNF+Validation+Planning
+
+info:
+ product: onap-dublin
+ service: vnf-validation
+ author: ONAP VTP Team onap-discuss@lists.onap.org
+
+parameters:
+ - name: config-json
+ description: Configuration file path
+ type: string
+ short_option: x
+ long_option: config-json
+ default_value: $s{env:OPEN_CLI_HOME}/conf/ovp-tosca-vnf-provision.json
+ is_optional: false
+ - name: vsp
+ description: Path to the ONAP vendor service product (VSP) for the VNF to provision
+ type: binary
+ short_option: y
+ long_option: vsp
+ is_optional: false
+ - name: vnf-csar
+ description: Path to the TOSCA CSAR for the VNF to provision
+ type: binary
+ short_option: r
+ long_option: vnf-csar
+ is_optional: false
+ - name: ns-csar
+ description: Path to the TOSCA CSAR for the NS service to provision
+ type: binary
+ short_option: b
+ long_option: ns-csar
+ is_optional: true
+ default: false
+ - name: vnfm-driver
+ description: VNFM driver to use
+ type: string
+ short_option: c
+ long_option: vnfm-driver
+ is_optional: false
+
+results:
+ direction: portrait
+ attributes:
+ - name: vnf-id
+ description: ONAP VNF instance id
+ scope: short
+ type: string
+ - name: vnf-status
+ description: Onap VNF status
+ scope: short
+ type: string
+ - name: ns-id
+ description: Onap NS service instance id
+ scope: short
+ type: string
+ - name: ns-status
+ description: Onap NS status
+ scope: short
+ type: string
+cmd:
+ command:
+ - python $s{env:OPEN_CLI_HOME}/script/ovp-tosca-vnf-provision.py --result-json $s{tmp:result.json} --config-json ${config-json} --vsp ${vsp} --vnf-csar ${vnf-csar} --ns-csar ${ns-csar} --vnfm-driver ${vnfm-driver}
+ success_codes:
+ - 0
+ working_directory: .
+ output: $s{tmp:result.json}
+ result_map:
+ vnf-id: $o{$.vnf_id}
+ vnf-status: $o{$.vnf_status}
+ ns-id: $o{$.ns_id}
+ ns-status: $o{$.vnf_status} \ No newline at end of file
diff --git a/products/onap-dublin/features/integration/src/main/resources/script/ovp-tosca-vnf-provision.py b/products/onap-dublin/features/integration/src/main/resources/script/ovp-tosca-vnf-provision.py
new file mode 100644
index 00000000..dddb0a08
--- /dev/null
+++ b/products/onap-dublin/features/integration/src/main/resources/script/ovp-tosca-vnf-provision.py
@@ -0,0 +1,456 @@
+#!/usr/bin/python
+
+import json
+import os
+import time
+import argparse
+import sys
+import requests
+import __main__
+
+def get_parameters(file):
+ parameters = json.load(file)
+ return parameters
+
+def get_out_helper(in_string):
+ out_list = (((in_string.replace('-','')).replace('|', '')).replace('+', '')).split()
+ return out_list
+
+def get_out_helper_2(in_string):
+ out_list = ((in_string.replace('|', '')).replace('+', '')).split()
+ return out_list
+
+def set_open_cli_env(parameters):
+ os.environ["OPEN_CLI_PRODUCT_IN_USE"] = parameters["open_cli_product"]
+ os.environ["OPEN_CLI_HOME"] = parameters["open_cli_home"]
+
+def create_complex(parameters):
+ complex_create_string = "oclip complex-create -j {} -r {} -x {} -y {} -lt {} -l {} -i {} -lo {} \
+ -S {} -la {} -g {} -w {} -z {} -k {} -o {} -q {} -m {} -u {} -p {}".format(parameters["street2"], \
+ parameters["physical_location"], parameters["complex_name"], \
+ parameters["data_center_code"], parameters["latitude"], parameters["region"], \
+ parameters["street1"], parameters["longitude"], parameters["state"], \
+ parameters["lata"], parameters["city"], parameters["postal-code"], \
+ parameters["complex_name"], parameters["country"], parameters["elevation"], \
+ parameters["identity_url"], parameters["aai_url"], parameters["aai_username"], \
+ parameters["aai_password"])
+
+ os.system(complex_create_string)
+
+def create_vlm(parameters):
+ vlm_create_string = "oclip vlm-create -x {} -u {} -p {} -m {}".format(parameters["vendor-name"], \
+ parameters["sdc_creator"], parameters["sdc_password"], parameters["sdc_onboarding_url"])
+ command_out = (os.popen(vlm_create_string)).read()
+ out_list = get_out_helper(command_out)
+ vlm_id = out_list[3]
+ vlm_version = out_list[5]
+
+ entitlement_string = "oclip vlm-entitlement-pool-create -x {} -y {} -e {} -z {} -k {} -g {} -l {} -u {} -p {} -m {}".format( \
+ parameters["entitlement-pool-name"], vlm_id, vlm_version, parameters["entitlement-description"], parameters["vendor-name"], \
+ parameters["expiry-date"], parameters["start-date"], parameters["sdc_creator"], parameters["sdc_password"], \
+ parameters["sdc_onboarding_url"])
+ command_out = (os.popen(entitlement_string)).read()
+ entitlement_id = (get_out_helper(command_out))[3]
+
+
+ key_group_string = "oclip vlm-key-group-create -c {} -e {} -x {} -y {} -u {} -p {} -m {}".format(vlm_id, vlm_version, \
+ parameters["key-group-name"], parameters["key-group-type"], parameters["sdc_creator"], parameters["sdc_password"], \
+ parameters["sdc_onboarding_url"])
+ command_out = (os.popen(key_group_string)).read()
+ key_group_id = (get_out_helper(command_out))[3]
+
+ feature_group_string = "oclip vlm-feature-group-create -x {} -y {} -e {} -z {} -g {} -b {} -c {} -u {} -p {} -m {}".format(
+ parameters["feature-grp-name"], vlm_id, vlm_version, parameters["feature-grp-desc"], key_group_id, entitlement_id, \
+ parameters["part-no"], parameters["sdc_creator"], parameters["sdc_password"], parameters["sdc_onboarding_url"])
+ command_out = (os.popen(feature_group_string)).read()
+ feature_group_id = (get_out_helper(command_out))[3]
+
+ agreement_string = "oclip vlm-aggreement-create -x {} -y {} -e {} -z {} -g {} -u {} -p {} -m {}".format(parameters["agreement-name"], \
+ vlm_id, vlm_version, parameters["agreement-desc"], feature_group_id, parameters["sdc_creator"], parameters["sdc_password"], \
+ parameters["sdc_onboarding_url"])
+ command_out = (os.popen(agreement_string)).read()
+ agreement_id = (get_out_helper(command_out))[3]
+
+ submit_string = "oclip vlm-submit -x {} -y {} -u {} -p {} -m {}".format(vlm_id, vlm_version, parameters["sdc_creator"], \
+ parameters["sdc_password"], parameters["sdc_onboarding_url"])
+ os.system(submit_string)
+
+ output = [feature_group_id, agreement_id, vlm_version, vlm_id ]
+ return output
+
+def create_vsp(parameters, in_list):
+ vnfs = parameters["vnf"]
+ vsp_dict = {}
+ for name, value in vnfs.iteritems():
+ create_string = "oclip vsp-create -j {} -o {} -e {} -x {} -y {} -i {} -c {} -g {} -u {} -p {} -m {}".format( in_list[0], \
+ parameters["onboarding-method"], parameters["vendor-name" ], value.get("vsp-name"), value.get("vsp-desc"), in_list[1], \
+ in_list[2], in_list[3], parameters["sdc_creator"], parameters["sdc_password"], parameters["sdc_onboarding_url"] )
+ command_out = (os.popen(create_string)).read()
+ out_list = get_out_helper(command_out)
+ vsp_id = out_list[3]
+ vsp_version = out_list[5]
+
+ os.system("oclip vsp-add-artifact -x {} -y {} -z {} -u {} -p {} -m {}".format(vsp_id, vsp_version, value.get("path"), \
+ parameters["sdc_creator"], parameters["sdc_password"], parameters["sdc_onboarding_url"]))
+
+ os.system("oclip vsp-validate -x {} -y {} -u {} -p {} -m {}".format(vsp_id, vsp_version, parameters["sdc_creator"], \
+ parameters["sdc_password"], parameters["sdc_onboarding_url"]))
+
+ os.system("oclip vsp-submit -x {} -y {} -u {} -p {} -m {}".format(vsp_id, vsp_version, parameters["sdc_creator"], \
+ parameters["sdc_password"], parameters["sdc_onboarding_url"]))
+
+ os.system("oclip vsp-package -x {} -y {} -u {} -p {} -m {}".format(vsp_id, vsp_version, parameters["sdc_creator"], \
+ parameters["sdc_password"], parameters["sdc_onboarding_url"]))
+
+ vsp_ids[name] = vsp_id
+ return vsp_ids
+
+def create_vf_model(parameters, vsp_dict):
+ vnfs = parameters["vnfs"]
+ vf_dict = {}
+ for name, value in vnfs.iteritems():
+ create_string = "oclip vf-model-create -y {} -g {} -x {} -z {} -b {} -u {} -p {} -m {}".format(value.get("vf-description"), \
+ value.get("vsp-version"), value.get("vf-name"), parameters["vendor-name"], vsp_dict[name], \
+ parameters["sdc_creator"], parameters["sdc_password"], parameters["sdc_catalog_url"])
+ os.system(create_string)
+
+ output = (os.popen("oclip vf-model-list -m {} -u {} -p {} | grep {}".format(parameters["sdc_catalog_url"], \
+ parameters["sdc_creator"], parameters["sdc_password"], value.get("vf-name")))).read()
+ output = (get_out_helper_2(output))
+
+ vf_unique_id = output[1]
+
+ # checkout
+ output = (os.popen("oclip vf-model-checkout --host-url {} --host-username {} --host-password {} --vf-model-uuid {} --format json".format(
+ parameters["sdc_catalog_url"], parameters["sdc_creator"], parameters["sdc_password"], vf_unique_id))).read()
+ vf_unique_id = (json.loads(output))['ID']
+
+ # add consumer, if already exist , just ignore, below command would fail simply !!
+ os.system("oclip sdc-consumer-create --consumer-name {}".format(parameters["sdc_consumer"]))
+
+ def get_vnf_name(vnf_csar_path):
+ return vnf_csar_path.replace("_"," ").replace(".", " ").replace("-"," ")
+
+ # add artifact
+ os.system("oclip vf-model-add-artifact --host-url {} --host-username {} --host-password {} --vf-model-uuid {} --artifact {} --artifact-name {}".format(
+ parameters["sdc_catalog_url"], parameters["sdc_consumer"], parameters["sdc_password"], vf_unique_id, vnf_csar, get_vnf_name(vnf_csar)))
+
+ # check-in
+ os.system("oclip vf-model-checkin --host-url {} --host-username {} --host-password {} --vf-model-uuid {}".format(
+ parameters["sdc_catalog_url"], parameters["sdc_creator"], parameters["sdc_password"], vf_unique_id))
+
+ os.system("oclip vf-model-certify -b {} -r {} -u {} -p {} -m {}".format(vf_unique_id, value.get("vf-remarks"), \
+ parameters["sdc_creator"], parameters["sdc_password"], parameters["sdc_catalog_url"]))
+
+ #Check for new parameters after certification
+ output = (os.popen("oclip vf-model-list -m {} -u {} -p {} | grep {}".format(parameters["sdc_catalog_url"], \
+ parameters["sdc_creator"], parameters["sdc_password"], value.get("vf-name")))).read()
+ output = (get_out_helper_2(output))
+
+ vf_dict[name] = output[1]
+
+ return vf_dict
+
+
+def create_service_model(parameters, vf_dict):
+ vnfs = parameters["vnfs"]
+
+ create_string = "oclip service-model-create -z {} -y {} -e {} -x {} -c {} -b {} -u {} -p {} -m {} |grep ID".format(parameters["project-code"], \
+ parameters["service-model-desc"], parameters["icon-id"], parameters["service-model-name"], parameters["category-display"], \
+ parameters["category"],parameters["sdc_creator"], parameters["sdc_password"], parameters["sdc_catalog_url"])
+
+ service_model_id = (get_out_helper_2((os.popen(create_string)).read()))[1]
+
+ # checkout
+ output = (os.popen("oclip service-model-checkout --host-url {} --host-username {} --host-password {} --service-model-uuid {} --format json".format(
+ parameters["sdc_catalog_url"], parameters["sdc_creator"], parameters["sdc_password"], service_model_id))).read()
+ service_model_id = (json.loads(output))['ID']
+
+ # add consumer, if already exist , just ignore, below command would fail simply !!
+ os.system("oclip sdc-consumer-create --consumer-name {}".format(parameters["sdc_consumer"]))
+
+ for name, value in vnfs.iteritems():
+ output = (os.popen("oclip service-model-add-vf -x {} -b {} -y {} -z {} -u {} -p {} -m {}".format(service_model_id, \
+ parameters["vf-version"], vf_dict[name], value.get("vf-name"), parameters["sdc_creator"], \
+ parameters["sdc_password"], parameters["sdc_catalog_url"] ))).read()
+ vf_unique_id = (json.loads(output))['ID']
+ vf_uuid = (json.loads(output))['UUID']
+
+ def get_ns_name(ns_csar_path):
+ return vnf_csar_path.replace("_"," ").replace(".", " ").replace("-"," ")
+
+ # add artifact
+ os.system("oclip service-model-add-artifact --host-url {} --host-username {} --host-password {} --service-uniqueId {} --artifact {} --artifact-name {}".format(
+ parameters["sdc_catalog_url"], parameters["sdc_consumer"], parameters["sdc_password"], vf_unique_id, ns_csar, get_vnf_name(ns_csar)))
+
+ # set properties
+ os.system("oclip service-model-set-property --host-url {} --host-username {} --host-password {} --service-uniqueId {} --resource-uuid {} --resource-uniqueId {} --property-name nf_type --property-value {}".format(
+ parameters["sdc_catalog_url"], parameters["sdc_consumer"], parameters["sdc_password"], service_model_id , vf_unique_id, vf_uuid, vnfm_driver))
+
+ # check-in
+ os.system("oclip service-model-checkin --host-url {} --host-username {} --host-password {} --service-model-uuid {}".format(
+ parameters["sdc_catalog_url"], parameters["sdc_creator"], parameters["sdc_password"], service_model_id))
+
+
+ os.system("oclip service-model-test-request -b {} -r {} -u {} -p {} -m {}".format(service_model_id, parameters["service-test-remarks"], \
+ parameters["sdc_creator"], parameters["sdc_password"], parameters["sdc_catalog_url"]))
+
+ os.system("oclip service-model-test-start -b {} -u {} -p {} -m {}".format(service_model_id, parameters["sdc_tester"], \
+ parameters["sdc_password"], parameters["sdc_catalog_url"]))
+
+ os.system("oclip service-model-test-accept -b {} -r {} -u {} -p {} -m {}".format(service_model_id, parameters["service-accept-remarks"], \
+ parameters["sdc_tester"], parameters["sdc_password"], parameters["sdc_catalog_url"]))
+
+ #Get uniqueId for the service model
+ service_model_values = (os.popen("oclip service-model-list -u {} -p {} -m {} |grep {}".format(parameters["sdc_creator"], \
+ parameters["sdc_password"], parameters["sdc_catalog_url"], parameters["service-model-name"]))).read()
+ service_model_values = get_out_helper_2(service_model_values)
+ service_model_uniqueId = (service_model_values)[1]
+
+ os.system("oclip service-model-approve -b {} -r {} -u {} -p {} -m {}".format(service_model_uniqueId, parameters["service-approve-remarks"], \
+ parameters["sdc_governor"], parameters["sdc_password"], parameters["sdc_catalog_url"]))
+
+ os.system("oclip service-model-distribute -b {} -u {} -p {} -m {}".format(service_model_uniqueId, parameters["sdc_operator"], \
+ parameters["sdc_password"], parameters["sdc_catalog_url"]))
+
+ return service_model_values
+
+def register_cloud_helper(cloud_region, values, parameters):
+ #Create Cloud
+ cloud_create_string = 'oclip cloud-create -e {} -b {} -I {{\\\\\\"openstack-region-id\\\\\\":\\\\\\"{}\\\\\\"}} \
+ -x {} -y {} -j {} -w {} -l {} -url {} -n {} -q {} -r {} -Q {} -i {} -g {} -z {} -k {} -c {} -m {} -u {} -p {}'.format(
+ values.get("esr-system-info-id"), values.get("user-name"), cloud_region, parameters["cloud-owner"], \
+ cloud_region, values.get("password"), values.get("cloud-region-version"), values.get("default-tenant"), \
+ values.get("service-url"), parameters["complex_name"], values.get("cloud-type"), parameters["owner-defined-type"], \
+ values.get("system-type"), values.get("identity-url"), parameters["cloud-zone"], values.get("ssl-insecure"), \
+ values.get("system-status"), values.get("cloud-domain"), parameters["aai_url"], parameters["aai_username"], \
+ parameters["aai_password"])
+
+
+ os.system(cloud_create_string)
+
+ #Associate Cloud with complex
+ complex_associate_string = "oclip complex-associate -x {} -y {} -z {} -m {} -u {} -p {}".format(parameters["complex_name"], \
+ cloud_region, parameters["cloud-owner"], parameters["aai_url"], parameters["aai_username"], parameters["aai_password"])
+ os.system(complex_associate_string)
+
+ #Register Cloud with Multicloud
+ multicloud_register_string = "oclip multicloud-register-cloud -y {} -x {} -m {}".format(parameters["cloud-owner"], \
+ cloud_region, parameters["multicloud_url"])
+ os.system(multicloud_register_string)
+
+def register_all_clouds(parameters):
+ cloud_dictionary = parameters["cloud_region_data"]
+ for cloud_region, cloud_region_values in cloud_dictionary.iteritems():
+ register_cloud_helper(cloud_region, cloud_region_values, parameters)
+
+def create_service_type(parameters):
+ create_string = "oclip service-type-create -x {} -m {} -u {} -p {}".format( parameters["service_name"], \
+ parameters["aai_url"], parameters["aai_username"], parameters["aai_password"])
+ os.system(create_string)
+
+def create_customer(parameters):
+ create_string = "oclip customer-create -x {} -y {} -m {} -u {} -p {}".format( parameters["customer_name"], \
+ parameters["subscriber_name"], parameters["aai_url"], parameters["aai_username"], parameters["aai_password"])
+ os.system(create_string)
+
+def add_customer_subscription(parameters):
+ subscription_check = 0
+ for cloud_region, cloud_region_values in (parameters["cloud_region_data"]).iteritems():
+ if subscription_check == 0 :
+ subscription_string = "oclip subscription-create -x {} -c {} -z {} -e {} -y {} -r {} -m {} -u {} -p {}".format(\
+ parameters["customer_name"], cloud_region_values.get("tenant-id"), parameters["cloud-owner"], parameters["service_name"],\
+ cloud_region_values.get("default-tenant"), cloud_region, parameters["aai_url"], parameters["aai_username"], parameters["aai_password"] )
+ else:
+ subscription_string = "oclip subscription-cloud-add -x {} -c {} -z {} -e {} -y {} -r {} -m {} -u {} -p {}".format(\
+ parameters["customer_name"], cloud_region_values.get("tenant-id"), parameters["cloud-owner"], parameters["service_name"],\
+ cloud_region_values.get("default-tenant"), cloud_region, parameters["aai_url"], parameters["aai_username"], parameters["aai_password"] )
+ os.system(subscription_string)
+ subscription_check+=1
+
+def register_vnfm_helper(vnfm_key, values, parameters):
+ #Create vnfm
+ vnfm_create_string = 'oclip vnfm-create -b {} -c {} -e {} -v {} -g {} -x {} -i {} -j {} -q {} \
+ -m {} -u {} -p {}'.format(vnfm_key, values.get("type"), values.get("vendor"), \
+ values.get("version"), values.get("url"), values.get("vim-id"), \
+ values.get("user-name"), values.get("user-password"), values.get("vnfm-version"), \
+ parameters["aai_url"], parameters["aai_username"], parameters["aai_password"])
+
+ os.system(vnfm_create_string)
+
+def register_vnfm(parameters):
+ vnfm_params = parameters["vnfm_params"]
+ for vnfm_key, vnfm_values in vnfm_params.iteritems():
+ register_vnfm_helper(vnfm_key, vnfm_values, parameters)
+
+
+def onboard_vnf(parameters):
+ vnfs = parameters["vnfs"]
+ vnf_onboard_outputs = {}
+
+ for key, value in vnfs.items():
+ vnf_onboard_string = 'oclip vfc-catalog-onboard-vnf -c {}'.format(value.get("csar-id"))
+ vnf_onboard_outs[key] = (os.popen(ns_onboard_string)).read()
+ return vnf_onboard_outputs
+
+def onboard_ns(parameters):
+ ns_onboard_string = 'oclip vfc-catalog-onboard-ns -c {}'.format(parameters["ns-csar-id"])
+ ns_onboard_out = (os.popen(ns_onboard_string)).read()
+ return ns_onboard_out
+
+def create_ns(parameters, csar_id):
+ ns = parameters["ns"]
+ ns_create_string = 'oclip vfc-nslcm-create -m {} -c {} -n {} -q {} -S {}'.format(parameters["vfc-url"], \
+ csar_id, ns.get("name"), parameters["customer_name"], parameters["service_name"])
+ print ns_create_string
+ ns_create_out = (os.popen(ns_create_string)).read()
+ print ns_create_out
+ ns_instance_id = (get_out_helper_2(ns_create_out))[3]
+ return ns_instance_id
+
+def instantiate_ns(parameters, ns_instance_id):
+ ns_instantiate_string = 'oclip vfc-nslcm-instantiate -m {} -i {} -c {} -n {}'.format(parameters["vfc-url"], \
+ ns_instance_id, parameters["location"], parameters["sdc-controller-id"])
+ print ns_instantiate_string
+
+ ns_instantiate_out = (os.popen(ns_instantiate_string)).read()
+ return ns_instantiate_out
+
+def create_ns_package(parameters):
+ ns = parameters["ns"]
+ create_ns_string = 'oclip vfc-catalog-create-ns -m {} -c {} -e {}'.format(parameters["vfc-url"], \
+ ns.get("key"), ns.get("value"))
+ cmd_out = (os.popen(create_ns_string)).read()
+ out_list = get_out_helper_2(cmd_out)
+ return out_list[4]
+
+def create_vnf_package(parameters):
+ vnfs = parameters["vnfs"]
+ outputs = {}
+
+ for vnf_key, vnf_values in vnfs.iteritems():
+ create_vnf_string = 'oclip vfc-catalog-create-vnf -m {} -c {} -e {}'.format(parameters["vfc-url"], \
+ vnf_values.get("key"), vnf_values.get("value"))
+ cmd_out = (os.popen(create_vnf_string)).read()
+ out_list = get_out_helper_2(cmd_out)
+ outputs[vnf_key] = out_list[4]
+
+ return outputs
+
+def upload_ns_package(parameters, ns_package_output):
+ ns = parameters["ns"]
+ ns_upload_string = '{}/api/nsd/v1/ns_descriptors/{}/nsd_content'.format(parameters["vfc-url"], ns_package_output)
+ print ns_upload_string
+ print ns.get("path")
+ resp = requests.put(ns_upload_string, files={'file': open(ns.get("path"), 'rb')})
+ return resp
+
+def upload_vnf_package(parameters, vnf_package_output):
+ vnfs = parameters["vnfs"]
+ for vnf_key, vnf_values in vnfs.iteritems():
+ vnf_upload_str = '{}/api/vnfpkgm/v1/vnf_packages/{}/package_content'.format(parameters["vfc-url"], \
+ vnf_package_output[vnf_key], vnf_package_output[vnf_key])
+ resp = requests.put(vnf_upload_str, files={'file': open(vnf_values.get("path"), 'rb')})
+ return resp
+
+
+def provision_vnf():
+
+ result_json = {}
+ result_json['vnf_id'] = ''
+ result_json['vnf_status'] = ''
+ result_json['ns_id'] = ''
+ result_json['ns_status'] = ''
+
+ # 1.Setup cloud and service
+ #setup cloud and region
+ create_complex(parameters)
+ register_all_clouds(parameters)
+
+ # setup subscription and customer
+ create_service_type(parameters)
+ create_customer(parameters)
+ add_customer_subscription(parameters)
+
+ # setup vnfm
+ register_vnfm(parameters)
+
+ # Setup License
+ vlm_output = create_vlm(parameters)
+ print "vlm parameters={}".format(vlm_output)
+
+ # 2. on-board VSP
+ vsp_id = create_vsp(parameters, vlm_output)
+ print "vsp id={}".format(vsp_id)
+
+ # 3. model VF
+ vf_model_dict = create_vf_model(parameters, vsp_id)
+ print "vf model parameters={}".format(vf_model_dict)
+ vf_id = vf_model_dict["vf_id"]
+ vf_unique_id = vf_model_dict["vf_unique_id"]
+
+ # 4. model NS and 5. Approve and distribute
+ service_model_list = create_service_model(parameters, vf_unique_id)
+ print "service model parameters={}".format(service_model_list)
+
+ # 6. onboard VNF
+ vnf_onboard_output = onboard_vnf(parameters)
+ print vnf_onboard_output
+
+ # 7. onboard NS
+ ns_onboard_out = onboard_ns(parameters)
+ print ns_onboard_out
+
+ # 8. create NS
+ ns_instance_id = create_ns(parameters, ns_package_output)
+ print ns_instance_id
+
+ instantiate_ns_output = instantiate_ns(parameters, ns_instance_id)
+ print instantiate_ns_output
+
+ return result_json
+
+def persist_result(result_path, result):
+ f = open(result_json_path, "w")
+
+ result_json = {}
+ result_json['vnf_id'] = result['vnf_id']
+ result_json['vnf_status'] = result['vnf_status']
+ result_json['ns_id'] = result['ns_id']
+ result_json['ns_status'] = result['ns_status']
+
+ f.write(json.dumps(result_json))
+
+ print result_json
+
+ f.close()
+
+#Main
+parser = argparse.ArgumentParser()
+parser.add_argument('--config-json', action='store', dest='config_file_path', help='Config file path')
+parser.add_argument('--vsp', action='store', dest='vsp', help='ONAP VSP')
+parser.add_argument('--vnf-csar', action='store', dest='vnf_csar', help='VNF CSAR')
+parser.add_argument('--ns-csar', action='store', dest='ns_csar', help='NS CSAR')
+parser.add_argument('--vnfm-driver', action='store', dest='vnfm_driver', help='gVNFM or hwVNFM')
+parser.add_argument('--result-json', action='store', dest='result_json_path', help='Output result json')
+
+#Retrive the params
+args = parser.parse_args()
+print args
+
+config_file = open(args.config_file_path)
+vsp = args.vsp
+vnf_csar = args.vnf_csar
+ns_csar = args.ns_csar
+vnfm_driver = args.vnfm_driver
+result_json_path = args.result_json_path
+
+# setup CLI
+parameters = get_parameters(config_file)
+set_open_cli_env(parameters)
+
+output = provision_vnf()
+
+persist_result(result_json_path, output)
+
+print "Provision is completed !" \ No newline at end of file
diff --git a/products/onap-dublin/features/msb/pom.xml b/products/onap-dublin/features/msb/pom.xml
index 57f9eae2..ae8e044a 100644
--- a/products/onap-dublin/features/msb/pom.xml
+++ b/products/onap-dublin/features/msb/pom.xml
@@ -24,7 +24,7 @@
<parent>
<groupId>org.onap.cli</groupId>
<artifactId>cli-products-onap-dublin-features</artifactId>
- <version>3.0.0</version>
+ <version>4.0.0-SNAPSHOT</version>
</parent>
<artifactId>cli-products-onap-dublin-features-msb</artifactId>
diff --git a/products/onap-dublin/features/multicloud/pom.xml b/products/onap-dublin/features/multicloud/pom.xml
index aadb0814..06d2ee91 100644
--- a/products/onap-dublin/features/multicloud/pom.xml
+++ b/products/onap-dublin/features/multicloud/pom.xml
@@ -24,7 +24,7 @@
<parent>
<groupId>org.onap.cli</groupId>
<artifactId>cli-products-onap-dublin-features</artifactId>
- <version>3.0.0</version>
+ <version>4.0.0-SNAPSHOT</version>
</parent>
<artifactId>cli-products-onap-dublin-features-multicloud</artifactId>
diff --git a/products/onap-dublin/features/policy/pom.xml b/products/onap-dublin/features/policy/pom.xml
index aeca79ea..f7a885e8 100644
--- a/products/onap-dublin/features/policy/pom.xml
+++ b/products/onap-dublin/features/policy/pom.xml
@@ -24,7 +24,7 @@
<parent>
<groupId>org.onap.cli</groupId>
<artifactId>cli-products-onap-dublin-features</artifactId>
- <version>3.0.0</version>
+ <version>4.0.0-SNAPSHOT</version>
</parent>
<artifactId>cli-products-onap-dublin-features-policy</artifactId>
diff --git a/products/onap-dublin/features/pom.xml b/products/onap-dublin/features/pom.xml
index 23a2d640..95b25338 100644
--- a/products/onap-dublin/features/pom.xml
+++ b/products/onap-dublin/features/pom.xml
@@ -24,7 +24,7 @@
<parent>
<groupId>org.onap.cli</groupId>
<artifactId>cli-products-onap-dublin</artifactId>
- <version>3.0.0</version>
+ <version>4.0.0-SNAPSHOT</version>
</parent>
<artifactId>cli-products-onap-dublin-features</artifactId>
@@ -41,12 +41,58 @@
<module>sdnc</module>
<module>so</module>
<module>vnfsdk</module>
+ <module>integration</module>
</modules>
<build>
<pluginManagement>
<plugins>
<plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-resources-plugin</artifactId>
+ <version>3.1.0</version>
+ <executions>
+ <execution>
+ <id>copy-resource-script</id>
+ <phase>install</phase>
+ <goals>
+ <goal>copy-resources</goal>
+ </goals>
+
+ <configuration>
+ <outputDirectory>../../../../products/target/script</outputDirectory>
+ <resources>
+ <resource>
+ <directory>${project.basedir}/src/main/resources/script</directory>
+ <includes>
+ <include>*.*</include>
+ </includes>
+ </resource>
+ </resources>
+ </configuration>
+ </execution>
+ <execution>
+ <id>copy-resource-conf</id>
+ <phase>install</phase>
+ <goals>
+ <goal>copy-resources</goal>
+ </goals>
+
+ <configuration>
+ <outputDirectory>../../../../products/target/conf</outputDirectory>
+ <resources>
+ <resource>
+ <directory>${project.basedir}/src/main/resources/conf</directory>
+ <includes>
+ <include>*.*</include>
+ </includes>
+ </resource>
+ </resources>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
diff --git a/products/onap-dublin/features/sdc/pom.xml b/products/onap-dublin/features/sdc/pom.xml
index 8a91f7b4..b0cded4a 100644
--- a/products/onap-dublin/features/sdc/pom.xml
+++ b/products/onap-dublin/features/sdc/pom.xml
@@ -24,7 +24,7 @@
<parent>
<groupId>org.onap.cli</groupId>
<artifactId>cli-products-onap-dublin-features</artifactId>
- <version>3.0.0</version>
+ <version>4.0.0-SNAPSHOT</version>
</parent>
<artifactId>cli-products-onap-dublin-features-sdc</artifactId>
diff --git a/products/onap-dublin/features/sdc/src/main/resources/open-cli-sample/consumer/sdc-consumer-create-schema-dublin-moco.json b/products/onap-dublin/features/sdc/src/main/resources/open-cli-sample/consumer/sdc-consumer-create-schema-dublin-moco.json
new file mode 100644
index 00000000..71bce5dd
--- /dev/null
+++ b/products/onap-dublin/features/sdc/src/main/resources/open-cli-sample/consumer/sdc-consumer-create-schema-dublin-moco.json
@@ -0,0 +1,31 @@
+[ {
+ "request" : {
+ "method" : "post",
+ "uri" : "/sdc2/rest/v1/consumers",
+ "headers" : {
+ "Accept" : "application/json",
+ "USER_ID" : "jh0003",
+ "Content-Type" : "application/json"
+ },
+ "json" : {
+ "consumerName" : "mrkanag",
+ "consumerSalt" : "ab2987754f0c6293174865e86c47035d",
+ "consumerPassword" : "7fa005e6e478ee677053a2c4a5c2f11190e2aa8be227a037291ea4cbc074ecb6"
+ }
+ },
+ "response" : {
+ "status" : 201,
+ "json" : {
+ "consumerName" : "mrkanag",
+ "consumerPassword" : "7fa005e6e478ee677053a2c4a5c2f11190e2aa8be227a037291ea4cbc074ecb6",
+ "consumerSalt" : "ab2987754f0c6293174865e86c47035d",
+ "consumerLastAuthenticationTime" : 0,
+ "consumerDetailsLastupdatedtime" : 1564379189744,
+ "lastModfierAtuid" : "jh0003",
+ "version" : null,
+ "ownerId" : null,
+ "empty" : false,
+ "type" : null
+ }
+ }
+} ] \ No newline at end of file
diff --git a/products/onap-dublin/features/sdc/src/main/resources/open-cli-sample/consumer/sdc-consumer-create-schema-dublin-sample.yaml b/products/onap-dublin/features/sdc/src/main/resources/open-cli-sample/consumer/sdc-consumer-create-schema-dublin-sample.yaml
new file mode 100644
index 00000000..f043ad70
--- /dev/null
+++ b/products/onap-dublin/features/sdc/src/main/resources/open-cli-sample/consumer/sdc-consumer-create-schema-dublin-sample.yaml
@@ -0,0 +1,9 @@
+open_cli_sample_version: 1.0
+name: --host-url
+version: open-cli
+samples:
+ sample1:
+ name: --host-url
+ input: https://159.138.32.178:30204 --consumer-name mrkanag --debug
+ moco: sdc-consumer-create-schema-dublin-moco.json
+ output: \ No newline at end of file
diff --git a/products/onap-dublin/features/sdc/src/main/resources/open-cli-sample/consumer/sdc-consumer-show-schema-dublin-moco.json b/products/onap-dublin/features/sdc/src/main/resources/open-cli-sample/consumer/sdc-consumer-show-schema-dublin-moco.json
new file mode 100644
index 00000000..7f025f67
--- /dev/null
+++ b/products/onap-dublin/features/sdc/src/main/resources/open-cli-sample/consumer/sdc-consumer-show-schema-dublin-moco.json
@@ -0,0 +1,27 @@
+[ {
+ "request" : {
+ "method" : "get",
+ "uri" : "/sdc2/rest/v1/consumers/mrkanag",
+ "headers" : {
+ "Accept" : "application/json",
+ "USER_ID" : "jh0003",
+ "Content-Type" : "application/json"
+ },
+ "json" : null
+ },
+ "response" : {
+ "status" : 200,
+ "json" : {
+ "consumerName" : "mrkanag",
+ "consumerPassword" : "7fa005e6e478ee677053a2c4a5c2f11190e2aa8be227a037291ea4cbc074ecb6",
+ "consumerSalt" : "ab2987754f0c6293174865e86c47035d",
+ "consumerLastAuthenticationTime" : 0,
+ "consumerDetailsLastupdatedtime" : 1564379189744,
+ "lastModfierAtuid" : "jh0003",
+ "version" : null,
+ "ownerId" : null,
+ "empty" : false,
+ "type" : null
+ }
+ }
+} ] \ No newline at end of file
diff --git a/products/onap-dublin/features/sdc/src/main/resources/open-cli-sample/consumer/sdc-consumer-show-schema-dublin-sample.yaml b/products/onap-dublin/features/sdc/src/main/resources/open-cli-sample/consumer/sdc-consumer-show-schema-dublin-sample.yaml
new file mode 100644
index 00000000..4b3571d6
--- /dev/null
+++ b/products/onap-dublin/features/sdc/src/main/resources/open-cli-sample/consumer/sdc-consumer-show-schema-dublin-sample.yaml
@@ -0,0 +1,9 @@
+open_cli_sample_version: 1.0
+name: --host-url
+version: open-cli
+samples:
+ sample1:
+ name: --host-url
+ input: https://159.138.32.178:30204 --consumer-name mrkanag --debug
+ moco: sdc-consumer-show-schema-dublin-moco.json
+ output: |
diff --git a/products/onap-dublin/features/sdc/src/main/resources/open-cli-sample/service-model/ns-model-set-property-moco.json b/products/onap-dublin/features/sdc/src/main/resources/open-cli-sample/service-model/ns-model-set-property-moco.json
new file mode 100644
index 00000000..2e265288
--- /dev/null
+++ b/products/onap-dublin/features/sdc/src/main/resources/open-cli-sample/service-model/ns-model-set-property-moco.json
@@ -0,0 +1,154 @@
+[ {
+ "request" : {
+ "method" : "post",
+ "uri" : "/sdc2/rest/v1/catalog/services/66bc211e-27a1-4a1c-aee3-75952617b7fe/resourceInstance/ff654717-85e1-4458-a9ce-7dedca7be552.3694ef05-56e3-44d0-9103-7805ef8d2929.extztecp0/properties",
+ "headers" : {
+ "Authorization" : "Basic Y3MwMDA4OmRlbW8xMjM0NTYh",
+ "X-FromAppId" : "ONAP CLI",
+ "Accept" : "application/json",
+ "USER_ID" : "cs0008",
+ "X-TransactionId" : "req-a5f3d3a6-f407-4abd-81b1-b4906c039783",
+ "Content-Type" : "application/json"
+ },
+ "json" : [ {
+ "constraints" : null,
+ "defaultValue" : null,
+ "description" : null,
+ "name" : "ip_address",
+ "parentUniqueId" : null,
+ "password" : false,
+ "required" : false,
+ "schema" : {
+ "property" : { }
+ },
+ "schemaType" : null,
+ "type" : "string",
+ "uniqueId" : "3694ef05-56e3-44d0-9103-7805ef8d2929.ip_address",
+ "value" : "1.1.1.2",
+ "definition" : false,
+ "getInputValues" : null,
+ "parentPropertyType" : null,
+ "subPropertyInputPath" : null,
+ "toscaPresentation" : {
+ "ownerId" : null
+ },
+ "getPolicyValues" : null,
+ "inputPath" : null
+ } ]
+ },
+ "response" : {
+ "status" : 200,
+ "json" : [ {
+ "uniqueId" : "3694ef05-56e3-44d0-9103-7805ef8d2929.ip_address",
+ "type" : "string",
+ "required" : false,
+ "definition" : false,
+ "defaultValue" : null,
+ "description" : null,
+ "schema" : {
+ "derivedFrom" : null,
+ "constraints" : null,
+ "properties" : null,
+ "property" : {
+ "uniqueId" : null,
+ "type" : null,
+ "required" : false,
+ "definition" : true,
+ "defaultValue" : null,
+ "description" : null,
+ "schema" : null,
+ "password" : false,
+ "name" : null,
+ "value" : null,
+ "label" : null,
+ "hidden" : false,
+ "immutable" : false,
+ "inputPath" : null,
+ "status" : null,
+ "inputId" : null,
+ "instanceUniqueId" : null,
+ "propertyId" : null,
+ "parentPropertyType" : null,
+ "subPropertyInputPath" : null,
+ "annotations" : null,
+ "parentUniqueId" : null,
+ "getInputValues" : null,
+ "isDeclaredListInput" : false,
+ "getPolicyValues" : null,
+ "getInputProperty" : false,
+ "schemaType" : null,
+ "schemaProperty" : null,
+ "version" : null,
+ "ownerId" : null,
+ "empty" : false
+ },
+ "version" : null,
+ "ownerId" : null,
+ "empty" : false,
+ "type" : null
+ },
+ "password" : false,
+ "name" : "ip_address",
+ "value" : "1.1.1.2",
+ "label" : null,
+ "hidden" : false,
+ "immutable" : false,
+ "inputPath" : null,
+ "status" : null,
+ "inputId" : null,
+ "instanceUniqueId" : null,
+ "propertyId" : null,
+ "parentPropertyType" : null,
+ "subPropertyInputPath" : null,
+ "annotations" : null,
+ "parentUniqueId" : null,
+ "getInputValues" : null,
+ "isDeclaredListInput" : false,
+ "getPolicyValues" : null,
+ "constraints" : [ ],
+ "valueUniqueUid" : null,
+ "path" : [ "ff654717-85e1-4458-a9ce-7dedca7be552.3694ef05-56e3-44d0-9103-7805ef8d2929.extztecp0" ],
+ "rules" : null,
+ "componentInstanceName" : null,
+ "componentInstanceId" : null,
+ "getInputProperty" : false,
+ "schemaType" : null,
+ "schemaProperty" : {
+ "uniqueId" : null,
+ "type" : null,
+ "required" : false,
+ "definition" : true,
+ "defaultValue" : null,
+ "description" : null,
+ "schema" : null,
+ "password" : false,
+ "name" : null,
+ "value" : null,
+ "label" : null,
+ "hidden" : false,
+ "immutable" : false,
+ "inputPath" : null,
+ "status" : null,
+ "inputId" : null,
+ "instanceUniqueId" : null,
+ "propertyId" : null,
+ "parentPropertyType" : null,
+ "subPropertyInputPath" : null,
+ "annotations" : null,
+ "parentUniqueId" : null,
+ "getInputValues" : null,
+ "isDeclaredListInput" : false,
+ "getPolicyValues" : null,
+ "getInputProperty" : false,
+ "schemaType" : null,
+ "schemaProperty" : null,
+ "version" : null,
+ "ownerId" : null,
+ "empty" : false
+ },
+ "version" : null,
+ "ownerId" : null,
+ "empty" : false
+ } ]
+ }
+} ] \ No newline at end of file
diff --git a/products/onap-dublin/features/sdc/src/main/resources/open-cli-sample/service-model/ns-model-set-property-sample.yaml b/products/onap-dublin/features/sdc/src/main/resources/open-cli-sample/service-model/ns-model-set-property-sample.yaml
new file mode 100644
index 00000000..540bb0f8
--- /dev/null
+++ b/products/onap-dublin/features/sdc/src/main/resources/open-cli-sample/service-model/ns-model-set-property-sample.yaml
@@ -0,0 +1,9 @@
+open_cli_sample_version: 1.0
+name: --host-url
+version: open-cli
+samples:
+ sample1:
+ name: --host-url
+ input: https://159.138.32.178:30204 --host-username cs0008 --host-password demo123456! --service-uniqueId 66bc211e-27a1-4a1c-aee3-75952617b7fe --resource-uuid 3694ef05-56e3-44d0-9103-7805ef8d2929 --resource-uniqueId ff654717-85e1-4458-a9ce-7dedca7be552.3694ef05-56e3-44d0-9103-7805ef8d2929.extztecp0 --property-name ip_address --property-value 1.1.1.2 --debug
+ moco: ns-model-set-property-moco.json
+ output: \ No newline at end of file
diff --git a/products/onap-dublin/features/sdc/src/main/resources/open-cli-sample/service-model/service-model-add-artifact-schema-dublin-sample.yaml b/products/onap-dublin/features/sdc/src/main/resources/open-cli-sample/service-model/service-model-add-artifact-schema-dublin-sample.yaml
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/products/onap-dublin/features/sdc/src/main/resources/open-cli-sample/service-model/service-model-add-artifact-schema-dublin-sample.yaml
diff --git a/products/onap-dublin/features/sdc/src/main/resources/open-cli-sample/vf/vf-model-checkin-schema-dublin-moco.json b/products/onap-dublin/features/sdc/src/main/resources/open-cli-sample/vf/vf-model-checkin-schema-dublin-moco.json
new file mode 100644
index 00000000..e572c8ee
--- /dev/null
+++ b/products/onap-dublin/features/sdc/src/main/resources/open-cli-sample/vf/vf-model-checkin-schema-dublin-moco.json
@@ -0,0 +1,72 @@
+[ {
+ "request" : {
+ "method" : "post",
+ "uri" : "/sdc2/rest/v1/catalog/resources/c5d9a74a-c617-4542-8b83-31c4d8a7269b/lifecycleState/CHECKIN",
+ "headers" : {
+ "Authorization" : "Basic Y3MwMDA4OmRlbW8xMjM0NTYh",
+ "X-FromAppId" : "ONAP CLI",
+ "Accept" : "application/json",
+ "USER_ID" : "cs0008",
+ "X-TransactionId" : "req-26632f77-01a9-4a8a-949b-34b42544d67e",
+ "Content-Type" : "application/json"
+ },
+ "json" : {
+ "userRemarks" : "Checked in by ONAP CLI"
+ }
+ },
+ "response" : {
+ "status" : 200,
+ "json" : {
+ "uniqueId" : "c5d9a74a-c617-4542-8b83-31c4d8a7269b",
+ "name" : "ovp-test",
+ "version" : "1.4",
+ "isHighestVersion" : true,
+ "creationDate" : 1564379661410,
+ "lastUpdateDate" : 1564379845325,
+ "description" : "ovp-test",
+ "lifecycleState" : "NOT_CERTIFIED_CHECKIN",
+ "tags" : [ "ovp-test" ],
+ "icon" : "defaulticon",
+ "normalizedName" : "ovptest",
+ "systemName" : "OvpTest",
+ "contactId" : "cs0008",
+ "allVersions" : {
+ "1.0" : "3f0de55b-90be-459d-a30f-a24553baacaa",
+ "1.1" : "53235bc8-2619-4d23-b1f6-e41e64d0af47",
+ "1.2" : "ef2ce8c3-af1c-480a-a12f-6bd1fe0384f4",
+ "1.3" : "168c1a0d-82d8-4a86-a934-9e685389516f",
+ "1.4" : "c5d9a74a-c617-4542-8b83-31c4d8a7269b"
+ },
+ "csarUUID" : "aa92c8177d754587b621a951a522a942",
+ "csarVersion" : "1.0",
+ "invariantUUID" : "c918f6b2-5067-4c10-91a8-672964f3fd10",
+ "componentType" : "RESOURCE",
+ "categories" : [ {
+ "name" : "Generic",
+ "normalizedName" : "generic",
+ "uniqueId" : "resourceNewCategory.generic",
+ "subcategories" : [ {
+ "name" : "Network Elements",
+ "normalizedName" : "network elements",
+ "uniqueId" : "resourceNewCategory.generic.network elements",
+ "icons" : [ "network", "connector" ],
+ "empty" : false
+ } ],
+ "empty" : false
+ } ],
+ "creatorUserId" : "cs0008",
+ "creatorFullName" : "Carlos Santana",
+ "lastUpdaterUserId" : "cs0008",
+ "lastUpdaterFullName" : "Carlos Santana",
+ "archiveTime" : 0,
+ "vendorName" : "onap",
+ "vendorRelease" : "1.0",
+ "resourceVendorModelNumber" : "",
+ "resourceType" : "VF",
+ "toscaResourceName" : "org.openecomp.resource.vf.OvpTest",
+ "vspArchived" : false,
+ "archived" : false,
+ "uuid" : "24d20439-1d8c-44dc-acaf-cb0929a6a5f3"
+ }
+ }
+} ] \ No newline at end of file
diff --git a/products/onap-dublin/features/sdc/src/main/resources/open-cli-sample/vf/vf-model-checkin-schema-dublin-sample.yaml b/products/onap-dublin/features/sdc/src/main/resources/open-cli-sample/vf/vf-model-checkin-schema-dublin-sample.yaml
new file mode 100644
index 00000000..940a5fb1
--- /dev/null
+++ b/products/onap-dublin/features/sdc/src/main/resources/open-cli-sample/vf/vf-model-checkin-schema-dublin-sample.yaml
@@ -0,0 +1,9 @@
+open_cli_sample_version: 1.0
+name: --host-url
+version: open-cli
+samples:
+ sample1:
+ name: --host-url
+ input: https://159.138.32.178:30204 --host-username cs0008 --host-password demo123456! --vf-model-uuid c5d9a74a-c617-4542-8b83-31c4d8a7269b --debug
+ moco: vf-model-checkin-schema-dublin-moco.json
+ output: \ No newline at end of file
diff --git a/products/onap-dublin/features/sdc/src/main/resources/open-cli-sample/vf/vf-model-checkout-schema-dublin-moco.json b/products/onap-dublin/features/sdc/src/main/resources/open-cli-sample/vf/vf-model-checkout-schema-dublin-moco.json
new file mode 100644
index 00000000..c688dcb4
--- /dev/null
+++ b/products/onap-dublin/features/sdc/src/main/resources/open-cli-sample/vf/vf-model-checkout-schema-dublin-moco.json
@@ -0,0 +1,70 @@
+[ {
+ "request" : {
+ "method" : "post",
+ "uri" : "/sdc2/rest/v1/catalog/resources/168c1a0d-82d8-4a86-a934-9e685389516f/lifecycleState/CHECKOUT",
+ "headers" : {
+ "Authorization" : "Basic Y3MwMDA4OmRlbW8xMjM0NTYh",
+ "X-FromAppId" : "ONAP CLI",
+ "Accept" : "application/json",
+ "USER_ID" : "cs0008",
+ "X-TransactionId" : "req-4616b1ae-ca5f-4a74-97de-144647202745",
+ "Content-Type" : "application/json"
+ },
+ "json" : { }
+ },
+ "response" : {
+ "status" : 200,
+ "json" : {
+ "uniqueId" : "c5d9a74a-c617-4542-8b83-31c4d8a7269b",
+ "name" : "ovp-test",
+ "version" : "1.4",
+ "isHighestVersion" : true,
+ "creationDate" : 1564379661410,
+ "lastUpdateDate" : 1564379661410,
+ "description" : "ovp-test",
+ "lifecycleState" : "NOT_CERTIFIED_CHECKOUT",
+ "tags" : [ "ovp-test" ],
+ "icon" : "defaulticon",
+ "normalizedName" : "ovptest",
+ "systemName" : "OvpTest",
+ "contactId" : "cs0008",
+ "allVersions" : {
+ "1.0" : "3f0de55b-90be-459d-a30f-a24553baacaa",
+ "1.1" : "53235bc8-2619-4d23-b1f6-e41e64d0af47",
+ "1.2" : "ef2ce8c3-af1c-480a-a12f-6bd1fe0384f4",
+ "1.3" : "168c1a0d-82d8-4a86-a934-9e685389516f",
+ "1.4" : "c5d9a74a-c617-4542-8b83-31c4d8a7269b"
+ },
+ "csarUUID" : "aa92c8177d754587b621a951a522a942",
+ "csarVersion" : "1.0",
+ "invariantUUID" : "c918f6b2-5067-4c10-91a8-672964f3fd10",
+ "componentType" : "RESOURCE",
+ "categories" : [ {
+ "name" : "Generic",
+ "normalizedName" : "generic",
+ "uniqueId" : "resourceNewCategory.generic",
+ "subcategories" : [ {
+ "name" : "Network Elements",
+ "normalizedName" : "network elements",
+ "uniqueId" : "resourceNewCategory.generic.network elements",
+ "icons" : [ "network", "connector" ],
+ "empty" : false
+ } ],
+ "empty" : false
+ } ],
+ "creatorUserId" : "cs0008",
+ "creatorFullName" : "Carlos Santana",
+ "lastUpdaterUserId" : "cs0008",
+ "lastUpdaterFullName" : "Carlos Santana",
+ "archiveTime" : 0,
+ "vendorName" : "onap",
+ "vendorRelease" : "1.0",
+ "resourceVendorModelNumber" : "",
+ "resourceType" : "VF",
+ "toscaResourceName" : "org.openecomp.resource.vf.OvpTest",
+ "vspArchived" : false,
+ "archived" : false,
+ "uuid" : "24d20439-1d8c-44dc-acaf-cb0929a6a5f3"
+ }
+ }
+} ] \ No newline at end of file
diff --git a/products/onap-dublin/features/sdc/src/main/resources/open-cli-sample/vf/vf-model-checkout-schema-dublin-sample.yaml b/products/onap-dublin/features/sdc/src/main/resources/open-cli-sample/vf/vf-model-checkout-schema-dublin-sample.yaml
new file mode 100644
index 00000000..39885784
--- /dev/null
+++ b/products/onap-dublin/features/sdc/src/main/resources/open-cli-sample/vf/vf-model-checkout-schema-dublin-sample.yaml
@@ -0,0 +1,9 @@
+open_cli_sample_version: 1.0
+name: --host-url
+version: open-cli
+samples:
+ sample1:
+ name: --host-url
+ input: https://159.138.32.178:30204 --host-username cs0008 --host-password demo123456! --vf-model-uuid 168c1a0d-82d8-4a86-a934-9e685389516f --debug
+ moco: vf-model-checkout-schema-dublin-moco.json
+ output: |
diff --git a/products/onap-dublin/features/sdc/src/main/resources/open-cli-schema/consumer/sdc-consumer-create-schema-dublin.yaml b/products/onap-dublin/features/sdc/src/main/resources/open-cli-schema/consumer/sdc-consumer-create-schema-dublin.yaml
new file mode 100644
index 00000000..20077715
--- /dev/null
+++ b/products/onap-dublin/features/sdc/src/main/resources/open-cli-schema/consumer/sdc-consumer-create-schema-dublin.yaml
@@ -0,0 +1,70 @@
+# Copyright 2019 Huawei Technologies Co., Ltd.
+#
+# 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.
+
+open_cli_schema_version: 1.0
+name: sdc-consumer-create
+description: Create SDC consumer
+
+info:
+ product: onap-dublin
+ service: sdc
+ author: ONAP CLI Team onap-discuss@lists.onap.org
+
+parameters:
+ - name: consumer-name
+ description: Consumer Name
+ type: string
+ short_option: x
+ long_option: consumer-name
+ is_optional: false
+ - name: consumer-password
+ description: Consumer password
+ type: string
+ short_option: y
+ long_option: consumer-password
+ is_optional: true
+ default_value: 7fa005e6e478ee677053a2c4a5c2f11190e2aa8be227a037291ea4cbc074ecb6
+ - name: salt
+ description: Salt
+ type: string
+ long_option: salt
+ short_option: c
+ is_optional: true
+ default_value: ab2987754f0c6293174865e86c47035d
+ - name: user-id
+ description: Designer user id
+ type: string
+ long_option: user-id
+ short_option: e
+ default_value: jh0003
+ is_optional: true
+http:
+ service:
+ name: sdc
+ version: v1.0
+ auth: none
+ mode: direct
+ request:
+ uri: /sdc2/rest/v1/consumers
+ method: POST
+ headers:
+ USER_ID: ${user-id}
+ body: '{
+ "consumerName": "${consumer-name}",
+ "consumerSalt": "${salt}",
+ "consumerPassword": "${consumer-password}"
+ }'
+ success_codes:
+ - 200
+ - 201
diff --git a/products/onap-dublin/features/sdc/src/main/resources/open-cli-schema/consumer/sdc-consumer-show-schema-dublin.yaml b/products/onap-dublin/features/sdc/src/main/resources/open-cli-schema/consumer/sdc-consumer-show-schema-dublin.yaml
new file mode 100644
index 00000000..5de269e4
--- /dev/null
+++ b/products/onap-dublin/features/sdc/src/main/resources/open-cli-schema/consumer/sdc-consumer-show-schema-dublin.yaml
@@ -0,0 +1,66 @@
+# Copyright 2019 Huawei Technologies Co., Ltd.
+#
+# 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.
+
+open_cli_schema_version: 1.0
+name: sdc-consumer-show
+description: Retrieve SDC consumer
+
+info:
+ product: onap-dublin
+ service: sdc
+ author: ONAP CLI Team onap-discuss@lists.onap.org
+
+parameters:
+ - name: consumer-name
+ description: Consumer Name
+ type: string
+ short_option: x
+ long_option: consumer-name
+ is_optional: false
+ - name: user-id
+ description: Designer user id
+ type: string
+ long_option: user-id
+ short_option: e
+ default_value: jh0003
+ is_optional: true
+results:
+ direction: portrait
+ attributes:
+ - name: consumer-password
+ description: Consumer password
+ type: string
+ scope: short
+ - name: salt
+ description: Salt
+ type: string
+ scope: short
+
+http:
+ service:
+ name: sdc
+ version: v1.0
+ auth: none
+ mode: direct
+ request:
+ uri: /sdc2/rest/v1/consumers/${consumer-name}
+ method: GET
+ headers:
+ USER_ID: ${user-id}
+ success_codes:
+ - 200
+ - 201
+ result_map:
+ consumer-password: $b{$.consumerPassword}
+ salt: $b{$.consumerSalt} \ No newline at end of file
diff --git a/products/onap-dublin/features/sdc/src/main/resources/open-cli-schema/service-model/service-model-add-artifact-schema-dublin.yaml b/products/onap-dublin/features/sdc/src/main/resources/open-cli-schema/service-model/service-model-add-artifact-schema-dublin.yaml
new file mode 100644
index 00000000..dc881d90
--- /dev/null
+++ b/products/onap-dublin/features/sdc/src/main/resources/open-cli-schema/service-model/service-model-add-artifact-schema-dublin.yaml
@@ -0,0 +1,72 @@
+# Copyright 2019 Huawei Technologies Co., Ltd.
+#
+# 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.
+
+open_cli_schema_version: 1.0
+name: service-model-add-artifact
+description: Add a artifact to a Service model
+
+info:
+ product: onap-dublin
+ service: sdc
+ author: ONAP HPA Team onap-discuss@lists.onap.org
+
+
+parameters:
+ - name: service-uniqueId
+ description: Service Unique Id
+ type: string
+ long_option: service-uniqueId
+ short_option: x
+ is_optional: false
+ - name: remarks
+ description: certification remarks
+ type: string
+ long_option: remarks
+ short_option: y
+ default_value: Uploaded from ONAP CLI
+ is_optional: true
+ - name: artifact
+ description: NS CSAR file
+ type: byte
+ long_option: artifact
+ short_option: z
+ is_optional: false
+ - name: artifact-name
+ description: NS CSAR name
+ type: string
+ long_option: artifact-name
+ short_option: b
+ is_optional: false
+ - name: user-id
+ description: Designer user id
+ type: string
+ long_option: user-id
+ short_option: e
+ default_value: cs0008
+ is_optional: true
+http:
+ service:
+ name: sdc
+ version: v1.0
+ auth: basic
+ mode: direct
+ request:
+ uri: /sdc2/rest/v1/catalog/services/${service-uniqueId}/artifacts
+ method: POST
+ headers:
+ Content-MD5: $s{md5:__body__}
+ USER_ID: ${user-id}
+ body: '{"payloadData":"${artifact}","artifactDisplayName":"${artifact-name}","artifactType":"OTHER","description":"${remarks}","artifactName":"${artifact-name}", "artifactLabel":"${artifact-name}","artifactGroupType":"INFORMATIONAL", artifactChecksum="$s{md5:artifact}"}'
+ success_codes:
+ - 200
diff --git a/products/onap-dublin/features/sdc/src/main/resources/open-cli-schema/service-model/service-model-add-vf-schema-dublin.yaml b/products/onap-dublin/features/sdc/src/main/resources/open-cli-schema/service-model/service-model-add-vf-schema-dublin.yaml
index 63454976..06b4c4fb 100644
--- a/products/onap-dublin/features/sdc/src/main/resources/open-cli-schema/service-model/service-model-add-vf-schema-dublin.yaml
+++ b/products/onap-dublin/features/sdc/src/main/resources/open-cli-schema/service-model/service-model-add-vf-schema-dublin.yaml
@@ -55,6 +55,10 @@ results:
description: Service ID
scope: short
type: string
+ - name: UUID
+ description: Service UUID
+ scope: short
+ type: string
http:
service:
name: sdc
@@ -69,3 +73,4 @@ http:
- 201
result_map:
ID: $b{$.uniqueId}
+ UUID: $b{$.componentUid} \ No newline at end of file
diff --git a/products/onap-dublin/features/sdc/src/main/resources/open-cli-schema/service-model/service-model-checkout-schema-dublin.yaml b/products/onap-dublin/features/sdc/src/main/resources/open-cli-schema/service-model/service-model-checkout-schema-dublin.yaml
index 9201e7fa..ec0ccc6d 100644
--- a/products/onap-dublin/features/sdc/src/main/resources/open-cli-schema/service-model/service-model-checkout-schema-dublin.yaml
+++ b/products/onap-dublin/features/sdc/src/main/resources/open-cli-schema/service-model/service-model-checkout-schema-dublin.yaml
@@ -30,6 +30,13 @@ parameters:
short_option: b
is_optional: true
+results:
+ direction: portrait
+ attributes:
+ - name: ID
+ description: NS checked out version unique ID
+ scope: short
+ type: string
http:
service:
name: sdc
@@ -42,3 +49,5 @@ http:
body: '{}'
success_codes:
- 200
+ result_map:
+ ID: $b{$.uniqueId} \ No newline at end of file
diff --git a/products/onap-dublin/features/sdc/src/main/resources/open-cli-schema/service-model/service-model-set-property.yaml b/products/onap-dublin/features/sdc/src/main/resources/open-cli-schema/service-model/service-model-set-property.yaml
new file mode 100644
index 00000000..a7ea76b7
--- /dev/null
+++ b/products/onap-dublin/features/sdc/src/main/resources/open-cli-schema/service-model/service-model-set-property.yaml
@@ -0,0 +1,67 @@
+# Copyright 2019 Huawei Technologies Co., Ltd.
+#
+# 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.
+
+open_cli_schema_version: 1.0
+name: service-model-set-property
+description: Set property to a service model
+
+info:
+ product: onap-dublin
+ service: sdc
+ author: ONAP HPA Team onap-discuss@lists.onap.org
+
+
+parameters:
+ - name: service-uniqueId
+ description: service UniqueId
+ type: string
+ long_option: service-uniqueId
+ short_option: x
+ is_optional: false
+ - name: resource-uuid
+ description: resource uuid
+ type: string
+ long_option: resource-uuid
+ short_option: y
+ is_optional: false
+ - name: resource-uniqueId
+ description: resource UniqueId
+ type: string
+ long_option: resource-uniqueId
+ short_option: z
+ is_optional: false
+ - name: property-name
+ description: property name
+ type: string
+ long_option: property-name
+ short_option: b
+ is_optional: false
+ - name: property-value
+ description: property value
+ type: string
+ long_option: property-value
+ short_option: r
+ is_optional: false
+http:
+ service:
+ name: sdc
+ version: v1.0
+ auth: basic
+ mode: direct
+ request:
+ uri: /sdc2/rest/v1/catalog/services/${service-uniqueId}/resourceInstance/${resource-uniqueId}/properties
+ method: POST
+ body: '[{"constraints":null,"defaultValue":null,"description":null,"name":"${property-name}","parentUniqueId":null,"password":false,"required":false,"schema":{"property":{}},"schemaType":null,"type":"string","uniqueId":"${resource-uuid}.${property-name}","value":"${property-value}","definition":false,"getInputValues":null,"parentPropertyType":null,"subPropertyInputPath":null,"toscaPresentation":{"ownerId":null},"getPolicyValues":null,"inputPath":null}]'
+ success_codes:
+ - 200
diff --git a/products/onap-dublin/features/sdc/src/main/resources/open-cli-schema/service-model/service2vf-model-list-schema-dublin.yaml b/products/onap-dublin/features/sdc/src/main/resources/open-cli-schema/service-model/service2vf-model-list-schema-dublin.yaml
index bd4c38c6..2241e05c 100644
--- a/products/onap-dublin/features/sdc/src/main/resources/open-cli-schema/service-model/service2vf-model-list-schema-dublin.yaml
+++ b/products/onap-dublin/features/sdc/src/main/resources/open-cli-schema/service-model/service2vf-model-list-schema-dublin.yaml
@@ -49,6 +49,10 @@ results:
description: version
type: string
scope: short
+ - name: vf-unique-uuid
+ description: customization UUID
+ type: string
+ scope: short
http:
service:
@@ -62,6 +66,7 @@ http:
success_codes:
- 200
result_map:
+ vf-unique-uuid: $b{componentInstances.[*].uniqueId}
vf-uuid: $b{componentInstances.[*].componentUid}
vf-name: $b{componentInstances.[*].componentName}
vf-version: $b{componentInstances.[*].componentVersion}
diff --git a/products/onap-dublin/features/sdc/src/main/resources/open-cli-schema/vf/vf-model-add-artifact-schema-dublin.yaml b/products/onap-dublin/features/sdc/src/main/resources/open-cli-schema/vf/vf-model-add-artifact-schema-dublin.yaml
new file mode 100644
index 00000000..1a6c6b7c
--- /dev/null
+++ b/products/onap-dublin/features/sdc/src/main/resources/open-cli-schema/vf/vf-model-add-artifact-schema-dublin.yaml
@@ -0,0 +1,72 @@
+# Copyright 2019 Huawei Technologies Co., Ltd.
+#
+# 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.
+
+open_cli_schema_version: 1.0
+name: vf-model-add-artifact
+description: Add a artifact to a Virtual function
+
+info:
+ product: onap-dublin
+ service: sdc
+ author: ONAP HPA Team onap-discuss@lists.onap.org
+
+
+parameters:
+ - name: vf-uniqueId
+ description: VF UniqueId
+ type: string
+ long_option: vf-uniqueId
+ short_option: x
+ is_optional: false
+ - name: remarks
+ description: certification remarks
+ type: string
+ long_option: remarks
+ short_option: y
+ default_value: Uploaded from ONAP CLI
+ is_optional: true
+ - name: artifact
+ description: VNF CSAR file
+ type: byte
+ long_option: artifact
+ short_option: z
+ is_optional: false
+ - name: artifact-name
+ description: VNF CSAR name
+ type: string
+ long_option: artifact-name
+ short_option: b
+ is_optional: false
+ - name: user-id
+ description: Designer user id
+ type: string
+ long_option: user-id
+ short_option: e
+ default_value: cs0008
+ is_optional: true
+http:
+ service:
+ name: sdc
+ version: v1.0
+ auth: basic
+ mode: direct
+ request:
+ uri: /sdc2/rest/v1/catalog/resources/${vf-uniqueId}/artifacts
+ method: POST
+ headers:
+ Content-MD5: $s{md5:__body__}
+ USER_ID: ${user-id}
+ body: '{"payloadData":"${artifact}","artifactDisplayName":"${artifact-name}","artifactType":"OTHER","description":"${remarks}","artifactName":"${artifact-name}", "artifactLabel":"${artifact-name}","artifactGroupType":"DEPLOYMENT", artifactChecksum="$s{md5:artifact}"}'
+ success_codes:
+ - 200
diff --git a/products/onap-dublin/features/sdc/src/main/resources/open-cli-schema/vf/vf-model-checkin-schema-dublin.yaml b/products/onap-dublin/features/sdc/src/main/resources/open-cli-schema/vf/vf-model-checkin-schema-dublin.yaml
new file mode 100644
index 00000000..9ec09f0a
--- /dev/null
+++ b/products/onap-dublin/features/sdc/src/main/resources/open-cli-schema/vf/vf-model-checkin-schema-dublin.yaml
@@ -0,0 +1,50 @@
+# Copyright © Intel Corporation 2019
+#
+# 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.
+
+open_cli_schema_version: 1.0
+name: vf-model-checkin
+description: Checkin VF model in SDC
+
+info:
+ product: onap-dublin
+ service: sdc
+ author: ONAP CLI Team onap-discuss@lists.onap.org
+
+parameters:
+ - name: vf-model-uuid
+ description: VF model UUID (can be found by running vf-model-list)
+ type: string
+ long_option: vf-model-uuid
+ short_option: b
+ is_optional: false
+ - name: remarks
+ description: checkin remarks
+ type: string
+ long_option: remarks
+ short_option: r
+ default_value: Checked in by ONAP CLI
+ is_optional: false
+
+http:
+ service:
+ name: sdc
+ version: v1.0
+ auth: basic
+ mode: direct
+ request:
+ uri: /sdc2/rest/v1/catalog/resources/${vf-model-uuid}/lifecycleState/CHECKIN
+ method: POST
+ body: '{"userRemarks": "${remarks}"}'
+ success_codes:
+ - 200
diff --git a/products/onap-dublin/features/sdc/src/main/resources/open-cli-schema/vf/vf-model-checkout-schema-dublin.yaml b/products/onap-dublin/features/sdc/src/main/resources/open-cli-schema/vf/vf-model-checkout-schema-dublin.yaml
new file mode 100644
index 00000000..511e29fd
--- /dev/null
+++ b/products/onap-dublin/features/sdc/src/main/resources/open-cli-schema/vf/vf-model-checkout-schema-dublin.yaml
@@ -0,0 +1,54 @@
+# Copyright © Intel Corporation 2019
+#
+# 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.
+
+open_cli_schema_version: 1.0
+name: vf-model-checkout
+description: Checkout VF model in SDC
+
+info:
+ product: onap-dublin
+ service: sdc
+ author: ONAP CLI Team onap-discuss@lists.onap.org
+
+
+parameters:
+ - name: vf-model-uuid
+ description: VF model UUID (can be found from vf-model-list)
+ type: string
+ long_option: vf-model-uuid
+ short_option: b
+ is_optional: false
+
+results:
+ direction: portrait
+ attributes:
+ - name: ID
+ description: VF checked out version unique ID
+ scope: short
+ type: string
+
+http:
+ service:
+ name: sdc
+ version: v1.0
+ auth: basic
+ mode: direct
+ request:
+ uri: /sdc2/rest/v1/catalog/resources/${vf-model-uuid}/lifecycleState/CHECKOUT
+ method: POST
+ body: '{}'
+ success_codes:
+ - 200
+ result_map:
+ ID: $b{$.uniqueId} \ No newline at end of file
diff --git a/products/onap-dublin/features/sdnc/pom.xml b/products/onap-dublin/features/sdnc/pom.xml
index 14d30bee..48fdfcd7 100644
--- a/products/onap-dublin/features/sdnc/pom.xml
+++ b/products/onap-dublin/features/sdnc/pom.xml
@@ -24,7 +24,7 @@
<parent>
<groupId>org.onap.cli</groupId>
<artifactId>cli-products-onap-dublin-features</artifactId>
- <version>3.0.0</version>
+ <version>4.0.0-SNAPSHOT</version>
</parent>
<artifactId>cli-products-onap-dublin-features-sdnc</artifactId>
diff --git a/products/onap-dublin/features/so/pom.xml b/products/onap-dublin/features/so/pom.xml
index d2774d60..00f99c77 100644
--- a/products/onap-dublin/features/so/pom.xml
+++ b/products/onap-dublin/features/so/pom.xml
@@ -24,7 +24,7 @@
<parent>
<groupId>org.onap.cli</groupId>
<artifactId>cli-products-onap-dublin-features</artifactId>
- <version>3.0.0</version>
+ <version>4.0.0-SNAPSHOT</version>
</parent>
<artifactId>cli-products-onap-dublin-features-so</artifactId>
diff --git a/products/onap-dublin/features/vfc/pom.xml b/products/onap-dublin/features/vfc/pom.xml
index f7cc3c3d..28fd7fb3 100644
--- a/products/onap-dublin/features/vfc/pom.xml
+++ b/products/onap-dublin/features/vfc/pom.xml
@@ -24,7 +24,7 @@
<parent>
<groupId>org.onap.cli</groupId>
<artifactId>cli-products-onap-dublin-features</artifactId>
- <version>3.0.0</version>
+ <version>4.0.0-SNAPSHOT</version>
</parent>
<artifactId>cli-products-onap-dublin-features-vfc</artifactId>
diff --git a/products/onap-dublin/features/vnfsdk/pom.xml b/products/onap-dublin/features/vnfsdk/pom.xml
index 0117c3f7..dd5ae244 100644
--- a/products/onap-dublin/features/vnfsdk/pom.xml
+++ b/products/onap-dublin/features/vnfsdk/pom.xml
@@ -24,7 +24,7 @@
<parent>
<groupId>org.onap.cli</groupId>
<artifactId>cli-products-onap-dublin-features</artifactId>
- <version>3.0.0</version>
+ <version>4.0.0-SNAPSHOT</version>
</parent>
<artifactId>cli-products-onap-dublin-features-vnfsdk</artifactId>