Commit b9a80c60 authored by Muhammad Umair Zafar's avatar Muhammad Umair Zafar
Browse files

update SOL002 VNF LCM API as per v4.5.1

parent d126f773
Loading
Loading
Loading
Loading
Loading
+403 −2
Original line number Original line Diff line number Diff line
@@ -40,6 +40,140 @@ definitions:
      different type.
      different type.
    type: object
    type: object


  CertificateConfigurationData:
    description: >
      This type provides input information related to certificate management.
    type: object
    properties:
      overridingCertificateProfile:
        type: array
        items:
          $ref: '#/definitions/CertificateBaseProfile'
        description: >
          Overriding certificate profile. This overrides the certificateBaseProfile provided
          in the VNFD, and the CA and CMF can additionally override aspects of this certificateBaseProfile
          at later point in the VNF lifecycle if necessary to meet operator security policy.
      securityPolicy:
        type: array
        items:
          $ref: '#/definitions/SecurityPolicy'
        description: >
          Security policy to be satisfied for certificate.
      cmfData:
        $ref: '#/definitions/CmfData'
        description: >
          Information for CMF.

  CmfData:
    description: >
      This type provides input information related to CMF for certificate management.
    type: object
    required:
      - endPoint
      - supportedProtocol
    properties:
      endPoint:
        description: >
          End point of CMF instance.
        type: object
        properties:
          ipAddress:
            $ref: '#/definitions/IpAddress'
            description: >
              An IP address of this end point.
          link:
            $ref: '#/definitions/Link'
            description: >
              A link to this end point.
      supportedProtocol:
        description: >
          Supported protocols by CMF instance.
        type: array
        items:
          type: string
          enum:
            - CMP
            - CMPv2
            - EST
            - SCEP

  PaasServiceHandle:
    description: >
      This type provides information enabling the access and use of the PaaS Service by the 
      VNF instance. The type and format of the handle depends on the form that the
      PaaS Service is formed.
    type: object
    required:
      - id
    properties:
      id:
        type: string
        description: >
          Identifier of this PaaS Service handle.
        $ref: "#/definitions/Identifier"
      interfaceInfo:
        description: >
          Information of the interface or interfaces to the PaaS Service
          instance, if applicable, such as the URI of an interface endpoint to communicate
          with the PaaS Service instance.
        $ref: "#/definitions/KeyValuePairs"
      accessInfo:
        description: >
          Authentication credentials for accessing the PaaS Service instance.
          If the PaasServiceHandle structure is part of an HTTP GET response
          payload body, sensitive attributes that are children of this attribute
          (such as passwords) shall not be included.
        $ref: "#/definitions/KeyValuePairs"
      extra:
        description: >
          PaaS Service instance specific additional information. The applicable
          structure, and whether or not this attribute is available, is dependent
          on the type of the PaaS Service.
        $ref: "#/definitions/KeyValuePairs"

  CmfInfo:
    type: object
    required:
      - id
      - endPoint
      - supportedProtocol
    properties:
      id:
        type: string
        description: >
          Identifier of this CMF information.
        $ref: "#/definitions/Identifier"
      endPoint:
        type: object
        properties:
          ipAddress:
            $ref: '#/definitions/IpAddress'
            description: >
              An IP address of this end point.
          link:
            $ref: '#/definitions/Link'
            description: >
              A link to this end point.
        description: >
          End point of CMF instance.
      supportedProtocols:
        type: array
        items:
          type: string
          enum:
            - CMP
            - CMPv2
            - EST
            - SCEP
        description: >
          Supported protocol by CMF instance.
      certificateChain:
        type: array
        items:
          $ref: '#/definitions/KeyValuePairs'
        description: >
          Certificate chain that this CMF provides.

  ApiVersionInformation:
  ApiVersionInformation:
    description: >
    description: >
      This type represents API version information.
      This type represents API version information.
@@ -275,7 +409,15 @@ definitions:
                  map entry may be used by an external CP instance different than the one that has used it before the
                  map entry may be used by an external CP instance different than the one that has used it before the
                  operation, or by no external CP instance at all. Renaming a CPD identifier during the "changeCurrentVnfPkg"
                  operation, or by no external CP instance at all. Renaming a CPD identifier during the "changeCurrentVnfPkg"
                  operation does not count as moving the related "cpConfig" map entries to a new "extCpData" structure.
                  operation does not count as moving the related "cpConfig" map entries to a new "extCpData" structure.

      * NOTE 5:   Subports need not be used for containerized VNFCs. The application container can send and receive IP
                  packets with any VLAN tag as long as the network interface to connect to the secondary container cluster
                  network has been configured appropriately. Thus, no individual cpConfig, except the one representing the
                  trunk, need be modelled to allow traffic tagged with a particular VLAN through the connection point.
      * NOTE 6:   In the case that the cloud native template included in the MCIOP describes the set of VNFC instances, for
                  containerized VNFCs individual connection points need not be configured for each VNFC instance. It is only
                  required to configure one "cpConfig" per "cpdId", not per VNFC instance. The case of using, for a scalable
                  VDU, a cloud native template in the MCIOP that describes one single VNFC instance is not specified in the
                  present document version.
    type: object
    type: object
    required:
    required:
      - cpdId
      - cpdId
@@ -291,7 +433,7 @@ definitions:
          The key of the map which identifies the individual VnfExtCpConfig entries is of type "IdentifierInVnf"
          The key of the map which identifies the individual VnfExtCpConfig entries is of type "IdentifierInVnf"
          and is managed by the NFVO.
          and is managed by the NFVO.
          The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396).
          The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396).
          See notes 2, 3 and 4.
          See notes 2, 3, 4, 5 and 6.
        type: object
        type: object
        additionalProperties:
        additionalProperties:
          $ref: "#/definitions/VnfExtCpConfig"
          $ref: "#/definitions/VnfExtCpConfig"
@@ -730,11 +872,270 @@ definitions:
          specification of the interface to attach the connection
          specification of the interface to attach the connection
          points to a secondary container cluster network.
          points to a secondary container cluster network.
        $ref: "#/definitions/ResourceHandle"
        $ref: "#/definitions/ResourceHandle"

  Identifier:
  Identifier:
    description: >
    description: >
      An identifier with the intention of being globally unique.
      An identifier with the intention of being globally unique.
    type: string
    type: string


  AffectedCertificate:
    description: >
      This type provides input information about added, deleted and modified certificate contents.
    type: object
    required:
      - certificateInfoId
      - changeType
    properties:
      certificateInfoId:
        type: string
        description: >
          Identifier of certificate information.
        $ref: "#/definitions/Identifier"
      certificateBaseProfileId:
        type: string
        description: >
          Identifier of certificate base profile.
        $ref: "#/definitions/Identifier"
      securityPolicyId:
        type: string
        description: >
          Identifier of security policy.
        $ref: "#/definitions/Identifier"
      cmfInfoId:
        type: string
        description: >
          Identifier of CMF information.
        $ref: "#/definitions/Identifier"
      certificateContentId:
        type: string
        description: >
          Identifier of certificate content.
        $ref: "#/definitions/Identifier"
      changeType:
        description: >
          Signals the type of change.
        type: string
        enum:
          - ADD
          - REMOVE
          - MODIFY

  CertificateInfo:
    description: >
      Represents information about certificates, including configuration details and contents.
    type: object
    required:
      - id
    properties:
      id:
        type: string
        description: >
          Identifier of this certificate information.
        $ref: "#/definitions/Identifier"
      certificateConfigurationInfo:
        $ref: '#/definitions/CertificateConfigurationInfo'
        description: >
          Configuration for certificate management such as certificate profile, information of CMF, and security policy.
      certificateContents:
        description: >
          Information for contents of issued certificates. The information contained in this attribute may be updated over time during the VNF
          LCM, e.g., certificate(s) renewal.
        type: array
        items:
          $ref: '#/definitions/CertificateContent'

  CertificateContent:
    description: >
      This type provides input information related to certificate content.
    type: object
    required:
      - id
      - certificateDescId
      - certificateType
    properties:
      id:
        type: string
        description: Identifier of this certificate.
        $ref: "#/definitions/Identifier"
      certficateDescId:
        type: string
        description: Identifier of certificate description in VNFD to be used to issue this certificate.
        $ref: "#/definitions/IdentifierInVnfd"
      certificateType:
        type: string
        enum:
          - VNFCI_CERT
          - VNFOAM_CERT
        description: Type of this certificate.
      supportedCertificateManagements:
        $ref: "#/definitions/KeyValuePairs"
        description: Describes supported certificate management information.
      version:
        type: string
        description: Version of this certificate.
        $ref: "#/definitions/Version"
      serialNumber:
        type: integer
        description: Serial number of this certificate.
      signatureAlgorithm:
        type: string
        description: Algorithm of this certificate’s signature.
      issuer:
        type: string
        description: Issuer of this certificate.
      notBefore:
        type: string
        description: Start date of valid period for this certificate.
      notAfter:
        type: string
        description: End date of valid period for this certificate.
      subject:
        type: string
        description: Subject of this certificate.
      publicKeyAlgorithm:
        type: string
        description: Algorithm of this certificate’s public key.
      publicKey:
        type: string
        description: Public key of this certificate.
      certificateExtensions:
        $ref: "#/definitions/KeyValuePairs"
        description: Extension of this certificate.

  CertificateConfigurationInfo:
    description: >
      This type provides input information related to certificate management.
    type: object
    required:
      - securityPolicy
    properties:
      certificateBaseProfile:
        description: >
          Information for certificate profile.
        type: array
        $ref: "#/definitions/CertificateBaseProfile"
      securityPolicy:
        description: >
          Information for security policy to be satisfied for certificate.
        type: array
        items:
          $ref: "#/definitions/SecurityPolicy"
      delegationSupportedCertificateManagements:
        description: >
          Describes supported certificate management information.
        $ref: "#/definitions/KeyValuePairs"
      cmfInfo:
        description: >
          Information of CMF.
        type: object
        $ref: "#/definitions/CmfInfo"

  SecurityPolicy:
    type: object
    properties:
      id:
        type: string
        description: >
          Identifier of this security policy.
        $ref: "#/definitions/Identifier"
      maxValidityPeriod:
        type: integer
        description: >
          Allowed max validity period for certificates.
      allowedAlgorithm:
        type: string
        description: >
          Allowed signature algorithm.
      minimumKeyLength:
        type: integer
        description: >
          Minimum key length for certificates.

  CertificateBaseProfile:
    description: >
      This type provides input information to override certificate base profile for
      certificate management

      * NOTE : At least one overriding attributes shall be present, otherwise shall be absent.
    required:
      - id
    properties:
        id:
          type: string
          description: >
            The identifier of this certificate profile.
          $ref: "#/definitions/Identifier"
        issuer:
          type: string
          description: >
            Issuer of certificates. See note.
        issuerUniqueIdentifier:
          type: string
          description: >
            Identifier of this issuer of certificates. See note.
          $ref: "#/definitions/Identifier"
        subject:
          $ref: '#/definitions/CertSubjectData'
          description: >
            Subject of certificates. See note.
        subjectUniqueIdentifier:
          type: string
          description: >
            Identifier of this subject of certificates. See note.
        basicConstraints:
          type: string
          description: >
            Basic constraints of certificates. See note.
        issuerAltName:
          type: array
          items:
            type: string
          description: >
            Alternative name of issuer of certificates in this NS. See note.
        subjectAltName:
          type: array
          items:
            type: string
          description: >
            Alternative name of subject of certificates. See note.
        nameConstraints:
          type: string
          description: >
            Name constraints of certificates. See note.

  CertSubjectData:
    description: >
      This type provides input information related to subject of certificate.

      * NOTE: At least one overriding attributes shall be present, otherwise shall be absent.
    type: object
    properties:
      commonName:
        type: string
        description: >
          Information of certification target subject FQDN. See note.
      organization:
        type: string
        description: >
          Information of certification target subject Organization. See note.
      country:
        type: string
        description: >
          Information of certification target subject Country. See note.
      state:
        type: string
        description: >
          Information of certification target subject State. See note.
      locality:
        type: string
        description: >
          Information of certification target subject Locality. See note.
      emailAddress:
        type: string
        description: >
          Information of certification contact email address. See note.


  DateTime:
  DateTime:
    description: >
    description: >
      Date-time stamp.
      Date-time stamp.
+51 −3
Original line number Original line Diff line number Diff line
@@ -16,11 +16,11 @@ info:
  license:
  license:
    name: ETSI Forge copyright notice
    name: ETSI Forge copyright notice
    url: https://forge.etsi.org/etsi-forge-copyright-notice.txt
    url: https://forge.etsi.org/etsi-forge-copyright-notice.txt
  version: 2.11.0-impl:etsi.org:ETSI_NFV_OpenAPI:1
  version: 2.12.0-impl:etsi.org:ETSI_NFV_OpenAPI:1


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


servers:
servers:
  - url: http://127.0.0.1/vnflcm/v2
  - url: http://127.0.0.1/vnflcm/v2
@@ -219,6 +219,46 @@ paths:
        "504":
        "504":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504


  /vnf_instances/{vnfInstanceId}/select_depl_mods:
    parameters:
      - $ref: '#/components/parameters/VnfInstanceId'
      - $ref: ../../components/SOL002_params.yaml#/components/parameters/Version
      - $ref: ../../components/SOL002_params.yaml#/components/parameters/Authorization
    post:
      description: |
        The POST method requests to select deployable modules of a VNF instance. See clause 5.4.11b.3.1
      requestBody:
        $ref: '#/components/requestBodies/SelectVnfDeployableModulesRequest'
      responses:
        "202":
          $ref: '#/components/responses/InstantiateVnfInstance.Post.202'
        "409":
          $ref: '#/components/responses/InstantiateVnfInstance.Post.409'
        "400":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
        "401":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401
        "403":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403
        "404":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404
        "405":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405
        "406":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406
        "416":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416
        "422":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422
        "429":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429
        "500":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500
        "503":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503
        "504":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504

  /vnf_instances/{vnfInstanceId}/instantiate:
  /vnf_instances/{vnfInstanceId}/instantiate:
    parameters:
    parameters:
      - $ref: '#/components/parameters/VnfInstanceId'
      - $ref: '#/components/parameters/VnfInstanceId'
@@ -1386,6 +1426,14 @@ components:
            $ref: ./definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/InstantiateVnfRequest
            $ref: ./definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/InstantiateVnfRequest
      required: true
      required: true


    SelectVnfDeployableModulesRequest:
      description: Parameters for the VNF deployable modules selection.
      content:
        application/json:
          schema:
            $ref: ./definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/SelectVnfDeployableModulesRequest
      required: true

    VnfInstanceScaleRequest:
    VnfInstanceScaleRequest:
      description: Parameters for the scale VNF operation.
      description: Parameters for the scale VNF operation.
      content:
      content:
+262 −15

File changed.

Preview size limit exceeded, changes collapsed.

+10 −0
Original line number Original line Diff line number Diff line
@@ -17,6 +17,7 @@ definitions:
      * Change of the state of the VNF instance (i.e. Operate VNF)
      * Change of the state of the VNF instance (i.e. Operate VNF)
      * Change of the deployment flavour of the VNF instance
      * Change of the deployment flavour of the VNF instance
      * Change of the external connectivity of the VNF instance
      * Change of the external connectivity of the VNF instance
      * Selection of deployable modules of the VNF instance
      * Termination of the VNF instance
      * Termination of the VNF instance
      * Modification of VNF instance information and/or VNF configurable
      * Modification of VNF instance information and/or VNF configurable
        properties through the "PATCH" method on the "Individual VNF instance"
        properties through the "PATCH" method on the "Individual VNF instance"
@@ -188,6 +189,15 @@ definitions:
        type: array
        type: array
        items:
        items:
          $ref: "../../VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/AffectedVirtualCp"
          $ref: "../../VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/AffectedVirtualCp"
      affectedCertificates:
        description: >
          Information about certificate content that were affected during the execution of the lifecycle management
          operation, if this notification represents the result of a lifecycle management operation occurrence.
          Shall be present when using delegation mode, otherwise shall be absent.
          This attribute shall be supported when delegation mode in certificate management is applicable.
        type: array
        items:
          $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/AffectedCertificate"
      changedExtConnectivity:
      changedExtConnectivity:
        description: >
        description: >
          Information about changed external connectivity, if this
          Information about changed external connectivity, if this