aboutsummaryrefslogtreecommitdiffstats
path: root/products/openecomp/features/aai
diff options
context:
space:
mode:
Diffstat (limited to 'products/openecomp/features/aai')
-rw-r--r--products/openecomp/features/aai/pom.xml41
-rw-r--r--products/openecomp/features/aai/src/main/resources/open-cli-schema/cloud-region/cloud-list-schema.yaml55
-rw-r--r--products/openecomp/features/aai/src/main/resources/open-cli-schema/customer/customer-create-schema.yaml36
-rw-r--r--products/openecomp/features/aai/src/main/resources/open-cli-schema/customer/customer-delete-schema.yaml33
-rw-r--r--products/openecomp/features/aai/src/main/resources/open-cli-schema/customer/customer-list-schema.yaml34
-rw-r--r--products/openecomp/features/aai/src/main/resources/open-cli-schema/customer/customer-show-schema.yaml53
-rw-r--r--products/openecomp/features/aai/src/main/resources/open-cli-schema/service-type/service-type-create-schema.yaml36
-rw-r--r--products/openecomp/features/aai/src/main/resources/open-cli-schema/service-type/service-type-delete-schema.yaml37
-rw-r--r--products/openecomp/features/aai/src/main/resources/open-cli-schema/service-type/service-type-list-schema.yaml40
-rw-r--r--products/openecomp/features/aai/src/main/resources/open-cli-schema/subscription/subscription-create-schema.yaml66
-rw-r--r--products/openecomp/features/aai/src/main/resources/open-cli-schema/subscription/subscription-list-schema.yaml43
-rw-r--r--products/openecomp/features/aai/src/test/resources/open-cli-sample/cloud-region/cloud-list-sample-1.0.yaml27
12 files changed, 501 insertions, 0 deletions
diff --git a/products/openecomp/features/aai/pom.xml b/products/openecomp/features/aai/pom.xml
new file mode 100644
index 00000000..ad113712
--- /dev/null
+++ b/products/openecomp/features/aai/pom.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2017 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-openecomp-features</artifactId>
+ <version>2.0.0</version>
+ </parent>
+
+ <artifactId>cli-products-openecomp-features-aai</artifactId>
+ <name>cli/products/openecomp/features/aai</name>
+ <packaging>jar</packaging>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-dependency-plugin</artifactId>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/products/openecomp/features/aai/src/main/resources/open-cli-schema/cloud-region/cloud-list-schema.yaml b/products/openecomp/features/aai/src/main/resources/open-cli-schema/cloud-region/cloud-list-schema.yaml
new file mode 100644
index 00000000..50cea668
--- /dev/null
+++ b/products/openecomp/features/aai/src/main/resources/open-cli-schema/cloud-region/cloud-list-schema.yaml
@@ -0,0 +1,55 @@
+open_cli_schema_version: 1.0
+name: cloud-list
+description: List the configured clouds and Onap service subscriptions
+
+info:
+ product: openecomp
+ service: aai
+ author: ONAP CLI Team onap-discuss@lists.onap.org
+
+
+results:
+ direction: landscape
+ attributes:
+ - name: cloud
+ description: Onap cloud
+ scope: short
+ type: string
+ - name: region
+ description: Onap cloud region
+ scope: short
+ type: string
+ - name: tenant
+ description: Onap cloud tenat
+ scope: short
+ type: string
+ - name: tenant-id
+ description: Onap cloud tenat id
+ scope: short
+ type: string
+ - name: customer
+ description: Onap cloud customer
+ scope: long
+ type: string
+ - name: service
+ description: Onap cloud service
+ scope: long
+ type: string
+http:
+ service:
+ auth: basic
+ mode: direct
+ request:
+ uri: /aai/v8/cloud-infrastructure/cloud-regions
+ method: GET
+ success_codes:
+ - 200
+ result_map:
+ cloud: $b{cloud-region.[*].cloud-owner}
+ region: $b{cloud-region.[*].cloud-region-id}
+ tenant: $b{cloud-region.[*].tenants.tenant.[*].tenant-name}
+ tenant-id: $b{cloud-region.[*].tenants.tenant.[*].tenant-id}
+ customer: $b{cloud-region.[*].tenants.tenant.[*].relationship-list.relationship.[*].relationship-data.[?(@.relationship-key == 'customer.global-customer-id')].relationship-value}
+ service: $b{cloud-region.[*].tenants.tenant.[*].relationship-list.relationship.[*].relationship-data.[?(@.relationship-key == 'service-subscription.service-type')].relationship-value}
+ sample_response:
+ body: '{"cloud-region":[{"cloud-owner":"Rackspace","cloud-region-id":"RegionOne","cloud-type":"SharedNode","owner-defined-type":"OwnerType","cloud-region-version":"v1","cloud-zone":"CloudZone","resource-version":"1500729864","tenants":{"tenant":[{"tenant-id":"e69e6d64b44347509c3fc512391f34a6","tenant-name":"onap","resource-version":"1500729865","relationship-list":{"relationship":[{"related-to":"service-subscription","related-link":"https://192.168.17.12:8443/aai/v8/business/customers/customer/Demonstration/service-subscriptions/service-subscription/vFW/","relationship-data":[{"relationship-key":"customer.global-customer-id","relationship-value":"Demonstration"},{"relationship-key":"service-subscription.service-type","relationship-value":"vFW"}]},{"related-to":"service-subscription","related-link":"https://192.168.17.12:8443/aai/v8/business/customers/customer/Demonstration123/service-subscriptions/service-subscription/vFW/","relationship-data":[{"relationship-key":"customer.global-customer-id","relationship-value":"Demonstration123"},{"relationship-key":"service-subscription.service-type","relationship-value":"vFW"}]},{"related-to":"service-subscription","related-link":"https://192.168.17.12:8443/aai/v8/business/customers/customer/u1/service-subscriptions/service-subscription/vFW/","relationship-data":[{"relationship-key":"customer.global-customer-id","relationship-value":"u1"},{"relationship-key":"service-subscription.service-type","relationship-value":"vFW"}]},{"related-to":"service-subscription","related-link":"https://192.168.17.12:8443/aai/v8/business/customers/customer/u2/service-subscriptions/service-subscription/vFW/","relationship-data":[{"relationship-key":"customer.global-customer-id","relationship-value":"u2"},{"relationship-key":"service-subscription.service-type","relationship-value":"vFW"}]},{"related-to":"service-subscription","related-link":"https://192.168.17.12:8443/aai/v8/business/customers/customer/DemoCust_7151e36a-1a57-4993-b513-54134f2b8f19/service-subscriptions/service-subscription/vFW/","relationship-data":[{"relationship-key":"customer.global-customer-id","relationship-value":"DemoCust_7151e36a-1a57-4993-b513-54134f2b8f19"},{"relationship-key":"service-subscription.service-type","relationship-value":"vFW"}]},{"related-to":"service-subscription","related-link":"https://192.168.17.12:8443/aai/v8/business/customers/customer/Demonstration/service-subscriptions/service-subscription/vLB/","relationship-data":[{"relationship-key":"customer.global-customer-id","relationship-value":"Demonstration"},{"relationship-key":"service-subscription.service-type","relationship-value":"vLB"}]},{"related-to":"service-subscription","related-link":"https://192.168.17.12:8443/aai/v8/business/customers/customer/Linan/service-subscriptions/service-subscription/vFW/","relationship-data":[{"relationship-key":"customer.global-customer-id","relationship-value":"Linan"},{"relationship-key":"service-subscription.service-type","relationship-value":"vFW"}]},{"related-to":"service-subscription","related-link":"https://192.168.17.12:8443/aai/v8/business/customers/customer/Linan/service-subscriptions/service-subscription/vLB/","relationship-data":[{"relationship-key":"customer.global-customer-id","relationship-value":"Linan"},{"relationship-key":"service-subscription.service-type","relationship-value":"vLB"}]}]}}]}}]}'
diff --git a/products/openecomp/features/aai/src/main/resources/open-cli-schema/customer/customer-create-schema.yaml b/products/openecomp/features/aai/src/main/resources/open-cli-schema/customer/customer-create-schema.yaml
new file mode 100644
index 00000000..8ca23903
--- /dev/null
+++ b/products/openecomp/features/aai/src/main/resources/open-cli-schema/customer/customer-create-schema.yaml
@@ -0,0 +1,36 @@
+open_cli_schema_version: 1.0
+name: customer-create
+description: Create a customer in Onap
+
+info:
+ product: openecomp
+ service: aai
+ author: ONAP CLI Team onap-discuss@lists.onap.org
+
+
+parameters:
+ - name: customer-name
+ description: Onap customer name
+ type: string
+ short_option: x
+ long_option: customer-name
+ is_optional: false
+ - name: subscriber-name
+ description: Onap subscriber name
+ type: string
+ short_option: y
+ long_option: subscriber-name
+ is_optional: false
+
+http:
+ service:
+ auth: basic
+ mode: direct
+ request:
+ uri: /aai/v8/business/customers/customer/${customer-name}
+ method: PUT
+ body: '{"global-customer-id": "${customer-name}", "subscriber-name": "${subscriber-name}", "subscriber-type": "INFRA"}'
+ success_codes:
+ - 201
+ sample_response:
+ body: ''
diff --git a/products/openecomp/features/aai/src/main/resources/open-cli-schema/customer/customer-delete-schema.yaml b/products/openecomp/features/aai/src/main/resources/open-cli-schema/customer/customer-delete-schema.yaml
new file mode 100644
index 00000000..01fecefb
--- /dev/null
+++ b/products/openecomp/features/aai/src/main/resources/open-cli-schema/customer/customer-delete-schema.yaml
@@ -0,0 +1,33 @@
+open_cli_schema_version: 1.0
+name: customer-delete
+description: Delete a customer from Onap
+
+info:
+ product: openecomp
+ service: aai
+ author: ONAP CLI Team onap-discuss@lists.onap.org
+
+
+parameters:
+ - name: customer-name
+ description: Onap customer name
+ type: string
+ short_option: x
+ long_option: customer-name
+ is_optional: false
+ - name: resource-version
+ description: Onap customer resource version
+ type: uuid
+ short_option: y
+ long_option: resource-version
+ is_optional: true
+http:
+ service:
+ auth: basic
+ mode: direct
+ request:
+ uri: /aai/v8/business/customers/customer/${customer-name}?resource-version=${resource-version}
+ method: DELETE
+ success_codes:
+ - 204
+ - 404
diff --git a/products/openecomp/features/aai/src/main/resources/open-cli-schema/customer/customer-list-schema.yaml b/products/openecomp/features/aai/src/main/resources/open-cli-schema/customer/customer-list-schema.yaml
new file mode 100644
index 00000000..043e5bc7
--- /dev/null
+++ b/products/openecomp/features/aai/src/main/resources/open-cli-schema/customer/customer-list-schema.yaml
@@ -0,0 +1,34 @@
+open_cli_schema_version: 1.0
+name: customer-list
+description: Lists the registetred customers in Onap
+
+info:
+ product: openecomp
+ service: aai
+ author: ONAP CLI Team onap-discuss@lists.onap.org
+
+results:
+ direction: landscape
+ attributes:
+ - name: name
+ description: Onap customer name
+ scope: short
+ type: string
+ - name: resource-version
+ description: Onap customer resource version
+ scope: short
+ type: string
+http:
+ service:
+ auth: basic
+ mode: direct
+ request:
+ uri: /aai/v8/business/customers
+ method: GET
+ success_codes:
+ - 200
+ result_map:
+ name: $b{customer.[*].global-customer-id}
+ resource-version: $b{customer.[*].resource-version}
+ sample_response:
+ body: '{"customer":[{"global-customer-id":"Demonstration","subscriber-name":"Demonstration","subscriber-type":"INFRA","resource-version":"1500729865","service-subscriptions":{"service-subscription":[{"service-type":"vFW","resource-version":"1500729865","relationship-list":{"relationship":[{"related-to":"tenant","related-link":"https://192.168.17.12:8443/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/Rackspace/RegionOne/tenants/tenant/e69e6d64b44347509c3fc512391f34a6/","relationship-data":[{"relationship-key":"cloud-region.cloud-owner","relationship-value":"Rackspace"},{"relationship-key":"cloud-region.cloud-region-id","relationship-value":"RegionOne"},{"relationship-key":"tenant.tenant-id","relationship-value":"e69e6d64b44347509c3fc512391f34a6"}],"related-to-property":[{"property-key":"tenant.tenant-name","property-value":"onap"}]}]}},{"service-type":"vLB","resource-version":"1500729865","service-instances":{"service-instance":[{"service-instance-id":"d6167ea1-ff83-4236-9b32-37494dfb7537","service-instance-name":"demoVLB-1","persona-model-id":"af01a849-721b-407d-a880-be836e26ee81","persona-model-version":"1.0","resource-version":"1501154574","relationship-list":{"relationship":[{"related-to":"generic-vnf","related-link":"https://192.168.17.12:8443/aai/v8/network/generic-vnfs/generic-vnf/16c6d95d-44e3-4527-aa63-a495bf8e776e/","relationship-data":[{"relationship-key":"generic-vnf.vnf-id","relationship-value":"16c6d95d-44e3-4527-aa63-a495bf8e776e"}],"related-to-property":[{"property-key":"generic-vnf.vnf-name","property-value":"demoVLB-1-VNF-1"}]}]}}]},"relationship-list":{"relationship":[{"related-to":"tenant","related-link":"https://192.168.17.12:8443/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/Rackspace/RegionOne/tenants/tenant/e69e6d64b44347509c3fc512391f34a6/","relationship-data":[{"relationship-key":"cloud-region.cloud-owner","relationship-value":"Rackspace"},{"relationship-key":"cloud-region.cloud-region-id","relationship-value":"RegionOne"},{"relationship-key":"tenant.tenant-id","relationship-value":"e69e6d64b44347509c3fc512391f34a6"}],"related-to-property":[{"property-key":"tenant.tenant-name","property-value":"onap"}]}]}}]}},{"global-customer-id":"Linan","subscriber-name":"Linan","subscriber-type":"INFRA","resource-version":"1501768482","service-subscriptions":{"service-subscription":[{"service-type":"vFW","resource-version":"1501768482","relationship-list":{"relationship":[{"related-to":"tenant","related-link":"https://192.168.17.12:8443/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/Rackspace/RegionOne/tenants/tenant/e69e6d64b44347509c3fc512391f34a6/","relationship-data":[{"relationship-key":"cloud-region.cloud-owner","relationship-value":"Rackspace"},{"relationship-key":"cloud-region.cloud-region-id","relationship-value":"RegionOne"},{"relationship-key":"tenant.tenant-id","relationship-value":"e69e6d64b44347509c3fc512391f34a6"}],"related-to-property":[{"property-key":"tenant.tenant-name","property-value":"onap"}]}]}},{"service-type":"vLB","resource-version":"1501768482","relationship-list":{"relationship":[{"related-to":"tenant","related-link":"https://192.168.17.12:8443/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/Rackspace/RegionOne/tenants/tenant/e69e6d64b44347509c3fc512391f34a6/","relationship-data":[{"relationship-key":"cloud-region.cloud-owner","relationship-value":"Rackspace"},{"relationship-key":"cloud-region.cloud-region-id","relationship-value":"RegionOne"},{"relationship-key":"tenant.tenant-id","relationship-value":"e69e6d64b44347509c3fc512391f34a6"}],"related-to-property":[{"property-key":"tenant.tenant-name","property-value":"onap"}]}]}}]}},{"global-customer-id":"DemoCust_7151e36a-1a57-4993-b513-54134f2b8f19","subscriber-name":"DemoCust_7151e36a-1a57-4993-b513-54134f2b8f19","subscriber-type":"INFRA","resource-version":"1501766760","service-subscriptions":{"service-subscription":[{"service-type":"vFW","resource-version":"1501766760","relationship-list":{"relationship":[{"related-to":"tenant","related-link":"https://192.168.17.12:8443/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/Rackspace/RegionOne/tenants/tenant/e69e6d64b44347509c3fc512391f34a6/","relationship-data":[{"relationship-key":"cloud-region.cloud-owner","relationship-value":"Rackspace"},{"relationship-key":"cloud-region.cloud-region-id","relationship-value":"RegionOne"},{"relationship-key":"tenant.tenant-id","relationship-value":"e69e6d64b44347509c3fc512391f34a6"}],"related-to-property":[{"property-key":"tenant.tenant-name","property-value":"onap"}]}]}}]}}]}' \ No newline at end of file
diff --git a/products/openecomp/features/aai/src/main/resources/open-cli-schema/customer/customer-show-schema.yaml b/products/openecomp/features/aai/src/main/resources/open-cli-schema/customer/customer-show-schema.yaml
new file mode 100644
index 00000000..357efefa
--- /dev/null
+++ b/products/openecomp/features/aai/src/main/resources/open-cli-schema/customer/customer-show-schema.yaml
@@ -0,0 +1,53 @@
+open_cli_schema_version: 1.0
+name: customer-show
+description: Lists the registetred customers in Onap
+
+info:
+ product: openecomp
+ service: aai
+ author: ONAP CLI Team onap-discuss@lists.onap.org
+
+
+parameters:
+ - name: customer-name
+ description: Onap customer name
+ type: string
+ short_option: x
+ long_option: customer-name
+ is_optional: false
+
+results:
+ direction: landscape
+ attributes:
+ - name: name
+ description: Onap customer name
+ scope: short
+ type: string
+ - name: subscriber-name
+ description: Onap subscriber name
+ scope: short
+ type: string
+ - name: resource-version
+ description: Onap subscriber resource version
+ scope: long
+ type: string
+ - name: subscriber-type
+ description: Onap subscriber type
+ scope: long
+ type: string
+http:
+ service:
+ auth: basic
+ mode: direct
+ request:
+ uri: /aai/v8/business/customers/customer/${customer-name}
+ method: GET
+ success_codes:
+ - 200
+ result_map:
+ name: $b{$.global-customer-id}
+ subscriber-name: $b{$.subscriber-name}
+ subscriber-type: $b{$.subscriber-type}
+ resource-version: $b{$.resource-version}
+ sample_response:
+ body: '{"global-customer-id":"Linan","subscriber-name":"Linan","subscriber-type":"INFRA","resource-version":"1501768482","service-subscriptions":{"service-subscription":[{"service-type":"vFW","resource-version":"1501768482","relationship-list":{"relationship":[{"related-to":"tenant","related-link":"https://192.168.17.12:8443/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/Rackspace/RegionOne/tenants/tenant/e69e6d64b44347509c3fc512391f34a6/","relationship-data":[{"relationship-key":"cloud-region.cloud-owner","relationship-value":"Rackspace"},{"relationship-key":"cloud-region.cloud-region-id","relationship-value":"RegionOne"},{"relationship-key":"tenant.tenant-id","relationship-value":"e69e6d64b44347509c3fc512391f34a6"}],"related-to-property":[{"property-key":"tenant.tenant-name","property-value":"onap"}]}]}},{"service-type":"vLB","resource-version":"1501768482","relationship-list":{"relationship":[{"related-to":"tenant","related-link":"https://192.168.17.12:8443/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/Rackspace/RegionOne/tenants/tenant/e69e6d64b44347509c3fc512391f34a6/","relationship-data":[{"relationship-key":"cloud-region.cloud-owner","relationship-value":"Rackspace"},{"relationship-key":"cloud-region.cloud-region-id","relationship-value":"RegionOne"},{"relationship-key":"tenant.tenant-id","relationship-value":"e69e6d64b44347509c3fc512391f34a6"}],"related-to-property":[{"property-key":"tenant.tenant-name","property-value":"onap"}]}]}}]}}'
diff --git a/products/openecomp/features/aai/src/main/resources/open-cli-schema/service-type/service-type-create-schema.yaml b/products/openecomp/features/aai/src/main/resources/open-cli-schema/service-type/service-type-create-schema.yaml
new file mode 100644
index 00000000..e59e910f
--- /dev/null
+++ b/products/openecomp/features/aai/src/main/resources/open-cli-schema/service-type/service-type-create-schema.yaml
@@ -0,0 +1,36 @@
+open_cli_schema_version: 1.0
+name: service-type-create
+description: Add a service type in Onap
+
+info:
+ product: openecomp
+ service: aai
+ author: ONAP CLI Team onap-discuss@lists.onap.org
+
+
+parameters:
+ - name: service-type
+ description: Onap service type
+ type: string
+ short_option: x
+ long_option: service-type
+ is_optional: false
+ - name: service-type-id
+ description: Onap service type uuid
+ type: uuid
+ short_option: y
+ long_option: service-type-id
+ is_optional: true
+
+http:
+ service:
+ auth: basic
+ mode: direct
+ request:
+ uri: /aai/v8/service-design-and-creation/services/service/${service-type-id}
+ method: PUT
+ body: '{"service-description": "${service-type}", "service-id": "${service-type-id}"}'
+ success_codes:
+ - 201
+ sample_response:
+ body: ''
diff --git a/products/openecomp/features/aai/src/main/resources/open-cli-schema/service-type/service-type-delete-schema.yaml b/products/openecomp/features/aai/src/main/resources/open-cli-schema/service-type/service-type-delete-schema.yaml
new file mode 100644
index 00000000..4c615b40
--- /dev/null
+++ b/products/openecomp/features/aai/src/main/resources/open-cli-schema/service-type/service-type-delete-schema.yaml
@@ -0,0 +1,37 @@
+open_cli_schema_version: 1.0
+name: service-type-delete
+description: Delete a service type from Onap
+
+info:
+ product: openecomp
+ service: aai
+ author: ONAP CLI Team onap-discuss@lists.onap.org
+
+
+parameters:
+ - name: service-type-id
+ description: Onap service type uuid
+ type: uuid
+ short_option: x
+ long_option: service-type-id
+ is_optional: true
+ - name: resource-version
+ description: Onap service resource version
+ type: uuid
+ short_option: y
+ long_option: resource-version
+ is_optional: true
+http:
+ service:
+ auth: basic
+ mode: direct
+ request:
+ uri: /aai/v8/service-design-and-creation/services/service/${service-type-id}?resource-version=${resource-version}
+ queries:
+ resource-version: ${resource-version}
+ method: DELETE
+ success_codes:
+ - 204
+ - 404
+ sample_response:
+ body: ''
diff --git a/products/openecomp/features/aai/src/main/resources/open-cli-schema/service-type/service-type-list-schema.yaml b/products/openecomp/features/aai/src/main/resources/open-cli-schema/service-type/service-type-list-schema.yaml
new file mode 100644
index 00000000..746b58f8
--- /dev/null
+++ b/products/openecomp/features/aai/src/main/resources/open-cli-schema/service-type/service-type-list-schema.yaml
@@ -0,0 +1,40 @@
+open_cli_schema_version: 1.0
+name: service-type-list
+description: List the service types configured in Onap
+
+info:
+ product: openecomp
+ service: aai
+ author: ONAP CLI Team onap-discuss@lists.onap.org
+
+
+results:
+ direction: landscape
+ attributes:
+ - name: service-type-id
+ description: Onap cloud service
+ scope: short
+ type: string
+ - name: service-type
+ description: Onap cloud service
+ scope: short
+ type: string
+ - name: resource-version
+ description: Onap cloud service resource version
+ scope: short
+ type: string
+http:
+ service:
+ auth: basic
+ mode: direct
+ request:
+ uri: /aai/v8/service-design-and-creation/services
+ method: GET
+ success_codes:
+ - 200
+ result_map:
+ service-type: $b{service.[*].service-description}
+ service-type-id: $b{service.[*].service-id}
+ resource-version: $b{service.[*].resource-version}
+ sample_response:
+ body: '{"service":[{"service-id":"db3403eb-5c94-4295-bb00-a9dba8964ab3","service-description":"vFW","resource-version":"1500729865"},{"service-id":"33737156-ff09-4b3d-884a-fe9a372afa4e","service-description":"vLB","resource-version":"1500729866"}]}'
diff --git a/products/openecomp/features/aai/src/main/resources/open-cli-schema/subscription/subscription-create-schema.yaml b/products/openecomp/features/aai/src/main/resources/open-cli-schema/subscription/subscription-create-schema.yaml
new file mode 100644
index 00000000..2fd3ca98
--- /dev/null
+++ b/products/openecomp/features/aai/src/main/resources/open-cli-schema/subscription/subscription-create-schema.yaml
@@ -0,0 +1,66 @@
+open_cli_schema_version: 1.0
+name: subscription-create
+description: Create a subscription for a customer in Onap
+
+info:
+ product: openecomp
+ service: aai
+ author: ONAP CLI Team onap-discuss@lists.onap.org
+
+
+parameters:
+ - name: customer-name
+ description: Onap customer name
+ type: string
+ short_option: x
+ long_option: customer-name
+ is_optional: false
+ - name: subscriber-name
+ description: Onap subscriber name
+ type: string
+ short_option: y
+ long_option: subscriber-name
+ is_optional: false
+ - name: cloud-type
+ description: Onap cloud type (openstack, rackspace)
+ type: string
+ short_option: z
+ long_option: cloud-type
+ is_optional: false
+ - name: cloud-region
+ description: Onap cloud region
+ type: string
+ short_option: r
+ long_option: cloud-region
+ is_optional: false
+ - name: cloud-tenant-id
+ description: Onap cloud tenant id
+ type: string
+ short_option: c
+ long_option: cloud-tenant-id
+ is_optional: false
+ - name: service-type
+ description: Onap service type
+ type: string
+ short_option: e
+ long_option: service-type
+ is_optional: false
+ - name: resource-version
+ description: Onap subscription resource version. It is mandatory for existing customer to create a new subscription
+ type: string
+ short_option: g
+ long_option: resource-version
+ is_optional: true
+http:
+ service:
+ auth: basic
+ mode: direct
+ request:
+ uri: /aai/v8/business/customers/customer/${customer-name}
+ method: PUT
+ body: '{"global-customer-id": "${customer-name}", "subscriber-name": "${subscriber-name}", "subscriber-type": "INFRA", "resource-version":"${resource-version}", "service-subscriptions":{"service-subscription":[{"relationship-list":{"relationship":[{"related-to":"tenant","relationship-data":[{"relationship-key":"cloud-region.cloud-owner","relationship-value":"${cloud-type}"},{"relationship-key":"cloud-region.cloud-region-id","relationship-value":"${cloud-region}"},{"relationship-key":"tenant.tenant-id","relationship-value":"${cloud-tenant-id}"}]}]},"service-type":"${service-type}"}]}}}'
+ success_codes:
+ - 200
+ - 201
+ sample_response:
+ body: ''
diff --git a/products/openecomp/features/aai/src/main/resources/open-cli-schema/subscription/subscription-list-schema.yaml b/products/openecomp/features/aai/src/main/resources/open-cli-schema/subscription/subscription-list-schema.yaml
new file mode 100644
index 00000000..4893194d
--- /dev/null
+++ b/products/openecomp/features/aai/src/main/resources/open-cli-schema/subscription/subscription-list-schema.yaml
@@ -0,0 +1,43 @@
+open_cli_schema_version: 1.0
+name: subscription-list
+description: Lists the subscription for a given customer in Onap
+
+info:
+ product: openecomp
+ service: aai
+ author: ONAP CLI Team onap-discuss@lists.onap.org
+
+
+parameters:
+ - name: customer-name
+ description: Onap customer name
+ type: string
+ short_option: x
+ long_option: customer-name
+ is_optional: false
+
+results:
+ direction: landscape
+ attributes:
+ - name: service-type
+ description: Onap service type
+ scope: short
+ type: string
+
+http:
+ service:
+ auth: basic
+ mode: direct
+ request:
+ uri: /aai/v8/business/customers/customer/${customer-name}
+ method: GET
+ success_codes:
+ - 200
+ result_map:
+ service-type: $b{$.service-subscriptions.service-subscription.[*].service-type}
+ sample_response:
+ body: '{"global-customer-id":"Linan","subscriber-name":"Linan","subscriber-type":"INFRA","resource-version":"1501768482","service-subscriptions":{"service-subscription":[{"service-type":"vFW","resource-version":"1501768482","relationship-list":{"relationship":[{"related-to":"tenant","related-link":"https://192.168.17.12:8443/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/Rackspace/RegionOne/tenants/tenant/e69e6d64b44347509c3fc512391f34a6/","relationship-data":[{"relationship-key":"cloud-region.cloud-owner","relationship-value":"Rackspace"},{"relationship-key":"cloud-region.cloud-region-id","relationship-value":"RegionOne"},{"relationship-key":"tenant.tenant-id","relationship-value":"e69e6d64b44347509c3fc512391f34a6"}],"related-to-property":[{"property-key":"tenant.tenant-name","property-value":"onap"}]}]}},{"service-type":"vLB","resource-version":"1501768482","relationship-list":{"relationship":[{"related-to":"tenant","related-link":"https://192.168.17.12:8443/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/Rackspace/RegionOne/tenants/tenant/e69e6d64b44347509c3fc512391f34a6/","relationship-data":[{"relationship-key":"cloud-region.cloud-owner","relationship-value":"Rackspace"},{"relationship-key":"cloud-region.cloud-region-id","relationship-value":"RegionOne"},{"relationship-key":"tenant.tenant-id","relationship-value":"e69e6d64b44347509c3fc512391f34a6"}],"related-to-property":[{"property-key":"tenant.tenant-name","property-value":"onap"}]}]}}]}}'
+
+
+
+
diff --git a/products/openecomp/features/aai/src/test/resources/open-cli-sample/cloud-region/cloud-list-sample-1.0.yaml b/products/openecomp/features/aai/src/test/resources/open-cli-sample/cloud-region/cloud-list-sample-1.0.yaml
new file mode 100644
index 00000000..f57b3018
--- /dev/null
+++ b/products/openecomp/features/aai/src/test/resources/open-cli-sample/cloud-region/cloud-list-sample-1.0.yaml
@@ -0,0 +1,27 @@
+open_cli_sample_version: 1.0
+
+name: cloud-list
+version: openecomp
+samples:
+ sample1:
+ name: List the configured clouds in onap
+ input: -h https://locahost:8443 -u AAI -p AAI
+ output: |
+ +------------+------------+--------+----------------------------------+------------------------------------------------+----------+
+ |cloud |region |tenant |tenant-id |customer |service |
+ +------------+------------+--------+----------------------------------+------------------------------------------------+----------+
+ |Rackspace |RegionOne |onap |e69e6d64b44347509c3fc512391f34a6 |Demonstration |vFW |
+ +------------+------------+--------+----------------------------------+------------------------------------------------+----------+
+ | | | | |Demonstration123 |vFW |
+ +------------+------------+--------+----------------------------------+------------------------------------------------+----------+
+ | | | | |u2 |vFW |
+ +------------+------------+--------+----------------------------------+------------------------------------------------+----------+
+ | | | | |DemoCust_7151e36a-1a57-4993-b513-54134f2b8f19 |vFW |
+ +------------+------------+--------+----------------------------------+------------------------------------------------+----------+
+ | | | | |Demonstration |vLB |
+ +------------+------------+--------+----------------------------------+------------------------------------------------+----------+
+ | | | | |Linan |vFW |
+ +------------+------------+--------+----------------------------------+------------------------------------------------+----------+
+ | | | | |Linan |vLB |
+ +------------+------------+--------+----------------------------------+------------------------------------------------+----------+
+