From 087e656a21879592613aa67fbab9b7c2b7f24790 Mon Sep 17 00:00:00 2001 From: Gergely Csatari Date: Mon, 4 Dec 2017 16:50:06 +0100 Subject: [PATCH] Virtualised Resources Quota Available Notification interface Change-Id: I406d1c8a20864b0b334d86da15e6a1bf1a785244 Signed-off-by: Gergely Csatari --- ...edResourcesQuotaAvailableNotification.yaml | 112 +++++++++++++++++ ...sourcesQuotaAvailableNotification_def.yaml | 116 ++++++++++++++++++ 2 files changed, 228 insertions(+) create mode 100644 src/SOL003/VirtualisedResourcesQuotaAvailableNotification/VirtualisedResourcesQuotaAvailableNotification.yaml create mode 100644 src/SOL003/VirtualisedResourcesQuotaAvailableNotification/definitions/VirtualisedResourcesQuotaAvailableNotification_def.yaml diff --git a/src/SOL003/VirtualisedResourcesQuotaAvailableNotification/VirtualisedResourcesQuotaAvailableNotification.yaml b/src/SOL003/VirtualisedResourcesQuotaAvailableNotification/VirtualisedResourcesQuotaAvailableNotification.yaml new file mode 100644 index 00000000..7d654d32 --- /dev/null +++ b/src/SOL003/VirtualisedResourcesQuotaAvailableNotification/VirtualisedResourcesQuotaAvailableNotification.yaml @@ -0,0 +1,112 @@ +swagger: "2.0" + +info: + version: "2.3.0" + title: SOL003 - Virtualised Resources Quota Available Notification interface + license: + name: "ETSI Forge copyright notice" + url: https://forge.etsi.org/etsi-forge-copyright-notice.txt + contact: + name: "NFV-SOL WG" + +basePath: "/vrqan/v1" + +schemes: + - https + +consumes: + - "application/json" +produces: + - "application/json" + +paths: +############################################################################### +# Subscriptions # +############################################################################### + '/subscriptions': + #SOL003 location: 11.4 + post: + description: > + The POST method creates a new subscription. + parameters: + - name: VrQuotaAvailSubscriptionRequest + description: Details of the subscription to be created. + in: body + required: true + schema: + $ref: "definitions/VirtualisedResourcesQuotaAvailableNotification_def.yaml#/definitions/VrQuotaAvailSubscriptionRequest" + responses: + 201: + description: > + Representation of the created subscription resource. + The HTTP response shall include a "Location" HTTP header that + points to the created subscription resource. + 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 + Location: + description: The resource URI of the created VNF instance + type: string + format: url + schema: + $ref: "definitions/VirtualisedResourcesQuotaAvailableNotification_def.yaml#/definitions/VrQuotaAvailSubscription" + 400: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + 401: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + 403: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + 404: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + 405: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + 406: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + 500: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + 503: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + get: + description: > + The GET method allows the server to test the notification endpoint + that is provided by the client, e.g. during subscription. + responses: + 204: + description: > + The notification endpoint was tested 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/SOL002SOL003_resp.yaml#/responses/400" + 401: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + 403: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + 404: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404" + 406: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + 500: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + 503: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + diff --git a/src/SOL003/VirtualisedResourcesQuotaAvailableNotification/definitions/VirtualisedResourcesQuotaAvailableNotification_def.yaml b/src/SOL003/VirtualisedResourcesQuotaAvailableNotification/definitions/VirtualisedResourcesQuotaAvailableNotification_def.yaml new file mode 100644 index 00000000..ebee41f8 --- /dev/null +++ b/src/SOL003/VirtualisedResourcesQuotaAvailableNotification/definitions/VirtualisedResourcesQuotaAvailableNotification_def.yaml @@ -0,0 +1,116 @@ +# Copyright (c) ETSI 2017. +# https://forge.etsi.org/etsi-forge-copyright-notice.txt + +definitions: + VrQuotaAvailNotificationsFilter: + 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: + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + 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: + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + 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: + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVim" + + VrQuotaAvailSubscription: + description: > + This type represents a subscription related to notifications related to + the availability of the virtualised resources quotas. + type: object + required: + - id + - callbackUri + - _links + properties: + id: + description: > + Identifier of this subscription resource + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + filter: + description: > + Input filter for selecting notifications to subscribe to. + This filter can contain information about specific attributes of the + virtualised resources quota. + $ref: "#/definitions/VrQuotaAvailNotificationsFilter" + callbackUri: + description: > + The URI of the endpoint to send the notification to. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Uri" + _links: + description: > + Links for this resource + type: object + required: + - self + properties: + self: + description: > + URI of this resource + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" + + VrQuotaAvailSubscriptionRequest: + 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: > + Input filter for selecting notifications to subscribe to. This + filter can contain information about specific attributes of the + virtualised resources quota. + $ref: "#/definitions/VrQuotaAvailNotificationsFilter" + callbackUri: + description: > + The URI of the endpoint to send the notification to. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Uri" + authentication: + description: > + Authentication parameters to configure the use of Authorization when + sending notifications corresponding to this subscription. + This attribute shall only be present if the subscriber requires + authorization of notifications. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/SubscriptionAuthentication" + + -- GitLab