Commit edea320b authored by Giacomo Bernini's avatar Giacomo Bernini
Browse files

Merge branch '4.4.1-dev' into 'Release-4'

Merge 4.4.1 dev into Release-4

See merge request !21
parents 340d43dc f3b03c90
Loading
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
# NFV SOL002 and SOL003 APIs

This repository hosts the [OpenAPI](https://www.openapis.org/) specificatons and other documentation
for the APIs defined in ETSI NFV GSs SOL002 and SOL003 v4.3.1.
for the APIs defined in ETSI NFV GSs SOL002 and SOL003 v4.4.1.

The APIs described in this repository are defined for the following reference points:

@@ -51,7 +51,7 @@ See the recent builds from:

## License

Copyright (c) ETSI 2020.
Copyright (c) ETSI 2023.
 
This software is subject to copyrights owned by ETSI. Non-exclusive permission 
is hereby granted, free of charge, to copy, reproduce and amend this file 
+2 −2
Original line number Diff line number Diff line
@@ -19,8 +19,8 @@ info:
  version: 1.3.0-impl:etsi.org:ETSI_NFV_OpenAPI:1

externalDocs:
  description: ETSI GS NFV-SOL 002 V4.3.1
  url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/04.03.01_60/gs_NFV-SOL002v040301p.pdf
  description: ETSI GS NFV-SOL 002 V4.4.1
  url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/04.04.01_60/gs_NFV-SOL002v040401p.pdf

paths:
  /vnfconfig/api_versions:
+25 −99
Original line number Diff line number Diff line
@@ -185,91 +185,6 @@ definitions:
        items:
          type: string

  VimConnectionInfo:
    description: >
      This type represents parameters to connect to a VIM, a CISM, a CIR or a MCIOP repository for managing
      the resources of a VNF instance.

      This structure is used to convey VIM-related, CISM-related, CIR-related, or MCIOP-repository-relate 
      dparameters over the Or-Vnfm interface. Additional parameters for a VIM, a CISM, a CIR or a MCIOP
      repository may be configured into the VNFM by means outside the scope of the present document and
      bound to the identifier of that VIM.

      * NOTE 1:	If applicable, this attribute also provides information about the resourceGroupIds
                that are accessible using a particular set of credentials. See definition of
                "resourceGroupId" in clause 9.5.3.3.
      * NOTE 2:	Once the connectivity between VNFM and VIM, CISM, CIR or MCIOP repository is provided
                through a secure connection over HTTP Secure (HTTP over SSL/TLS), and the connection might also be
                established through a VPN (for example TLS-based VPN tunnelling) for site-to-site connection, the
                "accessInfo" JSON data structure, and the sensitive data related information ("username"/"password" as
                required properties for authentication purpose), will be transmitted as plain text through a TLS tunnel
                without additional encoding/encryption before transmitting it, making the sensitive data visible to the
                endpoint. The base64 encoded certificates are only used by the VNFM to verify the authenticity of the
                interface endpoint of the VIM., CISM, CIR or MCIOP repository.
    type: object
    required:
      - vimType
    properties:
      vimId:
        description: >
          The identifier of the VIM, CISM, CIR or MCIOP repository
          instance. This identifier is managed by the NFVO.
          Shall be present to address additional information about
          the VIM, CISM, CIR or MCIOP repository if such
          information has been configured into the VNFM by
          means outside the scope of the present document and
          should be absent otherwise.
        $ref: "#/definitions/Identifier"
      vimType:
        description: >
          Discriminator for the different types of the VIM
          information.
          The value of this attribute determines the structure of the
          "interfaceInfo" and "accessInfo" attributes, based on the
          type of the VIM., CISM, CIR or MCIOP repository.
          The set of permitted values is expected to change over
          time as new types or versions of VIMs become available.
          The ETSI NFV registry of VIM-related information [i.3]
          provides access to information about VimConnectionInfo
          definitions for various VIM, CISM, CIR or MCIOP
          repository types. The structure of the registry is defined in
          annex C.
        type: string
      interfaceInfo:
        description: >
          Information about the interface or interfaces to the VIM,
          CISM, CIR or MCIOP repository, if applicable, such as
          the URI of an interface endpoint to communicate with the
          VIM, CISM, CIR or MCIOP repository. The applicable
          keys are dependent on the content of vimType.
          Alternatively, such information may have been configured
          into the VNFM and bound to the vimId.
        $ref: "#/definitions/KeyValuePairs"
      accessInfo:
        description: >
          Authentication credentials for accessing the VIM, CISM,
          CIR or MCIOP repository and other access-related
          information such as tenants or infrastructure resource
          groups (see note 1). The applicable keys are dependent
          on the content of vimType.
          If the VimConnectionInfo structure is part of an HTTP
          response payload body, sensitive attributes that are
          children of this attributes (such as passwords) shall not
          be included.
          If the VimConnectionInfo structure is part of an HTTP
          request payload body, sensitive attributes that are
          children of this attribute (such as passwords) shall be
          present if they have not been provisioned out of band.
          See note 2.
        $ref: "#/definitions/KeyValuePairs"
      extra:
        description: >
          VIM, CISM, CIR or MCIOP repository type specific
          additional information. The applicable structure, and
          whether or not this attribute is available, is dependent on
          the content of vimType.
        $ref: "#/definitions/KeyValuePairs"

  ResourceHandle:
    required:
      - resourceId
@@ -409,15 +324,14 @@ definitions:

      * NOTE 2: The following conditions apply to the attributes “netAttDefResourceId” and “cpProtocolData” for an external CP
                instance connected or to be connected to a secondary container cluster network:
                1) The "netAttDefResourceId" and "cpProtocolData" attributes shall both be absent for the deletion of an
                existing external CP instance addressed by cpInstanceId.
                1) Void.
                2) The "netAttDefResourceId" attribute shall be present and the "cpProtocolData" attribute may be present for
                a to-be-created external CP instance or an existing external CP instance.
      * NOTE 3: Cardinality greater than 1 is only applicable for specific cases where more than one network attachment
                definition resource is needed to fulfil the connectivity requirements of the external CP, e.g. to build a link
                redundant mated pair in SR-IOV cases. When more than one netAttDefResourceId is indicated, all shall belong
                to the same namespace as defined by the corresponding "netAttDefResourceNamespace" attribute in the
                "NetAttDefResourceData".
                to the same namespace as defined by the corresponding "containerNamespace" attribute in the "resourceHandle" attribute
                in the "NetAttDefResourceData".
      * NOTE 4: Either linkPortId or netAttDefResourceId may be included, but not both.
    anyOf:
      - required:
@@ -530,13 +444,6 @@ definitions:
          - macAddress
      - required:
          - ipAddresses
    oneOf:
      - required:
          - fixedAddresses
      - required:
          - numDynamicAddresses
      - required:
          - ipAddressRange
    properties:
      macAddress:
        description: >
@@ -571,6 +478,13 @@ definitions:
          type: object
          required:
            - type
          oneOf:
            - required:
              - fixedAddresses
            - required:
              - numDynamicAddresses
            - required:
              - addressRange
          properties:
            type:
              description: >
@@ -622,14 +536,20 @@ definitions:

  VirtualCpAddressData:
    description: >
      This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an 
      NS VL.
      This type represents network address data for a virtual CP.

      * NOTE 1: If the container cluster is set up to be able to configure an external load balancer this address will be used,
                otherwise it will be ignored by the CISM.

      * NOTE 2: In case the cluster can configure an external load balancer but no loadBalancerIp is provided the container
                cluster will assign an IP address.

      * NOTE 3: The attribute is only relevant if the virtual CP is instantiated in a cluster that supports configuration of IP 
                address pools for virtual CPs. Otherwise it shall be ignored. MetalLB is an example of a solution for 
                Kubernetes® that supports configuration of address pools for load balancer services.

      * NOTE 4: The loadBalancerIp and the addressPoolName attributes shall not be present at the same time.

    type: object
    required:
      - type
@@ -645,8 +565,14 @@ definitions:
      loadBalancerIp:
        description: >
          Fixed address to assign to an external load balancer.
          See notes 1 and 2.
          See notes 1, 2 and 4.
        $ref: "#/definitions/IpAddress"
      addressPoolName :
        description: >
          Name of an address pool from which the container 
          cluster will assign an IP address to the virtual CP. See 
          notes 3 and 4.
        type: string

  ExtVirtualLinkData:
    description: >
+3 −3
Original line number Diff line number Diff line
@@ -16,11 +16,11 @@ info:
  license:
    name: ETSI Forge copyright notice
    url: https://forge.etsi.org/etsi-forge-copyright-notice.txt
  version: 1.10.0-impl:etsi.org:ETSI_NFV_OpenAPI:1
  version: 1.11.0-impl:etsi.org:ETSI_NFV_OpenAPI:1

externalDocs:
  description: ETSI GS NFV-SOL 002 V4.3.1
  url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/04.03.01_60/gs_NFV-SOL002v040301p.pdf
  description: ETSI GS NFV-SOL 002 V4.4.1
  url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/04.04.01_60/gs_NFV-SOL002v040401p.pdf

servers:
  - url: http://127.0.0.1/vnfconfig/v1
+0 −5
Original line number Diff line number Diff line
@@ -112,11 +112,6 @@ definitions:
        type: array
        items:
          $ref: '#/definitions/CpConfiguration'
      dhcpServer:
        description: >
          IP address of the DHCP server that the VNF instance can use to obtain
          IP addresses to be assigned to its external CPs.
        $ref: '../../General_Definitions/SOL002_def.yaml#/definitions/IpAddress'
      vnfcSpecificData:
        description: >
          Additional configurable properties of the VNFC instance declared in the
Loading