diff options
Diffstat (limited to 'plugins/msb')
12 files changed, 474 insertions, 0 deletions
diff --git a/plugins/msb/pom.xml b/plugins/msb/pom.xml new file mode 100644 index 00000000..18a76f87 --- /dev/null +++ b/plugins/msb/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</artifactId> + <version>1.0.0-SNAPSHOT</version> + </parent> + + <artifactId>cli-plugins-msb</artifactId> + <name>cli/plugins/msb</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/msb/src/main/java/org/onap/cli/cmd/cs/msb/OnapServiceCreateCommand.java b/plugins/msb/src/main/java/org/onap/cli/cmd/cs/msb/OnapServiceCreateCommand.java new file mode 100644 index 00000000..8b46e6b8 --- /dev/null +++ b/plugins/msb/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/msb/src/main/java/org/onap/cli/cmd/cs/msb/OnapServiceDeleteCommand.java b/plugins/msb/src/main/java/org/onap/cli/cmd/cs/msb/OnapServiceDeleteCommand.java new file mode 100644 index 00000000..595934d9 --- /dev/null +++ b/plugins/msb/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/msb/src/main/java/org/onap/cli/cmd/cs/msb/OnapServiceListCommand.java b/plugins/msb/src/main/java/org/onap/cli/cmd/cs/msb/OnapServiceListCommand.java new file mode 100644 index 00000000..436d187b --- /dev/null +++ b/plugins/msb/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/msb/src/main/java/org/onap/cli/cmd/cs/msb/OnapServiceShowCommand.java b/plugins/msb/src/main/java/org/onap/cli/cmd/cs/msb/OnapServiceShowCommand.java new file mode 100644 index 00000000..2256cc61 --- /dev/null +++ b/plugins/msb/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/msb/src/main/resources/META-INF/services/org.onap.cli.fw.OnapCommand b/plugins/msb/src/main/resources/META-INF/services/org.onap.cli.fw.OnapCommand new file mode 100644 index 00000000..527abe0c --- /dev/null +++ b/plugins/msb/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/msb/src/main/resources/microservice-create-schema.yaml b/plugins/msb/src/main/resources/microservice-create-schema.yaml new file mode 100644 index 00000000..13bd53b1 --- /dev/null +++ b/plugins/msb/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/msb/src/main/resources/microservice-delete-schema.yaml b/plugins/msb/src/main/resources/microservice-delete-schema.yaml new file mode 100644 index 00000000..695efe1e --- /dev/null +++ b/plugins/msb/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/msb/src/main/resources/microservice-list-schema.yaml b/plugins/msb/src/main/resources/microservice-list-schema.yaml new file mode 100644 index 00000000..79dca5b1 --- /dev/null +++ b/plugins/msb/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/msb/src/main/resources/microservice-show-schema.yaml b/plugins/msb/src/main/resources/microservice-show-schema.yaml new file mode 100644 index 00000000..47e33c6a --- /dev/null +++ b/plugins/msb/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/msb/src/test/resources/service-list-schema.yaml b/plugins/msb/src/test/resources/service-list-schema.yaml new file mode 100644 index 00000000..72e774b8 --- /dev/null +++ b/plugins/msb/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/msb/src/test/resources/user-create-schema.yaml b/plugins/msb/src/test/resources/user-create-schema.yaml new file mode 100644 index 00000000..3f1e8866 --- /dev/null +++ b/plugins/msb/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 |