SOL005NSLifecycleManagement_def.yaml 236 KB
Newer Older
          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"

  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.
    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
          the VNFM and is unique within the scope of a VNF snapshot.
        $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier"
      vnfcInstanceId:
        description: >
          Identifier of the snapshotted VNFC instance.
        $ref: "#/definitions/IdentifierInVnf"
      triggeredAt:
        description: >
          Timestamp indicating when the VNFC Snapshot creation has been started.
        $ref: "../../definitions/SOL005_def.yaml#/definitions/DateTime"
      createdAt:
        description: >
          Timestamp indicating when the VNFC Snapshot has been completed.
        $ref: "../../definitions/SOL005_def.yaml#/definitions/DateTime"
      vnfcInfoId:
        description: >
          Reference to the information of the snapshotted VNFC instance.
        $ref: "#/definitions/IdentifierInVnf"
      computeSnapshotResource:
        description: >
          Reference to a compute snapshot resource.
          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.
        $ref: "../../definitions/SOL005_def.yaml#/definitions/ResourceHandle"
      storageSnapshotResources:
        description: >
          Mapping of the storage resources associated to the VNFC with the storage snapshot resources.
        type: array
        items:
          type: object
          required:
            - storageResourceId
          properties:
            storageResourceId:
              description: >
                Reference to the virtual storage resource.
              $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
                has been newly created.
              $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: >
          This attribute signals the content of the "vnfConfigurableProperties" attribute in "VnfInstance" after the
          modification and shall be present if that attribute was modified during the operation.
        $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs"
      metadata:
        description: >
          This attribute signals the content of the "metadata" attribute in "VnfInstance" after the modification and shall
          be present if that attribute was modified during the operation.
        $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs"
      extensions:
        description: >
          This attribute signals the content of the "extensions" attribute in "VnfInstance" after the modification and
          shall be present if that attribute was modified during the operation.
        $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
          during the related operation, by copying the value of this attribute from the VNFD in the VNF Package
          identified by the "vnfdId" attribute.
        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
          during the related operation, by copying the value of this attribute from the VNFD in the VNF Package
          identified by the "vnfdId" attribute.
        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,
      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.81-1.
    type: object
    anyOf:
      - required:
          - mscsInfo
      - required:
          - connectivityServiceEndpointConfigDatas
      - required:
          - mscsConfigData
5199 5200 5201 5202 5203 5204 5205 5206 5207 5208 5209 5210 5211 5212 5213 5214 5215 5216 5217 5218 5219 5220 5221 5222 5223 5224 5225 5226 5227 5228 5229 5230 5231 5232 5233 5234 5235 5236 5237 5238 5239 5240 5241 5242 5243 5244 5245 5246 5247 5248 5249 5250 5251 5252 5253 5254 5255 5256 5257 5258 5259 5260 5261 5262 5263 5264 5265 5266 5267 5268 5269 5270 5271 5272 5273 5274 5275 5276 5277 5278 5279 5280 5281 5282 5283 5284 5285 5286 5287 5288 5289 5290 5291 5292 5293 5294 5295 5296 5297 5298 5299 5300 5301 5302 5303 5304 5305 5306 5307 5308 5309 5310 5311 5312 5313 5314 5315 5316 5317 5318 5319 5320 5321 5322 5323 5324 5325 5326 5327 5328 5329 5330 5331 5332 5333 5334 5335 5336 5337 5338 5339 5340 5341 5342 5343 5344 5345 5346 5347 5348 5349 5350 5351 5352 5353 5354 5355 5356 5357 5358 5359 5360 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 5495 5496 5497 5498 5499 5500 5501 5502 5503 5504 5505 5506 5507 5508 5509
    properties:
      mscsInfo:
        description: >
          Information about the pre-provisioned multi-site connectivity service (MSCS), if already available.
          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.
        $ref: "#/definitions/MscsInfo"
      connectivityServiceEndpointConfigDatas:
        description: >
          Configuration data for the network resources in the NFVI-PoP.
          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.
        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.
          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.
        $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:
          -	L2VPN
          -	L3VPN
        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:
          -	EVPN: as specified in IETF RFC 7432. Only applicable for mscsType="L2VPN".
          -	VPLS_BGP: as specified in IETF RFC 4761 and IETF RFC 6624. Only applicable for mscsType="L2VPN".
          -	VPLS_LDP: as specified in IETF RFC 4762. Only applicable for mscsType="L2VPN".
          -	VPWS: as specified in IETF RFC 6074. Only applicable for mscsType="L2VPN".
          -	BGP_IP_VPN: BGP/MPLS based IP VPN as specified in IETF RFC 4364. Only applicable for mscsType="L3VPN".
        type: string
        enum:
          - EVPN
          - 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.
    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
          taggingType:
            description: >
              Type of encapsulation method for VLAN tagging. Shall be present if interfaceTagging="TAGGED".
              Permitted values:
              -	DOT1Q
              -	QINQ
            type: string
            enum:
              - DOT1Q
              - QINQ
          wanSegmentIds:
            description: >
              Segment identifiers to pass on the tagged interface. Shall be present if encapsulationType="VLAN".
            type: object
            required:
              - wanSegmentIdValue
            properties:
              wanSegmentIdValue:
                description: >
                  Identifier of the network segment.
                type: string
              wanSegmentIdUpperRange:
                description: >
                  Identifier of the upper range network segment, in case the "wanSegmentIds" is used to define a range.
                type: string
          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
                  connectionType="AGGREGATE_CSE". In case of aggregating connectivity service endpoints, only one
                  SiteToWanLayer2ProtocolData shall be provided for the whole set of aggregated endpoints.
                type: array
                items:
                  $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier"
              lacpActivation:
                description: >
                  Indicates whether to activate LACP on the interface. If "TRUE", the LACP is to be activated, or "FALSE"
                  otherwise. Default value is "FALSE".
                type: boolean
              lacpConfig:
                description: >
                  Specific configuration for the LACP. Examples include configuration to indicate the minimum number of
                  active connectivity service endpoints, the time internal and priority of LACP packet data units (PDU).
                $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs"
          layer2ControlProtocol:
            description: >
              Configuration enabling the control plane protocol in between the NFVI-PoP network gateway and the WAN.
            type: object
      mtuL2:
        description: >
          Maximum Transmission Unit (MTU) that can be forwarded at layer 2 (in bytes). Default value is "1500" (bytes).
        type: number
      virtualRoutingAndForwarding:
        description: >
          Configuration related to the L2 virtual routing and forwarding (MAC-VRF).
        type: object
        required:
          - macVrfName
        properties:
          macVrfName:
            description: >
              Name (or identifier) of the MAC-VRF instance.
            type: string
      forwardingConfig:
        description: >
          Information related to the forwarding of the VN in the NFVI-PoP to the connectivity service endpoint,
          if information about the VN to "stitch" is already known.
        type: object
        oneOf:
          - required:
              - networkResources
          - required:
              - vnSegmentIds
        properties:
          networkResources:
            description: >
              Reference to the VN resource to be forwarded into/from the MSCS.
              Either "networkResources" or "vnSegmentsIds" shall be provided, but not both.
            type: array
            items:
              $ref: "../../definitions/SOL005_def.yaml#/definitions/ResourceHandle"
          vnSegmentIds:
            description: >
              Identifiers of the network segments of the VN resources to be forwarded into/from the MSCS.
            type: object
            required:
              - vnSegmentIdValue
            properties:
              vnSegmentIdValue:
                description: >
                  Identifier of the network segment.
                type: string
              vnSegmentIdUpperRange:
                description: >
                  Identifier of the upper range network segment, in case the "vnSegmentIds" is used to define a range.
                type: string

  SiteToWanLayer3ProtocolData:
    description: >
      This type provides information about Layer 3 protocol specific information for the stitching of the intra-site VN
      to the multi-site connectivity service over the WAN. It shall comply with the provisions defined in Table 6.5.3.86-1.
    type: object
    required:
      - routingInfo
    properties:
      logicalInterfaceIpAddress:
        description: >
          IP addressing information associated to a logical interface. Shall be present if the "interfaceType" of the
          SiteToWanLayer2ProtocolData is equal to "LOGICAL".
        type: object
        required:
          - ipAddress
          - associatedSegmentId
        properties:
          ipAddress:
            description: >
              The IP address to be assigned to the interface.
            $ref: "#/definitions/IpAddress"
          associatedSegmentId:
            description: >
              The associated segment identifier that has triggered the creation of the logical interface.
              The value shall be one of the values listed in the "wanSegmentIds" of the "siteToWanLayer2ProtocolData".
            type: string
      routingInfo:
        description: >
          The routing information that is activated on the connectivity service endpoint. More than one "routingInfo" is
          allowed to enable stacking different routing protocols (e.g., one routing protocol for IPv4 and another one for IPv6).
        type: object
        required:
          - routingProtocol
        properties:
          routingProtocol:
            description: >
              The routing protocol that is activated on the connectivity service endpoint.
              Permitted values:
              -	BGP: used for dynamic routing BGPv4.
              -	RIP: used for dynamic routing RIPv2.
              -	OSPF: used for dynamic routing (OSPF version 2 for IPv4; and OSPF version 3 for IPv6).
              -	STATIC: used for static routing.
              -	DIRECT: used when the NFVI-PoP network is directly connected to the WAN provider network.
              -	VRRP: used when the NFVI-PoP network is directly connected to the WAN provider network with virtual
                router redundancy protocol support (VRRP).
            type: string
            enum:
              - BGP
              - RIP
              - OSPF
              - STATIC
              - DIRECT
              - VRRP
          staticRouting:
            description: >
              Defines a static route. It shall only be present if the routingProtocol="STATIC".
            type: object
            required:
              - ipVersion
              - ipPrefix
              - prefixSize
              - nextHop
            properties:
              ipVersion:
                description: >
                  The IP version applicable to the routing entry.
                  Permitted values:
                  -	IPV4
                  -	IPV6
                type: string
                enum:
                  - IPV4
                  - IPV6
              ipPrefix:
                description: >
                  The IP network prefix.
                $ref: '#/definitions/IpAddress'
              prefixSize:
                description: >
                  The IP prefix size.
                type: number
              nextHop:
                description: >
                  The next hop’s IP address.
                $ref: '#/definitions/IpAddress'
          routingAddressFamily:
            description: >
              The IP version applicable to the dynamic routing protocol. Shall be present for dynamic routing protocols.
              Permitted values:
              -	IPV4
              -	IPV6
            type: string
            enum:
              - IPV4
              - IPv6
          ospfRouting:
            description: >
              Defines parameters for OSPF routing. It shall only be present if the routingProtocol="OSPF".
            type: object
            required:
              - areaId
            properties:
              areaId:
                description: >
                  The routing area identifier, e.g., a number or an IP address.
                type: string
          bgpRouting:
            description: >
              Defines parameters for BGP routing. It shall only be present if the routingProtocol="BGP".
            type: object
            required:
              - bgpAs
            properties:
              bgpAs:
                description: >
                  The Autonomous System (AS) identification applicable to the BGP routing info entry.
                type: object
              bgpNeighbour:
                description: >
                  The IP address of the BGP neighbour.
                $ref: '#/definitions/IpAddress'
              bgpAdditionalParam:
                description: >
                  Additional parameters for setting up the BGP neighbour, such as information about the remote AS.
                $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs"
          routeMapsDistribution:
            description: >
              Maps of routes that are permitted or denied for redistribution.
            type: object
      mtuL3:
        description: >
          Maximum Transmission Unit (MTU) that can be forwarded at layer 3 (in bytes). Default value is "1500" (bytes).
        type: number
      virtualRoutingAndForwarding:
        description: >
          Configuration related to the virtual routing and forwarding (VRF).
        type: object
        required:
          - vrfName
        properties:
          vrfName:
            description: >
              Name (or identifier) of the VRF instance.
            type: string
      bfdConfig:
        description: >
          Configuration related to bidirectional forwarding detection (BFD).
        $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs"

  MscsConfigData:
    description: >
      This type provides configuration data for the creation of an MSCS. It shall comply with the provisions defined in
      Table 6.5.3.87-1.
    type: object
    required:
      - mscsType
    properties:
      mscsType:
        description: >
          The type of connectivity that is requested to be provided to the virtualized networks in the NFVI-PoP and
          characterizes the connectivity service across the WAN.
          Permitted values:
          -	L2VPN
          -	L3VPN
        type: string
        enum:
          - L2VPN
          - L3VPN
      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
          required:
            - locationConstraints
            - protectionScheme
          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
                -	ONE_TO_ONE
                -	ONE_PLUS_ONE
                -	ONE_TO_N
              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
      wanLayer2ProtocolData:
        description: >
          Layer 2 protocol specific information for the configuration of the multi-site connectivity service over the WAN.
        $ref: '#/definitions/WanLayer2ProtocolData'
      wanLayer3ProtocolData:
        description: >
          Layer 3 protocol specific information for the configuration of the multi-site connectivity service over the WAN.
        $ref: '#/definitions/WanLayer3ProtocolData'

  WanLayer2ProtocolData:
    description: >
      This type provides information about Layer 2 protocol specific information for the configuration of the MSCS over
      the WAN. It shall comply with the provisions defined in Table 6.5.3.88-1.
    type: object
    required:
      - isSegmentPreservation
      - isSegmentCosPreservation
    properties:
      mscsLayer2Protocol:
        description: >
          Type of underlying connectivity service and protocol associated to the type of MSCS.
          Permitted values are as listed below and restricted by the type of MSCS:
          -	EVPN: as specified in IETF RFC 7432.
          -	VPLS_BGP: as specified in IETF RFC 4761 and IETF RFC 6624.
          -	VPLS_LDP: as specified in IETF RFC 4762.
          -	VPWS: as specified in IETF RFC 6074.
        type: string
        enum:
          - EVPN
          - VPLS_BGP
          - VPLS_LDP
          - VPWS
      isSegmentPreservation:
        description: >
          Indicates the requirement of whether to ensure network segment (e.g., VLAN id) preservation across the MSCS
          endpoints (i.e., from/to the NFVI-PoPs). If "TRUE", segment identifiers shall be preserved, "FALSE" otherwise.
          Default value is "FALSE".
        type: boolean
      isSegmentCosPreservation:
        description: >
          Indicates the requirement of whether to ensure network segment class of service preservation across the MSCS
          endpoints (i.e., from/to the NFVI-PoPs). If "TRUE", segment class of service shall be preserved, "FALSE" otherwise.
          Default value is "FALSE".
        type: boolean

  WanLayer3ProtocolData:
    description: >
      Type of underlying connectivity service and protocol associated to the type of MSCS.
      Permitted values are as listed below and restricted by the type of MSCS:
      -	BGP_IP_VPN: BGP/MPLS based IP VPN as specified in IETF RFC 4364.
    type: string
    enum:
      - BGP_IP_VPN

  ModifyWanConnectionInfoData:
    description: >
      This type represents attribute modifications for WAN connection information. The attributes of the "WanConnectionInfo"
      that can be modified according to the provisions of the "UpdateNsRequest" in clause 6.5.2.12 related to WAN connection
      information are included in the "ModifyWanConnectionInfoData" data type. It shall comply with the provisions defined
      in table 6.5.3.92-1.
    type: object
    required:
      - wanConnectionInfoId
    properties:
      wanConnectionInfoId:
        description: >
          Identifier of the WAN connection information to modify.
        $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier"
      mscsName:
        description: >
          New value of the "mscsName" attribute in "MscsInfo", or "null" to remove the attribute.
        type: string
      mscsDescription:
        description: >
          New value of the "mscsDescription" attribute in "MscsInfo", or "null" to remove the attribute.
        type: string
      mscsEndpoints:
        description: >
          New content of certain entries of MSCS endpoints in the "mscsEndpoints" attribute in "MscsInfo",
          as defined below this table.
        type: array
        items:
          $ref: "#/definitions/MscsEndpointInfo"
      removeMscsEndpointIds:
        description: >
          List of identifier entries to be deleted from the "mscsEndpoints" attribute array in "MscsInfo", to be used
          as "deleteIdList" as defined below this table.
        type: array
        items:
          $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier"
      connectivityServiceEndpoints:
        description: >
          New content of certain entries of connectivity service endpoints in the "connectivityServiceEndpointInfos"
          attribute in "WanConnectionProtocolInfo", as defined below this table.
        type: array
        items:
          $ref: "#/definitions/ConnectivityServiceEndpointInfo"
      removeConnectivityServiceEndpoints:
        description: >
          List of identifier entries to be deleted from the "connectivityServiceEndpointInfos" attribute array in
          "WanConnectionProtocolInfo", to be used as "deleteIdList" as defined below this table.
        type: array
        items:
          $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier"

  WanConnectionInfoModification :
    description: >
      This type represents attribute modifications that were performed on WAN connection information.
      The attributes that can be included consist of those requested to be modified explicitly with the "UpdateNsRequest"
      data structure. It shall comply with the provisions defined in table 6.5.3.93-1.
    type: object
    required:
      - wanConnectionInfoId
    properties:
      wanConnectionInfoId:
        description: >
          Identifier of the WAN connection information that has been modified.
        $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier"
      mscsName:
        description: >
          If present, this attribute signals modifications of the "mscsName" attribute in "MscsInfo" as defined in
          clause 6.5.3.82.
        type: string
      mscsDescription:
        description: >
          If present, this attribute signals modifications of the "mscsDescription" attribute in "MscsInfo" as defined
          in clause 6.5.3.82.
        type: string
      mscsEndpoints:
        description: >
          If present, this attribute signals modifications of certain entries in the "mscsEndpoints" attribute array in
          "MscsInfo", as defined in clause 6.5.3.82.
        type: array
        items:
          $ref: "#/definitions/MscsEndpointInfo"
      removeMscsEndpointIds:
        description: >
          If present, this attribute signals the deletion of certain entries in the "mscsEndpoints" attribute array in
          "MscsInfo", as defined in clause 6.5.3.82.
        type: array
        items:
          $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier"
      connectivityServiceEndpoints:
        description: >
          If present, this attribute signals modifications of certain entries in the "connectivityServiceEndpoints"
          attribute array in "WanConnectionProtocolInfo", as defined in clause 6.5.3.91.
        type: array
        items:
          $ref: "#/definitions/ConnectivityServiceEndpointInfo"
      removeConnectivityServiceEndpoints:
        description: >
          If present, this attribute signals the deletion of certain entries in the "connectivityServiceEndpoints"
          attribute array in "WanConnectionProtocolInfo", as defined in clause 6.5.3.91.
        type: array
        items:
          $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier"

  AddNsVirtualLinkData:
    description: >
      This type specifies the parameters used for the creation of a new NsVirtualLink instance.
      It shall comply with the provisions defined in table 6.5.3.95-1.
    type: object
    required:
      - nsVirtualLinkProfileId
    properties:
      nsVirtualLinkProfileId:
        description: >
          Identifier of the virtual link profile to be used to create a new NsVirtualLink instance.
          All NsVirtualLink instances of a particular NS DF based on a specific "NsVirtualLinkDesc"
          have the same characteristics as they use the same "VirtualLinkProfile".
        $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier"

  NestedNsLocationConstraint:
    description: >
      This type represents the association of location constraints to a nested NS instance to be created according to a
      specific NS profile. It shall comply with the provisions defined in Table 6.5.3.96-1.
    type: object
    required:
      - nsProfileId
      - locationConstraints
    properties:
      nsProfileId:
        description: >
          Identifier of an NsProfile defined in the NSD which the existing nested NS instance shall be matched with.
        $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInNs"
      locationConstraints:
        description: >
          Defines the location constraints for the nested NS instance to be created based on the NS profile.
        $ref: "#/definitions/LocationConstraints"