NsInstance.schema.json 8.66 KB
Newer Older
    "description": "This type represents a response for Query NS operation.  It shall comply with the provisions defined in Table 6.5.2.10-1.\n",
    "type": "object",
    "required": [
      "id",
      "nsInstanceName",
      "nsInstanceDescription",
      "nsdId",
      "nsdInfoId",
      "nsState"
    ],
    "properties": {
      "id": {
        "description": "An identifier with the intention of being globally unique.\n",
        "type": "string"
      },
      "nsInstanceName": {
        "description": "Human readable name of the NS instance.\n",
        "type": "string"
      },
      "nsInstanceDescription": {
        "description": "Human readable description of the NS instance.\n",
        "type": "string"
      },
      "nsdId": {
        "description": "An identifier with the intention of being globally unique.\n",
        "type": "string"
      },
      "nsdInfoId": {
        "description": "An identifier with the intention of being globally unique.\n",
        "type": "string"
      },
      "flavourId": {
        "description": "Identifier of the NS deployment flavor applied to the NS instance. This attribute shall be present if the nsState attribute value is INSTANTIATED.\n",
        "$ref": "#/definitions/IdentifierInNsd"
      },
      "vnfInstance": {
        "description": "Information on constituent VNF(s) of the NS instance.\n",
        "type": "array",
        "items": {
          "$ref": "#/definitions/VnfInstance"
      },
      "pnfInfo": {
        "description": "Information on the PNF(s) that are part of the NS instance.\n",
        "type": "array",
        "items": {
          "$ref": "#/definitions/PnfInfo"
        }
      },
      "virtualLinkInfo": {
        "description": "Information on the VL(s) of the NS instance. This attribute shall be present if the nsState attribute value is INSTANTIATED and if the NS instance has specified connectivity.\n",
        "type": "array",
        "items": {
          "$ref": "#/definitions/NsVirtualLinkInfo"
        }
      },
      "vnffgInfo": {
        "description": "Information on the VNFFG(s) of the NS instance.\n",
        "type": "array",
        "items": {
          "$ref": "#/definitions/VnffgInfo"
        }
      },
      "sapInfo": {
        "description": "Information on the SAP(s) of the NS instance.\n",
        "type": "array",
        "items": {
          "$ref": "#/definitions/SapInfo"
        }
      },
      "nestedNsInstanceId": {
        "description": "Identifier of the nested NS(s) of the NS instance.\n",
        "type": "array",
        "items": {
          "description": "An identifier with the intention of being globally unique.\n",
          "type": "string"
        }
      },
      "nsState": {
        "description": "The state of the NS instance. Permitted values: NOT_INSTANTIATED: The NS instance is terminated or not instantiated. INSTANTIATED: The NS instance is instantiated.\n",
        "type": "string",
        "enum": [
          "NOT_INSTANTIATED",
          "INSTANTIATED"
        ]
      },
      "monitoringParameter": {
        "description": "Performance metrics tracked by the NFVO (e.g. for auto-scaling purposes) as identified by the NS designer in the NSD.\n",
        "type": "array",
        "items": {
          "$ref": "#/definitions/NsMonitoringParameter"
        }
      },
      "nsScaleStatus": {
        "description": "Status of each NS scaling aspect declared in the applicable DF, how \"big\" the NS instance has been scaled w.r.t. that aspect. This attribute shall be present if the nsState attribute value is INSTANTIATED.\n",
        "type": "array",
        "items": {
          "$ref": "#/definitions/NsScaleInfo"
        }
      },
      "additionalAffinityOrAntiAffinityRule": {
        "description": "Information on the additional affinity or anti-affinity rule from NS instantiation operation. Shall not conflict with rules already specified in the NSD.\n",
        "type": "array",
        "items": {
          "$ref": "#/definitions/AffinityOrAntiAffinityRule"
        }
      },
      "_links": {
aureliano sinatra's avatar
aureliano sinatra committed
        "type": "object",
        "description": "Links to resources related to this resource.",
aureliano sinatra's avatar
aureliano sinatra committed
        "required": [
aureliano sinatra's avatar
aureliano sinatra committed
        ],
        "properties": {
          "self": {
            "description": "This type represents a link to a resource.\n",
aureliano sinatra's avatar
aureliano sinatra committed
            "type": "object",
            "required": [
aureliano sinatra's avatar
aureliano sinatra committed
            ],
            "properties": {
              "href": {
                "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n",
                "type": "string",
                "format": "url"
          "nestedNsInstances": {
            "description": "Links to resources related to this notification.\n",
aureliano sinatra's avatar
aureliano sinatra committed
            "type": "array",
            "items": {
              "description": "This type represents a link to a resource.\n",
aureliano sinatra's avatar
aureliano sinatra committed
              "type": "object",
              "required": [
aureliano sinatra's avatar
aureliano sinatra committed
              ],
              "properties": {
                "href": {
                  "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n",
                  "type": "string",
                  "format": "url"
          "instantiate": {
            "description": "This type represents a link to a resource.\n",
            "type": "object",
            "required": [
              "href"
            ],
            "properties": {
              "href": {
                "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n",
                "type": "string",
                "format": "url"
          "terminate": {
            "description": "This type represents a link to a resource.\n",
            "type": "object",
            "required": [
              "href"
            ],
            "properties": {
              "href": {
                "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n",
                "type": "string",
                "format": "url"
          "update": {
            "description": "This type represents a link to a resource.\n",
            "type": "object",
            "required": [
              "href"
            ],
            "properties": {
              "href": {
                "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n",
                "type": "string",
                "format": "url"
              }
          "scale": {
            "description": "This type represents a link to a resource.\n",
            "type": "object",
            "required": [
              "href"
            ],
            "properties": {
              "href": {
                "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n",
                "type": "string",
                "format": "url"
              }
aureliano sinatra's avatar
aureliano sinatra committed
            "description": "This type represents a link to a resource.\n",
            "type": "object",
            "required": [
              "href"
            ],
            "properties": {
              "href": {
                "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n",
aureliano sinatra's avatar
aureliano sinatra committed
                "type": "string",
                "format": "url"
              }
            }
          }
        }
      }
    }