aboutsummaryrefslogtreecommitdiffstats
path: root/docs/api/policytypes
diff options
context:
space:
mode:
Diffstat (limited to 'docs/api/policytypes')
-rw-r--r--docs/api/policytypes/onap.policies.controlloop.Operational.json12
-rw-r--r--docs/api/policytypes/onap.policies.controlloop.guard.Blacklist.json62
-rw-r--r--docs/api/policytypes/onap.policies.controlloop.guard.FrequencyLimiter.json77
-rw-r--r--docs/api/policytypes/onap.policies.controlloop.guard.MinMax.json66
-rw-r--r--docs/api/policytypes/onap.policies.monitoring.cdap.tca.hi.lo.app.json224
-rw-r--r--docs/api/policytypes/onap.policies.monitoring.dcaegen2.collectors.datafile.datafile-app-server.json28
-rw-r--r--docs/api/policytypes/onap.policies.optimization.AffinityPolicy.json103
-rw-r--r--docs/api/policytypes/onap.policies.optimization.DistancePolicy.json133
-rw-r--r--docs/api/policytypes/onap.policies.optimization.HpaPolicy.json205
-rw-r--r--docs/api/policytypes/onap.policies.optimization.OptimizationPolicy.json141
-rw-r--r--docs/api/policytypes/onap.policies.optimization.PciPolicy.json92
-rw-r--r--docs/api/policytypes/onap.policies.optimization.QueryPolicy.json77
-rw-r--r--docs/api/policytypes/onap.policies.optimization.SubscriberPolicy.json83
-rw-r--r--docs/api/policytypes/onap.policies.optimization.Vim_fit.json92
-rw-r--r--docs/api/policytypes/onap.policies.optimization.VnfPolicy.json116
15 files changed, 1511 insertions, 0 deletions
diff --git a/docs/api/policytypes/onap.policies.controlloop.Operational.json b/docs/api/policytypes/onap.policies.controlloop.Operational.json
new file mode 100644
index 00000000..2d36a258
--- /dev/null
+++ b/docs/api/policytypes/onap.policies.controlloop.Operational.json
@@ -0,0 +1,12 @@
+{
+ "tosca_definitions_version": "tosca_simple_yaml_1_0_0",
+ "policy_types": [
+ {
+ "onap.policies.controlloop.Operational": {
+ "derived_from": "tosca.policies.Root",
+ "version": "1.0.0",
+ "description": "Operational Policy for Control Loops"
+ }
+ }
+ ]
+} \ No newline at end of file
diff --git a/docs/api/policytypes/onap.policies.controlloop.guard.Blacklist.json b/docs/api/policytypes/onap.policies.controlloop.guard.Blacklist.json
new file mode 100644
index 00000000..9391496c
--- /dev/null
+++ b/docs/api/policytypes/onap.policies.controlloop.guard.Blacklist.json
@@ -0,0 +1,62 @@
+{
+ "tosca_definitions_version": "tosca_simple_yaml_1_0_0",
+ "policy_types": [
+ {
+ "onap.policies.controlloop.Guard": {
+ "derived_from": "tosca.policies.Root",
+ "version": "1.0.0",
+ "description": "Guard Policies for Control Loop Operational Policies"
+ }
+ },
+ {
+ "onap.policies.controlloop.guard.Blacklist": {
+ "derived_from": "onap.policies.controlloop.Guard",
+ "version": "1.0.0",
+ "description": "Supports blacklist of VNF's from performing control loop actions on.",
+ "properties": {
+ "blacklist_policy": {
+ "type": "map",
+ "description": null,
+ "entry_schema": {
+ "type": "onap.datatypes.guard.Blacklist"
+ }
+ }
+ }
+ }
+ }
+ ],
+ "data_types": [
+ {
+ "onap.datatypes.guard.Blacklist": {
+ "derived_from": "tosca.datatypes.Root",
+ "properties": {
+ "actor": {
+ "type": "string",
+ "description": "Specifies the Actor",
+ "required": true
+ },
+ "recipe": {
+ "type": "string",
+ "description": "Specified the Recipe",
+ "required": true
+ },
+ "time_range": {
+ "type": "tosca.datatypes.TimeInterval",
+ "description": "An optional range of time during the day the blacklist is valid for.",
+ "required": false
+ },
+ "controlLoopName": {
+ "type": "string",
+ "description": "An optional specific control loop to apply this guard to.",
+ "required": false
+ },
+ "blacklist": {
+ "type": "list",
+ "description": "List of VNF's",
+ "required": true
+ }
+ }
+ }
+ }
+ ]
+} \ No newline at end of file
diff --git a/docs/api/policytypes/onap.policies.controlloop.guard.FrequencyLimiter.json b/docs/api/policytypes/onap.policies.controlloop.guard.FrequencyLimiter.json
new file mode 100644
index 00000000..598bd3c7
--- /dev/null
+++ b/docs/api/policytypes/onap.policies.controlloop.guard.FrequencyLimiter.json
@@ -0,0 +1,77 @@
+{
+ "tosca_definitions_version": "tosca_simple_yaml_1_0_0",
+ "policy_types": [
+ {
+ "onap.policies.controlloop.Guard": {
+ "derived_from": "tosca.policies.Root",
+ "version": "1.0.0",
+ "description": "Guard Policies for Control Loop Operational Policies"
+ }
+ },
+ {
+ "onap.policies.controlloop.guard.FrequencyLimiter": {
+ "derived_from": "onap.policies.controlloop.Guard",
+ "version": "1.0.0",
+ "description": "Supports limiting the frequency of actions being taken by a Actor.",
+ "properties": {
+ "frequency_policy": {
+ "type": "map",
+ "description": null,
+ "entry_schema": {
+ "type": "onap.datatypes.guard.FrequencyLimiter"
+ }
+ }
+ }
+ }
+ }
+ ],
+ "data_types": [
+ {
+ "onap.datatypes.guard.FrequencyLimiter": {
+ "derived_from": "tosca.datatypes.Root",
+ "properties": {
+ "actor": {
+ "type": "string",
+ "description": "Specifies the Actor",
+ "required": true
+ },
+ "recipe": {
+ "type": "string",
+ "description": "Specified the Recipe",
+ "required": true
+ },
+ "time_window": {
+ "type": "scalar-unit.time",
+ "description": "The time window to count the actions against.",
+ "required": true
+ },
+ "limit": {
+ "type": "integer",
+ "description": "The limit",
+ "required": true,
+ "constraints": [
+ {
+ "greater_than": 0
+ }
+ ]
+ },
+ "time_range": {
+ "type": "tosca.datatypes.TimeInterval",
+ "description": "An optional range of time during the day the frequency is valid for.",
+ "required": false
+ },
+ "controlLoopName": {
+ "type": "string",
+ "description": "An optional specific control loop to apply this guard to.",
+ "required": false
+ },
+ "target": {
+ "type": "string",
+ "description": "An optional specific VNF to apply this guard to.",
+ "required": false
+ }
+ }
+ }
+ }
+ ]
+} \ No newline at end of file
diff --git a/docs/api/policytypes/onap.policies.controlloop.guard.MinMax.json b/docs/api/policytypes/onap.policies.controlloop.guard.MinMax.json
new file mode 100644
index 00000000..71658dd4
--- /dev/null
+++ b/docs/api/policytypes/onap.policies.controlloop.guard.MinMax.json
@@ -0,0 +1,66 @@
+{
+ "policy_types": [
+ {
+ "onap.policies.controlloop.Guard": {
+ "derived_from": "tosca.policies.Root",
+ "version": "1.0.0",
+ "description": "Guard Policies for Control Loop Operational Policies"
+ }
+ },
+ {
+ "onap.policies.controlloop.guard.MinMax": {
+ "derived_from": "onap.policies.controlloop.Guard",
+ "version": "1.0.0",
+ "description": "Supports Min/Max number of VF Modules",
+ "properties": {
+ "minmax_policy": {
+ "type": "map",
+ "description": null,
+ "entry_schema": {
+ "type": "onap.datatypes.guard.MinMax"
+ }
+ }
+ }
+ }
+ }
+ ],
+ "data_types": [
+ {
+ "onap.datatypes.guard.MinMax": {
+ "derived_from": "tosca.datatypes.Root",
+ "properties": {
+ "actor": {
+ "type": "string",
+ "description": "Specifies the Actor",
+ "required": true
+ },
+ "recipe": {
+ "type": "string",
+ "description": "Specified the Recipe",
+ "required": true
+ },
+ "time_range": {
+ "type": "tosca.datatypes.TimeInterval",
+ "description": "An optional range of time during the day the Min/Max limit is valid for.",
+ "required": false
+ },
+ "controlLoopName": {
+ "type": "string",
+ "description": "An optional specific control loop to apply this guard to.",
+ "required": false
+ },
+ "min_vf_module_instances": {
+ "type": "integer",
+ "required": true,
+ "description": "The minimum instances of this VF-Module"
+ },
+ "max_vf_module_instances": {
+ "type": "integer",
+ "required": false,
+ "description": "The maximum instances of this VF-Module"
+ }
+ }
+ }
+ }
+ ]
+} \ No newline at end of file
diff --git a/docs/api/policytypes/onap.policies.monitoring.cdap.tca.hi.lo.app.json b/docs/api/policytypes/onap.policies.monitoring.cdap.tca.hi.lo.app.json
new file mode 100644
index 00000000..ce46dac8
--- /dev/null
+++ b/docs/api/policytypes/onap.policies.monitoring.cdap.tca.hi.lo.app.json
@@ -0,0 +1,224 @@
+{
+ "tosca_definitions_version": "tosca_simple_yaml_1_0_0",
+ "policy_types": [
+ {
+ "onap.policies.Monitoring": {
+ "derived_from": "tosca.policies.Root",
+ "version": "1.0.0",
+ "description": "a base policy type for all policies that governs monitoring provisioning"
+ }
+ },
+ {
+ "onap.policies.monitoring.cdap.tca.hi.lo.app": {
+ "derived_from": "onap.policies.Monitoring",
+ "version": "1.0.0",
+ "properties": {
+ "tca_policy": {
+ "type": "map",
+ "description": "TCA Policy JSON",
+ "entry_schema": {
+ "type": "onap.datatypes.monitoring.tca_policy"
+ }
+ }
+ }
+ }
+ }
+ ],
+ "data_types": [
+ {
+ "onap.datatypes.monitoring.metricsPerEventName": {
+ "derived_from": "tosca.datatypes.Root",
+ "properties": {
+ "controlLoopSchemaType": {
+ "type": "string",
+ "required": true,
+ "description": "Specifies Control Loop Schema Type for the event Name e.g. VNF, VM",
+ "constraints": [
+ {
+ "valid_values": [
+ "VM",
+ "VNF"
+ ]
+ }
+ ]
+ },
+ "eventName": {
+ "type": "string",
+ "required": true,
+ "description": "Event name to which thresholds need to be applied"
+ },
+ "policyName": {
+ "type": "string",
+ "required": true,
+ "description": "TCA Policy Scope Name"
+ },
+ "policyScope": {
+ "type": "string",
+ "required": true,
+ "description": "TCA Policy Scope"
+ },
+ "policyVersion": {
+ "type": "string",
+ "required": true,
+ "description": "TCA Policy Scope Version"
+ },
+ "thresholds": {
+ "type": "list",
+ "required": true,
+ "description": "Thresholds associated with eventName",
+ "entry_schema": {
+ "type": "onap.datatypes.monitoring.thresholds"
+ }
+ }
+ }
+ }
+ },
+ {
+ "onap.datatypes.monitoring.tca_policy": {
+ "derived_from": "tosca.datatypes.Root",
+ "properties": {
+ "domain": {
+ "type": "string",
+ "required": true,
+ "description": "Domain name to which TCA needs to be applied",
+ "default": "measurementsForVfScaling",
+ "constraints": [
+ {
+ "equal": "measurementsForVfScaling"
+ }
+ ]
+ },
+ "metricsPerEventName": {
+ "type": "list",
+ "required": true,
+ "description": "Contains eventName and threshold details that need to be applied to given eventName",
+ "entry_schema": {
+ "type": "onap.datatypes.monitoring.metricsPerEventName"
+ }
+ }
+ }
+ }
+ },
+ {
+ "onap.datatypes.monitoring.thresholds": {
+ "derived_from": "tosca.datatypes.Root",
+ "properties": {
+ "closedLoopControlName": {
+ "type": "string",
+ "required": true,
+ "description": "Closed Loop Control Name associated with the threshold"
+ },
+ "closedLoopEventStatus": {
+ "type": "string",
+ "required": true,
+ "description": "Closed Loop Event Status of the threshold",
+ "constraints": [
+ {
+ "valid_values": [
+ "ONSET",
+ "ABATED"
+ ]
+ }
+ ]
+ },
+ "direction": {
+ "type": "string",
+ "required": true,
+ "description": "Direction of the threshold",
+ "constraints": [
+ {
+ "valid_values": [
+ "LESS",
+ "LESS_OR_EQUAL",
+ "GREATER",
+ "GREATER_OR_EQUAL",
+ "EQUAL"
+ ]
+ }
+ ]
+ },
+ "fieldPath": {
+ "type": "string",
+ "required": true,
+ "description": "Json field Path as per CEF message which needs to be analyzed for TCA",
+ "constraints": [
+ {
+ "valid_values": [
+ "$.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"
+ ]
+ }
+ ]
+ },
+ "severity": {
+ "type": "string",
+ "required": true,
+ "description": "Threshold Event Severity",
+ "constraints": [
+ {
+ "valid_values": [
+ "CRITICAL",
+ "MAJOR",
+ "MINOR",
+ "WARNING",
+ "NORMAL"
+ ]
+ }
+ ]
+ },
+ "thresholdValue": {
+ "type": "integer",
+ "required": true,
+ "description": "Threshold value for the field Path inside CEF message"
+ },
+ "version": {
+ "type": "string",
+ "required": true,
+ "description": "Version number associated with the threshold"
+ }
+ }
+ }
+ }
+ ]
+}
diff --git a/docs/api/policytypes/onap.policies.monitoring.dcaegen2.collectors.datafile.datafile-app-server.json b/docs/api/policytypes/onap.policies.monitoring.dcaegen2.collectors.datafile.datafile-app-server.json
new file mode 100644
index 00000000..26f4c021
--- /dev/null
+++ b/docs/api/policytypes/onap.policies.monitoring.dcaegen2.collectors.datafile.datafile-app-server.json
@@ -0,0 +1,28 @@
+{
+ "tosca_definitions_version": "tosca_simple_yaml_1_0_0",
+ "policy_types": [
+ {
+ "onap.policies.Monitoring": {
+ "derived_from": "tosca.policies.Root",
+ "description": "a base policy type for all policies that govern monitoring provision",
+ "version": "1.0.0"
+ }
+ },
+ {
+ "onap.policies.monitoring.dcaegen2.collectors.datafile.datafile-app-server": {
+ "derived_from": "policy.nodes.Root",
+ "version": "1.0.0",
+ "properties": {
+ "buscontroller_feed_publishing_endpoint": {
+ "type": "string",
+ "description": "DMAAP Bus Controller feed endpoint"
+ },
+ "datafile.policy": {
+ "type": "string",
+ "description": "datafile Policy JSON as string"
+ }
+ }
+ }
+ }
+ ]
+} \ No newline at end of file
diff --git a/docs/api/policytypes/onap.policies.optimization.AffinityPolicy.json b/docs/api/policytypes/onap.policies.optimization.AffinityPolicy.json
new file mode 100644
index 00000000..62ad6efa
--- /dev/null
+++ b/docs/api/policytypes/onap.policies.optimization.AffinityPolicy.json
@@ -0,0 +1,103 @@
+{
+ "tosca_definitions_version": "tosca_simple_yaml_1_0_0",
+ "policy_types": [
+ {
+ "onap.policies.Optimization": {
+ "derived_from": "tosca.policies.Root",
+ "version": "1.0.0",
+ "description": "a base policy type for all policies that govern optimization"
+ }
+ },
+ {
+ "onap.policies.optimization.AffinityPolicy": {
+ "derived_from": "onap.policies.Optimization",
+ "version": "1.0.0",
+ "properties": {
+ "policyScope": {
+ "type": "list",
+ "description": "scope where the policy is applicable",
+ "required": true,
+ "matchable": true,
+ "entry_schema": {
+ "type": "string"
+ }
+ },
+ "policyType": {
+ "type": "list",
+ "description": "type of a policy",
+ "required": true,
+ "matchable": true,
+ "entry_schema": {
+ "type": "string",
+ "constraints": [
+ {
+ "valid_values": [
+ "zone"
+ ]
+ }
+ ]
+ }
+ },
+ "identity": {
+ "type": "string",
+ "required": true
+ },
+ "applicableResources": {
+ "type": "list",
+ "required": true,
+ "entry_schema": {
+ "type": "string",
+ "constraints": [
+ {
+ "valid_values": [
+ "any",
+ "all"
+ ]
+ }
+ ]
+ }
+ },
+ "affinityProperties": {
+ "type": "policy.data.affinityProperties_properties",
+ "required": true
+ },
+ "resources": {
+ "type": "list",
+ "required": true,
+ "entry_schema": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ ],
+ "data_types": [
+ {
+ "policy.data.affinityProperties_properties": {
+ "derived_from": "tosca.nodes.Root",
+ "properties": {
+ "qualifier": {
+ "type": "list",
+ "required": true,
+ "entry_schema": {
+ "type": "string",
+ "constraints": [
+ {
+ "valid_values": [
+ "same",
+ "different"
+ ]
+ }
+ ]
+ }
+ },
+ "category": {
+ "type": "string",
+ "required": true
+ }
+ }
+ }
+ }
+ ]
+}
diff --git a/docs/api/policytypes/onap.policies.optimization.DistancePolicy.json b/docs/api/policytypes/onap.policies.optimization.DistancePolicy.json
new file mode 100644
index 00000000..16cd649f
--- /dev/null
+++ b/docs/api/policytypes/onap.policies.optimization.DistancePolicy.json
@@ -0,0 +1,133 @@
+{
+ "tosca_definitions_version": "tosca_simple_yaml_1_0_0",
+ "policy_types": [
+ {
+ "onap.policies.Optimization": {
+ "derived_from": "tosca.policies.Root",
+ "version": "1.0.0",
+ "description": "a base policy type for all policies that govern optimization"
+ }
+ },
+ {
+ "onap.policies.optimization.DistancePolicy": {
+ "derived_from": "onap.policies.Optimization",
+ "version": "1.0.0",
+ "properties": {
+ "policyScope": {
+ "type": "list",
+ "description": "scope where the policy is applicable",
+ "required": true,
+ "matchable": true,
+ "entry_schema": {
+ "type": "string"
+ }
+ },
+ "policyType": {
+ "type": "list",
+ "description": "type of a policy",
+ "required": true,
+ "matchable": true,
+ "entry_schema": {
+ "type": "string",
+ "constraints": [
+ {
+ "valid_values": [
+ "distance_to_location"
+ ]
+ }
+ ]
+ }
+ },
+ "identity": {
+ "type": "string",
+ "required": true
+ },
+ "resources": {
+ "type": "list",
+ "required": true,
+ "entry_schema": {
+ "type": "string"
+ }
+ },
+ "applicableResources": {
+ "type": "list",
+ "required": true,
+ "entry_schema": {
+ "type": "string",
+ "constraints": [
+ {
+ "valid_values": [
+ "any",
+ "all"
+ ]
+ }
+ ]
+ }
+ },
+ "distanceProperties": {
+ "type": "policy.data.distanceProperties_properties",
+ "required": true
+ }
+ }
+ }
+ }
+ ],
+ "data_types": [
+ {
+ "policy.data.distanceProperties_properties": {
+ "derived_from": "tosca.nodes.Root",
+ "properties": {
+ "locationInfo": {
+ "type": "string",
+ "required": true
+ },
+ "distance": {
+ "type": "policy.data.distance_properties",
+ "required": true
+ }
+ }
+ },
+ "policy.data.distance_properties": {
+ "derived_from": "tosca.nodes.Root",
+ "properties": {
+ "value": {
+ "type": "string",
+ "required": true
+ },
+ "operator": {
+ "type": "list",
+ "required": true,
+ "entry_schema": {
+ "type": "string",
+ "constraints": [
+ {
+ "valid_values": [
+ "<",
+ "<=",
+ ">",
+ ">=",
+ "="
+ ]
+ }
+ ]
+ }
+ },
+ "unit": {
+ "type": "list",
+ "required": true,
+ "entry_schema": {
+ "type": "string",
+ "constraints": [
+ {
+ "valid_values": [
+ "km"
+ ]
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ ]
+}
diff --git a/docs/api/policytypes/onap.policies.optimization.HpaPolicy.json b/docs/api/policytypes/onap.policies.optimization.HpaPolicy.json
new file mode 100644
index 00000000..b02e17c4
--- /dev/null
+++ b/docs/api/policytypes/onap.policies.optimization.HpaPolicy.json
@@ -0,0 +1,205 @@
+{
+ "tosca_definitions_version": "tosca_simple_yaml_1_0_0",
+ "policy_types": [
+ {
+ "onap.policies.Optimization": {
+ "derived_from": "tosca.policies.Root",
+ "version": "1.0.0",
+ "description": "a base policy type for all policies that govern optimization"
+ }
+ },
+ {
+ "onap.policies.optimization.HpaPolicy": {
+ "derived_from": "onap.policies.Optimization",
+ "version": "1.0.0",
+ "properties": {
+ "policyScope": {
+ "type": "list",
+ "description": "scope where the policy is applicable",
+ "required": true,
+ "matchable": true,
+ "entry_schema": {
+ "type": "string"
+ }
+ },
+ "policyType": {
+ "type": "list",
+ "description": "type of a policy",
+ "required": true,
+ "matchable": true,
+ "entry_schema": {
+ "type": "string",
+ "constraints": [
+ {
+ "valid_values": [
+ "hpa"
+ ]
+ }
+ ]
+ }
+ },
+ "resources": {
+ "type": "list",
+ "required": true,
+ "entry_schema": {
+ "type": "string"
+ }
+ },
+ "identity": {
+ "type": "string",
+ "required": true
+ },
+ "flavorFeatures": {
+ "type": "list",
+ "required": true,
+ "entry_schema": {
+ "type": "policy.data.flavorFeatures_properties"
+ }
+ }
+ }
+ }
+ }
+ ],
+ "data_types": [
+ {
+ "policy.data.flavorFeatures_properties": {
+ "derived_from": "tosca.nodes.Root",
+ "properties": {
+ "id": {
+ "type": "string",
+ "required": true
+ },
+ "type": {
+ "type": "string",
+ "required": true
+ },
+ "directives": {
+ "type": "list",
+ "required": true,
+ "entry_schema": {
+ "type": "policy.data.directives_properties"
+ }
+ },
+ "flavorProperties": {
+ "type": "list",
+ "required": true,
+ "entry_schema": {
+ "type": "policy.data.flavorProperties_properties"
+ }
+ }
+ }
+ }
+ },
+ {
+ "policy.data.directives_properties": {
+ "derived_from": "tosca.nodes.Root",
+ "properties": {
+ "type": {
+ "type": "string"
+ },
+ "attributes": {
+ "type": "list",
+ "entry_schema": {
+ "type": "policy.data.directives_attributes_properties"
+ }
+ }
+ }
+ }
+ },
+ {
+ "policy.data.directives_attributes_properties": {
+ "derived_from": "tosca.nodes.Root",
+ "properties": {
+ "attribute_name": {
+ "type": "string"
+ },
+ "attribute_value": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ {
+ "policy.data.flavorProperties_properties": {
+ "derived_from": "tosca.nodes.Root",
+ "properties": {
+ "hpa-feature": {
+ "type": "string",
+ "required": true
+ },
+ "mandatory": {
+ "type": "string",
+ "required": true
+ },
+ "score": {
+ "type": "string",
+ "required": false
+ },
+ "architecture": {
+ "type": "string",
+ "required": true
+ },
+ "hpa-version": {
+ "type": "string",
+ "required": true
+ },
+ "directives": {
+ "type": "list",
+ "required": true,
+ "entry_schema": {
+ "type": "policy.data.directives_properties"
+ }
+ },
+ "hpa-feature-attributes": {
+ "type": "list",
+ "required": true,
+ "entry_schema": {
+ "type": "policy.data.hpa-feature-attributes_properties"
+ }
+ }
+ }
+ }
+ },
+ {
+ "policy.data.hpa-feature-attributes_properties": {
+ "derived_from": "tosca.nodes.Root",
+ "properties": {
+ "hpa-attribute-key": {
+ "type": "string",
+ "required": true
+ },
+ "hpa-attribute-value": {
+ "type": "string",
+ "required": true
+ },
+ "operator": {
+ "type": "list",
+ "required": true,
+ "entry_schema": {
+ "type": "string",
+ "constraints": [
+ {
+ "valid_values": [
+ "<",
+ "<=",
+ ">",
+ ">=",
+ "=",
+ "!=",
+ "any",
+ "all",
+ "subset"
+ ]
+ }
+ ]
+ }
+ },
+ "unit": {
+ "type": "string",
+ "required": false
+ }
+ }
+ }
+ }
+ ]
+}
diff --git a/docs/api/policytypes/onap.policies.optimization.OptimizationPolicy.json b/docs/api/policytypes/onap.policies.optimization.OptimizationPolicy.json
new file mode 100644
index 00000000..153b1e30
--- /dev/null
+++ b/docs/api/policytypes/onap.policies.optimization.OptimizationPolicy.json
@@ -0,0 +1,141 @@
+{
+ "tosca_definitions_version": "tosca_simple_yaml_1_0_0",
+ "policy_types": [
+ {
+ "onap.policies.Optimization": {
+ "derived_from": "tosca.policies.Root",
+ "version": "1.0.0",
+ "description": "a base policy type for all policies that govern optimization"
+ }
+ },
+ {
+ "onap.policies.optimization.OptimizationPolicy": {
+ "derived_from": "onap.policies.Optimization",
+ "version": "1.0.0",
+ "properties": {
+ "policyScope": {
+ "type": "list",
+ "description": "scope where the policy is applicable",
+ "required": true,
+ "matchable": true,
+ "entry_schema": {
+ "type": "string"
+ }
+ },
+ "policyType": {
+ "type": "list",
+ "description": "type of a policy",
+ "required": true,
+ "matchable": true,
+ "entry_schema": {
+ "type": "string",
+ "constraints": [
+ {
+ "valid_values": [
+ "placement_optimization"
+ ]
+ }
+ ]
+ }
+ },
+ "identity": {
+ "type": "string",
+ "required": true
+ },
+ "objective": {
+ "type": "list",
+ "required": true,
+ "entry_schema": {
+ "type": "string",
+ "constraints": [
+ {
+ "valid_values": [
+ "minimize",
+ "maximize"
+ ]
+ }
+ ]
+ }
+ },
+ "objectiveParameter": {
+ "type": "policy.data.objectiveParameter_properties",
+ "required": true
+ }
+ }
+ }
+ }
+ ],
+ "data_types": [
+ {
+ "policy.data.objectiveParameter_properties": {
+ "derived_from": "tosca.nodes.Root",
+ "properties": {
+ "parameterAttributes": {
+ "type": "list",
+ "required": true,
+ "entry_schema": {
+ "type": "policy.data.parameterAttributes_properties"
+ }
+ },
+ "operator": {
+ "type": "list",
+ "required": true,
+ "entry_schema": {
+ "type": "string",
+ "constraints": [
+ {
+ "valid_values": [
+ "*",
+ "+",
+ "-",
+ "/",
+ "%"
+ ]
+ }
+ ]
+ }
+ }
+ }
+ },
+ "policy.data.parameterAttributes_properties": {
+ "derived_from": "tosca.nodes.Root",
+ "properties": {
+ "resources": {
+ "type": "string",
+ "required": true
+ },
+ "customerLocationInfo": {
+ "type": "string",
+ "required": true
+ },
+ "parameter": {
+ "type": "string",
+ "required": true
+ },
+ "weight": {
+ "type": "string",
+ "required": true
+ },
+ "operator": {
+ "type": "list",
+ "required": true,
+ "entry_schema": {
+ "type": "string",
+ "constraints": [
+ {
+ "valid_values": [
+ "*",
+ "+",
+ "-",
+ "/",
+ "%"
+ ]
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ ]
+}
diff --git a/docs/api/policytypes/onap.policies.optimization.PciPolicy.json b/docs/api/policytypes/onap.policies.optimization.PciPolicy.json
new file mode 100644
index 00000000..4adb631d
--- /dev/null
+++ b/docs/api/policytypes/onap.policies.optimization.PciPolicy.json
@@ -0,0 +1,92 @@
+{
+ "tosca_definitions_version": "tosca_simple_yaml_1_0_0",
+ "policy_types": [
+ {
+ "onap.policies.Optimization": {
+ "derived_from": "tosca.policies.Root",
+ "version": "1.0.0",
+ "description": "a base policy type for all policies that govern optimization"
+ }
+ },
+ {
+ "onap.policies.optimization.PciPolicy": {
+ "derived_from": "onap.policies.Optimization",
+ "version": "1.0.0",
+ "properties": {
+ "policyScope": {
+ "type": "list",
+ "description": "scope where the policy is applicable",
+ "required": true,
+ "matchable": true,
+ "entry_schema": {
+ "type": "string"
+ }
+ },
+ "policyType": {
+ "type": "list",
+ "description": "type of a policy",
+ "required": true,
+ "matchable": true,
+ "entry_schema": {
+ "type": "string",
+ "constraints": [
+ {
+ "valid_values": [
+ "pciPolicy"
+ ]
+ }
+ ]
+ }
+ },
+ "identity": {
+ "type": "string",
+ "required": true
+ },
+ "resources": {
+ "type": "list",
+ "required": true,
+ "entry_schema": {
+ "type": "string"
+ }
+ },
+ "pciProperties": {
+ "type": "list",
+ "required": false,
+ "entry_schema": {
+ "type": "policy.data.pciProperties_properties"
+ }
+ }
+ }
+ }
+ }
+ ],
+ "data_types": [
+ {
+ "policy.data.pciProperties_properties": {
+ "derived_from": "tosca.nodes.Root",
+ "properties": {
+ "algoCategory": {
+ "type": "string",
+ "required": false
+ },
+ "pciOptmizationAlgoName": {
+ "type": "string",
+ "required": false
+ },
+ "pciOptimizationNwConstraint": {
+ "type": "string",
+ "required": false
+ },
+ "pciOptimizationPriority": {
+ "type": "string",
+ "required": false
+ },
+ "pciOptimizationTimeConstraint": {
+ "type": "string",
+ "required": false
+ }
+ }
+ }
+ }
+ ]
+}
diff --git a/docs/api/policytypes/onap.policies.optimization.QueryPolicy.json b/docs/api/policytypes/onap.policies.optimization.QueryPolicy.json
new file mode 100644
index 00000000..98bd3408
--- /dev/null
+++ b/docs/api/policytypes/onap.policies.optimization.QueryPolicy.json
@@ -0,0 +1,77 @@
+{
+ "tosca_definitions_version": "tosca_simple_yaml_1_0_0",
+ "policy_types": [
+ {
+ "onap.policies.Optimization": {
+ "derived_from": "tosca.policies.Root",
+ "version": "1.0.0",
+ "description": "a base policy type for all policies that govern optimization"
+ }
+ },
+ {
+ "onap.policies.optimization.QueryPolicy": {
+ "derived_from": "onap.policies.Optimization",
+ "version": "1.0.0",
+ "properties": {
+ "policyScope": {
+ "type": "list",
+ "description": "scope where the policy is applicable",
+ "required": true,
+ "matchable": true,
+ "entry_schema": {
+ "type": "string"
+ }
+ },
+ "policyType": {
+ "type": "list",
+ "description": "type of a policy",
+ "required": true,
+ "matchable": true,
+ "entry_schema": {
+ "type": "string",
+ "constraints": [
+ {
+ "valid_values": [
+ "request_param_query"
+ ]
+ }
+ ]
+ }
+ },
+ "identity": {
+ "type": "string",
+ "required": true
+ },
+ "queryProperties": {
+ "type": "list",
+ "required": true,
+ "entry_schema": {
+ "type": "policy.data.queryProperties_properties"
+ }
+ }
+ }
+ }
+ }
+ ],
+ "data_types": [
+ {
+ "policy.data.queryProperties_properties": {
+ "derived_from": "tosca.nodes.Root",
+ "properties": {
+ "attribute": {
+ "type": "string",
+ "required": true
+ },
+ "value": {
+ "type": "string",
+ "required": true
+ },
+ "attribute_location": {
+ "type": "string",
+ "required": true
+ }
+ }
+ }
+ }
+ ]
+}
diff --git a/docs/api/policytypes/onap.policies.optimization.SubscriberPolicy.json b/docs/api/policytypes/onap.policies.optimization.SubscriberPolicy.json
new file mode 100644
index 00000000..81e0b0a7
--- /dev/null
+++ b/docs/api/policytypes/onap.policies.optimization.SubscriberPolicy.json
@@ -0,0 +1,83 @@
+{
+ "tosca_definitions_version": "tosca_simple_yaml_1_0_0",
+ "policy_types": [
+ {
+ "onap.policies.Optimization": {
+ "derived_from": "tosca.policies.Root",
+ "version": "1.0.0",
+ "description": "a base policy type for all policies that govern optimization"
+ }
+ },
+ {
+ "onap.policies.optimization.SubscriberPolicy": {
+ "derived_from": "onap.policies.Optimization",
+ "version": "1.0.0",
+ "properties": {
+ "policyScope": {
+ "type": "list",
+ "description": "scope where the policy is applicable",
+ "required": true,
+ "matchable": true,
+ "entry_schema": {
+ "type": "string"
+ }
+ },
+ "policyType": {
+ "type": "list",
+ "description": "type of a policy",
+ "required": true,
+ "matchable": true,
+ "entry_schema": {
+ "type": "string",
+ "constraints": [
+ {
+ "valid_values": [
+ "subscriberPolicy"
+ ]
+ }
+ ]
+ }
+ },
+ "identity": {
+ "type": "string",
+ "required": true
+ },
+ "properties": {
+ "type": "policy.data.properties_properties",
+ "required": true
+ }
+ }
+ }
+ }
+ ],
+ "data_types": [
+ {
+ "policy.data.properties_properties": {
+ "derived_from": "tosca.nodes.Root",
+ "properties": {
+ "subscriberName": {
+ "type": "list",
+ "required": true,
+ "entry_schema": {
+ "type": "string"
+ }
+ },
+ "subscriberRole": {
+ "type": "list",
+ "required": true,
+ "entry_schema": {
+ "type": "string"
+ }
+ },
+ "provStatus": {
+ "type": "list",
+ "required": true,
+ "entry_schema": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ ]
+}
diff --git a/docs/api/policytypes/onap.policies.optimization.Vim_fit.json b/docs/api/policytypes/onap.policies.optimization.Vim_fit.json
new file mode 100644
index 00000000..a7894b3f
--- /dev/null
+++ b/docs/api/policytypes/onap.policies.optimization.Vim_fit.json
@@ -0,0 +1,92 @@
+{
+ "tosca_definitions_version": "tosca_simple_yaml_1_0_0",
+ "policy_types": [
+ {
+ "onap.policies.Optimization": {
+ "derived_from": "tosca.policies.Root",
+ "version": "1.0.0",
+ "description": "a base policy type for all policies that govern optimization"
+ }
+ },
+ {
+ "onap.policies.optimization.Vim_fit": {
+ "derived_from": "onap.policies.Optimization",
+ "version": "1.0.0",
+ "properties": {
+ "policyScope": {
+ "type": "list",
+ "description": "scope where the policy is applicable",
+ "required": true,
+ "matchable": true,
+ "entry_schema": {
+ "type": "string"
+ }
+ },
+ "policyType": {
+ "type": "list",
+ "description": "type of a policy",
+ "required": true,
+ "matchable": true,
+ "entry_schema": {
+ "type": "string",
+ "constraints": [
+ {
+ "valid_values": [
+ "vim_fit"
+ ]
+ }
+ ]
+ }
+ },
+ "identity": {
+ "type": "string",
+ "required": true
+ },
+ "applicableResources": {
+ "type": "list",
+ "required": true,
+ "entry_schema": {
+ "type": "string",
+ "constraints": [
+ {
+ "valid_values": [
+ "any",
+ "all"
+ ]
+ }
+ ]
+ }
+ },
+ "resources": {
+ "type": "list",
+ "required": true,
+ "entry_schema": {
+ "type": "string"
+ }
+ },
+ "capacityProperties": {
+ "type": "policy.data.capacityProperties_properties",
+ "required": true
+ }
+ }
+ }
+ }
+ ],
+ "data_types": [
+ {
+ "policy.data.capacityProperties_properties": {
+ "derived_from": "tosca.nodes.Root",
+ "properties": {
+ "controller": {
+ "type": "string",
+ "required": true
+ },
+ "request": {
+ "type": "string",
+ "required": true
+ }
+ }
+ }
+ }
+ ]
+}
diff --git a/docs/api/policytypes/onap.policies.optimization.VnfPolicy.json b/docs/api/policytypes/onap.policies.optimization.VnfPolicy.json
new file mode 100644
index 00000000..8c7c1be4
--- /dev/null
+++ b/docs/api/policytypes/onap.policies.optimization.VnfPolicy.json
@@ -0,0 +1,116 @@
+{
+ "tosca_definitions_version": "tosca_simple_yaml_1_0_0",
+ "policy_types": [
+ {
+ "onap.policies.Optimization": {
+ "derived_from": "tosca.policies.Root",
+ "version": "1.0.0",
+ "description": "a base policy type for all policies that govern optimization"
+ }
+ },
+ {
+ "onap.policies.optimization.VnfPolicy": {
+ "derived_from": "onap.policies.Optimization",
+ "version": "1.0.0",
+ "properties": {
+ "policyScope": {
+ "type": "list",
+ "description": "scope where the policy is applicable",
+ "required": true,
+ "matchable": true,
+ "entry_schema": {
+ "type": "string"
+ }
+ },
+ "policyType": {
+ "type": "list",
+ "description": "type of a policy",
+ "required": true,
+ "matchable": true,
+ "entry_schema": {
+ "type": "string",
+ "constraints": [
+ {
+ "valid_values": [
+ "vnfPolicy"
+ ]
+ }
+ ]
+ }
+ },
+ "identity": {
+ "type": "string",
+ "required": true
+ },
+ "resources": {
+ "type": "list",
+ "required": true,
+ "entry_schema": {
+ "type": "string"
+ }
+ },
+ "applicableResources": {
+ "type": "list",
+ "required": true,
+ "entry_schema": {
+ "type": "string",
+ "constraints": [
+ {
+ "valid_values": [
+ "any",
+ "all"
+ ]
+ }
+ ]
+ }
+ },
+ "vnfProperties": {
+ "type": "list",
+ "required": true,
+ "entry_schema": {
+ "type": "policy.data.vnfProperties_properties"
+ }
+ }
+ }
+ }
+ }
+ ],
+ "data_types": [
+ {
+ "policy.data.vnfProperties_properties": {
+ "derived_from": "tosca.nodes.Root",
+ "properties": {
+ "inventoryProvider": {
+ "type": "string",
+ "required": true
+ },
+ "serviceType": {
+ "type": "string",
+ "required": true
+ },
+ "inventoryType": {
+ "type": "list",
+ "required": true,
+ "entry_schema": {
+ "type": "string",
+ "constraints": [
+ {
+ "valid_values": [
+ "serviceInstanceId",
+ "vnfName",
+ "cloudRegionId",
+ "vimId"
+ ]
+ }
+ ]
+ }
+ },
+ "customerId": {
+ "type": "string",
+ "required": true
+ }
+ }
+ }
+ }
+ ]
+}