From a2b0adac6b2d29011e543e460a3286ed51a49aa4 Mon Sep 17 00:00:00 2001 From: Kanagaraj Manickam k00365106 Date: Thu, 17 Aug 2017 12:17:58 +0530 Subject: Add customer & subscription management commands CLI-13 Change-Id: Ia21006ca1dae3a451782c7c2e4df535e05ecaca6 Signed-off-by: Kanagaraj Manickam k00365106 --- .../customer/customer-create-schema.yaml | 32 +++++++++++ .../customer/customer-list-schema.yaml | 25 +++++++++ .../customer/customer-show-schema.yaml | 49 +++++++++++++++++ .../subscription/subscription-create-schema.yaml | 62 ++++++++++++++++++++++ .../subscription/subscription-list-schema.yaml | 39 ++++++++++++++ 5 files changed, 207 insertions(+) create mode 100644 plugins/aai/src/main/resources/onap-cli-schema/customer/customer-create-schema.yaml create mode 100644 plugins/aai/src/main/resources/onap-cli-schema/customer/customer-list-schema.yaml create mode 100644 plugins/aai/src/main/resources/onap-cli-schema/customer/customer-show-schema.yaml create mode 100644 plugins/aai/src/main/resources/onap-cli-schema/subscription/subscription-create-schema.yaml create mode 100644 plugins/aai/src/main/resources/onap-cli-schema/subscription/subscription-list-schema.yaml (limited to 'plugins/aai/src') diff --git a/plugins/aai/src/main/resources/onap-cli-schema/customer/customer-create-schema.yaml b/plugins/aai/src/main/resources/onap-cli-schema/customer/customer-create-schema.yaml new file mode 100644 index 00000000..58c1a094 --- /dev/null +++ b/plugins/aai/src/main/resources/onap-cli-schema/customer/customer-create-schema.yaml @@ -0,0 +1,32 @@ +onap_cmd_schema_version: 1.0 +name: customer-create +description: Create a customer in Onap +service: + name: aai + version: v8 + auth: basic + mode: direct + +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: + 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/plugins/aai/src/main/resources/onap-cli-schema/customer/customer-list-schema.yaml b/plugins/aai/src/main/resources/onap-cli-schema/customer/customer-list-schema.yaml new file mode 100644 index 00000000..3d81166a --- /dev/null +++ b/plugins/aai/src/main/resources/onap-cli-schema/customer/customer-list-schema.yaml @@ -0,0 +1,25 @@ +onap_cmd_schema_version: 1.0 +name: customer-list +description: Lists the registetred customers in Onap +service: + name: aai + version: v8 + auth: basic + mode: direct +results: + direction: landscape + attributes: + - name: name + description: Onap customer name + scope: short + type: string +http: + request: + uri: /aai/v8/business/customers + method: GET + success_codes: + - 200 + result_map: + name: $b{customer.[*].global-customer-id} + 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/plugins/aai/src/main/resources/onap-cli-schema/customer/customer-show-schema.yaml b/plugins/aai/src/main/resources/onap-cli-schema/customer/customer-show-schema.yaml new file mode 100644 index 00000000..7923779a --- /dev/null +++ b/plugins/aai/src/main/resources/onap-cli-schema/customer/customer-show-schema.yaml @@ -0,0 +1,49 @@ +onap_cmd_schema_version: 1.0 +name: customer-show +description: Lists the registetred customers in Onap +service: + name: aai + version: v8 + auth: basic + mode: direct + +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: + 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/plugins/aai/src/main/resources/onap-cli-schema/subscription/subscription-create-schema.yaml b/plugins/aai/src/main/resources/onap-cli-schema/subscription/subscription-create-schema.yaml new file mode 100644 index 00000000..58b5fc53 --- /dev/null +++ b/plugins/aai/src/main/resources/onap-cli-schema/subscription/subscription-create-schema.yaml @@ -0,0 +1,62 @@ +onap_cmd_schema_version: 1.0 +name: subscription-create +description: Create a subscription for a customer in Onap +service: + name: aai + version: v8 + auth: basic + mode: direct + +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: + 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/plugins/aai/src/main/resources/onap-cli-schema/subscription/subscription-list-schema.yaml b/plugins/aai/src/main/resources/onap-cli-schema/subscription/subscription-list-schema.yaml new file mode 100644 index 00000000..e3131eb0 --- /dev/null +++ b/plugins/aai/src/main/resources/onap-cli-schema/subscription/subscription-list-schema.yaml @@ -0,0 +1,39 @@ +onap_cmd_schema_version: 1.0 +name: subscription-list +description: Lists the subscription for a given customer in Onap +service: + name: aai + version: v8 + auth: basic + mode: direct + +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: + 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"}]}]}}]}}' + + + + -- cgit 1.2.3-korg