aboutsummaryrefslogtreecommitdiffstats
path: root/src/test/resources
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/resources')
-rw-r--r--src/test/resources/example/cds-response/vFW-CDS-modify-config-wf-expected-result.json58
-rw-r--r--src/test/resources/example/cds-response/vFW-CDS-modify-config-workflow.json75
-rw-r--r--src/test/resources/example/cds-response/vFW-CDS-resource-assignment-wf-expected-result.json42
-rw-r--r--src/test/resources/example/cds-response/vFW-CDS-resource-assignment-workflow.json78
-rw-r--r--src/test/resources/example/json-editor-schema/tca-policy-json-editor-schema.json2
-rw-r--r--src/test/resources/tosca/model-properties-cds.json151
-rw-r--r--src/test/resources/tosca/model-properties.json210
-rw-r--r--src/test/resources/tosca/new-converter/tosca_apex_with_metadata.json290
-rw-r--r--src/test/resources/tosca/operational-policy-cds-payload-with-list.json742
-rw-r--r--src/test/resources/tosca/operational-policy-json-schema.json470
-rw-r--r--src/test/resources/tosca/operational-policy-payload-legacy.yaml32
-rw-r--r--src/test/resources/tosca/operational-policy-payload.json2
-rw-r--r--src/test/resources/tosca/operational-policy-payload.yaml32
-rw-r--r--src/test/resources/tosca/operational-policy-properties.json52
-rw-r--r--src/test/resources/tosca/pdp-group-policy-payload.json8
-rw-r--r--src/test/resources/tosca/policy-yaml-to-json-with-constraints.json2
-rw-r--r--src/test/resources/tosca/policy-yaml-to-json-with-datatypes.json2
-rw-r--r--src/test/resources/tosca/policy-yaml-to-json.json2
-rw-r--r--src/test/resources/tosca/resource-details.json210
-rw-r--r--src/test/resources/tosca/tosca_metadata_clamp_possible_values_json_schema.json16
-rw-r--r--src/test/resources/tosca/tosca_with_date_time_json_schema.json240
21 files changed, 2508 insertions, 208 deletions
diff --git a/src/test/resources/example/cds-response/vFW-CDS-modify-config-wf-expected-result.json b/src/test/resources/example/cds-response/vFW-CDS-modify-config-wf-expected-result.json
new file mode 100644
index 00000000..7e78bb06
--- /dev/null
+++ b/src/test/resources/example/cds-response/vFW-CDS-modify-config-wf-expected-result.json
@@ -0,0 +1,58 @@
+{
+ "inputs": {
+ "resolution-key": {
+ "required": true,
+ "type": "string"
+ },
+ "modify-config-properties": {
+ "vpg_onap_private_ip_0": {
+ "description": "",
+ "required": false,
+ "type": "string",
+ "status": "",
+ "constraints": [
+ {}
+ ],
+ "entry_schema": {
+ "type": ""
+ }
+ },
+ "service-instance.service-instance-id": {
+ "type": "string"
+ },
+ "vnf-id": {
+ "type": "string"
+ },
+ "data": {
+ "description": "",
+ "required": false,
+ "type": "string",
+ "status": "",
+ "constraints": [
+ {}
+ ],
+ "entry_schema": {
+ "type": "dt-data"
+ }
+ },
+ "service-instance-id": {
+ "type": "string"
+ },
+ "update-active-streams": {
+ "description": "",
+ "required": false,
+ "type": "string",
+ "status": "",
+ "constraints": [
+ {}
+ ],
+ "entry_schema": {
+ "type": "dt-data"
+ }
+ },
+ "generic-vnf.vnf-id": {
+ "type": "string"
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/src/test/resources/example/cds-response/vFW-CDS-modify-config-workflow.json b/src/test/resources/example/cds-response/vFW-CDS-modify-config-workflow.json
new file mode 100644
index 00000000..e46da676
--- /dev/null
+++ b/src/test/resources/example/cds-response/vFW-CDS-modify-config-workflow.json
@@ -0,0 +1,75 @@
+{
+ "blueprintName": "vFW-CDS",
+ "version": "1.0.0",
+ "workFlowData": {
+ "workFlowName": "modify-config",
+ "inputs": {
+ "resolution-key": {
+ "required": true,
+ "type": "string"
+ },
+ "modify-config-properties": {
+ "description": "Dynamic PropertyDefinition for workflow(modify-config).",
+ "required": true,
+ "type": "dt-modify-config-properties"
+ }
+ }
+ },
+ "dataTypes": {
+ "dt-modify-config-properties": {
+ "description": "Dynamic DataType definition for workflow(modify-config).",
+ "version": "1.0.0",
+ "properties": {
+ "vpg_onap_private_ip_0": {
+ "description": "",
+ "required": false,
+ "type": "string",
+ "status": "",
+ "constraints": [
+ {}
+ ],
+ "entry_schema": {
+ "type": ""
+ }
+ },
+ "service-instance.service-instance-id": {
+ "type": "string"
+ },
+ "vnf-id": {
+ "type": "string"
+ },
+ "data": {
+ "description": "",
+ "required": false,
+ "type": "string",
+ "status": "",
+ "constraints": [
+ {}
+ ],
+ "entry_schema": {
+ "type": "dt-data"
+ }
+ },
+ "service-instance-id": {
+ "type": "string"
+ },
+ "update-active-streams": {
+ "description": "",
+ "required": false,
+ "type": "string",
+ "status": "",
+ "constraints": [
+ {}
+ ],
+ "entry_schema": {
+ "type": "dt-data"
+ }
+ },
+ "generic-vnf.vnf-id": {
+ "type": "string"
+ }
+ },
+ "derived_from": "tosca.datatypes.Dynamic"
+ }
+ }
+} \ No newline at end of file
diff --git a/src/test/resources/example/cds-response/vFW-CDS-resource-assignment-wf-expected-result.json b/src/test/resources/example/cds-response/vFW-CDS-resource-assignment-wf-expected-result.json
new file mode 100644
index 00000000..5b373a45
--- /dev/null
+++ b/src/test/resources/example/cds-response/vFW-CDS-resource-assignment-wf-expected-result.json
@@ -0,0 +1,42 @@
+{
+ "inputs": {
+ "template-prefix": {
+ "required": true,
+ "type": "list",
+ "entry_schema": {
+ "type": "string"
+ }
+ },
+ "template-prefix-with-complex-type": {
+ "type": "list",
+ "properties": {
+ "prefix-id": {
+ "description": "",
+ "required": false,
+ "type": "string",
+ "status": "",
+ "constraints": [
+ {}
+ ],
+ "entry_schema": {
+ "type": ""
+ }
+ }
+ }
+ },
+ "resource-assignment-properties": {
+ "private1-prefix-id": {
+ "description": "",
+ "required": false,
+ "type": "string",
+ "status": "",
+ "constraints": [
+ {}
+ ],
+ "entry_schema": {
+ "type": ""
+ }
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/src/test/resources/example/cds-response/vFW-CDS-resource-assignment-workflow.json b/src/test/resources/example/cds-response/vFW-CDS-resource-assignment-workflow.json
new file mode 100644
index 00000000..d0f78cf1
--- /dev/null
+++ b/src/test/resources/example/cds-response/vFW-CDS-resource-assignment-workflow.json
@@ -0,0 +1,78 @@
+{
+ "blueprintName": "vFW-CDS",
+ "version": "1.0.0",
+ "workFlowData": {
+ "workFlowName": "resource-assignment",
+ "inputs": {
+ "template-prefix": {
+ "required": true,
+ "type": "list",
+ "entry_schema": {
+ "type": "string"
+ }
+ },
+ "template-prefix-with-complex-type": {
+ "required": true,
+ "type": "list",
+ "entry_schema": {
+ "type": "dt-template-prefix-properties"
+ }
+ },
+ "resource-assignment-properties": {
+ "description": "Dynamic PropertyDefinition for workflow(resource-assignment).",
+ "required": true,
+ "type": "dt-resource-assignment-properties"
+ }
+ },
+ "outputs": {
+ "meshed-template": {
+ "type": "json",
+ "value": {
+ "get_attribute": [
+ "resource-assignment",
+ "assignment-params"
+ ]
+ }
+ }
+ }
+ },
+ "dataTypes": {
+ "dt-resource-assignment-properties": {
+ "description": "Dynamic DataType definition for workflow(resource-assignment).",
+ "version": "1.0.0",
+ "properties": {
+ "private1-prefix-id": {
+ "description": "",
+ "required": false,
+ "type": "string",
+ "status": "",
+ "constraints": [
+ {}
+ ],
+ "entry_schema": {
+ "type": ""
+ }
+ }
+ },
+ "derived_from": "tosca.datatypes.Dynamic"
+ },
+ "dt-template-prefix-properties": {
+ "description": "Dynamic DataType definition for workflow(template-prefix).",
+ "version": "1.0.0",
+ "properties": {
+ "prefix-id": {
+ "description": "",
+ "required": false,
+ "type": "string",
+ "status": "",
+ "constraints": [
+ {}
+ ],
+ "entry_schema": {
+ "type": ""
+ }
+ }
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/src/test/resources/example/json-editor-schema/tca-policy-json-editor-schema.json b/src/test/resources/example/json-editor-schema/tca-policy-json-editor-schema.json
index 11b91dfb..91603972 100644
--- a/src/test/resources/example/json-editor-schema/tca-policy-json-editor-schema.json
+++ b/src/test/resources/example/json-editor-schema/tca-policy-json-editor-schema.json
@@ -1,7 +1,7 @@
{
"schema": {
"uniqueItems": "true",
- "format": "tabs-top",
+ "format": "tabs",
"type": "array",
"title": "Thresholds",
"items": {
diff --git a/src/test/resources/tosca/model-properties-cds.json b/src/test/resources/tosca/model-properties-cds.json
new file mode 100644
index 00000000..591840b4
--- /dev/null
+++ b/src/test/resources/tosca/model-properties-cds.json
@@ -0,0 +1,151 @@
+{
+ "serviceDetails": {
+ "serviceType": "",
+ "namingPolicy": "",
+ "environmentContext": "General_Revenue-Bearing",
+ "serviceEcompNaming": "true",
+ "serviceRole": "",
+ "name": "vLoadBalancerMS",
+ "description": "vLBMS",
+ "invariantUUID": "30ec5b59-4799-48d8-ac5f-1058a6b0e48f",
+ "ecompGeneratedNaming": "true",
+ "category": "Network L4+",
+ "type": "Service",
+ "UUID": "63cac700-ab9a-4115-a74f-7eac85e3fce0",
+ "instantiationType": "A-la-carte"
+ },
+ "resourceDetails": {
+ "CP": {},
+ "VL": {},
+ "VF": {
+ "vLoadBalancerMS 0": {
+ "resourceVendor": "Test",
+ "resourceVendorModelNumber": "",
+ "name": "vLoadBalancerMS",
+ "description": "vLBMS",
+ "invariantUUID": "1a31b9f2-e50d-43b7-89b3-a040250cf506",
+ "subcategory": "Load Balancer",
+ "category": "Application L4+",
+ "type": "VF",
+ "UUID": "b4c4f3d7-929e-4b6d-a1cd-57e952ddc3e6",
+ "version": "1.0",
+ "resourceVendorRelease": "1.0",
+ "customizationUUID": "465246dc-7748-45f4-a013-308d92922552",
+ "controllerProperties": {
+ "sdnc_model_name": "baseconfiguration",
+ "sdnc_model_version": "1.0.0",
+ "workflows": {
+ "resource-assignment": {
+ "inputs": {
+ "template-prefix": {
+ "required": true,
+ "type": "list",
+ "entry_schema": {
+ "type": "string"
+ }
+ },
+ "template-prefix-with-complex-type": {
+ "type": "list",
+ "properties": {
+ "prefix-id": {
+ "description": "",
+ "required": false,
+ "type": "string",
+ "status": "",
+ "constraints": [
+ {}
+ ],
+ "entry_schema": {
+ "type": ""
+ }
+ }
+ }
+ },
+ "resource-assignment-properties": {
+ "private1-prefix-id": {
+ "description": "",
+ "required": false,
+ "type": "string",
+ "status": "",
+ "constraints": [
+ {}
+ ],
+ "entry_schema": {
+ "type": ""
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "CR": {},
+ "VFC": {},
+ "PNF": {},
+ "Service": {},
+ "CVFC": {},
+ "Service Proxy": {},
+ "Configuration": {},
+ "AllottedResource": {},
+ "VFModule": {
+ "Vloadbalancerms..vpkg..module-1": {
+ "vfModuleModelInvariantUUID": "ca052563-eb92-4b5b-ad41-9111768ce043",
+ "vfModuleModelVersion": "1",
+ "vfModuleModelName": "Vloadbalancerms..vpkg..module-1",
+ "vfModuleModelUUID": "1e725ccc-b823-4f67-82b9-4f4367070dbc",
+ "vfModuleModelCustomizationUUID": "1bffdc31-a37d-4dee-b65c-dde623a76e52",
+ "min_vf_module_instances": 0,
+ "vf_module_label": "vpkg",
+ "max_vf_module_instances": 1,
+ "vf_module_type": "Expansion",
+ "isBase": false,
+ "initial_count": 0,
+ "volume_group": false
+ },
+ "Vloadbalancerms..vdns..module-3": {
+ "vfModuleModelInvariantUUID": "4c10ba9b-f88f-415e-9de3-5d33336047fa",
+ "vfModuleModelVersion": "1",
+ "vfModuleModelName": "Vloadbalancerms..vdns..module-3",
+ "vfModuleModelUUID": "4fa73b49-8a6c-493e-816b-eb401567b720",
+ "vfModuleModelCustomizationUUID": "bafcdab0-801d-4d81-9ead-f464640a38b1",
+ "min_vf_module_instances": 0,
+ "vf_module_label": "vdns",
+ "max_vf_module_instances": 50,
+ "vf_module_type": "Expansion",
+ "isBase": false,
+ "initial_count": 0,
+ "volume_group": false
+ },
+ "Vloadbalancerms..base_template..module-0": {
+ "vfModuleModelInvariantUUID": "921f7c96-ebdd-42e6-81b9-1cfc0c9796f3",
+ "vfModuleModelVersion": "1",
+ "vfModuleModelName": "Vloadbalancerms..base_template..module-0",
+ "vfModuleModelUUID": "63734409-f745-4e4d-a38b-131638a0edce",
+ "vfModuleModelCustomizationUUID": "86baddea-c730-4fb8-9410-cd2e17fd7f27",
+ "min_vf_module_instances": 1,
+ "vf_module_label": "base_template",
+ "max_vf_module_instances": 1,
+ "vf_module_type": "Base",
+ "isBase": true,
+ "initial_count": 1,
+ "volume_group": false
+ },
+ "Vloadbalancerms..vlb..module-2": {
+ "vfModuleModelInvariantUUID": "a772a1f4-0064-412c-833d-4749b15828dd",
+ "vfModuleModelVersion": "1",
+ "vfModuleModelName": "Vloadbalancerms..vlb..module-2",
+ "vfModuleModelUUID": "0f5c3f6a-650a-4303-abb6-fff3e573a07a",
+ "vfModuleModelCustomizationUUID": "96a78aad-4ffb-4ef0-9c4f-deb03bf1d806",
+ "min_vf_module_instances": 0,
+ "vf_module_label": "vlb",
+ "max_vf_module_instances": 1,
+ "vf_module_type": "Expansion",
+ "isBase": false,
+ "initial_count": 0,
+ "volume_group": false
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/src/test/resources/tosca/model-properties.json b/src/test/resources/tosca/model-properties.json
index c405964e..688a09ab 100644
--- a/src/test/resources/tosca/model-properties.json
+++ b/src/test/resources/tosca/model-properties.json
@@ -40,78 +40,204 @@
"resource-assignment": {
"inputs": {
"resource-assignment-properties": {
- "request-id": "",
- "service-instance-id": "",
- "vnf-id": "",
- "action-name": "",
- "scope-type": "",
- "hostname": "",
- "vnf_name": ""
+ "request-id": {
+ "type": "string",
+ "required": true
+ },
+ "service-instance-id": {
+ "type": "string",
+ "required": true
+ },
+ "vnf-id": {
+ "type": "string",
+ "required": true
+ },
+ "action-name": {
+ "type": "string",
+ "required": true
+ },
+ "scope-type": {
+ "type": "string",
+ "required": true
+ },
+ "hostname": {
+ "type": "string",
+ "required": true
+ },
+ "vnf_name": {
+ "type": "string",
+ "required": true
+ }
}
}
},
"activate": {
"inputs": {
"resource-assignment-properties": {
- "request-id": "",
- "service-instance-id": "",
- "vnf-id": "",
- "action-name": "",
- "scope-type": "",
- "hostname": "",
- "vnf_name": ""
+ "request-id": {
+ "type": "string",
+ "required": true
+ },
+ "service-instance-id": {
+ "type": "string",
+ "required": true
+ },
+ "vnf-id": {
+ "type": "string",
+ "required": true
+ },
+ "action-name": {
+ "type": "string",
+ "required": true
+ },
+ "scope-type": {
+ "type": "string",
+ "required": true
+ },
+ "hostname": {
+ "type": "string",
+ "required": true
+ },
+ "vnf_name": {
+ "type": "string",
+ "required": true
+ }
}
}
},
"activate-restconf": {
"inputs": {
"resource-assignment-properties": {
- "request-id": "",
- "service-instance-id": "",
- "vnf-id": "",
- "action-name": "",
- "scope-type": "",
- "hostname": "",
- "vnf_name": ""
+ "request-id": {
+ "type": "string",
+ "required": true
+ },
+ "service-instance-id": {
+ "type": "string",
+ "required": true
+ },
+ "vnf-id": {
+ "type": "string",
+ "required": true
+ },
+ "action-name": {
+ "type": "string",
+ "required": true
+ },
+ "scope-type": {
+ "type": "string",
+ "required": true
+ },
+ "hostname": {
+ "type": "string",
+ "required": true
+ },
+ "vnf_name": {
+ "type": "string",
+ "required": true
+ }
}
}
},
"activate-cli": {
"inputs": {
"resource-assignment-properties": {
- "request-id": "",
- "service-instance-id": "",
- "vnf-id": "",
- "action-name": "",
- "scope-type": "",
- "hostname": "",
- "vnf_name": ""
+ "request-id": {
+ "type": "string",
+ "required": true
+ },
+ "service-instance-id": {
+ "type": "string",
+ "required": true
+ },
+ "vnf-id": {
+ "type": "string",
+ "required": true
+ },
+ "action-name": {
+ "type": "string",
+ "required": true
+ },
+ "scope-type": {
+ "type": "string",
+ "required": true
+ },
+ "hostname": {
+ "type": "string",
+ "required": true
+ },
+ "vnf_name": {
+ "type": "string",
+ "required": true
+ }
}
}
},
"assign-activate": {
"inputs": {
"resource-assignment-properties": {
- "request-id": "",
- "service-instance-id": "",
- "vnf-id": "",
- "action-name": "",
- "scope-type": "",
- "hostname": "",
- "vnf_name": ""
+ "request-id": {
+ "type": "string",
+ "required": true
+ },
+ "service-instance-id": {
+ "type": "string",
+ "required": true
+ },
+ "vnf-id": {
+ "type": "string",
+ "required": true
+ },
+ "action-name": {
+ "type": "string",
+ "required": true
+ },
+ "scope-type": {
+ "type": "string",
+ "required": true
+ },
+ "hostname": {
+ "type": "string",
+ "required": true
+ },
+ "vnf_name": {
+ "type": "string",
+ "required": true
+ }
}
}
},
"imperative-test-wf": {
"inputs": {
"resource-assignment-properties": {
- "request-id": "",
- "service-instance-id": "",
- "vnf-id": "",
- "action-name": "",
- "scope-type": "",
- "hostname": "",
- "vnf_name": ""
+ "request-id": {
+ "type": "string",
+ "required": true
+ },
+ "service-instance-id": {
+ "type": "string",
+ "required": true
+ },
+ "vnf-id": {
+ "type": "string",
+ "required": true
+ },
+ "action-name": {
+ "type": "string",
+ "required": true
+ },
+ "scope-type": {
+ "type": "string",
+ "required": true
+ },
+ "hostname": {
+ "type": "string",
+ "required": true
+ },
+ "vnf_name": {
+ "type": "string",
+ "required": true
+ }
}
}
}
diff --git a/src/test/resources/tosca/new-converter/tosca_apex_with_metadata.json b/src/test/resources/tosca/new-converter/tosca_apex_with_metadata.json
index 58dff236..793ba5e7 100644
--- a/src/test/resources/tosca/new-converter/tosca_apex_with_metadata.json
+++ b/src/test/resources/tosca/new-converter/tosca_apex_with_metadata.json
@@ -66,16 +66,20 @@
"description": "Name/value pairs of payload information passed by Policy to the actor",
"anyOf": [
{
+ "title": "User defined",
+ "properties": {}
+ },
+ {
"title": "resource-assignment",
"properties": {
"artifact_name": {
- "title": "artifact_name",
+ "title": "artifact name",
"type": "string",
"default": "baseconfiguration",
"readOnly": "True"
},
"artifact_version": {
- "title": "artifact_version",
+ "title": "artifact version",
"type": "string",
"default": "1.0.0",
"readOnly": "True"
@@ -83,21 +87,44 @@
"mode": {
"title": "mode",
"type": "string",
- "default": "async",
- "readOnly": "True"
+ "default": "async"
},
"data": {
"title": "data",
- "type": "object",
"properties": {
"resource-assignment-properties": {
- "request-id": "",
- "service-instance-id": "",
- "vnf-id": "",
- "action-name": "",
- "scope-type": "",
- "hostname": "",
- "vnf_name": ""
+ "title": "resource-assignment-properties",
+ "type": "object",
+ "properties": {
+ "request-id": {
+ "title": "request-id",
+ "type": "string"
+ },
+ "service-instance-id": {
+ "title": "service-instance-id",
+ "type": "string"
+ },
+ "vnf-id": {
+ "title": "vnf-id",
+ "type": "string"
+ },
+ "action-name": {
+ "title": "action-name",
+ "type": "string"
+ },
+ "scope-type": {
+ "title": "scope-type",
+ "type": "string"
+ },
+ "hostname": {
+ "title": "hostname",
+ "type": "string"
+ },
+ "vnf_name": {
+ "title": "vnf_name",
+ "type": "string"
+ }
+ }
}
}
}
@@ -107,13 +134,13 @@
"title": "activate",
"properties": {
"artifact_name": {
- "title": "artifact_name",
+ "title": "artifact name",
"type": "string",
"default": "baseconfiguration",
"readOnly": "True"
},
"artifact_version": {
- "title": "artifact_version",
+ "title": "artifact version",
"type": "string",
"default": "1.0.0",
"readOnly": "True"
@@ -121,21 +148,44 @@
"mode": {
"title": "mode",
"type": "string",
- "default": "async",
- "readOnly": "True"
+ "default": "async"
},
"data": {
"title": "data",
- "type": "object",
"properties": {
"resource-assignment-properties": {
- "request-id": "",
- "service-instance-id": "",
- "vnf-id": "",
- "action-name": "",
- "scope-type": "",
- "hostname": "",
- "vnf_name": ""
+ "title": "resource-assignment-properties",
+ "type": "object",
+ "properties": {
+ "request-id": {
+ "title": "request-id",
+ "type": "string"
+ },
+ "service-instance-id": {
+ "title": "service-instance-id",
+ "type": "string"
+ },
+ "vnf-id": {
+ "title": "vnf-id",
+ "type": "string"
+ },
+ "action-name": {
+ "title": "action-name",
+ "type": "string"
+ },
+ "scope-type": {
+ "title": "scope-type",
+ "type": "string"
+ },
+ "hostname": {
+ "title": "hostname",
+ "type": "string"
+ },
+ "vnf_name": {
+ "title": "vnf_name",
+ "type": "string"
+ }
+ }
}
}
}
@@ -145,13 +195,13 @@
"title": "activate-restconf",
"properties": {
"artifact_name": {
- "title": "artifact_name",
+ "title": "artifact name",
"type": "string",
"default": "baseconfiguration",
"readOnly": "True"
},
"artifact_version": {
- "title": "artifact_version",
+ "title": "artifact version",
"type": "string",
"default": "1.0.0",
"readOnly": "True"
@@ -159,21 +209,44 @@
"mode": {
"title": "mode",
"type": "string",
- "default": "async",
- "readOnly": "True"
+ "default": "async"
},
"data": {
"title": "data",
- "type": "object",
"properties": {
"resource-assignment-properties": {
- "request-id": "",
- "service-instance-id": "",
- "vnf-id": "",
- "action-name": "",
- "scope-type": "",
- "hostname": "",
- "vnf_name": ""
+ "title": "resource-assignment-properties",
+ "type": "object",
+ "properties": {
+ "request-id": {
+ "title": "request-id",
+ "type": "string"
+ },
+ "service-instance-id": {
+ "title": "service-instance-id",
+ "type": "string"
+ },
+ "vnf-id": {
+ "title": "vnf-id",
+ "type": "string"
+ },
+ "action-name": {
+ "title": "action-name",
+ "type": "string"
+ },
+ "scope-type": {
+ "title": "scope-type",
+ "type": "string"
+ },
+ "hostname": {
+ "title": "hostname",
+ "type": "string"
+ },
+ "vnf_name": {
+ "title": "vnf_name",
+ "type": "string"
+ }
+ }
}
}
}
@@ -183,13 +256,13 @@
"title": "activate-cli",
"properties": {
"artifact_name": {
- "title": "artifact_name",
+ "title": "artifact name",
"type": "string",
"default": "baseconfiguration",
"readOnly": "True"
},
"artifact_version": {
- "title": "artifact_version",
+ "title": "artifact version",
"type": "string",
"default": "1.0.0",
"readOnly": "True"
@@ -197,21 +270,44 @@
"mode": {
"title": "mode",
"type": "string",
- "default": "async",
- "readOnly": "True"
+ "default": "async"
},
"data": {
"title": "data",
- "type": "object",
"properties": {
"resource-assignment-properties": {
- "request-id": "",
- "service-instance-id": "",
- "vnf-id": "",
- "action-name": "",
- "scope-type": "",
- "hostname": "",
- "vnf_name": ""
+ "title": "resource-assignment-properties",
+ "type": "object",
+ "properties": {
+ "request-id": {
+ "title": "request-id",
+ "type": "string"
+ },
+ "service-instance-id": {
+ "title": "service-instance-id",
+ "type": "string"
+ },
+ "vnf-id": {
+ "title": "vnf-id",
+ "type": "string"
+ },
+ "action-name": {
+ "title": "action-name",
+ "type": "string"
+ },
+ "scope-type": {
+ "title": "scope-type",
+ "type": "string"
+ },
+ "hostname": {
+ "title": "hostname",
+ "type": "string"
+ },
+ "vnf_name": {
+ "title": "vnf_name",
+ "type": "string"
+ }
+ }
}
}
}
@@ -221,13 +317,13 @@
"title": "assign-activate",
"properties": {
"artifact_name": {
- "title": "artifact_name",
+ "title": "artifact name",
"type": "string",
"default": "baseconfiguration",
"readOnly": "True"
},
"artifact_version": {
- "title": "artifact_version",
+ "title": "artifact version",
"type": "string",
"default": "1.0.0",
"readOnly": "True"
@@ -235,21 +331,44 @@
"mode": {
"title": "mode",
"type": "string",
- "default": "async",
- "readOnly": "True"
+ "default": "async"
},
"data": {
"title": "data",
- "type": "object",
"properties": {
"resource-assignment-properties": {
- "request-id": "",
- "service-instance-id": "",
- "vnf-id": "",
- "action-name": "",
- "scope-type": "",
- "hostname": "",
- "vnf_name": ""
+ "title": "resource-assignment-properties",
+ "type": "object",
+ "properties": {
+ "request-id": {
+ "title": "request-id",
+ "type": "string"
+ },
+ "service-instance-id": {
+ "title": "service-instance-id",
+ "type": "string"
+ },
+ "vnf-id": {
+ "title": "vnf-id",
+ "type": "string"
+ },
+ "action-name": {
+ "title": "action-name",
+ "type": "string"
+ },
+ "scope-type": {
+ "title": "scope-type",
+ "type": "string"
+ },
+ "hostname": {
+ "title": "hostname",
+ "type": "string"
+ },
+ "vnf_name": {
+ "title": "vnf_name",
+ "type": "string"
+ }
+ }
}
}
}
@@ -259,13 +378,13 @@
"title": "imperative-test-wf",
"properties": {
"artifact_name": {
- "title": "artifact_name",
+ "title": "artifact name",
"type": "string",
"default": "baseconfiguration",
"readOnly": "True"
},
"artifact_version": {
- "title": "artifact_version",
+ "title": "artifact version",
"type": "string",
"default": "1.0.0",
"readOnly": "True"
@@ -273,29 +392,48 @@
"mode": {
"title": "mode",
"type": "string",
- "default": "async",
- "readOnly": "True"
+ "default": "async"
},
"data": {
"title": "data",
- "type": "object",
"properties": {
"resource-assignment-properties": {
- "request-id": "",
- "service-instance-id": "",
- "vnf-id": "",
- "action-name": "",
- "scope-type": "",
- "hostname": "",
- "vnf_name": ""
+ "title": "resource-assignment-properties",
+ "type": "object",
+ "properties": {
+ "request-id": {
+ "title": "request-id",
+ "type": "string"
+ },
+ "service-instance-id": {
+ "title": "service-instance-id",
+ "type": "string"
+ },
+ "vnf-id": {
+ "title": "vnf-id",
+ "type": "string"
+ },
+ "action-name": {
+ "title": "action-name",
+ "type": "string"
+ },
+ "scope-type": {
+ "title": "scope-type",
+ "type": "string"
+ },
+ "hostname": {
+ "title": "hostname",
+ "type": "string"
+ },
+ "vnf_name": {
+ "title": "vnf_name",
+ "type": "string"
+ }
+ }
}
}
}
}
- },
- {
- "title": "User defined",
- "properties": {}
}
]
},
diff --git a/src/test/resources/tosca/operational-policy-cds-payload-with-list.json b/src/test/resources/tosca/operational-policy-cds-payload-with-list.json
new file mode 100644
index 00000000..24269ec7
--- /dev/null
+++ b/src/test/resources/tosca/operational-policy-cds-payload-with-list.json
@@ -0,0 +1,742 @@
+{
+ "type": "object",
+ "title": "Configuration",
+ "required": [
+ "operational_policy",
+ "guard_policies"
+ ],
+ "properties": {
+ "operational_policy": {
+ "type": "object",
+ "title": "Related Parameters",
+ "required": [
+ "controlLoop",
+ "policies"
+ ],
+ "properties": {
+ "controlLoop": {
+ "type": "object",
+ "title": "Control Loop details",
+ "required": [
+ "timeout",
+ "abatement",
+ "trigger_policy",
+ "controlLoopName"
+ ],
+ "properties": {
+ "timeout": {
+ "type": "string",
+ "title": "Overall Time Limit",
+ "default": "0",
+ "format": "number"
+ },
+ "abatement": {
+ "type": "string",
+ "title": "Abatement",
+ "enum": [
+ "True",
+ "False"
+ ]
+ },
+ "trigger_policy": {
+ "type": "string",
+ "title": "Policy Decision Entry"
+ },
+ "controlLoopName": {
+ "type": "string",
+ "title": "Control loop name",
+ "readOnly": "True"
+ }
+ }
+ },
+ "policies": {
+ "uniqueItems": "true",
+ "id": "policies_array",
+ "type": "array",
+ "title": "Policy Decision Tree",
+ "format": "tabs-top",
+ "items": {
+ "title": "Policy Decision",
+ "type": "object",
+ "id": "policy_item",
+ "headerTemplate": "{{self.id}} - {{self.recipe}}",
+ "format": "categories",
+ "basicCategoryTitle": "recipe",
+ "required": [
+ "id",
+ "retry",
+ "timeout",
+ "actor",
+ "success",
+ "failure",
+ "failure_timeout",
+ "failure_retries",
+ "failure_exception",
+ "failure_guard",
+ "target"
+ ],
+ "properties": {
+ "id": {
+ "default": "Policy 1",
+ "title": "Policy ID",
+ "type": "string"
+ },
+ "retry": {
+ "default": "0",
+ "title": "Number of Retry",
+ "type": "string",
+ "format": "number"
+ },
+ "timeout": {
+ "default": "0",
+ "title": "Timeout",
+ "type": "string",
+ "format": "number"
+ },
+ "actor": {
+ "type": "object",
+ "title": "Actor",
+ "anyOf": [
+ {
+ "title": "APPC",
+ "type": "object",
+ "properties": {
+ "actor": {
+ "title": "actor",
+ "type": "string",
+ "default": "APPC",
+ "options": {
+ "hidden": true
+ }
+ },
+ "recipe": {
+ "title": "recipe",
+ "type": "string",
+ "default": "",
+ "enum": [
+ "Restart",
+ "Rebuild",
+ "Migrate",
+ "Health-Check",
+ "ModifyConfig"
+ ]
+ },
+ "payload": {
+ "title": "Payload (YAML)",
+ "type": "string",
+ "format": "textarea"
+ }
+ }
+ },
+ {
+ "title": "SO",
+ "type": "object",
+ "properties": {
+ "actor": {
+ "title": "actor",
+ "type": "string",
+ "default": "SO",
+ "options": {
+ "hidden": true
+ }
+ },
+ "recipe": {
+ "title": "recipe",
+ "type": "string",
+ "default": "",
+ "enum": [
+ "VF Module Create",
+ "VF Module Delete"
+ ]
+ },
+ "payload": {
+ "title": "Payload (YAML)",
+ "type": "string",
+ "format": "textarea"
+ }
+ }
+ },
+ {
+ "title": "SDNC",
+ "type": "object",
+ "properties": {
+ "actor": {
+ "title": "actor",
+ "type": "string",
+ "default": "SDNC",
+ "options": {
+ "hidden": true
+ }
+ },
+ "recipe": {
+ "title": "recipe",
+ "type": "string",
+ "default": "",
+ "enum": [
+ "Reroute",
+ "BandwidthOnDemand"
+ ]
+ },
+ "payload": {
+ "title": "Payload (YAML)",
+ "type": "string",
+ "format": "textarea"
+ }
+ }
+ },
+ {
+ "title": "VFC",
+ "type": "object",
+ "properties": {
+ "actor": {
+ "title": "actor",
+ "type": "string",
+ "default": "VFC",
+ "options": {
+ "hidden": true
+ }
+ },
+ "recipe": {
+ "title": "recipe",
+ "type": "string",
+ "default": "",
+ "enum": [
+ "ModifyConfig"
+ ]
+ },
+ "payload": {
+ "title": "Payload (YAML)",
+ "type": "string",
+ "format": "textarea"
+ }
+ }
+ },
+ {
+ "title": "CDS",
+ "type": "object",
+ "properties": {
+ "actor": {
+ "title": "actor",
+ "type": "string",
+ "default": "CDS",
+ "options": {
+ "hidden": true
+ }
+ },
+ "recipe": {
+ "title": "recipe",
+ "type": "object",
+ "anyOf": [
+ {
+ "title": "user-defined",
+ "type": "object",
+ "properties": {
+ "recipe": {
+ "title": "recipe",
+ "type": "string",
+ "default": "user-defined",
+ "format": "textarea"
+ },
+ "payload": {
+ "title": "Payload (YAML)",
+ "type": "string",
+ "default": "",
+ "format": "textarea"
+ }
+ }
+ },
+ {
+ "title": "resource-assignment",
+ "type": "object",
+ "properties": {
+ "recipe": {
+ "title": "recipe",
+ "type": "string",
+ "default": "resource-assignment",
+ "options": {
+ "hidden": true
+ }
+ },
+ "payload": {
+ "title": "Payload (YAML)",
+ "type": "object",
+ "properties": {
+ "artifact_name": {
+ "title": "artifact name",
+ "type": "string",
+ "default": "baseconfiguration",
+ "readOnly": "True"
+ },
+ "artifact_version": {
+ "title": "artifact version",
+ "type": "string",
+ "default": "1.0.0",
+ "readOnly": "True"
+ },
+ "mode": {
+ "title": "mode",
+ "type": "string",
+ "default": "async"
+ },
+ "data": {
+ "title": "data",
+ "properties": {
+ "template-prefix": {
+ "title": "template-prefix",
+ "type": "array"
+ },
+ "template-prefix-with-complex-type": {
+ "title": "template-prefix-with-complex-type",
+ "type": "array",
+ "items": {
+ "properties": {
+ "prefix-id": {
+ "title": "prefix-id",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "resource-assignment-properties": {
+ "title": "resource-assignment-properties",
+ "type": "object",
+ "properties": {
+ "private1-prefix-id": {
+ "title": "private1-prefix-id",
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ ]
+ },
+ "success": {
+ "default": "final_success",
+ "title": "When Success",
+ "type": "string"
+ },
+ "failure": {
+ "default": "final_failure",
+ "title": "When Failure",
+ "type": "string"
+ },
+ "failure_timeout": {
+ "default": "final_failure_timeout",
+ "title": "When Failure Timeout",
+ "type": "string"
+ },
+ "failure_retries": {
+ "default": "final_failure_retries",
+ "title": "When Failure Retries",
+ "type": "string"
+ },
+ "failure_exception": {
+ "default": "final_failure_exception",
+ "title": "When Failure Exception",
+ "type": "string"
+ },
+ "failure_guard": {
+ "default": "final_failure_guard",
+ "title": "When Failure Guard",
+ "type": "string"
+ },
+ "target": {
+ "type": "object",
+ "required": [
+ "type",
+ "resourceID"
+ ],
+ "anyOf": [
+ {
+ "title": "User Defined",
+ "additionalProperties": "True",
+ "properties": {
+ "type": {
+ "title": "Target type",
+ "type": "string",
+ "default": "",
+ "enum": [
+ "VNF",
+ "VFMODULE",
+ "VM"
+ ]
+ },
+ "resourceID": {
+ "title": "Target type",
+ "type": "string",
+ "default": ""
+ }
+ }
+ },
+ {
+ "title": "VNF-vLoadBalancerMS 0",
+ "properties": {
+ "type": {
+ "title": "Type",
+ "type": "string",
+ "default": "VNF",
+ "readOnly": "True"
+ },
+ "resourceID": {
+ "title": "Resource ID",
+ "type": "string",
+ "default": "vLoadBalancerMS",
+ "readOnly": "True"
+ }
+ }
+ },
+ {
+ "title": "VFMODULE-Vloadbalancerms..vpkg..module-1",
+ "properties": {
+ "type": {
+ "title": "Type",
+ "type": "string",
+ "default": "VFMODULE",
+ "readOnly": "True"
+ },
+ "resourceID": {
+ "title": "Resource ID",
+ "type": "string",
+ "default": "Vloadbalancerms..vpkg..module-1",
+ "readOnly": "True"
+ },
+ "modelInvariantId": {
+ "title": "Model Invariant Id (ModelInvariantUUID)",
+ "type": "string",
+ "default": "ca052563-eb92-4b5b-ad41-9111768ce043",
+ "readOnly": "True"
+ },
+ "modelVersionId": {
+ "title": "Model Version Id (ModelUUID)",
+ "type": "string",
+ "default": "1e725ccc-b823-4f67-82b9-4f4367070dbc",
+ "readOnly": "True"
+ },
+ "modelName": {
+ "title": "Model Name",
+ "type": "string",
+ "default": "Vloadbalancerms..vpkg..module-1",
+ "readOnly": "True"
+ },
+ "modelVersion": {
+ "title": "Model Version",
+ "type": "string",
+ "default": "1",
+ "readOnly": "True"
+ },
+ "modelCustomizationId": {
+ "title": "Customization ID",
+ "type": "string",
+ "default": "1bffdc31-a37d-4dee-b65c-dde623a76e52",
+ "readOnly": "True"
+ }
+ }
+ },
+ {
+ "title": "VFMODULE-Vloadbalancerms..vdns..module-3",
+ "properties": {
+ "type": {
+ "title": "Type",
+ "type": "string",
+ "default": "VFMODULE",
+ "readOnly": "True"
+ },
+ "resourceID": {
+ "title": "Resource ID",
+ "type": "string",
+ "default": "Vloadbalancerms..vdns..module-3",
+ "readOnly": "True"
+ },
+ "modelInvariantId": {
+ "title": "Model Invariant Id (ModelInvariantUUID)",
+ "type": "string",
+ "default": "4c10ba9b-f88f-415e-9de3-5d33336047fa",
+ "readOnly": "True"
+ },
+ "modelVersionId": {
+ "title": "Model Version Id (ModelUUID)",
+ "type": "string",
+ "default": "4fa73b49-8a6c-493e-816b-eb401567b720",
+ "readOnly": "True"
+ },
+ "modelName": {
+ "title": "Model Name",
+ "type": "string",
+ "default": "Vloadbalancerms..vdns..module-3",
+ "readOnly": "True"
+ },
+ "modelVersion": {
+ "title": "Model Version",
+ "type": "string",
+ "default": "1",
+ "readOnly": "True"
+ },
+ "modelCustomizationId": {
+ "title": "Customization ID",
+ "type": "string",
+ "default": "bafcdab0-801d-4d81-9ead-f464640a38b1",
+ "readOnly": "True"
+ }
+ }
+ },
+ {
+ "title": "VFMODULE-Vloadbalancerms..base_template..module-0",
+ "properties": {
+ "type": {
+ "title": "Type",
+ "type": "string",
+ "default": "VFMODULE",
+ "readOnly": "True"
+ },
+ "resourceID": {
+ "title": "Resource ID",
+ "type": "string",
+ "default": "Vloadbalancerms..base_template..module-0",
+ "readOnly": "True"
+ },
+ "modelInvariantId": {
+ "title": "Model Invariant Id (ModelInvariantUUID)",
+ "type": "string",
+ "default": "921f7c96-ebdd-42e6-81b9-1cfc0c9796f3",
+ "readOnly": "True"
+ },
+ "modelVersionId": {
+ "title": "Model Version Id (ModelUUID)",
+ "type": "string",
+ "default": "63734409-f745-4e4d-a38b-131638a0edce",
+ "readOnly": "True"
+ },
+ "modelName": {
+ "title": "Model Name",
+ "type": "string",
+ "default": "Vloadbalancerms..base_template..module-0",
+ "readOnly": "True"
+ },
+ "modelVersion": {
+ "title": "Model Version",
+ "type": "string",
+ "default": "1",
+ "readOnly": "True"
+ },
+ "modelCustomizationId": {
+ "title": "Customization ID",
+ "type": "string",
+ "default": "86baddea-c730-4fb8-9410-cd2e17fd7f27",
+ "readOnly": "True"
+ }
+ }
+ },
+ {
+ "title": "VFMODULE-Vloadbalancerms..vlb..module-2",
+ "properties": {
+ "type": {
+ "title": "Type",
+ "type": "string",
+ "default": "VFMODULE",
+ "readOnly": "True"
+ },
+ "resourceID": {
+ "title": "Resource ID",
+ "type": "string",
+ "default": "Vloadbalancerms..vlb..module-2",
+ "readOnly": "True"
+ },
+ "modelInvariantId": {
+ "title": "Model Invariant Id (ModelInvariantUUID)",
+ "type": "string",
+ "default": "a772a1f4-0064-412c-833d-4749b15828dd",
+ "readOnly": "True"
+ },
+ "modelVersionId": {
+ "title": "Model Version Id (ModelUUID)",
+ "type": "string",
+ "default": "0f5c3f6a-650a-4303-abb6-fff3e573a07a",
+ "readOnly": "True"
+ },
+ "modelName": {
+ "title": "Model Name",
+ "type": "string",
+ "default": "Vloadbalancerms..vlb..module-2",
+ "readOnly": "True"
+ },
+ "modelVersion": {
+ "title": "Model Version",
+ "type": "string",
+ "default": "1",
+ "readOnly": "True"
+ },
+ "modelCustomizationId": {
+ "title": "Customization ID",
+ "type": "string",
+ "default": "96a78aad-4ffb-4ef0-9c4f-deb03bf1d806",
+ "readOnly": "True"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "guard_policies": {
+ "type": "array",
+ "format": "tabs-top",
+ "title": "Associated Guard policies",
+ "items": {
+ "headerTemplate": "{{self.policy-id}} - {{self.content.recipe}}",
+ "anyOf": [
+ {
+ "title": "Guard MinMax",
+ "type": "object",
+ "properties": {
+ "policy-id": {
+ "type": "string",
+ "default": "guard.minmax.new",
+ "pattern": "^(guard.minmax\\..*)$"
+ },
+ "content": {
+ "properties": {
+ "actor": {
+ "type": "string",
+ "enum": [
+ "APPC",
+ "SO",
+ "VFC",
+ "SDNC",
+ "SDNR"
+ ]
+ },
+ "recipe": {
+ "type": "string",
+ "enum": [
+ "Restart",
+ "Rebuild",
+ "Migrate",
+ "Health-Check",
+ "ModifyConfig",
+ "VF Module Create",
+ "VF Module Delete",
+ "Reroute"
+ ]
+ },
+ "targets": {
+ "type": "string",
+ "default": ".*"
+ },
+ "clname": {
+ "type": "string",
+ "template": "{{loopName}}",
+ "watch": {
+ "loopName": "operational_policy.controlLoop.controlLoopName"
+ }
+ },
+ "guardActiveStart": {
+ "type": "string",
+ "default": "00:00:00Z"
+ },
+ "guardActiveEnd": {
+ "type": "string",
+ "default": "10:00:00Z"
+ },
+ "min": {
+ "type": "string",
+ "default": "0"
+ },
+ "max": {
+ "type": "string",
+ "default": "1"
+ }
+ }
+ }
+ }
+ },
+ {
+ "title": "Guard Frequency",
+ "type": "object",
+ "properties": {
+ "policy-id": {
+ "type": "string",
+ "default": "guard.frequency.new",
+ "pattern": "^(guard.frequency\\..*)$"
+ },
+ "content": {
+ "properties": {
+ "actor": {
+ "type": "string",
+ "enum": [
+ "APPC",
+ "SO",
+ "VFC",
+ "SDNC",
+ "SDNR"
+ ]
+ },
+ "recipe": {
+ "type": "string",
+ "enum": [
+ "Restart",
+ "Rebuild",
+ "Migrate",
+ "Health-Check",
+ "ModifyConfig",
+ "VF Module Create",
+ "VF Module Delete",
+ "Reroute"
+ ]
+ },
+ "targets": {
+ "type": "string",
+ "default": ".*"
+ },
+ "clname": {
+ "type": "string",
+ "template": "{{loopName}}",
+ "watch": {
+ "loopName": "operational_policy.controlLoop.controlLoopName"
+ }
+ },
+ "guardActiveStart": {
+ "type": "string",
+ "default": "00:00:00Z"
+ },
+ "guardActiveEnd": {
+ "type": "string",
+ "default": "10:00:00Z"
+ },
+ "limit": {
+ "type": "string"
+ },
+ "timeWindow": {
+ "type": "string"
+ },
+ "timeUnits": {
+ "type": "string",
+ "enum": [
+ "minute",
+ "hour",
+ "day",
+ "week",
+ "month",
+ "year"
+ ]
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/src/test/resources/tosca/operational-policy-json-schema.json b/src/test/resources/tosca/operational-policy-json-schema.json
index 6ab84a8c..87457f1d 100644
--- a/src/test/resources/tosca/operational-policy-json-schema.json
+++ b/src/test/resources/tosca/operational-policy-json-schema.json
@@ -99,6 +99,7 @@
"anyOf": [
{
"title": "APPC",
+ "type": "object",
"properties": {
"actor": {
"title": "actor",
@@ -108,7 +109,7 @@
"hidden": true
}
},
- "type": {
+ "recipe": {
"title": "recipe",
"type": "string",
"default": "",
@@ -129,6 +130,7 @@
},
{
"title": "SO",
+ "type": "object",
"properties": {
"actor": {
"title": "actor",
@@ -138,7 +140,7 @@
"hidden": true
}
},
- "type": {
+ "recipe": {
"title": "recipe",
"type": "string",
"default": "",
@@ -156,6 +158,7 @@
},
{
"title": "SDNC",
+ "type": "object",
"properties": {
"actor": {
"title": "actor",
@@ -165,7 +168,7 @@
"hidden": true
}
},
- "type": {
+ "recipe": {
"title": "recipe",
"type": "string",
"default": "",
@@ -183,6 +186,7 @@
},
{
"title": "VFC",
+ "type": "object",
"properties": {
"actor": {
"title": "actor",
@@ -192,12 +196,9 @@
"hidden": true
}
},
- "type": {
+ "recipe": {
"title": "recipe",
"type": "string",
- "required": [
- "payload"
- ],
"default": "",
"enum": [
"ModifyConfig"
@@ -212,6 +213,7 @@
},
{
"title": "CDS",
+ "type": "object",
"properties": {
"actor": {
"title": "actor",
@@ -221,17 +223,21 @@
"hidden": true
}
},
- "type": {
+ "recipe": {
"title": "recipe",
"type": "object",
- "required": [
- "payload"
- ],
"anyOf": [
{
"title": "user-defined",
+ "type": "object",
"properties": {
- "type": {
+ "recipe": {
+ "title": "recipe",
+ "type": "string",
+ "default": "user-defined",
+ "format": "textarea"
+ },
+ "payload": {
"title": "Payload (YAML)",
"type": "string",
"default": "",
@@ -241,67 +247,457 @@
},
{
"title": "resource-assignment",
+ "type": "object",
"properties": {
- "type": {
- "title": "Payload (YAML)",
+ "recipe": {
+ "title": "recipe",
"type": "string",
- "default": "\u0027artifact_name : \"baseconfiguration\"\nartifact_version : \"1.0.0\"\nmode : async\ndata : \u0027\\\u0027{\"resource-assignment-properties\":{\"request-id\":\"\",\"service-instance-id\":\"\",\"vnf-id\":\"\",\"action-name\":\"\",\"scope-type\":\"\",\"hostname\":\"\",\"vnf_name\":\"\"}}\\\u0027\u0027",
- "format": "textarea"
+ "default": "resource-assignment",
+ "options": {
+ "hidden": true
+ }
+ },
+ "payload": {
+ "title": "Payload (YAML)",
+ "type": "object",
+ "properties": {
+ "artifact_name": {
+ "title": "artifact name",
+ "type": "string",
+ "default": "baseconfiguration",
+ "readOnly": "True"
+ },
+ "artifact_version": {
+ "title": "artifact version",
+ "type": "string",
+ "default": "1.0.0",
+ "readOnly": "True"
+ },
+ "mode": {
+ "title": "mode",
+ "type": "string",
+ "default": "async"
+ },
+ "data": {
+ "title": "data",
+ "properties": {
+ "resource-assignment-properties": {
+ "title": "resource-assignment-properties",
+ "type": "object",
+ "properties": {
+ "request-id": {
+ "title": "request-id",
+ "type": "string"
+ },
+ "service-instance-id": {
+ "title": "service-instance-id",
+ "type": "string"
+ },
+ "vnf-id": {
+ "title": "vnf-id",
+ "type": "string"
+ },
+ "action-name": {
+ "title": "action-name",
+ "type": "string"
+ },
+ "scope-type": {
+ "title": "scope-type",
+ "type": "string"
+ },
+ "hostname": {
+ "title": "hostname",
+ "type": "string"
+ },
+ "vnf_name": {
+ "title": "vnf_name",
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ }
}
}
},
{
"title": "activate",
+ "type": "object",
"properties": {
- "type": {
- "title": "Payload (YAML)",
+ "recipe": {
+ "title": "recipe",
"type": "string",
- "default": "\u0027artifact_name : \"baseconfiguration\"\nartifact_version : \"1.0.0\"\nmode : async\ndata : \u0027\\\u0027{\"resource-assignment-properties\":{\"request-id\":\"\",\"service-instance-id\":\"\",\"vnf-id\":\"\",\"action-name\":\"\",\"scope-type\":\"\",\"hostname\":\"\",\"vnf_name\":\"\"}}\\\u0027\u0027",
- "format": "textarea"
+ "default": "activate",
+ "options": {
+ "hidden": true
+ }
+ },
+ "payload": {
+ "title": "Payload (YAML)",
+ "type": "object",
+ "properties": {
+ "artifact_name": {
+ "title": "artifact name",
+ "type": "string",
+ "default": "baseconfiguration",
+ "readOnly": "True"
+ },
+ "artifact_version": {
+ "title": "artifact version",
+ "type": "string",
+ "default": "1.0.0",
+ "readOnly": "True"
+ },
+ "mode": {
+ "title": "mode",
+ "type": "string",
+ "default": "async"
+ },
+ "data": {
+ "title": "data",
+ "properties": {
+ "resource-assignment-properties": {
+ "title": "resource-assignment-properties",
+ "type": "object",
+ "properties": {
+ "request-id": {
+ "title": "request-id",
+ "type": "string"
+ },
+ "service-instance-id": {
+ "title": "service-instance-id",
+ "type": "string"
+ },
+ "vnf-id": {
+ "title": "vnf-id",
+ "type": "string"
+ },
+ "action-name": {
+ "title": "action-name",
+ "type": "string"
+ },
+ "scope-type": {
+ "title": "scope-type",
+ "type": "string"
+ },
+ "hostname": {
+ "title": "hostname",
+ "type": "string"
+ },
+ "vnf_name": {
+ "title": "vnf_name",
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ }
}
}
},
{
"title": "activate-restconf",
+ "type": "object",
"properties": {
- "type": {
- "title": "Payload (YAML)",
+ "recipe": {
+ "title": "recipe",
"type": "string",
- "default": "\u0027artifact_name : \"baseconfiguration\"\nartifact_version : \"1.0.0\"\nmode : async\ndata : \u0027\\\u0027{\"resource-assignment-properties\":{\"request-id\":\"\",\"service-instance-id\":\"\",\"vnf-id\":\"\",\"action-name\":\"\",\"scope-type\":\"\",\"hostname\":\"\",\"vnf_name\":\"\"}}\\\u0027\u0027",
- "format": "textarea"
+ "default": "activate-restconf",
+ "options": {
+ "hidden": true
+ }
+ },
+ "payload": {
+ "title": "Payload (YAML)",
+ "type": "object",
+ "properties": {
+ "artifact_name": {
+ "title": "artifact name",
+ "type": "string",
+ "default": "baseconfiguration",
+ "readOnly": "True"
+ },
+ "artifact_version": {
+ "title": "artifact version",
+ "type": "string",
+ "default": "1.0.0",
+ "readOnly": "True"
+ },
+ "mode": {
+ "title": "mode",
+ "type": "string",
+ "default": "async"
+ },
+ "data": {
+ "title": "data",
+ "properties": {
+ "resource-assignment-properties": {
+ "title": "resource-assignment-properties",
+ "type": "object",
+ "properties": {
+ "request-id": {
+ "title": "request-id",
+ "type": "string"
+ },
+ "service-instance-id": {
+ "title": "service-instance-id",
+ "type": "string"
+ },
+ "vnf-id": {
+ "title": "vnf-id",
+ "type": "string"
+ },
+ "action-name": {
+ "title": "action-name",
+ "type": "string"
+ },
+ "scope-type": {
+ "title": "scope-type",
+ "type": "string"
+ },
+ "hostname": {
+ "title": "hostname",
+ "type": "string"
+ },
+ "vnf_name": {
+ "title": "vnf_name",
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ }
}
}
},
{
"title": "activate-cli",
+ "type": "object",
"properties": {
- "type": {
- "title": "Payload (YAML)",
+ "recipe": {
+ "title": "recipe",
"type": "string",
- "default": "\u0027artifact_name : \"baseconfiguration\"\nartifact_version : \"1.0.0\"\nmode : async\ndata : \u0027\\\u0027{\"resource-assignment-properties\":{\"request-id\":\"\",\"service-instance-id\":\"\",\"vnf-id\":\"\",\"action-name\":\"\",\"scope-type\":\"\",\"hostname\":\"\",\"vnf_name\":\"\"}}\\\u0027\u0027",
- "format": "textarea"
+ "default": "activate-cli",
+ "options": {
+ "hidden": true
+ }
+ },
+ "payload": {
+ "title": "Payload (YAML)",
+ "type": "object",
+ "properties": {
+ "artifact_name": {
+ "title": "artifact name",
+ "type": "string",
+ "default": "baseconfiguration",
+ "readOnly": "True"
+ },
+ "artifact_version": {
+ "title": "artifact version",
+ "type": "string",
+ "default": "1.0.0",
+ "readOnly": "True"
+ },
+ "mode": {
+ "title": "mode",
+ "type": "string",
+ "default": "async"
+ },
+ "data": {
+ "title": "data",
+ "properties": {
+ "resource-assignment-properties": {
+ "title": "resource-assignment-properties",
+ "type": "object",
+ "properties": {
+ "request-id": {
+ "title": "request-id",
+ "type": "string"
+ },
+ "service-instance-id": {
+ "title": "service-instance-id",
+ "type": "string"
+ },
+ "vnf-id": {
+ "title": "vnf-id",
+ "type": "string"
+ },
+ "action-name": {
+ "title": "action-name",
+ "type": "string"
+ },
+ "scope-type": {
+ "title": "scope-type",
+ "type": "string"
+ },
+ "hostname": {
+ "title": "hostname",
+ "type": "string"
+ },
+ "vnf_name": {
+ "title": "vnf_name",
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ }
}
}
},
{
"title": "assign-activate",
+ "type": "object",
"properties": {
- "type": {
- "title": "Payload (YAML)",
+ "recipe": {
+ "title": "recipe",
"type": "string",
- "default": "\u0027artifact_name : \"baseconfiguration\"\nartifact_version : \"1.0.0\"\nmode : async\ndata : \u0027\\\u0027{\"resource-assignment-properties\":{\"request-id\":\"\",\"service-instance-id\":\"\",\"vnf-id\":\"\",\"action-name\":\"\",\"scope-type\":\"\",\"hostname\":\"\",\"vnf_name\":\"\"}}\\\u0027\u0027",
- "format": "textarea"
+ "default": "assign-activate",
+ "options": {
+ "hidden": true
+ }
+ },
+ "payload": {
+ "title": "Payload (YAML)",
+ "type": "object",
+ "properties": {
+ "artifact_name": {
+ "title": "artifact name",
+ "type": "string",
+ "default": "baseconfiguration",
+ "readOnly": "True"
+ },
+ "artifact_version": {
+ "title": "artifact version",
+ "type": "string",
+ "default": "1.0.0",
+ "readOnly": "True"
+ },
+ "mode": {
+ "title": "mode",
+ "type": "string",
+ "default": "async"
+ },
+ "data": {
+ "title": "data",
+ "properties": {
+ "resource-assignment-properties": {
+ "title": "resource-assignment-properties",
+ "type": "object",
+ "properties": {
+ "request-id": {
+ "title": "request-id",
+ "type": "string"
+ },
+ "service-instance-id": {
+ "title": "service-instance-id",
+ "type": "string"
+ },
+ "vnf-id": {
+ "title": "vnf-id",
+ "type": "string"
+ },
+ "action-name": {
+ "title": "action-name",
+ "type": "string"
+ },
+ "scope-type": {
+ "title": "scope-type",
+ "type": "string"
+ },
+ "hostname": {
+ "title": "hostname",
+ "type": "string"
+ },
+ "vnf_name": {
+ "title": "vnf_name",
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ }
}
}
},
{
"title": "imperative-test-wf",
+ "type": "object",
"properties": {
- "type": {
- "title": "Payload (YAML)",
+ "recipe": {
+ "title": "recipe",
"type": "string",
- "default": "\u0027artifact_name : \"baseconfiguration\"\nartifact_version : \"1.0.0\"\nmode : async\ndata : \u0027\\\u0027{\"resource-assignment-properties\":{\"request-id\":\"\",\"service-instance-id\":\"\",\"vnf-id\":\"\",\"action-name\":\"\",\"scope-type\":\"\",\"hostname\":\"\",\"vnf_name\":\"\"}}\\\u0027\u0027",
- "format": "textarea"
+ "default": "imperative-test-wf",
+ "options": {
+ "hidden": true
+ }
+ },
+ "payload": {
+ "title": "Payload (YAML)",
+ "type": "object",
+ "properties": {
+ "artifact_name": {
+ "title": "artifact name",
+ "type": "string",
+ "default": "baseconfiguration",
+ "readOnly": "True"
+ },
+ "artifact_version": {
+ "title": "artifact version",
+ "type": "string",
+ "default": "1.0.0",
+ "readOnly": "True"
+ },
+ "mode": {
+ "title": "mode",
+ "type": "string",
+ "default": "async"
+ },
+ "data": {
+ "title": "data",
+ "properties": {
+ "resource-assignment-properties": {
+ "title": "resource-assignment-properties",
+ "type": "object",
+ "properties": {
+ "request-id": {
+ "title": "request-id",
+ "type": "string"
+ },
+ "service-instance-id": {
+ "title": "service-instance-id",
+ "type": "string"
+ },
+ "vnf-id": {
+ "title": "vnf-id",
+ "type": "string"
+ },
+ "action-name": {
+ "title": "action-name",
+ "type": "string"
+ },
+ "scope-type": {
+ "title": "scope-type",
+ "type": "string"
+ },
+ "hostname": {
+ "title": "hostname",
+ "type": "string"
+ },
+ "vnf_name": {
+ "title": "vnf_name",
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ }
}
}
}
@@ -731,4 +1127,4 @@
}
}
}
-} \ No newline at end of file
+}
diff --git a/src/test/resources/tosca/operational-policy-payload-legacy.yaml b/src/test/resources/tosca/operational-policy-payload-legacy.yaml
index f4708ebc..72bbf9ba 100644
--- a/src/test/resources/tosca/operational-policy-payload-legacy.yaml
+++ b/src/test/resources/tosca/operational-policy-payload-legacy.yaml
@@ -40,3 +40,35 @@ policies:
resourceID: Vloadbalancerms..vpkg..module-1
type: VFMODULE
timeout: 0
+- actor: CDS
+ failure: final_failure
+ failure_exception: final_failure_exception
+ failure_guard: final_failure_guard
+ failure_retries: final_failure_retries
+ failure_timeout: final_failure_timeout
+ id: policy3
+ payload:
+ artifact_name: baseconfiguration
+ artifact_version: 1.0.0
+ data:
+ resource-assignment-properties:
+ action-name: action-name
+ hostname: hostname
+ request-id: request-id
+ scope-type: scope-type
+ service-instance-id: service-instance-id
+ vnf-id: vnf-id
+ vnf_name: vnf_name
+ mode: async
+ recipe: resource-assignment
+ retry: 0
+ success: final_success
+ target:
+ modelCustomizationId: 1bffdc31-a37d-4dee-b65c-dde623a76e52
+ modelInvariantId: ca052563-eb92-4b5b-ad41-9111768ce043
+ modelName: Vloadbalancerms..vpkg..module-1
+ modelVersion: 1
+ modelVersionId: 1e725ccc-b823-4f67-82b9-4f4367070dbc
+ resourceID: Vloadbalancerms..vpkg..module-1
+ type: VFMODULE
+ timeout: 0
diff --git a/src/test/resources/tosca/operational-policy-payload.json b/src/test/resources/tosca/operational-policy-payload.json
index 033eecd1..e53950af 100644
--- a/src/test/resources/tosca/operational-policy-payload.json
+++ b/src/test/resources/tosca/operational-policy-payload.json
@@ -1,4 +1,4 @@
{
"policy-id": "testPolicy.legacy",
- "content": "controlLoop%3A%0A++abatement%3A+true%0A++controlLoopName%3A+LOOP_ASJOy_v1_0_ResourceInstanceName1_tca%0A++timeout%3A+0%0A++trigger_policy%3A+policy1%0Apolicies%3A%0A-+actor%3A+APPC%0A++failure%3A+policy2%0A++failure_exception%3A+final_failure_exception%0A++failure_guard%3A+final_failure_guard%0A++failure_retries%3A+final_failure_retries%0A++failure_timeout%3A+final_failure_timeout%0A++id%3A+policy1%0A++payload%3A%0A++++configurationParameters%3A+%27%5B%7B%22ip-addr%22%3A%22%24.vf-module-topology.vf-module-parameters.param%5B10%5D.value%22%2C%22oam-ip-addr%22%3A%22%24.vf-module-topology.vf-module-parameters.param%5B15%5D.value%22%2C%22enabled%22%3A%22%24.vf-module-topology.vf-module-parameters.param%5B22%5D.value%22%7D%5D%27%0A++++requestParameters%3A+%27%7B%22usePreload%22%3Atrue%2C%22userParams%22%3A%5B%5D%7D%27%0A++recipe%3A+Restart%0A++retry%3A+0%0A++success%3A+final_success%0A++target%3A%0A++++resourceID%3A+vLoadBalancerMS%0A++++type%3A+VNF%0A++timeout%3A+0%0A-+actor%3A+SO%0A++failure%3A+final_failure%0A++failure_exception%3A+final_failure_exception%0A++failure_guard%3A+final_failure_guard%0A++failure_retries%3A+final_failure_retries%0A++failure_timeout%3A+final_failure_timeout%0A++id%3A+policy2%0A++recipe%3A+VF+Module+Create%0A++retry%3A+0%0A++success%3A+final_success%0A++target%3A%0A++++modelCustomizationId%3A+1bffdc31-a37d-4dee-b65c-dde623a76e52%0A++++modelInvariantId%3A+ca052563-eb92-4b5b-ad41-9111768ce043%0A++++modelName%3A+Vloadbalancerms..vpkg..module-1%0A++++modelVersion%3A+1%0A++++modelVersionId%3A+1e725ccc-b823-4f67-82b9-4f4367070dbc%0A++++resourceID%3A+Vloadbalancerms..vpkg..module-1%0A++++type%3A+VFMODULE%0A++timeout%3A+0%0A"
+ "content": "controlLoop%3A%0A++abatement%3A+true%0A++controlLoopName%3A+LOOP_ASJOy_v1_0_ResourceInstanceName1_tca%0A++timeout%3A+0%0A++trigger_policy%3A+policy1%0Apolicies%3A%0A-+actor%3A+APPC%0A++failure%3A+policy2%0A++failure_exception%3A+final_failure_exception%0A++failure_guard%3A+final_failure_guard%0A++failure_retries%3A+final_failure_retries%0A++failure_timeout%3A+final_failure_timeout%0A++id%3A+policy1%0A++payload%3A%0A++++configurationParameters%3A+%27%5B%7B%22ip-addr%22%3A%22%24.vf-module-topology.vf-module-parameters.param%5B10%5D.value%22%2C%22oam-ip-addr%22%3A%22%24.vf-module-topology.vf-module-parameters.param%5B15%5D.value%22%2C%22enabled%22%3A%22%24.vf-module-topology.vf-module-parameters.param%5B22%5D.value%22%7D%5D%27%0A++++requestParameters%3A+%27%7B%22usePreload%22%3Atrue%2C%22userParams%22%3A%5B%5D%7D%27%0A++recipe%3A+Restart%0A++retry%3A+0%0A++success%3A+final_success%0A++target%3A%0A++++resourceID%3A+vLoadBalancerMS%0A++++type%3A+VNF%0A++timeout%3A+0%0A-+actor%3A+SO%0A++failure%3A+final_failure%0A++failure_exception%3A+final_failure_exception%0A++failure_guard%3A+final_failure_guard%0A++failure_retries%3A+final_failure_retries%0A++failure_timeout%3A+final_failure_timeout%0A++id%3A+policy2%0A++recipe%3A+VF+Module+Create%0A++retry%3A+0%0A++success%3A+final_success%0A++target%3A%0A++++modelCustomizationId%3A+1bffdc31-a37d-4dee-b65c-dde623a76e52%0A++++modelInvariantId%3A+ca052563-eb92-4b5b-ad41-9111768ce043%0A++++modelName%3A+Vloadbalancerms..vpkg..module-1%0A++++modelVersion%3A+1%0A++++modelVersionId%3A+1e725ccc-b823-4f67-82b9-4f4367070dbc%0A++++resourceID%3A+Vloadbalancerms..vpkg..module-1%0A++++type%3A+VFMODULE%0A++timeout%3A+0%0A-+actor%3A+CDS%0A++failure%3A+final_failure%0A++failure_exception%3A+final_failure_exception%0A++failure_guard%3A+final_failure_guard%0A++failure_retries%3A+final_failure_retries%0A++failure_timeout%3A+final_failure_timeout%0A++id%3A+policy3%0A++payload%3A%0A++++artifact_name%3A+baseconfiguration%0A++++artifact_version%3A+1.0.0%0A++++data%3A%0A++++++resource-assignment-properties%3A%0A++++++++action-name%3A+action-name%0A++++++++hostname%3A+hostname%0A++++++++request-id%3A+request-id%0A++++++++scope-type%3A+scope-type%0A++++++++service-instance-id%3A+service-instance-id%0A++++++++vnf-id%3A+vnf-id%0A++++++++vnf_name%3A+vnf_name%0A++++mode%3A+async%0A++recipe%3A+resource-assignment%0A++retry%3A+0%0A++success%3A+final_success%0A++target%3A%0A++++modelCustomizationId%3A+1bffdc31-a37d-4dee-b65c-dde623a76e52%0A++++modelInvariantId%3A+ca052563-eb92-4b5b-ad41-9111768ce043%0A++++modelName%3A+Vloadbalancerms..vpkg..module-1%0A++++modelVersion%3A+1%0A++++modelVersionId%3A+1e725ccc-b823-4f67-82b9-4f4367070dbc%0A++++resourceID%3A+Vloadbalancerms..vpkg..module-1%0A++++type%3A+VFMODULE%0A++timeout%3A+0%0A"
} \ No newline at end of file
diff --git a/src/test/resources/tosca/operational-policy-payload.yaml b/src/test/resources/tosca/operational-policy-payload.yaml
index 69c86cc8..aaa96276 100644
--- a/src/test/resources/tosca/operational-policy-payload.yaml
+++ b/src/test/resources/tosca/operational-policy-payload.yaml
@@ -50,3 +50,35 @@ topology_template:
actor: SO
recipe: VF Module Create
payload: ''
+ - id: policy3
+ retry: '0'
+ timeout: '0'
+ success: final_success
+ failure: final_failure
+ failure_timeout: final_failure_timeout
+ failure_retries: final_failure_retries
+ failure_exception: final_failure_exception
+ failure_guard: final_failure_guard
+ target:
+ type: VFMODULE
+ resourceID: Vloadbalancerms..vpkg..module-1
+ modelInvariantId: ca052563-eb92-4b5b-ad41-9111768ce043
+ modelVersionId: 1e725ccc-b823-4f67-82b9-4f4367070dbc
+ modelName: Vloadbalancerms..vpkg..module-1
+ modelVersion: '1'
+ modelCustomizationId: 1bffdc31-a37d-4dee-b65c-dde623a76e52
+ actor: CDS
+ recipe: resource-assignment
+ payload:
+ artifact_name: baseconfiguration
+ artifact_version: 1.0.0
+ mode: async
+ data:
+ resource-assignment-properties:
+ request-id: request-id
+ service-instance-id: service-instance-id
+ vnf-id: vnf-id
+ action-name: action-name
+ scope-type: scope-type
+ hostname: hostname
+ vnf_name: vnf_name
diff --git a/src/test/resources/tosca/operational-policy-properties.json b/src/test/resources/tosca/operational-policy-properties.json
index a2de76a9..2777a158 100644
--- a/src/test/resources/tosca/operational-policy-properties.json
+++ b/src/test/resources/tosca/operational-policy-properties.json
@@ -10,7 +10,7 @@
{
"actor": {
"actor": "APPC",
- "type": "Restart",
+ "recipe": "Restart",
"payload": "requestParameters: '{\"usePreload\":true,\"userParams\":[]}'\r\nconfigurationParameters: '[{\"ip-addr\":\"$.vf-module-topology.vf-module-parameters.param[10].value\",\"oam-ip-addr\":\"$.vf-module-topology.vf-module-parameters.param[15].value\",\"enabled\":\"$.vf-module-topology.vf-module-parameters.param[22].value\"}]'"
},
"id": "policy1",
@@ -27,11 +27,11 @@
"resourceID": "vLoadBalancerMS"
}
},
- {
+ {
"actor": {
- "actor": "SO",
- "type": "VF Module Create",
- "payload": ""
+ "actor": "SO",
+ "recipe": "VF Module Create",
+ "payload": ""
},
"id": "policy2",
"retry": "0",
@@ -51,6 +51,48 @@
"modelVersion": "1",
"modelCustomizationId": "1bffdc31-a37d-4dee-b65c-dde623a76e52"
}
+ },
+ {
+ "actor": {
+ "actor": "CDS",
+ "recipe": {
+ "recipe": "resource-assignment",
+ "payload": {
+ "artifact_name": "baseconfiguration",
+ "artifact_version": "1.0.0",
+ "mode": "async",
+ "data": {
+ "resource-assignment-properties": {
+ "request-id": "request-id",
+ "service-instance-id": "service-instance-id",
+ "vnf-id": "vnf-id",
+ "action-name": "action-name",
+ "scope-type": "scope-type",
+ "hostname": "hostname",
+ "vnf_name": "vnf_name"
+ }
+ }
+ }
+ }
+ },
+ "id": "policy3",
+ "retry": "0",
+ "timeout": "0",
+ "success": "final_success",
+ "failure": "final_failure",
+ "failure_timeout": "final_failure_timeout",
+ "failure_retries": "final_failure_retries",
+ "failure_exception": "final_failure_exception",
+ "failure_guard": "final_failure_guard",
+ "target": {
+ "type": "VFMODULE",
+ "resourceID": "Vloadbalancerms..vpkg..module-1",
+ "modelInvariantId": "ca052563-eb92-4b5b-ad41-9111768ce043",
+ "modelVersionId": "1e725ccc-b823-4f67-82b9-4f4367070dbc",
+ "modelName": "Vloadbalancerms..vpkg..module-1",
+ "modelVersion": "1",
+ "modelCustomizationId": "1bffdc31-a37d-4dee-b65c-dde623a76e52"
+ }
}
]
},
diff --git a/src/test/resources/tosca/pdp-group-policy-payload.json b/src/test/resources/tosca/pdp-group-policy-payload.json
index c81440e7..dce740fc 100644
--- a/src/test/resources/tosca/pdp-group-policy-payload.json
+++ b/src/test/resources/tosca/pdp-group-policy-payload.json
@@ -23,6 +23,14 @@
"action": "POST",
"policies": [
{
+ "name": "opLegacyPolicy",
+ "version": "1.0.0"
+ },
+ {
+ "name": "guard1",
+ "version": "1.0.0"
+ },
+ {
"name": "opPolicy",
"version": "1.0.0"
}
diff --git a/src/test/resources/tosca/policy-yaml-to-json-with-constraints.json b/src/test/resources/tosca/policy-yaml-to-json-with-constraints.json
index b2575486..fe9b84d1 100644
--- a/src/test/resources/tosca/policy-yaml-to-json-with-constraints.json
+++ b/src/test/resources/tosca/policy-yaml-to-json-with-constraints.json
@@ -1,7 +1,7 @@
{
"schema": {
"uniqueItems": "true",
- "format": "tabs-top",
+ "format": "tabs",
"type": "array",
"title": "Properties with constraints",
"items": {
diff --git a/src/test/resources/tosca/policy-yaml-to-json-with-datatypes.json b/src/test/resources/tosca/policy-yaml-to-json-with-datatypes.json
index d470d928..ef9c2c03 100644
--- a/src/test/resources/tosca/policy-yaml-to-json-with-datatypes.json
+++ b/src/test/resources/tosca/policy-yaml-to-json-with-datatypes.json
@@ -1,7 +1,7 @@
{
"schema": {
"uniqueItems": "true",
- "format": "tabs-top",
+ "format": "tabs",
"type": "array",
"title": "Properties with different types",
"items": {
diff --git a/src/test/resources/tosca/policy-yaml-to-json.json b/src/test/resources/tosca/policy-yaml-to-json.json
index dd6a9ff3..b83d3f24 100644
--- a/src/test/resources/tosca/policy-yaml-to-json.json
+++ b/src/test/resources/tosca/policy-yaml-to-json.json
@@ -1,7 +1,7 @@
{
"schema": {
"uniqueItems": "true",
- "format": "tabs-top",
+ "format": "tabs",
"type": "array",
"title": "TCA Policy JSON",
"items": {
diff --git a/src/test/resources/tosca/resource-details.json b/src/test/resources/tosca/resource-details.json
index a638c350..dc47b44d 100644
--- a/src/test/resources/tosca/resource-details.json
+++ b/src/test/resources/tosca/resource-details.json
@@ -24,78 +24,204 @@
"resource-assignment": {
"inputs": {
"resource-assignment-properties": {
- "request-id": "",
- "service-instance-id": "",
- "vnf-id": "",
- "action-name": "",
- "scope-type": "",
- "hostname": "",
- "vnf_name": ""
+ "request-id": {
+ "type": "string",
+ "required": true
+ },
+ "service-instance-id": {
+ "type": "string",
+ "required": true
+ },
+ "vnf-id": {
+ "type": "string",
+ "required": true
+ },
+ "action-name": {
+ "type": "string",
+ "required": true
+ },
+ "scope-type": {
+ "type": "string",
+ "required": true
+ },
+ "hostname": {
+ "type": "string",
+ "required": true
+ },
+ "vnf_name": {
+ "type": "string",
+ "required": true
+ }
}
}
},
"activate": {
"inputs": {
"resource-assignment-properties": {
- "request-id": "",
- "service-instance-id": "",
- "vnf-id": "",
- "action-name": "",
- "scope-type": "",
- "hostname": "",
- "vnf_name": ""
+ "request-id": {
+ "type": "string",
+ "required": true
+ },
+ "service-instance-id": {
+ "type": "string",
+ "required": true
+ },
+ "vnf-id": {
+ "type": "string",
+ "required": true
+ },
+ "action-name": {
+ "type": "string",
+ "required": true
+ },
+ "scope-type": {
+ "type": "string",
+ "required": true
+ },
+ "hostname": {
+ "type": "string",
+ "required": true
+ },
+ "vnf_name": {
+ "type": "string",
+ "required": true
+ }
}
}
},
"activate-restconf": {
"inputs": {
"resource-assignment-properties": {
- "request-id": "",
- "service-instance-id": "",
- "vnf-id": "",
- "action-name": "",
- "scope-type": "",
- "hostname": "",
- "vnf_name": ""
+ "request-id": {
+ "type": "string",
+ "required": true
+ },
+ "service-instance-id": {
+ "type": "string",
+ "required": true
+ },
+ "vnf-id": {
+ "type": "string",
+ "required": true
+ },
+ "action-name": {
+ "type": "string",
+ "required": true
+ },
+ "scope-type": {
+ "type": "string",
+ "required": true
+ },
+ "hostname": {
+ "type": "string",
+ "required": true
+ },
+ "vnf_name": {
+ "type": "string",
+ "required": true
+ }
}
}
},
"activate-cli": {
"inputs": {
"resource-assignment-properties": {
- "request-id": "",
- "service-instance-id": "",
- "vnf-id": "",
- "action-name": "",
- "scope-type": "",
- "hostname": "",
- "vnf_name": ""
+ "request-id": {
+ "type": "string",
+ "required": true
+ },
+ "service-instance-id": {
+ "type": "string",
+ "required": true
+ },
+ "vnf-id": {
+ "type": "string",
+ "required": true
+ },
+ "action-name": {
+ "type": "string",
+ "required": true
+ },
+ "scope-type": {
+ "type": "string",
+ "required": true
+ },
+ "hostname": {
+ "type": "string",
+ "required": true
+ },
+ "vnf_name": {
+ "type": "string",
+ "required": true
+ }
}
}
},
"assign-activate": {
"inputs": {
"resource-assignment-properties": {
- "request-id": "",
- "service-instance-id": "",
- "vnf-id": "",
- "action-name": "",
- "scope-type": "",
- "hostname": "",
- "vnf_name": ""
+ "request-id": {
+ "type": "string",
+ "required": true
+ },
+ "service-instance-id": {
+ "type": "string",
+ "required": true
+ },
+ "vnf-id": {
+ "type": "string",
+ "required": true
+ },
+ "action-name": {
+ "type": "string",
+ "required": true
+ },
+ "scope-type": {
+ "type": "string",
+ "required": true
+ },
+ "hostname": {
+ "type": "string",
+ "required": true
+ },
+ "vnf_name": {
+ "type": "string",
+ "required": true
+ }
}
}
},
"imperative-test-wf": {
"inputs": {
"resource-assignment-properties": {
- "request-id": "",
- "service-instance-id": "",
- "vnf-id": "",
- "action-name": "",
- "scope-type": "",
- "hostname": "",
- "vnf_name": ""
+ "request-id": {
+ "type": "string",
+ "required": true
+ },
+ "service-instance-id": {
+ "type": "string",
+ "required": true
+ },
+ "vnf-id": {
+ "type": "string",
+ "required": true
+ },
+ "action-name": {
+ "type": "string",
+ "required": true
+ },
+ "scope-type": {
+ "type": "string",
+ "required": true
+ },
+ "hostname": {
+ "type": "string",
+ "required": true
+ },
+ "vnf_name": {
+ "type": "string",
+ "required": true
+ }
}
}
}
diff --git a/src/test/resources/tosca/tosca_metadata_clamp_possible_values_json_schema.json b/src/test/resources/tosca/tosca_metadata_clamp_possible_values_json_schema.json
index af8c1f96..418ee71b 100644
--- a/src/test/resources/tosca/tosca_metadata_clamp_possible_values_json_schema.json
+++ b/src/test/resources/tosca/tosca_metadata_clamp_possible_values_json_schema.json
@@ -1,7 +1,7 @@
{
"schema":{
"uniqueItems":"true",
- "format":"tabs-top",
+ "format":"tabs",
"type":"array",
"title":"TCA Policy JSON",
"items":{
@@ -185,6 +185,20 @@
"id":"alarmCondition",
"label":"alarmCondition",
"type":"string"
+ },
+ {
+ "plugin":"datetimepicker",
+ "operators":[
+ "equals"
+ ],
+ "minLength":1,
+ "id":"timeEpoch",
+ "label":"timeEpoch",
+ "type":"datetime",
+ "input_event":"dp.change",
+ "validation":{
+ "format":"YYYY/MM/DD HH:mm:ss"
+ }
}
]
},
diff --git a/src/test/resources/tosca/tosca_with_date_time_json_schema.json b/src/test/resources/tosca/tosca_with_date_time_json_schema.json
new file mode 100644
index 00000000..e15942cc
--- /dev/null
+++ b/src/test/resources/tosca/tosca_with_date_time_json_schema.json
@@ -0,0 +1,240 @@
+{
+ "schema":{
+ "uniqueItems":"true",
+ "format":"tabs",
+ "type":"array",
+ "title":"TCA Policy JSON",
+ "items":{
+ "type":"object",
+ "title":"TCA Policy JSON",
+ "required":[
+ "domain",
+ "metricsPerEventName"
+ ],
+ "properties":{
+ "domain":{
+ "propertyOrder":1001,
+ "default":"measurementsForVfScaling",
+ "title":"Domain name to which TCA needs to be applied",
+ "type":"string"
+ },
+ "metricsPerEventName":{
+ "propertyOrder":1002,
+ "uniqueItems":"true",
+ "format":"tabs-top",
+ "title":"Contains eventName and threshold details that need to be applied to given eventName",
+ "type":"array",
+ "items":{
+ "type":"object",
+ "required":[
+ "controlLoopSchemaType",
+ "eventName",
+ "policyName",
+ "policyScope",
+ "policyVersion",
+ "thresholds",
+ "context",
+ "signature"
+ ],
+ "properties":{
+ "policyVersion":{
+ "propertyOrder":1007,
+ "title":"TCA Policy Scope Version",
+ "type":"string"
+ },
+ "thresholds":{
+ "propertyOrder":1008,
+ "uniqueItems":"true",
+ "format":"tabs-top",
+ "title":"Thresholds associated with eventName",
+ "type":"array",
+ "items":{
+ "type":"object",
+ "required":[
+ "closedLoopControlName",
+ "closedLoopEventStatus",
+ "direction",
+ "fieldPath",
+ "severity",
+ "thresholdValue",
+ "version"
+ ],
+ "properties":{
+ "severity":{
+ "propertyOrder":1013,
+ "title":"Threshold Event Severity",
+ "type":"string",
+ "enum":[
+ "CRITICAL",
+ "MAJOR",
+ "MINOR",
+ "WARNING",
+ "NORMAL"
+ ]
+ },
+ "fieldPath":{
+ "propertyOrder":1012,
+ "title":"Json field Path as per CEF message which needs to be analyzed for TCA",
+ "type":"string",
+ "enum":[
+ "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta",
+ "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedOctetsDelta",
+ "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedUnicastPacketsDelta",
+ "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedMulticastPacketsDelta",
+ "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsDelta",
+ "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsDelta",
+ "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedErrorPacketsDelta",
+ "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsAccumulated",
+ "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedOctetsAccumulated",
+ "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedUnicastPacketsAccumulated",
+ "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedMulticastPacketsAccumulated",
+ "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated",
+ "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsAccumulated",
+ "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedErrorPacketsAccumulated",
+ "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedTotalPacketsDelta",
+ "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedOctetsDelta",
+ "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedUnicastPacketsDelta",
+ "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedMulticastPacketsDelta",
+ "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedBroadcastPacketsDelta",
+ "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedDiscardedPacketsDelta",
+ "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedErrorPacketsDelta",
+ "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedTotalPacketsAccumulated",
+ "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedOctetsAccumulated",
+ "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedUnicastPacketsAccumulated",
+ "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedMulticastPacketsAccumulated",
+ "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedBroadcastPacketsAccumulated",
+ "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedDiscardedPacketsAccumulated",
+ "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedErrorPacketsAccumulated",
+ "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuIdle",
+ "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageInterrupt",
+ "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageNice",
+ "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSoftIrq",
+ "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSteal",
+ "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSystem",
+ "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuWait",
+ "$.event.measurementsForVfScalingFields.cpuUsageArray[*].percentUsage",
+ "$.event.measurementsForVfScalingFields.meanRequestLatency",
+ "$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryBuffered",
+ "$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryCached",
+ "$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryConfigured",
+ "$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryFree",
+ "$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryUsed",
+ "$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value"
+ ]
+ },
+ "thresholdValue":{
+ "propertyOrder":1014,
+ "title":"Threshold value for the field Path inside CEF message",
+ "type":"integer"
+ },
+ "closedLoopEventStatus":{
+ "propertyOrder":1010,
+ "title":"Closed Loop Event Status of the threshold",
+ "type":"string",
+ "enum":[
+ "ONSET",
+ "ABATED"
+ ]
+ },
+ "closedLoopControlName":{
+ "propertyOrder":1009,
+ "title":"Closed Loop Control Name associated with the threshold",
+ "type":"string"
+ },
+ "version":{
+ "propertyOrder":1015,
+ "title":"Version number associated with the threshold",
+ "type":"string"
+ },
+ "direction":{
+ "propertyOrder":1011,
+ "title":"Direction of the threshold",
+ "type":"string",
+ "enum":[
+ "LESS",
+ "LESS_OR_EQUAL",
+ "GREATER",
+ "GREATER_OR_EQUAL",
+ "EQUAL"
+ ]
+ }
+ }
+ }
+ },
+ "policyName":{
+ "propertyOrder":1005,
+ "title":"TCA Policy Scope Name",
+ "type":"string"
+ },
+ "signature":{
+ "propertyOrder":1017,
+ "title":"Signature",
+ "required":[
+ "filter_clause"
+ ],
+ "properties":{
+ "filter_clause":{
+ "propertyOrder":30002,
+ "qschema":{
+ "filters":[
+ {
+ "plugin":"datetimepicker",
+ "operators":[
+ "equals"
+ ],
+ "minLength":1,
+ "id":"timeEpoch",
+ "label":"timeEpoch",
+ "type":"datetime",
+ "input_event":"dp.change",
+ "validation":{
+ "format":"YYYY/MM/DD HH:mm:ss"
+ }
+ }
+ ]
+ },
+ "minLength":1,
+ "title":"Filter Clause",
+ "type":"qbldr"
+ }
+ }
+ },
+ "controlLoopSchemaType":{
+ "propertyOrder":1003,
+ "title":"Specifies Control Loop Schema Type for the event Name e.g. VNF, VM",
+ "type":"string",
+ "enum":[
+ "VM",
+ "VNF"
+ ]
+ },
+ "policyScope":{
+ "propertyOrder":1006,
+ "title":"TCA Policy Scope",
+ "type":"string"
+ },
+ "context":{
+ "propertyOrder":1016,
+ "options":{
+ "enum_titles":[
+ "PROD"
+ ]
+ },
+ "title":"TCA Policy Dummy Context",
+ "type":"string",
+ "enum":[
+ "PROD"
+ ]
+ },
+ "eventName":{
+ "propertyOrder":1004,
+ "title":"Event name to which thresholds need to be applied",
+ "type":"string"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+} \ No newline at end of file