aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--framework/src/main/java/org/onap/cli/fw/utils/OnapCommandDiscoveryUtils.java38
-rw-r--r--framework/src/main/java/org/onap/cli/fw/utils/OnapCommandUtils.java20
-rw-r--r--products/onap-beijing/auth/src/main/java/org/onap/cli/cmd/auth/OnapPolicyBasicAuthLoginCommandBeijing.java2
-rw-r--r--products/onap-beijing/features/policy/src/main/resources/open-cli-sample/policy/policy-config-create-schema-beijing-moco.json25
-rw-r--r--products/onap-beijing/features/policy/src/main/resources/open-cli-sample/policy/policy-config-create-schema-beijing-sample.yaml23
-rw-r--r--products/onap-beijing/features/policy/src/main/resources/open-cli-sample/policy/policy-list-schema-beijing-moco.json45
-rw-r--r--products/onap-beijing/features/policy/src/main/resources/open-cli-sample/policy/policy-list-schema-beijing-sample.yaml23
-rw-r--r--products/onap-beijing/features/policy/src/main/resources/open-cli-sample/policy/policy-ops-create-schema-beijing-moco.json33
-rw-r--r--products/onap-beijing/features/policy/src/main/resources/open-cli-sample/policy/policy-ops-create-schema-beijing-sample.yaml23
-rw-r--r--products/onap-beijing/features/policy/src/main/resources/open-cli-sample/policy/policy-push-schema-beijing-moco.json24
-rw-r--r--products/onap-beijing/features/policy/src/main/resources/open-cli-sample/policy/policy-push-schema-beijing-sample.yaml23
-rw-r--r--products/onap-beijing/features/policy/src/main/resources/open-cli-schema/policy/policy-config-create-schema-beijing.yaml68
-rw-r--r--products/onap-beijing/features/policy/src/main/resources/open-cli-schema/policy/policy-list-schema-beijing.yaml71
-rw-r--r--products/onap-beijing/features/policy/src/main/resources/open-cli-schema/policy/policy-operational-create-schema-beijing.yaml79
-rw-r--r--products/onap-beijing/features/policy/src/main/resources/open-cli-schema/policy/policy-push-schema-beijing.yaml59
15 files changed, 538 insertions, 18 deletions
diff --git a/framework/src/main/java/org/onap/cli/fw/utils/OnapCommandDiscoveryUtils.java b/framework/src/main/java/org/onap/cli/fw/utils/OnapCommandDiscoveryUtils.java
index 9bdd8a51..b10629f4 100644
--- a/framework/src/main/java/org/onap/cli/fw/utils/OnapCommandDiscoveryUtils.java
+++ b/framework/src/main/java/org/onap/cli/fw/utils/OnapCommandDiscoveryUtils.java
@@ -16,27 +16,43 @@
package org.onap.cli.fw.utils;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import static org.onap.cli.fw.conf.OnapCommandConstants.DATA_DIRECTORY;
+import static org.onap.cli.fw.conf.OnapCommandConstants.DATA_PATH_JSON_PATTERN;
+import static org.onap.cli.fw.conf.OnapCommandConstants.DISCOVERY_FILE;
+import static org.onap.cli.fw.conf.OnapCommandConstants.NAME;
+import static org.onap.cli.fw.conf.OnapCommandConstants.OPEN_CLI_SAMPLE_VERSION;
+import static org.onap.cli.fw.conf.OnapCommandConstants.OPEN_CLI_SCHEMA_VERSION;
+import static org.onap.cli.fw.conf.OnapCommandConstants.SCHEMA_DIRECTORY;
+import static org.onap.cli.fw.conf.OnapCommandConstants.SCHEMA_PATH_PATERN;
+
+import java.io.File;
+import java.io.IOException;
+import java.lang.reflect.Constructor;
+import java.lang.reflect.InvocationTargetException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Optional;
+import java.util.ServiceLoader;
+
import org.apache.commons.io.FileUtils;
import org.onap.cli.fw.cmd.OnapCommand;
import org.onap.cli.fw.conf.OnapCommandConfig;
import org.onap.cli.fw.conf.OnapCommandConstants;
-import org.onap.cli.fw.error.*;
-import org.onap.cli.fw.registrar.OnapCommandRegistrar;
+import org.onap.cli.fw.error.OnapCommandDiscoveryFailed;
+import org.onap.cli.fw.error.OnapCommandException;
+import org.onap.cli.fw.error.OnapCommandInstantiationFailed;
+import org.onap.cli.fw.error.OnapCommandInvalidSample;
+import org.onap.cli.fw.error.OnapCommandInvalidSchema;
import org.onap.cli.fw.schema.OnapCommandSchemaInfo;
-import org.onap.cli.fw.schema.OnapCommandSchemaLoader;
import org.springframework.core.io.Resource;
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
import org.springframework.core.io.support.ResourcePatternResolver;
import org.yaml.snakeyaml.Yaml;
-import java.io.File;
-import java.io.IOException;
-import java.lang.reflect.Constructor;
-import java.lang.reflect.InvocationTargetException;
-import java.util.*;
-
-import static org.onap.cli.fw.conf.OnapCommandConstants.*;
+import com.fasterxml.jackson.databind.ObjectMapper;
public class OnapCommandDiscoveryUtils {
diff --git a/framework/src/main/java/org/onap/cli/fw/utils/OnapCommandUtils.java b/framework/src/main/java/org/onap/cli/fw/utils/OnapCommandUtils.java
index c5ebbc21..accea717 100644
--- a/framework/src/main/java/org/onap/cli/fw/utils/OnapCommandUtils.java
+++ b/framework/src/main/java/org/onap/cli/fw/utils/OnapCommandUtils.java
@@ -39,6 +39,8 @@ import org.onap.cli.fw.input.OnapCommandParameterType;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
import com.jayway.jsonpath.JsonPath;
/**
@@ -247,18 +249,24 @@ public class OnapCommandUtils {
throw new OnapCommandParameterNotFound(paramName);
}
- String value = params.get(paramName).getValue().toString();
-
OnapCommandParameter param = params.get(paramName);
if (OnapCommandParameterType.ARRAY.equals(param.getParameterType())
- || OnapCommandParameterType.MAP.equals(param.getParameterType())
|| OnapCommandParameterType.JSON.equals(param.getParameterType())
|| OnapCommandParameterType.YAML.equals(param.getParameterType())) {
// ignore the front and back double quotes in json body
- result += line.substring(currentIdx, idxS - 1) + value;
+ result += line.substring(currentIdx, idxS - 1) + params.get(paramName).getValue().toString();
+ currentIdx = idxE + 2;
+ } else if (OnapCommandParameterType.MAP.equals(param.getParameterType())) {
+ try {
+ String value = new ObjectMapper().writeValueAsString(params.get(paramName).getValue());
+ result += line.substring(currentIdx, idxS - 1) + value;
+ } catch (JsonProcessingException e) { // NOSONAR
+ //never occur as map is coverted to json string here
+ }
+
currentIdx = idxE + 2;
- } else {
- result += line.substring(currentIdx, idxS) + value;
+ }else {
+ result += line.substring(currentIdx, idxS) + params.get(paramName).getValue().toString();
currentIdx = idxE + 1;
}
}
diff --git a/products/onap-beijing/auth/src/main/java/org/onap/cli/cmd/auth/OnapPolicyBasicAuthLoginCommandBeijing.java b/products/onap-beijing/auth/src/main/java/org/onap/cli/cmd/auth/OnapPolicyBasicAuthLoginCommandBeijing.java
index faa4a1f2..b76ec201 100644
--- a/products/onap-beijing/auth/src/main/java/org/onap/cli/cmd/auth/OnapPolicyBasicAuthLoginCommandBeijing.java
+++ b/products/onap-beijing/auth/src/main/java/org/onap/cli/cmd/auth/OnapPolicyBasicAuthLoginCommandBeijing.java
@@ -20,7 +20,7 @@ import org.onap.cli.fw.error.OnapCommandException;
import org.onap.cli.fw.http.cmd.BasicAuthLoginCommand;
import org.onap.cli.fw.schema.OnapCommandSchema;
-@OnapCommandSchema(schema = "basic-login-onap-sdc-beijing.yaml")
+@OnapCommandSchema(schema = "basic-login-onap-policy-beijing.yaml")
public class OnapPolicyBasicAuthLoginCommandBeijing extends BasicAuthLoginCommand {
@Override
diff --git a/products/onap-beijing/features/policy/src/main/resources/open-cli-sample/policy/policy-config-create-schema-beijing-moco.json b/products/onap-beijing/features/policy/src/main/resources/open-cli-sample/policy/policy-config-create-schema-beijing-moco.json
new file mode 100644
index 00000000..746e7f5f
--- /dev/null
+++ b/products/onap-beijing/features/policy/src/main/resources/open-cli-sample/policy/policy-config-create-schema-beijing-moco.json
@@ -0,0 +1,25 @@
+[
+ {
+ "request": {
+ "method": "put",
+ "uri": "/pdp/api/createPolicy",
+ "headers": {
+ "Authorization": "Basic dGVzdHBkcDphbHBoYTEyMw==",
+ "ClientAuth": "cHl0aG9uOnRlc3Q=",
+ "Environment": "ONAP-CLI",
+ "Accept": "application/json",
+ "Content-Type": "application/json"
+ },
+ "json": {
+ "configBody": "{}",
+ "policyConfigType": "MicroService",
+ "policyName": "com.MicroServicevFirewall",
+ "onapName": "DCAE"
+ }
+ },
+ "response": {
+ "status": 200,
+ "json": {}
+ }
+ }
+] \ No newline at end of file
diff --git a/products/onap-beijing/features/policy/src/main/resources/open-cli-sample/policy/policy-config-create-schema-beijing-sample.yaml b/products/onap-beijing/features/policy/src/main/resources/open-cli-sample/policy/policy-config-create-schema-beijing-sample.yaml
new file mode 100644
index 00000000..93b2ea58
--- /dev/null
+++ b/products/onap-beijing/features/policy/src/main/resources/open-cli-sample/policy/policy-config-create-schema-beijing-sample.yaml
@@ -0,0 +1,23 @@
+# Copyright 2018 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_sample_version: 1.0
+name: policy-config-create
+version: onap-beijing
+samples:
+ sample1:
+ name: policy-config-create
+ input: --policy-name com.MicroServicevFirewall --policy-type MicroService --policy-config {"service":"tca_policy"}
+ moco: policy-config-create-schema-beijing-moco.json
+ output: \ No newline at end of file
diff --git a/products/onap-beijing/features/policy/src/main/resources/open-cli-sample/policy/policy-list-schema-beijing-moco.json b/products/onap-beijing/features/policy/src/main/resources/open-cli-sample/policy/policy-list-schema-beijing-moco.json
new file mode 100644
index 00000000..650edeb9
--- /dev/null
+++ b/products/onap-beijing/features/policy/src/main/resources/open-cli-sample/policy/policy-list-schema-beijing-moco.json
@@ -0,0 +1,45 @@
+[
+ {
+ "request": {
+ "method": "post",
+ "uri": "/pdp/api/getConfig",
+ "headers": {
+ "Authorization": "Basic dGVzdHBkcDphbHBoYTEyMw==",
+ "ClientAuth": "cHl0aG9uOnRlc3Q=",
+ "Environment": "ONAP-CLI",
+ "Accept": "application/json",
+ "Content-Type": "application/json"
+ },
+ "json": {
+ "configAttributes": {},
+ "unique": false,
+ "ecompName": "DCAE",
+ "configName": ".*",
+ "policyName": ".*vCPE*"
+ }
+ },
+ "response": {
+ "status": 200,
+ "json": [
+ {
+ "policyConfigMessage": "Config Retrieved! ",
+ "policyConfigStatus": "CONFIG_RETRIEVED",
+ "type": "JSON",
+ "config": "{\"service\":\"tca_policy\",\"location\":\"SampleServiceLocation\",\"uuid\":\"test\",\"policyName\":\"MicroServicevCPE\",\"description\":\"MicroService vCPE Policy\",\"configName\":\"SampleConfigName\",\"templateVersion\":\"OpenSource.version.1\",\"version\":\"1.1.0\",\"priority\":\"1\",\"policyScope\":\"resource=SampleResource,service=SampleService,type=SampleType,closedLoopControlName=ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e\",\"riskType\":\"SampleRiskType\",\"riskLevel\":\"1\",\"guard\":\"False\",\"content\":{\"policyVersion\":\"v0.0.1\",\"threshholds\":[{\"severity\":\"MAJOR\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value\",\"thresholdValue\":\"0\",\"closedLoopEventStatus\":\"ABATED\",\"closedLoopControlName\":\"ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e\",\"version\":\"1.0.2\",\"direction\":\"EQUAL\"},{\"severity\":\"CRITICAL\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value\",\"thresholdValue\":\"0\",\"closedLoopEventStatus\":\"ONSET\",\"closedLoopControlName\":\"ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e\",\"version\":\"1.0.2\",\"direction\":\"GREATER\"}],\"policyName\":\"DCAE.Config_tca-hi-lo\",\"controlLoopSchemaType\":\"VNF\",\"policyScope\":\"DCAE\",\"eventName\":\"Measurement_vGMUX\"}}",
+ "policyName": "com.Config_MS_CSIT_285k2x28vv6flay_vCPE.1.xml",
+ "policyType": "MicroService",
+ "policyVersion": "1",
+ "matchingConditions": {
+ "ONAPName": "DCAE",
+ "ConfigName": "SampleConfigName",
+ "service": "tca_policy",
+ "uuid": "test",
+ "Location": "SampleServiceLocation"
+ },
+ "responseAttributes": {},
+ "property": null
+ }
+ ]
+ }
+ }
+] \ No newline at end of file
diff --git a/products/onap-beijing/features/policy/src/main/resources/open-cli-sample/policy/policy-list-schema-beijing-sample.yaml b/products/onap-beijing/features/policy/src/main/resources/open-cli-sample/policy/policy-list-schema-beijing-sample.yaml
new file mode 100644
index 00000000..27a96b60
--- /dev/null
+++ b/products/onap-beijing/features/policy/src/main/resources/open-cli-sample/policy/policy-list-schema-beijing-sample.yaml
@@ -0,0 +1,23 @@
+# Copyright 2018 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_sample_version: 1.0
+name: policy-list
+version: onap-beijing
+samples:
+ sample1:
+ name: policy-list
+ input: --no-title --format csv
+ moco: policy-list-schema-beijing-moco.json
+ output: com.Config_MS_CSIT_285k2x28vv6flay_vCPE.1.xml,MicroService
diff --git a/products/onap-beijing/features/policy/src/main/resources/open-cli-sample/policy/policy-ops-create-schema-beijing-moco.json b/products/onap-beijing/features/policy/src/main/resources/open-cli-sample/policy/policy-ops-create-schema-beijing-moco.json
new file mode 100644
index 00000000..2dcba161
--- /dev/null
+++ b/products/onap-beijing/features/policy/src/main/resources/open-cli-sample/policy/policy-ops-create-schema-beijing-moco.json
@@ -0,0 +1,33 @@
+[
+ {
+ "request": {
+ "method": "put",
+ "uri": "/pdp/api/createPolicy",
+ "headers": {
+ "Authorization": "Basic dGVzdHBkcDphbHBoYTEyMw==",
+ "ClientAuth": "cHl0aG9uOnRlc3Q=",
+ "Environment": "ONAP-CLI",
+ "Accept": "application/json",
+ "Content-Type": "application/json"
+ },
+ "json": {
+ "policyConfigType": "BRMS_PARAM",
+ "policyName": "com.BRMSParamvCPE",
+ "policyDescription": "BRMS-policy",
+ "policyScope": "com",
+ "attributes": {
+ "MATCHING": {
+ "controller" : "amsterdam"
+ },
+ "RULE": {
+ "templateName": "ClosedLoopControlName"
+ }
+ }
+ }
+ },
+ "response": {
+ "status": 200,
+ "json": {}
+ }
+ }
+] \ No newline at end of file
diff --git a/products/onap-beijing/features/policy/src/main/resources/open-cli-sample/policy/policy-ops-create-schema-beijing-sample.yaml b/products/onap-beijing/features/policy/src/main/resources/open-cli-sample/policy/policy-ops-create-schema-beijing-sample.yaml
new file mode 100644
index 00000000..c99aad9b
--- /dev/null
+++ b/products/onap-beijing/features/policy/src/main/resources/open-cli-sample/policy/policy-ops-create-schema-beijing-sample.yaml
@@ -0,0 +1,23 @@
+# Copyright 2018 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_sample_version: 1.0
+name: policy-operational-create
+version: onap-beijing
+samples:
+ sample1:
+ name: policy-operational-create
+ input: --policy-name com.BRMSParamvCPE --policy-description BRMS-policy --policy-type BRMS_PARAM --policy-scope com --policy-match controller=amsterdam --policy-rule templateName=ClosedLoopControlName
+ moco: policy-ops-create-schema-beijing-moco.json
+ output: \ No newline at end of file
diff --git a/products/onap-beijing/features/policy/src/main/resources/open-cli-sample/policy/policy-push-schema-beijing-moco.json b/products/onap-beijing/features/policy/src/main/resources/open-cli-sample/policy/policy-push-schema-beijing-moco.json
new file mode 100644
index 00000000..c718c6cf
--- /dev/null
+++ b/products/onap-beijing/features/policy/src/main/resources/open-cli-sample/policy/policy-push-schema-beijing-moco.json
@@ -0,0 +1,24 @@
+[
+ {
+ "request": {
+ "method": "put",
+ "uri": "/pdp/api/pushPolicy",
+ "headers": {
+ "Authorization": "Basic dGVzdHBkcDphbHBoYTEyMw==",
+ "ClientAuth": "cHl0aG9uOnRlc3Q=",
+ "Environment": "ONAP-CLI",
+ "Accept": "application/json",
+ "Content-Type": "application/json"
+ },
+ "json": {
+ "policyName": "com.CSIT_zojumpfzo0zijii_VoLTE",
+ "policyType": "BRMS_PARAM",
+ "pdpGroup": "default"
+ }
+ },
+ "response": {
+ "status": 200,
+ "json": {}
+ }
+ }
+] \ No newline at end of file
diff --git a/products/onap-beijing/features/policy/src/main/resources/open-cli-sample/policy/policy-push-schema-beijing-sample.yaml b/products/onap-beijing/features/policy/src/main/resources/open-cli-sample/policy/policy-push-schema-beijing-sample.yaml
new file mode 100644
index 00000000..b9e08029
--- /dev/null
+++ b/products/onap-beijing/features/policy/src/main/resources/open-cli-sample/policy/policy-push-schema-beijing-sample.yaml
@@ -0,0 +1,23 @@
+# Copyright 2018 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_sample_version: 1.0
+name: policy-push
+version: onap-beijing
+samples:
+ sample1:
+ name: policy-push
+ input: --policy-group default --policy-name com.CSIT_zojumpfzo0zijii_VoLTE --policy-type BRMS_PARAM
+ moco: policy-push-schema-beijing-moco.json
+ output: \ No newline at end of file
diff --git a/products/onap-beijing/features/policy/src/main/resources/open-cli-schema/policy/policy-config-create-schema-beijing.yaml b/products/onap-beijing/features/policy/src/main/resources/open-cli-schema/policy/policy-config-create-schema-beijing.yaml
new file mode 100644
index 00000000..036aa736
--- /dev/null
+++ b/products/onap-beijing/features/policy/src/main/resources/open-cli-schema/policy/policy-config-create-schema-beijing.yaml
@@ -0,0 +1,68 @@
+# Copyright 2018 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: policy-config-create
+description: Create config policy
+
+info:
+ product: onap-beijing
+ service: policy
+ author: ONAP CLI Team onap-discuss@lists.onap.org
+ state: experimental
+
+parameters:
+ - name: policy-name
+ description: Onap policy Name
+ type: string
+ short_option: x
+ long_option: policy-name
+ is_optional: false
+ - name: policy-config
+ description: Configuration of policy
+ type: json
+ short_option: y
+ long_option: policy-config
+ is_optional: false
+ - name: policy-onap-component-name
+ description: ONAP component name
+ type: string
+ long_option: policy-onap-component-name
+ short_option: z
+ is_optional: false
+ default_value: DCAE
+ - name: policy-type
+ description: Policy cofig type
+ type: string
+ long_option: policy-type
+ short_option: b
+ is_optional: false
+
+http:
+ service:
+ name: policy
+ version: v1.0
+ auth: basic
+ mode: direct
+ request:
+ uri: /pdp/api/createPolicy
+ method: PUT
+ context:
+ remove_empty_node: true
+ body: '{"configBody": "${policy-config}","policyConfigType": "${policy-type}","policyName": "${ policy-name}","onapName": "${policy-onap-component-name}"}'
+ headers:
+ accept: text/html
+
+ success_codes:
+ - 200 \ No newline at end of file
diff --git a/products/onap-beijing/features/policy/src/main/resources/open-cli-schema/policy/policy-list-schema-beijing.yaml b/products/onap-beijing/features/policy/src/main/resources/open-cli-schema/policy/policy-list-schema-beijing.yaml
new file mode 100644
index 00000000..9e17616e
--- /dev/null
+++ b/products/onap-beijing/features/policy/src/main/resources/open-cli-schema/policy/policy-list-schema-beijing.yaml
@@ -0,0 +1,71 @@
+# Copyright 2018 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: policy-list
+description: List policies
+
+info:
+ product: onap-beijing
+ service: policy
+ author: ONAP CLI Team onap-discuss@lists.onap.org
+ state: experimental
+
+parameters:
+ - name: policy-onap-component-name
+ description: ONAP component name
+ type: string
+ long_option: policy-onap-component-name
+ short_option: x
+ is_optional: true
+ default_value: DCAE
+
+results:
+ direction: landscape
+ attributes:
+ - name: name
+ description: Policy Name
+ scope: short
+ type: string
+ - name: type
+ description: Policy type
+ scope: short
+ type: string
+ - name: config
+ description: Policy configuration
+ scope: long
+ type: json
+ - name: rules
+ description: Policy rules
+ scope: long
+ type: json
+http:
+ service:
+ name: policy
+ version: v1.0
+ auth: basic
+ mode: direct
+ request:
+ uri: /pdp/api/getConfig
+ method: POST
+ body: '{"configAttributes": {}, "unique": false, "ecompName": "${policy-onap-component-name}", "configName": ".*", "policyName": ".*"}'
+
+ success_codes:
+ - 200
+
+ result_map:
+ name: $b{$.[*].policyName}
+ type: $b{$.[*].policyType}
+ config: $b{$.[*].config}
+ rules: $b{$.[*].matchingConditions} \ No newline at end of file
diff --git a/products/onap-beijing/features/policy/src/main/resources/open-cli-schema/policy/policy-operational-create-schema-beijing.yaml b/products/onap-beijing/features/policy/src/main/resources/open-cli-schema/policy/policy-operational-create-schema-beijing.yaml
new file mode 100644
index 00000000..055764f9
--- /dev/null
+++ b/products/onap-beijing/features/policy/src/main/resources/open-cli-schema/policy/policy-operational-create-schema-beijing.yaml
@@ -0,0 +1,79 @@
+# Copyright 2018 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: policy-operational-create
+description: Create operational policy
+
+info:
+ product: onap-beijing
+ service: policy
+ author: ONAP CLI Team onap-discuss@lists.onap.org
+ state: experimental
+
+parameters:
+ - name: policy-name
+ description: Onap policy Name
+ type: string
+ short_option: x
+ long_option: policy-name
+ is_optional: false
+ - name: policy-description
+ description: Description for policy
+ type: string
+ short_option: y
+ long_option: policy-description
+ is_optional: false
+ - name: policy-scope
+ description: Policy scope
+ type: string
+ long_option: policy-scope
+ short_option: z
+ is_optional: false
+ - name: policy-type
+ description: Policy type
+ type: string
+ long_option: policy-type
+ short_option: b
+ is_optional: false
+ - name: policy-match
+ description: Policy matching attributes
+ type: map
+ long_option: policy-match
+ short_option: c
+ is_optional: false
+ - name: policy-rule
+ description: Policy rule attributes
+ type: map
+ long_option: policy-rule
+ short_option: i
+ is_optional: false
+
+http:
+ service:
+ name: policy
+ version: v1.0
+ auth: basic
+ mode: direct
+ request:
+ uri: /pdp/api/createPolicy
+ method: PUT
+ context:
+ remove_empty_node: true
+ body: '{"policyConfigType":"${policy-type}","policyName":"${policy-name}","policyDescription":"${policy-description}","policyScope":"${policy-scope}","attributes":{"MATCHING":"${policy-match}","RULE":"${policy-rule}"}}'
+ headers:
+ accept: text/html
+
+ success_codes:
+ - 200
diff --git a/products/onap-beijing/features/policy/src/main/resources/open-cli-schema/policy/policy-push-schema-beijing.yaml b/products/onap-beijing/features/policy/src/main/resources/open-cli-schema/policy/policy-push-schema-beijing.yaml
new file mode 100644
index 00000000..66d75057
--- /dev/null
+++ b/products/onap-beijing/features/policy/src/main/resources/open-cli-schema/policy/policy-push-schema-beijing.yaml
@@ -0,0 +1,59 @@
+# Copyright 2018 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: policy-push
+description: Push a policy in pdp
+
+info:
+ product: onap-beijing
+ service: policy
+ author: ONAP CLI Team onap-discuss@lists.onap.org
+ state: experimental
+
+parameters:
+ - name: policy-name
+ description: Onap policy Name
+ type: string
+ short_option: x
+ long_option: policy-name
+ is_optional: false
+ - name: policy-type
+ description: Policy type
+ type: string
+ long_option: policy-type
+ short_option: b
+ is_optional: false
+ - name: policy-group
+ description: Policy pdp group
+ type: string
+ long_option: policy-group
+ short_option: c
+ is_optional: false
+
+http:
+ service:
+ name: policy
+ version: v1.0
+ auth: basic
+ mode: direct
+ request:
+ uri: /pdp/api/pushPolicy
+ method: PUT
+ context:
+ remove_empty_node: true
+ body: '{"policyName": "${policy-name}", "policyType": "${policy-type}", "pdpGroup": "${policy-group}"}'
+
+ success_codes:
+ - 200