{
    "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": ""
                            }
                        ]
                    }
                }
            }
        ]
    }
}