Commit c7d1a7e1 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 !7
parents 4d997ff2 69e96c3f
Loading
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
# NFV SOL009 - OpenAPIs for the management of NFV-MANO

This repository contains OpenAPIs for ETSI GS NFV-SOL 009 v4.3.1, RESTful protocols 
This repository contains OpenAPIs for ETSI GS NFV-SOL 009 v4.4.1, RESTful protocols 
specification for the management of NFV-MANO functional entities.

**IMPORTANT: In case of discrepancies the published ETSI Group Specification takes precedence.**
+2 −2
Original line number Diff line number Diff line
@@ -19,8 +19,8 @@ info:
  version: 1.1.0-impl:etsi.org:ETSI_NFV_OpenAPI:1

externalDocs:
  description: ETSI GS NFV-SOL 009 V3.6.1
  url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/009/03.05.01_60/gs_NFV-SOL009v030501p.pdf
  description: ETSI GS NFV-SOL 009 V4.4.1
  url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/009/04.04.01_60/gs_NFV-SOL009v040401p.pdf

paths:
  /nfvmanocim/api_versions:
+7 −5
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: 2.1.0-impl:etsi.org:ETSI_NFV_OpenAPI:1
  version: 2.11.0-impl:etsi.org:ETSI_NFV_OpenAPI:1

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

servers:
  - url: http://127.0.0.1/nfvmanocim/v2
@@ -358,10 +358,12 @@ paths:
  /subscriptions/{subscriptionId}:
    parameters:
      - $ref: "#/components/parameters/subscriptionId"
      
    get:
      description: >
        The GET method retrieves information about a subscription by reading an "Individual subscription" resource.
        See clause 5.5.5.3.2.

      parameters:
        - $ref: "../components/SOL009_params.yaml#/components/parameters/Version"
        - $ref: "../components/SOL009_params.yaml#/components/parameters/Accept"
@@ -1413,10 +1415,10 @@ components:
            maximum: 1
    Subscriptions.Post.422:
      description: >
        422 Unprocessable Entity
        422 Unprocessable Content

        Shall be returned upon the following error: The content type
        of the payload body is supported and the payload body of a request
        of the message content is supported and the message content of a request
        contains syntactically correct data but the data cannot be processed.

        The general cause for this error and its handling is specified in
+216 −31
Original line number Diff line number Diff line
@@ -11,6 +11,8 @@ definitions:
        *  NOTE 5:	It is optional for the API producer to support the "manoEntityComponents" attribute.
        *  NOTE 6:	It shall be present when "type" attribute is "WIM", and it shall be absent in any other case.
        *  NOTE 7:	It shall be present when "type" attribute is "CISM", and it shall be absent in any other case. 
        *  NOTE 8:	It shall be present when "type" attribute is "CIR", and it shall be absent in any other case. 
        *  NOTE 9:	It shall be present when "type" attribute is "CCM", and it shall be absent in any other case. 
      type: object
      required:
        - id
@@ -123,8 +125,16 @@ definitions:
          $ref: "#/definitions/schemas/WimSpecificInfo"
        cismSpecificInfo:
          description: >
           The information specific to a CISM entity, See notes 4 and 7. 
           The information specific to a CISM entity. See notes 4 and 7. 
          $ref: "#/definitions/schemas/CismSpecificInfo"
        cirSpecificInfo:
          description: >
           The information specific to a CIR entity. See notes 4 and 8. 
          $ref: "#/definitions/schemas/CirSpecificInfo"
        ccmSpecificInfo:
          description: >
           The information specific to a CCM entity. See notes 4 and 9. 
          $ref: "#/definitions/schemas/CcmSpecificInfo"

        _links:
          description: >
@@ -763,8 +773,8 @@ definitions:
        * NOTE 1:	The value of the "peerEntityId" attribute is the same as the value of the "id" attribute in the
                  "ManoEntity" of the corresponding NFV-MANO functional entity that acts as peer entity, and shall
                  follow the uniqueness requirements set out in clause 5.6.2.2 for the "id" attribute.
        * NOTE 2:	ETSI GS NFV-IFA 031 [1] defines an additional attribute named "apiDiscoveryEndpoint" in the
                    PeerManoEntity. The modelling of this attribute is not specified in the present document version.
        * NOTE 2: With this information, the NFVO has available information about the set of VIMs and associated VIM
                  connection information that have been configured into the VNFM.
      type: object
      required:
        - id
@@ -809,6 +819,30 @@ definitions:
            consumed NFV-MANO interface, are managed by the API consumer and referenced
            from other data structures via the "consumedManoInterfaceIds" attribute.
          type: object
        vimConnectionInfos:
          description: >
            Map of VIM connection information. The VimConnectionInfo is specified in clause
            4.4.1.6 of ETSI GS NFV-SOL 003. This attribute can be modified with the
            PATCH method. May be present only if the "type" attribute in the "PeerEntity” is either a
            "VIM", a "CISM" or a "CIR", and the NFV-MANO entity being configured is a
            "VNFM" or "NFVO" as indicated by the "type" attribute in the "ManoEntity".
            In case it is present, the value of the "vimId" in the "VimConnectionInfo" shall
            be equal to the value of "peerEntityId". In addition, the content of "interfaceInfo",
            "accessInfo” and "extra" (if applicable) of the “VimConnectionInfo" shall be
            provided by means in scope of the present document.
          type: array
          items: 
            type: object
        vnfmConfiguredVimConnectionInfoIds:
          description: >
            List of VIM connection information identifiers that identify the set of VIMs
            and associated VIM connection information that have been configured
            into the VNFM whose identifier is equal to the “peerEntityId“. See note 2.
            Only applicable if the "type” attribute in the "ManoEntity" is "NFVO" and the
            "type” attribute in the "PeerEntity" is a "VNFM".
          type: array
          items: 
            $ref: "../../definitions/SOL009_def.yaml#/definitions/schemas/Identifier"
          additionalProperties:
            $ref: "#/definitions/schemas/ConsumedManoInterfaceInfo"
        peerEntityState:
@@ -833,11 +867,11 @@ definitions:
      description: >
        This type represents attribute modifications for configuration parameters of a peer entity.
        * NOTE:	Due to the security sensitive information contained within the attribute (refer to "securityInfo"
                within the "ConsumedManoInterfaceInfo"), based on access control policies, the API consumer might have
                read only, write only, read/write, or no access at all to the attribute's value. In case the
                API consumer is not allowed to modify the value of the security sensitive attribute, and the
                modification request includes new attribute values, the whole modification request shall be rejected,
                and proper error information returned.
                within the "ConsumedManoInterfaceInfo" " and "accessInfo" within the "VimConnectionInfo"), 
                based on access control policies, the API consumer might have read only, write only, read/write,
                or no access at all to the attribute's value. In case the API consumer is not allowed to modify 
                the value of the security sensitive attribute, and the modification request includes new attribute
                values, the whole modification request shall be rejected, and proper error information returned.
      type: object
      properties:
        name:
@@ -857,6 +891,14 @@ definitions:
            If present, these modifications shall be applied according to the rules of
            JSON Merge PATCH (see IETF RFC 7396). See note.
          type: object
        vimConnectionInfos:
          description: >
            Modification of the "vimConnectionInfos” attribute in
            the "PeerEntity". If present, these modifications shall be applied
            according to the rules of JSON Merge PATCH (see IETF RFC  7396). See note.
          type: array
          items:
            type: object
          additionalProperties:
            $ref: "#/definitions/schemas/ConsumedManoInterfaceInfo"
        operationalState:
@@ -872,17 +914,17 @@ definitions:

    PeerEntityConfigModifications:
      description: >
        This type represents attribute modifications that were performed on an
        "Individual peer entity" resource. The attributes that can be included
        consist of those requested to be modified explicitly in the
        "PeerEntityConfigModificationRequest" data structure. If applicable,
        additional attributes of the "PeerEntity" data structure that were
        This type represents attribute modifications that were performed on an "Individual peer 
        entity" resource. The attributes that can be included consist of those requested to be 
        modified explicitly in the "PeerEntityConfigModificationRequest" data structure. 
        If applicable, additional attributes of the "PeerEntity" data structure that were
        modified implicitly shall also be provided.
        * NOTE:	Due to the security sensitive information contained within the attribute (refer to "securityInfo"
                within the "ConsumedManoInterfaceInfo"), based on access control policies, the API consumer might have
                read only, write only, read/write, or no access at all to the attribute's value. In case the
                API consumer is not allowed to read the value of the security sensitive attribute, the attribute shall
                be omitted when the information is to be provided in a response message.
                within the "ConsumedManoInterfaceInfo" " and "accessInfo" within the "VimConnectionInfo"), based 
                on access control policies, the API consumer might have read only, write only, read/write, or no
                access at all to the attribute's value. In case the API consumer is not allowed to read the value 
                of the security sensitive attribute, the attribute shall be omitted when the information is to be
                provided in a response message.
      type: object
      properties:
        name:
@@ -901,6 +943,14 @@ definitions:
            "consumedManoInterfaces" attribute in "PeerEntity", as defined in
            clause 5.6.2.15. See note.
          type: object
        vimConnectionInfos:
          description: >
            If present, this attribute signals modifications of the "vimConnectionInfos" attribute in
            "PeerEntity", as defined in clause 5.6.2.15. See note.
          type: array
          items:
            type: object

          additionalProperties:
            $ref: "#/definitions/schemas/ConsumedManoInterfaceInfo"
        operationalState:
@@ -1502,6 +1552,7 @@ definitions:

            Permitted values:
              - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246.
              - TLS_TUNNEL_13: Using TLS tunnel, as defined by TLS 1.3 in IETF RFC 8446.
              - OAUTH2: Using access token, as defined by the OAuth 2.0 specification
              in IETF RFC 6749.
          type: array
@@ -1509,6 +1560,7 @@ definitions:
            type: string
            enum:
              - TLS_TUNNEL
              - TLS_TUNNEL_13
              - OAUTH2
          minItems: 1
        oauthServerInfo:
@@ -1593,6 +1645,7 @@ definitions:

            Permitted values:
            - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246.
            - TLS_TUNNEL_13: Using TLS tunnel, as defined by TLS 1.3 in IETF RFC 8446.
            - OAUTH2: Using access token, as defined by the OAuth 2.0 specification
            in IETF RFC 6749.
          type: array
@@ -1600,6 +1653,7 @@ definitions:
            type: string
            enum:
              - TLS_TUNNEL
              - TLS_TUNNEL_13
              - OAUTH2
          minItems: 1
        oauthServerInfo:
@@ -1659,6 +1713,123 @@ definitions:
                type: string
                minItems: 1

    CirSpecificInfo:
      description: >
        This type represents information attributes specific to a CIR entity, and that can be relevant to more than one NFV-
        MANO service offered by a CIR entity. It shall comply with the provisions defined in table 5.6.3.15-1.
        NOTE: Recommendations on appropriate algorithms and key lengths are given e.g. in NIST Special Publication 800-57 
              Part 3 Revision 1 or in documents related to local legislation.
      type: object
      required:
        - osContainerImageFormats
        - imageSignatureVerification
        - imageDigestAlgorithms
      properties:
        osContainerImageFormats:
          description: >
            List of supported OS container image
            formats. Valid values are all values for "container_format" as defined in ETSI
            GS NFV-SOL 001 and all values for "container-format" as defined in ETSI GS NFV-SOL 006.
          type: array
          minItems: 1
          items:
            type: string
        imageSignatureVerification:
          $ref: "#/definitions/schemas/CirSpecificInfo.imageSignatureVerification" 
        imageDigestAlgorithms:
          type: array
          items:
           $ref: "#/definitions/schemas/CirSpecificInfo.imageDigestAlgorithms"
    CirSpecificInfo.imageDigestAlgorithms:
        description: >
          List of supported digest algorithms that can be used for digital signatures.
        type: object
        required:
        - algorithm
        - keyLengths
        properties:
          algorithm:
            description: >
             The name of the algorithm. Permitted values are: "SHA2", "SHA3".
            type: string
            enum:
              - SHA2
              - SHA3
          keyLengths:
            description: >
              List of supported key lengths of the algorithm. The key length indicates the
              number of bits, such as "256", "512", etc. See note.
            type: array
            items:
              type: string
    CirSpecificInfo.imageSignatureVerification:
        description: >
         Information about the supported mechanisms, algorithms, and protocols for verifying the of software images.
        type: object
        required:
        - signatureVerificationAlgorithms
        properties:
          signatureVerificationAlgorithms:
           description: >
            List of algorithms for verifying the signature of software images 
            that are supported by the CIR.
           type: array
           items:
             $ref: "#/definitions/schemas/CirSpecificInfo.imageSignatureVerification.signatureVerificationAlgorithms"
    CirSpecificInfo.imageSignatureVerification.signatureVerificationAlgorithms:
        description: >
         List of algorithms for verifying the signature of software images that are supported by the CIR.
        type: object
        required:
        - algorithm
        - keyLengths
        properties:
         algorithm:
          description: >
            The name of the algorithm. Permitted values are: "RSA", "DSA", "ECDSA".
          type: string
         keyLengths:
          description: >
            List of supported key lengths of the algorithm. The key length
            indicates the number of bits, such as "256", "512", etc. See note
          type: array
          minItems: 1
          items:
            type: string
         additionalAlgParams:
              $ref: "../../definitions/SOL009_def.yaml#/definitions/schemas/KeyValuePairs"  


    CcmSpecificInfo:
      description: >
        The supported cluster resource management modes. Available modes include: virtual and bare-metal resources,
        and for both types, on-demand (i.e., CCM requests to corresponding infrastructure managers to build 
        necessary pools of resources) or pooled (i.e., CCM manages resources from pre-allocated resource pools). 
        Multiple values can be specified. See note. 
        Permitted values:
        - VIRTUAL-ON-DEMAND: virtual resourceson demand.
        - VIRTUAL-POOLED: virtual resources from a pre-allocated resource pool.
        - BARE-METAL-ON-DEMAND: bare-metal resources on demand.
        - BARE-METAL-POOLED: bare-metal resources from a pre-allocated resource pool.
        
        NOTE: Hybrid CIS clusters include both physical and virtual CIS cluster nodes and can be supported by a
              combination of relevant "clusterResourceMgmtModes".
      type: object
      required:
        - clusterResourceMgmtModes
      properties:
        clusterResourceMgmtModes:
          type: array
          minItems: 1
          items:
            type: string
            enum:
            - VIRTUAL-ON-DEMAND
            - VIRTUAL-POOLED
            - BARE-METAL-ON-DEMAND
            - BARE-METAL-POOLED


    #referenced simple data types
    ManoServiceInterfaceTypeShortName:
      description: >
@@ -1729,12 +1900,18 @@ definitions:
        "cismstrgm"	              Represents the "OS container storage management" service interface produced by a CISM (refer to IFA040).
        "cismnetwm"	              Represents the "OS container network management" service interface produced by a CISM (refer to IFA040).
        "cismcfgm"	              Represents the "OS container configuration management" service interface produced by a CISM (refer to IFA040).
        "cismcisim"               Represents the "CIS instance management" service interface produced by a CISM (refer to IFA036).
        "cismcismccom"            Represents the "CIS MCCO management" service interface produced by a CISM (refer to IFA036).
        "cirimgm"                 Represents the "OS container image management" service interface produced by a CIR (refer to IFA040).
        "ccmcisclcm"              Represents the "CIS cluster lifecycle management" service interface produced by a CCM (refer to IFA036).
        "ccmciscfm"               Represents the "CIS cluster fault management" service interface produced by a CCM (refer to IFA036).
        "ccmciscpm"               Represents the "CIS cluster performance management" service interface produced by a CCM (refer to IFA036).
        "ccmcisccm"               Represents the "CIS cluster configuration management" service interface produced by a CCM (refer to IFA036).
        "ccmciscsm"               Represents the "CIS cluster security management" service interface produced by a CCM (refer to IFA036).

        NOTE:	"IFA005", "IFA006", "IFA007", "IFA008", "IFA013", "IFA032", "IFA040" are used as a shorthand for the
        specifications ETSI GS NFV-IFA 005 [i.5], ETSI GS NFV-IFA 006 [i.6], ETSI GS NFV-IFA 007 [i.7],
        ETSI GS NFV IFA 008 [i.8], ETSI GS NFV-IFA 013 [i.9], ETSI GS NFV-IFA 032 [i.18] and
        ETSI GS NFV-IFA 040 [i.27], respectively.

        specifications ETSI GS NFV-IFA 005, ETSI GS NFV-IFA 006, ETSI GS NFV-IFA 007, ETSI GS NFV IFA 008, ETSI GS NFV-IFA 013, 
        ETSI GS NFV-IFA 032 and ETSI GS NFV-IFA 040, and ETSI GS NFV-IFA 036 respectively.
      type: string

    UsageStateEnumType:
@@ -1812,6 +1989,8 @@ definitions:
          - VIM	  The NFV-MANO functional entity is a VIM.
          - WIM   The NFV-MANO functional entity is a WIM.
          - CISM  The NFV-MANO functional entity is a CISM. 
          - CIR   The NFV-MANO functional entity is a CIR.
          - CCM   The NFV-MANO functional entity is a CCM.
      type: string
      enum:
        - NFVO
@@ -1819,6 +1998,8 @@ definitions:
        - VIM
        - WIM
        - CISM
        - CIR
        - CCM 

    PeerEntityEnumType:
      description: >
@@ -1830,6 +2011,8 @@ definitions:
        - VIM	  The peer functional entity is a VIM.
        - WIM	  The peer functional entity is a WIM.
        - CISM   The peer functional entity is a CISM. 
        - CIR   The NFV-MANO functional entity is a CIR.
        - CCM   The NFV-MANO functional entity is a CCM.
        - EM	  The peer functional entity is an EM.
        - OSS	  The peer functional entity is an OSS/BSS.
      type: string
@@ -1839,6 +2022,8 @@ definitions:
        - VIM
        - WIM
        - CISM
        - CIR
        - CCM 
        - EM
        - OSS

+2 −2
Original line number Diff line number Diff line
@@ -19,8 +19,8 @@ info:
  version: 2.1.0-impl:etsi.org:ETSI_NFV_OpenAPI:1

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

servers:
  - url: http://127.0.0.1/callback/v2
Loading