From b610d2dbfa445e2ed8fd7f9976ae7a776666d630 Mon Sep 17 00:00:00 2001 From: Kanagaraj Manickam k00365106 Date: Wed, 19 Jul 2017 15:14:29 +0530 Subject: Add seed code from Open-O It migrated the code from Open-O into onap namespace and adds the required framework, main, deployment and some sample plugins for msb. CLI-7 CLI-8 CLI-11 Change-Id: I499e34237daccb971ef74bd10e50f50707baa4d3 Signed-off-by: Kanagaraj Manickam k00365106 --- plugins/common-service/pom.xml | 33 +++++++++ .../cli/cmd/cs/msb/OnapServiceCreateCommand.java | 24 ++++++ .../cli/cmd/cs/msb/OnapServiceDeleteCommand.java | 24 ++++++ .../cli/cmd/cs/msb/OnapServiceListCommand.java | 24 ++++++ .../cli/cmd/cs/msb/OnapServiceShowCommand.java | 24 ++++++ .../META-INF/services/org.onap.cli.fw.OnapCommand | 4 + .../main/resources/microservice-create-schema.yaml | 85 ++++++++++++++++++++++ .../main/resources/microservice-delete-schema.yaml | 31 ++++++++ .../main/resources/microservice-list-schema.yaml | 49 +++++++++++++ .../main/resources/microservice-show-schema.yaml | 62 ++++++++++++++++ .../src/test/resources/service-list-schema.yaml | 59 +++++++++++++++ .../src/test/resources/user-create-schema.yaml | 47 ++++++++++++ plugins/pom.xml | 49 +++++++++++++ 13 files changed, 515 insertions(+) create mode 100644 plugins/common-service/pom.xml create mode 100644 plugins/common-service/src/main/java/org/onap/cli/cmd/cs/msb/OnapServiceCreateCommand.java create mode 100644 plugins/common-service/src/main/java/org/onap/cli/cmd/cs/msb/OnapServiceDeleteCommand.java create mode 100644 plugins/common-service/src/main/java/org/onap/cli/cmd/cs/msb/OnapServiceListCommand.java create mode 100644 plugins/common-service/src/main/java/org/onap/cli/cmd/cs/msb/OnapServiceShowCommand.java create mode 100644 plugins/common-service/src/main/resources/META-INF/services/org.onap.cli.fw.OnapCommand create mode 100644 plugins/common-service/src/main/resources/microservice-create-schema.yaml create mode 100644 plugins/common-service/src/main/resources/microservice-delete-schema.yaml create mode 100644 plugins/common-service/src/main/resources/microservice-list-schema.yaml create mode 100644 plugins/common-service/src/main/resources/microservice-show-schema.yaml create mode 100644 plugins/common-service/src/test/resources/service-list-schema.yaml create mode 100644 plugins/common-service/src/test/resources/user-create-schema.yaml create mode 100644 plugins/pom.xml (limited to 'plugins') diff --git a/plugins/common-service/pom.xml b/plugins/common-service/pom.xml new file mode 100644 index 00000000..0ca644ed --- /dev/null +++ b/plugins/common-service/pom.xml @@ -0,0 +1,33 @@ + + + + + 4.0.0 + + + org.onap.cli + cli-plugins + 1.0.0-SNAPSHOT + + + cli-plugin-common-service + cli/plugins/common-service + jar + diff --git a/plugins/common-service/src/main/java/org/onap/cli/cmd/cs/msb/OnapServiceCreateCommand.java b/plugins/common-service/src/main/java/org/onap/cli/cmd/cs/msb/OnapServiceCreateCommand.java new file mode 100644 index 00000000..8b46e6b8 --- /dev/null +++ b/plugins/common-service/src/main/java/org/onap/cli/cmd/cs/msb/OnapServiceCreateCommand.java @@ -0,0 +1,24 @@ +/* + * 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.cs.msb; + +import org.onap.cli.fw.OnapCommandSchema; +import org.onap.cli.fw.cmd.OnapHttpCommand; + +@OnapCommandSchema(name = "microservice-create", schema = "microservice-create-schema.yaml") +public class OnapServiceCreateCommand extends OnapHttpCommand { +} diff --git a/plugins/common-service/src/main/java/org/onap/cli/cmd/cs/msb/OnapServiceDeleteCommand.java b/plugins/common-service/src/main/java/org/onap/cli/cmd/cs/msb/OnapServiceDeleteCommand.java new file mode 100644 index 00000000..595934d9 --- /dev/null +++ b/plugins/common-service/src/main/java/org/onap/cli/cmd/cs/msb/OnapServiceDeleteCommand.java @@ -0,0 +1,24 @@ +/* + * 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.cs.msb; + +import org.onap.cli.fw.OnapCommandSchema; +import org.onap.cli.fw.cmd.OnapHttpCommand; + +@OnapCommandSchema(name = "microservice-delete", schema = "microservice-delete-schema.yaml") +public class OnapServiceDeleteCommand extends OnapHttpCommand { +} diff --git a/plugins/common-service/src/main/java/org/onap/cli/cmd/cs/msb/OnapServiceListCommand.java b/plugins/common-service/src/main/java/org/onap/cli/cmd/cs/msb/OnapServiceListCommand.java new file mode 100644 index 00000000..436d187b --- /dev/null +++ b/plugins/common-service/src/main/java/org/onap/cli/cmd/cs/msb/OnapServiceListCommand.java @@ -0,0 +1,24 @@ +/* + * 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.cs.msb; + +import org.onap.cli.fw.OnapCommandSchema; +import org.onap.cli.fw.cmd.OnapHttpCommand; + +@OnapCommandSchema(name = "microservice-list", schema = "microservice-list-schema.yaml") +public class OnapServiceListCommand extends OnapHttpCommand { +} diff --git a/plugins/common-service/src/main/java/org/onap/cli/cmd/cs/msb/OnapServiceShowCommand.java b/plugins/common-service/src/main/java/org/onap/cli/cmd/cs/msb/OnapServiceShowCommand.java new file mode 100644 index 00000000..2256cc61 --- /dev/null +++ b/plugins/common-service/src/main/java/org/onap/cli/cmd/cs/msb/OnapServiceShowCommand.java @@ -0,0 +1,24 @@ +/* + * 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.cs.msb; + +import org.onap.cli.fw.OnapCommandSchema; +import org.onap.cli.fw.cmd.OnapHttpCommand; + +@OnapCommandSchema(name = "microservice-show", schema = "microservice-show-schema.yaml") +public class OnapServiceShowCommand extends OnapHttpCommand { +} diff --git a/plugins/common-service/src/main/resources/META-INF/services/org.onap.cli.fw.OnapCommand b/plugins/common-service/src/main/resources/META-INF/services/org.onap.cli.fw.OnapCommand new file mode 100644 index 00000000..527abe0c --- /dev/null +++ b/plugins/common-service/src/main/resources/META-INF/services/org.onap.cli.fw.OnapCommand @@ -0,0 +1,4 @@ +org.onap.cli.cmd.cs.msb.OnapServiceListCommand +org.onap.cli.cmd.cs.msb.OnapServiceShowCommand +org.onap.cli.cmd.cs.msb.OnapServiceDeleteCommand +org.onap.cli.cmd.cs.msb.OnapServiceCreateCommand \ No newline at end of file diff --git a/plugins/common-service/src/main/resources/microservice-create-schema.yaml b/plugins/common-service/src/main/resources/microservice-create-schema.yaml new file mode 100644 index 00000000..13bd53b1 --- /dev/null +++ b/plugins/common-service/src/main/resources/microservice-create-schema.yaml @@ -0,0 +1,85 @@ +onap_cmd_schema_version: 1.0 +name: microservice-create +description: Register microservice into Onap +service: + name: msb + version: v1 + +parameters: + - name: service-name + description: Onap service name + type: string + short_option: x + long_option: service-name + is_optional: false + - name: service-version + description: Onap service version + type: string + short_option: y + long_option: service-version + is_optional: false + - name: service-url + description: Onap service base url + type: url + short_option: r + long_option: service-url + is_optional: false + - name: node-ip + description: Onap service running node IP + type: string + - name: node-port + description: Onap service running node port + type: string + - name: create-or-update + description: Onap service create or update + type: bool + default_value: true +results: + direction: portrait + attributes: + - name: name + description: Onap service name + scope: short + type: string + - name: version + description: Onap service version + scope: short + type: string + - name: url + description: Onap service base url + scope: short + type: url + - name: status + description: Onap service status + scope: short + type: long + - name: nodes + description: Onap service running nodes + scope: long + type: string + - name: location + description: Onap service location + scope: long + type: url +http: + request: + uri: /services + method: POST + body: '{"serviceName":"${service-name}","version":"${service-version}","url":"${service-url}","protocol":"REST","visualRange":"1","lb_policy":"hash","nodes":[{"ip":"${node-ip}","port":"${node-port}","ttl":0}]}' + headers: + queries: + createOrUpdate: ${create-or-update} + success_codes: + - 201 + - 200 + result_map: + name: $b{$.serviceName} + version: $b{$.version} + url: $b{$.url} + status: $b{$.status} + nodes: $b{$.nodes[*].ip}:$b{$.nodes[*].port} + location: $h{Location} + + 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/common-service/src/main/resources/microservice-delete-schema.yaml b/plugins/common-service/src/main/resources/microservice-delete-schema.yaml new file mode 100644 index 00000000..695efe1e --- /dev/null +++ b/plugins/common-service/src/main/resources/microservice-delete-schema.yaml @@ -0,0 +1,31 @@ +onap_cmd_schema_version: 1.0 +name: microservice-delete +description: Deletes the micro service from Onap +service: + name: msb + version: v1 + +parameters: + - name: service-name + description: Onap service name + type: string + short_option: x + long_option: service-name + is_optional: false + - name: service-version + description: Onap service version + type: string + short_option: y + long_option: service-version + is_optional: false +http: + request: + uri: /services/${service-name}/version/${service-version} + method: DELETE + success_codes: + - 201 + - 200 + - 204 + + + diff --git a/plugins/common-service/src/main/resources/microservice-list-schema.yaml b/plugins/common-service/src/main/resources/microservice-list-schema.yaml new file mode 100644 index 00000000..79dca5b1 --- /dev/null +++ b/plugins/common-service/src/main/resources/microservice-list-schema.yaml @@ -0,0 +1,49 @@ +onap_cmd_schema_version: 1.0 +name: microservice-list +description: Lists the registetred micro services in Onap +service: + name: msb + version: v1 + no-auth: true +results: + direction: landscape + attributes: + - name: name + description: Onap service name + scope: short + type: string + - name: version + description: Onap service version + scope: short + type: string + - name: url + description: Onap service base url + scope: short + type: url + - name: status + description: Onap service status + scope: short + type: long + - name: nodes + description: Onap service running nodes + scope: long + type: json +http: + request: + uri: /services + method: GET + success_codes: + - 201 + - 200 + result_map: + name: $b{$.[*].serviceName} + version: $b{$.[*].version} + url: $b{$.[*].url} + status: $b{$.[*].status} + nodes: $b{$.[*].nodes[*].ip}:$b{$.[*].nodes[*].port} + 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/common-service/src/main/resources/microservice-show-schema.yaml b/plugins/common-service/src/main/resources/microservice-show-schema.yaml new file mode 100644 index 00000000..47e33c6a --- /dev/null +++ b/plugins/common-service/src/main/resources/microservice-show-schema.yaml @@ -0,0 +1,62 @@ +onap_cmd_schema_version: 1.0 +name: microservice-show +description: Details the registered microservice in Onap +service: + name: msb + version: v1 + no-auth: true +parameters: + - name: service-name + description: Onap service name + type: string + short_option: x + long_option: service-name + is_optional: false + - name: service-version + description: Onap service version + type: string + short_option: y + long_option: service-version + is_optional: false +results: + direction: landscape + attributes: + - name: name + description: Onap service name + scope: short + type: string + - name: version + description: Onap service version + scope: short + type: string + - name: url + description: Onap service base url + scope: short + type: url + - name: status + description: Onap service status + scope: short + type: long + - name: nodes + description: Onap service running nodes + scope: long + type: json +http: + request: + uri: /services/${service-name}/version/${service-version} + method: GET + success_codes: + - 201 + - 200 + result_map: + name: $b{$.serviceName} + version: $b{$.version} + url: $b{$.url} + status: $b{$.status} + nodes: $b{$.nodes[*].ip}:$b{$.nodes[*].port} + 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/common-service/src/test/resources/service-list-schema.yaml b/plugins/common-service/src/test/resources/service-list-schema.yaml new file mode 100644 index 00000000..72e774b8 --- /dev/null +++ b/plugins/common-service/src/test/resources/service-list-schema.yaml @@ -0,0 +1,59 @@ +onap_cmd_schema_version: 1.0 +name: service-list +description: Onap Service list +service: + name: msb + version: v1 +results: + direction: landscape + attributes: + - name: name + description: Onap service name + scope: short + type: string + - name: version + description: Onap service version + scope: short + type: string + - name: url + description: Onap service base url + scope: short + type: url + - name: status + description: Onap service status + scope: short + type: long + - name: nodes + description: Onap service running nodes + scope: long + type: json + - name: server + description: test + scope: long + type: string +exec: + api: org.onap.common_services.microservice_bus.apiroute_service.client.api.MSBServiceResourceApi + client: org.onap.common_services.microservice_bus.apiroute_service.client.invoker.ApiClient + entity: org.onap.common_services.microservice_bus.apiroute_service.client.model.MicroServiceFullInfo + method: getMicroService + exception: org.onap.common_services.microservice_bus.apiroute_service.client.invoker.ApiException +http: + request: + uri: /services + method: GET + success_codes: + - 201 + - 200 + result_map: + name: $b{$.[*].serviceName} + version: $b{$.[*].version} + url: $b{$.[*].url} + status: $b{$.[*].status} + nodes: $b{$.[*].nodes[*].nodeId} + server: $h{Server}-$b{$.[*].nodes[*].nodeId} + 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/common-service/src/test/resources/user-create-schema.yaml b/plugins/common-service/src/test/resources/user-create-schema.yaml new file mode 100644 index 00000000..3f1e8866 --- /dev/null +++ b/plugins/common-service/src/test/resources/user-create-schema.yaml @@ -0,0 +1,47 @@ +onap_cmd_schema_version: 1.0 +name: user-create +description: Onap user create command. +service: + name: auth + version: v1 +parameters: + - name: username + type: string + description: Onap user name + short_option: n + long_option: username + is_optional: false + - name: password + type: string + description: Onap user password + short_option: c + long_option: password + is_secured: true + is_optional: false + - name: description + type: string + description: Onap user description + short_option: e + long_option: description + is_optional: true +results: + direction: portrait + attributes: + - name: name + description: Onap user name + scope: short + type: string + - name: id + description: Onap user id + scope: short + type: string + - name: description + description: Onap user description + scope: short + type: string +exec: + api: org.onap.common_services.auth.auth_service.client.api.DefaultApi + client: org.onap.common_services.auth.auth_service.client.invoker.ApiClient + entity: org.onap.common_services.auth.auth_service.client.model.User, username(userName), password, description + method: create + exception: org.onap.common_services.auth.auth_service.client.invoker.ApiException \ No newline at end of file diff --git a/plugins/pom.xml b/plugins/pom.xml new file mode 100644 index 00000000..ecccc79e --- /dev/null +++ b/plugins/pom.xml @@ -0,0 +1,49 @@ + + + + + 4.0.0 + + + org.onap.cli + cli + 1.0.0-SNAPSHOT + + + cli-plugins + cli/plugins + pom + + + junit + junit + 4.11 + test + + + org.onap.cli + cli-framework + 1.0.0-SNAPSHOT + + + + common-service + + -- cgit 1.2.3-korg