diff options
Diffstat (limited to 'plugins/onap-1.1/features/msb')
14 files changed, 480 insertions, 0 deletions
diff --git a/plugins/onap-1.1/features/msb/pom.xml b/plugins/onap-1.1/features/msb/pom.xml new file mode 100644 index 00000000..c67ff7b2 --- /dev/null +++ b/plugins/onap-1.1/features/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-onap-1.1-features</artifactId> + <version>1.0.0-SNAPSHOT</version> + </parent> + + <artifactId>cli-plugins-onap-1.1-features-msb</artifactId> + <name>cli/plugins/onap-1.1/features/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/onap-1.1/features/msb/src/main/java/org/onap/cli/cmd/cs/msb/OnapServiceCreateCommand.java b/plugins/onap-1.1/features/msb/src/main/java/org/onap/cli/cmd/cs/msb/OnapServiceCreateCommand.java new file mode 100644 index 00000000..1ab3b97a --- /dev/null +++ b/plugins/onap-1.1/features/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", version = "onap-1.1", schema = "microservice-create-schema.yaml") +public class OnapServiceCreateCommand extends OnapHttpCommand { +} diff --git a/plugins/onap-1.1/features/msb/src/main/java/org/onap/cli/cmd/cs/msb/OnapServiceDeleteCommand.java b/plugins/onap-1.1/features/msb/src/main/java/org/onap/cli/cmd/cs/msb/OnapServiceDeleteCommand.java new file mode 100644 index 00000000..a7424fa0 --- /dev/null +++ b/plugins/onap-1.1/features/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", version = "onap-1.1", schema = "microservice-delete-schema.yaml") +public class OnapServiceDeleteCommand extends OnapHttpCommand { +} diff --git a/plugins/onap-1.1/features/msb/src/main/java/org/onap/cli/cmd/cs/msb/OnapServiceListCommand.java b/plugins/onap-1.1/features/msb/src/main/java/org/onap/cli/cmd/cs/msb/OnapServiceListCommand.java new file mode 100644 index 00000000..221b4c0e --- /dev/null +++ b/plugins/onap-1.1/features/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", version = "onap-1.1", schema = "microservice-list-schema.yaml") +public class OnapServiceListCommand extends OnapHttpCommand { +} diff --git a/plugins/onap-1.1/features/msb/src/main/java/org/onap/cli/cmd/cs/msb/OnapServiceShowCommand.java b/plugins/onap-1.1/features/msb/src/main/java/org/onap/cli/cmd/cs/msb/OnapServiceShowCommand.java new file mode 100644 index 00000000..40cb5315 --- /dev/null +++ b/plugins/onap-1.1/features/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", version = "onap-1.1", schema = "microservice-show-schema.yaml") +public class OnapServiceShowCommand extends OnapHttpCommand { +} diff --git a/plugins/onap-1.1/features/msb/src/main/resources/META-INF/services/org.onap.cli.fw.OnapCommand b/plugins/onap-1.1/features/msb/src/main/resources/META-INF/services/org.onap.cli.fw.OnapCommand new file mode 100644 index 00000000..527abe0c --- /dev/null +++ b/plugins/onap-1.1/features/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/onap-1.1/features/msb/src/main/resources/open-cli-schema/microservice-create-schema.yaml b/plugins/onap-1.1/features/msb/src/main/resources/open-cli-schema/microservice-create-schema.yaml new file mode 100644 index 00000000..79afd2c7 --- /dev/null +++ b/plugins/onap-1.1/features/msb/src/main/resources/open-cli-schema/microservice-create-schema.yaml @@ -0,0 +1,104 @@ +open_cli_schema_version: 1.0 +name: microservice-create +description: Register microservice into Onap +version: onap-1.1 +service: + name: msb + version: v1 + auth: none + +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: enable-ssl + description: Onap service is enabled with https or not + type: string + short_option: b + long_option: enable-ssl + is_optional: true + default: false + - name: path + description: Onap service path + type: string + short_option: c + long_option: path + is_optional: true + - 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: digit + - name: nodes + description: Onap service running nodes + scope: long + type: string + - name: enable-ssl + description: Onap service is enabled with https or not + scope: long + type: string + - name: path + description: Onap service path + scope: long + type: string +http: + request: + uri: /services + method: POST + body: '{"serviceName":"${service-name}","version":"${service-version}","path":"${path}","url":"${service-url}","protocol":"REST", "enable_ssl":"${enable-ssl}", "visualRange":"1","lb_policy":"ip_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} + enable-ssl: $b{$.enable_ssl} + path: $b{$.path} + 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/onap-1.1/features/msb/src/main/resources/open-cli-schema/microservice-delete-schema.yaml b/plugins/onap-1.1/features/msb/src/main/resources/open-cli-schema/microservice-delete-schema.yaml new file mode 100644 index 00000000..82eabf95 --- /dev/null +++ b/plugins/onap-1.1/features/msb/src/main/resources/open-cli-schema/microservice-delete-schema.yaml @@ -0,0 +1,46 @@ +open_cli_schema_version: 1.0 +name: microservice-delete +description: Deletes the micro service from Onap +version: onap-1.1 +service: + name: msb + version: v1 + auth: none + +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: node-ip + description: Onap service running node IP + type: string + short_option: i + long_option: node-ip + is_optional: false + - name: node-port + description: Onap service running node port + type: string + short_option: r + long_option: node-port + is_optional: false +http: + request: + uri: /services/${service-name}/version/${service-version}/nodes/${node-ip}/${node-port} + method: DELETE + success_codes: + - 201 + - 200 + - 204 + - 500 + + + diff --git a/plugins/onap-1.1/features/msb/src/main/resources/open-cli-schema/microservice-list-schema.yaml b/plugins/onap-1.1/features/msb/src/main/resources/open-cli-schema/microservice-list-schema.yaml new file mode 100644 index 00000000..52014c9b --- /dev/null +++ b/plugins/onap-1.1/features/msb/src/main/resources/open-cli-schema/microservice-list-schema.yaml @@ -0,0 +1,60 @@ +open_cli_schema_version: 1.0 +name: microservice-list +description: Lists the registetred micro services in Onap +version: onap-1.1 +service: + name: msb + version: v1 + auth: none +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: digit + - name: nodes + description: Onap service running nodes + scope: long + type: json + - name: enable-ssl + description: Onap service is enabled with https or not + scope: long + type: string + - name: path + description: Onap service path + scope: long + type: string +http: + request: + uri: /services + method: GET + success_codes: + - 201 + - 200 + result_map: + name: $b{$.[*].serviceName} + version: $b{$.[*].version} + url: $b{$.[*].url} + status: $b{$.[*].status} + enable-ssl: $b{$.[*].enable_ssl} + path: $b{$.[*].path} + 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/onap-1.1/features/msb/src/main/resources/open-cli-schema/microservice-show-schema.yaml b/plugins/onap-1.1/features/msb/src/main/resources/open-cli-schema/microservice-show-schema.yaml new file mode 100644 index 00000000..a9e1cced --- /dev/null +++ b/plugins/onap-1.1/features/msb/src/main/resources/open-cli-schema/microservice-show-schema.yaml @@ -0,0 +1,73 @@ +open_cli_schema_version: 1.0 +name: microservice-show +description: Details the registered microservice in Onap +version: onap-1.1 +service: + name: msb + version: v1 + auth: none +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: 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: digit + - name: nodes + description: Onap service running nodes + scope: long + type: json + - name: enable-ssl + description: Onap service is enabled with https or not + scope: long + type: string + - name: path + description: Onap service path + scope: long + type: string +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} + enable-ssl: $b{$.enable_ssl} + path: $b{$.path} + 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/onap-1.1/features/msb/src/test/resources/open-cli-sample/msb-create-service-sample-1.1.yaml b/plugins/onap-1.1/features/msb/src/test/resources/open-cli-sample/msb-create-service-sample-1.1.yaml new file mode 100644 index 00000000..d316f388 --- /dev/null +++ b/plugins/onap-1.1/features/msb/src/test/resources/open-cli-sample/msb-create-service-sample-1.1.yaml @@ -0,0 +1,20 @@ +onap_cli_sample_version: 1.0 + +name: microservice-create +version: onap-1.1 +samples: + sample1: + name: Create a service + input: --service-name test-service --service-version v1 --service-url /api/test/v1 --host-url http://192.168.17.23:80 23.14.15.156 80 + output: | + +----------+------------------------------------+ + |property |value | + +----------+------------------------------------+ + |name |test-service | + +----------+------------------------------------+ + |version |v1 | + +----------+------------------------------------+ + |url |/api/test/v1 | + +----------+------------------------------------+ + |status |1 | + +----------+------------------------------------+
\ No newline at end of file diff --git a/plugins/onap-1.1/features/msb/src/test/resources/open-cli-sample/msb-delete-service-sample-1.1.yaml b/plugins/onap-1.1/features/msb/src/test/resources/open-cli-sample/msb-delete-service-sample-1.1.yaml new file mode 100644 index 00000000..2aaadb22 --- /dev/null +++ b/plugins/onap-1.1/features/msb/src/test/resources/open-cli-sample/msb-delete-service-sample-1.1.yaml @@ -0,0 +1,8 @@ +onap_cli_sample_version: 1.0 + +name: microservice-delete +version: onap-1.1 +samples: + sample1: + name: Delete a service + input: --service-name test-service --service-version v1 --host-url http://192.168.17.23:80 --node-ip 23.14.15.156 --node-port 80
\ No newline at end of file diff --git a/plugins/onap-1.1/features/msb/src/test/resources/open-cli-sample/msb-list-service-sample-1.1.yaml b/plugins/onap-1.1/features/msb/src/test/resources/open-cli-sample/msb-list-service-sample-1.1.yaml new file mode 100644 index 00000000..178a9c85 --- /dev/null +++ b/plugins/onap-1.1/features/msb/src/test/resources/open-cli-sample/msb-list-service-sample-1.1.yaml @@ -0,0 +1,14 @@ +onap_cli_sample_version: 1.0 + +name: microservice-list +version: onap-1.1 +samples: + sample1: + name: List a service + input: --host-url http://192.168.17.23:80 + output: | + +--------------+----------+------------------------------------+--------+------------------+ + |name |version |url |status |nodes | + +--------------+----------+------------------------------------+--------+------------------+ + |test-service |v1 |/C:/Program Files/Git/api/test/v1 |1 |23.14.15.156:80 | + +--------------+----------+------------------------------------+--------+------------------+
\ No newline at end of file diff --git a/plugins/onap-1.1/features/msb/src/test/resources/open-cli-sample/msb-show-service-sample-1.1.yaml b/plugins/onap-1.1/features/msb/src/test/resources/open-cli-sample/msb-show-service-sample-1.1.yaml new file mode 100644 index 00000000..abf1f110 --- /dev/null +++ b/plugins/onap-1.1/features/msb/src/test/resources/open-cli-sample/msb-show-service-sample-1.1.yaml @@ -0,0 +1,14 @@ +onap_cli_sample_version: 1.0 + +name: microservice-show +version: onap-1.1 +samples: + sample1: + name: Show a service + input: --service-name test-service --service-version v1 --host-url http://192.168.17.23:80 + output: | + +--------------+----------+------------------------------------+--------+------------------+ + |name |version |url |status |nodes | + +--------------+----------+------------------------------------+--------+------------------+ + |test-service |v1 |/C:/Program Files/Git/api/test/v1 |1 |23.14.15.156:80 | + +--------------+----------+------------------------------------+--------+------------------+
\ No newline at end of file |