Skip to content
NSLifecycleManagement.yaml 67.2 KiB
Newer Older
swagger: "2.0"

info:
  version: "2.4.1"
  title: DRAFT - SOL005 - NS Lifecycle Management Interface
  description: >
    DRAFT - SOL005 - NS Lifecycle Management Interface
    IMPORTANT: Please note that this file might be not aligned to the current
    version of the ETSI Group Specification it refers to and has not been
    approved by the ETSI NFV ISG. In case of discrepancies the published ETSI
    Group Specification takes precedence.
    Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis
  license:
    name: "ETSI Forge copyright notice"
    url: https://forge.etsi.org/etsi-forge-copyright-notice.txt
  contact: 
    name: "NFV-SOL WG"
externalDocs:
  description: ETSI GS NFV-SOL 005 V2.4.1
  url: http://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/02.04.01_60/gs_NFV-SOL005v020401p.pdf
basePath: "/nslcm/v1"
schemes:
  - https
consumes:
  - "application/json"
produces:
###############################################################################
# NSInstances                                                                 #
###############################################################################
  '/ns_instances':
    #ETSI GS NFV-SOL 005 V2.4.1 location: 6.4.2
    post:
      summary: "NS instances"
      description: >
        The POST method creates a new NS instance resource.
      parameters:
        - name: createNsRequest
          description: "The NS Instance creation parameters."
          in: body
          required: true
          schema:
            $ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/CreateNsRequest"            
        - name: Accept
          description: >
            Content-Types that are acceptable for the response.
            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: false
          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      
      responses:
        201:
          description: >
            
            A NS Instance identifier was created successfully.
            The response body shall contain a representation of
            the created NS instance, as defined in clause 6.5.2.8.
            The HTTP response shall include a "Location" HTTP
            header that contains the resource URI of the created
            NS instance.
          headers:
            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 NS 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/SOL005NSLifecycleManagement_def.yaml#/definitions/NsInstance"            
        400:
          $ref: "responses/SOL005_resp.yaml#/responses/400-attr-selector"
        401:
          $ref: "responses/SOL005_resp.yaml#/responses/401"
        403:
          $ref: "responses/SOL005_resp.yaml#/responses/403"
        404:
          $ref: "responses/SOL005_resp.yaml#/responses/404"
        405:
          $ref: "responses/SOL005_resp.yaml#/responses/405"
        406:
          $ref: "responses/SOL005_resp.yaml#/responses/406"
        409:
          $ref: "responses/NSLifecycleManagement_resp.yaml#/responses/409-inconsistent-state"
        416:
          $ref: "responses/SOL005_resp.yaml#/responses/416"
        500:
          $ref: "responses/SOL005_resp.yaml#/responses/500"
        503:
          $ref: "responses/SOL005_resp.yaml#/responses/503"      
    get:
      summary: "NS instances"
      description: >
        
        The GET method queries information about multiple NS instances.
        This method shall support the URI query parameters, request and response data structures, and response codes, as
        specified in the Tables 6.4.2.3.2-1 and 6.4.2.3.2-2.
      parameters:
        - name: "filter"
          in: "query"
          required: false
          type: "string"
          description: >  
            "Attribute-based filtering parameters according to clause 4.3.2.
            The NFVO shall support receiving filtering parameters as part of the URI
            query string. The OSS/BSS may supply filtering parameters.
            All attribute names that appear in the NsInstance and in data types
            referenced from it shall be supported in attribute-based filtering parameters"
        - name: "all_fields"
          in: "query"
          required: false
          type: "string"
          description: >  
            "Include all complex attributes in the response. See clause 4.3.3 for details.
            The NFVO shall support this parameter."
        - name: "fields"
          in: "query"
          required: false
          type: "string"
          description: >  
            "Complex attributes to be included into the response. See clause 4.3.3 for
            details. The NFVO should support this parameter."          
        - name: "exclude_fields"
          in: "query"
          required: false
          type: "string"
          description: >  
            "Complex attributes to be excluded from the response. See clause 4.3.3 for
            details. The NFVO should support this parameter."
        - name: "exclude_default"
          in: "query"
          required: false
          type: "string"
          description: >  
            "Indicates to exclude the following complex attributes from the response.
            See clause 4.3.3 for details. The NFVO shall support this parameter.
            The following attributes shall be excluded from the NsInstance structure in
            the response body if this parameter is provided, or none of the parameters
            "all_fields," "fields", "exclude_fields", "exclude_default" are provided:
            - vnfInstances
            - pnfInfo
            - virtualLinkInfo
            - vnffgInfo
            - sapInfo
            - nsScaleStatus
            - additionalAffinityOrAntiAffinityRules"
        - name: Accept
          description: >
            Content-Types that are acceptable for the response.
            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: false
          type: string      
      responses:
        200:
          description: >
            200 OK
             
            Information about zero or more NS instances was
            queried successfully.
            The response body shall contain representations of
            zero or more NS instances.
          headers:
            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:
            type: array
            items:
              $ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/NsInstance"     
        400:
          $ref: "responses/SOL005_resp.yaml#/responses/400-attr-selector"
        401:
          $ref: "responses/SOL005_resp.yaml#/responses/401"
        403:
          $ref: "responses/SOL005_resp.yaml#/responses/403"
        404:
          $ref: "responses/SOL005_resp.yaml#/responses/404"
        405:
          $ref: "responses/SOL005_resp.yaml#/responses/405"
        406:
          $ref: "responses/SOL005_resp.yaml#/responses/406"
        409:
          $ref: "responses/NSLifecycleManagement_resp.yaml#/responses/409-inconsistent-state"
        416:
          $ref: "responses/SOL005_resp.yaml#/responses/416"
        500:
          $ref: "responses/SOL005_resp.yaml#/responses/500"
        503:
          $ref: "responses/SOL005_resp.yaml#/responses/503"       
###############################################################################
# Individual NS instance                                                      #
###############################################################################
  '/ns_instances/{nsInstanceId}':
    #ETSI GS NFV-SOL 005 V2.4.1 location: 6.4.3
    parameters:
      - name: nsInstanceId
        description: >
          Identifier of the NS instance.
        in: path
        type: string
        required: true
    get:
      summary: Individual NS instance
      description: >
        The GET method retrieves information about a NS instance by 
        reading an individual NS instance resource.   
      parameters:
        - name: Accept
          description: >
            Content-Types that are acceptable for the response.
            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: false
          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
      responses:
        200:
            Information about an individual NS instance was
            queried successfully.
            The response body shall contain a representation of
            the NS instance.
          headers:
            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/SOL005NSLifecycleManagement_def.yaml#/definitions/NsInstance"

        400:
          $ref: "responses/SOL005_resp.yaml#/responses/400-attr-selector"
        401:
          $ref: "responses/SOL005_resp.yaml#/responses/401"
        403:
          $ref: "responses/SOL005_resp.yaml#/responses/403"
        404:
          $ref: "responses/SOL005_resp.yaml#/responses/404"
        405:
          $ref: "responses/SOL005_resp.yaml#/responses/405"
        406:
          $ref: "responses/SOL005_resp.yaml#/responses/406"
        409:
          $ref: "responses/NSLifecycleManagement_resp.yaml#/responses/409-inconsistent-state"
        416:
          $ref: "responses/SOL005_resp.yaml#/responses/416"
        500:
          $ref: "responses/SOL005_resp.yaml#/responses/500"
        503:
          $ref: "responses/SOL005_resp.yaml#/responses/503"              
          
    delete:
      summary: Individual NS instance.
      description: >
        Delete NS Identifier
  
        This method deletes an individual NS instance resource.
      parameters:
        - name: Authorization
          description: >
            The authorization token for the request.
            Reference: IETF RFC 7235
          in: header
          required: false
          type: string
      responses:
        204:
          description: >
            204 No Content
            
            The NS instance resource and the associated NS
            identifier were deleted successfully.
            The response body shall be empty.
          headers:
            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/SOL005_resp.yaml#/responses/400-attr-selector"
        401:
          $ref: "responses/SOL005_resp.yaml#/responses/401"
        403:
          $ref: "responses/SOL005_resp.yaml#/responses/403"
        404:
          $ref: "responses/SOL005_resp.yaml#/responses/404"
        405:
          $ref: "responses/SOL005_resp.yaml#/responses/405"
        406:
          $ref: "responses/SOL005_resp.yaml#/responses/406"
        409:
          $ref: "responses/NSLifecycleManagement_resp.yaml#/responses/409-state-conflict-INSTANTIATED"
        412:
          $ref: "responses/SOL005_resp.yaml#/responses/412"
        500:
          $ref: "responses/SOL005_resp.yaml#/responses/500"
        503:
          $ref: "responses/SOL005_resp.yaml#/responses/503"

###############################################################################
# Instantiate NS task                                                         #
###############################################################################
  '/ns_instances/{nsInstanceId}/instantiate':
    #ETSI GS NFV-SOL 005 V2.4.1 location: 6.4.4
    parameters:
      - name: nsInstanceId
        description: >
          Identifier of the NS instance to be instantiated.
        in: path
        type: string
        required: true
    post: 
      summary: Instantiate NS task.
      description: >
        The POST method requests to instantiate a NS instance resource.
      parameters:
        - name: InstantiateNsRequest
          description: >
            Parameters for the instantiate NS operation, as defined in clause 6.5.2.10.
          in: body
          required: true
          schema:
            $ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/InstantiateNsRequest"            
        - name: Accept
          description: >
            Content-Types that are acceptable for the response.
            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: false
          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
      responses:
        202:
          description: > 
            The request was accepted for processing, but the
            processing has not been completed.
            The response body shall be empty.
            The HTTP response shall include a "Location" HTTP
            header that contains the URI of the newly-created
            "NS LCM operation occurrence" resource
            corresponding to the operation.
        400:
          $ref: "responses/SOL005_resp.yaml#/responses/400"
        401:
          $ref: "responses/SOL005_resp.yaml#/responses/401"
        403:
          $ref: "responses/SOL005_resp.yaml#/responses/403"
        404:
          $ref: "responses/SOL005_resp.yaml#/responses/404"
        405:
          $ref: "responses/SOL005_resp.yaml#/responses/405"
        406:
          $ref: "responses/SOL005_resp.yaml#/responses/406"
        409:
          $ref: "responses/NSLifecycleManagement_resp.yaml#/responses/409-state-conflict-INSTANTIATED"
        416:
          $ref: "responses/SOL005_resp.yaml#/responses/416"
        500:
          $ref: "responses/SOL005_resp.yaml#/responses/500"
        503:
          $ref: "responses/SOL005_resp.yaml#/responses/503"
            
###############################################################################
# Scale NS task                                                               #
###############################################################################
  '/ns_instances/{nsInstanceId}/scale':
    #ETSI GS NFV-SOL 005 V2.4.1 location: 6.4.5
    parameters:
      - name: nsInstanceId
        description: >
          Identifier of the NS instance to be scaled.
        in: path
        type: string
        required: true
    post: 
      summary: Scale NS task.
      description: >
        The POST method requests to scale a NS instance resource.
      parameters:
        - name: ScaleNsRequest
          description: Represents a request for the scale NS operation
          in: body
          required: true
          schema:
            $ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/ScaleNsRequest"
        - name: Accept
          description: >
            Content-Types that are acceptable for the response.
            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: false
          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
      responses:
        202:
          $ref: "responses/NSLifecycleManagement_resp.yaml#/responses/202-with-Location"
        400:
          $ref: "responses/SOL005_resp.yaml#/responses/400"
        401:
          $ref: "responses/SOL005_resp.yaml#/responses/401"
        403:
          $ref: "responses/SOL005_resp.yaml#/responses/403"
        404:
          $ref: "responses/SOL005_resp.yaml#/responses/404-task-resource-not-exists"
        405:
          $ref: "responses/SOL005_resp.yaml#/responses/405"
        406:
         $ref: "responses/SOL005_resp.yaml#/responses/406"
        409:
          $ref: "responses/NSLifecycleManagement_resp.yaml#/responses/409-state-conflict-NOT-INSTANTIATED"
        500:
          $ref: "responses/SOL005_resp.yaml#/responses/500"
        503:
          $ref: "responses/SOL005_resp.yaml#/responses/503"
          
###############################################################################
# Update NS task                                                              #
###############################################################################
  '/ns_instances/{nsInstanceId}/update':
    #ETSI GS NFV-SOL 005 V2.4.1 location: 6.4.6
    parameters:
      - name: nsInstanceId
        description: >
          Identifier of the NS instance to be updated.
        in: path
        type: string
        required: true
    post: 
      summary: Update NS task.
      description: >
        Scale NS instance.
        The POST method requests to scale a NS instance resource.
      parameters:
        - name: UpdateNsRequest
          description: Represents a request for the scale NS operation.
          in: body
          required: true
          schema:
            $ref: "definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/UpdateNsRequest"
        - name: Accept
          description: >
            Content-Types that are acceptable for the response.
            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: false
          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
      responses:
        202:
          $ref: "responses/NSLifecycleManagement_resp.yaml#/responses/202-with-Location"
        400:
          $ref: "responses/SOL005_resp.yaml#/responses/400"
        401:
          $ref: "responses/SOL005_resp.yaml#/responses/401"
        403:
          $ref: "responses/SOL005_resp.yaml#/responses/403"
        404:
          $ref: "responses/SOL005_resp.yaml#/responses/404-task-resource-not-exists"
        405:
          $ref: "responses/SOL005_resp.yaml#/responses/405"
        406:
          $ref: "responses/SOL005_resp.yaml#/responses/406"
        409:
          $ref: "responses/NSLifecycleManagement_resp.yaml#/responses/409-state-conflict-NOT-INSTANTIATED"
        500:
          $ref: "responses/SOL005_resp.yaml#/responses/500"
        503:
          $ref: "responses/SOL005_resp.yaml#/responses/503"
          
###############################################################################
# Heal NS task                                                                #
###############################################################################
  '/ns_instances/{nsInstanceId}/heal':
    #ETSI GS NFV-SOL 005 V2.4.1 location: 6.4.7
    parameters:
      - name: nsInstanceId
        description: >
          Identifier of the NS instance to be healed.
        in: path
        type: string
        required: true
    post:
      summary: Heal NS task.    
      description: >
  
        The POST method requests to heal a NS instance resource.
        This method shall follow the provisions specified in the Tables 6.4.7.3.1-1 and 
        6.4.7.3.1-2 for URI query parameters,
        request and response data structures, and response codes.
      parameters:
        - name: HealNsRequest
          description: Parameters for the heal NS operation, as defined in clause 6.5.2.12.
          in: body
          required: true
          schema:
            $ref: "definitions/NSLifecycleManagement_def.yaml#/definitions/HealNsRequest"
        - name: Accept
          description: >
            Content-Types that are acceptable for the response.
            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: false
          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
      responses:
        202:
          $ref: "responses/NSLifecycleManagement_resp.yaml#/responses/202-with-Location"
        400:
          $ref: "responses/SOL005_resp.yaml#/responses/400"
        401:
          $ref: "responses/SOL005_resp.yaml#/responses/401"
        403:
          $ref: "responses/SOL005_resp.yaml#/responses/403"
        404:
          $ref: "responses/SOL005_resp.yaml#/responses/404-task-resource-not-exists"
        405:
          $ref: "responses/SOL005_resp.yaml#/responses/405"
        406:
          $ref: "responses/SOL005_resp.yaml#/responses/406"
        409:
          $ref: "responses/NSLifecycleManagement_resp.yaml#/responses/409-state-conflict-NOT-INSTANTIATED"
        500:
          $ref: "responses/SOL005_resp.yaml#/responses/500"
        503:
          $ref: "responses/SOL005_resp.yaml#/responses/503"          

###############################################################################
# Terminate NS task                                                           #
###############################################################################
  '/ns_instances/{nsInstanceId}/terminate':
    #ETSI GS NFV-SOL 005 V2.4.1 location: 6.4.8
    parameters:
      - name: nsInstanceId
        description: >
          The identifier of the NS instance to be terminated.
        in: path
        type: string
        required: true
    post:
      summary: Terminate NS task
      description: >
        The POST method terminates a NS instance. This method can only be 
        used with a NS instance in the INSTANTIATED
        state. Terminating a NS instance does not delete the NS instance identifier, 
        but rather transitions the NS into the NOT_INSTANTIATED state.
        This method shall support the URI query parameters, request and 
        response data structures, and response codes, as
        specified in the Tables 6.4.8.3.1-1 and 6.8.8.3.1-2.
      parameters:
        - name: TerminateNsRequest
          description: The terminate NS request parameters, as defined in clause 6.5.2.14.
          in: body
          required: true
          schema:
            $ref: "definitions/NSLifecycleManagement_def.yaml#/definitions/TerminateNsRequest"
        - name: Accept
          description: >
            Content-Types that are acceptable for the response.
            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: false
          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
      responses:
        202:
          $ref: "responses/NSLifecycleManagement_resp.yaml#/responses/202-with-Location"
        400:
          $ref: "responses/SOL005_resp.yaml#/responses/400"
        401:
          $ref: "responses/SOL005_resp.yaml#/responses/401"
        403:
          $ref: "responses/SOL005_resp.yaml#/responses/403"
        404:
          $ref: "responses/SOL005_resp.yaml#/responses/404-task-resource-not-exists"
        405:
          $ref: "responses/SOL005_resp.yaml#/responses/405"
        406:
          $ref: "responses/SOL005_resp.yaml#/responses/406"
        409:
          $ref: "responses/NSLifecycleManagement_resp.yaml#/responses/409-state-conflict-NOT-INSTANTIATED"
        500:
          $ref: "responses/SOL005_resp.yaml#/responses/500"
        503:
          $ref: "responses/SOL005_resp.yaml#/responses/503"

###############################################################################
# NS LCM operation occurrences                                                #
###############################################################################
  '/ns_lcm_op_occs':
    #ETSI GS NFV-SOL 005 V2.4.1 location: 6.4.9
    get:
      summary: NS lifecycle operation occurrences.
      description: >
        The client can use this method to query status information about multiple NS lifecycle management operation
        occurrences.
        This method shall follow the provisions specified in the Tables 6.4.9.3.2-1 and 6.4.9.3.2-2 for URI query parameters,
        request and response data structures, and response codes.
      parameters:
        - name: "filter"
          in: "query"
          required: false
          type: "string"
          description: >  
            Attribute-based filtering parameters according to clause 4.3.2.
            The NFVO shall support receiving filtering parameters as part of the URI query string.
            The OSS/BSS may supply an attribute filter.
            All attribute names that appear in the NsLcmOpOcc and in data types referenced
            from it shall be supported in filtering parameters.
        - name: "fields"
          in: "query"
          required: false
          type: "string"
          description: >  
            Complex attributes to be included into the response. See clause 4.3.3 for details. The
            NFVO should support this parameter.
        - name: "exclude_fields"
          in: "query"
          required: false
          type: "string"
          description: >  
            Complex attributes to be excluded from the response. See clause 4.3.3 for details.
            The NFVO should support this parameter.
        - name: "exclude_default"
          in: "query"
          required: false
          type: "string"
          description: >  
            Indicates to exclude the following complex attributes from the response. See
            clause 4.3.3 for details. The NFVO shall support this parameter.
            The following attributes shall be excluded from the NsLcmOpOcc structure in the
            response body if this parameter is provided:
            - operationParams
            - changedVnfInfo
            - error
            - resourceChanges
        - name: Accept
          description: >
            Content-Types that are acceptable for the response.
            Reference: IETF RFC 7231
        - name: Authorization
          description: >
            The authorization token for the request.
            Reference: IETF RFC 7235
          in: header
          required: false
          type: string
      responses:
        200:
          description: >
            Status information for zero or more NS lifecycle
            management operation occurrences was queried
            successfully.
            The response body shall contain representations of
            zero or more NS instances, as defined in
            clause 5.5.2.13.
          headers:
            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:
            type: array
            items:
              $ref: "definitions/NSLifecycleManagement_def.yaml#/definitions/NsLcmOpOcc"        
        400:
          $ref: "responses/SOL005_resp.yaml#/responses/400"
        401:
          $ref: "responses/SOL005_resp.yaml#/responses/401"
        403:
          $ref: "responses/SOL005_resp.yaml#/responses/403"
        404:
          $ref: "responses/SOL005_resp.yaml#/responses/404"
        405:
          $ref: "responses/SOL005_resp.yaml#/responses/405"
        406:
          $ref: "responses/SOL005_resp.yaml#/responses/406"
        409:
          $ref: "responses/NSLifecycleManagement_resp.yaml#/responses/409-inconsistent-state"
        500:
          $ref: "responses/SOL005_resp.yaml#/responses/500"
        503:
          $ref: "responses/SOL005_resp.yaml#/responses/503"

###############################################################################
# Individual NS lifecycle operation occurrence                                #
###############################################################################
  '/ns_lcm_op_occs/{nsLcmOpOccId}':
    parameters:
      - name: nsLcmOpOccId
        description: >
          Identifier of a NS lifecycle management operation occurrence.
        in: path
        type: string
        required: true
    get: 
      summary: Individual NS lifecycle operation occurrence.
      description: >
          The client can use this method to retrieve status information about 
          a NS lifecycle management operation occurrence by
          reading an individual "NS LCM operation occurrence" resource.
          This method shall follow the provisions specified in the 
          Tables 6.4.10.3.2-1 and 6.4.10.3.2-2 for URI query parameters,
          request and response data structures, and response codes.
      parameters:
        - name: Accept
          description: >
            Content-Types that are acceptable for the response.
            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: false
          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
      responses:
        200:
          description: > 
            Information about an individual NS instance was
            queried successfully.
            The response body shall contain status information
            about a NS lifecycle management operation  occurrence.
          headers:
            Content-Type:
              description: >
                The MIME type of the body of the response.
              type: string
              maximum: 1
              minimum: 1
              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/NSLifecycleManagement_def.yaml#/definitions/NsLcmOpOcc"            
        400:
          $ref: "responses/SOL005_resp.yaml#/responses/400"
        401:
          $ref: "responses/SOL005_resp.yaml#/responses/401"
        403:
          $ref: "responses/SOL005_resp.yaml#/responses/403"
        404:
          $ref: "responses/SOL005_resp.yaml#/responses/404"
        405:
          $ref: "responses/SOL005_resp.yaml#/responses/405"
        406:
          $ref: "responses/SOL005_resp.yaml#/responses/406"
        409:
          $ref: "responses/NSLifecycleManagement_resp.yaml#/responses/409-inconsistent-state"
        416:
          $ref: "responses/SOL005_resp.yaml#/responses/416"
        500:
          $ref: "responses/SOL005_resp.yaml#/responses/500"
        503:
          $ref: "responses/SOL005_resp.yaml#/responses/503"          

###############################################################################
# Retry operation task                                                        #
###############################################################################
  '/ns_lcm_op_occs/{nsLcmOpOccId}/retry':
    #ETSI GS NFV-SOL 005 V2.4.1 location: 6.4.11
    parameters:
      - name: nsLcmOpOccId
        description: >
          Identifier of a NS lifecycle management operation occurrence to be retried.
          
          This identifier can be retrieved from the resource referenced by the "Location" HTTP header in the response
          to a POST request triggering a NS LCM operation. It can also be retrieved from the "nsLcmOpOccId"
          attribute in the NsLcmOperationOccurrenceNotification
        in: path
        type: string
        required: true
    post:
      summary: Retry operation task.
      description: >
        The POST method initiates retrying a NS lifecycle management operation 
        if that operation has experienced a temporary
        failure, i.e. the related "NS LCM operation occurrence" is in "FAILED_TEMP" state.
        This method shall follow the provisions specified in the 
        Tables 6.4.11.3.1-1 and 6.4.11.3.1-2 for URI query parameters,
        request and response data structures, and response codes.
      parameters:
        - name: Authorization
          description: >
            The authorization token for the request.
            Reference: IETF RFC 7235
          in: header
          required: false
          type: string
      responses:
        202:
          $ref: "responses/SOL005_resp.yaml#/responses/202"
        400:
          $ref: "responses/SOL005_resp.yaml#/responses/400"
        401:
          $ref: "responses/SOL005_resp.yaml#/responses/401"
        403:
          $ref: "responses/SOL005_resp.yaml#/responses/403"
        404:
          $ref: "responses/SOL005_resp.yaml#/responses/404-task-resource-not-exists-NS-LCM"
        405:
          $ref: "responses/SOL005_resp.yaml#/responses/405"
        406:
          $ref: "responses/SOL005_resp.yaml#/responses/406"
        409:
          $ref: "responses/NSLifecycleManagement_resp.yaml#/responses/409-state-conflict-not-FAILED_TEMP"
        500:
          $ref: "responses/SOL005_resp.yaml#/responses/500"
        503:
          $ref: "responses/SOL005_resp.yaml#/responses/503"
          
###############################################################################
# Rollback a NS lifecycle management operation occurrence.                    #
###############################################################################
  '/ns_lcm_op_occs/{nsLcmOpOccId}/rollback':
    #ETSI GS NFV-SOL 005 V2.4.1 location: 6.4.12
    parameters:
      - name: nsLcmOpOccId
        description: >
          Identifier of a NS lifecycle management operation occurrence to be rolled back.
          This identifier can be retrieved from the resource referenced by the "Location" HTTP header in the response
          to a POST request triggering a NS LCM operation. It can also be retrieved from the "nsLcmOpOccId"
          attribute in the NsLcmOperationOccurrenceNotification.
        in: path
        required: true
        type: string
    post:
      summary: Rollback operation task.
      description: >
        The POST method initiates rolling back a NS lifecycle operation 
        if that operation has experienced a temporary failure,
        i.e. the related "NS LCM operation occurrence" is in "FAILED_TEMP" state.
        This method shall follow the provisions specified in the 
        Tables 6.4.12.3.1-1 and 6.4.12.3.1-2 for URI query parameters,