summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--framework/src/main/java/org/onap/cli/fw/utils/ProcessRunner.java8
-rw-r--r--framework/src/test/java/org/onap/cli/fw/cmd/execution/OnapCommandExceutionListCommandTest.java69
-rw-r--r--framework/src/test/java/org/onap/cli/fw/cmd/execution/OnapCommandExceutionShowErrCommandTest.java52
-rw-r--r--framework/src/test/java/org/onap/cli/fw/utils/ProcessRunnerTest.java45
-rw-r--r--main/src/test/java/open/infc/grpc/client/OpenRemoteCliTest.java53
-rw-r--r--products/onap-elalto/features/aai/src/main/resources/open-cli-schema/esr/vim/vim-create-schema-elalto.yaml122
-rw-r--r--products/onap-elalto/features/aai/src/main/resources/open-cli-schema/esr/vim/vim-delete-schema-elalto.yaml66
-rw-r--r--products/onap-elalto/features/aai/src/main/resources/open-cli-schema/esr/vim/vim-list-schema-elalto.yaml104
-rw-r--r--products/onap-elalto/features/aai/src/main/resources/open-cli-schema/esr/vnfm/vnfm-create-schema-elalto.yaml98
-rw-r--r--products/onap-elalto/features/aai/src/main/resources/open-cli-schema/esr/vnfm/vnfm-delete-schema-elalto.yaml50
-rw-r--r--products/onap-elalto/features/aai/src/main/resources/open-cli-schema/esr/vnfm/vnfm-list-schema-elalto.yaml60
-rw-r--r--products/onap-elalto/features/aai/src/main/resources/open-cli-schema/esr/vnfm/vnfm-show-schema-elalto.yaml80
-rw-r--r--products/onap-elalto/features/aai/src/main/resources/open-cli-schema/infra/cloud/cloud-delete-schema-elalto.yaml52
-rw-r--r--products/onap-elalto/features/aai/src/main/resources/open-cli-schema/infra/cloud/cloud-flavor-list-schema-elalto.yaml81
-rw-r--r--products/onap-elalto/features/aai/src/main/resources/open-cli-schema/infra/cloud/cloud-list-schema-elalto.yaml71
15 files changed, 951 insertions, 60 deletions
diff --git a/framework/src/main/java/org/onap/cli/fw/utils/ProcessRunner.java b/framework/src/main/java/org/onap/cli/fw/utils/ProcessRunner.java
index db7245c7..d36a0d6c 100644
--- a/framework/src/main/java/org/onap/cli/fw/utils/ProcessRunner.java
+++ b/framework/src/main/java/org/onap/cli/fw/utils/ProcessRunner.java
@@ -153,17 +153,11 @@ public class ProcessRunner {
public String streamToString(InputStream stream) throws IOException {
StringBuilder sb = new StringBuilder();
- BufferedReader br = null;
- try {
- br = new BufferedReader(new InputStreamReader(stream));
+ try (BufferedReader br = new BufferedReader(new InputStreamReader(stream))) {
String line = null;
while ((line = br.readLine()) != null) {
sb.append(line + System.getProperty("line.separator"));
}
- } finally {
- if (br != null) {
- br.close();
- }
}
return sb.toString();
}
diff --git a/framework/src/test/java/org/onap/cli/fw/cmd/execution/OnapCommandExceutionListCommandTest.java b/framework/src/test/java/org/onap/cli/fw/cmd/execution/OnapCommandExceutionListCommandTest.java
new file mode 100644
index 00000000..c7be1383
--- /dev/null
+++ b/framework/src/test/java/org/onap/cli/fw/cmd/execution/OnapCommandExceutionListCommandTest.java
@@ -0,0 +1,69 @@
+/*
+ * Copyright 2019 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.fw.cmd.execution;
+
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.onap.cli.fw.error.OnapCommandException;
+import org.onap.cli.fw.output.OnapCommandResultAttribute;
+import org.onap.cli.fw.store.OnapCommandExecutionStoreTest;
+import org.onap.cli.fw.utils.FileUtil;
+
+import java.io.File;
+import java.util.List;
+
+import static org.junit.Assert.*;
+
+public class OnapCommandExceutionListCommandTest {
+ static OnapCommandExecutionStoreTest executionStoreTest;
+
+ @BeforeClass
+ public static void setUp() throws Exception {
+ executionStoreTest = new OnapCommandExecutionStoreTest();
+ executionStoreTest.setUp();
+ executionStoreTest.storeExectutionStartTest();
+ }
+
+ @Test
+ public void runTest() throws OnapCommandException {
+ OnapCommandExceutionListCommand cmd = new OnapCommandExceutionListCommand();
+ cmd.initializeSchema("execution-list.yaml");
+ cmd.execute();
+ List<OnapCommandResultAttribute> oclipCommandResultAttributes = cmd.getResult()
+ .getRecords();
+ assertTrue(oclipCommandResultAttributes.size() > 1);
+
+ }
+ public static boolean deleteDirectory(File file) {
+ if (!file.exists()) {
+ return true;
+ }
+ if (file.isDirectory()) {
+ for (File f : file.listFiles()) {
+ deleteDirectory(f);
+ }
+ }
+ return file.delete();
+ }
+@AfterClass
+ public static void tearDown() throws Exception {
+ String dirPathForExecutions = System.getProperty("user.dir") + File.separator + "data/executions";
+ File executionsFile = new File(dirPathForExecutions);
+ assertTrue(deleteDirectory(executionsFile));
+ }
+} \ No newline at end of file
diff --git a/framework/src/test/java/org/onap/cli/fw/cmd/execution/OnapCommandExceutionShowErrCommandTest.java b/framework/src/test/java/org/onap/cli/fw/cmd/execution/OnapCommandExceutionShowErrCommandTest.java
new file mode 100644
index 00000000..0aa1c3f5
--- /dev/null
+++ b/framework/src/test/java/org/onap/cli/fw/cmd/execution/OnapCommandExceutionShowErrCommandTest.java
@@ -0,0 +1,52 @@
+/*
+ * Copyright 2019 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.fw.cmd.execution;
+
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.onap.cli.fw.error.OnapCommandException;
+import org.onap.cli.fw.store.OnapCommandExecutionStoreTest;
+import org.onap.cli.fw.utils.FileUtil;
+
+import java.io.File;
+
+import static org.junit.Assert.*;
+
+public class OnapCommandExceutionShowErrCommandTest {
+ static OnapCommandExecutionStoreTest executionStoreTest;
+ @BeforeClass
+ public static void setUp() throws Exception {
+ executionStoreTest= new OnapCommandExecutionStoreTest();
+ executionStoreTest.setUp();
+ executionStoreTest.storeExectutionStartTest();
+ }
+ @Test
+ public void runTest() throws OnapCommandException {
+ OnapCommandExceutionShowErrCommand cmd=new OnapCommandExceutionShowErrCommand();
+ cmd.initializeSchema("execution-show-err.yaml");
+ cmd.getParametersMap().get("execution-id").setValue("requestId");
+ cmd.execute();
+ assertNotNull(cmd.getResult().getOutput());
+ }
+
+ @AfterClass
+ public static void tearDown() throws Exception {
+ String dirPathForExecutions = System.getProperty("user.dir") + File.separator + "data/executions";
+ File executionsDir = new File(dirPathForExecutions);
+ assertTrue(OnapCommandExceutionListCommandTest.deleteDirectory(executionsDir));
+ }
+} \ No newline at end of file
diff --git a/framework/src/test/java/org/onap/cli/fw/utils/ProcessRunnerTest.java b/framework/src/test/java/org/onap/cli/fw/utils/ProcessRunnerTest.java
new file mode 100644
index 00000000..2e5b2ab9
--- /dev/null
+++ b/framework/src/test/java/org/onap/cli/fw/utils/ProcessRunnerTest.java
@@ -0,0 +1,45 @@
+/*
+ * Copyright 2018 Samsung Electronics 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.fw.utils;
+
+import java.io.IOException;
+import java.io.InputStream;
+import org.apache.commons.io.IOUtils;
+import org.junit.After;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+
+public class ProcessRunnerTest {
+ ProcessRunner processRunner;
+
+ @Before
+ public void setUp() throws Exception {
+ processRunner = new ProcessRunner("ls -l");
+ }
+
+ @After
+ public void tearDown() throws Exception {}
+
+ @Test
+ public void testStreamToString() throws IOException {
+ InputStream stubInputStream = IOUtils.toInputStream("Test stream", "UTF-8");
+ String out = processRunner.streamToString(stubInputStream);
+ Assert.assertEquals("Test stream\n", out);
+ }
+
+}
diff --git a/main/src/test/java/open/infc/grpc/client/OpenRemoteCliTest.java b/main/src/test/java/open/infc/grpc/client/OpenRemoteCliTest.java
deleted file mode 100644
index 6b060a60..00000000
--- a/main/src/test/java/open/infc/grpc/client/OpenRemoteCliTest.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Copyright 2019 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.open.infc.grpc.client;
-
-import org.junit.Before;
-import org.junit.Test;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import static org.junit.Assert.*;
-
-public class OpenRemoteCliTest {
- OpenRemoteCli openRemoteCli;
- @Before
- public void setUp() throws Exception {
- openRemoteCli= new OpenRemoteCli("localhost",8080,123,"abc");
- }
- @Test(expected = OpenInterfaceGrpcClient.OpenInterfaceGrpcTimeoutExecption.class)
- public void runTest() throws Exception {
- List<String > list =new ArrayList<>();
- list.add("abc");
- openRemoteCli.run(list);
- }
- @Test(expected = OpenInterfaceGrpcClient.OpenInterfaceGrpcTimeoutExecption.class)
- public void runTest2() throws Exception {
- List<String > list =new ArrayList<>();
- list.add("abc");
- openRemoteCli.run("localhost",8080,"abc",list);
- }
- @Test(expected = OpenInterfaceGrpcClient.OpenInterfaceGrpcTimeoutExecption.class)
- public void invokeTest() throws Exception {
- Map<String, String> map = new HashMap<>();
- map.put("product", "product");
- openRemoteCli.invoke("localhost",8080,"product","profile","action","abc123",map);
- }
-} \ No newline at end of file
diff --git a/products/onap-elalto/features/aai/src/main/resources/open-cli-schema/esr/vim/vim-create-schema-elalto.yaml b/products/onap-elalto/features/aai/src/main/resources/open-cli-schema/esr/vim/vim-create-schema-elalto.yaml
new file mode 100644
index 00000000..eaa10c26
--- /dev/null
+++ b/products/onap-elalto/features/aai/src/main/resources/open-cli-schema/esr/vim/vim-create-schema-elalto.yaml
@@ -0,0 +1,122 @@
+# Copyright 2019 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.
+
+open_cli_schema_version: 1.0
+name: vim-create
+description: Register a VIM under a given cloud region in Onap
+
+info:
+ product: onap-elalto
+ service: aai
+ author: ONAP CLI Team onap-discuss@lists.onap.org
+
+parameters:
+ - name: cloud-name
+ description: Onap cloud name
+ type: string
+ short_option: x
+ long_option: cloud-name
+ is_optional: false
+ - name: region-name
+ description: Onap region name
+ type: string
+ short_option: y
+ long_option: region-name
+ is_optional: false
+ - name: vim-id
+ description: Onap VIM unique id
+ type: uuid
+ short_option: z
+ long_option: vim-id
+ is_optional: false
+ - name: name
+ description: Onap VIM name
+ type: string
+ short_option: b
+ long_option: name
+ is_optional: false
+ - name: type
+ description: Onap VIM type
+ type: string
+ short_option: c
+ long_option: type
+ is_optional: false
+ - name: vendor
+ description: Onap VIM vendor
+ type: string
+ short_option: e
+ long_option: vendor
+ is_optional: false
+ - name: vim-version
+ description: Onap VIM version
+ type: string
+ short_option: q
+ long_option: vim-version
+ is_optional: false
+ - name: url
+ description: Onap VIM URL
+ type: string
+ short_option: g
+ long_option: url
+ is_optional: false
+ - name: username
+ description: Onap VIM username
+ type: string
+ short_option: i
+ long_option: username
+ is_optional: false
+ - name: password
+ description: Onap VIM password
+ type: string
+ short_option: j
+ long_option: password
+ is_optional: false
+ - name: ssl-cacert
+ description: Onap VIM SSL certificate
+ type: text
+ short_option: k
+ long_option: ssl-cacert
+ is_optional: true
+ - name: ssl-insecure
+ description: Onap VIM insecure
+ type: bool
+ short_option: l
+ long_option: ssl-insecure
+ is_optional: true
+ default: false
+ - name: cloud-domain
+ description: Onap VIM cloud domain
+ type: string
+ short_option: n
+ long_option: cloud-domain
+ is_optional: false
+ default: default
+ - name: default-tenant
+ description: Onap VIM default tenant
+ type: string
+ short_option: o
+ long_option: default-tenant
+ is_optional: false
+
+http:
+ service:
+ auth: basic
+ mode: direct
+ request:
+ uri: /aai/v16/cloud-infrastructure/cloud-regions/cloud-region/${cloud-name}/${region-name}/esr-system-info-list/esr-system-info/${vim-id}
+ method: PUT
+ body: '{"esr-system-info-id":"${vim-id}","system-name":"${name}","type":"${type}","vendor":"${vendor}","version":"${vim-version}","service-url":"${url}","user-name":"${username}","password":"${password}","system-type":"vim","protocal":"","ssl-cacert":"${ssl-cacert}","ssl-insecure":"${ssl-insecure}","ip-address":"","port":"","cloud-domain":"${cloud-domain}","default-tenant":"${default-tenant}"}'
+ success_codes:
+ - 201
+
diff --git a/products/onap-elalto/features/aai/src/main/resources/open-cli-schema/esr/vim/vim-delete-schema-elalto.yaml b/products/onap-elalto/features/aai/src/main/resources/open-cli-schema/esr/vim/vim-delete-schema-elalto.yaml
new file mode 100644
index 00000000..8fa2cdcc
--- /dev/null
+++ b/products/onap-elalto/features/aai/src/main/resources/open-cli-schema/esr/vim/vim-delete-schema-elalto.yaml
@@ -0,0 +1,66 @@
+# Copyright 2019 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.
+
+open_cli_schema_version: 1.0
+
+name: vim-delete
+
+description: Un-register a VIM under from cloud region in Onap
+
+
+info:
+ product: onap-elalto
+ service: aai
+ author: ONAP CLI Team onap-discuss@lists.onap.org
+
+parameters:
+ - name: cloud-name
+ description: Onap cloud name
+ type: string
+ short_option: x
+ long_option: cloud-name
+ is_optional: false
+ - name: region-name
+ description: Onap region name
+ type: string
+ short_option: y
+ long_option: region-name
+ is_optional: false
+ - name: vim-id
+ description: Onap VIM unique id
+ type: uuid
+ short_option: z
+ long_option: vim-id
+ is_optional: false
+ - name: resource-version
+ description: Onap vim resource version
+ type: string
+ short_option: b
+ long_option: resource-version
+ is_optional: true
+
+http:
+ service:
+ auth: basic
+ mode: direct
+ request:
+ uri: /aai/v16/cloud-infrastructure/cloud-regions/cloud-region/${cloud-name}/${region-name}/esr-system-info-list/esr-system-info/${vim-id}?resource-version=${resource-version}
+ method: DELETE
+
+ success_codes:
+ - 204
+ - 404
+
+ sample_response:
+ body: ''
diff --git a/products/onap-elalto/features/aai/src/main/resources/open-cli-schema/esr/vim/vim-list-schema-elalto.yaml b/products/onap-elalto/features/aai/src/main/resources/open-cli-schema/esr/vim/vim-list-schema-elalto.yaml
new file mode 100644
index 00000000..bf9edeaf
--- /dev/null
+++ b/products/onap-elalto/features/aai/src/main/resources/open-cli-schema/esr/vim/vim-list-schema-elalto.yaml
@@ -0,0 +1,104 @@
+# Copyright 2019 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.
+
+open_cli_schema_version: 1.0
+
+name: vim-list
+
+description: List the configured vims
+
+
+info:
+ product: onap-elalto
+ service: aai
+ author: ONAP CLI Team onap-discuss@lists.onap.org
+
+parameters:
+ - name: cloud-name
+ description: Onap cloud name
+ type: string
+ short_option: x
+ long_option: cloud-name
+ is_optional: false
+ - name: region-name
+ description: Onap region name
+ type: string
+ short_option: y
+ long_option: region-name
+ is_optional: false
+
+results:
+ direction: landscape
+ attributes:
+ - name: vim-id
+ description: Onap vim id
+ scope: short
+ type: string
+ - name: name
+ description: Onap vim name
+ scope: short
+ type: string
+ - name: type
+ description: Onap vim type
+ scope: long
+ type: string
+ - name: vendor
+ description: Onap vim vendor
+ scope: short
+ type: string
+ - name: version
+ description: Onap vim version
+ scope: long
+ type: string
+ - name: url
+ description: Onap vim url
+ scope: long
+ type: string
+ - name: username
+ description: Onap vim username
+ scope: long
+ type: string
+ - name: cloud-domain
+ description: Onap vim cloud domain
+ scope: long
+ type: string
+ - name: default-tenant
+ description: Onap vim tenant
+ scope: short
+ type: string
+ - name: resource-version
+ description: Onap vim resource version
+ scope: short
+ type: string
+
+http:
+ service:
+ auth: basic
+ mode: direct
+ request:
+ uri: /aai/v16/cloud-infrastructure/cloud-regions/cloud-region/${cloud-name}/${region-name}/esr-system-info-list
+ method: GET
+ success_codes:
+ - 200
+ result_map:
+ vim-id: $b{$.esr-system-info.[*].esr-system-info-id}
+ name: $b{$.esr-system-info.[*].system-name}
+ type: $b{$.esr-system-info.[*].type}
+ vendor: $b{$.esr-system-info.[*].vendor}
+ version: $b{$.esr-system-info.[*].version}
+ url: $b{$.esr-system-info.[*].service-url}
+ username: $b{$.esr-system-info.[*].user-name}
+ cloud-domain: $b{$.esr-system-info.[*].cloud-domain}
+ default-tenant: $b{$.esr-system-info.[*].default-tenant}
+ resource-version: $b{$.esr-system-info.[*].resource-version}
diff --git a/products/onap-elalto/features/aai/src/main/resources/open-cli-schema/esr/vnfm/vnfm-create-schema-elalto.yaml b/products/onap-elalto/features/aai/src/main/resources/open-cli-schema/esr/vnfm/vnfm-create-schema-elalto.yaml
new file mode 100644
index 00000000..0a58f09b
--- /dev/null
+++ b/products/onap-elalto/features/aai/src/main/resources/open-cli-schema/esr/vnfm/vnfm-create-schema-elalto.yaml
@@ -0,0 +1,98 @@
+# Copyright 2019 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.
+
+open_cli_schema_version: 1.0
+
+name: vnfm-create
+
+description: Register a VNFM in Onap
+
+
+info:
+ product: onap-elalto
+ service: aai
+ author: ONAP CLI Team onap-discuss@lists.onap.org
+
+parameters:
+ - name: vim-id
+ description: Onap VIM unique id
+ type: uuid
+ short_option: x
+ long_option: vim-id
+ is_optional: false
+ - name: vnfm-id
+ description: Onap VNFM unique id
+ type: uuid
+ short_option: y
+ long_option: vnfm-id
+ is_optional: false
+ - name: name
+ description: Onap VNFM name
+ type: string
+ short_option: b
+ long_option: name
+ is_optional: false
+ - name: type
+ description: Onap VNFM type
+ type: string
+ short_option: c
+ long_option: type
+ is_optional: false
+ - name: vendor
+ description: Onap VNFM vendor
+ type: string
+ short_option: e
+ long_option: vendor
+ is_optional: false
+ - name: vnfm-version
+ description: Onap VNFM version
+ type: string
+ short_option: q
+ long_option: vnfm-version
+ is_optional: false
+ - name: url
+ description: Onap VNFM URL
+ type: string
+ short_option: g
+ long_option: url
+ is_optional: false
+ - name: username
+ description: Onap VNFM username
+ type: string
+ short_option: i
+ long_option: username
+ is_optional: false
+ - name: password
+ description: Onap VNFM password
+ type: string
+ short_option: j
+ long_option: password
+ is_optional: false
+ - name: certificate-url
+ description: Onap VNFM certificate-url
+ type: string
+ short_option: z
+ long_option: certificate-url
+ is_optional: true
+
+http:
+ service:
+ auth: basic
+ mode: direct
+ request:
+ uri: /aai/v16/external-system/esr-vnfm-list/esr-vnfm/${vnfm-id}
+ method: PUT
+ body: '{"vnfm-id":"${vnfm-id}","vim-id":"${vim-id}","certificate-url":"${certificate-url}","esr-system-info-list":{"esr-system-info":[{"esr-system-info-id":"${vnfm-id}","system-name":"${name}","type":"${type}","vendor":"${vendor}","version":"${vnfm-version}","service-url":"${url}","user-name":"${username}","password":"${password}","system-type":"vnfm","protocal":"","ssl-cacert":"","ssl-insecure":"","ip-address":"","port":"","cloud-domain":"","default-tenant":""}]}}'
+ success_codes:
+ - 201
diff --git a/products/onap-elalto/features/aai/src/main/resources/open-cli-schema/esr/vnfm/vnfm-delete-schema-elalto.yaml b/products/onap-elalto/features/aai/src/main/resources/open-cli-schema/esr/vnfm/vnfm-delete-schema-elalto.yaml
new file mode 100644
index 00000000..5faedc34
--- /dev/null
+++ b/products/onap-elalto/features/aai/src/main/resources/open-cli-schema/esr/vnfm/vnfm-delete-schema-elalto.yaml
@@ -0,0 +1,50 @@
+# Copyright 2019 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.
+
+open_cli_schema_version: 1.0
+
+name: vnfm-delete
+
+description: Un-register a VNFM in Onap
+
+
+info:
+ product: onap-elalto
+ service: aai
+ author: ONAP CLI Team onap-discuss@lists.onap.org
+
+parameters:
+ - name: vnfm-id
+ description: Onap VNFM unique id
+ type: uuid
+ short_option: x
+ long_option: vnfm-id
+ is_optional: false
+ - name: resource-version
+ description: Onap vim resource version
+ type: string
+ short_option: y
+ long_option: resource-version
+ is_optional: true
+http:
+ service:
+ auth: basic
+ mode: direct
+ request:
+ uri: /aai/v16/external-system/esr-vnfm-list/esr-vnfm/${vnfm-id}?resource-version=${resource-version}
+ method: DELETE
+
+ success_codes:
+ - 204
+ - 404
diff --git a/products/onap-elalto/features/aai/src/main/resources/open-cli-schema/esr/vnfm/vnfm-list-schema-elalto.yaml b/products/onap-elalto/features/aai/src/main/resources/open-cli-schema/esr/vnfm/vnfm-list-schema-elalto.yaml
new file mode 100644
index 00000000..5fbc9c93
--- /dev/null
+++ b/products/onap-elalto/features/aai/src/main/resources/open-cli-schema/esr/vnfm/vnfm-list-schema-elalto.yaml
@@ -0,0 +1,60 @@
+# Copyright 2019 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.
+
+open_cli_schema_version: 1.0
+
+name: vnfm-list
+
+description: List the configured vnfm
+
+
+info:
+ product: onap-elalto
+ service: aai
+ author: ONAP CLI Team onap-discuss@lists.onap.org
+
+results:
+ direction: landscape
+ attributes:
+ - name: vnfm-id
+ description: Onap vnfm id
+ scope: short
+ type: string
+ - name: vim-id
+ description: Onap vnfm id
+ scope: short
+ type: string
+ - name: certificate-url
+ description: Onap vnfm certificate-url
+ scope: short
+ type: string
+ - name: resource-version
+ description: Onap vnfm resource version
+ scope: short
+ type: string
+
+http:
+ service:
+ auth: basic
+ mode: direct
+ request:
+ uri: /aai/v16/external-system/esr-vnfm-list
+ method: GET
+ success_codes:
+ - 200
+ result_map:
+ vnfm-id: $b{$.esr-vnfm.[*].vnfm-id}
+ vim-id: $b{$.esr-vnfm.[*].vim-id}
+ certificate-url: $b{$.esr-vnfm.[*].certificate-url}
+ resource-version: $b{$.esr-vnfm.[*].resource-version}
diff --git a/products/onap-elalto/features/aai/src/main/resources/open-cli-schema/esr/vnfm/vnfm-show-schema-elalto.yaml b/products/onap-elalto/features/aai/src/main/resources/open-cli-schema/esr/vnfm/vnfm-show-schema-elalto.yaml
new file mode 100644
index 00000000..adea19d3
--- /dev/null
+++ b/products/onap-elalto/features/aai/src/main/resources/open-cli-schema/esr/vnfm/vnfm-show-schema-elalto.yaml
@@ -0,0 +1,80 @@
+# Copyright 2019 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.
+
+open_cli_schema_version: 1.0
+
+name: vnfm-show
+
+description: Show the VNFM in Onap
+
+
+info:
+ product: onap-elalto
+ service: aai
+ author: ONAP CLI Team onap-discuss@lists.onap.org
+
+parameters:
+ - name: vnfm-id
+ description: Onap VNFM unique id
+ type: uuid
+ short_option: x
+ long_option: vnfm-id
+ is_optional: false
+
+results:
+ direction: portrait
+ attributes:
+ - name: name
+ description: Onap vnfm name
+ scope: short
+ type: string
+ - name: type
+ description: Onap vnfm type
+ scope: short
+ type: string
+ - name: vendor
+ description: Onap vnfm vendor
+ scope: short
+ type: string
+ - name: version
+ description: Onap vnfm version
+ scope: short
+ type: string
+ - name: url
+ description: Onap vnfm url
+ scope: short
+ type: string
+ - name: username
+ description: Onap vnfm username
+ scope: long
+ type: string
+
+http:
+ service:
+ auth: basic
+ mode: direct
+ request:
+ uri: /aai/v16/external-system/esr-vnfm-list/esr-vnfm/${vnfm-id}/esr-system-info-list/esr-system-info/${vnfm-id}
+ method: GET
+
+ success_codes:
+ - 200
+ result_map:
+ name: $b{$.system-name}
+ type: $b{$.type}
+ vendor: $b{$.vendor}
+ version: $b{$.version}
+ url: $b{$.service-url}
+ username: $b{$.user-name}
+
diff --git a/products/onap-elalto/features/aai/src/main/resources/open-cli-schema/infra/cloud/cloud-delete-schema-elalto.yaml b/products/onap-elalto/features/aai/src/main/resources/open-cli-schema/infra/cloud/cloud-delete-schema-elalto.yaml
new file mode 100644
index 00000000..f206438f
--- /dev/null
+++ b/products/onap-elalto/features/aai/src/main/resources/open-cli-schema/infra/cloud/cloud-delete-schema-elalto.yaml
@@ -0,0 +1,52 @@
+# Copyright 2019 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.
+
+open_cli_schema_version: 1.0
+name: cloud-delete
+description: Delete a cloud region from Onap
+
+info:
+ product: onap-elalto
+ service: aai
+ author: ONAP CLI Team onap-discuss@lists.onap.org
+
+parameters:
+ - name: cloud-name
+ description: Onap cloud name
+ type: string
+ short_option: x
+ long_option: cloud-name
+ is_optional: false
+ - name: region-name
+ description: Onap cloud region name
+ type: string
+ short_option: y
+ long_option: region-name
+ is_optional: false
+ - name: resource-version
+ description: Onap cloud region version
+ type: uuid
+ short_option: z
+ long_option: resource-version
+ is_optional: true
+http:
+ service:
+ auth: basic
+ mode: direct
+ request:
+ uri: /aai/v16/cloud-infrastructure/cloud-regions/cloud-region/${cloud-name}/${region-name}?resource-version=${resource-version}
+ method: DELETE
+ success_codes:
+ - 204
+ - 404
diff --git a/products/onap-elalto/features/aai/src/main/resources/open-cli-schema/infra/cloud/cloud-flavor-list-schema-elalto.yaml b/products/onap-elalto/features/aai/src/main/resources/open-cli-schema/infra/cloud/cloud-flavor-list-schema-elalto.yaml
new file mode 100644
index 00000000..0dee8068
--- /dev/null
+++ b/products/onap-elalto/features/aai/src/main/resources/open-cli-schema/infra/cloud/cloud-flavor-list-schema-elalto.yaml
@@ -0,0 +1,81 @@
+# Copyright 2019 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.
+
+open_cli_schema_version: 1.0
+name: cloud-flavor-list
+description: List the flavors in a cloud region and its capabilities including HPA with -s option
+
+info:
+ product: onap-elalto
+ service: aai
+ author: ONAP CLI Team onap-discuss@lists.onap.org
+
+parameters:
+ - name: cloud-region
+ description: Name of cloud region
+ type: string
+ short_option: x
+ long_option: name
+ is_optional: false
+ - name: cloud-owner
+ description: Name of cloud owner
+ type: string
+ short_option: y
+ long_option: cloud-owner
+ is_optional: false
+
+
+results:
+ direction: landscape
+ attributes:
+ - name: flavor
+ description: Name of Flavor
+ scope: short
+ type: string
+ - name: resource-version
+ description: Resource version of the Flavor
+ scope: short
+ type: string
+ - name: vcpus
+ description: Number of VCPUs
+ scope: short
+ type: string
+ - name: ram-size
+ description: RAM Size for flavor
+ scope: short
+ type: string
+ - name: disk-size
+ description: Disk size for flavor
+ scope: short
+ type: string
+ - name: ID
+ description: flavor ID in cloud
+ scope: long
+ type: string
+http:
+ service:
+ auth: basic
+ mode: direct
+ request:
+ uri: /aai/v16/cloud-infrastructure/cloud-regions/cloud-region/${cloud-owner}/${cloud-region}/flavors?depth=all
+ method: GET
+ success_codes:
+ - 200
+ result_map:
+ flavor: $b{flavor.[*].flavor-name}
+ vcpus: $b{flavor.[*].flavor-vcpus}
+ ram-size: $b{flavor.[*].flavor-ram}
+ disk-size: $b{flavor.[*].flavor-disk}
+ resource-version: $b{flavor.[*].resource-version}
+ ID: $b{flavor.[*].flavor-id}
diff --git a/products/onap-elalto/features/aai/src/main/resources/open-cli-schema/infra/cloud/cloud-list-schema-elalto.yaml b/products/onap-elalto/features/aai/src/main/resources/open-cli-schema/infra/cloud/cloud-list-schema-elalto.yaml
new file mode 100644
index 00000000..582842b4
--- /dev/null
+++ b/products/onap-elalto/features/aai/src/main/resources/open-cli-schema/infra/cloud/cloud-list-schema-elalto.yaml
@@ -0,0 +1,71 @@
+# Copyright 2019 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.
+
+open_cli_schema_version: 1.0
+name: cloud-list
+description: List the configured clouds and Onap service subscriptions
+
+info:
+ product: onap-elalto
+ service: aai
+ author: ONAP CLI Team onap-discuss@lists.onap.org
+
+results:
+ direction: landscape
+ attributes:
+ - name: cloud
+ description: Onap cloud
+ scope: short
+ type: string
+ - name: region
+ description: Onap cloud region
+ scope: short
+ type: string
+ - name: tenant
+ description: Onap cloud tenat
+ scope: long
+ type: string
+ - name: tenant-id
+ description: Onap cloud tenat id
+ scope: long
+ type: string
+ - name: customer
+ description: Onap cloud customer
+ scope: long
+ type: string
+ - name: service
+ description: Onap cloud service
+ scope: long
+ type: string
+ - name: resource-version
+ description: Onap cloud resource version
+ scope: short
+ type: string
+http:
+ service:
+ auth: basic
+ mode: direct
+ request:
+ uri: /aai/v16/cloud-infrastructure/cloud-regions
+ method: GET
+ success_codes:
+ - 200
+ result_map:
+ cloud: $b{cloud-region.[*].cloud-owner}
+ region: $b{cloud-region.[*].cloud-region-id}
+ resource-version: $b{cloud-region.[*].resource-version}
+ tenant: $b{cloud-region.[*].tenants.tenant.[*].tenant-name}
+ tenant-id: $b{cloud-region.[*].tenants.tenant.[*].tenant-id}
+ customer: $b{cloud-region.[*].tenants.tenant.[*].relationship-list.relationship.[*].relationship-data.[?(@.relationship-key == 'customer.global-customer-id')].relationship-value}
+ service: $b{cloud-region.[*].tenants.tenant.[*].relationship-list.relationship.[*].relationship-data.[?(@.relationship-key == 'service-subscription.service-type')].relationship-value}