SOL005NSLifecycleManagement_def.yaml 270 KB
Newer Older
5001
5002
        description: >
          The identifier of the CPD in the VNFD.
piscione's avatar
piscione committed
5003
          See note 1.
5004
        $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInVnfd"
5005
5006
      cpConfig:
        description: >
5007
5008
5009
          Map of instance data that need to be configured on the CP instances created from the respective CPD.
          The key of the map which identifies the individual VnfExtCpConfig entries is managed by the API consumer.
          The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396).
piscione's avatar
piscione committed
5010
          See note 2 and note 3.
Francesca Moscatelli's avatar
Francesca Moscatelli committed
5011
5012
        type: object
        additionalProperties:
5013
5014
5015
5016
5017
5018
          $ref: "#/definitions/VnfExtCpConfig"

  ExtLinkPortData:
    description: >
      This type represents an externally provided link port to be used to
      connect an external connection point to an external VL.
piscione's avatar
piscione committed
5019
      NOTE:	The value of "trunkResourceId" is scoped by the value of "vimConnectionId" in the "resourceHandle" attribute.
5020
5021
5022
5023
5024
5025
5026
5027
5028
5029
5030
5031
5032
5033
    type: object
    required:
      - id
      - resourceHandle
    properties:
      id:
        description: >
          Identifier of this link port as provided by the entity that has
          created the link port.
        $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier"
      resourceHandle:
        description: >
          Reference to the virtualised resource realizing this link port.
        $ref: "../../definitions/SOL005_def.yaml#/definitions/ResourceHandle"
5034
5035
5036
5037
5038
      trunkResourceId:
        description: >
          Identifier of the trunk resource in the VIM.
          Shall be present if the present link port corresponds to the parent
          port that the trunk resource is associated with.
piscione's avatar
piscione committed
5039
          See note.
5040
        $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInVim"
5041
5042
5043
5044
5045
5046
5047
5048
5049

  VnfExtCpConfig:
    description: >
      This type represents an externally provided link port or network address
      information per instance of an external connection point. In case a link
      port is provided, the VNFM shall use that link port when connecting the
      external CP to the external VL. In a link port is not provided, the VNFM
      shall create a link port on the external VL, and use that link port to
      connect the external CP to the external VL.
piscione's avatar
piscione committed
5050
5051
5052
5053
5054
5055
5056
5057
5058
5059
5060
5061
5062
      NOTE 1:	The following conditions apply to the attributes "linkPortId" and "cpProtocolData":
        -	At least one of the "linkPortId" and "cpProtocolData" attributes shall be present for
        an external CP instance representing a subport that is to be created, or an external CP instance
        that is to be created by creating the corresponding VNFC or VNF instance during the current or
        a subsequent LCM operation, or for an existing external CP instance that is to be re-configured
        or added to a particular external virtual link.
        -	If the "cpProtocolData" attribute is absent, the "linkPortId" attribute shall be provided
       referencing a pre-created link port with pre-configured address information.
        -	If both "cpProtocolData" and "linkportId" are provided, the API consumer shall ensure that
        the cpProtocolData can be used with the pre-created link port referenced by "linkPortId".
      NOTE 2:	In case the NFVO manages its own identifier space, the NFVO may remap this identifier
      when communicating with the VNFM. If the NFVO knows that there can be an identifier collision
      when communicating with the VNFM by using the identifier from the OSS/BSS, the NFVO shall remap it.
5063
    type: object
5064
5065
5066
5067
5068
    anyOf:
      - required:
          - linkPortId
      - required:
          - cpProtocolData
5069
    properties:
5070
5071
      parentCpConfigId:
        description: >
5072
5073
          Value of the key that identifies  to the "VnfExtCpConfig" entry that corresponds to the parent port of the trunk.
          Only present in "VnfExtCpConfig" map structures which provide configuration information for a CP which represents
piscione's avatar
piscione committed
5074
          a subport in a trunk, and if parent ports are supported. See note 2.
5075
        $ref: "#/definitions/IdentifierInVnf"
5076
5077
5078
5079
      linkPortId:
        description: >
          Identifier of a pre-configured link port to which the external CP
          will be associated.
piscione's avatar
piscione committed
5080
          See note 1.
5081
        $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier"
5082
5083
5084
5085
5086
5087
5088
5089
      createExtLinkPort:
        description: >
          Indicates the need to create a dedicated link port for the external CP.
          If set to True, a link port is created. If set to False, no link port is created.
          This attribute is only applicable for external CP instances without a floating IP
          address that expose a VIP CP instance for which a dedicated IP address is allocated.
          It shall be present in that case and shall be absent otherwise.
        type: boolean
5090
5091
5092
5093
      cpProtocolData:
        description: >
          Parameters for configuring the network protocols on the link port
          that connects the CP to a VL.
piscione's avatar
piscione committed
5094
          See note 1.
5095
5096
5097
5098
        type: array
        items:
          $ref: "#/definitions/CpProtocolData"

5099
5100
5101
5102
5103
5104
5105
5106
5107
5108
5109
5110
5111
5112
5113
5114
5115
5116
5117
5118
5119
5120
5121
5122
5123
5124
5125
5126
5127
5128
5129
5130
5131
5132
5133
5134
5135
5136
5137
5138
5139
5140
5141
5142
5143
5144
5145
5146
  IdentifierInNs:
    description: >
      An identifier that is unique with respect to a NS. Representation: string of variable length.
    type: string

  IdentifierInNsd:
    description: >
      An identifier that is unique within a NS descriptor. Representation: string of variable length.
    type: string

  IdentifierInPnf:
    description: >
      An Identifier that is unique within respect to a PNF. Representation: string of variable length.
    type: string

  IdentifierInVim:
    description: >
      An identifier maintained by the VIM or other resource provider.
      It is expected to be unique within the VIM instance. Representation: string of variable length.
    type: string

  IdentifierInVnf:
    description: >
      An identifier that is unique for the respective type within a VNF
      instance, but may not be globally unique.
    type: string

  MacAddress:
    description: >
      A MAC address. Representation: string that consists of groups of two hexadecimal digits,
      separated by hyphens or colons.
    type: string
    format: MAC

  IpAddress:
    description: >
      An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal
      integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that
      consists of groups of zero to four hexadecimal digits, separated by colons.
    type: string
    format: IP

  IpAddressPrefix:
    description: >
      An IPV4 or IPV6 address range in CIDR format. For IPV4 address range, refer to IETF RFC 4632 [12].
      For IPV6 address range, refer to IETF RFC 4291.
    type: string

5147
5148
5149
5150
5151
5152
5153
5154
5155
5156
5157
5158
5159
5160
5161
5162
5163
5164
5165
5166
5167
5168
5169
5170
5171
5172
5173
5174
5175
5176
5177
5178
5179
5180
5181
5182
5183
5184
5185
5186
5187
5188
5189
5190
5191
  PortRange:
    description: >
      The PortRange data type provides the lower and upper bounds of a range of Internet ports.
      It shall comply with the provisions defined in Table 6.5.3.42-1.
    type: object
    required:
      - lowerPort
      - upperPort
    properties:
      lowerPort:
        description: >
          Identifies the lower bound of the port range. upperPort Integer
        type: integer
        minimum: 0
      upperPort:
        description: >
          Identifies the upper bound of the port range.
        type: integer
        minimum: 0

  Mask:
    description: >
      The Mask data type identifies the value to be matched for a sequence of
      bits at a particular location in a frame. It shall
      comply with the provisions defined in Table 6.5.3.41-1.
    type: object
    required:
      - startingPoint
      - length
      - value
    properties:
      startingPoint:
        description: >
          Indicates the offset between the last bit of the source
          mac address and the first bit of the sequence of bits
          to be matched.
        type: integer
      length:
        description: >
          Indicates the number of bits to be matched.
        type: integer
      value:
        description: >
          Provide the sequence of bit values to be matched.
        type: string
5192
5193
5194
5195
5196
5197
5198
5199
5200
5201
5202
5203
5204
5205
5206

  VnfSnapshotInfo:
    description: |
      This type represents an "Individual VNF snapshot" resource. The "id" attributed is used by the NFVO to index and
      identify the VNF snapshots information resources that are accessible via the NFVO. The identifier is still
      generated by the VNFM and copied into the present "VnfSnapshotInfo" representing the "Individual VNF snapshot"
      resource hold by the NFVO.
    type: object
    required:
      - id
    properties:
      id:
        description: >
          Identifier of the "Individual VNF snapshot" resource. This identifier is allocated by the VNFM.
        $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier"
5207
5208
5209
5210
5211
      vnfSnapshotPkgId:
        description: >
          Identifier of the VNF snapshot package information held by the NFVO. Shall be present when the
          "Individual VNF snapshot" resource is created from a VNF snapshot package extraction.
        $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier"
5212
5213
5214
5215
5216
5217
      vnfSnapshot:
        description: >
          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 on a VNFM, either created via the
          corresponding "Create VNF Snapshot" task resource or extracted from a VNF snapshot package.
        $ref: '#/definitions/VnfSnapshot'
5218
5219
5220
5221
5222
5223
5224
5225
5226
5227
5228
      _links:
        description: >
          Links to resources related to this resource.
        type: object
        required:
          - self
        properties:
          self:
            description: >
              URI of this resource.
            $ref: "../../definitions/SOL005_def.yaml#/definitions/Link"
5229
5230
5231
5232
5233
5234
5235
5236
5237
5238
5239
5240
5241
5242
5243
5244
5245
5246
5247
5248
5249
5250

  VnfSnapshot:
    description: >
      This type represents a VNF Snapshot. It shall comply with the provisions defined in table 6.5.2.18-1.
    type: object
    required:
      - id
      - vnfInstanceId
      - triggeredAt
      - createdAt
      - vnfdId
      - vnfInstance
      - vnfcSnapshots
    properties:
      id:
        description: >
          Identifier of the VNF snapshot. This identifier is allocated by the VNFM.
        $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier"
      vnfInstanceId:
        description: >
          Identifier of the snapshotted VNF instance.
        $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier"
5251
      creationStartedAt:
5252
        description: >
5253
          Timestamp indicating when the VNF Snapshot creation has been started by the VNFM.
5254
        $ref: "../../definitions/SOL005_def.yaml#/definitions/DateTime"
5255
      creationFinishedAt:
5256
        description: >
5257
          Timestamp indicating when the VNF Snapshot has been completed by the VNFM.
5258
5259
5260
5261
5262
5263
5264
5265
5266
5267
5268
5269
5270
5271
5272
5273
5274
5275
5276
5277
5278
5279
5280
5281
        $ref: "../../definitions/SOL005_def.yaml#/definitions/DateTime"
      vnfdId:
        description: >
          Identifier of the VNFD in use at the time the snapshot of the VNF instance has been created.
        $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier"
      vnfInstance:
        description: >
          VNF instance information of the snapshotted VNF instance. This is a copy of the "Individual VNF instance" resource.
        $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.
        $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs"

  WanConnectionInfo:
    description: |
      This type provides information about the connectivity to the WAN of network resources realizing a VL, e.g.,
      when the VL is deployed on several sites across a WAN. It shall comply with the provisions defined in table 6.5.3.90-1.
piscione's avatar
piscione committed
5282
      NOTE:	Either a "nsVirtualLinkInfoId" or a "vnfVirtualLinkResourceInfoId" shall be provided, but not both.
5283
5284
5285
5286
5287
5288
5289
5290
5291
5292
5293
5294
5295
5296
5297
5298
5299
    type: object
    required:
      - wanConnectionInfoId
    oneOf:
      - required:
          - nsVirtualLinkInfoId
      - required:
          - vnfVirtualLinkResourceInfoId
    properties:
      wanConnectionInfoId:
        description: >
          Identifies this WAN connection information.
        $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInNs"
      nsVirtualLinkInfoId:
        description: >
          References the NS VL instance to which the connection information is associated. Shall be present if a
          corresponding NS VL instance has been created.
piscione's avatar
piscione committed
5300
          See note.
5301
5302
5303
5304
5305
        $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInNs"
      vnfVirtualLinkResourceInfoId:
        description: >
          References the VNF VL instance to which the connection information is associated. Shall be present if a
          corresponding VNF VL instance has been created.
piscione's avatar
piscione committed
5306
          See note.
5307
5308
5309
5310
5311
5312
5313
5314
5315
5316
        $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInNs"
      protocolInfo:
        description: >
          Protocol specific information for connecting to the WAN.
        $ref: "#/definitions/WanConnectionProtocolInfo"

  WanConnectionProtocolInfo:
    description: |
      This type provides protocol specific information about the connectivity to the WAN of network resources realizing
      a VL, e.g., when the VL is deployed on several sites and across a WAN, and the related multi-site connectivity
5317
5318
5319
5320
      service (MSCS) enabling the connectivity through the WAN. This type supports providing information about both
      pre-provisioned WAN connectivity realized by external entities to NFV-MANO but parts of such connectivity is known
      to the NFVO, as well as information about MSCS created under NFV-MANO responsibility (i.e., connectivity is realized
      when NFVO communicates with the WIM).  It shall comply with the provisions defined in table 6.5.3.91-1.
5321
5322
5323
5324
5325
5326
5327
5328
5329
5330
5331
5332
5333
5334
5335
5336
5337
    type: object
    properties:
      mscsInfo:
        description: >
          Information about the provisioned MSCS, if already available.
        $ref: "#/definitions/MscsInfo"
      connectivityServiceEndpoints:
        description: >
          Configuration information about the network resources in the NFVI-PoP and their connectivity to the WAN.
        type: array
        items:
          $ref: "#/definitions/ConnectivityServiceEndpointInfo"

  WanConnectionData:
    description: |
      This type provides information used to connect the comprising network resources realizing a VL, e.g., when the VL
      is deployed on several sites and across a WAN. It shall comply with the provisions defined in table 6.5.3.80-1.
piscione's avatar
piscione committed
5338
      NOTE:	Either a "nsVirtualLink" or a "vnfVirtualLink" shall be provided, but not both.
5339
5340
5341
5342
5343
5344
5345
5346
5347
5348
5349
5350
    type: object
    required:
      - protocolData
    oneOf:
      - required:
          - nsVirtualLink
      - required:
          - vnfVirtualLink
    properties:
      nsVirtualLink:
        description: >
          Information used to identify the NS VL for which the WAN connectivity data is applicable.
piscione's avatar
piscione committed
5351
          See note.
5352
5353
5354
5355
5356
5357
5358
5359
        type: object
        required:
          - nsVirtualLinkDescId
          - nsVirtualLinkProfileId
        properties:
          nsVirtualLinkDescId:
            description: >
              Identifier of the VLD in the NSD from which the VL is created in the case of a multi-site NS VL.
piscione's avatar
piscione committed
5360
              See note.
5361
5362
5363
5364
5365
5366
5367
5368
5369
5370
5371
5372
5373
5374
5375
5376
5377
5378
5379
5380
5381
5382
5383
5384
5385
5386
5387
5388
5389
5390
5391
5392
5393
5394
5395
5396
5397
5398
5399
5400
5401
5402
5403
5404
5405
5406
5407
5408
5409
5410
5411
5412
5413
5414
5415
5416
5417
5418
5419
5420
5421
5422
5423
5424
5425
5426
5427
5428
5429
5430
5431
5432
5433
5434
5435
5436
5437
5438
5439
5440
5441
5442
5443
5444
5445
5446
5447
5448
5449
5450
5451
5452
5453
5454
5455
5456
5457
5458
5459
5460
5461
5462
5463
5464
5465
5466
5467
5468
5469
5470
5471
5472
5473
5474
5475
5476
5477
5478
5479
5480
5481
5482
5483
5484
5485
5486
5487
5488
5489
5490
5491
5492
5493
5494
            $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInNsd"
          nsVirtualLinkProfileId:
            description: >
              Identifier of the VL profile in the NSD.
            $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInNsd"
      vnfVirtualLink:
        description: >
          Information used to identify the VNF VL for which the WAN connectivity data is applicable.
          Either a "nsVirtualLink" or a "vnfVirtualLink" shall be provided, but not both.
        type: object
        required:
          - vnfProfileId
          - vnfVirtualLinkDescId
          - vnfVirtualLinkProfileId
        properties:
          vnfProfileId:
            description: >
              Identifier of the VNF profile.
            $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInNsd"
          vnfVirtualLinkDescId:
            description: >
              Identifier of the VLD in the VNFD from which the VL is created in the case of a multi-site internal VNF VL.
            $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInVnfd"
          vnfVirtualLinkProfileId:
            description: >
              Identifier of the VL profile in the VNFD.
            $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInVnfd"
      protocolData:
        description: >
          Protocol specific information for connecting to the WAN.
        $ref: "#/definitions/WanConnectionProtocolData"

  ChangeVnfPackageData:
    description: |
      This type specifies the information needed to change the current VNF package for a VNF instance. Clause B.3 of the
      ETSI GS NFV-IFA 007 illustrates the variants of changes to the current VNF Package and information flow procedures.
      This operation encompasses the following scenarios:
      *	Changes of the VNF virtualised resources, such as requirements, composition and structure between the VNF versions,
        without changing the VNF software version.
      *	Changes of both the VNF software version and the VNF virtualised resources. This case includes replacing the VNF
        software version by means of virtualised resources management, such as terminating the current virtualized resource
        instances running the current software version and instantiating new virtualized resource instances with the
        destination VNF software version. The new virtualized resource instances may have the same characteristics as the
        current virtualized resource instances.
      *	Changes related to the VNFD, such as correction of bugs in the VNFD, changes in the naming scheme of VNFD components
        (e.g. name of the VDU, vduId), and adding/removing descriptors of VNF Package changes (VnfPackageChangeInfo).
      NOTE:	For software updates that are executed by functional entities outside NFV-MANO and that require synchronization
            of the information held by the NFV-MANO entities with a new VNF package that reflects the same changes, an
            alternative procedure using the PATCH method on the "Individual VNF instance" resource has been defined, as
            illustrated in annex B.2 of ETSI GS NFV-IFA 007 [19]. This procedure assumes certain restrictions on the
            characteristics of the new VNF package, as defined in note 1 in table 5.5.2.2-1 of ETSI GS NFV-SOL 003.
      This type shall comply with the provisions defined in Table 6.5.3.54-1.
    type: object
    required:
      - vnfInstanceId
      - vnfdId
    properties:
      vnfInstanceId:
        description: >
          Identifier of the VNF instance.
        $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier"
      vnfdId:
        description: >
          Identifier of the VNFD which defines the destination VNF Package for the change.
        $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier"
      extVirtualLinks:
        description: >
          Information about external VLs to connect the VNF to. Entries in the list that are unchanged need not be
          supplied as part of this request.
        type: array
        items:
          $ref: "#/definitions/ExtVirtualLinkData"
      extManagedVirtualLinks:
        description: >
          Information about internal VLs that are managed by the NFVO.
        type: array
        items:
          $ref: "#/definitions/ExtManagedVirtualLinkData"
      additionalParams:
        description: >
          Additional parameters passed by the OSS/BSS as input to the change current VNF package process, specific to the
          VNF of which the underlying VNF package is changed, as declared in the VNFD as part of "ChangeCurrentVnfPkgOpConfig".
        $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs"
      extensions:
        description: >
          If present, this attribute provides modifications to the values of the "extensions" attribute in "VnfInstance",
          as defined in clause 6.5.3.57. 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 of ETSI GS NFV-SOL 003.
        $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs"
      vnfConfigurableProperties:
        description: >
          If present, this attribute provides modifications to the values of the VNF configurable properties attribute in
          the "VnfInstance", as defined in clause 6.5.3.57. 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 of ETSI
          GS NFV-SOL 003.
        $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs"

  DeleteVnfSnapshotData:
    description: >
      This type specifies the identifier of information of an available VNF Snapshot to be deleted and the identifier of
      the related VNF instance of the NS instance. It shall comply with the provisions defined in Table 6.5.3.74-1.
    type: object
    required:
      - vnfInstanceId
      - vnfSnapshotInfoId
    properties:
      vnfInstanceId:
        description: >
          Identifier of the VNF instance to identify the VNFM holding the VNF Snapshot information to be deleted.
        $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier"
      vnfSnapshotInfoId:
        description: >
          Identifier of information held by the VNFM about the VNF Snapshot to be deleted.
          This identifier was allocated by the VNFM.
        $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier"

  RevertVnfToSnapshotData:
    description: >
      This type specifies the identifier of an existing VNF instance of the NS instance to be reverted and the identifier
      of an existing VNF Snapshot to be reverted to. It shall comply with the provisions defined in Table 6.5.3.75-1.
    type: object
    required:
      - vnfInstanceId
      - vnfSnapshotInfoId
    properties:
      vnfInstanceId:
        description: >
          Identifier of the VNF instance to identify the VNFM holding the VNF Snapshot information to be reverted.
        $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier"
      vnfSnapshotInfoId:
        description: >
          Identifier of information held by the VNFM about the VNF Snapshot to be reverted.
          This identifier was allocated by the VNFM.
        $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier"
5495
5496
5497
5498
5499
      additionalParams:
        description: >
          Additional input parameters for the revert to VNF snapshot process, specific for the VNF being “reverted”,
          as declared in the VNFD as part of “RevertToSnapshotVnfOpConfig”.
        $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs"
5500
5501
5502
5503
5504
5505
5506
5507
5508
5509
5510
5511
5512
5513
5514
5515
5516
5517
5518
5519
5520
5521
5522
5523
5524
5525
5526

  CreateVnfSnapshotData:
    description: >
      This type represents the information that are needed for VNF snapshot creation. When the NFVO invokes the Create
      VNF snapshot operation, a set of these parameters are then passed by the NFVO to the VNFM. It shall comply with
      the provisions defined in Table 6.5.3.76-1.
    type: object
    required:
      - vnfInstanceId
    properties:
      vnfInstanceId:
        description: >
          Identifier of the VNF instance to perform the snapshot from.
        $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier"
      additionalParams:
        description: >
          Additional input parameters for the snapshot creation process, specific for the VNF being “snapshotted”, as
          declared in the VNFD as part of “CreateSnapshotVnfOpConfig”.
        $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs"
      userDefinedData:
        description: >
          User defined data for the VNF snapshot.
        $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs"

  VnfcSnapshotInfo:
    description: >
      This type represents a VNFC Snapshot. It shall comply with the provisions defined in table 6.5.3.77-1.
piscione's avatar
piscione committed
5527
5528
5529
5530
5531
5532
5533
5534
      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".
5535
5536
5537
5538
5539
5540
5541
5542
5543
5544
5545
    type: object
    required:
      - id
      - vnfcInstanceId
      - triggeredAt
      - createdAt
      - vnfcInfoId
    properties:
      id:
        description: >
          Identifier of the information held by the VNFM about a specific VNFC Snapshot. This identifier is allocated by
5546
5547
          the VNFM and is unique within the scope of a VNF snapshot.  The attribute also identifies the compute snapshot
          image associated to this VNFC snapshot within the context of a referred VNF snapshot.
5548
5549
5550
5551
5552
        $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier"
      vnfcInstanceId:
        description: >
          Identifier of the snapshotted VNFC instance.
        $ref: "#/definitions/IdentifierInVnf"
5553
      creationStartedAt:
5554
        description: >
5555
          Timestamp indicating when the VNFC Snapshot creation has been started by the VNFM.
5556
        $ref: "../../definitions/SOL005_def.yaml#/definitions/DateTime"
5557
      creationFinishedAt:
5558
        description: >
5559
          Timestamp indicating when the VNFC Snapshot has been completed by the VNFM.
5560
        $ref: "../../definitions/SOL005_def.yaml#/definitions/DateTime"
5561
      vnfcResourceInfoId:
5562
        description: >
5563
5564
          Reference to the "VnfcResourceInfo" 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.
5565
5566
5567
5568
        $ref: "#/definitions/IdentifierInVnf"
      computeSnapshotResource:
        description: >
          Reference to a compute snapshot resource.
piscione's avatar
piscione committed
5569
          See note 1.
5570
5571
5572
        $ref: "../../definitions/SOL005_def.yaml#/definitions/ResourceHandle"
      storageSnapshotResources:
        description: >
5573
          Reference to the "VirtualStorageResourceInfo" structure in the "VnfInstance" structure that represents
piscione's avatar
piscione committed
5574
          the virtual storage resource. See note 2.
5575
5576
5577
5578
5579
5580
5581
5582
        type: array
        items:
          type: object
          required:
            - storageResourceId
          properties:
            storageResourceId:
              description: >
5583
5584
5585
5586
                Reference to the "VirtualStorageResourceInfo" structure in the "VnfInstance"
                structure that represents 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.
5587
5588
5589
5590
5591
5592
5593
              $ref: "#/definitions/IdentifierInVnf"
            storageSnapshotResources:
              description: >
                Reference to a storage snapshot resource.
                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
5594
                has been newly created by the VNFM as a result of the "Create VNF snapshot task".
5595
5596
5597
5598
5599
5600
5601
5602
5603
5604
5605
5606
5607
5608
5609
5610
5611
5612
5613
5614
5615
5616
5617
5618
5619
5620
5621
5622
5623
5624
5625
5626
5627
5628
5629
              $ref: "../../definitions/SOL005_def.yaml#/definitions/ResourceHandle"
      userDefinedData:
        description: >
          User defined data for the VNF Snapshot.
        $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs"

  VnfLinkPortData:
    description: >
      This type represents an externally provided link port to be used to connect a VNFC connection point to an
      externally-managed VL. It shall comply with the provisions defined in table 6.5.3.78-1.
    type: object
    required:
      - vnfLinkPortId
      - resourceHandle
    properties:
      vnfLinkPortId:
        description: >
          Identifier of this link port as provided by the entity that has created the link port.
        $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier"
      resourceHandle:
        description: >
          Resource handle of the virtualised resource that realizes the link port.
        $ref: "../../definitions/SOL005_def.yaml#/definitions/ResourceHandle"

  ModificationsTriggeredByVnfPkgChange:
    description: >
      This type represents attribute modifications that were performed on an "Individual VNF instance" resource when
      changing the current VNF package. The attributes that can be included consist of those requested to be modified
      explicitly in the "ChangeCurrentVnfPkgRequest" data structure, and additional attributes of the "VnfInstance" data
      structure that were modified implicitly during the operation.
      The "ModificationsTriggeredByVnfPkgChange" data type shall comply with the provisions defined in table 6.5.3.79-1.
    type: object
    properties:
      vnfConfigurableProperties:
        description: >
5630
5631
5632
5633
5634
          This attribute signals the modifications of the "vnfConfigurableProperties" attribute in "VnfInstance"
          performed by the operation and shall be present if that attribute was modified during the operation.
          This attribute represents the delta (semantics as per IETF RFC 7396 [11], JSON Merge Patch) between
          the value of the attribute at the start of the "Change current VNF package" operation and the value
          of the attribute at its completion.
5635
5636
5637
        $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs"
      metadata:
        description: >
5638
5639
5640
5641
          This attribute signals the modifications of the "metadata" attribute in "VnfInstance" performed by the operation
          and shall be present if that attribute was modified during the operation. This attribute represents the delta
          (semantics as per IETF RFC 7396, JSON Merge Patch) between the value of the attribute at the start of the
          "Change current VNF package" operation and the value of the attribute at its completion.
5642
5643
5644
        $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs"
      extensions:
        description: >
5645
5646
5647
5648
          This attribute signals the modifications of the "extensions" attribute in "VnfInstance" performed by the operation
          and shall be present if that attribute was modified during the operation. This attribute represents the delta
          (semantics as per IETF RFC 7396 [11], JSON Merge Patch) between the value of the attribute at the start of the
          "Change current VNF package" operation and the value of the attribute at its completion.
5649
5650
5651
5652
5653
5654
5655
5656
5657
        $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs"
      vnfdId:
        description: >
          If present, this attribute signals the new value of the "vnfdId" attribute in "VnfInstance".
        $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier"
      vnfProvider:
        description: >
          If present, this attribute signals the new value of the "vnfProvider" attribute in "VnfInstance".
          If present, this attribute (which depends on the value of the "vnfdId" attribute) was modified implicitly
5658
5659
          during the related operation, and contains a copy of the value of the related attribute from the VNFD in the
          VNF Package identified by the "vnfdId" attribute.
5660
5661
5662
5663
5664
        type: string
      vnfProductName:
        description: >
          If present, this attribute signals the new value of the "vnfProductName" attribute in "VnfInstance".
          If present, this attribute (which depends on the value of the "vnfdId" attribute) was modified implicitly
5665
5666
          during the related operation, and contains a copy of the value of the related attribute from the VNFD in the
          VNF Package identified by the "vnfdId" attribute.
5667
5668
5669
5670
5671
5672
5673
5674
5675
5676
5677
5678
5679
5680
5681
5682
5683
5684
5685
        type: string
      vnfSoftwareVersion:
        description: >
          If present, this attribute signals the new value of the "vnfSoftwareVersion" attribute in "VnfInstance".
          If present, this attribute (which depends on the value of the "vnfdId" attribute) was modified implicitly
          during the related operation, by copying the value of this attribute from the VNFD in the VNF Package
          identified by the "vnfdId" attribute.
        $ref: "../../definitions/SOL005_def.yaml#/definitions/Version"
      vnfdVersion:
        description: >
          If present, this attribute signals the new value of the "vnfdVersion" attribute in "VnfInstance".
          If present, this attribute (which depends on the value of the "vnfdId" attribute) was modified implicitly
          during the related operation, by copying the value of this attribute from the VNFD in the VNF Package
          identified by the "vnfdId" attribute.
        $ref: "../../definitions/SOL005_def.yaml#/definitions/Version"

  WanConnectionProtocolData:
    description: >
      This type provides protocol specific information used to connect the comprising network resources realizing a VL,
5686
5687
5688
5689
      e.g., when the VL is deployed on several sites and across a WAN. This type supports signalling input information
      about both pre-provisioned WAN connectivity realized by external entities to NFV-MANO, as well as for the creation
      of MSCS under NFV-MANO responsibility (i.e., when connectivity is realized when NFVO communicates with the WIM).
      It shall comply with the provisions defined in table 6.5.3.81-1.
piscione's avatar
piscione committed
5690
5691
      NOTE: At least one of these attributes shall be present. Annex E documents the applicability of certain attributes
      depending on the WAN and NFVI-PoP network management and the responsibilities of NFV-MANO in its provisioning.
5692
    type: object
5693
5694
5695
5696
5697
5698
5699
    anyOf:
      - required:
          - mscsInfo
      - required:
          - connectivityServiceEndpointConfigDatas
      - required:
          - mscsConfigData
5700
5701
5702
5703
    properties:
      mscsInfo:
        description: >
          Information about the pre-provisioned multi-site connectivity service (MSCS), if already available.
piscione's avatar
piscione committed
5704
          See note.
5705
5706
5707
5708
        $ref: "#/definitions/MscsInfo"
      connectivityServiceEndpointConfigDatas:
        description: >
          Configuration data for the network resources in the NFVI-PoP.
piscione's avatar
piscione committed
5709
          See note.
5710
5711
5712
5713
5714
5715
        type: array
        items:
          $ref: "#/definitions/ConnectivityServiceEndpointInfo"
      mscsConfigData:
        description: >
          Configuration data for the provisioning of the MSCS, if such MSCS is to be created by NFV-MANO.
piscione's avatar
piscione committed
5716
          See note.
5717
5718
5719
5720
5721
5722
5723
5724
5725
5726
5727
5728
5729
5730
5731
5732
5733
5734
5735
5736
5737
5738
5739
5740
5741
5742
5743
5744
        $ref: "#/definitions/MscsConfigData"

  MscsInfo:
    description: >
      This type provides information about an already provisioned multi-site connectivity service (MSCS) deployed across
      a WAN. It shall comply with the provisions defined in Table 6.5.3.82-1.
    type: object
    required:
      - mscsId
      - mscsType
    properties:
      mscsId:
        description: >
          Identifier of the MSCS established over the WAN.
        $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier"
      mscsName:
        description: >
          Human readable name of the MSCS.
        type: string
      mscsDescription:
        description: >
          Human readable description of the MSCS.
        type: string
      mscsType:
        description: >
          The type of connectivity that is provided to the virtualized networks in the NFVI-PoP and characterizes the
          connectivity service across the WAN.
          Permitted values:
5745
5746
          -	L2
          -	L3
5747
5748
5749
5750
5751
5752
5753
5754
        type: string
        enum:
          - L2VPN
          - L3VPN
      mscsLayerProtocol:
        description: >
          Type of underlying connectivity service and protocol associated to the MSCS.
          Permitted values are as listed below and restricted by the type of MSCS:
5755
5756
5757
5758
5759
5760
          -	EVPN_BGP_MPLS: as specified in IETF RFC 7432. Only applicable for mscsType="L2".
          - EVPN_VPWS: as specified in IETF RFC 8214. Only applicable for mscsType="L2".
          -	VPLS_BGP: as specified in IETF RFC 4761 and IETF RFC 6624. Only applicable for mscsType="L2".
          -	VPLS_LDP_L2TP: as specified in IETF RFC 4762. Only applicable for mscsType="L2".
          -	VPWS_LDP_L2TP: as specified in IETF RFC 6074. Only applicable for mscsType="L2".
          -	BGP_IP_VPN: BGP/MPLS based IP VPN as specified in IETF RFC 4364. Only applicable for mscsType="L3".
5761
5762
        type: string
        enum:
5763
5764
          - EVPN_BGP_MPLS
          - EVPN_VPWS
5765
5766
5767
5768
5769
5770
5771
5772
5773
5774
5775
5776
5777
5778
5779
5780
5781
5782
5783
5784
5785
5786
5787
5788
5789
5790
5791
5792
5793
5794
5795
5796
5797
5798
5799
5800
5801
5802
5803
5804
5805
5806
5807
5808
5809
5810
5811
5812
5813
5814
5815
5816
5817
5818
5819
5820
5821
5822
5823
5824
5825
5826
5827
5828
5829
5830
5831
5832
5833
5834
5835
5836
5837
5838
5839
5840
5841
5842
5843
5844
5845
5846
5847
5848
5849
5850
5851
5852
5853
5854
5855
5856
5857
5858
5859
5860
5861
5862
5863
5864
5865
5866
5867
5868
5869
5870
5871
5872
5873
5874
5875
5876
          - VPLS_BGP
          - VPLS_LDP
          - VPWS
          - BGP_IP_VPN
      siteAccessProtectionSchemes:
        description: >
          Information to determine the proper MSCS endpoints configuration to fulfil certain resiliency/protection
          requirements, e.g., by considering certain availability and redundancy of connectivity service endpoints
          in between NFVI-PoP and WAN.
        type: array
        items:
          type: object
          properties:
            locationConstraints:
              description: >
                Defines the location constraints according to an NFVI-PoP (site).
              $ref: "#/definitions/LocationConstraints"
            protectionScheme:
              description: >
                Defines the protection scheme.
                Permitted values:
                -	UNPROTECTED: to indicate no protection.
                -	ONE_TO_ONE: to indicate an active-passive access protection.
                -	ONE_PLUS_ONE: to indicate an active-active access protection.
                -	ONE_TO_N: to indicate an N active to 1 passive access protection.
              type: string
              enum:
                - UNPROTECTED
                - ONE_TO_ONE
                - ONE_PLUS_ONE
                - ONE_TO_N
      mtuMscs:
        description: >
          Maximum Transmission Unit (MTU) that can be forwarded over the MSCS (in bytes). Default value is "1500" (bytes).
        type: number
      mscsEndpoints:
        description: >
          Information about the MSCS endpoints of the MSCS.
        type: array
        items:
          $ref: "#/definitions/MscsEndpointInfo"

  MscsEndpointInfo:
    description: >
      This type provides encapsulates information about an MSCS endpoint of the MSCS. It shall comply with the provisions
      defined in table 6.5.3.83-1.
    type: object
    required:
      - mscsEndpointId
      - directionality
      - connectivityServiceEndpoinId
    properties:
      mscsEndpointId:
        description: >
          Identifier of the MSCS endpoint.
        $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier"
      directionality:
        description: >
          Directionality of the data traffic in the context of the terminating MSCS endpoint from WAN’s perspective.
          Permitted values:
          -	INBOUND: to indicate into the WAN.
          -	OUTBOUND: to indicate from the WAN.
          -	BOTH: to indicate bidirectional data traffic to/from the WAN.
        type: string
        enum:
          - INBOUND
          - OUTBOUND
          - BOTH
      connectivityServiceEndpoinId:
        description: >
          References the connectivity service endpoint configuration information applicable to support the MSCS endpoint.
          More than one connectivity service endpoint can be referred when endpoints are in LAG mode.
        type: array
        items:
          $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier"

  ConnectivityServiceEndpointInfo:
    description: >
      This type provides configuration data for the NFVI-PoP network gateway providing connectivity service endpoints.
      The connectivity service endpoints are used as endpoints by an MSCS. It shall comply with the provisions defined
      in Table 6.5.3.84-1.
    type: object
    required:
      - connectivityServiceEndpointId
      - vimId
    properties:
      connectivityServiceEndpointId:
        description: >
          Identifier of the connectivity service endpoint of the NFVI-PoP (site) providing the UNI in between the
          NFVI-PoP and the WAN.
        $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier"
      vimId:
        description: >
          Identifier of the VIM responsible for the management of the virtualized networks in the NFVI-PoP of the
          applicable VL, and for which the connection data is applicable.
        $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier"
      siteToWanLayer2ProtocolData:
        description: >
          Layer 2 protocol specific information for the configuration of the NFVI-PoP network gateway to enable the
          stitching of the intra-site VN to the MSCS over the WAN.
        $ref: "#/definitions/SiteToWanLayer2ProtocolData"
      siteToWanLayer3ProtocolData:
        description: >
          Layer 3 protocol specific information for the configuration of NFVI-PoP network gateway to enable the stitching
          of the intra-site VN to the MSCS over the WAN.
        $ref: "#/definitions/SiteToWanLayer3ProtocolData"

  SiteToWanLayer2ProtocolData:
    description: >
      This type provides information about Layer 2 protocol specific information for the configuration of the NFVI-PoP
      network gateway to enable the stitching of the intra-site VN to the MSCS over the WAN. It shall comply with the
      provisions defined in Table 6.5.3.85-1.
piscione's avatar
piscione committed
5877
      NOTE:	Either "networkResources" or "vnSegmentsIds" shall be provided, but not both.
5878
5879
5880
5881
5882
5883
5884
5885
5886
5887
5888
5889
5890
5891
5892
5893
5894
5895
5896
5897
5898
5899
5900
5901
5902
5903
5904
5905
5906
5907
5908
5909
5910
5911
5912
5913
5914
5915
5916
5917
5918
5919
5920
5921
5922
5923
5924
5925
5926
5927
5928
5929
5930
5931
5932
5933
5934
    type: object
    required:
      - layer2ConnectionInfo
    properties:
      layer2ConnectionInfo:
        description: >
          Layer 2 protocol parameters of the connectivity service endpoint (CSE).
        type: object
        required:
          - connectionType
          - interfaceType
          - interfaceTagging
          - encapsulationType
        properties:
          connectionType:
            description: >
              The type of connection to be established on the connectivity service point.
              Permitted values:
              -	CSE: defined by the characteristics of the existing referred connectivity service point.
              -	AGGREGATE_CSE: create an aggregation of the connectivity service endpoints.
            type: string
            enum:
              - CSE
              - AGGREGATE_CSE
          interfaceType:
            description: >
              To indicate whether to create logical interfaces on the referred connectivity service endpoint or new
              aggregated connectivity service endpoint.
              Permitted values:
              -	PARENT: use the mapped interface to the connectivity service endpoint as is, i.e., do not create logical interfaces.
              -	LOGICAL: create logical interfaces.
            type: string
            enum:
              - PARENT
              - LOGICAL
          interfaceTagging:
            description: >
              The type of frames to forward on the connectivity service point.
              Permitted values:
              -	UNTAGGED: an interface where frames are not tagged.
              -	TAGGED: an interface configured to forward tagged frames (i.e., enabled for VLAN tagging).
            type: string
            enum:
              - UNTAGGED
              - TAGGED
          encapsulationType:
            description: >
              The type of encapsulation. If the interfaceTagging="TAGGED", either "VLAN" or "VXLAN" shall be set.
              Permitted values:
              -	ETH: generic Ethernet encapsulation.
              -	VLAN: encapsulation based on VLAN.
              -	VXLAN: encapsulation based on VXLAN.
            type: string
            enum:
              - ETH
              - VLAN
              - VXLAN
5935
          vlanTaggingType:
5936
            description: >
5937
5938
              Type of encapsulation method for VLAN tagging. Shall be present if interfaceTagging="TAGGED" and
              encapsulationType="VLAN".
5939
              Permitted values:
5940
5941
5942
5943
              -	DOT1Q: used when packets on the CSE are encapsulated with one or a set of customer VLAN identifiers.
              -	QINQ: used when packets on the CSE are encapsulated with multiple customer VLAN identifiers and a single
                service VLAN identifier.
              - QINANY: used when packets on the CSE have no specific customer VLAN and a service VLAN identifier is used.
5944
5945
5946
5947
            type: string
            enum:
              - DOT1Q
              - QINQ
5948
              - QINANY
5949
5950
          wanSegmentIds:
            description: >
5951
              Segment identifiers to pass on the tagged interface. Shall be present if encapsulationType="VLAN" or “VXLAN".
5952
5953
5954
5955
5956
5957
            type: object
            required:
              - wanSegmentIdValue
            properties:
              wanSegmentIdValue:
                description: >
5958
                  Identifier of the network segment (e.g., VLAN id or VNI).
5959
5960
5961
5962
5963
                type: string
              wanSegmentIdUpperRange:
                description: >
                  Identifier of the upper range network segment, in case the "wanSegmentIds" is used to define a range.
                type: string
5964
5965
5966
5967
5968
5969
5970
5971
5972
5973
5974
5975
5976
5977
5978
5979
5980
5981
5982
5983
5984
5985
5986
5987
5988
          vxlanConfig:
            description: >
              Additional configuration needed when using VXLAN encapsulation. Shall be present if interfaceTagging="TAGGED"
              and encapsulationType="VXLAN".
            type: object
            required:
              - peerMode
            properties:
              peerMode:
                description: >
                  Type of VXLAN access mode. Default value is "STATIC".

                  Permitted values:
                  -	STATIC
                  -	BGP_EVPN
                type: string
                enum:
                  - STATIC
                  - BGP_EVPN
              peers:
                description: >
                  List of IP addresses of VTEP peers when using static mode.
                type: array
                items:
                  $ref: "#/definitions/IpAddress"
5989
5990
5991
5992
5993
5994
5995
5996
5997
5998
5999
6000
          lagInterfaceData:
            description: >
              Information for setting up a LAG interface aggregating multiple connectivity service endpoints.
            type: object
            required:
              - aggregatedEndpoints
              - lacpActivation
              - lacpConfig
            properties:
              aggregatedEndpoints:
                description: >
                  List of the connectivity service endpoints that are to be aggregated. Shall be present if
For faster browsing, not all history is shown. View entire blame