Commit a0233a67 authored by Gergely Csatari's avatar Gergely Csatari Committed by Michele Carignani
Browse files

VNF Lifecycle Operation Granting interface



Change-Id: Ieaacad72426cc2e864220427891578e9add62790
Signed-off-by: default avatarGergely Csatari <gergely.csatari@nokia.com>
parent c62cb215
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -1188,7 +1188,7 @@ paths:
              maximum: 1
              maximum: 1
              minimum: 0
              minimum: 0
          schema:
          schema:
            $ref: "definitions/VNFLifecycleManagement_def.yaml#/definitions/VnfLcmOpOcc"
            $ref: "../../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails"
        500:
        500:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
        503:
        503:
+12 −37
Original line number Original line Diff line number Diff line
@@ -187,7 +187,7 @@ definitions:
          Information about external VLs to change (e.g. connect the VNF to).
          Information about external VLs to change (e.g. connect the VNF to).
        type: array
        type: array
        items:
        items:
          $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/ExtVirtualLinkData"
          $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ExtVirtualLinkData"
      vimConnectionInfo:
      vimConnectionInfo:
        description: >
        description: >
          Information about VIM connections to be used for managing the
          Information about VIM connections to be used for managing the
@@ -196,7 +196,7 @@ definitions:
          if VNF-related resource management in direct mode is applicable.
          if VNF-related resource management in direct mode is applicable.
        type: array
        type: array
        items:
        items:
          $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VimConnectionInfo"
          $ref: ../../../definitions/SOL002SOL003_def.yaml#/definitions/VimConnectionInfo
      additionalParams:
      additionalParams:
        description: >
        description: >
          Additional input parameters for the instantiation process, specific
          Additional input parameters for the instantiation process, specific
@@ -227,13 +227,13 @@ definitions:
          Information about external VLs to connect the VNF to.
          Information about external VLs to connect the VNF to.
        type: array
        type: array
        items:
        items:
          $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/ExtVirtualLinkData"
          $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ExtVirtualLinkData"
      extManagedVirtualLinks:
      extManagedVirtualLinks:
        description: >
        description: >
          Information about external VLs to connect the VNF to.
          Information about external VLs to connect the VNF to.
        type: array
        type: array
        items:
        items:
          $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/ExtManagedVirtualLinkData"
          $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ExtManagedVirtualLinkData"
      vimConnectionInfo:
      vimConnectionInfo:
        description: >
        description: >
          Information about VIM connections to be used for managing the
          Information about VIM connections to be used for managing the
@@ -243,7 +243,7 @@ definitions:
          management in direct mode is applicable.
          management in direct mode is applicable.
        type: array
        type: array
        items:
        items:
          $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VimConnectionInfo"
          $ref: ../../../definitions/SOL002SOL003_def.yaml#/definitions/VimConnectionInfo
      additionalParams:
      additionalParams:
        description: >
        description: >
          Additional input parameters for the instantiation process, specific
          Additional input parameters for the instantiation process, specific
@@ -336,13 +336,13 @@ definitions:
          Information about external VLs to connect the VNF to.
          Information about external VLs to connect the VNF to.
        type: array
        type: array
        items:
        items:
          $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/ExtVirtualLinkData"
          $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ExtVirtualLinkData"
      extManagedVirtualLinks:
      extManagedVirtualLinks:
        description: >
        description: >
          Information about external VLs to connect the VNF to.
          Information about external VLs to connect the VNF to.
        type: array
        type: array
        items:
        items:
          $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/ExtManagedVirtualLinkData"
          $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ExtManagedVirtualLinkData"
      vimConnectionInfo:
      vimConnectionInfo:
        description: >
        description: >
          Information about VIM connections to be used for managing the
          Information about VIM connections to be used for managing the
@@ -352,7 +352,7 @@ definitions:
          management in direct mode is applicable.
          management in direct mode is applicable.
        type: array
        type: array
        items:
        items:
          $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VimConnectionInfo"
          $ref: ../../../definitions/SOL002SOL003_def.yaml#/definitions/VimConnectionInfo
      localizationLanguage:
      localizationLanguage:
        description: >
        description: >
          Localization language of the VNF to be instantiated. The value shall
          Localization language of the VNF to be instantiated. The value shall
@@ -641,31 +641,6 @@ definitions:
          authorization of notifications.
          authorization of notifications.
        $ref: "../../definitions/SOL002SOL003_def.yaml#/definitions/SubscriptionAuthentication"
        $ref: "../../definitions/SOL002SOL003_def.yaml#/definitions/SubscriptionAuthentication"


  LcmOperationType:
    description: >
      Value | Description
      ------|------------
      INSTANTIATE | Represents the "Instantiate VNF" LCM operation.   
      SCALE | Represents the "Scale VNF" LCM operation.
      SCALE_TO_LEVEL | Represents the "Scale VNF to Level" LCM operation.
      CHANGE_FLAVOUR | Represents the "Change VNF Flavour" LCM operation.
      TERMINATE | Represents the "Terminate VNF" LCM operation.
      HEAL | Represents the "Heal VNF" LCM operation.
      OPERATE | Represents the "Operate VNF" LCM operation.
      CHANGE_EXT_CONN | Represents the "Change external VNF connectivity" LCM operation.
      MODIFY_INFO | Represents the "Modify VNF Information" LCM operation.     
    type: string
    enum:
      - INSTANTIATE
      - SCALE
      - SCALE_TO_LEVEL
      - CHANGE_FLAVOUR
      - TERMINATE
      - HEAL
      - OPERATE
      - CHANGE_EXT_CONN
      - MODIFY_INFO      

  LcmOperationStateType:
  LcmOperationStateType:
    description: >
    description: >
      Value | Description
      Value | Description
@@ -727,7 +702,7 @@ definitions:
          otherwise.
          otherwise.
        type: array
        type: array
        items: 
        items: 
          $ref: "#/definitions/LcmOperationType"
          $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/LcmOperationType"
      operationStates:
      operationStates:
        description: >
        description: >
          Match particular LCM operation state values as reported in
          Match particular LCM operation state values as reported in
@@ -1277,7 +1252,7 @@ definitions:
          This attribute can be modified with the PATCH method.
          This attribute can be modified with the PATCH method.
        type: array
        type: array
        items:
        items:
          $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VimConnectionInfo"
          $ref: ../../../definitions/SOL002SOL003_def.yaml#/definitions/VimConnectionInfo
      instantiationState:
      instantiationState:
        description: >
        description: >
          The instantiation state of the VNF.
          The instantiation state of the VNF.
@@ -1407,7 +1382,7 @@ definitions:
      operation:
      operation:
        description: >
        description: >
          The lifecycle management operation.
          The lifecycle management operation.
        $ref: "#/definitions/LcmOperationType"
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/LcmOperationType"
      isAutomaticInvocation:
      isAutomaticInvocation:
        description: >
        description: >
          Set to true if this VNF LCM operation occurrence has been triggered
          Set to true if this VNF LCM operation occurrence has been triggered
@@ -1537,7 +1512,7 @@ definitions:
        description: >
        description: >
          Type of the actual LCM operation represented by this VNF LCM
          Type of the actual LCM operation represented by this VNF LCM
          operation occurrence.
          operation occurrence.
        $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/LcmOperationType"
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/LcmOperationType"
      isAutomaticInvocation:
      isAutomaticInvocation:
        description: >
        description: >
          Set to true if this VNF LCM operation occurrence has been triggered
          Set to true if this VNF LCM operation occurrence has been triggered
+239 −0
Original line number Original line Diff line number Diff line
swagger: "2.0"

info:
  version: "2.3.0"
  title: SOL003
  license:
    name: "ETSI Forge copyright notice"
    url: https://forge.etsi.org/etsi-forge-copyright-notice.txt

basePath: "/grant/v1"

schemes:
  - https

consumes:
  - "application/json"
produces:
  - "application/json"

paths:
###############################################################################
# Resource: Grants                                                            #
###############################################################################
  '/grants':
  #SOL003 location: 9.4.2
    post:
      description: >
        The POST method requests a grant for a particular VNF lifecycle
        operation.
      parameters:
        - name: GrantRequest
          in: body
          required: true
          schema:
            $ref: "definitions/VNFLifecycleOperationGranting_def.yaml#/definitions/GrantRequest"
        - name: Accept
          description: >
            Content-Types that are acceptable for the response.
            Reference: IETF RFC 7231
          in: header
          required: true
          type: string
        - name: Content-Type
          description: >
            The MIME type of the body of the request.
            Reference: IETF RFC 7231
          in: header
          required: true
          type: string
        - name: Authorization
          description: >
            The authorization token for the request.
            Reference: IETF RFC 7235
          in: header
          required: true
          type: string
      responses:
        201:
          description: >
            The grant was created successfully (synchronous mode).
            A representation of the created "Individual grant" resource shall
            be returned in the response body.
            The HTTP response shall include a "Location" HTTP header that
            indicates the URI of the "Individual grant" resource just created.
          headers:
            #TODO: Add headers defined in 4.3.4.3
            Content-Type:
              description: The MIME type of the body of the response.
              type: string
              maximum: 1
              minimum: 1
            Location:
              description: The resource URI of the created VNF instance
              type: string
              format: url
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              type: string
              maximum: 1
              minimum: 0
          schema:
            $ref: "definitions/VNFLifecycleOperationGranting_def.yaml#/definitions/Grant"
        202:
          description: >
            The request was accepted for processing, but the processing has
            not been completed. It is expected to take some time to create
            the grant (asynchronous mode).
            The response body shall be empty.
            The HTTP response shall include a "Location" HTTP header that
            indicates the URI of the "Individual grant" resource that will be
            created once the granting decision has been made.
          headers:
            #TODO: Add headers defined in 4.3.4.3
            Location:
              description: The resource URI of the created VNF instance
              type: string
              format: url
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              type: string
              maximum: 1
              minimum: 0
        400:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
        401:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401"
        403:
          description: >
            The grant was rejected.
            A ProblemDetails structure shall be included in the response to
            provide more details about the rejection in the "details"
            attribute.
          headers:
            #TODO: Add headers defined in 4.3.4.3
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              type: string
              maximum: 1
              minimum: 0
          schema:
            $ref: "../../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails"
        404:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404"
        405:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405"
        406:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
        416:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416"
        422:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422"
        500:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
        503:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
###############################################################################
# Resource: Individual grant                                                  #
###############################################################################
  '/grants/{grantId}':
  #SOL003 location: 9.4.3
    parameters:
      - name: grantId
        description: >
          Identifier of the grant.
          This identifier can be retrieved from the resource referenced by the
          "Location" HTTP header in the response to a POST request granting a
          new VNF lifecycle operation. It can also be retrieved from the "id"
          attribute in the payload body of that response.
        in: path
        type: string
        required: true
    get:
      description: >
        The GET method retrieves information about a subscription by reading
        an individual subscription resource.
      responses:
        200:
          description: >
            The grant was read successfully.
            A representation of the "individual grant" resource shall be
            returned in the response body.
          headers:
            #TODO: Add headers defined in 4.3.4.3
            Content-Type:
              description: The MIME type of the body of the response.
              type: string
              maximum: 1
              minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              type: string
              maximum: 1
              minimum: 0
          schema:
            $ref: "definitions/VNFLifecycleOperationGranting_def.yaml#/definitions/Grant"
        202:
          description: >
            The process of creating the grant is ongoing, no grant is
            available yet.
            The response body shall be empty.
          headers:
            #TODO: Add headers defined in 4.3.4.3
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              type: string
              maximum: 1
              minimum: 0
        400:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
        401:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401"
        403:
          description: >
            The grant was rejected.
            A ProblemDetails structure shall be included in the response to
            provide more details about the rejection in the "details"
            attribute.
          headers:
            #TODO: Add headers defined in 4.3.4.3
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              type: string
              maximum: 1
              minimum: 0
          schema:
            $ref: "../../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails"
        404:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404"
        405:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405"
        406:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
        416:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416"
        422:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422"
        500:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
        503:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
+745 −0

File added.

Preview size limit exceeded, changes collapsed.

+0 −40
Original line number Original line Diff line number Diff line
@@ -294,46 +294,6 @@ definitions:
          items:
          items:
            $ref: "#/definitions/ExtLinkPort"
            $ref: "#/definitions/ExtLinkPort"


  ExtVirtualLinkData:
    #SOL003 location: 4.4.1.11
    description: >
      This type represents an external VL.
    type: object
    required:
      - id
      - resourceId
      - extCps
    properties: 
      id: 
        description: >
          The identifier of the external VL instance.
        $ref: "SOL002SOL003_def.yaml#/definitions/Identifier"
      vimConnectionId:
        description: >
          Identifier of the VIM connection to manage this resource. This
          attribute shall only be supported and present if VNF-related
          resource management in direct mode is applicable.
        $ref: "SOL002SOL003_def.yaml#/definitions/Identifier"
      resourceProviderId: 
        description: >
          Identifies the entity responsible for the management of this
          resource. This attribute shall only be supported and present
          if VNF-related resource management in indirect mode is applicable.
          The identification scheme is outside the scope of the present
          document.
        $ref: "SOL002SOL003_def.yaml#/definitions/Identifier"
      resourceId: 
        description: >
          The identifier of the resource in the scope of the VIM or the
          resource provider.
        $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVim"
      extCps:
        description: >
          External CPs of the VNF to be connected to this external VL.
        type: array
        items: 
          $ref: "#/definitions/VnfExtCpData"

  FixedNetworkAddressData:
  FixedNetworkAddressData:
    #SOL003 location: 4.4.1.8
    #SOL003 location: 4.4.1.8
    description: >
    description: >
Loading