From efe5fa2f2a6dc7c07c9452b940957e72af28430d Mon Sep 17 00:00:00 2001 From: moscatelli Date: Mon, 1 Apr 2019 12:44:19 +0200 Subject: [PATCH] SOL005: Common definitions file updated + NSD mgmt and NS Performance mgmt def files updated --- src/SOL005/NSDManagement/NSDManagement.yaml | 22 +- .../SOL005NSDescriptorManagement_def.yaml | 708 +++++++--------- .../NSDManagement/definitions/SOL005_def.yaml | 90 -- .../SOL005NSDescriptorManagement_resp.yaml | 142 ---- .../NSDManagement/responses/SOL005_resp.yaml | 418 ---------- .../NSPerformanceManagement.yaml | 440 +++++----- .../SOL005NSPerformanceManagement_def.yaml | 783 +++++++++--------- .../definitions/SOL005_def.yaml | 220 ----- .../SOL005NSPerformanceManagement_resp.yaml | 28 - src/SOL005/definitions/SOL005_def.yaml | 129 ++- src/SOL005/responses/SOL005_resp.yaml | 140 ++++ 11 files changed, 1186 insertions(+), 1934 deletions(-) delete mode 100644 src/SOL005/NSDManagement/definitions/SOL005_def.yaml delete mode 100644 src/SOL005/NSDManagement/responses/SOL005NSDescriptorManagement_resp.yaml delete mode 100644 src/SOL005/NSDManagement/responses/SOL005_resp.yaml delete mode 100644 src/SOL005/NSPerformanceManagement/definitions/SOL005_def.yaml delete mode 100644 src/SOL005/NSPerformanceManagement/responses/SOL005NSPerformanceManagement_resp.yaml diff --git a/src/SOL005/NSDManagement/NSDManagement.yaml b/src/SOL005/NSDManagement/NSDManagement.yaml index a31a77f..88f9661 100644 --- a/src/SOL005/NSDManagement/NSDManagement.yaml +++ b/src/SOL005/NSDManagement/NSDManagement.yaml @@ -406,9 +406,9 @@ paths: an already disabled individual NS descriptor resource, or the "nsdOnboardingState" is not ONBOARDED. The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall convey more information about the error. - $ref: "responses/SOL005NSDescriptorManagement_resp.yaml#/responses/409" + $ref: "../responses/SOL005_resp.yaml#/responses/409" 412: - $ref: "responses/SOL005NSDescriptorManagement_resp.yaml#/responses/412" + $ref: "../responses/SOL005_resp.yaml#/responses/412" 500: $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: @@ -477,7 +477,7 @@ paths: NS descriptor resource (i.e. usageState = IN_USE). The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall convey more information about the error. - $ref: "responses/SOL005NSDescriptorManagement_resp.yaml#/responses/409" + $ref: "../responses/SOL005_resp.yaml#/responses/409" 500: $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: @@ -587,7 +587,7 @@ paths: The response body shall contain the requested part of the NSD file. The "Content-Range" HTTP header shall be provided according to IETF RFC 7233. The "Content-Type" HTTP header shall be set as defined above for the "200 OK" response. - $ref: "responses/SOL005NSDescriptorManagement_resp.yaml#/responses/206" + $ref: "../responses/SOL005_resp.yaml#/responses/206" 400: $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: @@ -606,13 +606,13 @@ paths: Typically, this is due to the fact "nsdOnboardingState" has a value different from ONBOARDED. The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall convey more information about the error. - $ref: "responses/SOL005NSDescriptorManagement_resp.yaml#/responses/409" + $ref: "../responses/SOL005_resp.yaml#/responses/409" 416: description: > The byte range passed in the "Range" header did not match any available byte range in the NSD file (e.g. "access after end of file"). The response body may contain a ProblemDetails structure. - $ref: "responses/SOL005NSDescriptorManagement_resp.yaml#/responses/416" + $ref: "../responses/SOL005_resp.yaml#/responses/416" 500: $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: @@ -705,7 +705,7 @@ paths: Typically, this is due to the fact that the NsdOnboardingState has a value other than CREATED. The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall convey more information about the error. - $ref: "responses/SOL005NSDescriptorManagement_resp.yaml#/responses/409" + $ref: "../responses/SOL005_resp.yaml#/responses/409" 500: $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: @@ -1086,7 +1086,7 @@ paths: 406: $ref: "../responses/SOL005_resp.yaml#/responses/406" 412: - $ref: "responses/SOL005NSDescriptorManagement_resp.yaml#/responses/412" + $ref: "../responses/SOL005_resp.yaml#/responses/412" 500: $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: @@ -1214,7 +1214,7 @@ paths: Typically, this is due to the fact pnfdOnboardingState has a value different from ONBOARDED. The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall convey more information about the error. - $ref: "responses/SOL005NSDescriptorManagement_resp.yaml#/responses/409" + $ref: "../responses/SOL005_resp.yaml#/responses/409" 500: $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: @@ -1261,7 +1261,7 @@ paths: Typically, this is due to the fact that the PnfdOnboardingState has a value other than CREATED. The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall convey more information about the error. - $ref: "responses/SOL005NSDescriptorManagement_resp.yaml#/responses/409" + $ref: "../responses/SOL005_resp.yaml#/responses/409" 500: $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: @@ -1368,7 +1368,7 @@ paths: The HTTP response shall include a "Location" HTTP header that contains the resource URI of the existing subscription resource. The response body shall be empty. - $ref: "responses/SOL005NSDescriptorManagement_resp.yaml#/responses/303" + $ref: "../responses/SOL005_resp.yaml#/responses/303" 400: $ref: "../responses/SOL005_resp.yaml#/responses/400" 401: diff --git a/src/SOL005/NSDManagement/definitions/SOL005NSDescriptorManagement_def.yaml b/src/SOL005/NSDManagement/definitions/SOL005NSDescriptorManagement_def.yaml index 5d8cc78..8ac2c45 100644 --- a/src/SOL005/NSDManagement/definitions/SOL005NSDescriptorManagement_def.yaml +++ b/src/SOL005/NSDManagement/definitions/SOL005NSDescriptorManagement_def.yaml @@ -1,6 +1,27 @@ # Copyright (c) ETSI 2017. # https://forge.etsi.org/etsi-forge-copyright-notice.txt definitions: + NsdInfoModifications: + type: object + description: > + This type represents attribute modifications for an individual NS + descriptor resource based on the NsdInfo data type. The attributes of + NsdInfo that can be modified are included in the NsdInfoModifications + data type.NOTE: At least one of the attributes - nsdOperationalState and + userDefinedData - shall be present. + properties: + nsdOperationalState: + $ref: "#/definitions/NsdOperationalStateType" + userDefinedData: + description: > + Modifications of the userDefinedData attribute in NsdInfo + data type. See note. If present, these modifications shall be applied + according to the rules of JSON Merge PATCH (see IETF RFC 7396 [25]). + NOTE- At least one of the attributes - nsdOperationalState and userDefinedData - shall be present. + type: array + items: + $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs" + NsdInfo: type: object required: @@ -117,363 +138,6 @@ definitions: description: > This type represents a response for the query NSD operation. - NsdInfoModifications: - type: object - description: > - This type represents attribute modifications for an individual NS - descriptor resource based on the NsdInfo data type. The attributes of - NsdInfo that can be modified are included in the NsdInfoModifications - data type.NOTE: At least one of the attributes - nsdOperationalState and - userDefinedData - shall be present. - properties: - nsdOperationalState: - $ref: "#/definitions/NsdOperationalStateType" - userDefinedData: - description: > - Modifications of the userDefinedData attribute in NsdInfo - data type. See note. If present, these modifications shall be applied - according to the rules of JSON Merge PATCH (see IETF RFC 7396 [25]). - NOTE- At least one of the attributes - nsdOperationalState and userDefinedData - shall be present. - type: array - items: - $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs" - - NsdOperationalState: - description: > - New value of the "nsdOperationalState" attribute in "NsdInfo" - data type. See note.Permitted values: - ENABLED, DISABLED. - type: array - items: - $ref: "#/definitions/NsdInfoModifications" - - NsdmSubscription: - type: object - required: - - id - - callbackUri - - _links - properties: - id: - description: > - Identifier of this subscription resource. - $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" - filter: - description: > - Filter settings for this subscription, to define the subset - of all notifications this subscription relates to. - A particular notification is sent to the subscriber if the filter - matches, or if there is no filter. - $ref: "#/definitions/NsdmNotificationsFilter" - callbackUri: - description: > - The URI of the endpoint to send the notification to. - $ref: "../../definitions/SOL005_def.yaml#/definitions/Uri" - _links: - type: object - description: > - Links to resources related to this resource. - properties: - self: - $ref: "../../definitions/SOL005_def.yaml#/definitions/Link" - description: > - This type represents a subscription related to notifications about NSD management. - - NsdmSubscriptionRequest: - type: object - required: - - callbackUri - properties: - filter: - $ref: "#/definitions/NsdmNotificationsFilter" - callbackUri: - type: string - description: > - The URI of the endpoint to send the notification to. - authentication: - $ref: "#/definitions/SubscriptionAuthentication" - description: > - This type represents a subscription request related to notifications - about NSD management. - - NsdmNotificationsFilter: - type: object - description: > - This type represents a subscription filter related to notifications - about NSD management. It shall comply with the provisions defined in Table - 5.5.3.2-1 of GS NFV-SOL 005. 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). - properties: - notificationTypes: - description: > - Match particular notification types. Permitted values: NsdOnBoardingNotification, - NsdOnboardingFailureNotification, NsdChangeNotification, NsdDeletionNotification - PnfdOnBoardingNotification, PnfdOnBoardingFailureNotification, PnfdDeletionNotification. - The permitted values of the "notificationTypes" ] attribute are spelled - exactly as the names of the notification types to facilitate automated - code generation systems. - type: array - items: - type: string - enum: - - NsdOnBoardingNotification - - NsdOnboardingFailureNotification - - NsdChangeNotification - - NsdDeletionNotification - - PnfdOnBoardingNotification - - PnfdOnBoardingFailureNotification - - PnfdDeletionNotification - nsdInfoId: - description: > - Match the NsdInfo identifier which is allocated by the NFVO. - type: array - items: - $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" - nsdId: - description: > - Match the NSD identifier, which is allocated by the NSD designer. - type: array - items: - $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" - nsdName: - description: > - Match the name of the on boarded NSD. - type: array - items: - $ref: "../../definitions/SOL005_def.yaml#/definitions/String" - nsdVersion: - description: > - Match the NSD version listed as part of this attribute. - type: array - items: - $ref: "../../definitions/SOL005_def.yaml#/definitions/Version" - nsdDesigner: - description: > - Match the NSD designer of the on-boarded NSD. - type: array - items: - $ref: "../../definitions/SOL005_def.yaml#/definitions/String" - nsdInvariantId: - description: > - Match the NSD invariant identifier which is allocated - by the NSD designer and identifies an NSD in a - version independent manner. - type: array - items: - $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" - vnfPkgIds: - description: > - Match VNF packages with a package identifier listed - in the attribute. - type: array - items: - $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" - pnfdInfoIds: - description: > - Match the PnfdInfo identifier for the PNFD - referenced by the on-boarded NSD. - type: array - items: - $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" - nestedNsdInfoIds: - description: > - Match the NsdInfo identifier for the nested NSD - referenced by the on-boarded NSD. - type: array - items: - $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" - nsdOnboardingState: - description: > - Match particular on-boarding state of the NSD. - type: array - items: - $ref: "#/definitions/NsdOnboardingStateType" - nsdOperationalState: - description: > - Match particular operational state of the on-boarded NSD. - type: array - items: - $ref: "#/definitions/NsdOperationalStateType" - nsdUsageState: - description: > - Match particular usage state of the on-boarded NSD. - type: array - items: - $ref: "#/definitions/NsdUsageStateType" - pnfdId: - description: > - Match the PNFD identifier which is copied from the PNFD content. - type: array - items: - $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" - pnfdName: - description: > - Match the name of the on-boarded PNFD. - type: array - items: - $ref: "../../definitions/SOL005_def.yaml#/definitions/String" - pnfdVersion: - description: > - Match the PNFD designer of the on-boarded PNFD. - type: array - items: - $ref: "../../definitions/SOL005_def.yaml#/definitions/Version" - pnfdProvider: - description: > - Match the provider of the on-boarded PNFD. - type: array - items: - $ref: "../../definitions/SOL005_def.yaml#/definitions/String" - pnfdInvariantId: - description: > - Match the PNFD in a version independent manner. - type: array - items: - $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" - pnfdOnboardingState: - description: > - Match particular on-boarding state of the PNFD. - type: array - items: - $ref: "#/definitions/PnfdOnboardingStateType" - pnfdUsageState: - description: > - Match the usage state of the individual PNF descriptor resource. - type: array - items: - $ref: "#/definitions/PnfdUsageStateType" - - SubscriptionAuthentication: - description: > - The procedure defined in clause 4.5.2 allows an API consumer to - obtain authorization to perform API requests towards - the API producer, including subscription requests. - For sending the actual notifications matching a subscription, the API - producer needs to obtain separate authorization to actually send the notification to the API consumer. - If an API consumer requires the API producer to authorize for sending notifications to that API consumer, it shall - include in the subscription request a data structure that defines the authorization requirements, as defined in - Table 4.5.3.4-1. - type: object - required: - - authType - properties: - authType: - description: > - Defines the types of Authentication - Authorization 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 server - is authenticated, but also the client is - authenticated during the TLS tunnel setup - - type: string - enum: - - BASIC - - OAUTH2_CLIENT_CREDENTIALS - - TLS_CERT - paramsBasic: - type: object - 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. - 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: - type: object - description: > - Parameters for authentication/authorization using OAUTH2_CLIENT_CREDENTIALS. - Shall be present if authType is "OAUTH2_CLIENT_CREDENTIALS" and the - contained information has not been provisioned out of band. - Shall be absent otherwise. - properties: - clientId: - description: > - Client identifier to be used in the access token - request of the OAuth 2.0 client credentials - grant type. Shall be present if it has not been - provisioned out of band. - type: string - clientPassword: - description: > - Client password to be used in the access - token request of the OAuth 2.0 client - credentials grant type. Shall be present if it - has not been provisioned out of band. - type: string - tokenEndpoint: - description: > - The token endpoint from which the access - token can be obtained. Shall be present if it - has not been provisioned out of band. - $ref: "../../definitions/SOL005_def.yaml#/definitions/Uri" - - NsdOperationalStateType: - type: string - description: > - The enumeration NsdOperationalStateType shall comply with the provisions - defined in Table 5.5.4.3-1 of GS NFV_SOL 005. It indicates the operational - state of the resource. - ENABLED = The operational state of the resource is enabled. - DISABLED = The operational state of the resource is disabled. - enum: - - ENABLED - - DISABLED - - NsdOnboardingStateType: - type: string - description: > - The enumeration NsdOnboardingStateType shall comply with the provisions - defined in Table 5.5.4.5-1 of GS NFV-SOL 005. It indicates the on-boarding - state of the NSD. - CREATED = The NSD information object is created. - UPLOADING = The associated NSD content is being uploaded. - PROCESSING = The associated NSD content is being processed, e.g. validation. - ONBOARDED = The associated NSD content is on-boarded. - enum: - - CREATED - - UPLOADING - - PROCESSING - - ONBOARDED - - NsdUsageStateType: - type: string - description: > - The enumeration NsdUsageStateType shall comply with the provisions - defined in Table 5.5.4.4-1 of GS NFV-SOL 005. It indicates the usage state - of the resource.IN_USE = The resource is in use.NOT_IN_USE = The resource - is not-in-use. - enum: - - IN_USE - - NOT_IN_USE - CreateNsdInfoRequest: type: object properties: @@ -570,33 +234,6 @@ definitions: description: > This type represents a response for the query PNFD operation. - PnfdOnboardingStateType: - type: string - description: > - The enumeration PnfdOnboardingStateType shall comply with the provisions - defined in Table 5.5.4.6-1 of GS-NFV SOL005. It indicates the on-boarding state - of the individual PNF descriptor resource. - CREATED = The PNF descriptor resource is created. - UPLOADING = The associated PNFD content is being uploaded. - PROCESSING = The associated PNFD content is being processed, e.g. validation. - ONBOARDED = The associated PNFD content is on-boarded. - enum: - - CREATED - - UPLOADING - - PROCESSING - - ONBOARDING - - PnfdUsageStateType: - type: string - description: > - The enumeration PnfdUsageStateType shall comply with the provisions - defined in Table 5.5.4.7-1 of GS NFV-SOL005. It indicates the usage state - of the resource.IN-USE = The resource is in use.NOT_IN_USE = The resource - is not-in-use. - enum: - - IN_USE - - NOT_IN_USE - - CreatePnfdInfoRequest: type: object properties: @@ -607,33 +244,54 @@ definitions: It shall be present when the user defined data is set for the individual PNF descriptor resource to be created. - NsdmLinks: + NsdmSubscriptionRequest: type: object required: - - nsdInfo - - subscription + - callbackUri properties: - nsdInfo: - $ref: "../../definitions/SOL005_def.yaml#/definitions/NotificationLink" - subscription: - $ref: "../../definitions/SOL005_def.yaml#/definitions/NotificationLink" + filter: + $ref: "#/definitions/NsdmNotificationsFilter" + callbackUri: + type: string + description: > + The URI of the endpoint to send the notification to. + authentication: + $ref: "../../definitions/SOL005_def.yaml#/definitions/SubscriptionAuthentication" description: > - This type represents the links to resources that an NSD management - notification can contain. + This type represents a subscription request related to notifications + about NSD management. - PnfdmLinks: + NsdmSubscription: type: object required: - - pnfdInfo - - subscription + - id + - callbackUri + - _links properties: - pnfdInfo: - $ref: "../../definitions/SOL005_def.yaml#/definitions/NotificationLink" - subscription: - $ref: "../../definitions/SOL005_def.yaml#/definitions/NotificationLink" + id: + description: > + Identifier of this subscription resource. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + filter: + description: > + Filter settings for this subscription, to define the subset + of all notifications this subscription relates to. + A particular notification is sent to the subscriber if the filter + matches, or if there is no filter. + $ref: "#/definitions/NsdmNotificationsFilter" + callbackUri: + description: > + The URI of the endpoint to send the notification to. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Uri" + _links: + type: object + description: > + Links to resources related to this resource. + properties: + self: + $ref: "../../definitions/SOL005_def.yaml#/definitions/Link" description: > - This type represents the links to resources that a PNFD management - notification can contain. + This type represents a subscription related to notifications about NSD management. NsdOnBoardingNotification: type: object @@ -905,4 +563,248 @@ definitions: the receiver of the deletion of an on-boarded PNFD. The notification shall comply with the provisions defined in Table 5.5.2.15-1. The support of this notification is mandatory. The notification is triggered when an on-boarded - PNFD is deleted. \ No newline at end of file + PNFD is deleted. + + NsdmNotificationsFilter: + type: object + description: > + This type represents a subscription filter related to notifications + about NSD management. It shall comply with the provisions defined in Table + 5.5.3.2-1 of GS NFV-SOL 005. 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). + properties: + notificationTypes: + description: > + Match particular notification types. Permitted values: NsdOnBoardingNotification, + NsdOnboardingFailureNotification, NsdChangeNotification, NsdDeletionNotification + PnfdOnBoardingNotification, PnfdOnBoardingFailureNotification, PnfdDeletionNotification. + The permitted values of the "notificationTypes" ] attribute are spelled + exactly as the names of the notification types to facilitate automated + code generation systems. + type: array + items: + type: string + enum: + - NsdOnBoardingNotification + - NsdOnboardingFailureNotification + - NsdChangeNotification + - NsdDeletionNotification + - PnfdOnBoardingNotification + - PnfdOnBoardingFailureNotification + - PnfdDeletionNotification + nsdInfoId: + description: > + Match the NsdInfo identifier which is allocated by the NFVO. + type: array + items: + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + nsdId: + description: > + Match the NSD identifier, which is allocated by the NSD designer. + type: array + items: + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + nsdName: + description: > + Match the name of the on boarded NSD. + type: array + items: + $ref: "../../definitions/SOL005_def.yaml#/definitions/String" + nsdVersion: + description: > + Match the NSD version listed as part of this attribute. + type: array + items: + $ref: "../../definitions/SOL005_def.yaml#/definitions/Version" + nsdDesigner: + description: > + Match the NSD designer of the on-boarded NSD. + type: array + items: + $ref: "../../definitions/SOL005_def.yaml#/definitions/String" + nsdInvariantId: + description: > + Match the NSD invariant identifier which is allocated + by the NSD designer and identifies an NSD in a + version independent manner. + type: array + items: + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + vnfPkgIds: + description: > + Match VNF packages with a package identifier listed + in the attribute. + type: array + items: + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + pnfdInfoIds: + description: > + Match the PnfdInfo identifier for the PNFD + referenced by the on-boarded NSD. + type: array + items: + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + nestedNsdInfoIds: + description: > + Match the NsdInfo identifier for the nested NSD + referenced by the on-boarded NSD. + type: array + items: + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + nsdOnboardingState: + description: > + Match particular on-boarding state of the NSD. + type: array + items: + $ref: "#/definitions/NsdOnboardingStateType" + nsdOperationalState: + description: > + Match particular operational state of the on-boarded NSD. + type: array + items: + $ref: "#/definitions/NsdOperationalStateType" + nsdUsageState: + description: > + Match particular usage state of the on-boarded NSD. + type: array + items: + $ref: "#/definitions/NsdUsageStateType" + pnfdId: + description: > + Match the PNFD identifier which is copied from the PNFD content. + type: array + items: + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + pnfdName: + description: > + Match the name of the on-boarded PNFD. + type: array + items: + $ref: "../../definitions/SOL005_def.yaml#/definitions/String" + pnfdVersion: + description: > + Match the PNFD designer of the on-boarded PNFD. + type: array + items: + $ref: "../../definitions/SOL005_def.yaml#/definitions/Version" + pnfdProvider: + description: > + Match the provider of the on-boarded PNFD. + type: array + items: + $ref: "../../definitions/SOL005_def.yaml#/definitions/String" + pnfdInvariantId: + description: > + Match the PNFD in a version independent manner. + type: array + items: + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + pnfdOnboardingState: + description: > + Match particular on-boarding state of the PNFD. + type: array + items: + $ref: "#/definitions/PnfdOnboardingStateType" + pnfdUsageState: + description: > + Match the usage state of the individual PNF descriptor resource. + type: array + items: + $ref: "#/definitions/PnfdUsageStateType" + + NsdmLinks: + type: object + required: + - nsdInfo + - subscription + properties: + nsdInfo: + $ref: "../../definitions/SOL005_def.yaml#/definitions/NotificationLink" + subscription: + $ref: "../../definitions/SOL005_def.yaml#/definitions/NotificationLink" + description: > + This type represents the links to resources that an NSD management + notification can contain. + + PnfdmLinks: + type: object + required: + - pnfdInfo + - subscription + properties: + pnfdInfo: + $ref: "../../definitions/SOL005_def.yaml#/definitions/NotificationLink" + subscription: + $ref: "../../definitions/SOL005_def.yaml#/definitions/NotificationLink" + description: > + This type represents the links to resources that a PNFD management + notification can contain. + + NsdOperationalStateType: + type: string + description: > + The enumeration NsdOperationalStateType shall comply with the provisions + defined in Table 5.5.4.3-1 of GS NFV_SOL 005. It indicates the operational + state of the resource. + ENABLED = The operational state of the resource is enabled. + DISABLED = The operational state of the resource is disabled. + enum: + - ENABLED + - DISABLED + + NsdUsageStateType: + type: string + description: > + The enumeration NsdUsageStateType shall comply with the provisions + defined in Table 5.5.4.4-1 of GS NFV-SOL 005. It indicates the usage state + of the resource.IN_USE = The resource is in use.NOT_IN_USE = The resource + is not-in-use. + enum: + - IN_USE + - NOT_IN_USE + + NsdOnboardingStateType: + type: string + description: > + The enumeration NsdOnboardingStateType shall comply with the provisions + defined in Table 5.5.4.5-1 of GS NFV-SOL 005. It indicates the on-boarding + state of the NSD. + CREATED = The NSD information object is created. + UPLOADING = The associated NSD content is being uploaded. + PROCESSING = The associated NSD content is being processed, e.g. validation. + ONBOARDED = The associated NSD content is on-boarded. + enum: + - CREATED + - UPLOADING + - PROCESSING + - ONBOARDED + + PnfdOnboardingStateType: + type: string + description: > + The enumeration PnfdOnboardingStateType shall comply with the provisions + defined in Table 5.5.4.6-1 of GS-NFV SOL005. It indicates the on-boarding state + of the individual PNF descriptor resource. + CREATED = The PNF descriptor resource is created. + UPLOADING = The associated PNFD content is being uploaded. + PROCESSING = The associated PNFD content is being processed, e.g. validation. + ONBOARDED = The associated PNFD content is on-boarded. + enum: + - CREATED + - UPLOADING + - PROCESSING + - ONBOARDING + + PnfdUsageStateType: + type: string + description: > + The enumeration PnfdUsageStateType shall comply with the provisions + defined in Table 5.5.4.7-1 of GS NFV-SOL005. It indicates the usage state + of the resource.IN-USE = The resource is in use.NOT_IN_USE = The resource + is not-in-use. + enum: + - IN_USE + - NOT_IN_USE \ No newline at end of file diff --git a/src/SOL005/NSDManagement/definitions/SOL005_def.yaml b/src/SOL005/NSDManagement/definitions/SOL005_def.yaml deleted file mode 100644 index 0958571..0000000 --- a/src/SOL005/NSDManagement/definitions/SOL005_def.yaml +++ /dev/null @@ -1,90 +0,0 @@ -# Copyright (c) ETSI 2017. -# https://forge.etsi.org/etsi-forge-copyright-notice.txt -definitions: - Identifier: - description: > - An identifier with the intention of being globally unique. - type: string - KeyValuePairs: - description: > - This type represents a list of key-value pairs. The order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - String: - description: > - This type represents stack of string values - type: string - - Version: - description: > - A Version. - type: string - - Uri: - description: > - String formatted according to IETF RFC 3986. - type: string - DateTime: - description: > - Date-time stamp. - Representation: String formatted according to IETF RFC 3339. - type: string - format: "date-time" - ProblemDetails: - #SOL005 location: 4.3.5.3-1 - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced in this structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present document, - to ensure that the response contains additional textual information about - an error. IETF RFC 7807 [19] foresees extensibility of the - "ProblemDetails" type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to define - additional attributes that provide more information about the error. - The description column only provides some explanation of the meaning to - Facilitate understanding of the design. For a full description, see - IETF RFC 7807 [19]. - type: object - required: - - statussss - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies the - problem type. It is encouraged that the URI provides human-readable - documentation for the problem (e.g. using HTML) when dereferenced. - When this member is not present, its value is assumed to be - "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should not - change from occurrence to occurrence of the problem, except for - purposes of localization. If type is given and other than - "about:blank", this attribute shall also be provided. - A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of the - problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by the origin - server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of the - problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI \ No newline at end of file diff --git a/src/SOL005/NSDManagement/responses/SOL005NSDescriptorManagement_resp.yaml b/src/SOL005/NSDManagement/responses/SOL005NSDescriptorManagement_resp.yaml deleted file mode 100644 index cca5fa1..0000000 --- a/src/SOL005/NSDManagement/responses/SOL005NSDescriptorManagement_resp.yaml +++ /dev/null @@ -1,142 +0,0 @@ -# Copyright (c) ETSI 2017. -# https://forge.etsi.org/etsi-forge-copyright-notice.txt -responses: - 206: - description: > - 206 PARTIAL CONTENT - headers: - Content-Type: - description: > - The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Content-Range: - description: > - The Content-Range response HTTP header indicates where in a full body message a partial message belongs. - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 - schema: - $ref: "../../definitions/SOL005_def.yaml#/definitions/ProblemDetails" - - 303: - description: > - 303 SEE OTHER - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 - - 409: - description: > - 409 CONFLICT - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 - schema: - $ref: "../../definitions/SOL005_def.yaml#/definitions/ProblemDetails" - - 412: - description: > - 412 PRECONDITION FAILED - - Error: A precondition given in an HTTP request header is not fulfilled. - Typically, this is due to an ETag mismatch, indicating that the resource was modified by another entity. - The response body should contain a ProblemDetails structure, in which the "detail" attribute should convey - more information about the error. - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 - schema: - $ref: "../../definitions/SOL005_def.yaml#/definitions/ProblemDetails" - - 416: - description: > - 416 RANGE NOT SATISFIABLE - 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 - Version: - description: > - Version of the API used in the response. - type: string - maximum: 1 - minimum: 1 - schema: - $ref: "../../definitions/SOL005_def.yaml#/definitions/ProblemDetails" \ No newline at end of file diff --git a/src/SOL005/NSDManagement/responses/SOL005_resp.yaml b/src/SOL005/NSDManagement/responses/SOL005_resp.yaml deleted file mode 100644 index ec556a9..0000000 --- a/src/SOL005/NSDManagement/responses/SOL005_resp.yaml +++ /dev/null @@ -1,418 +0,0 @@ -# Copyright (c) ETSI 2017. -# https://forge.etsi.org/etsi-forge-copyright-notice.txt -responses: - 202: - description: > - Accepted - - The request was accepted for processing, but processing has not - been completed. The response shall have an empty payload body. - headers: - 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 - 202-with-Location: - description: > - Accepted - - The request was accepted for processing, but the processing has not - been completed. On success, 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. - 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 - 206: - description: > - Partial Content. - - On success, if the NFVO supports range requests, a - single consecutive byte range from the content of the - NSD file is returned. - The response body shall contain the requested part of - the NSD file. - The "Content-Range" HTTP header shall be provided - according to IETF RFC 7233 [23]. - The "Content-Type" HTTP header shall be set as - defined above for the "200 OK" response. - headers: - Content-Range: - type: "string" - Content-Type: - type: "string" - schema: - $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" - - 303: - description: > - See Other - A subscription with the same callbackURI and the same filter already - exists and the policy of the VNFM is to not create redundant - subscriptions. - The HTTP response shall include a "Location" HTTP header that contains - the resource URI of the existing subscription resource. - The response body shall be empty. - 400: - description: > - Bad Request - - Error: Invalid attribute-based filtering parameters. - The response body shall contain a ProblemDetails - structure, in which the "detail" attribute should convey - more information about the error. - 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/SOL005_def.yaml#/definitions/ProblemDetails" - 400-attr-based-filtering-error: - description: > - Bad Request - Invalid attribute-based filtering parameters or Invalid attribute - selector. - It the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or a syntactically - incorrect payload body), the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided, - and should include in the "detail" attribute more information about - the source of the problem. - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall - be returned in the WWW-Authenticate HTTP header, as defined in - IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code.The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - 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 - schema: - $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" - 400-attr-selector: - description: > - Error: Invalid attribute selector. - The response body shall contain a ProblemDetails - structure, in which the "detail" attribute should convey - more information about the error. - 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/SOL005_def.yaml#/definitions/ProblemDetails" - 401: - description: > - Unauthorized - If the request contains no access token even though one is - required, or if the request contains an authorization token that - is invalid (e.g. expired or revoked), the API producer should - respond with this response. The details of the error shall be - returned in the WWW-Authenticate HTTP header, as defined in - IETF RFC 6750 and IETF RFC 7235. The ProblemDetails - structure may be provided. - headers: - Content-Type: - type: string - description: The MIME type of the body of the response. - WWW-Authenticate: - type: string - 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. - schema: - $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" - 403: - description: > - Forbidden - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. - It should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" - 404: - description: > - Not Found - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. - The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source - of the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" - 404-task-resource-not-exists: - description: > - Not Found - Error: The API producer did not find a current representation for the - target resource or is not willing to disclose that one exists. - Specifically in case of this task resource, the response code 404 shall - also returned if the task is not supported for the NS instance - represented by the parent resource, which means that the task resource - consequently does not exist. - In this case, the response body shall be present, and shall contain a - ProblemDetails structure, in which the "detail" attribute shall convey - more information about the error. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" - 404-task-resource-not-exists-NSD: - description: > - Not Found - Error: The API producer did not find a current representation for the - target resource or is not willing to disclose that one exists. - Specifically in case of this task resource, the response code 404 shall - also be returned if the task is not supported for the NS LCM operation - occurrence represented by the parent resource, which means that the task - resource consequently does not exist. - In this case, the response body shall be present, and shall contain a - ProblemDetails structure, in which the "detail" attribute shall convey - more information about the error. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" - 404-task-not-suported: - description: > - Not Found - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. - Specifically in case of this task resource, the reason can also be that - the task is not supported for the NS instance represented by the parent - resource, and that the task resource consequently does not exist. - The "ProblemDetails" structure may be provided, including in the - "detail" attribute information about the sourceof the problem, e.g. a - wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" - 404-task-not-suported-NSD: - description: > - Not Found - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. - Specifically in case of this task resource, the reason can also be that - the task is not supported for the NS LCM operation occurrence - represented by the parent resource, and that the task resource - consequently does not exist. - The "ProblemDetails" structure may be provided, including in the - "detail" attribute information about the source of the problem, e.g. a - wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" - 405: - description: > - Method Not Allowed - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" - 406: - description: > - 406 Not Acceptable - - If the "Accept" header does not contain at least one - name of a content type for which the NFVO can - provide a representation of the NSD, the NFVO shall - respond with this response code. - The "ProblemDetails" structure may be included with - the "detail" attribute providing more information about - the error. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" - 412: - description: > - Precondition Failed. - A precondition given in an HTTP request header is not fulfilled. - - Typically, this is due to an ETag mismatch, indicating that the - resource was modified by another entity. - - The response body should - contain a ProblemDetails structure, in which the "detail" attribute - should convey more information about the error. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" - 416: - description: > - The byte range passed in the "Range" header did not - match any available byte range in the NSD file (e.g. access after end of file). - The response body may contain a ProblemDetails structure. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" - 422: - description: > - Unprocessable Entity - If the payload body of a request contains syntactically correct - data (e.g. well-formed JSON) but the data cannot be processed - (e.g. because it fails validation against a schema), the API - producer shall respond with this response code. The - "ProblemDetails" structure shall be provided, and should include - in the "detail" attribute more information about the source of the - problem. - NOTE 2: This error response code is only applicable for methods - that have a request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" - 500: - description: > - Internal Server Error - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code - ("catch all error"), the API producer shall respond with this - response code. The ProblemDetails structure shall be provided, - and shall include in the "detail" attribute more information about - the source of the problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" - 503: - description: > - Service Unavailable - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 [13] for - the use of the Retry-After HTTP header and for the alternative - to refuse the connection. The "ProblemDetails" structure may be omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" \ No newline at end of file diff --git a/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml b/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml index 0c6cd6d..3206088 100644 --- a/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml +++ b/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml @@ -31,6 +31,20 @@ paths: ############################################################################### '/pm_jobs': #ETSI GS NFV-SOL 005 V2.4.1 location: 7.4.2 + parameters: + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: false + type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string post: summary: Create a PM job. @@ -54,13 +68,6 @@ paths: 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. @@ -68,16 +75,10 @@ paths: in: header required: true type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string responses: 201: description: > - 201 Created + 201 CREATED The PM job was created successfully. The response body shall contain a representation of @@ -116,11 +117,9 @@ paths: 404: $ref: "../responses/SOL005_resp.yaml#/responses/404" 405: - $ref: "../responses/SOL005_resp.yaml#/responses/404" + $ref: "../responses/SOL005_resp.yaml#/responses/405" 406: $ref: "../responses/SOL005_resp.yaml#/responses/406" - 416: - $ref: "responses/SOL005NSPerformanceManagement_resp.yaml#/responses/416" 500: $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: @@ -187,13 +186,6 @@ paths: 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 - name: Content-Type description: > The MIME type of the body of the request. @@ -201,12 +193,6 @@ paths: in: header required: true type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string responses: 200: description: > @@ -251,6 +237,8 @@ paths: $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: @@ -275,6 +263,19 @@ paths: in: path type: string required: true + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235. + in: header + required: true + type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string get: summary: Read a single PM job. @@ -288,19 +289,6 @@ paths: 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 - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string responses: 200: description: > @@ -337,6 +325,8 @@ paths: $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: @@ -350,24 +340,10 @@ paths: summary: Delete a PM job. description: > This method terminates an individual PM job. - parameters: - - name: Authorization - description: > - The authorization token for the request. - Reference: IETF RFC 7235. - in: header - required: true - type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string responses: 204: description: > - 204 No Content + 204 NO CONTENT The PM job was deleted successfully. The response body shall be empty. @@ -392,6 +368,8 @@ paths: $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: @@ -419,6 +397,19 @@ paths: in: path type: string required: true + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235. + in: header + required: true + type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string get: summary: Read an individual performance report. @@ -433,19 +424,6 @@ paths: 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 - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string responses: 200: description: > @@ -483,6 +461,8 @@ paths: $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: @@ -497,6 +477,20 @@ paths: ############################################################################### '/thresholds': #ETSI GS NFV-SOL 005 V2.4.1 location: 7.4.5 + parameters: + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: false + type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string post: summary: Create a threshold. @@ -521,13 +515,6 @@ paths: 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. @@ -535,16 +522,10 @@ paths: in: header required: true type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string responses: 201: description: > - 201 Created + 201 CREATED A threshold was created successfully. The response body shall contain a representation of @@ -581,6 +562,8 @@ paths: $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: @@ -619,19 +602,6 @@ paths: 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 - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string responses: 200: description: > @@ -676,6 +646,8 @@ paths: $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: @@ -701,6 +673,19 @@ paths: in: path type: string required: true + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: true + type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string get: summary: Query a single threshold. @@ -717,19 +702,6 @@ paths: 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 - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string responses: 200: description: > @@ -766,6 +738,8 @@ paths: $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: @@ -787,19 +761,6 @@ paths: 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 - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string responses: 204: description: > @@ -828,6 +789,8 @@ paths: $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: @@ -842,6 +805,20 @@ paths: ############################################################################### '/subscriptions': #ETSI GS NFV-SOL 005 V2.4.1 location: 7.4.7 + parameters: + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235. + in: header + required: false + type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string post: summary: Subscribe to PM notifications. @@ -863,13 +840,6 @@ paths: 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. @@ -877,12 +847,6 @@ paths: in: header required: true type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string - name: body in: body required: true @@ -893,7 +857,7 @@ paths: responses: 201: description: > - 201 Created + 201 CREATED The subscription was created successfully. A representation of the created subscription resource @@ -926,13 +890,15 @@ paths: maximum: 1 minimum: 1 303: - $ref: "responses/SOL005NSPerformanceManagement_resp.yaml#/responses/303" + $ref: "../responses/SOL005_resp.yaml#/responses/303" 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: @@ -974,19 +940,6 @@ paths: 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 - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string responses: 200: description: > @@ -1032,6 +985,8 @@ paths: $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: @@ -1056,6 +1011,19 @@ paths: in: path type: string required: true + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: true + type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string get: summary: Query a single PM related subscription. @@ -1072,19 +1040,6 @@ paths: 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 - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string responses: 200: description: > @@ -1122,6 +1077,8 @@ paths: $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: @@ -1146,23 +1103,10 @@ paths: 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 - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string responses: 204: description: > - 204 No Content + 204 NO CONTENT The subscription resource was deleted successfully. The response body shall be empty. @@ -1187,6 +1131,8 @@ paths: $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: @@ -1203,6 +1149,20 @@ paths: ################################################################################## '/URI_is_provided_by_the_client_when_creating_the_subscription-PerformanceInformationAvailableNotification': #ETSI GS NFV-SOL 005 V2.4.1 location: 7.4.9 + parameters: + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: false + type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string post: summary: Notify about PM related events @@ -1226,13 +1186,6 @@ paths: 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. @@ -1240,9 +1193,57 @@ paths: in: header required: true type: string - - name: Version + responses: + 204: + description: > + 204 NO CONTENT + + The notification was delivered successfully. + headers: + WWW-Authenticate: + type: string + 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. + maximum: 1 + minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 + 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" + 500: + $ref: "../responses/SOL005_resp.yaml#/responses/500" + 503: + $ref: "../responses/SOL005_resp.yaml#/responses/503" + + get: + summary: Test the notification endpoint + description: > + The GET method allows the server to test the notification endpoint that is provided by the client, e.g. during + subscription. + This method shall follow the provisions specified in the + Tables 7.4.9.3.2-1 and 7.4.9.3.2-2 for URI query parameters, + request and response data structures, and response codes. + parameters: + - name: Accept description: > - Version of the API requested to use when responding to this request. + Content-Types that are acceptable for the response. + Reference: IETF RFC 7231. in: header required: true type: string @@ -1251,7 +1252,8 @@ paths: description: > 204 No Content - The notification was delivered successfully. + The notification endpoint was tested successfully. + The response body shall be empty. headers: WWW-Authenticate: type: string @@ -1273,6 +1275,12 @@ paths: $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" 500: $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: @@ -1280,6 +1288,20 @@ paths: '/URI_is_provided_by_the_client_when_creating_the_subscription-ThresholdCrossedNotification': #ETSI GS NFV-SOL 005 V2.4.1 location: 7.4.9 + parameters: + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235. + in: header + required: false + type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string post: summary: Notify about PM related events @@ -1303,13 +1325,6 @@ paths: 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. @@ -1317,16 +1332,10 @@ paths: in: header required: true type: string - - name: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string responses: 204: description: > - 204 No Content + 204 NO CONTENT The notification was delivered successfully. headers: @@ -1350,6 +1359,12 @@ paths: $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" 500: $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: @@ -1371,19 +1386,6 @@ paths: 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: Version - description: > - Version of the API requested to use when responding to this request. - in: header - required: true - type: string responses: 204: description: > @@ -1412,6 +1414,12 @@ paths: $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" 500: $ref: "../responses/SOL005_resp.yaml#/responses/500" 503: diff --git a/src/SOL005/NSPerformanceManagement/definitions/SOL005NSPerformanceManagement_def.yaml b/src/SOL005/NSPerformanceManagement/definitions/SOL005NSPerformanceManagement_def.yaml index 56afba2..49ed21a 100644 --- a/src/SOL005/NSPerformanceManagement/definitions/SOL005NSPerformanceManagement_def.yaml +++ b/src/SOL005/NSPerformanceManagement/definitions/SOL005NSPerformanceManagement_def.yaml @@ -1,4 +1,229 @@ +# Copyright (c) ETSI 2017. +# https://forge.etsi.org/etsi-forge-copyright-notice.txt definitions: + PmSubscriptionRequest: + description: > + This type represents a subscription request. + type: object + required: + - callbackUri + properties: + filter: + description: > + Filter settings for this subscription, to define the subset of + all notifications this subscription relates to. A particular + notification is sent to the subscriber if the filter matches, + or if there is no filter. + $ref: "#/definitions/PmNotificationsFilter" + callbackUri: + description: > + The URI of the endpoint to send the notification to. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Uri" + authentication: + description: > + Authentication parameters to conFigure the use of + Authorization when sending notifications corresponding + to this subscription, as defined in clause 4.5.3.4. + This attribute shall only be present if the subscriber + requires authorization of notifications.. + $ref: "../../definitions/SOL005_def.yaml#/definitions/SubscriptionAuthentication" + + PmSubscription: + description: > + This type represents a subscription. + type: object + required: + - id + - callbackUri + - _links + properties: + id: + description: > + Identifier that identifies the subscription. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + filter: + description: > + Filter settings for this subscription, to define the subset of all + notifications this subscription relates to. A particular + notification is sent to the subscriber if the filter matches, or if + there is no filter. + $ref: "#/definitions/PmNotificationsFilter" + callbackUri: + description: > + The URI of the endpoint to send the notification to. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Uri" + _links: + description: > + Links to resources related to this resource. + type: object + required: + - self + properties: + self: + description: > + URI of this resource. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Link" + + ThresholdCrossedNotification: + description: > + This type represents a notification that is sent when a threshold has been crossed. + type: object + required: + - id + - notificationType + - subscriptionId + - timeStamp + - thresholdId + - crossingDirection + - objectInstanceId + - performanceMetric + - performanceValue + - _links + properties: + id: + description: > + Identifier of this notification. If a notification is + sent multiple times due to multiple + subscriptions, the "id" attribute of all these + notifications shall have the same value.. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + notificationType: + description: > + Discriminator for the different notification types. + Shall be set to "ThresholdCrossedNotification " + for this notification type. + type: string + subscriptionId: + description: > + Identifier of the subscription that this notification relates to. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + timeStamp: + description: > + Date and time of the generation of the notification. + $ref: "../../definitions/SOL005_def.yaml#/definitions/DateTime" + thresholdId: + description: > + Identifier of the threshold which has been crossed. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + crossingDirection: + description: > + An indication of whether the threshold was crossed in upward or downward direction. + $ref: "#/definitions/CrossingDirectionType" + objectInstanceId: + description: > + Identifier that identifies a NS instance. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + performanceMetric: + description: > + Performance metric associated with the threshold. + This attribute shall contain the related "Measurement Name" value + as defined in clause 7.2 of ETSI GS NFV-IFA 027. + type: string + performanceValue: + description: > + Value of the metric that resulted in threshold crossing. + The type of this attribute shall correspond to the related + "Measurement Unit" as defined in clause 7.2 of ETSI GS NFV-IFA 027. + type: object + _links: + description: > + Links to resources related to this notification. + type: object + required: + - subscription + - objectInstance + - threshold + properties: + subscription: + description: > + Link to the related subscription. + $ref: "../../definitions/SOL005_def.yaml#/definitions/NotificationLink" + objectInstance: + description: > + Link to the resource representing the NS + instance to which the notified change applies. + Shall be present if the NS instance information + is accessible as a resource.. + $ref: "../../definitions/SOL005_def.yaml#/definitions/NotificationLink" + threshold: + description: > + Link to the resource that represents the + threshold that was crossed. + $ref: "../../definitions/SOL005_def.yaml#/definitions/NotificationLink" + + PerformanceInformationAvailableNotification: + description: > + This notification informs the receiver that performance information is available. + type: object + required: + - id + - notificationType + - subscriptionId + - timeStamp + - objectInstanceId + - _links + properties: + id: + description: > + Identifier of this notification. If a notification is + sent multiple times due to multiple + subscriptions, the "id" attribute of all these + notifications shall have the same value. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + notificationType: + description: > + Discriminator for the different notification types. + Shall be set to + "PerformanceInformationAvailableNotification" + for this notification type. + type: string + subscriptionId: + description: > + Identifier of the subscription that this notification relates to. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + timeStamp: + description: > + Date and time of the generation of the notification. + $ref: "../../definitions/SOL005_def.yaml#/definitions/DateTime" + objectInstanceId: + description: > + Identifier that identifies a NS instance. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + _links: + description: > + Links to resources related to this notification. + type: object + required: + - subscription + - pmJob + - performanceReport + properties: + subscription: + description: > + Link to the related subscription. + $ref: "../../definitions/SOL005_def.yaml#/definitions/NotificationLink" + objectInstance: + description: > + Link to the resource representing the NS + instance to which the notified change applies. + Shall be present if the NS instance information + is accessible as a resource. + $ref: "../../definitions/SOL005_def.yaml#/definitions/NotificationLink" + pmJob: + description: > + Link to the resource that represents the PM job + for which performance information is available. + $ref: "../../definitions/SOL005_def.yaml#/definitions/NotificationLink" + performanceReport: + description: > + Link from which the available performance + information of data type "PerformanceReport" + (see clause 7.5.2.10) can be obtained. + This link should point to an "Individual + performance report" resource as defined in + clause 6.4.3a. + $ref: "../../definitions/SOL005_def.yaml#/definitions/NotificationLink" + CreatePmJobRequest: description: > This type represents a request to create a PM job. @@ -14,77 +239,12 @@ definitions: performance information is requested to be collected. type: "array" items: - $ref: "SOL005_def.yaml#/definitions/Identifier" + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" criteria: description: > Criteria of the collection of performance information. $ref: "#/definitions/PmJobCriteria" - PmJobCriteria: - description: > - This type represents collection criteria for PM jobs. - It shall comply with the provisions defined in Table 7.5.3.3-1. - type: object - required: - - collectionPeriod - - reportingPeriod - properties: - performanceMetric: - description: > - This defines the types of performance metrics - for the specified object instances. At least one - of the two attributes (performance metric or - group) shall be present. - type: "array" - items: - $ref: "SOL005_def.yaml#/definitions/String" - performanceMetricGroup: - description: > - Group of performance metrics. - A metric group is a pre-defined list of metrics, - known to the producer that it can decompose to - individual metrics. At least one of the two - attributes (performance metric or group) shall - be present. - type: "array" - items: - $ref: "SOL005_def.yaml#/definitions/String" - collectionPeriod: - description: > - Specifies the periodicity at which the producer - will collect performance information. The unit - shall be seconds. - At the end of each reportingPeriod, the producer will inform the consumer about availability of the performance - data collected for each completed collection period during this reportingPeriod. The reportingPeriod should be - equal to or a multiple of the collectionPeriod. In the latter case, the performance data for the collection periods - within one reporting period are reported together. - In particular when choosing short collection and reporting periods, the number of PM jobs that can be - supported depends on the capability of the producing entity. - type: integer - minimum: 0 - default: 0 - reportingPeriod: - description: > - Specifies the periodicity at which the producer - will report to the consumer. - about performance information. The unit shall be seconds. - At the end of each reportingPeriod, the producer will inform the consumer about availability of the performance - data collected for each completed collection period during this reportingPeriod. The reportingPeriod should be - equal to or a multiple of the collectionPeriod. In the latter case, the performance data for the collection periods - within one reporting period are reported together. - In particular when choosing short collection and reporting periods, the number of PM jobs that can be - supported depends on the capability of the producing entity. - type: integer - minimum: 0 - default: 0 - reportingBoundary: - description: > - Identifies a time boundary after which the - reporting will stop. The boundary shall allow a - single reporting as well as periodic reporting up - to the boundary. - $ref: "SOL005_def.yaml#/definitions/DateTime" - PmJob: description: > This type represents a PM job. @@ -97,14 +257,14 @@ definitions: id: description: > Identifier of this PM job. - $ref: "SOL005_def.yaml#/definitions/Identifier" + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" objectInstanceIds: description: > Identifiers of the NS instances for which performance information is collected. type: array items: - $ref: "SOL005_def.yaml#/definitions/Identifier" + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" criteria: description: > Criteria of the collection of performance information. @@ -121,15 +281,15 @@ definitions: href: description: > The Uri where the report can be obtained. - $ref: "SOL005_def.yaml#/definitions/Uri" + $ref: "../../definitions/SOL005_def.yaml#/definitions/Uri" readyTime: description: > The time when the report was made available. - $ref: "SOL005_def.yaml#/definitions/DateTime" + $ref: "../../definitions/SOL005_def.yaml#/definitions/DateTime" expiryTime: description: > The time when the report will expire. - $ref: "SOL005_def.yaml#/definitions/DateTime" + $ref: "../../definitions/SOL005_def.yaml#/definitions/DateTime" fileSize: description: > The size of the report file in bytes, if known. @@ -144,7 +304,7 @@ definitions: self: description: > URI of this resource. - $ref: "SOL005_def.yaml#/definitions/Link" + $ref: "../../definitions/SOL005_def.yaml#/definitions/Link" objects: description: > Links to resources representing the NS @@ -153,7 +313,7 @@ definitions: information is accessible as a resource. type: array items: - $ref: "SOL005_def.yaml#/definitions/Link" + $ref: "../../definitions/SOL005_def.yaml#/definitions/Link" CreateThresholdRequest: description: > @@ -166,7 +326,7 @@ definitions: objectInstanceId: description: > Identifier of the NS instance associated with this threshold. - $ref: "SOL005_def.yaml#/definitions/Identifier" + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" criteria: description: > Criteria that define this threshold. @@ -185,11 +345,11 @@ definitions: id: description: > Identifier of this threshold resource. - $ref: "SOL005_def.yaml#/definitions/Identifier" + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" objectInstanceId: description: > Identifier of the NS instance associated with the threshold. - $ref: "SOL005_def.yaml#/definitions/Identifier" + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" criteria: description: > Criteria that define this threshold. @@ -197,199 +357,20 @@ definitions: _links: description: > Links for this resource. - type: object - required: - - self - properties: - self: - description: > - URI of this resource. - $ref: "SOL005_def.yaml#/definitions/Link" - object: - description: > - Link to a resource representing the NS instance for - which performance information is collected. Shall be - present if the NS instance information is accessible as - a resource. - - ThresholdCriteria: - description: > - This type represents criteria that define a threshold. - type: object - required: - - performanceMetric - - thresholdType - properties: - performanceMetric: - description: > - Defines the performance metric associated with the - threshold, as specified in ETSI GS NFV-IFA 027). - type: string - thresholdType: - description: > - Type of threshold. This attribute determines which other attributes - are present in the data structure. - Permitted values: - * SIMPLE: Single-valued static threshold - In the present document, simple thresholds are defined. The - definition of additional threshold types is left for future - specification. - type: string - enum: - - SIMPLE - simpleThresholdDetails: - description: > - Details of a simple threshold. Shall be present if - thresholdType="SIMPLE". - type: object - required: - - thresholdValue - - hysteresis - properties: - thresholdValue: - description: > - The threshold value. Shall be represented as a floating point - number. - type: integer - hysteresis: - description: > - The hysteresis of the threshold. Shall be represented as a - non-negative floating point number. - A notification with crossing direction "UP" will be generated if - the measured value reaches or exceeds - "thresholdValue" + "hysteresis". A notification with crossing - direction "DOWN" will be generated if the measured value reaches - or undercuts "thresholdValue" - "hysteresis". - The hysteresis is defined to prevent storms of threshold - crossing notifications. When processing a request to create a - threshold, implementations should enforce a suitable minimum - value for this attribute (e.g. override the value or reject the - request). - type: integer - - PmSubscriptionRequest: - description: > - This type represents a subscription request. - type: object - required: - - callbackUri - properties: - filter: - description: > - Filter settings for this subscription, to define the subset of - all notifications this subscription relates to. A particular - notification is sent to the subscriber if the filter matches, - or if there is no filter. - $ref: "#/definitions/PmNotificationsFilter" - callbackUri: - description: > - The URI of the endpoint to send the notification to. - $ref: "SOL005_def.yaml#/definitions/Uri" - authentication: - description: > - Authentication parameters to conFigure the use of - Authorization when sending notifications corresponding - to this subscription, as defined in clause 4.5.3.4. - This attribute shall only be present if the subscriber - requires authorization of notifications.. - $ref: "SOL005_def.yaml#/definitions/SubscriptionAuthentication" - - PmNotificationsFilter: - description: > - This type represents a filter that can be used to subscribe for - notifications related to performance management events. It - shall comply with the provisions defined in Table 7.5.3.2-1. - 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: - nsInstanceSubscriptionFilter: - description: > - Filter criteria to select NS instances about which to notify. - $ref: "SOL005_def.yaml#/definitions/NSInstanceSubscriptionFilter" - notificationTypes: - description: > - Match particular notification types. - Permitted values: - - ThresholdCrossedNotification - - PerformanceInformationAvailableNotification - The permitted values of the "notificationTypes" attribute are - spelled exactly as the names of the notification types to facilitate - automated code generation systems. - type: array - items: - type: string - enum: - - ThresholdCrossedNotification - - PerformanceInformationAvailableNotification - PmSubscription: - description: > - This type represents a subscription. - type: object - required: - - id - - callbackUri - - _links - properties: - id: - description: > - Identifier that identifies the subscription. - $ref: "SOL005_def.yaml#/definitions/Identifier" - filter: - description: > - Filter settings for this subscription, to define the subset of all - notifications this subscription relates to. A particular - notification is sent to the subscriber if the filter matches, or if - there is no filter. - $ref: "#/definitions/PmNotificationsFilter" - callbackUri: - description: > - The URI of the endpoint to send the notification to. - $ref: "SOL005_def.yaml#/definitions/Uri" - _links: - description: > - Links to resources related to this resource. - type: object - required: - - self - properties: - self: - description: > - URI of this resource. - $ref: "SOL005_def.yaml#/definitions/Link" - - Version: - description: > - Software version of the VNF. This is - changed when there is any change to the - software included in the VNF package. - This information is copied from the VNFD. - It shall be present after the VNF package - content has been on-boarded and absent otherwise. - type: string - - Checksum: - description: > - This type represents the checksum of a VNF package or an artifact file. - required: - - algorithm - - hash - type: object - properties: - algorithm: - description: > - Name of the algorithm used to generate the checksum, - as defined in ETSI GS NFV-SOL 004 [5]. For example, SHA-256, SHA-512. - type: string - hash: - description: > - The hexadecimal value of the checksum. - type: string - Link: - type: "object" + type: object + required: + - self + properties: + self: + description: > + URI of this resource. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Link" + object: + description: > + Link to a resource representing the NS instance for + which performance information is collected. Shall be + present if the NS instance information is accessible as + a resource. PerformanceReport: description: > @@ -429,7 +410,7 @@ definitions: reported. The object instances for this information element will be NS instances. - $ref: "SOL005_def.yaml#/definitions/Identifier" + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" performanceMetric: description: > Name of the metric collected. @@ -447,172 +428,164 @@ definitions: timeStamp: description: > Time stamp indicating when the data was collected. - $ref: "SOL005_def.yaml#/definitions/DateTime" + $ref: "../../definitions/SOL005_def.yaml#/definitions/DateTime" value: description: > The type of the "performanceValue" attribute (i.e. scalar, structure (Object in JSON), or array (of scalars, arrays or structures / Objects)) is outside the scope of the present document. type: object - PerformanceInformationAvailableNotification: + PmNotificationsFilter: description: > - This notification informs the receiver that performance information is available. + This type represents a filter that can be used to subscribe for + notifications related to performance management events. It + shall comply with the provisions defined in Table 7.5.3.2-1. + 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 - required: - - id - - notificationType - - subscriptionId - - timeStamp - - objectInstanceId - - _links properties: - id: - description: > - Identifier of this notification. If a notification is - sent multiple times due to multiple - subscriptions, the "id" attribute of all these - notifications shall have the same value. - $ref: "SOL005_def.yaml#/definitions/Identifier" - notificationType: - description: > - Discriminator for the different notification types. - Shall be set to - "PerformanceInformationAvailableNotification" - for this notification type. - type: string - subscriptionId: - description: > - Identifier of the subscription that this notification relates to. - $ref: "SOL005_def.yaml#/definitions/Identifier" - timeStamp: - description: > - Date and time of the generation of the notification. - $ref: "SOL005_def.yaml#/definitions/DateTime" - objectInstanceId: + nsInstanceSubscriptionFilter: description: > - Identifier that identifies a NS instance. - $ref: "SOL005_def.yaml#/definitions/Identifier" - _links: + Filter criteria to select NS instances about which to notify. + $ref: "../../definitions/SOL005_def.yaml#/definitions/NSInstanceSubscriptionFilter" + notificationTypes: description: > - Links to resources related to this notification. - type: object - required: - - subscription - - pmJob - - performanceReport - properties: - subscription: - description: > - Link to the related subscription. - $ref: "../../definitions/SOL005_def.yaml#/definitions/NotificationLink" - objectInstance: - description: > - Link to the resource representing the NS - instance to which the notified change applies. - Shall be present if the NS instance information - is accessible as a resource. - $ref: "../../definitions/SOL005_def.yaml#/definitions/NotificationLink" - pmJob: - description: > - Link to the resource that represents the PM job - for which performance information is available. - $ref: "../../definitions/SOL005_def.yaml#/definitions/NotificationLink" - performanceReport: - description: > - Link from which the available performance - information of data type "PerformanceReport" - (see clause 7.5.2.10) can be obtained. - This link should point to an "Individual - performance report" resource as defined in - clause 6.4.3a. - $ref: "../../definitions/SOL005_def.yaml#/definitions/NotificationLink" + Match particular notification types. + Permitted values: + - ThresholdCrossedNotification + - PerformanceInformationAvailableNotification + The permitted values of the "notificationTypes" attribute are + spelled exactly as the names of the notification types to facilitate + automated code generation systems. + type: array + items: + type: string + enum: + - ThresholdCrossedNotification + - PerformanceInformationAvailableNotification - ThresholdCrossedNotification: + PmJobCriteria: description: > - This type represents a notification that is sent when a threshold has been crossed. + This type represents collection criteria for PM jobs. + It shall comply with the provisions defined in Table 7.5.3.3-1. type: object required: - - id - - notificationType - - subscriptionId - - timeStamp - - thresholdId - - crossingDirection - - objectInstanceId - - performanceMetric - - performanceValue - - _links + - collectionPeriod + - reportingPeriod properties: - id: - description: > - Identifier of this notification. If a notification is - sent multiple times due to multiple - subscriptions, the "id" attribute of all these - notifications shall have the same value.. - $ref: "SOL005_def.yaml#/definitions/Identifier" - notificationType: - description: > - Discriminator for the different notification types. - Shall be set to "ThresholdCrossedNotification " - for this notification type. - type: string - subscriptionId: + performanceMetric: description: > - Identifier of the subscription that this notification relates to. - $ref: "SOL005_def.yaml#/definitions/Identifier" - timeStamp: + This defines the types of performance metrics + for the specified object instances. At least one + of the two attributes (performance metric or + group) shall be present. + type: "array" + items: + $ref: "../../definitions/SOL005_def.yaml#/definitions/String" + performanceMetricGroup: description: > - Date and time of the generation of the notification. - $ref: "SOL005_def.yaml#/definitions/DateTime" - thresholdId: + Group of performance metrics. + A metric group is a pre-defined list of metrics, + known to the producer that it can decompose to + individual metrics. At least one of the two + attributes (performance metric or group) shall + be present. + type: "array" + items: + $ref: "../../definitions/SOL005_def.yaml#/definitions/String" + collectionPeriod: description: > - Identifier of the threshold which has been crossed. - $ref: "SOL005_def.yaml#/definitions/Identifier" - crossingDirection: + Specifies the periodicity at which the producer + will collect performance information. The unit + shall be seconds. + At the end of each reportingPeriod, the producer will inform the consumer about availability of the performance + data collected for each completed collection period during this reportingPeriod. The reportingPeriod should be + equal to or a multiple of the collectionPeriod. In the latter case, the performance data for the collection periods + within one reporting period are reported together. + In particular when choosing short collection and reporting periods, the number of PM jobs that can be + supported depends on the capability of the producing entity. + type: integer + minimum: 0 + default: 0 + reportingPeriod: description: > - An indication of whether the threshold was crossed in upward or downward direction. - $ref: "#/definitions/CrossingDirectionType" - objectInstanceId: + Specifies the periodicity at which the producer + will report to the consumer. + about performance information. The unit shall be seconds. + At the end of each reportingPeriod, the producer will inform the consumer about availability of the performance + data collected for each completed collection period during this reportingPeriod. The reportingPeriod should be + equal to or a multiple of the collectionPeriod. In the latter case, the performance data for the collection periods + within one reporting period are reported together. + In particular when choosing short collection and reporting periods, the number of PM jobs that can be + supported depends on the capability of the producing entity. + type: integer + minimum: 0 + default: 0 + reportingBoundary: description: > - Identifier that identifies a NS instance. - $ref: "SOL005_def.yaml#/definitions/Identifier" + Identifies a time boundary after which the + reporting will stop. The boundary shall allow a + single reporting as well as periodic reporting up + to the boundary. + $ref: "../../definitions/SOL005_def.yaml#/definitions/DateTime" + + ThresholdCriteria: + description: > + This type represents criteria that define a threshold. + type: object + required: + - performanceMetric + - thresholdType + properties: performanceMetric: description: > - Performance metric associated with the threshold. - This attribute shall contain the related "Measurement Name" value - as defined in clause 7.2 of ETSI GS NFV-IFA 027. + Defines the performance metric associated with the + threshold, as specified in ETSI GS NFV-IFA 027). type: string - performanceValue: + thresholdType: description: > - Value of the metric that resulted in threshold crossing. - The type of this attribute shall correspond to the related - "Measurement Unit" as defined in clause 7.2 of ETSI GS NFV-IFA 027. - type: object - _links: + Type of threshold. This attribute determines which other attributes + are present in the data structure. + Permitted values: + * SIMPLE: Single-valued static threshold + In the present document, simple thresholds are defined. The + definition of additional threshold types is left for future + specification. + type: string + enum: + - SIMPLE + simpleThresholdDetails: description: > - Links to resources related to this notification. + Details of a simple threshold. Shall be present if + thresholdType="SIMPLE". type: object required: - - subscription - - objectInstance - - threshold + - thresholdValue + - hysteresis properties: - subscription: - description: > - Link to the related subscription. - $ref: "../../definitions/SOL005_def.yaml#/definitions/NotificationLink" - objectInstance: + thresholdValue: description: > - Link to the resource representing the NS - instance to which the notified change applies. - Shall be present if the NS instance information - is accessible as a resource.. - $ref: "../../definitions/SOL005_def.yaml#/definitions/NotificationLink" - threshold: + The threshold value. Shall be represented as a floating point + number. + type: integer + hysteresis: description: > - Link to the resource that represents the - threshold that was crossed. - $ref: "../../definitions/SOL005_def.yaml#/definitions/NotificationLink" + The hysteresis of the threshold. Shall be represented as a + non-negative floating point number. + A notification with crossing direction "UP" will be generated if + the measured value reaches or exceeds + "thresholdValue" + "hysteresis". A notification with crossing + direction "DOWN" will be generated if the measured value reaches + or undercuts "thresholdValue" - "hysteresis". + The hysteresis is defined to prevent storms of threshold + crossing notifications. When processing a request to create a + threshold, implementations should enforce a suitable minimum + value for this attribute (e.g. override the value or reject the + request). + type: integer CrossingDirectionType: description: > diff --git a/src/SOL005/NSPerformanceManagement/definitions/SOL005_def.yaml b/src/SOL005/NSPerformanceManagement/definitions/SOL005_def.yaml deleted file mode 100644 index 32211aa..0000000 --- a/src/SOL005/NSPerformanceManagement/definitions/SOL005_def.yaml +++ /dev/null @@ -1,220 +0,0 @@ -definitions: - Identifier: - description: > - An identifier with the intention of being globally unique. - type: string - DateTime: - description: > - Date-time stamp. - Representation: String formatted according to IETF RFC 3339. - type: string - format: "date-time" - String: - description: > - This type represents stack of string values - type: string - Object: - description: > - This type represents stack of object values - type: object - - KeyValuePairs: - description: > - This type represents a list of key-value pairs. The order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - - Uri: - description: > - String formatted according to IETF RFC 3986. - type: string - - ProblemDetails: - #SOL005 location: 4.3.5.3-1 - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present document, - to ensure that the response contains additional textual information about - an error. IETF RFC 7807 [19] foresees extensibility of the - "ProblemDetails" type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to define - additional attributes that provide more information about the error. - The description column only provides some explanation of the meaning to - Facilitate understanding of the design. For a full description, see - IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies the - problem type. It is encouraged that the URI provides human-readable - documentation for the problem (e.g. using HTML) when dereferenced. - When this member is not present, its value is assumed to be - "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should not - change from occurrence to occurrence of the problem, except for - purposes of localization. If type is given and other than - "about:blank", this attribute shall also be provided. - A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of the - problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by the origin - server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of the - problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - IdentifierInVnfd: - description: > - Identifier of the software image. - type: string - - NSInstanceSubscriptionFilter: - description: > - This type represents subscription filter criteria to match NS instances. - type: object - properties: - nsdIds: - description: > - If present, match NS instances that were created - based on a NSD identified by one of the nsdId - values listed in this attribute. - type: array - items: - $ref: "#/definitions/Identifier" - vnfdIds: - description: > - If present, match NS instances that contain VNF - instances that were created based on a VNFD - identified by one of the vnfdId values listed in - this attribute. - type: array - items: - $ref: "#/definitions/Identifier" - pnfdIds: - description: > - If present, match NS instances that contain - PNFs that are represented by a PNFD identified - by one of the pnfdId values listed in this - attribute. - type: array - items: - $ref: "#/definitions/Identifier" - nsInstanceIds: - description: > - If present, match NS instances with an instance - identifier listed in this attribute. - type: array - items: - $ref: "#/definitions/Identifier" - nsInstanceNames: - description: > - If present, match NS instances with a NS - Instance Name listed in this attribute. - type: array - items: - $ref: "#/definitions/String" - - SubscriptionAuthentication: - 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: - description: > - Parameters for authentication/authorization using - OAUTH2_CLIENT_CREDENTIALS. - Shall be present if authType is "OAUTH2_CLIENT_CREDENTIALS" and the - contained information has not been provisioned out of band. - Shall be absent otherwise. - type: object - properties: - clientId: - description: > - Client identifier to be used in the access token request of the - OAuth 2.0 client credentials grant type. - Shall be present if it has not been provisioned out of band. - The clientId and clientPassword passed in a subscription shall - not be the same as the clientId and clientPassword that are used - to obtain authorization for API requests. Client credentials may - differ between subscriptions. The value of clientPassword should - be generated by a random process. - type: string - clientPassword: - description: > - Client password to be used in the access token request of the - OAuth 2.0 client credentials grant type. - Shall be present if it has not been provisioned out of band. - The clientId and clientPassword passed in a subscription shall - not be the same as the clientId and clientPassword that are used - to obtain authorization for API requests. Client credentials may - differ between subscriptions. The value of clientPassword should - be generated by a random process. - type: string - tokenEndpoint: - description: > - The token endpoint from which the access token can be obtained. - Shall be present if it has not been provisioned out of band. - $ref: "#/definitions/Uri" \ No newline at end of file diff --git a/src/SOL005/NSPerformanceManagement/responses/SOL005NSPerformanceManagement_resp.yaml b/src/SOL005/NSPerformanceManagement/responses/SOL005NSPerformanceManagement_resp.yaml deleted file mode 100644 index ea6c688..0000000 --- a/src/SOL005/NSPerformanceManagement/responses/SOL005NSPerformanceManagement_resp.yaml +++ /dev/null @@ -1,28 +0,0 @@ -# Copyright (c) ETSI 2017. -# https://forge.etsi.org/etsi-forge-copyright-notice.txt -responses: - 303: - description: > - See Other. - A subscription with the same callbackURI and the - same filter already exits and the policy of the NFVO is - to not create redundant subscriptions. - The HTTP response shall include a "Location" HTTP - header that contains the resource URI of the existing - subscription resource. - The response body shall be empty. - - 416: - description: > - The byte range passed in the "Range" header did not - match any available byte range in the NSD file (e.g. - "access after end of file"). - The response body may contain a ProblemDetails structure. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - $ref: "../../definitions/SOL005_def.yaml#/definitions/ProblemDetails" \ No newline at end of file diff --git a/src/SOL005/definitions/SOL005_def.yaml b/src/SOL005/definitions/SOL005_def.yaml index 044bc38..6efa0ac 100644 --- a/src/SOL005/definitions/SOL005_def.yaml +++ b/src/SOL005/definitions/SOL005_def.yaml @@ -178,6 +178,52 @@ definitions: type: string format: url + NSInstanceSubscriptionFilter: + description: > + This type represents subscription filter criteria to match NS instances. + type: object + properties: + nsdIds: + description: > + If present, match NS instances that were created + based on a NSD identified by one of the nsdId + values listed in this attribute. + type: array + items: + $ref: "#/definitions/Identifier" + vnfdIds: + description: > + If present, match NS instances that contain VNF + instances that were created based on a VNFD + identified by one of the vnfdId values listed in + this attribute. + type: array + items: + $ref: "#/definitions/Identifier" + pnfdIds: + description: > + If present, match NS instances that contain + PNFs that are represented by a PNFD identified + by one of the pnfdId values listed in this + attribute. + type: array + items: + $ref: "#/definitions/Identifier" + nsInstanceIds: + description: > + If present, match NS instances with an instance + identifier listed in this attribute. + type: array + items: + $ref: "#/definitions/Identifier" + nsInstanceNames: + description: > + If present, match NS instances with a NS + Instance Name listed in this attribute. + type: array + items: + $ref: "#/definitions/String" + ResourceHandle: description: > This type represents the information that allows addressing a virtualised resource @@ -254,4 +300,85 @@ definitions: This attribute may be included if the value of the isDeprecated attribute is set to true and shall be absent otherwise. $ref: "#/definitions/DateTime" - required: false \ No newline at end of file + required: false + + SubscriptionAuthentication: + 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: + description: > + Parameters for authentication/authorization using + OAUTH2_CLIENT_CREDENTIALS. + Shall be present if authType is "OAUTH2_CLIENT_CREDENTIALS" and the + contained information has not been provisioned out of band. + Shall be absent otherwise. + type: object + properties: + clientId: + description: > + Client identifier to be used in the access token request of the + OAuth 2.0 client credentials grant type. + Shall be present if it has not been provisioned out of band. + The clientId and clientPassword passed in a subscription shall + not be the same as the clientId and clientPassword that are used + to obtain authorization for API requests. Client credentials may + differ between subscriptions. The value of clientPassword should + be generated by a random process. + type: string + clientPassword: + description: > + Client password to be used in the access token request of the + OAuth 2.0 client credentials grant type. + Shall be present if it has not been provisioned out of band. + The clientId and clientPassword passed in a subscription shall + not be the same as the clientId and clientPassword that are used + to obtain authorization for API requests. Client credentials may + differ between subscriptions. The value of clientPassword should + be generated by a random process. + type: string + tokenEndpoint: + description: > + The token endpoint from which the access token can be obtained. + Shall be present if it has not been provisioned out of band. + $ref: "#/definitions/Uri" \ No newline at end of file diff --git a/src/SOL005/responses/SOL005_resp.yaml b/src/SOL005/responses/SOL005_resp.yaml index 04308c5..ef700cb 100644 --- a/src/SOL005/responses/SOL005_resp.yaml +++ b/src/SOL005/responses/SOL005_resp.yaml @@ -1,6 +1,63 @@ # Copyright (c) ETSI 2017. # https://forge.etsi.org/etsi-forge-copyright-notice.txt responses: + 206: + description: > + 206 PARTIAL CONTENT + headers: + Content-Type: + description: > + The MIME type of the body of the response. + type: string + maximum: 1 + minimum: 1 + Content-Range: + description: > + The Content-Range response HTTP header indicates where in a full body message a partial message belongs. + 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 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 + schema: + $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" + + 303: + description: > + 303 SEE OTHER + 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 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 + 400: description: > BAD REQUEST @@ -200,6 +257,63 @@ responses: schema: $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" + 409: + description: > + 409 CONFLICT + 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 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 + schema: + $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" + + 412: + description: > + 412 PRECONDITION FAILED + + Error: A precondition given in an HTTP request header is not fulfilled. + Typically, this is due to an ETag mismatch, indicating that the resource was modified by another entity. + The response body should contain a ProblemDetails structure, in which the "detail" attribute should convey + more information about the error. + 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 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 + schema: + $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" + 413: description: > PAYLOAD TOO LARGE @@ -258,6 +372,32 @@ responses: schema: $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" + 416: + description: > + 416 RANGE NOT SATISFIABLE + 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 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 + schema: + $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" + 422: description: > UNPROCESSABLE ENTITY -- GitLab