SOL003 VNF Lifecycle Management - Implementation of deltas between v3.6.1 and v3.5.1

This merge request refers to the implementation of deltas between v3.6.1 and v3.5.1 of SOL003 VNF Lifecycle Management Interface.

@lynchpi @aelken @matsuurat @sayama @zafar @reinaortega @abbasim

Deadline for review: Monday 11th July 2022 @6pm CEST

Merge request reports

Loading
+2 −2

File changed.

Contains only whitespace changes.

+14 −14

File changed.

Contains only whitespace changes.

+2 −0
Changes for SOL003/VNFLifecycleManagement-API/environment/variables.txt: 2 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -127,6 +127,8 @@ ${Storage_IDs}
${internalCP_IDs}
${externalCP_IDs}
${InstantiationLevel_IDs}
${CP_IDs}
${VirtualLink_IDs}

${Descriptor_ID}
${Provider}
+143 −34
Changes for SOL003/VNFLifecycleManagement-API/schemas/VnfLcmOpOcc.schema.json: 143 added lines, 34 removed lines.
Original line number Diff line number Diff line
{
	"description": "This type represents a VNF lifecycle management operation occurrence.  It shall comply with the provisions defined in table 5.5.2.13-1.\nNOTE 1:\tThis allows the NFVO to obtain the information contained in the latest \n        \"result\" notification if it has not received it due to an error or a \n        wrongly configured subscription filter.\nNOTE 2:\tNot more than one of changedInfo and modificationsTriggeredByVnfPkgChange \n        shall be present.\nNOTE 3:\tFor a particular affected VL, there shall be as many \"AffectedVirtualLink\" \n        entries as needed for signalling the different types of changes, i.e. one \n        per virtual link and change type. For instance, in the case of signaling \n        affected VL instances involving the addition of a particular VL instance \n        with links ports, one \"AffectedVirtualLink\" entry signals the addition of \n        the VL by using the \"changeType\" attribute of \"AffectedVirtualLink\" structure \n        equal to \"ADDED\", and another \"AffectedVirtualLink\" entry signals the addition \n        of externally visible VNF link ports of the VL by using the \"changeType\" equal \n        to \"LINK_PORT_ADDED\".\nNOTE 4:\tA coordination action has timed out if the VNFM has not been able to read the \n        \"Individual coordination action\" resource within a timeout interval after requesting \n        the coordination to be started or to be cancelled. The length of the timeout interval \n        is defined by means outside the scope of the present document.\nNOTE 5:   The list of rejected coordinations may be garbage collected if the LCM operation\n        occurrence has reached a terminal state, i.e. one of \"COMPLETED\", \"FAILED\" and \"ROLLED_BACK\".\n",
	"type": "object",
	"oneOf": [{
	"oneOf": [
		{
			"required": ["changedInfo"]
	}, {
		},
		{
			"required": ["modificationsTriggeredByVnfPkgChange"]
	}],
	"required": ["id", "operationState", "stateEnteredTime", "startTime", "vnfInstanceId", "operation", "isAutomaticInvocation", "isCancelPending"],
		}
	],
	"required": [
		"id",
		"operationState",
		"stateEnteredTime",
		"startTime",
		"vnfInstanceId",
		"operation",
		"isAutomaticInvocation",
		"isCancelPending"
	],
	"properties": {
		"id": {
			"description": "An identifier with the intention of being globally unique.\n",
@@ -15,7 +27,15 @@
		"operationState": {
			"description": "STARTING: The LCM operation is starting. PROCESSING: The LCM operation is currently in execution. COMPLETED: The LCM operation has been completed successfully. FAILED_TEMP: The LCM operation has failed and execution has stopped, but the execution of the operation is not considered to be closed. FAILED: The LCM operation has failed and it cannot be retried or rolled back, as it is determined that such action won't succeed. ROLLING_BACK: The LCM operation is currently being rolled back. ROLLED_BACK: The LCM operation has been successfully rolled back, i.e. The state of the VNF prior to the original operation invocation has been restored as closely as possible.\n",
			"type": "string",
			"enum": ["STARTING", "PROCESSING", "COMPLETED", "FAILED_TEMP", "FAILED", "ROLLING_BACK", "ROLLED_BACK"]
			"enum": [
				"STARTING",
				"PROCESSING",
				"COMPLETED",
				"FAILED_TEMP",
				"FAILED",
				"ROLLING_BACK",
				"ROLLED_BACK"
			]
		},
		"stateEnteredTime": {
			"description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n",
@@ -36,9 +56,22 @@
			"type": "string"
		},
		"operation": {
			"description": "The enumeration LcmOpType defines the permitted values to represent  VNF lifecycle operation types in VNF lifecycle management operation  occurrence resources and VNF lifecycle management operation occurrence  notifications.  It shall comply with the provisions defined in table 5.5.4.5-1.\nValue | Description ------|------------ INSTANTIATE | Represents the \"Instantiate VNF\" LCM operation.    SCALE | Represents the \"Scale VNF\" LCM operation. SCALE_TO_LEVEL | Represents the \"Scale VNF to Level\" LCM operation. CHANGE_FLAVOUR | Represents the \"Change VNF Flavour\" LCM operation. TERMINATE | Represents the \"Terminate VNF\" LCM operation. HEAL | Represents the \"Heal VNF\" LCM operation. OPERATE | Represents the \"Operate VNF\" LCM operation. CHANGE_EXT_CONN | Represents the \"Change external VNF connectivity\" LCM operation. MODIFY_INFO | Represents the \"Modify VNF Information\" LCM operation. CREATE_SNAPSHOT | Represents the \"Create VNF Snapshot\" LCM operation. REVERT_TO_SNAPSHOT | Represents the “Revert-To VNF Snapshot\" LCM operation. CHANGE_VNFPKG | Represents the \"Change current VNF package\" LCM operation.\n",
			"description": "The enumeration LcmOpType defines the permitted values to represent  VNF lifecycle operation types in VNF lifecycle management operation  occurrence resources and VNF lifecycle management operation occurrence  notifications.  It shall comply with the provisions defined in table 5.5.4.5-1.\nValue | Description ------|------------ INSTANTIATE | Represents the \"Instantiate VNF\" LCM operation.    SCALE | Represents the \"Scale VNF\" LCM operation. SCALE_TO_LEVEL | Represents the \"Scale VNF to Level\" LCM operation. CHANGE_FLAVOUR | Represents the \"Change VNF Flavour\" LCM operation. TERMINATE | Represents the \"Terminate VNF\" LCM operation. HEAL | Represents the \"Heal VNF\" LCM operation. OPERATE | Represents the \"Operate VNF\" LCM operation. CHANGE_EXT_CONN | Represents the \"Change external VNF connectivity\" LCM operation. MODIFY_INFO | Represents the \"Modify VNF Information\" LCM operation. CREATE_SNAPSHOT | Represents the \"Create VNF Snapshot\" LCM operation. REVERT_TO_SNAPSHOT | Represents the ΓÇ£Revert-To VNF Snapshot\" LCM operation. CHANGE_VNFPKG | Represents the \"Change current VNF package\" LCM operation.\n",
			"type": "string",
			"enum": ["INSTANTIATE", "SCALE", "SCALE_TO_LEVEL", "CHANGE_FLAVOUR", "TERMINATE", "HEAL", "OPERATE", "CHANGE_EXT_CONN", "MODIFY_INFO", "CREATE_SNAPSHOT", "REVERT_TO_SNAPSHOT", "CHANGE_VNFPKG"]
			"enum": [
				"INSTANTIATE",
				"SCALE",
				"SCALE_TO_LEVEL",
				"CHANGE_FLAVOUR",
				"TERMINATE",
				"HEAL",
				"OPERATE",
				"CHANGE_EXT_CONN",
				"MODIFY_INFO",
				"CREATE_SNAPSHOT",
				"REVERT_TO_SNAPSHOT",
				"CHANGE_VNFPKG"
			]
		},
		"isAutomaticInvocation": {
			"description": "The Boolean is a data type having two values (true and false).\n",
@@ -183,7 +216,12 @@
					"items": {
						"description": "This type provides information about added, deleted, modified and temporary VLs, and added or removed VNF link ports.\nNOTE 1:\tWhen signalling the addition (LINK_PORT_ADDED) or removal (LINK_PORT_REMOVED) of VNF link ports, \n        the \"networkResource\" and \"resourceDefinitionId\" attributes refer to the affected virtual link \n        instance, not the link port instance. The resource handles of the affected VNF link ports can be \n        found by dereferencing the identifiers in the \"vnfLinkPortIds\" attribute.\nNOTE 2:\tThe \"resourceDefinitionId\" attribute provides information to the API consumer (i.e. the NFVO) to \n        assist in correlating the resource changes performed during the LCM operation with the granted \n        resources in a specific Grant exchange, which is identified by the \"grantId\" available in the \n        \"Individual VNF lifecycle management operation occurrence\" and the \"id\" in the \"Individual Grant\".\n",
						"type": "object",
						"required": ["id", "vnfVirtualLinkDescId", "changeType", "networkResource"],
						"required": [
							"id",
							"vnfVirtualLinkDescId",
							"changeType",
							"networkResource"
						],
						"properties": {
							"id": {
								"description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n",
@@ -200,7 +238,14 @@
							"changeType": {
								"description": "Signals the type of change.\nPermitted values: -\tADDED -\tREMOVED -\tMODIFIED -\tTEMPORARY -\tLINK_PORT_ADDED -\tLINK_PORT_REMOVED For a temporary resource, an AffectedVirtualLink structure exists as long as the temporary resource exists.  See note 1.\n",
								"type": "string",
								"enum": ["ADDED", "REMOVED", "MODIFIED", "TEMPORARY", "LINK_PORT_ADDED", "LINK_PORT_REMOVED"]
								"enum": [
									"ADDED",
									"REMOVED",
									"MODIFIED",
									"TEMPORARY",
									"LINK_PORT_ADDED",
									"LINK_PORT_REMOVED"
								]
							},
							"networkResource": {
								"required": ["resourceId"],
@@ -226,7 +271,7 @@
								}
							},
							"vnfLinkPortIds": {
								"description": "Identifiers of the link ports of the affected VL related to the change. Each identifier references a \"VnfLinkPortInfo\"  structure.\nShall be set when changeType is equal to \"LINK_PORT_ADDED\" or \"LINK_PORT_REMOVED\", and the related \"VnfLinkPortInfo\"  structures are present (case \"added\") or have been present (case \"removed\") in the \"VnfVirtualLinkResourceInfo\" or  \"ExtManagedVirtualLinkInfo\" structures that are represented by the \"vnfVirtualLinkResource¬Info\" or \"extManagedVirtualLinkInfo\"  attribute in the \"VnfInstance\" structure. See note 1.\n",
								"description": "Identifiers of the link ports of the affected VL related to the change. Each identifier references a \"VnfLinkPortInfo\"  structure.\nShall be set when changeType is equal to \"LINK_PORT_ADDED\" or \"LINK_PORT_REMOVED\", and the related \"VnfLinkPortInfo\"  structures are present (case \"added\") or have been present (case \"removed\") in the \"VnfVirtualLinkResourceInfo\" or  \"ExtManagedVirtualLinkInfo\" structures that are represented by the \"vnfVirtualLinkResource¬Info\" or \"extManagedVirtualLinkInfo\"  attribute in the \"VnfInstance\" structure. See note 1.\n",
								"type": "array",
								"items": {
									"description": "An identifier that is unique within a VNF descriptor.\n",
@@ -254,14 +299,19 @@
					"items": {
						"description": "This type provides information about added and deleted external link ports (link ports attached to external virtual links).  It shall comply with the provisions in table 5.5.3.14a-1.\nNOTE:\tThe \"resourceDefinitionId\" attribute provides information to the API consumer (i.e. the NFVO) to assist in correlating \n      the resource changes performed during the LCM operation with the granted resources in a specific Grant exchange, which \n      is identified by the \"grantId\" available in the \"Individual VNF lifecycle management operation occurrence\" and the \"id\" \n      in the \"Individual Grant\".\n",
						"type": "object",
						"required": ["id", "changeType", "extCpInstanceId", "resourceHandle"],
						"required": [
							"id",
							"changeType",
							"extCpInstanceId",
							"resourceHandle"
						],
						"properties": {
							"id": {
								"description": "An identifier with the intention of being globally unique.\n",
								"type": "string"
							},
							"changeType": {
								"description": "Signals the type of change. Permitted values: -\tADDED -\tREMOVED\n",
								"description": "Signals the type of change. Permitted values: -\tADDED - MODIFIED -\tREMOVED\n",
								"type": "string",
								"enum": ["ADDED", "REMOVED"]
							},
@@ -305,7 +355,12 @@
					"items": {
						"description": "This type provides information about added, deleted, modified and temporary virtual storage resources.  It shall comply with the provisions in table 5.5.3.15-1.\nNOTE:\tThe \"resourceDefinitionId\" attribute provides information to the API consumer (i.e. the NFVO) to \n      assist in correlating the resource changes performed during the LCM operation with the granted \n      resources in a specific Grant exchange, which is identified by the \"grantId\" available in the \n      \"Individual VNF lifecycle management operation occurrence\" and the \"id\" in the \"Individual Grant\".\n",
						"type": "object",
						"required": ["id", "virtualStorageDescId", "changeType", "storageResource"],
						"required": [
							"id",
							"virtualStorageDescId",
							"changeType",
							"storageResource"
						],
						"properties": {
							"id": {
								"description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n",
@@ -508,7 +563,7 @@
						"description": "Link ports of this VL.\n",
						"type": "array",
						"items": {
							"description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to  an NS VL. It shall comply with the provisions defined in table 5.5.3.9-1.\nNOTE 1:\tThe use cases UC#4 and UC#5 in Annex A.4 of ETSI GS NFV-IFA 007 provide examples for such a configuration. NOTE 2:\tThe value of \"trunkResourceId\" is scoped by the value of \"vimConnectionId\" in the \"resourceHandle\" attribute.\n",
							"description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to  an NS VL. It shall comply with the provisions defined in table 5.5.3.9-1.\nNOTE 1:\tThe use cases UC#4 and UC#5 in clause A.4 of ETSI GS NFV-IFA 007 provide examples for such a configuration. NOTE 2:\tThe value of \"trunkResourceId\" is scoped by the value of \"vimConnectionId\" in the \"resourceHandle\" attribute.\n",
							"type": "object",
							"required": ["id", "resourceHandle"],
							"properties": {
@@ -558,7 +613,7 @@
						"description": "Allows the API consumer to read the current CP configuration information for the connection of external CPs  to the external virtual link. See note.\n",
						"type": "array",
						"items": {
							"description": "This type represents configuration information for external CPs created. * NOTE 1: \tIn case this identifier refers to a CPD with trunking enabled, the external CP instances created\n              from this CPD will represent ports in a trunk.\n* NOTE 2: \tWithin one VNF instance, all VNFC instances created from a particular VDU have the same external\n              connectivity. Thus, given a particular value of the \"cpdId\" attribute, there shall be one\n              \"cpConfig\" entry for each VNFC instance that has been or can be created from a VDU which includes\n              a CPD identified by the \"cpdId\" attribute. If the cpConfig represents a subport in a trunk,\n              all \"cpConfig\" entries in this list shall have the same segmentationId, which means they are\n              connected to the same set of external VLs via the trunk.\n* NOTE 3: \tThe map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified\n              by a particular key value from the map, i.e. for the disconnection of an existing external\n              CP instance addressed by cpInstanceId in the deleted map entry from a particular external\n              virtual link, and deletion of that instance in case it represents a subport. Deleting the\n              last key from the map removes the affected instance of the \"VnfExtCpData\" structure from\n              its parent data structure.\n",
							"description": "This type represents configuration information for external CPs created. * NOTE 1: \tIn case this identifier refers to a CPD with trunking enabled, the external CP instances created\n              from this CPD will represent ports in a trunk.\n* NOTE 2: \tWithin one VNF instance, all VNFC instances created from a particular VDU have the same external\n              connectivity. Thus, given a particular value of the \"cpdId\" attribute, there shall be one\n              \"cpConfig\" entry for each VNFC instance that has been or can be created from a VDU which includes\n              a CPD identified by the \"cpdId\" attribute. If the cpConfig represents a subport in a trunk,\n              all \"cpConfig\" entries in this list shall have the same segmentationId, which means they are\n              connected to the same set of external VLs via the trunk.\n* NOTE 3: \tThe map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified\n              by a particular key value from the map, i.e. for the disconnection of an existing external\n              CP instance addressed by cpInstanceId in the deleted map entry from a particular external\n              virtual link, and deletion of that instance in case it represents a subport. Deleting the\n              last key from the map removes the affected instance of the \"VnfExtCpData\" structure from\n              its parent data structure.\n* NOTE 4:   If, as defined by the input parameters of a \"ChangeVnfFlavour\", \"ChangeExtVnfConnectivity\" or \n              \"ChangeCurrentVnfPkg\" operation or as part of the Grant response for any of these operations, a \n              cpConfig map entry identified by a particular map key value is moved into another \"ExtVirtualLinkData\"\n              or \"VnfExtCpData\" structure, this particular cpConfig map entry may be used by an external CP instance\n              different than the one that has used it before the operation, or by no external CP instance at all.\n              Renaming a CPD identifier during the \"changeCurrentVnfPkg\" operation does not count as moving the\n              related \"cpConfig\" map entries to a new \"extCpData\" structure.\n",
							"type": "object",
							"required": ["cpdId"],
							"properties": {
@@ -567,15 +622,18 @@
									"type": "string"
								},
								"cpConfig": {
									"description": "Map of instance data that need to be configured on the CP instances created from the respective CPD. The key of the map which identifies the individual VnfExtCpConfig entries is managed by the API consumer. The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396). See note 2 and note 3.\n",
									"description": "Map of instance data that need to be configured on the CP instances created from the respective CPD. The key of the map which identifies the individual VnfExtCpConfig entries is of type \"IdentifierInVnf\" and is managed by the API consumer. The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396). See notes 2, 3 and 4.\n",
									"type": "object",
									"additionalProperties": {
										"description": "This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL. * NOTE: The following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\":    1)  Void.\n    2)  At least one of the \"linkPortId\" and \"cpProtocolData\" attributes shall be present for an external\n        CP instance representing a subport that is to be created, or an external CP instance that is to be\n        created by creating the corresponding VNFC or VNF instance during the current or a subsequent LCM\n        operation, or for an existing external CP instance that is to be re-configured or added to a\n        particular external virtual link.\n    3)  If the \"linkPortId\" attribute is absent, the VNFM shall create a link port.\n    4)  If the \"cpProtocolData\" attribute is absent, the \"linkPortId\" attribute shall be provided referencing\n        a pre created link port, and the VNFM can use means outside the scope of the present document to obtain\n        the pre-configured address information for the connection point from the resource representing\n        the link port.\n    5)  If both \"cpProtocolData\" and \"linkportId\" are provided, the API consumer shall ensure that the\n        cpProtocolData can be used with the pre-created link port referenced by \"linkPortId\".\n",
										"anyOf": [{
										"description": "This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL. * NOTE: The following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\":\n    1)  Void.\n    2)  At least one of the \"linkPortId\" and \"cpProtocolData\" attributes shall be present for an external\n        CP instance representing a subport that is to be created, or an external CP instance that is to be\n        created by creating the corresponding VNFC or VNF instance during the current or a subsequent LCM\n        operation, or for an existing external CP instance that is to be re-configured or added to a\n        particular external virtual link.\n    3)  If the \"linkPortId\" attribute is absent, the VNFM shall create a link port.\n    4)  If the \"cpProtocolData\" attribute is absent, the \"linkPortId\" attribute shall be provided referencing\n        a pre created link port, and the VNFM can use means outside the scope of the present document to obtain\n        the pre-configured address information for the connection point from the resource representing\n        the link port.\n    5)  If both \"cpProtocolData\" and \"linkportId\" are provided, the API consumer shall ensure that the\n        cpProtocolData can be used with the pre-created link port referenced by \"linkPortId\".\n",
										"anyOf": [
											{
												"required": ["linkPortId"]
										}, {
											},
											{
												"required": ["cpProtocolData"]
										}],
											}
										],
										"type": "object",
										"properties": {
											"parentCpConfigId": {
@@ -604,20 +662,27 @@
															"enum": ["IP_OVER_ETHERNET"]
														},
														"ipOverEthernet": {
															"description": "This type represents network address data for IP over Ethernet. * NOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. * NOTE 2:\tExactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present. * NOTE 3:\tIf the CP instance represents a subport in a trunk, segmentationId shall be present.\n          Otherwise it shall not be present.\n* NOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the actual\n          network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header\n          of the packets or it may be an identifier used between the application and the NFVI networking\n          infrastructure to identify the network sub-interface of the trunk port in question. In the latter\n          case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is\n          actually used by the NFVI’s transport technology.\n",
															"description": "This type represents network address data for IP over Ethernet. * NOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. * NOTE 2:\tExactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present. * NOTE 3:\tIf the CP instance represents a subport in a trunk, segmentationId shall be present.\n          Otherwise it shall not be present.\n* NOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the actual\n          network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header\n          of the packets or it may be an identifier used between the application and the NFVI networking\n          infrastructure to identify the network sub-interface of the trunk port in question. In the latter\n          case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is\n          actually used by the NFVIΓÇÖs transport technology.\n",
															"type": "object",
															"anyOf": [{
															"anyOf": [
																{
																	"required": ["macAddress"]
															}, {
																},
																{
																	"required": ["ipAddresses"]
															}],
															"oneOf": [{
																}
															],
															"oneOf": [
																{
																	"required": ["fixedAddresses"]
															}, {
																},
																{
																	"required": ["numDynamicAddresses"]
															}, {
																},
																{
																	"required": ["ipAddressRange"]
															}],
																}
															],
															"properties": {
																"macAddress": {
																	"description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n",
@@ -625,7 +690,7 @@
																	"format": "MAC"
																},
																"segmentationType": {
																	"description": "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values: -\tVLAN: the subport uses VLAN as encapsulation type. -\tINHERIT: the subport gets its segmentation type from the network it’s connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n",
																	"description": "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values: -\tVLAN: the subport uses VLAN as encapsulation type. -\tINHERIT: the subport gets its segmentation type from the network itΓÇÖs connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n",
																	"type": "string",
																	"enum": ["VLAN", "INHERIT"]
																},
@@ -661,7 +726,10 @@
																			"addressRange": {
																				"description": "An IP address range to be used, e.g. in case of egress connections. In case this attribute is present, IP addresses from the range will be used. See note 2.\n",
																				"type": "object",
																				"required": ["minAddress", "maxAddress"],
																				"required": [
																					"minAddress",
																					"maxAddress"
																				],
																				"properties": {
																					"minAddress": {
																						"description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n",
@@ -731,6 +799,37 @@
				"vnfdVersion": {
					"description": "A version.\n",
					"type": "string"
				},
				"vimConnectionInfo": {
					"description": "If present, this attribute signals the changes to VIM connection info that were passed in the related  \"ChangeCurrentVnfPkgRequest\" structure. The provisions for sensitive information defined in clause  4.4.1.6 apply.\n",
					"type": "object",
					"additionalProperties": {
						"description": "This type represents parameters to connect to a VIM for managing the resources of a VNF instance. * NOTE 1:\tIf applicable, this attribute also provides information about the resourceGroupIds\n          that are accessible using a particular set of credentials. See definition of\n          \"resourceGroupId\" in clause 9.5.3.3.\n* NOTE 2:\tOnce the connectivity between VNFM and VIM is provided through a secure connection over\n          HTTP Secure (HTTP over SSL/TLS), and the connection might also be established through a VPN\n          (for example TLS-based VPN tunnelling) for site-to-site connection, the \"accessInfo\" JSON data\n          structure, and the sensitive data related information (\"username\"/\"password\" as required properties\n          for authentication purpose), will be transmitted as plain text through a TLS tunnel without additional\n          encoding/encryption before transmitting it, making the sensitive data visible to the endpoint.\n          The base64 encoded certificates are only used by the VNFM to verify the authenticity of the\n          interface endpoint of the VIM.\n",
						"type": "object",
						"required": ["vimType"],
						"properties": {
							"vimId": {
								"description": "An identifier with the intention of being globally unique.\n",
								"type": "string"
							},
							"vimType": {
								"description": "Discriminator for the different types of the VIM information. The value of this attribute determines the structure of the \"interfaceInfo\" and \"accessInfo\" attributes, based on the type of the VIM. The set of permitted values is expected to change over time as new types or versions of VIMs become available. The ETSI NFV registry of VIM-related information provides access to information about VimConnectionInfo definitions for various VIM types. The structure of the registry is defined in Annex C of SOL003.\n",
								"type": "string"
							},
							"interfaceInfo": {
								"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"
							},
							"accessInfo": {
								"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"
							},
							"extra": {
								"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"
							}
						}
					}
				}
			}
		},
@@ -743,7 +842,12 @@
			"type": "array",
			"items": {
				"type": "object",
				"required": ["id", "coordinationActionName", "startTime", "endpointType"],
				"required": [
					"id",
					"coordinationActionName",
					"startTime",
					"endpointType"
				],
				"properties": {
					"id": {
						"description": "An identifier with the intention of being globally unique.\n",
@@ -774,7 +878,7 @@
						"format": "date-time"
					},
					"endpointType": {
						"description": "The endpoint type used by this coordination action. Valid values: •\tMGMT: coordination with other operation supporting management systems (e.g. EM) •\tVNF: coordination with the VNF instance\n",
						"description": "The endpoint type used by this coordination action. Valid values: ΓÇó\tMGMT: coordination with other operation supporting management systems (e.g. EM) ΓÇó\tVNF: coordination with the VNF instance\n",
						"type": "string",
						"enum": ["MGMT", "VNF"]
					}
@@ -786,7 +890,12 @@
			"type": "array",
			"items": {
				"type": "object",
				"required": ["coordinationActionName", "rejectionTime", "endpointType", "delay"],
				"required": [
					"coordinationActionName",
					"rejectionTime",
					"endpointType",
					"delay"
				],
				"properties": {
					"coordinationActionName": {
						"description": "An identifier with the intention of being globally unique.\n",
@@ -803,7 +912,7 @@
						"format": "date-time"
					},
					"endpointType": {
						"description": "The endpoint type used by this coordination action. Valid values: •\tMGMT: coordination with other operation supporting management systems (e.g. EM) •\tVNF: coordination with the VNF instance\n",
						"description": "The endpoint type used by this coordination action. Valid values: ΓÇó\tMGMT: coordination with other operation supporting management systems (e.g. EM) ΓÇó\tVNF: coordination with the VNF instance\n",
						"type": "string",
						"enum": ["MGMT", "VNF"]
					}
+248 −171

File changed.

Preview size limit exceeded, changes collapsed.

Loading
Loading