VnfSnapshotInfo.schema.json 165 KB
Newer Older
															}
														}
													},
													"containerNamespace": {
														"description": "The value of the namespace in which the MCIO corresponding to the resource is deployed.  This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise.\n",
														"type": "string"
													}
												}
											},
											"reservationId": {
												"description": "An identifier with the intention of being globally unique.\n",
												"type": "string"
											},
											"metadata": {
												"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 key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n",
												"type": "object"
											}
										}
									}
								},
								"mcioInfo": {
									"description": "Information on the MCIO(s) representing VNFC instance(s) realized by one or a set  of OS containers and created from the same VDU for the VNF instance.\n",
									"type": "array",
									"items": {
										"description": "This type provides information about an MCIO representing the set of VNFC instances realized by one or a set of OS containers which have been created based on the same VDU.\nNOTE 1 The type of MCIO as specified in the declarative descriptor of the MCIO, and that can be read from the CISM. EXAMPLE: In case of MCIOs managed by Kubernetes, the type of MCIO corresponds to the “kind” property of the declarative descriptor. NOTE 2  If the attribute additionalInfo is present, it may contain runtime information on the actual and desired state of the MCIO(s). NOTE 3  When the container infrastructure service is a Kubernetes® instance, the mcioId is the combined values from the kind  and name fields of the Kubernetes® resource object, separated by a slash. Example: \"Deployment/abcd\". NOTE 4 When the container infrastructure service is a Kubernetes® instance, the mcioName is the name field of the resource object.",
										"type": "object",
										"required": ["mcioId", "mcioName", "mcioNamespace", "vduId", "cismId", "mcioType", "desiredInstances", "availableInstances"],
										"properties": {
											"mcioId": {
												"description": "An identifier with the intention of being globally unique.\n",
												"type": "string"
											},
											"mcioName": {
												"description": "Human readable name of this MCIO. See note 4.\n",
												"type": "string"
											},
											"mcioNamespace": {
												"description": "Namespace of this MCIO.\n",
												"type": "string"
											},
											"vduId": {
												"description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n",
												"type": "string"
											},
											"cismId": {
												"description": "An identifier with the intention of being globally unique.\n",
												"type": "string"
											},
											"mcioType": {
												"description": "The type of MCIO. Specific values, their semantics and associated MCIO types are defined in clause 6.5.4.13. Additional values are also permitted. See note 1.\n",
												"type": "string"
											},
											"desiredInstances": {
												"description": "Number of desired MCIO instances.\n",
												"type": "integer"
											},
											"availableInstances": {
												"description": "Number of available MCIO instances\n",
												"type": "integer"
											},
											"additionalInfo": {
												"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 key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n",
												"type": "object"
											}
										}
									}
								}
							}
						},
						"metadata": {
							"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 key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n",
							"type": "object"
						},
						"extensions": {
							"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 key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n",
							"type": "object"
						}
					}
				},
				"vnfcSnapshots": {
					"description": "Information about VNFC Snapshots constituting this VNF Snapshot.\n",
					"type": "array",
					"items": {
						"description": "This type represents a VNFC Snapshot. It shall comply with the provisions defined in table 6.5.3.77-1. NOTE 1: The identifier of the compute snapshot resource is assigned during creation of a VNFC Snapshot being returned from the VIM as output data in the response message of the individual resource operations. This attribute shall only be present for a VNFC snapshot that has been newly created by the VNFM as a result of the \"Create VNF snapshot task\". NOTE 2: The identifier of the storage snapshot resource is assigned during creation of a VNFC snapshot being returned from the VIM as output data in the response message of the individual resource operations. This attribute shall only be present for a VNFC snapshot with an associated storage resource and that has been newly created by the VNFM as a result of the \"Create VNF snapshot task\".\n",
						"type": "object",
						"required": ["id", "vnfcInstanceId", "triggeredAt", "createdAt", "vnfcInfoId"],
						"properties": {
							"id": {
								"description": "An identifier with the intention of being globally unique.\n",
								"type": "string"
							},
							"vnfcInstanceId": {
								"description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n",
								"type": "string"
							},
							"creationStartedAt": {
								"description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n",
								"format": "date-time"
							},
							"creationFinishedAt": {
								"description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n",
								"format": "date-time"
							},
							"vnfcResourceInfoId": {
								"description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n",
								"type": "string"
							},
							"computeSnapshotResource": {
								"description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM.\nNOTE 1:\tThe value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM,  the CISM, the WIM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the  vimLevelResourceType is the type of resource, as would correspond to the ‘kind’ field if the  resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim,  NetworkAttachmentDefinition.  NOTE 2:\tWhen the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way:  * For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type.  * For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the ‘claimName’ field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is  defined inline in another template instead of in its own manifest.  * For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the ‘metadata.name’ field in Kubernetes® manifest. \n",
								"type": "object",
								"required": ["resourceId"],
								"properties": {
									"vimId": {
										"description": "An identifier with the intention of being globally unique.\n",
										"type": "string"
									},
									"resourceProviderId": {
										"description": "An identifier with the intention of being globally unique.\n",
										"type": "string"
									},
									"resourceId": {
										"description": "An identifier maintained by the VIM or the CISM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n",
										"type": "string"
									},
									"vimLevelResourceType": {
										"description": "Additional resource information which is specific to this resource and its type, and which  is available from the VIM or the CISM or the resource provider. See note 1.\n",
										"type": "string"
									},
									"vimLevelAdditionalResourceInfo": {
										"description": "This type represents additional resource information which resource and resource type specific, and which  is available from the VIM or the CISM or the resource provider. NOTE:\tAt least one attribute shall be present. \n",
										"type": "object",
										"properties": {
											"hostName": {
												"description": "Name of the host where the resource is allocated. It shall be present for compute resources in the  scope of the CISM and shall be absent otherwise. See note.\n",
												"type": "string"
											},
											"persistentVolume": {
												"description": "Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise.  See note.\n",
												"type": "string"
											},
											"additionalInfo": {
												"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 key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n",
												"type": "object"
											}
										}
									},
									"containerNamespace": {
										"description": "The value of the namespace in which the MCIO corresponding to the resource is deployed.  This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise.\n",
										"type": "string"
									}
								}
							},
							"storageSnapshotResources": {
								"description": "Reference to the \"VirtualStorageResourceInfo\" structure in the \"VnfInstance\" structure that represents the virtual storage resource. See note 2.\n",
								"type": "array",
								"items": {
									"type": "object",
									"required": ["storageResourceId"],
									"properties": {
										"storageResourceId": {
											"description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n",
											"type": "string"
										},
										"storageSnapshotResources": {
											"description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM.\nNOTE 1:\tThe value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM,  the CISM, the WIM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the  vimLevelResourceType is the type of resource, as would correspond to the ‘kind’ field if the  resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim,  NetworkAttachmentDefinition.  NOTE 2:\tWhen the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way:  * For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type.  * For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the ‘claimName’ field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is  defined inline in another template instead of in its own manifest.  * For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the ‘metadata.name’ field in Kubernetes® manifest. \n",
											"type": "object",
											"required": ["resourceId"],
											"properties": {
												"vimId": {
													"description": "An identifier with the intention of being globally unique.\n",
													"type": "string"
												},
												"resourceProviderId": {
													"description": "An identifier with the intention of being globally unique.\n",
													"type": "string"
												},
												"resourceId": {
													"description": "An identifier maintained by the VIM or the CISM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n",
													"type": "string"
												},
												"vimLevelResourceType": {
													"description": "Additional resource information which is specific to this resource and its type, and which  is available from the VIM or the CISM or the resource provider. See note 1.\n",
													"type": "string"
												},
												"vimLevelAdditionalResourceInfo": {
													"description": "This type represents additional resource information which resource and resource type specific, and which  is available from the VIM or the CISM or the resource provider. NOTE:\tAt least one attribute shall be present. \n",
													"type": "object",
													"properties": {
														"hostName": {
															"description": "Name of the host where the resource is allocated. It shall be present for compute resources in the  scope of the CISM and shall be absent otherwise. See note.\n",
															"type": "string"
														},
														"persistentVolume": {
															"description": "Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise.  See note.\n",
															"type": "string"
														},
														"additionalInfo": {
															"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 key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n",
															"type": "object"
														}
													}
												},
												"containerNamespace": {
													"description": "The value of the namespace in which the MCIO corresponding to the resource is deployed.  This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise.\n",
													"type": "string"
												}
											}
										}
									}
								}
							},
							"userDefinedData": {
								"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 key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n",
								"type": "object"
							}
						}
					}
				},
				"userDefinedData": {
					"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 key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n",
					"type": "object"
				}
			}
		},
		"_links": {
			"description": "Links to resources related to this resource.\n",
			"type": "object",
			"properties": {
				"self": {
					"description": "This type represents a link to a resource.\n",
					"type": "object",
					"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"
						}
					}
				}
			}
		}
	}