summaryrefslogtreecommitdiffstats
path: root/plugins/msb
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/msb')
-rw-r--r--plugins/msb/pom.xml41
-rw-r--r--plugins/msb/src/main/java/org/onap/cli/cmd/cs/msb/OnapServiceCreateCommand.java24
-rw-r--r--plugins/msb/src/main/java/org/onap/cli/cmd/cs/msb/OnapServiceDeleteCommand.java24
-rw-r--r--plugins/msb/src/main/java/org/onap/cli/cmd/cs/msb/OnapServiceListCommand.java24
-rw-r--r--plugins/msb/src/main/java/org/onap/cli/cmd/cs/msb/OnapServiceShowCommand.java24
-rw-r--r--plugins/msb/src/main/resources/META-INF/services/org.onap.cli.fw.OnapCommand4
-rw-r--r--plugins/msb/src/main/resources/microservice-create-schema.yaml85
-rw-r--r--plugins/msb/src/main/resources/microservice-delete-schema.yaml31
-rw-r--r--plugins/msb/src/main/resources/microservice-list-schema.yaml49
-rw-r--r--plugins/msb/src/main/resources/microservice-show-schema.yaml62
-rw-r--r--plugins/msb/src/test/resources/service-list-schema.yaml59
-rw-r--r--plugins/msb/src/test/resources/user-create-schema.yaml47
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