aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--models-decisions/src/main/java/org/onap/policy/models/decisions/concepts/DecisionRequest.java3
-rw-r--r--models-decisions/src/main/java/org/onap/policy/models/decisions/concepts/DecisionResponse.java5
-rw-r--r--models-examples/src/main/resources/policies/vCPE.policies.optimization.input.tosca.yaml130
-rw-r--r--models-examples/src/main/resources/policies/vDNS.policy.guard.frequency.output.tosca.yaml20
-rw-r--r--models-examples/src/main/resources/policies/vDNS.policy.guard.minmax.input.json1
-rw-r--r--models-examples/src/main/resources/policies/vDNS.policy.guard.minmax.input.tosca.yaml18
-rw-r--r--models-examples/src/main/resources/policies/vDNS.policy.guard.minmax.output.tosca.yaml19
-rw-r--r--models-examples/src/main/resources/policytypes/onap.policies.optimization.AffinityPolicy.yaml62
-rw-r--r--models-examples/src/main/resources/policytypes/onap.policies.optimization.DistancePolicy.yaml82
-rw-r--r--models-examples/src/main/resources/policytypes/onap.policies.optimization.HpaPolicy.yaml131
-rw-r--r--models-examples/src/main/resources/policytypes/onap.policies.optimization.OptimizationPolicy.yaml89
-rw-r--r--models-examples/src/main/resources/policytypes/onap.policies.optimization.PciPolicy.yaml58
-rw-r--r--models-examples/src/main/resources/policytypes/onap.policies.optimization.QueryPolicy.yaml47
-rw-r--r--models-examples/src/main/resources/policytypes/onap.policies.optimization.SubscriberPolicy.yaml51
-rw-r--r--models-examples/src/main/resources/policytypes/onap.policies.optimization.Vim_fit.yaml56
-rw-r--r--models-examples/src/main/resources/policytypes/onap.policies.optimization.VnfPolicy.yaml73
16 files changed, 842 insertions, 3 deletions
diff --git a/models-decisions/src/main/java/org/onap/policy/models/decisions/concepts/DecisionRequest.java b/models-decisions/src/main/java/org/onap/policy/models/decisions/concepts/DecisionRequest.java
index 94c9c9585..1ba7f4362 100644
--- a/models-decisions/src/main/java/org/onap/policy/models/decisions/concepts/DecisionRequest.java
+++ b/models-decisions/src/main/java/org/onap/policy/models/decisions/concepts/DecisionRequest.java
@@ -43,6 +43,9 @@ public class DecisionRequest {
@SerializedName("ONAPInstance")
private String onapInstance;
+ @SerializedName("requestId")
+ private String requestId;
+
@SerializedName("action")
private String action;
diff --git a/models-decisions/src/main/java/org/onap/policy/models/decisions/concepts/DecisionResponse.java b/models-decisions/src/main/java/org/onap/policy/models/decisions/concepts/DecisionResponse.java
index b265fe4fb..b4f288685 100644
--- a/models-decisions/src/main/java/org/onap/policy/models/decisions/concepts/DecisionResponse.java
+++ b/models-decisions/src/main/java/org/onap/policy/models/decisions/concepts/DecisionResponse.java
@@ -33,7 +33,8 @@ import lombok.Data;
*/
@Data
public class DecisionResponse {
-
- private String errorMessage;
+ private String status;
+ private Map<String, Object> advice;
+ private Map<String, Object> obligations;
private List<Map<String, Object>> policies;
}
diff --git a/models-examples/src/main/resources/policies/vCPE.policies.optimization.input.tosca.yaml b/models-examples/src/main/resources/policies/vCPE.policies.optimization.input.tosca.yaml
new file mode 100644
index 000000000..378e8157e
--- /dev/null
+++ b/models-examples/src/main/resources/policies/vCPE.policies.optimization.input.tosca.yaml
@@ -0,0 +1,130 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+topology_template:
+policies:
+ -
+ OSDF_CASABLANCA.Affinity_vCPE_1:
+ type: onap.policies.optimization.AffinityPolicy
+ version: 1.0.0
+ metadata:
+ policy-id: OSDF_CASABLANCA.Affinity_vCPE_1
+ properties:
+ identity: affinity_vCPE
+ policyScope: [vCPE, US, INTERNATIONAL, ip, vGMuxInfra, vG]
+ affinityProperties:
+ qualifier: same
+ category: complex
+ policyType: zone
+ resources: [vGMuxInfra, vG]
+ -
+ OSDF_CASABLANCA.Capacity_vG_1:
+ type: onap.policies.optimization.Vim_fit
+ version: 1.0.0
+ metadata:
+ policy-id: OSDF_CASABLANCA.Capacity_vG_1
+ properties:
+ identity: capacity_vG
+ policyScope: [VCPE, US, INTERNATIONAL, ip, vG]
+ resources: [vG]
+ capacityProperty:
+ controller: multicloud
+ request: "{\"vCPU\": 10, \"Memory\": {\"quantity\": {\"get_param\": \"REQUIRED_MEM\"}, \"unit\": \"GB\"}, \"Storage\": {\"quantity\": {\"get_param\": \"REQUIRED_DISK\"}, \"unit\": \"GB\"}}"
+ policyType: vim_fit
+ applicableResources: any
+ -
+ OSDF_CASABLANCA.Distance_vG_1:
+ type: onap.policies.optimization.DistancePolicy
+ version: 1.0.0
+ metadata:
+ policy-id: OSDF_CASABLANCA.Distance_vG_1
+ properties:
+ distanceProperties:
+ locationInfo: customer_loc
+ distance:
+ value: 1500
+ operator: "<"
+ unit: km
+ identity: "distance-vG"
+ resources: [vG]
+ policyScope: [vCPE, US, INTERNATIONAL, ip, vG]
+ policyType: distance_to_location
+ applicableResources: any
+ -
+ OSDF_CASABLANCA.hpa_policy_vG_1:
+ type: onap.policies.optimization.HpaPolicy
+ version: 1.0.0
+ metadata:
+ policy-id: OSDF_CASABLANCA.hpa_policy_vG_1
+ properties:
+ resources: [vG]
+ identity: "hpa-vG"
+ policyScope: [vCPE, US, INTERNATIONAL, ip, vG]
+ policyType: hpa
+ # NONE OF THE FLAVORFEATURES CAME OUT RIGHT
+ -
+ OSDF_CASABLANCA.queryPolicy_vCPE:
+ type: onap.policies.optimization.QueryPolicy
+ version: 1.0.0
+ metadata:
+ policy-id: OSDF_CASABLANCA.queryPolicy_vCPE
+ properties:
+ queryProperties:
+ -
+ attribute: locationId
+ attribute_location: customerLocation
+ value: ""
+ -
+ attribute: id
+ attribute_location: "vpnInfo.vpnId"
+ value: ""
+ -
+ attribute: upstreamBW
+ attribute_location: "vpnInfo.upstreamBW"
+ value: ""
+ -
+ attribute: customerLatitude
+ attribute_location: customerLatitude
+ value: 1.1
+ -
+ attribute: customerLongitude
+ attribute_location: customerLongitude
+ value: 2.2
+ serviceName: vCPE
+ policyScope: [vCPE, US, INTERNATIONAL, ip, vGMuxInfra, vG]
+ policyType: request_param_query
+ identity: vCPE_Query_Policy
+
+ -
+ OSDF_CASABLANCA.SubscriberPolicy_v1:
+ type: onap.policies.optimization.SubscriberPolicy
+ version: 1.0.0
+ metadata:
+ policy-id: OSDF_CASABLANCA.SubscriberPolicy_v1
+ properties:
+ identity: subscriber_vCPE
+ policyScope: [vCPE, subscriber_x, subscriber_y, subscriberPolicy]
+ properties:
+ subscriberName: [subscriber_x, subscriber_y]
+ subscriberRole: ["PVT Homing"]
+ provStatus: [CAPPED]
+ policyType: subscriberPolicy
+ serviceName: vCPE
+ -
+ OSDF_CASABLANCA.vnfPolicy_vG:
+ type: onap.policies.optimization.VnfPolicy
+ version: 1.0.0
+ metadata:
+ policy-id: OSDF_CASABLANCA.vnfPolicy_vG
+ properties:
+ identity: vnf_vG
+ policyScope: [vCPE, US, INTERNATIONAL, ip, vG]
+ policyType: vnfPolicy
+ resources: [vG]
+ applicableResources: any
+ vnfProperties:
+ -
+ inventoryProvider: aai
+ serviceType: ""
+ inventoryType: cloud
+ customerId: ""
+ orchestrationStatus: ""
+ equipmentRole: "" \ No newline at end of file
diff --git a/models-examples/src/main/resources/policies/vDNS.policy.guard.frequency.output.tosca.yaml b/models-examples/src/main/resources/policies/vDNS.policy.guard.frequency.output.tosca.yaml
new file mode 100644
index 000000000..9cd275e2c
--- /dev/null
+++ b/models-examples/src/main/resources/policies/vDNS.policy.guard.frequency.output.tosca.yaml
@@ -0,0 +1,20 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+topology_template:
+ policies:
+ -
+ guard.frequency.scaleout:
+ type: onap.policies.controlloop.guard.FrequencyLimiter
+ version: 1.0.0
+ metadata:
+ policy-id : guard.frequency.scaleout
+ policy-version: 1
+ properties:
+ actor: SO
+ recipe: scaleOut
+ targets: .*
+ clname: ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3
+ limit: 1
+ timeWindow: 10
+ timeUnits: minute
+ guardActiveStart: 00:00:01-05:00
+ guardActiveEnd: 23:59:59-05:00
diff --git a/models-examples/src/main/resources/policies/vDNS.policy.guard.minmax.input.json b/models-examples/src/main/resources/policies/vDNS.policy.guard.minmax.input.json
index c62a229a6..2dbfe8ce9 100644
--- a/models-examples/src/main/resources/policies/vDNS.policy.guard.minmax.input.json
+++ b/models-examples/src/main/resources/policies/vDNS.policy.guard.minmax.input.json
@@ -1,5 +1,4 @@
{
-{
"policy-id" : "guard.minmax.scaleout",
"contents" : {
"actor": "SO",
diff --git a/models-examples/src/main/resources/policies/vDNS.policy.guard.minmax.input.tosca.yaml b/models-examples/src/main/resources/policies/vDNS.policy.guard.minmax.input.tosca.yaml
new file mode 100644
index 000000000..6e0e9f24b
--- /dev/null
+++ b/models-examples/src/main/resources/policies/vDNS.policy.guard.minmax.input.tosca.yaml
@@ -0,0 +1,18 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+topology_template:
+ policies:
+ -
+ guard.minmax.scaleout:
+ type: onap.policies.controlloop.guard.MinMax
+ version: 1.0.0
+ metadata:
+ policy-id : guard.minmax.scaleout
+ properties:
+ actor: SO
+ recipe: scaleOut
+ targets: .*
+ clname: ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3
+ min: 1
+ max: 5
+ guardActiveStart: 00:00:01-05:00
+ guardActiveEnd: 23:59:59-05:00
diff --git a/models-examples/src/main/resources/policies/vDNS.policy.guard.minmax.output.tosca.yaml b/models-examples/src/main/resources/policies/vDNS.policy.guard.minmax.output.tosca.yaml
new file mode 100644
index 000000000..5ac760156
--- /dev/null
+++ b/models-examples/src/main/resources/policies/vDNS.policy.guard.minmax.output.tosca.yaml
@@ -0,0 +1,19 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+topology_template:
+ policies:
+ -
+ guard.minmax.scaleout:
+ type: onap.policies.controlloop.guard.MinMax
+ version: 1.0.0
+ metadata:
+ policy-id : guard.minmax.scaleout
+ policy-version: 1
+ properties:
+ actor: SO
+ recipe: scaleOut
+ targets: .*
+ clname: ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3
+ min: 1
+ max: 5
+ guardActiveStart: 00:00:01-05:00
+ guardActiveEnd: 23:59:59-05:00
diff --git a/models-examples/src/main/resources/policytypes/onap.policies.optimization.AffinityPolicy.yaml b/models-examples/src/main/resources/policytypes/onap.policies.optimization.AffinityPolicy.yaml
new file mode 100644
index 000000000..c2fd504e9
--- /dev/null
+++ b/models-examples/src/main/resources/policytypes/onap.policies.optimization.AffinityPolicy.yaml
@@ -0,0 +1,62 @@
+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
+ 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
+ consraints:
+ - 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/models-examples/src/main/resources/policytypes/onap.policies.optimization.DistancePolicy.yaml b/models-examples/src/main/resources/policytypes/onap.policies.optimization.DistancePolicy.yaml
new file mode 100644
index 000000000..93ddd631a
--- /dev/null
+++ b/models-examples/src/main/resources/policytypes/onap.policies.optimization.DistancePolicy.yaml
@@ -0,0 +1,82 @@
+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
+ 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
+ consraints:
+ - 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/models-examples/src/main/resources/policytypes/onap.policies.optimization.HpaPolicy.yaml b/models-examples/src/main/resources/policytypes/onap.policies.optimization.HpaPolicy.yaml
new file mode 100644
index 000000000..63f0d8ada
--- /dev/null
+++ b/models-examples/src/main/resources/policytypes/onap.policies.optimization.HpaPolicy.yaml
@@ -0,0 +1,131 @@
+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
+ 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
+ consraints:
+ - 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/models-examples/src/main/resources/policytypes/onap.policies.optimization.OptimizationPolicy.yaml b/models-examples/src/main/resources/policytypes/onap.policies.optimization.OptimizationPolicy.yaml
new file mode 100644
index 000000000..edfac1496
--- /dev/null
+++ b/models-examples/src/main/resources/policytypes/onap.policies.optimization.OptimizationPolicy.yaml
@@ -0,0 +1,89 @@
+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
+ 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
+ consraints:
+ - 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/models-examples/src/main/resources/policytypes/onap.policies.optimization.PciPolicy.yaml b/models-examples/src/main/resources/policytypes/onap.policies.optimization.PciPolicy.yaml
new file mode 100644
index 000000000..1355eb031
--- /dev/null
+++ b/models-examples/src/main/resources/policytypes/onap.policies.optimization.PciPolicy.yaml
@@ -0,0 +1,58 @@
+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
+ 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
+ consraints:
+ - 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/models-examples/src/main/resources/policytypes/onap.policies.optimization.QueryPolicy.yaml b/models-examples/src/main/resources/policytypes/onap.policies.optimization.QueryPolicy.yaml
new file mode 100644
index 000000000..f7036dc80
--- /dev/null
+++ b/models-examples/src/main/resources/policytypes/onap.policies.optimization.QueryPolicy.yaml
@@ -0,0 +1,47 @@
+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
+ 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
+ consraints:
+ - 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/models-examples/src/main/resources/policytypes/onap.policies.optimization.SubscriberPolicy.yaml b/models-examples/src/main/resources/policytypes/onap.policies.optimization.SubscriberPolicy.yaml
new file mode 100644
index 000000000..3c2c2b2c3
--- /dev/null
+++ b/models-examples/src/main/resources/policytypes/onap.policies.optimization.SubscriberPolicy.yaml
@@ -0,0 +1,51 @@
+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
+ 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
+ consraints:
+ - 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/models-examples/src/main/resources/policytypes/onap.policies.optimization.Vim_fit.yaml b/models-examples/src/main/resources/policytypes/onap.policies.optimization.Vim_fit.yaml
new file mode 100644
index 000000000..860c37fa0
--- /dev/null
+++ b/models-examples/src/main/resources/policytypes/onap.policies.optimization.Vim_fit.yaml
@@ -0,0 +1,56 @@
+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
+ 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
+ consraints:
+ - 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/models-examples/src/main/resources/policytypes/onap.policies.optimization.VnfPolicy.yaml b/models-examples/src/main/resources/policytypes/onap.policies.optimization.VnfPolicy.yaml
new file mode 100644
index 000000000..13d4f137c
--- /dev/null
+++ b/models-examples/src/main/resources/policytypes/onap.policies.optimization.VnfPolicy.yaml
@@ -0,0 +1,73 @@
+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
+ 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
+ consraints:
+ - 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
+