Skip to content
SOL003-VirtualisedResourcesQuotaAvailableNotification-API.yaml 135 KiB
Newer Older
swagger: '2.0'
info:
  version: 1.1.1
  title: SOL003 - Virtualised Resources Quota Available Notification interface
  description: >
    SOL003 - Virtualised Resources Quota Available Notification interface 


    IMPORTANT: Please note that this file might be not aligned to the current
    version of the ETSI Group Specification it refers to. In case of
    discrepancies the published ETSI Group Specification takes precedence.


    In clause 4.3.2 of ETSI GS NFV-SOL 003 v2.4.1, an attribute-based filtering
    mechanism is defined. This mechanism is currently not included in the
    corresponding OpenAPI design for this GS version. Changes to the
    attribute-based filtering mechanism are being considered in v2.5.1 of this
    GS for inclusion in the corresponding future ETSI NFV OpenAPI design.

    Please report bugs to
    https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution=
  license:
    name: ETSI Forge copyright notice
    url: 'https://forge.etsi.org/etsi-forge-copyright-notice.txt'
externalDocs:
  description: ETSI GS NFV-SOL 003 V2.4.1
  url: >-
    http://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.04.01_60/gs_NFV-SOL003v020401p.pdf
basePath: /vrqan/v1
schemes:
  - https
consumes:
  - application/json
produces:
  - application/json
paths:
  /subscriptions:
    post:
      description: >
        Subscribe


        The POST method creates a new subscription. Creation of two subscription
        resources with the same callbackURI and the same filter can result in
        performance degradation and will provide duplicates of notifications to
        the VNFM, and might make sense only in very rare use cases.
        Consequently, the NFVO may either allow creating a subscription resource
        if another subscription resource with the same filter and callbackUri
        already exists (in which case it shall return the “201 Created” response
        code), or may decide to not create a duplicate subscription resource (in
        which case it shall return a “303 See Other” response code referencing
        the existing subscription resource with the same filter and
        callbackUri).
      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 Content-Type header shall be set to
            "application/merge-patch+json" according to IETF RFC 7396.
          in: header
          required: true
          type: string
        - name: VrQuotaAvailSubscriptionRequest
          description: Details of the subscription to be created.
          in: body
          required: true
          schema:
            description: >
              This type represents a subscription request related to
              notifications related to the availability of the virtualised
              resources quotas.
            type: object
            required:
              - callbackUri
            properties:
              filter:
                description: >
                  This type represents a subscription filter related to
                  notifications about the availability of the virtualised
                  resources quotas. At a particular nesting level in the filter
                  structure, the following applies: All attributes shall match
                  in order for the filter to match (logical "and" between
                  different filter attributes). If an attribute is an array, the
                  attribute shall match if at least one of the values in the
                  array matches (logical "or" between the values of one filter
                  attribute).
                type: object
                properties:
                  vimIds:
                    description: >
                      Match VIMs that were created the quota for a consumer of
                      the virtualised resources. This attribute shall only be
                      supported when VNF-related Resource Management in direct
                      mode is applicable.
                    type: array
                    items:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                  resourceProviderIds:
                    description: >
                      Match the entities responsible for the management of the
                      virtualised resources that were allocated by the NFVO.
                      This attribute shall only be supported when VNF-related
                      Resource Management in indirect mode is applicable. The
                      identification scheme is outside the scope of the present
                      document.
                    type: array
                    items:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                  resourceTypes:
                    description: |
                      Match particular resource types.
                    type: array
                    items:
                      type: string
                      enum:
                        - COMPUTE
                        - STORAGE
                        - NETWORK
                  resourceGroupIds:
                    description: >
                      Match the "infrastructure resource groups" that are
                      logical groupings of the virtualised resources assigned to
                      a tenant within an infrastructure Domain.
                    type: array
                    items:
                      description: >
                        An identifier maintained by the VIM or other resource
                        provider. It is expected to be unique within the VIM
                        instance.
                      type: string
              callbackUri:
                description: |
                  String formatted according to IETF RFC 3986.
                type: string
              authentication:
                type: object
                required:
                  - authType
                properties:
                  authType:
                    description: >
                      Defines the types of Authentication / Authorization which
                      the API consumer is willing to accept when receiving a
                      notification. Permitted values: * BASIC: In every HTTP
                      request to the notification endpoint, use
                        HTTP Basic authentication with the client credentials. 
                      * OAUTH2_CLIENT_CREDENTIALS: In every HTTP request to the
                        notification endpoint, use an OAuth 2.0 Bearer token, obtained
                        using the client credentials grant type.
                      * TLS_CERT: Every HTTP request to the notification
                      endpoint is sent
                        over a mutually authenticated TLS session, i.e. not only the
                        server is authenticated, but also the client is authenticated
                        during the TLS tunnel setup.
                    type: array
                    items:
                      type: string
                      enum:
                        - BASIC
                        - OAUTH2_CLIENT_CREDENTIALS
                        - TLS_CERT
                  paramsBasic:
                    description: >
                      Parameters for authentication/authorization using BASIC.
                      Shall be present if authType is "BASIC" and the contained
                      information has not been provisioned out of band. Shall be
                      absent otherwise.
                    type: object
                    properties:
                      userName:
                        description: >
                          Username to be used in HTTP Basic authentication.
                          Shall be present if it has not been provisioned out of
                          band.
                        type: string
                      password:
                        description: >
                          Password to be used in HTTP Basic authentication.
                          Shall be present if it has not been provisioned out of
                          band.
                        type: string
                  paramsOauth2ClientCredentials:
Loading
Loading full blame…