Add cloud and service commands 15/7815/1
authorKanagaraj Manickam k00365106 <kanagaraj.manickam@huawei.com>
Thu, 17 Aug 2017 10:59:04 +0000 (16:29 +0530)
committerKanagaraj Manickam k00365106 <kanagaraj.manickam@huawei.com>
Thu, 17 Aug 2017 10:59:40 +0000 (16:29 +0530)
CLI-13
Change-Id: Ic9f3c5182580a6241c8f97d675b2819f025a01db
Signed-off-by: Kanagaraj Manickam k00365106 <kanagaraj.manickam@huawei.com>
main/src/test/java/org/onap/cli/main/OnapCliMainTest.java
plugins/aai/src/main/resources/onap-cli-schema/cloud-region/cloud-list-schema.yaml [new file with mode: 0644]
plugins/aai/src/main/resources/onap-cli-schema/service-type/service-type-create-schema.yaml [new file with mode: 0644]
plugins/aai/src/main/resources/onap-cli-schema/service-type/service-type-list-schema.yaml [new file with mode: 0644]

index 3f4b04a..7827885 100644 (file)
@@ -93,6 +93,12 @@ public class OnapCliMainTest {
         this.handle(new String[] { "customer-list", "-u", "AAI", "-p", "AAI", "-m", "https://192.168.17.12:8443" });
     }
 
+    @Ignore
+    @Test
+    public void testAAICloudList() {
+        this.handle(new String[] { "cloud-list", "-u", "AAI", "-p", "AAI", "-m", "https://192.168.17.12:8443" });
+    }
+
     @Test
     public void testHelpSampleCreateCommand() throws OnapCommandException {
         ClassLoader cl = ClassLoader.getSystemClassLoader();
diff --git a/plugins/aai/src/main/resources/onap-cli-schema/cloud-region/cloud-list-schema.yaml b/plugins/aai/src/main/resources/onap-cli-schema/cloud-region/cloud-list-schema.yaml
new file mode 100644 (file)
index 0000000..cb04aac
--- /dev/null
@@ -0,0 +1,51 @@
+onap_cmd_schema_version: 1.0
+name: cloud-list
+description: List the configured clouds and Onap service subscriptions
+service:
+  name: aai
+  version: v8
+  auth: basic
+  mode: direct
+
+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:
+  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/plugins/aai/src/main/resources/onap-cli-schema/service-type/service-type-create-schema.yaml b/plugins/aai/src/main/resources/onap-cli-schema/service-type/service-type-create-schema.yaml
new file mode 100644 (file)
index 0000000..ad11c35
--- /dev/null
@@ -0,0 +1,32 @@
+onap_cmd_schema_version: 1.0
+name: service-type-create
+description: Add a service type in Onap
+service:
+  name: aai
+  version: v8
+  auth: basic
+  mode: direct
+
+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:
+  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/plugins/aai/src/main/resources/onap-cli-schema/service-type/service-type-list-schema.yaml b/plugins/aai/src/main/resources/onap-cli-schema/service-type/service-type-list-schema.yaml
new file mode 100644 (file)
index 0000000..fbf3429
--- /dev/null
@@ -0,0 +1,31 @@
+onap_cmd_schema_version: 1.0
+name: service-type-list
+description: List the service types configured in Onap
+service:
+  name: aai
+  version: v8
+  auth: basic
+  mode: direct
+
+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
+http:
+  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}
+  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"}]}'