SOL002VNFLifecycleManagement_def.yaml 137 KB
Newer Older
1
2
3
4
5
6
7
# Copyright (c) ETSI 2017.
# https://forge.etsi.org/etsi-forge-copyright-notice.txt

definitions:
  VnfInstance:
    description: >
      This type represents a VNF instance.
8
9
10
      * NOTE: Clause B.3.2 provides examples illustrating the relationship among the different run-time 
            data types (CP, VL and link ports) used to represent the connectivity of a VNF.

Sana Zulfiqar's avatar
Sana Zulfiqar committed
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
      * NOTE 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 the previous VNFD in other aspects than merely referencing
                to other VNF software images. In order to avoid misalignment of the VnfInstance with
                the current VNF's on-boarded VNF package, the values of attributes in the VnfInstance
                that have corresponding attributes in the VNFD shall be kept in sync with the values in the VNFD.
      * NOTE 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, some are set prior to instantiation (are part of initial configuration)
                and can be modified later, and others can be set only after instantiation.
                The applicability of certain configuration may depend on the VNF and the required operation of
                the VNF at a certain point in time.
      * NOTE 4:	Upon creation of the VnfInstance structure, the VNFM shall create and initialize all child
                attributes of "vnfConfigurableProperties", "metadata" and "extensions" that were declared
                in the VNFD with a defined initial value. The defined initial values can be declared in the VNFD,
                and/or, in case of "metadata", obtained from the "CreateVnfRequest" structure. Child attributes of
                "vnfConfigurableProperties", "metadata" and "extensions" that have no defined initial value shall
                not be created, in order to be consistent with the semantics of the JSON Merge Patch method
                (see IETF RFC 7396) that interprets null values as deletion request.
      * NOTE 5:	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 VNF internal VL shall indicate so by referencing to the same VnfVirtualLinkDesc
                and externally-managed multi-site VL instance (refer to clause 5.5.3.5).
      * NOTE 6:	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.

38
39
40
41
42
43
44
45
46
    type: object
    required:
      - id
      - vnfdId
      - vnfProvider
      - vnfProductName
      - vnfSoftwareVersion
      - vnfdVersion
      - instantiationState
47
      - _links
48
49
50
51
    properties:
      id:
        description: >
          Identifier of the VNF instance.
52
        $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
53
54
55
56
57
58
59
60
61
62
63
64
      vnfInstanceName:
        description: >
          Name of the VNF instance.
          This attribute can be modified with the PATCH method.
        type: string
      vnfInstanceDescription:
        description: >
          Human-readable description of the VNF instance.
          This attribute can be modified with the PATCH method.
        type: string
      vnfdId:
        description: >
Sana Zulfiqar's avatar
Sana Zulfiqar committed
65
          Identifier of the VNFD on which the VNF instance is based. See note 1.
66
        $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
67
68
69
70
71
72
73
74
75
76
77
      vnfProvider:
        description: >
          Provider of the VNF and the VNFD. The value is copied from the VNFD.
        type: string
      vnfProductName:
        description: >
          Name to identify the VNF Product. The value is copied from the VNFD.
        type: string
      vnfSoftwareVersion:
        description: >
          Software version of the VNF. The value is copied from the VNFD.
78
        $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Version"
79
80
81
      vnfdVersion:
        description: >
          Identifies the version of the VNFD. The value is copied from the VNFD.
82
        $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Version"
83
84
      vnfConfigurableProperties:
        description: >
85
86
87
88
89
90
91
92
93
94
95
96
97
          Additional VNF-specific attributes that provide the current values 
          of the configurable properties of the VNF instance.
          These attributes represent values that are stored persistently in 
          the VnfInstance structure and that correspond to configuration 
          parameters of the VNF instance. 
          Modifying these attributes affects the configuration of the VNF 
          instance either directly (if the VNF instance is in INSTANTIATED 
          state at the time of the modification) or as part of the subsequent 
          VNF instantiation operation (if the VNF instance is in NOT_INSTANTIATED 
          state at the time of the modification).
          Configurable properties referred in these attributes shall be declared 
          in the VNFD. 
          The declaration of configurable properties in the VNFD can optionally 
Sana Zulfiqar's avatar
Sana Zulfiqar committed
98
99
          contain the specification of initial values. See note 2, note 3 and note 4. The VNFM
          shall reject requests to write configurable properties that are not declared in the
100
          VNFD with a "422 Unprocessable Content" error response as defined in clause 6.4 of ETSI GS NFV SOL 013.
101
102
103
104
105
106
107
108
109
          These configurable properties include the following standard attributes, 
          which are declared in the VNFD if auto-scaling and/or auto-healing are 
          supported by the VNF: 
            -	isAutoscaleEnabled: If present, the VNF supports auto-scaling. If set 
            to true, auto-scaling is currently enabled. If set to false, auto-scaling 
            is currently disabled.
            -	isAutohealEnabled: If present, the VNF supports auto-healing. If set 
            to true, auto-healing is currently enabled. If set to false, auto-healing 
            is currently disabled.
Sana Zulfiqar's avatar
Sana Zulfiqar committed
110
111
112
113
114
          These configurable properties can be initialized with default values from the VNFD (see note 4).
          Configurable properties can be modified with values passed in the request structures of certain
          LCM operations, such as the InstantiateVnfRequest structure.
          Further, these configurable properties can be created, modified or deleted with the PATCH method.
          In addition, the provisions in clause 5.7 shall apply.
115
        $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/KeyValuePairs"
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
      instantiationState:
        description: >
          The instantiation state of the VNF.
        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.
        type: object
        required:
          - flavourId
          - vnfState
          - extCpInfo
        properties:
          flavourId:
            description: >
              Identifier of the VNF deployment flavour applied to this VNF instance.
137
            $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnfd"
138
139
140
          vnfState:
            description: >
              The state of the VNF instance.
141
            $ref: "#/definitions/VnfOperationalStateType"
142
143
144
145
          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.
Sana Zulfiqar's avatar
Sana Zulfiqar committed
146
147
              This attribute shall be present if the VNF supports scaling.
              See clause B.2 for an explanation of VNF scaling.
148
149
            type: array
            items:
150
              $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/ScaleInfo"
151
152
153
154
155
156
          maxScaleLevels:
            description: >
              Maximum allowed scale levels of the VNF, one entry per aspect.
              This attribute shall be present if the VNF supports scaling.
            type: array
            items:
157
              $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/ScaleInfo"
158
159
          extCpInfo:
            description: >
160
161
162
              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.
163
164
165
            type: array
            minItems: 1
            items:
166
              $ref: "#/definitions/VnfExtCpInfo"
167
168
169
170
171
172
173
174
          vipCpInfo:
            description: >
              VIP CPs that are part of the VNF instance. Shall be present when that particular VIP
              CP of the VNFC instance is associated to an external CP of the VNF instance.

              May be present otherwise.
            type: array
            items:
175
              $ref: "#/definitions/VipCpInfo"
176
177
178
179
180
          extVirtualLinkInfo:
            description: >
              Information about the external VLs the VNF instance is connected to.
            type: array
            items:
181
              $ref: "#/definitions/ExtVirtualLinkInfo"
182
183
          extManagedVirtualLinkInfo:
            description: >
184
              Information about the externally managed internal VLs of the VNF instance. See note 5 and note 6.
185
186
187
188
              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
              VNF internal VL shall indicate so by referencing to the same VnfVirtualLinkDesc and externally-managed
              multi-site VL instance (refer to clause 5.5.3.5).
189
190
              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.
191
192
            type: array
            items:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
193
              $ref: "#/definitions/ExtManagedVirtualLinkInfo"
194
195
196
197
198
          monitoringParameters:
            description: >
              Active monitoring parameters.
            type: array
            items:
199
              $ref: "#/definitions/MonitoringParameter"
200
201
202
203
204
205
206
207
208
209
210
211
212
213
          localizationLanguage:
            description: >
              Information about localization language of the VNF (includes e.g.
              strings in the VNFD). The localization languages supported by a VNF
              can be declared in the VNFD, and localization language selection can
              take place at instantiation time.
              The value shall comply with the format defined in IETF RFC 5646.
            type: string
          vnfcResourceInfo:
            description: >
              Information about the virtualised compute and storage resources used
              by the VNFCs of the VNF instance.
            type: array
            items:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
214
              $ref: "#/definitions/VnfcResourceInfo"
215
          vnfVirtualLinkResourceInfo:
216
217
            description: >
              Information about the virtualised network resources used by the VLs
218
219
220
              of the VNF instance. See note 6.
              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.
221
222
            type: array
            items:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
223
              $ref: "#/definitions/VnfVirtualLinkResourceInfo"
224
          vnfVirtualStorageResourceInfo:
225
226
227
228
            description: >
              Information on the virtualised storage resource(s) used as storage for the VNF instance.
            type: array
            items:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
229
              $ref: "#/definitions/VirtualStorageResourceInfo"
230
231
232
233
234
          vnfcInfo:
            description: >
              Information about the VNFC instances.
            type: array
            items:
235
              $ref: "#/definitions/VnfcInfo"
236
237
      metadata:
        description: >
238
239
240
241
242
243
244
          Additional VNF-specific attributes that provide metadata describing the VNF instance.
          These attributes represent values that are stored persistently in the VnfInstance 
          structure for consumption by functional blocks that invoke the VNF lifecycle management 
          interface. They are not consumed by the VNFM, or the lifecycle management scripts.

          Modifying the values of these attributes has no effect on the VNF instance, it only 
          affects the information represented in the VnfInstance structure.
Sana Zulfiqar's avatar
Sana Zulfiqar committed
245
246
247
          Metadata that VNF provider foresees shall be declared in the VNFD. The declaration of metadata in
          the VNFD can optionally contain the specification of initial values. See note 2 and note 4. The VNFM shall
          accept requests to write metadata that are not  are declared in the VNFD.
248

Sana Zulfiqar's avatar
Sana Zulfiqar committed
249
          These attributes can be initialized with default values from VNFD (see note 4) and/or with values
250
251
          passed in the CreateVnfRequest structure (see clause 5.5.2.3).

Sana Zulfiqar's avatar
Sana Zulfiqar committed
252
          These attributes can be created, modified or removed with the PATCH method.
253
        $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/KeyValuePairs"
254
255
      extensions:
        description: >
Francesca Moscatelli's avatar
Francesca Moscatelli committed
256
257
258
259
260
261
262
263
264
          Additional VNF specific attributes that affect the lifecycle management of this VNF instance.
          These attributes represent values that are stored persistently in the VnfInstance structure for 
          consumption by the VNFM, or by the lifecycle management scripts during the execution of VNF 
          lifecycle management operations.
          
          All extensions that are allowed for the VNF are declared in the VNFD. The declaration of an 
          extension in the VNFD contains information on whether its presence is optional or required, 
          and optionally can specify an initial value. See note 2 and note 4. The VNFM shall reject 
          requests to write extension attributes that are not declared in the VNFD with a "422 Unprocessable 
265
          Content" error response as defined in clause 6.4 of ETSI GS NFV SOL 013.
Francesca Moscatelli's avatar
Francesca Moscatelli committed
266
267
268
269
270
271
272
273
274
275
276
277
278
          
          Modifying the values of these attributes has no direct effect on the VNF instance; however, the 
          modified attribute values can be considered during subsequent VNF lifecycle management operations, 
          which means that the modified values can indirectly affect the configuration of the VNF instance.
          
          These attributes can be initialized with default values from the VNFD (see note 4).
          
          These attributes can be modified with values passed in the request structures of certain LCM operations, 
          such as the InstantiateVnfRequest structure.
          
          Further, these attributes can be created, modified or deleted with the PATCH method. 
          
          In addition, the provisions in clause 5.7 shall apply.
279
        $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/KeyValuePairs"
280
281
282
283
284
285
286
287
288
      _links:
        description: >
          Links to resources related to this resource.
        type: object
        required:
          - self
        properties:
          self:
            description: URI of this resource.
289
            $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Link"
290
291
          indicators:
            description: Indicators related to this VNF instance, if applicable.
292
            $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Link"
293
294
          instantiate:
            description: >
295
              Link to the "Instantiate VNF task" resource, if the related operation
296
297
              is possible based on the current status of this VNF instance
              resource (i.e. VNF instance in NOT_INSTANTIATED state).
298
            $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Link"
299
300
          terminate:
            description: >
301
              Link to the "Terminate VNF task" resource, if the related operation
302
303
              is possible based on the current status of this VNF instance
              resource (i.e. VNF instance is in INSTANTIATED state).
304
            $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Link"
305
306
          scale:
            description: >
307
              Link to the "Scale VNF task" resource, if the related operation is
308
309
310
              supported for this VNF instance, and is possible based on the
              current status of this VNF instance resource (i.e. VNF instance
              is in INSTANTIATED state).
311
            $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Link"
312
313
          scaleToLevel:
            description: >
314
              Link to the "Scale VNF to Level task" resource, if the related
315
316
317
              operation is supported for this VNF instance, and is possible
              based on the current status of this VNF instance resource
              (i.e. VNF instance is in INSTANTIATED state).
318
            $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Link"
319
320
          changeFlavour:
            description: >
321
              Link to the "Change VNF flavour task" resource, if the related
322
323
324
              operation is supported for this VNF instance, and is possible
              based on the current status of this VNF instance resource
              (i.e. VNF instance is in INSTANTIATED state).
325
            $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Link"
326
327
          heal:
            description: >
328
              Link to the "Heal VNF task" resource, if the related operation is
329
330
331
              supported for this VNF instance, and is possible based on the
              current status of this VNF instance resource
              (i.e. VNF instance is in INSTANTIATED state).
332
            $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Link"
333
334
          operate:
            description: >
335
              Link to the "Operate VNF task" resource, if the related operation is
336
337
338
              supported for this VNF instance, and is possible based on the
              current status of this VNF instance resource
              (i.e. VNF instance is in INSTANTIATED state).
339
            $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Link"
340
341
          changeExtConn:
            description: >
342
              Link to the "Change external VNF connectivity task" resource, if the related
343
344
              operation is possible based on the current status of this VNF
              instance resource (i.e. VNF instance is in INSTANTIATED state).
345
            $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Link"
346
347
348
349
350
          createSnapshot:
            description: >
              Link to the "Create VNF snapshot task" resource, if the related operation is
              supported for this VNF instance and is possible based on the current status of
              this VNF instance resource (i.e., VNF instance is in INSTANTIATED state).
351
            $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Link"
352
353
354
355
356
          revertToSnapshot:
            description: >
              Link to the "Revert to VNF snapshot task" resource, if the related operation is
              supported for this VNF instance and is possible based on the current status of this
              VNF instance resource (i.e., VNF instance is in INSTANTIATED state).
357
            $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Link"
358
359
360
361
362
          changeCurrentVnfPkg:
            description: >
              Link to the "Change current VNF package task" resource, if the related operation is 
              possible based on the current status of this VNF instance resource (i.e. VNF instance is 
              in INSTANTIATED state).
363
            $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Link"
364
            
365
  InstantiateVnfRequest:
Sana Zulfiqar's avatar
Sana Zulfiqar committed
366
367
368
369
370
371
372
    description: >
      This type represents request parameters for the "Instantiate VNF" operation.
      * NOTE: The indication of externally-managed internal VLs is needed in case networks have been
              pre-configured for use with certain VNFs, for instance to ensure that these networks have certain
              properties such as security or acceleration features, or to address particular network topologies.
              The present document assumes that externally-managed internal VLs are managed by the NFVO and
              created towards the VIM.
373
374
    type: object
    required:
375
      - flavourId
376
    properties:
377
378
379
      flavourId:
        description: >
          Identifier of the VNF deployment flavour to be instantiated.
380
        $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnfd"
381
382
      instantiationLevelId:
        description: >
383
384
385
          Identifier of the instantiation level of the deployment flavour to be instantiated. If not present, 
          the default instantiation level as declared in the VNFD is instantiated.
        $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnfd"
386
387
      extVirtualLinks:
        description: >
388
389
390
391
392
393
          Information about external VLs to connect the VNF to, including configuration information 
          for the CPs via which the VNF instance can attach to this VL.
          The following applies to the "ExtVirtualLinkData" information provided in this request: Even 
          if the VNF is not instantiated in fully scaled-out state, the API consumer shall provide enough 
          CP configuration records to allow connecting the VNF instance, fully scaled out in all scaling 
          aspects, to the external VLs.
394
395
        type: array
        items:
396
          $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/ExtVirtualLinkData"
397
398
      extManagedVirtualLinks:
        description: >
Sana Zulfiqar's avatar
Sana Zulfiqar committed
399
          Information about external VLs to connect the VNF to. See note.
400
401
        type: array
        items:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
402
          $ref: "#/definitions/ExtManagedVirtualLinkData"
403
404
405
406
407
      localizationLanguage:
        description: >
          Localization language of the VNF to be instantiated. The value shall
          comply with the format defined in IETF RFC 5646.
        type: string
408
409
410
      additionalParams:
        description: >
          Additional input parameters for the instantiation process, specific
411
          to the VNF being instantiated, as declared in the VNFD as part of
412
          "InstantiateVnfOpConfig" defined in ETSI GS NFV-IFA 011.
413
        $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/KeyValuePairs"
414
415
      extensions:
        description: >
416
417
418
          If present, this attribute provides modifications to the default values, as obtained from the VNFD, of the
          "extensions" attribute in "VnfInstance", as defined in clause 5.5.2.2. Provisions for handling extensions
          during the operation are defined in clause 5.4.4.3.1.
419
        $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/KeyValuePairs"
420
421
      vnfConfigurableProperties:
        description: >
Francesca Moscatelli's avatar
Francesca Moscatelli committed
422
423
          If present, this attribute provides modifications to the default values, as obtained from the VNFD, of the 
          "vnfConfigurableProperties" attribute in "VnfInstance", as defined in clause 5.5.2.2. 
424
          Provisions for handling configurable properties during the operation are defined in clause 5.4.4.3.1.
425
        $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/KeyValuePairs"
426
427
428
429

  ChangeVnfFlavourRequest:
    description: >
      This type represents request parameters for the "Change VNF flavour" operation.
Sana Zulfiqar's avatar
Sana Zulfiqar committed
430
431
432
433
434
      * NOTE:	The indication of externally-managed internal VLs is needed in case networks have been
                pre-configured for use with certain VNFs, for instance to ensure that these networks have certain
                properties such as security or acceleration features, or to address particular network topologies.
                The present document assumes that externally-managed internal VLs are managed by the NFVO and
                created towards the VIM.
435
436
437
438
439
440
441
    type: object
    required:
      - newFlavourId
    properties:
      newFlavourId:
        description: >
          Identifier of the VNF deployment flavour to be instantiated.
442
        $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnfd"
443
444
445
446
447
      instantiationLevelId:
        description: >
          Identifier of the instantiation level of the deployment flavour to
          be instantiated. If not present, the default instantiation level as
          declared in the VNFD is instantiated.
448
        $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnfd"
449
450
      extVirtualLinks:
        description: >
451
452
453
454
455
456
457
458
459
          Information about external VLs to connect the VNF to, including configuration information 
          for the CPs via which the VNF instance can attach to this VL. 
          Entries in the list of external VLs that are unchanged need not be supplied as part of 
          this request.
          The following applies to the "ExtVirtualLinkData" information provided in this request, together 
          with the related "ExtVirtualLinkInfo" information known to the VNFM represented in the "VnfInstance" 
          structure (see clause 5.5.2.2): Even if the VNF is not in fully scaled-out state after changing the 
          flavour, the API consumer shall provide enough CP configuration records to allow connecting the VNF 
          instance, fully scaled out in all scaling aspects, to the external VLs.
460
461
        type: array
        items:
462
          $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/ExtVirtualLinkData"
463
464
      extManagedVirtualLinks:
        description: >
Sana Zulfiqar's avatar
Sana Zulfiqar committed
465
          Information about external VLs to connect the VNF to. See note.
466
467
        type: array
        items:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
468
          $ref: "#/definitions/ExtManagedVirtualLinkData"
469
470
      additionalParams:
        description: >
471
472
          Additional input parameters for the flavour change process, specific to the VNF being modified, as 
          declared in the VNFD as part of "ChangeVnfFlavourOpConfig" defined in ETSI GS NFV-IFA 011.
473
        $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/KeyValuePairs"
474
475
476
477
478
      extensions:
        description: >
          If present, this attribute provides modifications to the values of the "extensions" attribute in "VnfInstance",
          as defined in clause 5.5.2.2. Provisions for handling extensions during the operation, are defined in clause
          5.4.7.3.1.
479
        $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/KeyValuePairs"
480
481
      vnfConfigurableProperties:
        description: >
482
483
          If present, this attribute provides modifications to the values of the “vnfConfigurableProperties” attribute in
          "VnfInstance", as defined in clause 5.5.2.2. Provisions for handling VNF configurable properties during the
484
          operation, are defined in clause 5.4.7.3.1.
485
        $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/KeyValuePairs"
486

487
  TerminateVnfRequest:
Sana Zulfiqar's avatar
Sana Zulfiqar committed
488
489
490
491
492
493
    description: >
      This type represents request parameters for the "Terminate VNF" operation.
      * NOTE:	In case of forceful termination, the VNF instance is terminated immediately.
                If the VNF is still in service, this can adversely impact the network service,
                and therefore, the EM needs to determine if forceful termination is applicable
                in the particular situation.
494
495
496
497
498
499
    type: object
    required:
      - terminationType
    properties:
      terminationType:
        description: >
Sana Zulfiqar's avatar
Sana Zulfiqar committed
500
          Indicates the type of termination is requested. See note.
501
          Permitted values:
502
503
504
505
506
          * FORCEFUL: The VNFM will shut down the VNF and release the resources immediately after accepting the request.
          * GRACEFUL: The VNFM will first arrange to take the VNF out of service after accepting the request. Once the
            operation of taking the VNF out of service finishes (irrespective of whether it has succeeded or failed) or
            once the timer value specified in the "gracefulTerminationTimeout" attribute expires, the VNFM will shut down
            the VNF and release the resources.
507
508
509
        type: string
        enum:
          - FORCEFUL
510
511
512
513
514
515
516
517
518
          - GRACEFUL
      gracefulTerminationTimeout:
        description: >
          This attribute is only applicable in case of graceful termination. It defines the time to wait for the VNF to be
          taken out of service before shutting down the VNF and releasing the resources.
          The unit is seconds. If not given and the "terminationType" attribute is set to "GRACEFUL", it is expected that
          the VNFM waits for the successful taking out of service of the VNF, no matter how long it takes, before shutting
          down the VNF and releasing the resources.
        type: integer
519
520
      additionalParams:
        description: >
521
522
          Additional parameters passed by the EM as input to the termination process, specific to the VNF being terminated, 
          as declared in the VNFD as part of "TerminateVnfOpConfig" defined in ETSI GS NFV-IFA 011.
523
        $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/KeyValuePairs"
524

525
526
527
528
529
  HealVnfRequest:
    type: object
    properties:
      vnfcInstanceId:
        description: >
530
531
532
          List of identifiers of VNFC instances for which a healing action is requested. Each identifier references the
          "id" attribute in a "VnfcInfo" structure. Cardinality can be "0" to denote that the request applies to the
          whole VNF and not a specific VNFC instance.
533
534
        type: array
        items:
535
          $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
536
537
538
539
540
541
      cause:
        description: >
          Indicates the reason why a healing procedure is required.
        type: string
      additionalParams:
        description: >
542
543
          Additional parameters passed by the EM as input to the healing process, specific to the VNF being healed as 
          declared in the VNFD as part of "HealVnfOpConfig" defined in ETSI GS NFV-IFA 011.
544
        $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/KeyValuePairs"
545
546
547
548
549
550
551
552
553
      healScript:
        description: >
          Provides link to a script that should be executed as part
          of the healing action or a set of rules for healing procedure.
        type: string

  OperateVnfRequest:
    description: >
      This type represents request parameters for the "Operate VNF" operation.
Sana Zulfiqar's avatar
Sana Zulfiqar committed
554
555
556
557
558
559
560
      * NOTE:	The "stopType" and "gracefulStopTimeout" attributes shall be absent, when the "changeStateTo"
                attribute is equal to "STARTED". The "gracefulStopTimeout" attribute shall be present, when the
                "changeStateTo" is equal to "STOPPED" and the "stopType" attribute is equal to "GRACEFUL".
                The "gracefulStopTimeout" attribute shall be absent, when the "changeStateTo" attribute is equal to
                "STOPPED" and the "stopType" attribute is equal to "FORCEFUL". The request shall be treated as if
                the "stopType" attribute has been set to "FORCEFUL", when the "changeStateTo" attribute is equal
                to "STOPPED" and the "stopType" attribute is absent.
561
562
563
564
565
566
    type: object
    required:
      - changeStateTo
    properties:
      vnfcInstanceId:
        description: >
567
568
          List of identifiers of VNFC instances. Each identifier references the "id" attribute in a "VnfcInfo" structure.
          Cardinality can be "0" to denote that the request applies to the whole VNF and not a specific VNFC instance.
569
570
        type: array
        items:
571
          $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
572
573
574
575
      changeStateTo:
        description: >
          The desired operational state (i.e. started or stopped) to change
          the VNF to.
576
        $ref: "#/definitions/VnfOperationalStateType"
577
578
      stopType:
        description: >
Sana Zulfiqar's avatar
Sana Zulfiqar committed
579
          It signals whether forceful or graceful stop is requested. See note
580
581
582
        type: string
        enum:
          - FORCEFUL
583
584
585
586
          - GRACEFUL
      gracefulStopTimeout:
        description: >
          The time interval (in seconds) to wait for the VNF to be taken out of service during graceful stop,
Sana Zulfiqar's avatar
Sana Zulfiqar committed
587
          before stopping the VNF. See note.
588
        type: integer
589
590
      additionalParams:
        description: >
591
592
          Additional parameters passed by the EM as input to the process, specific to the VNF of which the operation 
          status is changed, as declared in the VNFD as part of "OperateVnfOpConfig" defined in ETSI GS NFV-IFA 011.
593
        $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/KeyValuePairs"
594

595
596
597
598
599
  ChangeExtVnfConnectivityRequest:
    description: >
      This type represents request parameters for the
      "Change external VNF connectivity" operation to modify the external
      connectivity of a VNF instance.
600
601
    type: object
    required:
602
      - extVirtualLinks
603
    properties:
604
      extVirtualLinks:
605
        description: >
606
607
608
609
610
611
612
613
          Information about external VLs to change (e.g. connect the VNF to) including configuration information 
          for the CPs via which the VNF instance can attach to this VL.
          Entries in the list of external VLs that are unchanged need not be supplied as part of this request.
          The following applies to the "ExtVirtualLinkData" information provided in this request, together with the
          related "ExtVirtualLinkInfo" information known to the VNFM represented in the "VnfInstance" structure (see
          clause 5.5.2.2): Even if the VNF is not in fully scaled-out state, the API consumer shall provide enough CP
          configuration records to allow connecting the VNF instance, fully scaled out in all scaling aspects, to the
          external VLs.
614
615
        type: array
        items:
616
          $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/ExtVirtualLinkData"
617
618
      additionalParams:
        description: >
619
620
621
          Additional parameters passed by the EM as input to the process, specific to the VNF of which the 
          external connectivity is changed, as declared in the VNFD as part of "ChangeExtVnfConnectivityOpConfig" 
          defined in ETSI GS NFV-IFA 011.
622
        $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/KeyValuePairs"
623

624
  ChangeCurrentVnfPkgRequest:
625
626
627
    description: >
      This type represents request parameters for the "Change current VNF package" operation to replace the VNF package
      on which a VNF instance is based.
Sana Zulfiqar's avatar
Sana Zulfiqar committed
628
629
630
631
632
      * NOTE:	The indication of externally-managed internal VLs is needed in case networks have been
                pre-configured for use with certain VNFs, for instance to ensure that these networks have certain
                properties such as security or acceleration features, or to address particular network topologies.
                The present document assumes that externally-managed internal VLs are managed by the NFVO and created
                towards the VIM.
633
634
635
636
637
638
639
    type: object
    required:
      - vnfdId
    properties:
      vnfdId:
        description: >
          Identifier of the VNFD which defines the destination VNF Package for the change.
640
        $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
641
642
      extVirtualLinks:
        description: >
643
644
645
646
647
648
649
650
651
          Information about external VLs to connect the VNF to,  including configuration information for
          the CPs via which the VNF instance can attach to this VL.
          Entries in the list that are unchanged need not be supplied as part of this request.
          The following applies to the "ExtVirtualLinkData" information provided in this request, together
          with the related "ExtVirtualLinkInfo" information known to the VNFM represented in the
          "VnfInstance" structure (see clause 5.5.2.2): Even if the VNF is not in fully scaled-out state
          after the change of the VNF package, the API consumer shall provide enough CP configuration
          records to allow connecting the VNF instance, fully scaled out in all scaling aspects, to the
          external VLs.
652
653
        type: array
        items:
654
          $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/ExtVirtualLinkData"
655
656
      extManagedVirtualLinks:
        description: >
Sana Zulfiqar's avatar
Sana Zulfiqar committed
657
          Information about internal VLs that are managed by other entities than the VNFM. See note.
658
659
        type: array
        items:
Francesca Moscatelli's avatar
Francesca Moscatelli committed
660
          $ref: "#/definitions/ExtManagedVirtualLinkData"
661
662
663
      additionalParams:
        description: >
          Additional parameters passed by the EM as input to the process, specific to the VNF of which the underlying
664
          VNF package is changed, as declared in the VNFD as part of "ChangeCurrentVnfPkgOpConfig" defined in ETSI GS NFV-IFA 011.
665
        $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/KeyValuePairs"
666
      extensions:
667
        description: >
668
669
670
          If present, this attribute provides modifications to the values of the "extensions" attribute in "VnfInstance",
          as defined in clause 5.5.2.2. Provisions for handling extensions during the operation, and needed passed
          parameter values in case of conflicts, are defined in clause 5.4.11a.3.1.
671
        $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/KeyValuePairs"
672
673
      vnfConfigurableProperties:
        description: >
674
675
676
          If present, this attribute provides modifications to the values of the “vnfConfigurableProperties” attribute
          in "VnfInstance", as defined in clause 5.5.2.2. Provisions for handling VNF configurable properties during the
          operation, and needed passed parameter values in case of conflicts, are defined in clause 5.4.11a.3.1.
677
        $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/KeyValuePairs"
678

679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
  VnfInfoModificationRequest:
    description: >
      This type represents attribute modifications for an "Individual VNF instance" resource,
      i.e. modifications to a resource representation based on the "VnfInstance" data type.
      The attributes of "VnfInstance" that can be modified according to the provisions in clause 5.5.2.2
      are included in the "VnfInfoModificationRequest" data type.
    type: object
    properties:
      vnfInstanceName:
        description: >
          New value of the "vnfInstanceName" attribute in "VnfInstance", or "null" to remove the attribute.
        type: string
      vnfInstanceDescription:
        description: >
          New value of the "vnfInstanceDescription" attribute in "VnfInstance", or "null" to remove the attribute.
        type: string
      vnfdId:
        description: >
          New value of the "vnfdId" attribute in "VnfInstance". The value "null" is not permitted.
698
        $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
699
700
701
702
703
      vnfConfigurableProperties:
        description: >
          Modifications of the "vnfConfigurableProperties" attribute in "VnfInstance".
          If present, these modifications shall be applied according to the rules of
          JSON Merge PATCH (see IETF RFC 7396 [15]).
704
        $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/KeyValuePairs"
705
706
707
708
709
      metadata:
        description: >
          Modifications of the "metadattametadata" attribute in "VnfInstance".
          If present, these modifications shall be applied according to the rules of
          JSON Merge PATCH (see IETF  RFC  7396  [15]).
710
        $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/KeyValuePairs"
711
712
713
714
715
      extensions:
        description: >
          Modifications of the "extensions" attribute in "VnfInstance".
          If present, these modifications shall be applied according to the rules of
          JSON Merge PATCH (see IETF  RFC  7396  [15]).
716
        $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/KeyValuePairs"
717
718
719
      vnfcInfoModifications:
        description: >
          Modifications of certain entries in the "vnfcInfo" attribute array in the
Francesca Moscatelli's avatar
Francesca Moscatelli committed
720
          "instantiatedVnfInfo" attribute of "VnfInstance" to be used as "newList" as defined below this table.
Sana Zulfiqar's avatar
Sana Zulfiqar committed
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
          The following provisions shall apply when modifying an attribute that is an array of objects of type
          "VnfcInfo" by supplying an array of objects of type "VnfcInfoModifications".
          Assumptions:
          1)  "oldList" is the "VnfcInfo" array to be modified and "newList" is the "VnfcInfoModifications"
              array that contains the changes.
          2)  "oldEntry" is an entry in "oldList" and "newEntry" is an entry in "newList".
          3)  A "newEntry" has a "corresponding entry" if there exists an "oldEntry" that has the same content
              of the "id" attribute as the "newEntry"; a "newEntry" has no corresponding entry if no such "oldEntry" exists.
          4)  In any array of "VnfcInfo" resp. "VnfcInfoModifications" structures, the content of "id" is unique
              (i.e. there are no two entries with the same content of "id").
          Provisions:
          1)  For each "newEntry" in "newList" that has no corresponding entry in "oldList",
              the "oldList" array shall be modified by adding that "newEntry".
          2)  For each "newEntry" in "newList" that has a corresponding "oldEntry" in "oldList",
              the value of "oldEntry" shall be updated with the content of "newEntry" as specified for
              the data type of "newEntry (refer to clause 5.5.3.24 for the data type "VnfcInfoModifications").
737
738
        type: array
        items:
739
          $ref: "#/definitions/VnfcInfoModifications"
740
741

  CreateVnfSnapshotRequest:
742
    description: >
743
      This type represents request parameters for the "Create VNF Snapshot" LCM operation.
744
745
746
747
    type: object
    required:
      - vnfSnapshotResId
    properties:
748
      vnfSnapshotInfoId:
749
750
        description: >
          Identifier of the individual VNF snapshot resource to which the VNF Snapshot is to be associated.
751
        $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
752
753
      vnfcInstanceId:
        description: >
754
755
756
          Identifier of the VNFC instance to be snapshotted. Each identifier references the "id" attribute in a
          "VnfcInfo" structure. If this attribute is provided, only a snapshot of the referred VNFC instance shall
          be created.
757
        $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnf"
758
759
760
      additionalParams:
        description: >
          Additional input parameters for the snapshot creation process, specific for the VNF being “snapshotted”,
761
          as declared in the VNFD as part of "CreateSnapshotVnfOpConfig" defined in ETSI GS NFV-IFA 011.
762
        $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/KeyValuePairs"
763
764
765
      userDefinedData:
        description: >
          User defined data for the VNF snapshot.
766
        $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/KeyValuePairs"
767
768

  RevertToVnfSnapshotRequest:
769
770
    description: >
      This type represents request parameters for the "Revert-to VNF Snapshot" operation.
771
    type: object
772
    properties:
773
      vnfSnapshotInfoId:
774
        description: >
775
          Identifier of the “individual VNF snapshot” resource with the information of the VNF snapshot to be reverted to.
776
        $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
777
      vnfcInstanceId:
778
        description: >
779
780
          List of identifiers of the VNFC instance to be reverted. Each identifier references the "id" attribute in a
          "VnfcInfo" structure. Shall be present if the request is for reverting a specific VNFC instance.
781
        $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
782
      vnfcSnapshotInfoId:
783
        description: >
784
785
          Identifier of the VNFC snapshot information with the information of the VNFC snapshot to be reverted to.
          Shall only be present if the "vnfcInstanceId" is present.
786
        $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
787
      additionalParams:
788
        description: >
789
          Additional input parameters for the revert to VNF snapshot process, specific for the VNF being “reverted”,
790
          as declared in the VNFD as part of “RevertToSnapshotVnfOpConfig” defined in ETSI GS NFV-IFA 011.
791
        $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/KeyValuePairs"
792
793
794
795
796

  CreateVnfSnapshotInfoRequest:
    description: |
      This type represents request parameters for the creation of an "Individual VNF snapshot" resource which can be
      populated with content obtained by invoking the "Create VNF snapshot" LCM operation or extracted from a VNF
Sana Zulfiqar's avatar
Sana Zulfiqar committed
797
798
799
      snapshot package.
      * NOTE: The present attribute shall be provided if the "Individual VNF snapshot" resource
              is requested to be created and be filled from a VNF snapshot package extraction.
800
801
802
803
    type: object
    properties:
      vnfSnapshotPkgId:
        description: |
Sana Zulfiqar's avatar
Sana Zulfiqar committed
804
          Identifier of the VNF snapshot package information held by the NFVO. See note.
805
        $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
806

807
  VnfSnapshotInfo:
808
809
810
811
812
813
814
815
816
    description: >
      This type represents an individual VNF snapshot resource.
    type: object
    required:
      - id
    properties:
      id:
        description: >
          Identifier of the individual VNF snapshot resource. This identifier is allocated by the VNFM.
817
        $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
818
819
820
821
      vnfSnapshotPkgId:
        description: |
          Identifier of the VNF snapshot package information held by the EM. Shall be present when the
          “Individual VNF snapshot" resource is created from a VNF snapshot package extraction.
822
        $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
823
824
      vnfSnapshot:
        description: >
825
826
827
          Information about the VNF snapshot, content and/or references to its content. Shall be present when the
          individual VNF snapshot resource is associated to a VNF snapshot created via the corresponding "Create VNF
          snapshot" task resource or extracted from a VNF snapshot package.
828
        $ref: '#/definitions/VnfSnapshot'
829
830
831
832
833
834
835
836
837
838
      _links:
        description: >
          Links to resources related to this resource.
        type: object
        required:
          - self
        properties:
          self:
            description: >
              URI of this resource.
839
            $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Link"
840
841
842
843
844
          takenFrom:
            description: >
              Link to the VNF instance from which this snapshot was taken. Shall be present when the "Individual VNF
              snapshot" resource is associated to a VNF snapshot created via the corresponding "Create VNF snapshot"
              task resource.
845
            $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Link"
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861

  VnfSnapshot:
    description: >
      This type represents a VNF snapshot.
    type: object
    required:
      - id
      - vnfInstanceId
      - triggeredAt
      - vnfdId
      - vnfInfo
      - vnfcSnapshots
    properties:
      id:
        description: >
          Identifier of the VNF Snapshot. This identifier is allocated by the VNFM.
862
        $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
863
864
865
      vnfInstanceId:
        description: >
          Identifier of the snapshotted VNF instance.
866
        $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
867
      creationStartedAt:
868
        description: >
869
          Timestamp indicating when the VNF snapshot creation has been started by the VNFM.
870
        $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/DateTime"
871
      creationFinishedAt:
872
        description: >
873
874
          Timestamp indicating when the VNF snapshot has been completed by the VNFM.
          Shall be present once the VNF snapshot creation has been completed.
875
        $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/DateTime"
876
877
878
      vnfdId:
        description: >
          Identifier of the VNFD in use at the time the snapshot of the VNF instance has been created.
879
        $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
880
      vnfInstance:
881
        description: >
882
          VNF Instance information of the snapshotted VNF instance. This is a copy of the individual VNF instance resource.
883
884
885
886
887
888
889
890
891
892
        $ref: '#/definitions/VnfInstance'
      vnfcSnapshots:
        description: >
          Information about VNFC snapshots constituting this VNF snapshot.
        type: array
        items:
          $ref: '#/definitions/VnfcSnapshotInfo'
      userDefinedData:
        description: >
          User defined data for the VNF snapshot.
893
        $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/KeyValuePairs"
894

895
896
897
  VnfcSnapshotInfo:
    description: >
      This type represents a VNFC snapshot.
Sana Zulfiqar's avatar
Sana Zulfiqar committed
898
899
900
901
902
903
904
905
      * 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".
906
907
908
909
    type: object
    required:
      - id
      - vnfcInstanceId
910
911
      - creationStartedAt
      - vnfcResourceInfoId
912
913
914
915
916
    properties:
      id:
        description: >
          Identifier of the information held by the VNFM about a specific VNFC snapshot. This identifier is allocated by
          the VNFM and is unique within the scope of a VNF snapshot.
917
918
          The attribute also identifies the compute snapshot image associated
          to this VNFC snapshot within the context of a referred VNF snapshot.
919
        $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
920
921
922
      vnfcInstanceId:
        description: >
          Identifier of the snapshotted VNFC instance.
923
          The  identifier references the "id" attribute in a "VnfcInfo" structure.
924
        $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnf"
925
      creationStartedAt:
926
        description: >
927
          Timestamp indicating when the VNF snapshot creation has been started by the VNFM.
928
        $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/DateTime"
929
      creationFinishedAt:
930
931
        description: >
          Timestamp indicating when the VNFC snapshot has been completed. Shall be present once the VNFC snapshot
932
          creation has been completed by the VNFM.
933
        $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/DateTime"
934
      vnfcResourceInfoId:
935
        description: >
936
937
938
          Reference to the "VnfcResourceInfo" structure in the "VnfInstance" structure that represents the resources of
          the snapshotted VNFC instance. A snapshot of that structure is available in the "vnfInstance" attribute of the
          "VnfSnapshot" structure.
939
        $ref: "#/definitions/VnfcInfo"
940
941
      computeSnapshotResource:
        description: >
Sana Zulfiqar's avatar
Sana Zulfiqar committed
942
          Reference to a compute snapshot resource. See note 1.
943
        $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/ResourceHandle"
944
945
      storageSnapshotResources:
        description: >
946
947
948
949
950
951
952
953
          Mapping of the storage resources associated to the VNFC with the storage snapshot resources.
        type: object
        required:
          - storageResourceId
        properties:
          storageResourceId:
            description: >
              Reference to the "VirtualStorageResourceInfo" structure in the "VnfInstance" structure that represents
954
955
              the virtual storage resource. The attribute also identifies the storage snapshot image
              associated to this VNFC snapshot within the context of a referred VNF snapshot
956
            $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnf"
957
958
          storageSnapshotResource:
            description: >
Sana Zulfiqar's avatar
Sana Zulfiqar committed
959
              Reference to a storage snapshot resource. See note 2.
960
            $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/ResourceHandle"
961
962
963
      userDefinedData:
        description: >
          User defined data for the VNF snapshot.
964
        $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/KeyValuePairs"
965
966
967
968
969
970
971
972
973
974
975

  StopType:
    description: >
      The enumeration StopType.
      * FORCEFUL: The VNFM will stop the VNF instance or VNFC instance(s) immediately after accepting the request.
      * GRACEFUL: The VNFM will first arrange to take the VNF instance or VNFC instance(s) out of service after accepting
                  the request. Once that operation is successful or once the timer value specified in the "gracefulStopTimeout"
                  attribute expires, the VNFM will stop the VNF instance or VNFC instance(s).
    type: string
    enum:
      - FORCEFUL
Francesca Moscatelli's avatar
Francesca Moscatelli committed
976
977
978
      - GRACEFUL

  ExtManagedVirtualLinkData:
Sana Zulfiqar's avatar
Sana Zulfiqar committed
979
980
981
982
    description: >
      This type represents an externally-managed internal VL.
      * NOTE:	The information about the VIM connection referenced by the VIM connection id is known to the VNFM.
                Moreover, the identifier of the VIM connection provides scope to the resourceId.
Francesca Moscatelli's avatar
Francesca Moscatelli committed
983
984
985
986
987
988
989
990
991
992
993
    type: object
    required:
      - id
      - virtualLinkDescId
      - resourceId
    properties:
      id:
        description: >
          The identifier of the externally-managed internal VL instance. The
          identifier is assigned by the NFV-MANO entity that manages this VL
          instance.
994
        $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
Francesca Moscatelli's avatar
Francesca Moscatelli committed
995
996
997
      vnfVirtualLinkDescId:
        description: >
          The identifier of the VLD in the VNFD for this VL.
998
        $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnfd"
Francesca Moscatelli's avatar
Francesca Moscatelli committed
999
1000
      vimConnectionId:
        description: >
For faster browsing, not all history is shown. View entire blame