Skip to content
VnfSnapshotInfo.schema.json 94.5 KiB
Newer Older
{
  "description": "This type represents an individual VNF snapshot resource.\n",
  "type": "object",
  "required": [
    "id"
  ],
  "properties": {
    "id": {
      "description": "An identifier with the intention of being globally unique.\n",
      "type": "string"
    },
    "vnfSnapshotPkgId": {
      "description": "An identifier with the intention of being globally unique.\n",
      "type": "string"
    },
    "vnfSnapshot": {
      "description": "This type represents a VNF snapshot.\n",
      "type": "object",
      "required": [
        "id",
        "vnfInstanceId",
        "triggeredAt",
        "vnfdId",
        "vnfInfo",
        "vnfcSnapshots"
      ],
      "properties": {
        "id": {
          "description": "An identifier with the intention of being globally unique.\n",
          "type": "string"
        },
        "vnfInstanceId": {
          "description": "An identifier with the intention of being globally unique.\n",
          "type": "string"
        },
        "creationStartedAt": {
          "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n",
          "type": "string",
          "format": "date-time"
        },
        "creationFinishedAt": {
          "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n",
          "type": "string",
          "format": "date-time"
        },
        "vnfdId": {
          "description": "An identifier with the intention of being globally unique.\n",
          "type": "string"
        },
        "vnfInstance": {
          "description": "This type represents a VNF instance.\n",
          "type": "object",
          "required": [
            "id",
            "vnfdId",
            "vnfProvider",
            "vnfProductName",
            "vnfSoftwareVersion",
            "vnfdVersion",
            "instantiationState",
            "_links"
          ],
          "properties": {
            "id": {
              "description": "An identifier with the intention of being globally unique.\n",
              "type": "string"
            },
            "vnfInstanceName": {
              "description": "Name of the VNF instance. This attribute can be modified with the PATCH method.\n",
              "type": "string"
            },
            "vnfInstanceDescription": {
              "description": "Human-readable description of the VNF instance. This attribute can be modified with the PATCH method.\n",
              "type": "string"
            },
            "vnfdId": {
              "description": "An identifier with the intention of being globally unique.\n",
              "type": "string"
            },
            "vnfProvider": {
              "description": "Provider of the VNF and the VNFD. The value is copied from the VNFD.\n",
              "type": "string"
            },
            "vnfProductName": {
              "description": "Name to identify the VNF Product. The value is copied from the VNFD.\n",
              "type": "string"
            },
            "vnfSoftwareVersion": {
              "description": "A version.\n",
              "type": "string"
            },
            "vnfdVersion": {
              "description": "A version.\n",
              "type": "string"
            },
            "vnfConfigurableProperties": {
              "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n",
              "type": "object"
            },
            "instantiationState": {
              "description": "The instantiation state of the VNF.\n",
              "type": "string",
              "enum": [
                "NOT_INSTANTIATED",
                "INSTANTIATED"
              ]
            },
            "instantiatedVnfInfo": {
              "description": "Information specific to an instantiated VNF instance. This attribute shall be present if the instantiateState attribute value is INSTANTIATED.\n",
              "type": "object",
              "required": [
                "flavourId",
                "vnfState",
                "extCpInfo"
              ],
              "properties": {
                "flavourId": {
                  "description": "An identifier that is unique within a VNF descriptor.\n",
                  "type": "string"
                },
                "vnfState": {
                  "description": "STARTED: The VNF instance is up and running. STOPPED: The VNF instance has been shut down.\n",
                  "type": "string",
                  "enum": [
                    "STARTED",
                    "STOPPED"
                  ]
                },
                "scaleStatus": {
                  "description": "Scale status of the VNF, one entry per aspect. Represents for every scaling aspect how \"big\" the VNF has been scaled w.r.t. that aspect.\n",
                  "type": "array",
                  "items": {
                    "required": [
                      "aspectId",
                      "scaleLevel"
                    ],
                    "type": "object",
                    "properties": {
                      "aspectId": {
                        "description": "An identifier that is unique within a VNF descriptor.\n",
                        "type": "string"
                      },
                      "vnfdId": {
                        "description": "An identifier with the intention of being globally unique.\n",
                        "type": "string"
                      },
                      "scaleLevel": {
                        "description": "Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.\n",
                        "type": "integer"
                      }
                    }
                  }
                },
                "maxScaleLevels": {
                  "description": "Maximum allowed scale levels of the VNF, one entry per aspect. This attribute shall be present if the VNF supports scaling.\n",
                  "type": "array",
                  "items": {
                    "required": [
                      "aspectId",
                      "scaleLevel"
                    ],
                    "type": "object",
                    "properties": {
                      "aspectId": {
                        "description": "An identifier that is unique within a VNF descriptor.\n",
                        "type": "string"
                      },
                      "vnfdId": {
                        "description": "An identifier with the intention of being globally unique.\n",
                        "type": "string"
                      },
                      "scaleLevel": {
                        "description": "Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.\n",
                        "type": "integer"
                      }
                    }
                  }
                },
                "extCpInfo": {
                  "description": "Information about the external CPs exposed by the VNF instance. When trunking is enabled, the list of entries includes both, external CPs corresponding to parent ports of a trunk, and external CPs associated to sub-ports of a trunk.\n",
                  "type": "array",
                  "minItems": 1,
                  "items": {
                    "description": "This type represents information about an external CP of a VNF. It shall comply with the provisions defined in table 5.5.3.25 1.\n",
                    "type": "object",
                    "required": [
                      "id",
                      "cpdId",
                      "cpConfigId",
                      "cpProtocolInfo"
                    ],
                    "oneOf": [
                      {
                        "required": [
                          "associatedVnfcCpId"
                        ]
                      },
                      {
                        "required": [
                          "associatedVnfVirtualLinkId"
Loading
Loading full blame…