Skip to content
vnfInstances.schema.json 61 KiB
Newer Older
  "type": "array",
  "items":
  {
	"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"
								]
							}
						],
						"properties": {
							"id": {
								"description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n",
								"type": "string"
							},
							"cpdId": {
								"description": "An identifier that is unique within a VNF descriptor.\n",
								"type": "string"
							},
							"cpConfigId": {
								"description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n",
								"type": "string"
							},
							"vnfdId": {
								"description": "An identifier with the intention of being globally unique.\n",
								"type": "string"
							},
							"cpProtocolInfo": {
								"description": "Network protocol information for this CP.\n",
								"type": "array",
								"items": {
									"description": "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.\n",
									"type": "object",
									"required": [
										"layerProtocol"
									],
									"properties": {
										"layerProtocol": {
											"description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n",
											"type": "string",
											"enum": [
												"IP_OVER_ETHERNET"
											]
										},
										"ipOverEthernet": {
											"description": "This type represents information about a network address that has been assigned.\n",
											"type": "object",
											"anyOf": [{
													"required": [
														"macAddress"
													]
												},
												{
													"required": [
Loading
Loading full blame…