tosca_definitions_version: tosca_simple_yaml_1_1_0
topology_template:
  policies:
    -
        OSDF_CASABLANCA.Affinity_Default:
            type: onap.policies.optimization.resource.AffinityPolicy
            version: 1.0.0
            type_version: 1.0.0
            metadata:
                policy-id: OSDF_CASABLANCA.Affinity_Default
                policy-version: 1
            properties:
                scope: []
                services: []
                resources: []
                geography: []
                identity: affinity_vCPE
                applicableResources: any
                affinityProperties:
                    qualifier: same
                    category: complex
    -
        OSDF_CASABLANCA.Affinity_Default_US:
            type: onap.policies.optimization.resource.AffinityPolicy
            version: 1.0.0
            type_version: 1.0.0
            metadata:
                policy-id: OSDF_CASABLANCA.Affinity_Default_US
                policy-version: 1
            properties:
                scope: []
                services: []
                resources: []
                geography: [US]
                identity: affinity_vCPE
                applicableResources: any
                affinityProperties:
                    qualifier: same
                    category: complex
    -
        OSDF_CASABLANCA.Affinity_Default_vCPE_US_0:
            type: onap.policies.optimization.resource.AffinityPolicy
            version: 1.0.0
            type_version: 1.0.0
            metadata:
                policy-id: OSDF_CASABLANCA.Affinity_Default_vCPE_US_0
                policy-version: 1
            properties:
                scope: []
                services: [vCPE]
                resources: []
                geography: [US]
                identity: affinity_vCPE
                applicableResources: any
                affinityProperties:
                    qualifier: different
                    category: complex
    -
        OSDF_CASABLANCA.Affinity_vCPE_US_Gold_1:
            type: onap.policies.optimization.resource.AffinityPolicy
            version: 1.0.0
            type_version: 1.0.0
            metadata:
                policy-id: OSDF_CASABLANCA.Affinity_vCPE_1
                policy-version: 1
            properties:
                scope: [gold]
                services: [vCPE]
                resources: [vGMuxInfra, vG]
                geography: [US, INTERNATIONAL]
                identity: affinity_vCPE
                applicableResources: any
                affinityProperties:
                    qualifier: same
                    category: availabilityZone
    -
        OSDF_CASABLANCA.Affinity_vCPE_US_Platinum_1:
            type: onap.policies.optimization.resource.AffinityPolicy
            version: 1.0.0
            type_version: 1.0.0
            metadata:
                policy-id: OSDF_CASABLANCA.Affinity_vCPE_1
                policy-version: 1
            properties:
                scope: [platinum]
                services: [vCPE]
                resources: [vGMuxInfra, vG]
                geography: [US, INTERNATIONAL]
                identity: affinity_vCPE
                applicableResources: any
                affinityProperties:
                    qualifier: different
                    category: availabilityZone
    -
        OSDF_CASABLANCA.Capacity_vG_1:
            type: onap.policies.optimization.resource.Vim_fit
            version: 1.0.0
            type_version: 1.0.0
            metadata:
                policy-id: OSDF_CASABLANCA.Capacity_vG_1
                policy-version: 1
            properties:
                scope: []
                services: [vCPE]
                resources: [vG]
                geography: [US, INTERNATIONAL]
                identity: capacity_vG
                applicableResources: any
                capacityProperty:
                   controller: multicloud
                   request: "{\"vCPU\": 10, \"Memory\": {\"quantity\": {\"get_param\": \"REQUIRED_MEM\"}, \"unit\": \"GB\"}, \"Storage\": {\"quantity\": {\"get_param\": \"REQUIRED_DISK\"}, \"unit\": \"GB\"}}"
    -
        OSDF_CASABLANCA.Capacity_vG_2:
            type: onap.policies.optimization.resource.Vim_fit
            version: 1.0.0
            type_version: 1.0.0
            metadata:
                policy-id: OSDF_CASABLANCA.Capacity_vG_2
                policy-version: 1
            properties:
                scope: []
                services: [vCPE]
                resources: [vG]
                geography: [US, INTERNATIONAL]
                identity: capacity_vG
                applicableResources: any
                capacityProperty:
                   controller: multicloud
                   request: "{\"vCPU\": 15, \"Memory\": {\"quantity\": {\"get_param\": \"REQUIRED_MEM\"}, \"unit\": \"MB\"}, \"Storage\": {\"quantity\": {\"get_param\": \"REQUIRED_DISK\"}, \"unit\": \"GB\"}}"
    -
        OSDF_CASABLANCA.Distance_vG_1:
            type: onap.policies.optimization.resource.DistancePolicy
            version: 1.0.0
            type_version: 1.0.0
            metadata:
                policy-id: OSDF_CASABLANCA.Distance_vG_1
                policy-version: 1
            properties:
                scope: [platinum]
                services: [vCPE]
                resources: [vG]
                geography: [US, INTERNATIONAL]
                identity: distance-vG
                applicableResources: any
                distanceProperties:
                    locationInfo: customer_loc
                    distance:
                        value: 1500
                        operator: "<"
                        unit: km
    -
        OSDF_CASABLANCA.hpa_policy_Default:
            type: onap.policies.optimization.resource.HpaPolicy
            version: 1.0.0
            type_version: 1.0.0
            metadata:
                policy-id: OSDF_CASABLANCA.hpa_policy_Default
                policy-version: 1
            properties:
                scope: []
                services: []
                resources: []
                geography: []
                identity: hpa-vG
                flavorFeatures:
                    -
                         id: vg_1
                         type: vnfc
                         directives:
                             -    type: flavor_directives
                                  attributes:
                                      -    attribute_name: flavor_label_vm_01
                                           attribute_value: ""
                         flavorProperties:
                             -
                                  hpa-feature: basicCapabilities
                                  mandatory: True
                                  architecture: generic
                                  directives: []
                                  hpa-feature-attributes:
                                      -    hpa-attribute-key: numVirtualCpu
                                           hpa-attribute-value: 8
                                           operator: ['>=']
                                           unit: ""
                                      -    hpa-attribute-key: virtualMemSize
                                           hpa-attribute-value: 6
                                           operator: ['<=']
                                           unit: ""
                             -
                                  hpa-feature: ovsDpdk
                                  mandatory: False
                                  architecture: generic
                                  directives: []
                                  hpa-feature-attributes:
                                      -    hpa-attribute-key: dataProcessingAccelerationLibrary
                                           hpa-attribute-value: ovsDpdk_version
                                           operator: [=]
                                           unit: ""
    -
        OSDF_CASABLANCA.hpa_policy_vG_1:
            type: onap.policies.optimization.resource.HpaPolicy
            version: 1.0.0
            type_version: 1.0.0
            metadata:
                policy-id: OSDF_CASABLANCA.hpa_policy_vG_1
                policy-version: 1
            properties:
                scope: []
                services: [vCPE, vOtherService]
                resources: [vG]
                geography: []
                identity: hpa-vG
                flavorFeatures:
                    -
                         id: vg_1
                         type: vnfc
                         directives:
                             -    type: flavor_directives
                                  attributes:
                                      -    attribute_name: flavor_label_vm_01
                                           attribute_value: ""
                         flavorProperties:
                             -
                                  hpa-feature: basicCapabilities
                                  mandatory: True
                                  architecture: generic
                                  directives: []
                                  hpa-feature-attributes:
                                      -    hpa-attribute-key: numVirtualCpu
                                           hpa-attribute-value: 6
                                           operator: ['>=']
                                           unit: ""
                                      -    hpa-attribute-key: virtualMemSize
                                           hpa-attribute-value: 4
                                           operator: ['<=']
                                           unit: ""
                             -
                                  hpa-feature: ovsDpdk
                                  mandatory: False
                                  architecture: generic
                                  directives: []
                                  hpa-feature-attributes:
                                      -    hpa-attribute-key: dataProcessingAccelerationLibrary
                                           hpa-attribute-value: ovsDpdk_version
                                           operator: [=]
                                           unit: ""
    -
        OSDF_CASABLANCA.queryPolicy_vCPE:
            type: onap.policies.optimization.service.QueryPolicy
            version: 1.0.0
            type_version: 1.0.0
            metadata:
                policy-id: OSDF_CASABLANCA.queryPolicy_vCPE
                policy-version: 1
            properties:
                scope: []
                services: [vCPE]
                geography: [US, INTERNATIONAL]
                identity: vCPE_Query_Policy
                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
    -
        OSDF_CASABLANCA.SubscriberPolicy_v1:
            type: onap.policies.optimization.service.SubscriberPolicy
            version: 1.0.0
            type_version: 1.0.0
            metadata:
                policy-id: OSDF_CASABLANCA.SubscriberPolicy_v1
                policy-version: 1
            properties:
                scope: []
                services: [vCPE]
                identity: subscriber_vCPE
                subscriberProperties:
                    subscriberName: [subscriber_x, subscriber_y]
                    subscriberRole: [platinum]
                    provStatus: [CAPPED]
    -
        OSDF_CASABLANCA.SubscriberPolicy_v2:
            type: onap.policies.optimization.service.SubscriberPolicy
            version: 1.0.0
            type_version: 1.0.0
            metadata:
                policy-id: OSDF_CASABLANCA.SubscriberPolicy_v2
                policy-version: 1
            properties:
                scope: []
                services: [vCPE]
                identity: subscriber_vCPE
                subscriberProperties:
                    subscriberName: [subscriber_a, subscriber_b]
                    subscriberRole: [gold]
                    provStatus: [CAPPED]
    -
        OSDF_CASABLANCA.vnfPolicy_vG:
            type: onap.policies.optimization.resource.VnfPolicy
            version: 1.0.0
            type_version: 1.0.0
            metadata:
                policy-id: OSDF_CASABLANCA.vnfPolicy_vG
                policy-version: 1
            properties:
                scope: []
                services: [vCPE]
                resources: [vG]
                geography: [US, INTERNATIONAL]
                identity: vnf_vG
                applicableResources: any
                vnfProperties:
                    -
                        inventoryProvider: aai
                        serviceType: ""
                        inventoryType: cloudRegionId
                        customerId: ""