SOL009 NFVMANO CIM - Implementation of deltas between v4.4.1 and v4.3.1

This merge request refers to the implementation of deltas between v4.4.1 and v4.3.1 of SOL009 NFVMANO CIM Interface.

Deadline for review: Thursday 09th May 2024 @6pm CEST

Edited by Giacomo Bernini

Merge request reports

Loading
+10 −10
Changes for SOL009/NFVMANOPerformanceManagement-API/ApiVersion.robot: 10 added lines, 10 removed lines.
Original line number Diff line number Diff line
@@ -7,7 +7,7 @@ POST API Version - Method not implemented
    ...    Test title: POST API version - Method not implemented
    ...    Test objective: The objective is to test that POST method is not implemented
    ...    Pre-conditions: none
    ...    Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 [5] v4.3.1 v3.5.1
    ...    Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 [5] v4.3.1
    ...    Config ID: Config_prod_NFV-MANO
    ...    Applicability: none
    ...    Post-Conditions: none    
@@ -19,7 +19,7 @@ GET API Version
    ...    Test title: GET API Version
    ...    Test objective: The objective is to test that GET method successfully return ApiVersionInformation
    ...    Pre-conditions: none
    ...    Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 [5] v4.3.1 v3.5.1
    ...    Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 [5] v4.3.1
    ...    Config ID: Config_prod_NFV-MANO
    ...    Applicability: none
    ...    Post-Conditions: none 
@@ -32,7 +32,7 @@ PUT API Version - Method not implemented
    ...    Test title: PUT API Version - Method not implemented
    ...    Test objective: The objective is to test that PUT method is not implemented
    ...    Pre-conditions: none
    ...    Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 [5] v4.3.1 v3.5.1
    ...    Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 [5] v4.3.1
    ...    Config ID: Config_prod_NFV-MANO
    ...    Applicability: none
    ...    Post-Conditions: none 
@@ -44,7 +44,7 @@ PATCH API Version - Method not implemented
    ...    Test title: PATCH API Version - Method not implemented
    ...    Test objective: The objective is to test that PATCH method is not implemented
    ...    Pre-conditions: none
    ...    Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 [5] v4.3.1 v3.5.1
    ...    Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 [5] v4.3.1
    ...    Config ID: Config_prod_NFV-MANO
    ...    Applicability: none
    ...    Post-Conditions: none 
@@ -56,7 +56,7 @@ DELETE API Version - Method not implemented
    ...    Test title: DELETE API Version - Method not implemented
    ...    Test objective: The objective is to test that DELETE method is not implemented
    ...    Pre-conditions: none
    ...    Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 [5] v4.3.1 v3.5.1
    ...    Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 [5] v4.3.1
    ...    Config ID: Config_prod_NFV-MANO
    ...    Applicability: none
    ...    Post-Conditions: none 
@@ -68,7 +68,7 @@ POST API Version with apiMajorVerion - Method not implemented
    ...    Test title: POST API version with apiMajorVerion - Method not implemented
    ...    Test objective: The objective is to test that POST method is not implemented
    ...    Pre-conditions: none
    ...    Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 [5] v4.3.1 v3.5.1
    ...    Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 [5] v4.3.1
    ...    Config ID: Config_prod_NFV-MANO
    ...    Applicability: none
    ...    Post-Conditions: none    
@@ -80,7 +80,7 @@ GET API Version with apiMajorVerion
    ...    Test title: GET API Version with apiMajorVerion
    ...    Test objective: The objective is to test that GET method successfully return ApiVersionInformation
    ...    Pre-conditions: none
    ...    Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 [5] v4.3.1 v3.5.1
    ...    Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 [5] v4.3.1
    ...    Config ID: Config_prod_NFV-MANO
    ...    Applicability: none
    ...    Post-Conditions: none 
@@ -93,7 +93,7 @@ PUT API Version with apiMajorVerion - Method not implemented
    ...    Test title: PUT API Version with apiMajorVerion - Method not implemented
    ...    Test objective: The objective is to test that PUT method is not implemented
    ...    Pre-conditions: none
    ...    Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 [5] v4.3.1 v3.5.1
    ...    Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 [5] v4.3.1
    ...    Config ID: Config_prod_NFV-MANO
    ...    Applicability: none
    ...    Post-Conditions: none 
@@ -105,7 +105,7 @@ PATCH API Version with apiMajorVerion - Method not implemented
    ...    Test title: PATCH API Version with apiMajorVerion - Method not implemented
    ...    Test objective: The objective is to test that PATCH method is not implemented
    ...    Pre-conditions: none
    ...    Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 [5] v4.3.1 v3.5.1
    ...    Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 [5] v4.3.1
    ...    Config ID: Config_prod_NFV-MANO
    ...    Applicability: none
    ...    Post-Conditions: none 
@@ -117,7 +117,7 @@ DELETE API Version with apiMajorVerion - Method not implemented
    ...    Test title: DELETE API Version with apiMajorVerion - Method not implemented
    ...    Test objective: The objective is to test that DELETE method is not implemented
    ...    Pre-conditions: none
    ...    Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 [5] v4.3.1 v3.5.1
    ...    Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 [5] v4.3.1
    ...    Config ID: Config_prod_NFV-MANO
    ...    Applicability: none
    ...    Post-Conditions: none 
+272 −40
Changes for SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoEntity.schema.json: 272 added lines, 40 removed lines.
Original line number Diff line number Diff line
{
	"description": "This type represents an NFV-MANO functional entity. *  NOTE 1:\tIt shall be present when \"type\" attribute is \"NFVO\", and it shall be absent in any other case. *  NOTE 2:\tIt shall be present when \"type\" attribute is \"VNFM\", and it shall be absent in any other case. *  NOTE 3:\tIt shall be present when \"type\" attribute is \"VIM\", and it shall be absent in any other case. *  NOTE 4:\tThe information about the NFV-MANO services offered by a specific type of NFV-MANO functional\n            entity is specified by the manoServices attribute.\n*  NOTE 5:\tIt is optional for the API producer to support the \"manoEntityComponents\" attribute. *  NOTE 6:\tIt shall be present when \"type\" attribute is \"WIM\", and it shall be absent in any other case. *  NOTE 7:\tIt shall be present when \"type\" attribute is \"CISM\", and it shall be absent in any other case. \n",
	"description": "This type represents an NFV-MANO functional entity. *  NOTE 1:\tIt shall be present when \"type\" attribute is \"NFVO\", and it shall be absent in any other case. *  NOTE 2:\tIt shall be present when \"type\" attribute is \"VNFM\", and it shall be absent in any other case. *  NOTE 3:\tIt shall be present when \"type\" attribute is \"VIM\", and it shall be absent in any other case. *  NOTE 4:\tThe information about the NFV-MANO services offered by a specific type of NFV-MANO functional\n            entity is specified by the manoServices attribute.\n*  NOTE 5:\tIt is optional for the API producer to support the \"manoEntityComponents\" attribute. *  NOTE 6:\tIt shall be present when \"type\" attribute is \"WIM\", and it shall be absent in any other case. *  NOTE 7:\tIt shall be present when \"type\" attribute is \"CISM\", and it shall be absent in any other case.  *  NOTE 8:\tIt shall be present when \"type\" attribute is \"CIR\", and it shall be absent in any other case.  *  NOTE 9:\tIt shall be present when \"type\" attribute is \"CCM\", and it shall be absent in any other case. \n",
	"type": "object",
	"required": ["id", "type", "name", "description", "provider", "softwareVersion", "manoConfigurableParams", "manoApplicationState", "_links"],
	"required": [
		"id",
		"type",
		"name",
		"description",
		"provider",
		"softwareVersion",
		"manoConfigurableParams",
		"manoApplicationState",
		"_links"
	],
	"properties": {
		"id": {
			"description": "An identifier with the intention of being globally unique.\n",
			"type": "string"
		},
		"type": {
			"description": "The enumeration ManoEntityEnumType defines the permitted values to represent NFV-MANO functional entities. It shall comply with the provisions :\n  - NFVO\tThe NFV-MANO functional entity is an NFVO.\n  - VNFM\tThe NFV-MANO functional entity is a VNFM.\n  - VIM\t    The NFV-MANO functional entity is a VIM.\n  - WIM     The NFV-MANO functional entity is a WIM.\n  - CISM  The NFV-MANO functional entity is a CISM. \n",
			"description": "The enumeration ManoEntityEnumType defines the permitted values to represent NFV-MANO functional entities. It shall comply with the provisions :\n  - NFVO\tThe NFV-MANO functional entity is an NFVO.\n  - VNFM\tThe NFV-MANO functional entity is a VNFM.\n  - VIM\t  The NFV-MANO functional entity is a VIM.\n  - WIM   The NFV-MANO functional entity is a WIM.\n  - CISM  The NFV-MANO functional entity is a CISM. \n  - CIR   The NFV-MANO functional entity is a CIR.\n  - CCM   The NFV-MANO functional entity is a CCM.\n",
			"type": "string",
			"enum": ["NFVO", "VNFM", "VIM", "WIM", "CISM"]
			"enum": [
				"NFVO",
				"VNFM",
				"VIM",
				"WIM",
				"CISM",
				"CIR",
				"CCM"
			]
		},
		"name": {
			"description": "Human-readable name of the NFV-MANO functional entity.\nThis attribute can be modified with the PATCH method.\n",
@@ -38,7 +56,9 @@
			"items": {
				"description": "This type represents information of a deployed component realizing part of an NFV-MANO functional entity. It is optional for the API producer to support this type.\n",
				"type": "object",
				"required": ["id"],
				"required": [
					"id"
				],
				"properties": {
					"id": {
						"description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n",
@@ -61,7 +81,13 @@
			"items": {
				"description": "This type represents information about an NFV-MANO service provided by the NFV-MANO functional entity. * NOTE:\tA cardinality greater than one supports having different interface versions or api Endpoints\n        to be used for accessing the same instance of an NFV-MANO service.\n",
				"type": "object",
				"required": ["id", "name", "description", "manoServiceInterfaceIds", "_links"],
				"required": [
					"id",
					"name",
					"description",
					"manoServiceInterfaceIds",
					"_links"
				],
				"properties": {
					"id": {
						"description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n",
@@ -94,7 +120,9 @@
								"items": {
									"description": "This type represents a link to a resource using an absolute URI.\n",
									"type": "object",
									"required": ["href"],
									"required": [
										"href"
									],
									"properties": {
										"href": {
											"description": "String formatted according to IETF RFC 3986.\n",
@@ -105,7 +133,9 @@
								"minItems": 1
							}
						},
						"required": ["manoServiceInterfaces"]
						"required": [
							"manoServiceInterfaces"
						]
					}
				}
			}
@@ -114,31 +144,51 @@
			"description": "ManoConfigurableParams\n"
		},
		"manoApplicationState": {
			"description": "Information and current values of the NFV-MANO functional entity’s application state.\n",
			"description": "Information and current values of the NFV-MANO functional entity’s application state.\n",
			"type": "object",
			"required": ["operationalState", "administrativeState", "usageState"],
			"required": [
				"operationalState",
				"administrativeState",
				"usageState"
			],
			"properties": {
				"operationalState": {
					"description": "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n  - STARTED\tThe managed entity is operational.\n  - STOPPED\tThe managed entity is not operational.\n  - STOPPING\tThe managed entity is in the transition to stop.\n  - STARTING\tThe managed entity is in the transition to start and become operational.\n  - RESTARTING\tThe managed entity is in the transition to stop and start again.\n",
					"type": "string",
					"enum": ["STARTED", "STOPPED", "STOPPING", "STARTING", "RESTARTING"]
					"enum": [
						"STARTED",
						"STOPPED",
						"STOPPING",
						"STARTING",
						"RESTARTING"
					]
				},
				"administrativeState": {
					"description": "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n  - LOCKED\tThe managed entity is administratively prohibited to be used.\n  - UNLOCKED\tThe managed entity is administratively allowed to be used.\n  - LOCKING\tThe managed entity is in the transition to be locked.\n",
					"type": "string",
					"enum": ["LOCKED", "UNLOCKED", "LOCKING"]
					"enum": [
						"LOCKED",
						"UNLOCKED",
						"LOCKING"
					]
				},
				"usageState": {
					"description": "The enumeration UsageStateEnumType defines values representing the usage state of a managed entity. The UsageStateEnumType shall comply with the provisions:\n  - IN_USE\tThe managed entity is currently being used.\n  - NOT_IN_USE\tThe managed entity is currently not being used.\n",
					"type": "string",
					"enum": ["IN_USE", "NOT_IN_USE"]
					"enum": [
						"IN_USE",
						"NOT_IN_USE"
					]
				}
			}
		},
		"nfvoSpecificInfo": {
			"description": "This type represents information attributes specific to an NFVO entity, and that can be relevant to more than one NFV-MANO service offered by an NFVO entity. * NOTE 1:\tThe information to be provided in this attribute shall relate to the specification and version\n            of the specification. For instance, \"ETSI GS NFV-SOL 001 (V2.5.1)\".\n  NOTE 2:\tIf this attribute is not present, the value of this parameter is undefined.\n",
			"type": "object",
			"required": ["supportedVnfdFormats", "supportedNsdFormats"],
			"required": [
				"supportedVnfdFormats",
				"supportedNsdFormats"
			],
			"properties": {
				"maxOnboardedNsdNum": {
					"description": "Maximum number of NSDs that can be on-boarded on the NFVO. See note 2.\n",
@@ -155,14 +205,20 @@
						"vnfdFormat": {
							"description": "Name of the VNFD format.\nPermitted values:\n  - TOSCA: The VNFD follows TOSCA definition, according to ETSI\n  GS NFV-SOL 001 standard.\n  - YANG: The VNFD follows YANG definition according to ETSI\n  GS NFV-SOL 006 standard.\n",
							"type": "string",
							"enum": ["TOSCA", "YANG"]
							"enum": [
								"TOSCA",
								"YANG"
							]
						},
						"standardVersion": {
							"description": "A version.\n",
							"type": "string"
						}
					},
					"required": ["vnfdFormat", "standardVersion"]
					"required": [
						"vnfdFormat",
						"standardVersion"
					]
				},
				"supportedNsdFormats": {
					"description": "Supported NSD data formats.\n",
@@ -171,26 +227,40 @@
						"nsdFormat": {
							"description": "Name of the NSD format.\nPermitted values:\n  - TOSCA: The VNFD follows TOSCA definition, according to ETSI\n  GS NFV-SOL 001 standard.\n  - YANG: The VNFD follows YANG definition according to ETSI\n  GS NFV-SOL 006 standard.\n",
							"type": "string",
							"enum": ["TOSCA", "YANG"]
							"enum": [
								"TOSCA",
								"YANG"
							]
						},
						"standardVersion": {
							"description": "A version.\n",
							"type": "string"
						}
					},
					"required": ["nsdFormat", "standardVersion"]
					"required": [
						"nsdFormat",
						"standardVersion"
					]
				}
			}
		},
		"vnfmSpecificInfo": {
			"description": "This type represents information attributes specific to a VNFM entity, and that can be relevant to more than one NFV-MANO service offered by a VNFM entity. * NOTE:\tThe information to be provided in this attribute shall relate to the specification and version\n        of the specification. For instance, \"ETSI GS NFV-SOL 001 (V2.5.1)\".\n",
			"type": "object",
			"required": ["resoruceMgmtModeSupport", "managedVnfInstanceInfos", "supportedVnfdFormats"],
			"required": [
				"resoruceMgmtModeSupport",
				"managedVnfInstanceInfos",
				"supportedVnfdFormats"
			],
			"properties": {
				"resoruceMgmtModeSupport": {
					"description": "The supported resource management modes of the VNFM.\nPermitted values:\n  - DIRECT: The VNFM supports direct mode only.\n  - INDIRECT: The VNFM supports indirect mode only.\n  - BOTH: The VNFM supports both direct and indirect mode.\n",
					"type": "string",
					"enum": ["DIRECT", "INDIRECT", "BOTH"]
					"enum": [
						"DIRECT",
						"INDIRECT",
						"BOTH"
					]
				},
				"managedVnfInstanceInfos": {
					"description": "The kinds of VNF instances that can be managed, e.g. to determine the compatibility of a VNF with certain VNFM according to the vnfmInfo attribute in the VNFD (see table 7.1.2.2-1 in ETSI GS NFV-IFA 011).\n",
@@ -209,14 +279,20 @@
							"vnfdFormat": {
								"description": "Name of the VNFD format.\nPermitted values:\n  - TOSCA: The VNFD follows TOSCA definition, according to ETSI\n  GS NFV-SOL 001 standard.\n  - YANG: The VNFD follows YANG definition according to ETSI\n  GS NFV-SOL 006 standard.\n",
								"type": "string",
								"enum": ["TOSCA", "YANG"]
								"enum": [
									"TOSCA",
									"YANG"
								]
							},
							"standardVersion": {
								"description": "A version.\n",
								"type": "string"
							}
						},
						"required": ["vnfdFormat", "standardVersion"]
						"required": [
							"vnfdFormat",
							"standardVersion"
						]
					},
					"minItems": 1
				}
@@ -225,7 +301,12 @@
		"vimSpecificInfo": {
			"description": "This type represents information attributes specific to a VIM entity, and that can be relevant to more than one NFV MANO service offered by a VIM entity. It shall comply with the provisions defined in table 5.6.3.6-1. The present document version does not specify the support for \"maximum number of virtualised resources (attribute \"maxVirtualResourceNum\")\" as specified in clause 7.2.9.2 of ETSI GS NFV IFA 031 [1].\nNOTE:\tRecommendations on appropriate algorithms and key lengths are given e.g., in NIST Special Publication 800-57 Part 3 Revision 1 [i.26] or in documents related to local legislation.\n",
			"type": "object",
			"required": ["imageContainerFormats", "imageDiskFormats", "imageSignatureVerification", "imageDigestAlgorithms"],
			"required": [
				"imageContainerFormats",
				"imageDiskFormats",
				"imageSignatureVerification",
				"imageDigestAlgorithms"
			],
			"properties": {
				"imageContainerFormats": {
					"description": "List of supported image container formats. Container format indicates whether a software image is in a file that also contains metadata about the actual software. Valid values are all values for \"container_format\" as defined in ETSI GS NFV-SOL 001 [16] and all values for \"container-format\" as defined in ETSI GS NFV-SOL 006 [i.17].\n",
@@ -244,7 +325,9 @@
				"imageSignatureVerification": {
					"description": "Information about the supported mechanisms, algorithms, and protocols for verifying the signature of software images.\n",
					"type": "object",
					"required": ["signatureVerificationAlgorithms"],
					"required": [
						"signatureVerificationAlgorithms"
					],
					"properties": {
						"additionalVerificationCapabilities": {
							"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",
@@ -255,14 +338,17 @@
							"type": "array",
							"items": {
								"type": "object",
								"required": ["algorithm", "keyLengths"],
								"required": [
									"algorithm",
									"keyLengths"
								],
								"properties": {
									"algorithm": {
										"description": "The name of the algorithm. Permitted values are: \"RSA\", \"DSA\", \"ECDSA\".\n",
										"type": "string"
									},
									"keyLengths": {
										"description": "List of supported key lengths of the algorithm. The key length indicates the number of bits, such as “256”, “512”, etc. See note.\n",
										"description": "List of supported key lengths of the algorithm. The key length indicates the number of bits, such as “256”, “512”, etc. See note.\n",
										"type": "array",
										"items": {
											"type": "string"
@@ -282,14 +368,17 @@
					"type": "array",
					"items": {
						"type": "object",
						"required": ["algorithm", "keyLengths"],
						"required": [
							"algorithm",
							"keyLengths"
						],
						"properties": {
							"algorithm": {
								"description": "The name of the algorithm. Permitted values are: “SHA2“,“SHA3“.\n",
								"description": "The name of the algorithm. Permitted values are: “SHA2“,“SHA3“.\n",
								"type": "string"
							},
							"keyLengths": {
								"description": "List of supported key lengths of the algorithm. The key length indicates the number of bits, such as “256”, “512”, etc. See note.\n",
								"description": "List of supported key lengths of the algorithm. The key length indicates the number of bits, such as “256”, “512”, etc. See note.\n",
								"type": "array",
								"items": {
									"type": "string"
@@ -303,12 +392,18 @@
		"wimSpecificInfo": {
			"description": "This type represents information attributes specific to a WIM entity, and that can be relevant to more than one NFV MANO service offered by a WIM entity.\n",
			"type": "object",
			"required": ["maxMscsNums", "maxMsncNum", "mscsLayerProtocolSupport"],
			"required": [
				"maxMscsNums",
				"maxMsncNum",
				"mscsLayerProtocolSupport"
			],
			"properties": {
				"maxMscsNums": {
					"description": "Maximum number of MSCS that the WIM can manage.\n",
					"type": "object",
					"required": ["numMscs"],
					"required": [
						"numMscs"
					],
					"properties": {
						"numMscs": {
							"description": "Maximum number of MSCS.\n",
@@ -323,7 +418,9 @@
				"maxMsncNum": {
					"description": "Maximum number of MSNC that the WIM can manage\n",
					"type": "object",
					"required": ["numMsnc"],
					"required": [
						"numMsnc"
					],
					"properties": {
						"numMsnc": {
							"description": "Maximum number of MSNC..\n",
@@ -336,26 +433,153 @@
					}
				},
				"mscsLayerProtocolSupport": {
					"description": "List of protocols of particular layers used to realize an MSCS that are supported by the WIM.\nPermitted values:  - EVPN_BGP_MPLS: L2 MSCS realized by BGP MPLS-based Ethernet VPN (EVPN) as specified in IETF RFC 7432.\n  - EVPN_VPWS: L2 MSCS realized by EVPN Virtual Private Wire Service (VPWS) as specified in IETF RFC 8214.\n  - VPLS_BGP: L2 MSCS realized by Virtual Private LAN Service (VPLS) using BGP as specified\n    in IETF RFC 4761 and IETF RFC.\n  - VPLS_LDP_L2TP: L2 MSCS realized by VPLS using Label Distribution Protocol (LDP) Layer 2\n    Tunnelling Protocol (L2TP) as specified in IETF RFC 4762 and IETF RFC 6074.\n  - VPWS_LDP_L2TP: L2 MSCS realized by VPWS using LDP L2TP as specified in IETF RFC 6074.\n  - BGP_IP_VPN: L3 MSCS realized by BGP/MPLS based IP VPN as specified in IETF RFC 4364.\n",
					"description": "List of protocols of particular layers used to realize an MSCS that are supported by the WIM.\nPermitted values:\n  - EVPN_BGP_MPLS: L2 MSCS realized by BGP MPLS-based Ethernet VPN (EVPN) as specified in IETF RFC 7432.\n  - EVPN_VPWS: L2 MSCS realized by EVPN Virtual Private Wire Service (VPWS) as specified in IETF RFC 8214.\n  - VPLS_BGP: L2 MSCS realized by Virtual Private LAN Service (VPLS) using BGP as specified\n    in IETF RFC 4761 and IETF RFC.\n  - VPLS_LDP_L2TP: L2 MSCS realized by VPLS using Label Distribution Protocol (LDP) Layer 2\n    Tunnelling Protocol (L2TP) as specified in IETF RFC 4762 and IETF RFC 6074.\n  - VPWS_LDP_L2TP: L2 MSCS realized by VPWS using LDP L2TP as specified in IETF RFC 6074.\n  - BGP_IP_VPN: L3 MSCS realized by BGP/MPLS based IP VPN as specified in IETF RFC 4364.\n",
					"type": "string",
					"enum": ["EVPN_BGP_MPLS", "EVPN_VPWS", "VPLS_BGP", "VPLS_LDP_L2TP", "VPWS_LDP_L2TP", "BGP_IP_VPN"]
					"enum": [
						"EVPN_BGP_MPLS",
						"EVPN_VPWS",
						"VPLS_BGP",
						"VPLS_LDP_L2TP",
						"VPWS_LDP_L2TP",
						"BGP_IP_VPN"
					]
				}
			}
		},
		"cismSpecificInfo": {
			"description": "This type represents information attributes specific to a CISM entity, and that  can be relevant to more than one NFV-MANO service offered by a CISM entity. It  shall comply with the provisions defined in table 5.6.3.14-1.  NOTE:\tNo attributes are specified in the present document version. The definition of attributes is left for future specification. \n",
			"type": "object",
			"properties": {
				"none": {
					"type": "object"
				}
			}
		},
		"cirSpecificInfo": {
			"description": "This type represents information attributes specific to a CIR entity, and that can be relevant to more than one NFV- MANO service offered by a CIR entity. It shall comply with the provisions defined in table 5.6.3.15-1. NOTE: Recommendations on appropriate algorithms and key lengths are given e.g. in NIST Special Publication 800-57 \n      Part 3 Revision 1 or in documents related to local legislation.\n",
			"type": "object",
			"required": [
				"osContainerImageFormats",
				"imageSignatureVerification",
				"imageDigestAlgorithms"
			],
			"properties": {
				"osContainerImageFormats": {
					"description": "List of supported OS container image formats. Valid values are all values for \"container_format\" as defined in ETSI GS NFV-SOL 001 and all values for \"container-format\" as defined in ETSI GS NFV-SOL 006.\n",
					"type": "array",
					"minItems": 1,
					"items": {
						"type": "string"
					}
				},
				"imageSignatureVerification": {
					"description": "Information about the supported mechanisms, algorithms, and protocols for verifying the of software images.\n",
					"type": "object",
					"required": [
						"signatureVerificationAlgorithms"
					],
					"properties": {
						"signatureVerificationAlgorithms": {
							"description": "List of algorithms for verifying the signature of software images  that are supported by the CIR.\n",
							"type": "array",
							"items": {
								"description": "List of algorithms for verifying the signature of software images that are supported by the CIR.\n",
								"type": "object",
								"required": [
									"algorithm",
									"keyLengths"
								],
								"properties": {
									"algorithm": {
										"description": "The name of the algorithm. Permitted values are: \"RSA\", \"DSA\", \"ECDSA\".\n",
										"type": "string"
									},
									"keyLengths": {
										"description": "List of supported key lengths of the algorithm. The key length indicates the number of bits, such as \"256\", \"512\", etc. See note\n",
										"type": "array",
										"minItems": 1,
										"items": {
											"type": "string"
										}
									},
									"additionalAlgParams": {
										"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"
									}
								}
							}
						}
					}
				},
				"imageDigestAlgorithms": {
					"type": "array",
					"items": {
						"description": "List of supported digest algorithms that can be used for digital signatures.\n",
						"type": "object",
						"required": [
							"algorithm",
							"keyLengths"
						],
						"properties": {
							"algorithm": {
								"description": "The name of the algorithm. Permitted values are: \"SHA2\", \"SHA3\".\n",
								"type": "string",
								"enum": [
									"SHA2",
									"SHA3"
								]
							},
							"keyLengths": {
								"description": "List of supported key lengths of the algorithm. The key length indicates the number of bits, such as \"256\", \"512\", etc. See note.\n",
								"type": "array",
								"items": {
									"type": "string"
								}
							}
						}
					}
				}
			}
		},
		"ccmSpecificInfo": {
			"description": "The supported cluster resource management modes. Available modes include: virtual and bare-metal resources, and for both types, on-demand (i.e., CCM requests to corresponding infrastructure managers to build  necessary pools of resources) or pooled (i.e., CCM manages resources from pre-allocated resource pools).  Multiple values can be specified. See note.  Permitted values: - VIRTUAL-ON-DEMAND: virtual resourceson demand. - VIRTUAL-POOLED: virtual resources from a pre-allocated resource pool. - BARE-METAL-ON-DEMAND: bare-metal resources on demand. - BARE-METAL-POOLED: bare-metal resources from a pre-allocated resource pool.\nNOTE: Hybrid CIS clusters include both physical and virtual CIS cluster nodes and can be supported by a\n      combination of relevant \"clusterResourceMgmtModes\".\n",
			"type": "object",
			"required": [
				"clusterResourceMgmtModes"
			],
			"properties": {
				"clusterResourceMgmtModes": {
					"type": "array",
					"minItems": 1,
					"items": {
						"type": "string",
						"enum": [
							"VIRTUAL-ON-DEMAND",
							"VIRTUAL-POOLED",
							"BARE-METAL-ON-DEMAND",
							"BARE-METAL-POOLED"
						]
					}
				}
			}
		},
		"_links": {
			"description": "Links to resources related to this resource.\n",
			"type": "object",
			"required": ["self", "manoServiceInterfaces", "peerEntities", "changeState", "changeStateOpOccs"],
			"required": [
				"self",
				"manoServiceInterfaces",
				"peerEntities",
				"changeState",
				"changeStateOpOccs"
			],
			"properties": {
				"self": {
					"description": "This type represents a link to a resource using an absolute URI.\n",
					"type": "object",
					"required": ["href"],
					"required": [
						"href"
					],
					"properties": {
						"href": {
							"description": "String formatted according to IETF RFC 3986.\n",
@@ -366,7 +590,9 @@
				"manoServiceInterfaces": {
					"description": "This type represents a link to a resource using an absolute URI.\n",
					"type": "object",
					"required": ["href"],
					"required": [
						"href"
					],
					"properties": {
						"href": {
							"description": "String formatted according to IETF RFC 3986.\n",
@@ -377,7 +603,9 @@
				"peerEntities": {
					"description": "This type represents a link to a resource using an absolute URI.\n",
					"type": "object",
					"required": ["href"],
					"required": [
						"href"
					],
					"properties": {
						"href": {
							"description": "String formatted according to IETF RFC 3986.\n",
@@ -388,7 +616,9 @@
				"changeState": {
					"description": "This type represents a link to a resource using an absolute URI.\n",
					"type": "object",
					"required": ["href"],
					"required": [
						"href"
					],
					"properties": {
						"href": {
							"description": "String formatted according to IETF RFC 3986.\n",
@@ -399,7 +629,9 @@
				"changeStateOpOccs": {
					"description": "This type represents a link to a resource using an absolute URI.\n",
					"type": "object",
					"required": ["href"],
					"required": [
						"href"
					],
					"properties": {
						"href": {
							"description": "String formatted according to IETF RFC 3986.\n",
+2 −1
Changes for SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoServiceInterface.schema.json: 2 added lines, 1 removed line.
Original line number Diff line number Diff line
@@ -133,12 +133,13 @@
      ],
      "properties": {
        "authType": {
          "description": "Type of API request authorization to be used by the API producer.\nThe support of authorization methods for the API producer is specified  in clause 8.3.6 of ETSI GS NFV-SOL 013.\nPermitted values:\n  - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246.\n  - OAUTH2: Using access token, as defined by the OAuth 2.0 specification \n  in IETF RFC 6749. \n",
          "description": "Type of API request authorization to be used by the API producer.\nThe support of authorization methods for the API producer is specified in clause 8.3.6 of ETSI GS NFV-SOL 013.\nPermitted values:\n  - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246.\n  - TLS_TUNNEL_13: Using TLS tunnel, as defined by TLS 1.3 in IETF RFC 8446.\n  - OAUTH2: Using access token, as defined by the OAuth 2.0 specification\n  in IETF RFC 6749.\n",
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "TLS_TUNNEL",
              "TLS_TUNNEL_13",
              "OAUTH2"
            ]
          },
+2 −1
Changes for SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoServiceInterfaceModifications.schema.json: 2 added lines, 1 removed line.
Original line number Diff line number Diff line
@@ -23,12 +23,13 @@
      ],
      "properties": {
        "authType": {
          "description": "Type of API request authorization to be used by the API producer.\nThe support of authorization methods for the API producer is specified  in clause 8.3.6 of ETSI GS NFV-SOL 013.\nPermitted values:\n  - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246.\n  - OAUTH2: Using access token, as defined by the OAuth 2.0 specification \n  in IETF RFC 6749. \n",
          "description": "Type of API request authorization to be used by the API producer.\nThe support of authorization methods for the API producer is specified in clause 8.3.6 of ETSI GS NFV-SOL 013.\nPermitted values:\n  - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246.\n  - TLS_TUNNEL_13: Using TLS tunnel, as defined by TLS 1.3 in IETF RFC 8446.\n  - OAUTH2: Using access token, as defined by the OAuth 2.0 specification\n  in IETF RFC 6749.\n",
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "TLS_TUNNEL",
              "TLS_TUNNEL_13",
              "OAUTH2"
            ]
          },
+2 −1
Changes for SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoServiceInterfaces.schema.json: 2 added lines, 1 removed line.
Original line number Diff line number Diff line
@@ -135,12 +135,13 @@
        ],
        "properties": {
          "authType": {
            "description": "Type of API request authorization to be used by the API producer.\nThe support of authorization methods for the API producer is specified  in clause 8.3.6 of ETSI GS NFV-SOL 013.\nPermitted values:\n  - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246.\n  - OAUTH2: Using access token, as defined by the OAuth 2.0 specification \n  in IETF RFC 6749. \n",
            "description": "Type of API request authorization to be used by the API producer.\nThe support of authorization methods for the API producer is specified in clause 8.3.6 of ETSI GS NFV-SOL 013.\nPermitted values:\n  - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246.\n  - TLS_TUNNEL_13: Using TLS tunnel, as defined by TLS 1.3 in IETF RFC 8446.\n  - OAUTH2: Using access token, as defined by the OAuth 2.0 specification\n  in IETF RFC 6749.\n",
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "TLS_TUNNEL",
                "TLS_TUNNEL_13",
                "OAUTH2"
              ]
            },
Loading
Loading