{  "type": "array",  "items": {    "description": "This type represents a threshold.\n",    "type": "object",    "required": [      "id",      "objectInstanceId",      "criteria",      "_links"    ],    "properties": {      "id": {        "description": "An identifier with the intention of being globally unique.\n",        "type": "string"      },      "objectInstanceId": {        "description": "An identifier with the intention of being globally unique.\n",        "type": "string"      },      "criteria": {        "description": "This type represents criteria that define a threshold.\n",        "type": "object",        "required": [          "performanceMetric",          "thresholdType"        ],        "properties": {          "performanceMetric": {            "description": "Defines the performance metric associated with the threshold, as specified in ETSI GS NFV-IFA 027).\n",            "type": "string"          },          "thresholdType": {            "description": "Type of threshold. This attribute determines which other attributes are present in the data structure. Permitted values: * SIMPLE: Single-valued static threshold In the present document, simple thresholds are defined. The definition of additional threshold types is left for future specification.\n",            "type": "string",            "enum": [              "SIMPLE"            ]          },          "simpleThresholdDetails": {            "description": "Details of a simple threshold. Shall be present if thresholdType=\"SIMPLE\".\n",            "type": "object",            "required": [              "thresholdValue",              "hysteresis"            ],            "properties": {              "thresholdValue": {                "description": "The threshold value. Shall be represented as a floating point number.\n",                "type": "integer"              },              "hysteresis": {                "description": "The hysteresis of the threshold. Shall be represented as a non-negative floating point number. A notification with crossing direction \"UP\" will be generated if the measured value reaches or exceeds \"thresholdValue\" + \"hysteresis\". A notification with crossing direction \"DOWN\" will be generated if the measured value reaches or undercuts \"thresholdValue\" - \"hysteresis\". The hysteresis is defined to prevent storms of threshold crossing notifications. When processing a request to create a threshold, implementations should enforce a suitable minimum value for this attribute (e.g. override the value or reject the request).\n",                "type": "integer"              }            }          }        }      },      "_links": {        "description": "Links for this resource.\n",        "type": "object",        "required": [          "self"        ],        "properties": {          "self": {            "description": "This type represents a link to a resource.\n",            "type": "object",            "required": [              "href"            ],            "properties": {              "href": {                "description": "URI of the referenced resource.\n",                "type": "string",                "format": "url"              }            }          },          "object": {            "description": "Link to a resource representing the VNF instance for which performance information is collected. Shall be present if the VNF instance information is accessible as a resource.\n"          }        }      }    }  }}