Skip to content
SOL005NSLifecycleManagement_def.yaml 233 KiB
Newer Older
5001 5002 5003 5004 5005 5006 5007 5008 5009 5010 5011 5012 5013 5014 5015 5016 5017 5018 5019 5020 5021 5022 5023 5024 5025 5026 5027 5028 5029 5030 5031 5032 5033 5034 5035 5036 5037 5038 5039 5040 5041 5042 5043 5044 5045 5046 5047 5048 5049 5050 5051 5052 5053 5054 5055 5056 5057 5058 5059 5060 5061 5062 5063 5064 5065 5066 5067 5068 5069 5070 5071 5072 5073 5074 5075 5076 5077 5078 5079 5080 5081 5082 5083 5084 5085 5086 5087 5088 5089 5090 5091 5092 5093 5094 5095 5096 5097 5098 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 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 5192 5193 5194 5195 5196 5197 5198 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 5510 5511 5512 5513 5514 5515 5516 5517 5518 5519 5520 5521 5522 5523 5524 5525 5526 5527 5528 5529 5530 5531
              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
    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
        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"