diff options
Diffstat (limited to 'plugins/common-service/src/main')
9 files changed, 327 insertions, 0 deletions
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"}' + + + + |