diff options
Diffstat (limited to 'plugins/openecomp')
41 files changed, 1453 insertions, 0 deletions
diff --git a/plugins/openecomp/auth/pom.xml b/plugins/openecomp/auth/pom.xml new file mode 100644 index 00000000..8b69d782 --- /dev/null +++ b/plugins/openecomp/auth/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-plugins-openecomp</artifactId> + <version>2.0.0</version> + </parent> + + <artifactId>cli-plugins-openecomp-auth</artifactId> + <name>cli/plugins/openecomp/auth</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/plugins/openecomp/auth/src/main/java/org/onap/cli/cmd/auth/OnapBasicAuthLoginCommand.java b/plugins/openecomp/auth/src/main/java/org/onap/cli/cmd/auth/OnapBasicAuthLoginCommand.java new file mode 100644 index 00000000..e0fa3abf --- /dev/null +++ b/plugins/openecomp/auth/src/main/java/org/onap/cli/cmd/auth/OnapBasicAuthLoginCommand.java @@ -0,0 +1,30 @@ +/* + * 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. + */ + +package org.onap.cli.cmd.auth; + +import org.onap.cli.fw.OnapCommandSchema; +import org.onap.cli.fw.cmd.BasicAuthLoginCommand; +import org.onap.cli.fw.error.OnapCommandException; + +@OnapCommandSchema(schema = "basic-login-onap-1-0.yaml") +public class OnapBasicAuthLoginCommand extends BasicAuthLoginCommand { + + @Override + protected void run() throws OnapCommandException { + super.run(); + } +} diff --git a/plugins/openecomp/auth/src/main/java/org/onap/cli/cmd/auth/OnapBasicAuthLogoutCommand.java b/plugins/openecomp/auth/src/main/java/org/onap/cli/cmd/auth/OnapBasicAuthLogoutCommand.java new file mode 100644 index 00000000..b87989c7 --- /dev/null +++ b/plugins/openecomp/auth/src/main/java/org/onap/cli/cmd/auth/OnapBasicAuthLogoutCommand.java @@ -0,0 +1,30 @@ +/* + * 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. + */ + +package org.onap.cli.cmd.auth; + +import org.onap.cli.fw.OnapCommandSchema; +import org.onap.cli.fw.cmd.BasicAuthLogoutCommand; +import org.onap.cli.fw.error.OnapCommandException; + +@OnapCommandSchema(schema = "basic-logout-onap-1-0.yaml") +public class OnapBasicAuthLogoutCommand extends BasicAuthLogoutCommand { + + @Override + protected void run() throws OnapCommandException { + super.run(); + } +} diff --git a/plugins/openecomp/auth/src/main/java/org/onap/cli/cmd/auth/OnapSdcBasicAuthLoginCommand.java b/plugins/openecomp/auth/src/main/java/org/onap/cli/cmd/auth/OnapSdcBasicAuthLoginCommand.java new file mode 100644 index 00000000..0e8805a4 --- /dev/null +++ b/plugins/openecomp/auth/src/main/java/org/onap/cli/cmd/auth/OnapSdcBasicAuthLoginCommand.java @@ -0,0 +1,30 @@ +/* + * 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. + */ + +package org.onap.cli.cmd.auth; + +import org.onap.cli.fw.OnapCommandSchema; +import org.onap.cli.fw.cmd.BasicAuthLoginCommand; +import org.onap.cli.fw.error.OnapCommandException; + +@OnapCommandSchema(schema = "basic-login-onap-sdc-1-0.yaml") +public class OnapSdcBasicAuthLoginCommand extends BasicAuthLoginCommand { + + @Override + protected void run() throws OnapCommandException { + super.run(); + } +} diff --git a/plugins/openecomp/auth/src/main/resources/META-INF/services/org.onap.cli.fw.OnapCommand b/plugins/openecomp/auth/src/main/resources/META-INF/services/org.onap.cli.fw.OnapCommand new file mode 100644 index 00000000..7594b30f --- /dev/null +++ b/plugins/openecomp/auth/src/main/resources/META-INF/services/org.onap.cli.fw.OnapCommand @@ -0,0 +1,3 @@ +org.onap.cli.cmd.auth.OnapBasicAuthLoginCommand
+org.onap.cli.cmd.auth.OnapBasicAuthLogoutCommand
+org.onap.cli.cmd.auth.OnapSdcBasicAuthLoginCommand
\ No newline at end of file diff --git a/plugins/openecomp/auth/src/main/resources/open-cli-schema/basic-login-onap-1-0.yaml b/plugins/openecomp/auth/src/main/resources/open-cli-schema/basic-login-onap-1-0.yaml new file mode 100644 index 00000000..675a1f88 --- /dev/null +++ b/plugins/openecomp/auth/src/main/resources/open-cli-schema/basic-login-onap-1-0.yaml @@ -0,0 +1,29 @@ +open_cli_schema_version: 1.0 + +name: basic-login + +description: ONAP basic login auth command + +info: + product: openecomp + service: basic-auth + type: auth + author: ONAP CLI Team onap-discuss@lists.onap.org + +results: + direction: portrait + attributes: + - name: Authorization + description: Authorization + scope: short + type: string + - name: X-TransactionId + description: X-TransactionId + scope: short + type: string + default_value: req-$s{uuid} + - name: X-FromAppId + description: X-FromAppId + scope: short + type: string + default_value: ONAP CLI diff --git a/plugins/openecomp/auth/src/main/resources/open-cli-schema/basic-login-onap-sdc-1-0.yaml b/plugins/openecomp/auth/src/main/resources/open-cli-schema/basic-login-onap-sdc-1-0.yaml new file mode 100644 index 00000000..d9467440 --- /dev/null +++ b/plugins/openecomp/auth/src/main/resources/open-cli-schema/basic-login-onap-sdc-1-0.yaml @@ -0,0 +1,35 @@ +open_cli_schema_version: 1.0 + +name: sdc-basic-login + +description: ONAP basic login auth command + + +info: + product: openecomp + service: sdc-basic-auth + type: auth + author: ONAP CLI Team onap-discuss@lists.onap.org + +results: + direction: portrait + attributes: + - name: Authorization + description: Authorization + scope: short + type: string + - name: X-TransactionId + description: X-TransactionId + scope: short + type: string + default_value: req-$s{uuid} + - name: X-FromAppId + description: X-FromAppId + scope: short + type: string + default_value: ONAP CLI + - name: USER_ID + description: USER_ID for sdc + scope: short + type: string + default_value: ${host-username}
\ No newline at end of file diff --git a/plugins/openecomp/auth/src/main/resources/open-cli-schema/basic-logout-onap-1-0.yaml b/plugins/openecomp/auth/src/main/resources/open-cli-schema/basic-logout-onap-1-0.yaml new file mode 100644 index 00000000..1e2bea22 --- /dev/null +++ b/plugins/openecomp/auth/src/main/resources/open-cli-schema/basic-logout-onap-1-0.yaml @@ -0,0 +1,11 @@ +open_cli_schema_version: 1.0 + +name: basic-logout + +description: ONAP basic logout auth command + +info: + product: openecomp + service: basic-auth + type: auth + author: ONAP CLI Team onap-discuss@lists.onap.org diff --git a/plugins/openecomp/catalog/pom.xml b/plugins/openecomp/catalog/pom.xml new file mode 100644 index 00000000..6e216449 --- /dev/null +++ b/plugins/openecomp/catalog/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-plugins-openecomp</artifactId> + <version>2.0.0</version> + </parent> + + <artifactId>cli-plugins-openecomp-catalog</artifactId> + <name>cli/plugins/openecomp/catalog</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/plugins/openecomp/catalog/src/main/resources/open-cli-schema/catalog-onap-1-0.yaml b/plugins/openecomp/catalog/src/main/resources/open-cli-schema/catalog-onap-1-0.yaml new file mode 100644 index 00000000..d55e23d3 --- /dev/null +++ b/plugins/openecomp/catalog/src/main/resources/open-cli-schema/catalog-onap-1-0.yaml @@ -0,0 +1,56 @@ +open_cli_schema_version: 1.0 + +name: catalog + +description: ONAP catalog command to find the base path for service. + +info: + product: openecomp + service: msb + type: catalog + author: ONAP CLI Team onap-discuss@lists.onap.org + +parameters: + - name: catalog-service-name + type: string + description: service name registered in catalog service + short_option: l + long_option: catalog-service-name + is_optional: false + - name: catalog-service-version + type: string + description: service version registered in catalog service + short_option: i + long_option: catalog-service-version + is_optional: false + +results: + direction: portrait + attributes: + - name: catalog-service-host-url + description: Service connection url + scope: short + type: string + default_value: ${host-url} + - name: catalog-service-base-path + description: service base path, to append with host-url for connecting the service. + scope: short + type: string + default_value: / + +http: + + service: + mode: direct + auth: none + request: + uri: /services/${catalog-service-name}/version/${catalog-service-version} + method: GET + success_codes: + - 201 + - 200 + result_map: + catalog-service-base-path: $b{$.url} + catalog-service-host-url: ${host-url} + sample_response: + body: '{"serviceName":"test","version":"v1","url":"/api/test/v1","protocol":"REST","visualRange":"1","lb_policy":"hash","nodes":[{"ip":"127.0.0.1","port":"8012","ttl":0,"nodeId":"test_127.0.0.1_8012","expiration":"2017-02-10T05:33:25Z","created_at":"2017-02-10T05:33:25Z","updated_at":"2017-02-10T05:33:25Z"}],"status":"1"}' diff --git a/plugins/openecomp/features/aai/pom.xml b/plugins/openecomp/features/aai/pom.xml new file mode 100644 index 00000000..dc452b45 --- /dev/null +++ b/plugins/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-plugins-openecomp-features</artifactId> + <version>2.0.0</version> + </parent> + + <artifactId>cli-plugins-openecomp-features-aai</artifactId> + <name>cli/plugins/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/plugins/openecomp/features/aai/src/main/resources/open-cli-schema/cloud-region/cloud-list-schema.yaml b/plugins/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/plugins/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/plugins/openecomp/features/aai/src/main/resources/open-cli-schema/customer/customer-create-schema.yaml b/plugins/openecomp/features/aai/src/main/resources/open-cli-schema/customer/customer-create-schema.yaml new file mode 100644 index 00000000..8ca23903 --- /dev/null +++ b/plugins/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/plugins/openecomp/features/aai/src/main/resources/open-cli-schema/customer/customer-delete-schema.yaml b/plugins/openecomp/features/aai/src/main/resources/open-cli-schema/customer/customer-delete-schema.yaml new file mode 100644 index 00000000..01fecefb --- /dev/null +++ b/plugins/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/plugins/openecomp/features/aai/src/main/resources/open-cli-schema/customer/customer-list-schema.yaml b/plugins/openecomp/features/aai/src/main/resources/open-cli-schema/customer/customer-list-schema.yaml new file mode 100644 index 00000000..043e5bc7 --- /dev/null +++ b/plugins/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/plugins/openecomp/features/aai/src/main/resources/open-cli-schema/customer/customer-show-schema.yaml b/plugins/openecomp/features/aai/src/main/resources/open-cli-schema/customer/customer-show-schema.yaml new file mode 100644 index 00000000..357efefa --- /dev/null +++ b/plugins/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/plugins/openecomp/features/aai/src/main/resources/open-cli-schema/service-type/service-type-create-schema.yaml b/plugins/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/plugins/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/plugins/openecomp/features/aai/src/main/resources/open-cli-schema/service-type/service-type-delete-schema.yaml b/plugins/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/plugins/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/plugins/openecomp/features/aai/src/main/resources/open-cli-schema/service-type/service-type-list-schema.yaml b/plugins/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/plugins/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/plugins/openecomp/features/aai/src/main/resources/open-cli-schema/subscription/subscription-create-schema.yaml b/plugins/openecomp/features/aai/src/main/resources/open-cli-schema/subscription/subscription-create-schema.yaml new file mode 100644 index 00000000..2fd3ca98 --- /dev/null +++ b/plugins/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/plugins/openecomp/features/aai/src/main/resources/open-cli-schema/subscription/subscription-list-schema.yaml b/plugins/openecomp/features/aai/src/main/resources/open-cli-schema/subscription/subscription-list-schema.yaml new file mode 100644 index 00000000..4893194d --- /dev/null +++ b/plugins/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/plugins/openecomp/features/aai/src/test/resources/open-cli-sample/cloud-region/cloud-list-sample-1.0.yaml b/plugins/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/plugins/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 | + +------------+------------+--------+----------------------------------+------------------------------------------------+----------+ + diff --git a/plugins/openecomp/features/pom.xml b/plugins/openecomp/features/pom.xml new file mode 100644 index 00000000..b1f334bf --- /dev/null +++ b/plugins/openecomp/features/pom.xml @@ -0,0 +1,70 @@ +<?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-plugins-openecomp</artifactId> + <version>2.0.0</version> + </parent> + + <artifactId>cli-plugins-openecomp-features</artifactId> + <name>cli/plugins/openecomp/features</name> + <packaging>pom</packaging> + + <modules> + <module>aai</module> + <module>sdc</module> + </modules> + + <build> + <pluginManagement> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-dependency-plugin</artifactId> + <executions> + <execution> + <id>copy-artifact</id> + <phase>package</phase> + <goals> + <goal>copy</goal> + </goals> + <configuration> + <artifactItems> + <artifactItem> + <groupId>${project.groupId}</groupId> + <artifactId>${project.artifactId}</artifactId> + <version>${project.version}</version> + <type>${project.packaging}</type> + </artifactItem> + </artifactItems> + <!-- copy to plugin dependencies --> + <outputDirectory>../../../../plugins/target/lib</outputDirectory> + </configuration> + </execution> + </executions> + </plugin> + </plugins> + </pluginManagement> + </build> +</project> diff --git a/plugins/openecomp/features/sdc/pom.xml b/plugins/openecomp/features/sdc/pom.xml new file mode 100644 index 00000000..fc2b1b5a --- /dev/null +++ b/plugins/openecomp/features/sdc/pom.xml @@ -0,0 +1,39 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + 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-plugins-openecomp-features</artifactId> + <version>2.0.0</version> + </parent> + + <artifactId>cli-plugins-openecomp-features-sdc</artifactId> + <name>cli/plugins/openecomp/features/sdc</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/plugins/openecomp/features/sdc/src/main/resources/open-cli-schema/license-models/license-model-create-schema.yaml b/plugins/openecomp/features/sdc/src/main/resources/open-cli-schema/license-models/license-model-create-schema.yaml new file mode 100644 index 00000000..a223c8d4 --- /dev/null +++ b/plugins/openecomp/features/sdc/src/main/resources/open-cli-schema/license-models/license-model-create-schema.yaml @@ -0,0 +1,44 @@ +open_cli_schema_version: 1.0 +name: license-model-create +description: Create License Model + +info: + product: openecomp + service: sdc + author: ONAP CLI Team onap-discuss@lists.onap.org + + +parameters: + - name: vendor-name + description: vendor name + type: string + short_option: x + long_option: vendor-name + is_optional: false + - name: license-model-description + description: Description for License Model + type: string + short_option: y + long_option: license-model-description + is_optional: true +results: + direction: portrait + attributes: + - name: ID + description: License Model ID + scope: short + type: string +http: + service: + auth: basic + mode: direct + request: + uri: /onboarding-api/v1.0/vendor-license-models + method: POST + body: '{"vendorName": "${vendor-name}", "description": "${license-model-description}", "iconRef": "icon"}' + success_codes: + - 200 + result_map: + ID: $b{$.value} + sample_response: + body: '{"value":"2DEB6CB4B082415BB7A697C9CD1273BA"}' diff --git a/plugins/openecomp/features/sdc/src/main/resources/open-cli-schema/license-models/license-model-show-schema.yaml b/plugins/openecomp/features/sdc/src/main/resources/open-cli-schema/license-models/license-model-show-schema.yaml new file mode 100644 index 00000000..860cbea9 --- /dev/null +++ b/plugins/openecomp/features/sdc/src/main/resources/open-cli-schema/license-models/license-model-show-schema.yaml @@ -0,0 +1,52 @@ +open_cli_schema_version: 1.0 +name: license-model-show +description: Details of the License Model + +info: + product: openecomp + service: sdc + author: ONAP CLI Team onap-discuss@lists.onap.org + +parameters: + - name: license-model-id + description: Onap License Model ID + type: string + short_option: x + long_option: license-model-id + is_optional: false + +results: + direction: landscape + attributes: + - name: name + description: License Model Name + scope: short + type: string + - name: ID + description: License Model ID + scope: short + type: string + - name: description + description: Description for the License Model + scope: short + type: string + - name: status + description: Status of the License Model + scope: short + type: string +http: + service: + auth: basic + mode: direct + request: + uri: /onboarding-api/v1.0/vendor-software-products/${license-model-id} + method: GET + success_codes: + - 200 + result_map: + name: $b{$.vendorName} + ID: $b{$.id} + description: $b{$.description} + status: $b{$.status} + sample_response: + body: '{"vendorName": "5aa8a88c","description": "vendor license model","iconRef": "icon","id": "109F0F948B974D998D89893A1BD39D4A","version": "0.1","status": "Locked","lockingUser": "cs0008","viewableVersions": ["0.1"]}' diff --git a/plugins/openecomp/features/sdc/src/main/resources/open-cli-schema/vsp/vsp-checkin-schema.yaml b/plugins/openecomp/features/sdc/src/main/resources/open-cli-schema/vsp/vsp-checkin-schema.yaml new file mode 100644 index 00000000..d7b2d90f --- /dev/null +++ b/plugins/openecomp/features/sdc/src/main/resources/open-cli-schema/vsp/vsp-checkin-schema.yaml @@ -0,0 +1,29 @@ +open_cli_schema_version: 1.0 +name: vsp-checkin +description: Checkin Vendor Software Product + +info: + product: openecomp + service: sdc + author: ONAP CLI Team onap-discuss@lists.onap.org + +parameters: + - name: vsp-id + description: Onap VSP ID + type: string + short_option: x + long_option: vsp-id + is_optional: false +http: + service: + auth: basic + mode: direct + request: + uri: /onboarding-api/v1.0/vendor-software-products/${vsp-id}/actions + method: PUT + body: '{"action": "Checkin"}' + success_codes: + - 201 + - 200 + sample_response: + body: '' diff --git a/plugins/openecomp/features/sdc/src/main/resources/open-cli-schema/vsp/vsp-checkout-schema.yaml b/plugins/openecomp/features/sdc/src/main/resources/open-cli-schema/vsp/vsp-checkout-schema.yaml new file mode 100644 index 00000000..50d73517 --- /dev/null +++ b/plugins/openecomp/features/sdc/src/main/resources/open-cli-schema/vsp/vsp-checkout-schema.yaml @@ -0,0 +1,29 @@ +open_cli_schema_version: 1.0 +name: vsp-checkout +description: Checkout Vendor Software Product + +info: + product: openecomp + service: sdc + author: ONAP CLI Team onap-discuss@lists.onap.org + +parameters: + - name: vsp-id + description: Onap VSP ID + type: string + short_option: x + long_option: vsp-id + is_optional: false +http: + service: + auth: basic + mode: direct + request: + uri: /onboarding-api/v1.0/vendor-software-products/${vsp-id}/actions + method: PUT + body: '{"action": "Checkout"}' + success_codes: + - 201 + - 200 + sample_response: + body: '' diff --git a/plugins/openecomp/features/sdc/src/main/resources/open-cli-schema/vsp/vsp-create-schema.yaml b/plugins/openecomp/features/sdc/src/main/resources/open-cli-schema/vsp/vsp-create-schema.yaml new file mode 100644 index 00000000..f3fbbd6a --- /dev/null +++ b/plugins/openecomp/features/sdc/src/main/resources/open-cli-schema/vsp/vsp-create-schema.yaml @@ -0,0 +1,88 @@ +open_cli_schema_version: 1.0 +name: vsp-create +description: Create Vendor Software Product + +info: + product: openecomp + service: sdc + author: ONAP CLI Team onap-discuss@lists.onap.org + +parameters: + - name: vsp-name + description: Onap VSP Name + type: string + short_option: x + long_option: vsp-name + is_optional: false + - name: vsp-description + description: Description for VSP + type: string + short_option: y + long_option: vsp-description + is_optional: true + - name: vsp-category + description: Category of the VSP + type: string + short_option: b + long_option: vsp-category + is_optional: true + default_value: resourceNewCategory.generic + - name: vsp-subcategory + description: Sub Category of VSP + type: string + short_option: c + long_option: vsp-subcategory + is_optional: true + default_value: resourceNewCategory.generic.abstract + - name: vlm-version + description: License version + type: string + short_option: e + long_option: vlm-version + is_optional: true + default_value: 1.0 + - name: vlm-vendor + description: License Model Name + type: string + short_option: g + long_option: vlm-vendor + is_optional: false + - name: vlm-id + description: License Model ID + type: string + short_option: i + long_option: vlm-id + is_optional: false + - name: vlm-agreement-id + description: License Agreement ID + type: string + short_option: j + long_option: vlm-agreement-id + is_optional: false + - name: vlm-feature-group-id + description: Feature Group ID + type: string + short_option: k + long_option: vlm-feature-group-id + is_optional: false +results: + direction: portrait + attributes: + - name: ID + description: VSP ID + scope: short + type: string +http: + service: + auth: basic + mode: direct + request: + uri: /onboarding-api/v1.0/vendor-software-products + method: POST + body: '{"name": "${vsp-name}", "description": "${vsp-description}", "category": "${vsp-category}", "subCategory": "${vsp-subcategory}", "licensingVersion": "${vlm-version}", "vendorName": "${vlm-vendor}", "vendorId": "${vlm-id}", "icon": "icon", "licensingData": { "licenseAgreement": "${vlm-agreement-id}", "featureGroups": [ "${vlm-feature-group-id}" ]}}' + success_codes: + - 200 + result_map: + ID: $b{$.vspId} + sample_response: + body: '{"vspId":"2DEB6CB4B082415BB7A697C9CD1273BA"}' diff --git a/plugins/openecomp/features/sdc/src/main/resources/open-cli-schema/vsp/vsp-list-schema.yaml b/plugins/openecomp/features/sdc/src/main/resources/open-cli-schema/vsp/vsp-list-schema.yaml new file mode 100644 index 00000000..3bdd41d7 --- /dev/null +++ b/plugins/openecomp/features/sdc/src/main/resources/open-cli-schema/vsp/vsp-list-schema.yaml @@ -0,0 +1,34 @@ +open_cli_schema_version: 1.0 +name: vsp-list +description: List of the Vendor Software Products + +info: + product: openecomp + service: sdc + author: ONAP CLI Team onap-discuss@lists.onap.org + +results: + direction: landscape + attributes: + - name: ID + description: VSP ID + scope: short + type: string + - name: name + description: VSP Name + scope: short + type: string +http: + service: + auth: basic + mode: direct + request: + uri: /onboarding-api/v1.0/vendor-software-products + method: GET + success_codes: + - 200 + result_map: + name: $b{results.[*].name} + ID: $b{results.[*].id} + sample_response: + body: '{"results":[{"name":"test-vsp1","description":"vendor software product","category":"resourceNewCategory.generic","subCategory":"resourceNewCategory.generic.abstract","vendorName":"5aa8a88c","vendorId":"DBB202617952486691C1E35C9621CD4E","licensingVersion":"1.0","licensingData":{"licenseAgreement":"E19DBDDB137B494385F9535325BFD585","featureGroups":["94835F096DAF4ED78781A394A4F22AD1"]},"id":"354BF3E32E494EAFBB15037CFAB262FF","version":"0.1","viewableVersions":["0.1"],"status":"Locked","lockingUser":"cs0008"},{"name":"test-vsp","description":"vendor software product","category":"resourceNewCategory.generic","subCategory":"resourceNewCategory.generic.abstract","vendorName":"5aa8a88c","vendorId":"DBB202617952486691C1E35C9621CD4E","licensingVersion":"1.0","licensingData":{"licenseAgreement":"E19DBDDB137B494385F9535325BFD585","featureGroups":["94835F096DAF4ED78781A394A4F22AD1"]},"id":"2DEB6CB4B082415BB7A697C9CD1273BA","version":"1.0","viewableVersions":["1.0"],"finalVersions":["1.0"],"status":"Final"}],"listCount":2}' diff --git a/plugins/openecomp/features/sdc/src/main/resources/open-cli-schema/vsp/vsp-show-schema.yaml b/plugins/openecomp/features/sdc/src/main/resources/open-cli-schema/vsp/vsp-show-schema.yaml new file mode 100644 index 00000000..affe73e7 --- /dev/null +++ b/plugins/openecomp/features/sdc/src/main/resources/open-cli-schema/vsp/vsp-show-schema.yaml @@ -0,0 +1,47 @@ +open_cli_schema_version: 1.0 +name: vsp-show +description: Details of the Vendor Software Product + +info: + product: openecomp + service: sdc + author: ONAP CLI Team onap-discuss@lists.onap.org + +parameters: + - name: vsp-id + description: Onap VSP ID + type: string + short_option: x + long_option: vsp-id + is_optional: false + +results: + direction: landscape + attributes: + - name: name + description: VSP Name + scope: short + type: string + - name: ID + description: VSP ID + scope: short + type: string + - name: description + description: Description for the VSP + scope: short + type: string +http: + service: + auth: basic + mode: direct + request: + uri: /onboarding-api/v1.0/vendor-software-products/${vsp-id} + method: GET + success_codes: + - 200 + result_map: + name: $b{$.name} + ID: $b{$.id} + description: $b{$.description} + sample_response: + body: '{"name":"test-vsp1","description":"vendor software product","category":"resourceNewCategory.generic","subCategory":"resourceNewCategory.generic.abstract","vendorName":"5aa8a88c","vendorId":"DBB202617952486691C1E35C9621CD4E","licensingVersion":"1.0","licensingData":{"licenseAgreement":"E19DBDDB137B494385F9535325BFD585","featureGroups":["94835F096DAF4ED78781A394A4F22AD1"]},"id":"354BF3E32E494EAFBB15037CFAB262FF","version":"0.1","viewableVersions":["0.1"],"status":"Locked","lockingUser":"cs0008"}' diff --git a/plugins/openecomp/features/sdc/src/main/resources/open-cli-schema/vsp/vsp-submit-schema.yaml b/plugins/openecomp/features/sdc/src/main/resources/open-cli-schema/vsp/vsp-submit-schema.yaml new file mode 100644 index 00000000..00c95f01 --- /dev/null +++ b/plugins/openecomp/features/sdc/src/main/resources/open-cli-schema/vsp/vsp-submit-schema.yaml @@ -0,0 +1,29 @@ +open_cli_schema_version: 1.0 +name: vsp-submit +description: Submit Vendor Software Product + +info: + product: openecomp + service: sdc + author: ONAP CLI Team onap-discuss@lists.onap.org + +parameters: + - name: vsp-id + description: Onap VSP ID + type: string + short_option: x + long_option: vsp-id + is_optional: false +http: + service: + auth: basic + mode: direct + request: + uri: /onboarding-api/v1.0/vendor-software-products/${vsp-id}/actions + method: PUT + body: '{"action": "Submit"}' + success_codes: + - 201 + - 200 + sample_response: + body: '' diff --git a/plugins/openecomp/features/sdc/src/main/resources/open-cli-schema/vsp/vsp-upload-schema.yaml b/plugins/openecomp/features/sdc/src/main/resources/open-cli-schema/vsp/vsp-upload-schema.yaml new file mode 100644 index 00000000..b8708b83 --- /dev/null +++ b/plugins/openecomp/features/sdc/src/main/resources/open-cli-schema/vsp/vsp-upload-schema.yaml @@ -0,0 +1,35 @@ +open_cli_schema_version: 1.0 +name: vsp-upload +description: Upload the CSAR file to VSP + +info: + product: openecomp + service: sdc + author: ONAP CLI Team onap-discuss@lists.onap.org + +parameters: + - name: vsp-id + description: Onap VSP ID + type: string + short_option: x + long_option: vsp-id + is_optional: false + - name: vsp-file + description: CSAR File path + type: binary + short_option: y + long_option: vsp-file + is_optional: false +http: + service: + auth: basic + mode: direct + request: + uri: /onboarding-api/v1.0/vendor-software-products/${vsp-id}/upload + method: POST + body: ${vsp-file} + multipart_entity_name: upload + success_codes: + - 200 + sample_response: + body: '' diff --git a/plugins/openecomp/features/sdc/src/test/resources/open-cli-sample/vsp/vsp-checkin-sample.yaml b/plugins/openecomp/features/sdc/src/test/resources/open-cli-sample/vsp/vsp-checkin-sample.yaml new file mode 100644 index 00000000..6d703741 --- /dev/null +++ b/plugins/openecomp/features/sdc/src/test/resources/open-cli-sample/vsp/vsp-checkin-sample.yaml @@ -0,0 +1,8 @@ +open_cli_sample_version: 1.0 + +name: vsp-checkin +version: openecomp +samples: + sample1: + name: Checkin the Vendor Software Product + input: --host-username cs0008 --host-password demo123456! --host-url http://localhost:8080 --vsp-id E563CB23A6BE49AF9A84CF579DAFB929 diff --git a/plugins/openecomp/features/sdc/src/test/resources/open-cli-sample/vsp/vsp-checkout-sample.yaml b/plugins/openecomp/features/sdc/src/test/resources/open-cli-sample/vsp/vsp-checkout-sample.yaml new file mode 100644 index 00000000..b935cd20 --- /dev/null +++ b/plugins/openecomp/features/sdc/src/test/resources/open-cli-sample/vsp/vsp-checkout-sample.yaml @@ -0,0 +1,9 @@ +open_cli_sample_version: 1.0 + +name: vsp-checkout +version: onap-amsterdam + +samples: + sample1: + name: Checkout the Vendor Software Product + input: --host-username cs0008 --host-password demo123456! --host-url http://localhost:8080 --vsp-id E563CB23A6BE49AF9A84CF579DAFB929 diff --git a/plugins/openecomp/features/sdc/src/test/resources/open-cli-sample/vsp/vsp-create-sample.yaml b/plugins/openecomp/features/sdc/src/test/resources/open-cli-sample/vsp/vsp-create-sample.yaml new file mode 100644 index 00000000..3fb85e48 --- /dev/null +++ b/plugins/openecomp/features/sdc/src/test/resources/open-cli-sample/vsp/vsp-create-sample.yaml @@ -0,0 +1,14 @@ +open_cli_sample_version: 1.0 + +name: vsp-create +version: openecomp +samples: + sample1: + name: Create the Vendor Software Product + input: --host-username cs0008 --host-password demo123456! --host-url http://locahost:8080 --vsp-name demo-vsp2 --vsp-vendor-name 5aa8a88c --vsp-vendor-id DBB202617952486691C1E35C9 621CD4E --license-agreement-id E19DBDDB137B494385F9535325BFD585 --feature-group-id 94835F096DAF4ED78781A394A4F22AD1 + output: | + +----------+----------------------------------+ + |property |value | + +----------+----------------------------------+ + |ID |6897DFFF8E864F84AD17A34B7FB936A3 | + +----------+----------------------------------+ diff --git a/plugins/openecomp/features/sdc/src/test/resources/open-cli-sample/vsp/vsp-list-sample.yaml b/plugins/openecomp/features/sdc/src/test/resources/open-cli-sample/vsp/vsp-list-sample.yaml new file mode 100644 index 00000000..50ba22db --- /dev/null +++ b/plugins/openecomp/features/sdc/src/test/resources/open-cli-sample/vsp/vsp-list-sample.yaml @@ -0,0 +1,18 @@ +open_cli_sample_version: 1.0 + +name: vsp-list +version: openecomp +samples: + sample1: + name: List Vendor Software Products + input: --host-username cs0008 --host-password demo123456! --host-url http://localhost:8080 + output: | + +----------------------------------+------------+ + |ID |name | + +----------------------------------+------------+ + |E563CB23A6BE49AF9A84CF579DAFB929 |demo-vsp2 | + +----------------------------------+------------+ + |79E62AA736C34E359B869E757D3DDBBE |demo-vsp1 | + +----------------------------------+------------+ + |928B828EE3CC46B99B92D7B9A2AB2118 |demo-vsp | + +----------------------------------+------------+ diff --git a/plugins/openecomp/features/sdc/src/test/resources/open-cli-sample/vsp/vsp-show-sample.yaml b/plugins/openecomp/features/sdc/src/test/resources/open-cli-sample/vsp/vsp-show-sample.yaml new file mode 100644 index 00000000..4af221e3 --- /dev/null +++ b/plugins/openecomp/features/sdc/src/test/resources/open-cli-sample/vsp/vsp-show-sample.yaml @@ -0,0 +1,14 @@ +open_cli_sample_version: 1.0 + +name: vsp-show +version: openecomp +samples: + sample1: + name: Show the details of Vendor Software Products + input: --host-username cs0008 --host-password demo123456! --host-url http://localhost:8080 --vsp-id 2DEB6CB4B082415BB7A697C9CD1273BA + output: | + +----------+----------------------------------+--------------------------+ + |name |ID |description | + +----------+----------------------------------+--------------------------+ + |test-vsp |2DEB6CB4B082415BB7A697C9CD1273BA |vendor software product | + +----------+----------------------------------+--------------------------+ diff --git a/plugins/openecomp/features/sdc/src/test/resources/open-cli-sample/vsp/vsp-submit-sample.yaml b/plugins/openecomp/features/sdc/src/test/resources/open-cli-sample/vsp/vsp-submit-sample.yaml new file mode 100644 index 00000000..3cf101bc --- /dev/null +++ b/plugins/openecomp/features/sdc/src/test/resources/open-cli-sample/vsp/vsp-submit-sample.yaml @@ -0,0 +1,8 @@ +open_cli_sample_version: 1.0 + +name: vsp-submit +version: openecomp +samples: + sample1: + name: Submit the Vendor Software Product + input: --host-username cs0008 --host-password demo123456! --host-url http://localhost:8080 --vsp-id E563CB23A6BE49AF9A84CF579DAFB929 diff --git a/plugins/openecomp/features/sdc/src/test/resources/open-cli-sample/vsp/vsp-upload-sample.yaml b/plugins/openecomp/features/sdc/src/test/resources/open-cli-sample/vsp/vsp-upload-sample.yaml new file mode 100644 index 00000000..b615bd66 --- /dev/null +++ b/plugins/openecomp/features/sdc/src/test/resources/open-cli-sample/vsp/vsp-upload-sample.yaml @@ -0,0 +1,8 @@ +open_cli_sample_version: 1.0 + +name: vsp-upload +version: openecomp +samples: + sample1: + name: upload the zip file to Vendor Software Product + input: --host-username cs0008 --host-password demo123456! --host-url http://localhost:8080 --vsp-id E563CB23A6BE49AF9A84CF579DAFB929 --vsp-file /home/user/vFW.zip diff --git a/plugins/openecomp/pom.xml b/plugins/openecomp/pom.xml new file mode 100644 index 00000000..2f490432 --- /dev/null +++ b/plugins/openecomp/pom.xml @@ -0,0 +1,71 @@ +<?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-plugins</artifactId> + <version>2.0.0</version> + </parent> + + <artifactId>cli-plugins-openecomp</artifactId> + <name>cli/plugins/openecomp</name> + <packaging>pom</packaging> + + <modules> + <module>auth</module> + <module>catalog</module> + <module>features</module> + </modules> + + <build> + <pluginManagement> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-dependency-plugin</artifactId> + <executions> + <execution> + <id>copy-artifact</id> + <phase>package</phase> + <goals> + <goal>copy</goal> + </goals> + <configuration> + <artifactItems> + <artifactItem> + <groupId>${project.groupId}</groupId> + <artifactId>${project.artifactId}</artifactId> + <version>${project.version}</version> + <type>${project.packaging}</type> + </artifactItem> + </artifactItems> + <!-- copy to plugin dependencies --> + <outputDirectory>../../../plugins/target/lib</outputDirectory> + </configuration> + </execution> + </executions> + </plugin> + </plugins> + </pluginManagement> + </build> +</project> |