{
    "service": "hpaPolicy",
    "policyName": "OSDF_DUBLIN.hpa_policy_vG_1",
    "description": "HPA policy for vG",
    "templateVersion": "OpenSource.version.1",
    "version": "test1",
    "priority": "3",
    "riskType": "test",
    "riskLevel": "2",
    "guard": "False",
    "content": {
      "resources": ["vG"],
      "identity": "hpa-vG",
      "policyScope": ["vCPE", "US", "INTERNATIONAL", "ip", "vG"],
      "policyType": "hpa",
      "flavorFeatures": [
        {
          "id": "vg_1",
          "type": "vnfc",
          "directives": [
            {
              "type": "flavor_directives",
              "attributes": [
                {
                  "attribute_name": "flavor_label_vm_01",
                  "attribute_value": ""
                }
              ]
            }
          ],
          "flavorProperties":[
            {
              "hpa-feature" : "cpuTopology",
              "mandatory" : "True",
              "architecture": "generic",
              "directives": [],
              "hpa-feature-attributes": [
                {"hpa-attribute-key":"numCpuSockets", "hpa-attribute-value": "2","operator": ">=", "unit": ""},
                {"hpa-attribute-key":"numCpuSockets", "hpa-attribute-value": "4","operator": "<=", "unit": ""},
                {"hpa-attribute-key":"numCpuCores", "hpa-attribute-value": "2", "operator":">=", "unit": ""},
                {"hpa-attribute-key":"numCpuCores", "hpa-attribute-value": "4", "operator":"<=", "unit": ""},
                {"hpa-attribute-key":"numCpuThreads", "hpa-attribute-value": "4", "operator":">=", "unit": ""},
                {"hpa-attribute-key":"numCpuThreads", "hpa-attribute-value": "8", "operator":"<=", "unit": ""}
              ]
            },
            {
              "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":"6", "operator": "=", "unit": "GB"}
              ]
            },
            {
              "hpa-feature" : "ovsDpdk",
              "mandatory" : "False",
              "score" : "3",
              "architecture": "generic",
              "directives": [],
              "hpa-feature-attributes": [
                 {"hpa-attribute-key":"dataProcessingAccelerationLibrary", "hpa-attribute-value":"ovsDpdk_version", "operator": "=", "unit":""}
              ]
            },
            {
              "hpa-feature" : "cpuInstructionSetExtensions",
              "mandatory" : "True",
              "architecture": "INTEL-64",
              "directives": [],
              "hpa-feature-attributes": [
                {"hpa-attribute-key":"instructionSetExtensions", "hpa-attribute-value":["<CPUINST>", "<CPUINST>"], "operator": "ALL", "unit":""}
              ]
            }
          ]
        },
        {
          "id": "vg_2",
          "type": "vnfc",
          "directives": [
            {
              "type": "flavor_directives",
              "attributes": [
                {
                  "attribute_name": "flavor_label_vm_02",
                  "attribute_value": ""
                }
              ]
            }
          ],
          "flavorProperties":[
            {
              "hpa-feature" : "cpuPinningy",
              "mandatory" : "True",
              "architecture": "generic",
              "directives": [],
              "hpa-feature-attributes": [
                {"hpa-attribute-key":"logicalCpuThreadPinningPolicy", "hpa-attribute-value":"<CPUTHREADPOLICY>", "operator": "=", "unit":""},
                {"hpa-attribute-key":"logicalCpuPinningPolicy", "hpa-attribute-value": "<CPUPOLICY>","operator": "=", "unit":""}
              ]
            },
            {
              "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":"6", "operator": "=", "unit": "GB"}
              ]
            },
            {
              "hpa-feature" : "localStorage",
              "mandatory" : "False",
              "score" : "5",
              "architecture": "generic",
              "directives": [],
              "hpa-feature-attributes": [
                {"hpa-attribute-key": "diskSize", "hpa-attribute-value": "2", "operator": "=", "unit": "GB"},
                {"hpa-attribute-key": "ephemeralDiskSize", "hpa-attribute-value": "2", "operator": "=", "unit": "GB"},
                {"hpa-attribute-key": "swapMemSize", "hpa-attribute-value":"16", "operator": "=", "unit": "MB"}
              ]
            },
            {
              "hpa-feature" : "pciePassthrough",
              "mandatory" : "True",
              "architecture": "generic",
              "directives": [],
              "hpa-feature-attributes": [
                {"hpa-attribute-key": "pciCount", "hpa-attribute-value": "2", "operator": "=", "unit": ""},
                {"hpa-attribute-key": "pciVendorId", "hpa-attribute-value":"8086", "operator": "=", "unit": ""},
                {"hpa-attribute-key": "pciDeviceId", "hpa-attribute-value": "2", "operator": "=", "unit": ""}
              ]
            }
          ]
        },
        {
          "id": "vg_3",
          "type": "vnfc",
          "directives": [
            {
              "type": "flavor_directives",
              "attributes": [
                {
                  "attribute_name": "flavor_label_vm_03",
                  "attribute_value": ""
                }
              ]
            }
          ],
          "flavorProperties":[
            {
              "hpa-feature" : "numa",
              "mandatory" : "False",
              "score" : "5",
              "architecture": "generic",
              "directives": [],
              "hpa-feature-attributes": [
                {"hpa-attribute-key": "numaNodes", "hpa-attribute-value": "2", "operator": "=", "unit": ""},
                {"hpa-attribute-key": "numaCpu-0", "hpa-attribute-value":"2", "operator": "=", "unit": ""},
                {"hpa-attribute-key": "numaMem-0", "hpa-attribute-value": "2048", "operator": "=", "unit": "MB"},
                {"hpa-attribute-key": "numaCpu-1", "hpa-attribute-value":"4", "operator": "=", "unit": ""},
                {"hpa-attribute-key": "numaMem-1", "value": "4096", "operator": "=", "unit": "MB"}
              ]
            },
            {
              "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":"6", "operator": "=", "unit": "GB"}
              ]
            },
            {
              "hpa-feature" : "hugePages",
              "mandatory" : "False",
              "score" : "7",
              "architecture": "generic",
              "directives": [],
              "hpa-feature-attributes": [
                 {"hpa-attribute-key": "memoryPageSize", "hpa-attribute-value": "<MEMORYPAGESIZE>", "operator": "=", "unit": ""}
              ]
            }
          ]
        }
      ]
    }
}