Newer
Older
"type": "array",
"items": {
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
"description": "This type represents an \"Individual VNF snapshot\" resource. The \"id\" attributed is used by the NFVO to index and\nidentify the VNF snapshots information resources that are accessible via the NFVO. The identifier is still\ngenerated by the VNFM and copied into the present \"VnfSnapshotInfo\" representing the \"Individual VNF snapshot\"\nresource hold by the NFVO.\n",
"type": "object",
"required": ["id"],
"properties": {
"id": {
"description": "An identifier with the intention of being globally unique.\n",
"type": "string"
},
"vnfSnapshotPkgId": {
"description": "An identifier with the intention of being globally unique.\n",
"type": "string"
},
"vnfSnapshot": {
"description": "This type represents a VNF Snapshot. It shall comply with the provisions defined in table 6.5.2.18-1.\n",
"type": "object",
"required": ["id", "vnfInstanceId", "triggeredAt", "createdAt", "vnfdId", "vnfInstance", "vnfcSnapshots"],
"properties": {
"id": {
"description": "An identifier with the intention of being globally unique.\n",
"type": "string"
},
"vnfInstanceId": {
"description": "An identifier with the intention of being globally unique.\n",
"type": "string"
},
"creationStartedAt": {
"description": "Date-time stamp. Representation: String formatted according 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"
},
"vnfdId": {
"description": "An identifier with the intention of being globally unique.\n",
"type": "string"
},
"vnfInstance": {
"description": "This type represents a VNF instance. It shall comply with the provisions defined in table 6.5.3.57-1.\nNOTE: Clause B.3.2 of ETSI GS NFV-SOL 003 provides examples illustrating the relationship among the different run-time information elements (CP, VL and link ports) used to represent the connectivity \n of a VNF.\n\nNOTE 1: Modifying the value of this attribute shall not be performed when conflicts exist between the previous and the newly referred VNF package, i.e. when the new VNFD is changed with respect to \n the previous VNFD in other aspects than merely referencing to other VNF software images. \n In order to avoid misalignment of the VnfInstance with the current VNF's on-boarded VNF Package, \n the values of attributes in the VnfInstance that have corresponding attributes in the VNFD shall \n be kept in sync with the values in the VNFD.\nNOTE 2: ETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications. NOTE 3: VNF configurable properties are sometimes also referred to as configuration parameters applicable to a VNF. Some of these are set prior to instantiation and cannot be modified if the VNF is instantiated, \n some are set prior to instantiation (are part of initial configuration) and can be modified later, \n and others can be set only after instantiation. The applicability of certain configuration may depend \n on the VNF and the required operation of the VNF at a certain point in time.\nNOTE 4: It is possible to have several ExtManagedVirtualLinkInfo for the same VNF internal VL in case of a multi-site VNF spanning several VIMs. The set of ExtManagedVirtualLinkInfo corresponding to the same \n VNF internal VL shall indicate so by referencing to the same VnfVirtualLinkDesc and externally-managed \n multi-site VL instance (refer to clause 6.5.3.59).\nNOTE 5: Even though externally-managed internal VLs are also used for VNF-internal connectivity, they shall not be listed in the \"vnfVirtualLinkResourceInfo\" attribute as this would be redundant.\n",
"type": "object",
"required": ["id", "vnfdId", "vnfProvider", "vnfProductName", "vnfSoftwareVersion", "vnfdVersion", "vnfPkgId", "instantiationState"],
"properties": {
"id": {
"description": "An identifier with the intention of being globally unique.\n",
"type": "string"
},
"vnfInstanceName": {
"description": "Name of the VNF instance. Modifications to this attribute can be requested using the \"ModifyVnfInfoData\" structure.\n",
"type": "string"
},
"vnfInstanceDescription": {
"description": "Human-readable description of the VNF instance. Modifications to this attribute can be requested using the \"ModifyVnfInfoData\" structure.\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. Representation: string of variable length.\n",
"type": "string"
},
"vnfdVersion": {
"description": "A Version. Representation: string of variable length.\n",
"type": "string"
},
"vnfPkgId": {
"description": "An identifier with the intention of being globally unique.\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 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"
},
"vimId": {
"description": "An identifier with the intention of being globally unique.\n",
"type": "string"
},
"instantiationState": {
"description": "The instantiation state of the VNF.\nPermitted values: - NOT_INSTANTIATED: The VNF instance is terminated or not instantiated. - INSTANTIATED: The VNF instance is instantiated.\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": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n",
"type": "string"
},
"vnfState": {
"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": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\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": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\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"
}
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
},
"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 6.5.3.70-1. NOTE 1:\tThe attributes \"associatedVnfcCpId\", \"associatedVipCpId\" and \"associatedVnfVirtualLinkId\" are mutually exclusive. Exactly one shall be present. NOTE 2:\tAn external CP instance is not associated to a link port in the cases indicated for the extLinkPorts attribute in clause 6.5.3.26.\n",
"type": "object",
"required": ["id", "cpdId"],
"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": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n",
"type": "string"
},
"cpConfigId": {
"description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\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",
"minItems": 1,
"items": {
"description": "This type describes the protocol layer(s) that a CP or SAP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in Table 6.5.3.58-1. NOTE:\tThis 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": "object",
"required": ["layerProtocol", "ipOverEthernet"],
"properties": {
"layerProtocol": {
"description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: - IP_OVER_ETHERNET\n\nSee note.\n",
"type": "string",
"enum": ["IP_OVER_ETHERNET"]
},
"ipOverEthernet": {
"description": "This type represents information about a network address that has been assigned.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n",
"type": "object",
"anyOf": [{
"required": ["macAddress"]
Loading full blame...