Loading src/SOL012/APIVersion/APIVersion.yaml +2 −2 Viewed Changes for src/SOL012/APIVersion/APIVersion.yaml: 2 added lines, 2 removed lines. Original line number Diff line number Diff line Loading @@ -23,8 +23,8 @@ info: name: NFV-SOL WG externalDocs: description: ETSI GS NFV-SOL 012 v3.4.1 url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/012/03.04.01_60/gs_nfv-sol012v030401p.pdf description: ETSI GS NFV-SOL 012 v3.7.1 url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/012/03.07.01_60/gs_NFV-SOL012v030701p.pdf paths: /nfvpolicy/api_versions: Loading src/SOL012/PolicyManagement/definitions/PolicyManagement_def.yaml 0 → 100644 +221 −0 Viewed Changes for src/SOL012/PolicyManagement/definitions/PolicyManagement_def.yaml: 221 added lines, 0 removed lines. Original line number Diff line number Diff line definitions: schemas: CreatePolicyRequest: description: > This type represents request parameters for creating a policy. It shall comply with the provisions defined in table 5.6.2.2-1. type: object properties: designer: description: > Human readable name of the designer of the policy. type: string name: description: > Human readable name of the policy. type: string pfId: description: > Identifier of the Policy Function (PF) which enforces the policy. Shall be present when the PF is not the API producer and shall be absent otherwise. Shall be absent when the API producer is NFVO-N. More information concerning the PF can be found in ETSI GR NFV-IFA 023 [i.2]. For example, the PF can be a VNFM or VIM when the API producer is an NFVO. $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/Identifier" associations: description: > Initial value of the “associations” attribute in the “Policy” data structure which represents the policy. Shall be absent when the association feature is not applicable for the PF. The associations refer to identifiers of entities that the PF manages. E.g., if the PF is a VNFM, the policy can associate to VNF instances; if the PF is NFVO, the policy can associate to an NS instances. How the PF determines the scope of applicability of the policy when this attribute is absent is outside the scope of the present document. type: array items: $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/Identifier" required: - designer - name Policy: description: >- This type represents an individual policy. It shall comply with the provisions defined in table 5.6.2.3-1. type: object properties: id: description: > Identifier of the policy. $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/Identifier" designer: description: > Human readable name of the designer of the policy. type: string name: description: > Human readable name of the policy. type: string pfId: description: > Identifier of the Policy Function (PF) which enforces the policy. Shall be present when the PF is not the API producer and shall be absent otherwise. Shall be absent when the API producer is NFVO-N. More information concerning the PF can be found in ETSI GR NFV-IFA 023 [i.2]. For example, the PF can be a VNFM or VIM when the API producer is an NFVO. $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/Identifier" versions: description: > Versions of the policy. Shall be present if at least one version of the policy has been transferred. type: array items: $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/Version" selectedVersion: description: > Selected version of the policy. Shall be present if one or more versions of the policy have been transferred. $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/Version" activationStatus: description: > Status of the policy on whether it is activated or deactivated. $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/ActivationStatus" transferStatus: description: > Status of the policy on whether the content of the policy has been transferred. $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/TransferStatus" associations: description: > Identifiers of the entities that the PF manages and to which the policy associates to. Shall be absent when the association feature is not applicable for the PF. The associations refer to identifiers of entities that the PF manages. E.g., if the PF is a VNFM, the policy can associate to VNF instances; if the PF is NFVO, the policy can associate to an NS instances. How the PF determines the scope of applicability of the policy when this attribute is absent is outside the scope of the present document. type: array items: $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/Identifier" _links: description: > Links for this resource type: object properties: self: description: > URI of this resource $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/Link" selected: description: > URI of the selected version of this policy, if exists. $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/Link" versions: description: > URIs of all the transferred versions of this policy, if exists. type: array items: $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/Link" required: - self required: - id - designer - name - activationStatus - transferStatus - _links PolicySubscriptionRequest: description: > This type represents a subscription request related to notifications about policy changes and policy conflicts. It shall comply with the provisions defined in table 5.6.2.5-1. type: object 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/schemas/PolicyNotificationsFilter" callbackUri: description: > The URI of the endpoint to send the notification to. $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/Uri" authentication: description: > Authentication parameters to configure the use of Authorization when sending notifications corresponding to this subscription, as defined in clause 8.3.4 of ETSI GS NFV-SOL 013. This attribute shall only be present if the subscriber requires authorization of notifications. $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/SubscriptionAuthentication" required: - callbackUri PolicySubscription: description: > This type represents a subscription related to notifications about policy changes and policy conflicts. It shall comply with the provisions defined in table 5.6.2.6-1. type: object properties: id: description: > Identifier of this subscription resource. $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/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/schemas/PolicyNotificationsFilter" callbackUri: description: > The URI of the endpoint to send the notification to. $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/Uri" _links: description: > Links for this resource. type: object properties: self: description: > URI of this resource. $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/Link" required: - self required: - id - callbackUri - _links PolicyNotificationsFilter: description: > This type represents a subscription filter related to notifications about policy changes and policy conflicts. It shall comply with the provisions defined in table 5.6.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: notificationTypes: description: > Match particular notification types. Permitted values: - PolicyChangeNotification - PolicyConflictNotification 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: - PolicyChangeNotification - PolicyConflictNotification policyIds: description: > Match particular policy identifiers. For "PolicyConflictNotification", the notification is sent if any of the policies specified in the subscription is impacted by the conflict, as defined in clause 5.6.2.8. type: array items: $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/Identifier" changeTypes: description: > Match particular policy management operation types that cause the change of the policy. type: array items: $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/PolicyOperationType" No newline at end of file src/SOL012/PolicyManagement/PolicyManagement.yaml +197 −363 Viewed Changes for src/SOL012/PolicyManagement/PolicyManagement.yaml: 197 added lines, 363 removed lines. Original line number Diff line number Diff line Loading @@ -15,8 +15,8 @@ info: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt externalDocs: description: ETSI GS NFV-SOL 012 v3.4.1 url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/012/03.04.01_60/gs_nfv-sol012v030401p.pdf description: ETSI GS NFV-SOL 012 v3.7.1 url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/012/03.07.01_60/gs_NFV-SOL012v030701p.pdf security: - OauthSecurity: Loading Loading @@ -52,25 +52,25 @@ paths: "201": $ref: '#/components/responses/Policy.Post.201' "400": $ref: ../components/SOL012_resp.yaml#/components/responses/400 $ref: ../responses/SOL012_resp.yaml#/responses/400 "401": $ref: ../components/SOL012_resp.yaml#/components/responses/401 $ref: ../responses/SOL012_resp.yaml#/responses/401 "403": $ref: ../components/SOL012_resp.yaml#/components/responses/403 $ref: ../responses/SOL012_resp.yaml#/responses/403 "404": $ref: ../components/SOL012_resp.yaml#/components/responses/404 $ref: ../responses/SOL012_resp.yaml#/responses/404 "405": $ref: ../components/SOL012_resp.yaml#/components/responses/405 $ref: ../responses/SOL012_resp.yaml#/responses/405 "406": $ref: ../components/SOL012_resp.yaml#/components/responses/406 $ref: ../responses/SOL012_resp.yaml#/responses/406 "422": $ref: ../components/SOL012_resp.yaml#/components/responses/422 $ref: ../responses/SOL012_resp.yaml#/responses/422 "500": $ref: ../components/SOL012_resp.yaml#/components/responses/500 $ref: ../responses/SOL012_resp.yaml#/responses/500 "503": $ref: ../components/SOL012_resp.yaml#/components/responses/503 $ref: ../responses/SOL012_resp.yaml#/responses/503 "504": $ref: ../components/SOL012_resp.yaml#/components/responses/504 $ref: ../responses/SOL012_resp.yaml#/responses/504 get: description: >- Loading @@ -78,8 +78,8 @@ paths: This method shall follow the provisions specified in the tables 5.5.3.3.2-1 and 5.5.3.3.2-2 for URI query parameters, request and response data structures, and response codes. parameters: - $ref: "../components/SOL012_params.yaml#/components/parameters/filter" - $ref: "../components/SOL012_params.yaml#/components/parameters/nextpage_opaque_marker" - $ref: "#/components/parameters/filter.Policies" - $ref: "#/components/parameters/nextpage_opaque_marker.Policies" - $ref: "../components/SOL012_params.yaml#/components/parameters/Version" - $ref: "../components/SOL012_params.yaml#/components/parameters/Accept" - $ref: "../components/SOL012_params.yaml#/components/parameters/Authorization" Loading @@ -89,23 +89,23 @@ paths: "400": $ref: '#/components/responses/Policy.Get.400' "401": $ref: ../components/SOL012_resp.yaml#/components/responses/401 $ref: ../responses/SOL012_resp.yaml#/responses/401 "403": $ref: ../components/SOL012_resp.yaml#/components/responses/403 $ref: ../responses/SOL012_resp.yaml#/responses/403 "404": $ref: ../components/SOL012_resp.yaml#/components/responses/404 $ref: ../responses/SOL012_resp.yaml#/responses/404 "405": $ref: ../components/SOL012_resp.yaml#/components/responses/405 $ref: ../responses/SOL012_resp.yaml#/responses/405 "406": $ref: ../components/SOL012_resp.yaml#/components/responses/406 $ref: ../responses/SOL012_resp.yaml#/responses/406 "422": $ref: ../components/SOL012_resp.yaml#/components/responses/422 $ref: ../responses/SOL012_resp.yaml#/responses/422 "500": $ref: ../components/SOL012_resp.yaml#/components/responses/500 $ref: ../responses/SOL012_resp.yaml#/responses/500 "503": $ref: ../components/SOL012_resp.yaml#/components/responses/503 $ref: ../responses/SOL012_resp.yaml#/responses/503 "504": $ref: ../components/SOL012_resp.yaml#/components/responses/504 $ref: ../responses/SOL012_resp.yaml#/responses/504 "/policies/{policyId}": description: > Loading @@ -125,25 +125,25 @@ paths: "200": $ref: '#/components/responses/IndividualPolicy.Get.200' "400": $ref: ../components/SOL012_resp.yaml#/components/responses/400 $ref: ../responses/SOL012_resp.yaml#/responses/400 "401": $ref: ../components/SOL012_resp.yaml#/components/responses/401 $ref: ../responses/SOL012_resp.yaml#/responses/401 "403": $ref: ../components/SOL012_resp.yaml#/components/responses/403 $ref: ../responses/SOL012_resp.yaml#/responses/403 "404": $ref: ../components/SOL012_resp.yaml#/components/responses/404 $ref: ../responses/SOL012_resp.yaml#/responses/404 "405": $ref: ../components/SOL012_resp.yaml#/components/responses/405 $ref: ../responses/SOL012_resp.yaml#/responses/405 "406": $ref: ../components/SOL012_resp.yaml#/components/responses/406 $ref: ../responses/SOL012_resp.yaml#/responses/406 "422": $ref: ../components/SOL012_resp.yaml#/components/responses/422 $ref: ../responses/SOL012_resp.yaml#/responses/422 "500": $ref: ../components/SOL012_resp.yaml#/components/responses/500 $ref: ../responses/SOL012_resp.yaml#/responses/500 "503": $ref: ../components/SOL012_resp.yaml#/components/responses/503 $ref: ../responses/SOL012_resp.yaml#/responses/503 "504": $ref: ../components/SOL012_resp.yaml#/components/responses/504 $ref: ../responses/SOL012_resp.yaml#/responses/504 patch: description: > Loading @@ -164,27 +164,27 @@ paths: "200": $ref: '#/components/responses/PolicyModifications.Patch.200' "400": $ref: ../components/SOL012_resp.yaml#/components/responses/400 $ref: ../responses/SOL012_resp.yaml#/responses/400 "401": $ref: ../components/SOL012_resp.yaml#/components/responses/401 $ref: ../responses/SOL012_resp.yaml#/responses/401 "403": $ref: ../components/SOL012_resp.yaml#/components/responses/403 $ref: ../responses/SOL012_resp.yaml#/responses/403 "404": $ref: ../components/SOL012_resp.yaml#/components/responses/404 $ref: ../responses/SOL012_resp.yaml#/responses/404 "405": $ref: ../components/SOL012_resp.yaml#/components/responses/405 $ref: ../responses/SOL012_resp.yaml#/responses/405 "406": $ref: ../components/SOL012_resp.yaml#/components/responses/406 $ref: ../responses/SOL012_resp.yaml#/responses/406 "409": $ref: '#/components/responses/PolicyModifications.Patch.409' "422": $ref: ../components/SOL012_resp.yaml#/components/responses/422 $ref: ../responses/SOL012_resp.yaml#/responses/422 "500": $ref: ../components/SOL012_resp.yaml#/components/responses/500 $ref: ../responses/SOL012_resp.yaml#/responses/500 "503": $ref: ../components/SOL012_resp.yaml#/components/responses/503 $ref: ../responses/SOL012_resp.yaml#/responses/503 "504": $ref: ../components/SOL012_resp.yaml#/components/responses/504 $ref: ../responses/SOL012_resp.yaml#/responses/504 delete: description: > Loading @@ -200,27 +200,27 @@ paths: "204": $ref: '#/components/responses/Policy.Delete.204' "400": $ref: ../components/SOL012_resp.yaml#/components/responses/400 $ref: ../responses/SOL012_resp.yaml#/responses/400 "401": $ref: ../components/SOL012_resp.yaml#/components/responses/401 $ref: ../responses/SOL012_resp.yaml#/responses/401 "403": $ref: ../components/SOL012_resp.yaml#/components/responses/403 $ref: ../responses/SOL012_resp.yaml#/responses/403 "404": $ref: ../components/SOL012_resp.yaml#/components/responses/404 $ref: ../responses/SOL012_resp.yaml#/responses/404 "405": $ref: ../components/SOL012_resp.yaml#/components/responses/405 $ref: ../responses/SOL012_resp.yaml#/responses/405 "406": $ref: ../components/SOL012_resp.yaml#/components/responses/406 $ref: ../responses/SOL012_resp.yaml#/responses/406 "409": $ref: '#/components/responses/Policy.Delete.409' "422": $ref: ../components/SOL012_resp.yaml#/components/responses/422 $ref: ../responses/SOL012_resp.yaml#/responses/422 "500": $ref: ../components/SOL012_resp.yaml#/components/responses/500 $ref: ../responses/SOL012_resp.yaml#/responses/500 "503": $ref: ../components/SOL012_resp.yaml#/components/responses/503 $ref: ../responses/SOL012_resp.yaml#/responses/503 "504": $ref: ../components/SOL012_resp.yaml#/components/responses/504 $ref: ../responses/SOL012_resp.yaml#/responses/504 "/policies/{policyId}/selected_versions": description: > Loading @@ -242,25 +242,25 @@ paths: "200": $ref: '#/components/responses/PolicySelectedVersion.Get.200' "400": $ref: ../components/SOL012_resp.yaml#/components/responses/400 $ref: ../responses/SOL012_resp.yaml#/responses/400 "401": $ref: ../components/SOL012_resp.yaml#/components/responses/401 $ref: ../responses/SOL012_resp.yaml#/responses/401 "403": $ref: ../components/SOL012_resp.yaml#/components/responses/403 $ref: ../responses/SOL012_resp.yaml#/responses/403 "404": $ref: '#/components/responses/PolicySelectedVersion.Get.404' "405": $ref: ../components/SOL012_resp.yaml#/components/responses/405 $ref: ../responses/SOL012_resp.yaml#/responses/405 "406": $ref: ../components/SOL012_resp.yaml#/components/responses/406 $ref: ../responses/SOL012_resp.yaml#/responses/406 "422": $ref: ../components/SOL012_resp.yaml#/components/responses/422 $ref: ../responses/SOL012_resp.yaml#/responses/422 "500": $ref: ../components/SOL012_resp.yaml#/components/responses/500 $ref: ../responses/SOL012_resp.yaml#/responses/500 "503": $ref: ../components/SOL012_resp.yaml#/components/responses/503 $ref: ../responses/SOL012_resp.yaml#/responses/503 "504": $ref: ../components/SOL012_resp.yaml#/components/responses/504 $ref: ../responses/SOL012_resp.yaml#/responses/504 "/policies/{policyId}/versions/{version}": description: > Loading @@ -281,25 +281,25 @@ paths: "200": $ref: '#/components/responses/IndividualPolicyVersion.Get.200' "400": $ref: ../components/SOL012_resp.yaml#/components/responses/400 $ref: ../responses/SOL012_resp.yaml#/responses/400 "401": $ref: ../components/SOL012_resp.yaml#/components/responses/401 $ref: ../responses/SOL012_resp.yaml#/responses/401 "403": $ref: ../components/SOL012_resp.yaml#/components/responses/403 $ref: ../responses/SOL012_resp.yaml#/responses/403 "404": $ref: ../components/SOL012_resp.yaml#/components/responses/404 $ref: ../responses/SOL012_resp.yaml#/responses/404 "405": $ref: ../components/SOL012_resp.yaml#/components/responses/405 $ref: ../responses/SOL012_resp.yaml#/responses/405 "406": $ref: ../components/SOL012_resp.yaml#/components/responses/406 $ref: ../responses/SOL012_resp.yaml#/responses/406 "422": $ref: ../components/SOL012_resp.yaml#/components/responses/422 $ref: ../responses/SOL012_resp.yaml#/responses/422 "500": $ref: ../components/SOL012_resp.yaml#/components/responses/500 $ref: ../responses/SOL012_resp.yaml#/responses/500 "503": $ref: ../components/SOL012_resp.yaml#/components/responses/503 $ref: ../responses/SOL012_resp.yaml#/responses/503 "504": $ref: ../components/SOL012_resp.yaml#/components/responses/504 $ref: ../responses/SOL012_resp.yaml#/responses/504 put: description: > Loading @@ -314,27 +314,27 @@ paths: "201": $ref: '#/components/responses/PolicyVersionTransfer.Put.201' "400": $ref: ../components/SOL012_resp.yaml#/components/responses/400 $ref: ../responses/SOL012_resp.yaml#/responses/400 "401": $ref: ../components/SOL012_resp.yaml#/components/responses/401 $ref: ../responses/SOL012_resp.yaml#/responses/401 "403": $ref: ../components/SOL012_resp.yaml#/components/responses/403 $ref: ../responses/SOL012_resp.yaml#/responses/403 "404": $ref: ../components/SOL012_resp.yaml#/components/responses/404 $ref: ../responses/SOL012_resp.yaml#/responses/404 "405": $ref: ../components/SOL012_resp.yaml#/components/responses/405 $ref: ../responses/SOL012_resp.yaml#/responses/405 "406": $ref: ../components/SOL012_resp.yaml#/components/responses/406 $ref: ../responses/SOL012_resp.yaml#/responses/406 "409": $ref: '#/components/responses/PolicyVersionTransfer.Put.409' "422": $ref: ../components/SOL012_resp.yaml#/components/responses/422 $ref: ../responses/SOL012_resp.yaml#/responses/422 "500": $ref: ../components/SOL012_resp.yaml#/components/responses/500 $ref: ../responses/SOL012_resp.yaml#/responses/500 "503": $ref: ../components/SOL012_resp.yaml#/components/responses/503 $ref: ../responses/SOL012_resp.yaml#/responses/503 "504": $ref: ../components/SOL012_resp.yaml#/components/responses/504 $ref: ../responses/SOL012_resp.yaml#/responses/504 delete: description: > Loading @@ -349,27 +349,27 @@ paths: "204": $ref: '#/components/responses/PolicyVersion.Delete.204' "400": $ref: ../components/SOL012_resp.yaml#/components/responses/400 $ref: ../responses/SOL012_resp.yaml#/responses/400 "401": $ref: ../components/SOL012_resp.yaml#/components/responses/401 $ref: ../responses/SOL012_resp.yaml#/responses/401 "403": $ref: ../components/SOL012_resp.yaml#/components/responses/403 $ref: ../responses/SOL012_resp.yaml#/responses/403 "404": $ref: ../components/SOL012_resp.yaml#/components/responses/404 $ref: ../responses/SOL012_resp.yaml#/responses/404 "405": $ref: ../components/SOL012_resp.yaml#/components/responses/405 $ref: ../responses/SOL012_resp.yaml#/responses/405 "406": $ref: ../components/SOL012_resp.yaml#/components/responses/406 $ref: ../responses/SOL012_resp.yaml#/responses/406 "409": $ref: '#/components/responses/PolicyVersion.Delete.409' "422": $ref: ../components/SOL012_resp.yaml#/components/responses/422 $ref: ../responses/SOL012_resp.yaml#/responses/422 "500": $ref: ../components/SOL012_resp.yaml#/components/responses/500 $ref: ../responses/SOL012_resp.yaml#/responses/500 "503": $ref: ../components/SOL012_resp.yaml#/components/responses/503 $ref: ../responses/SOL012_resp.yaml#/responses/503 "504": $ref: ../components/SOL012_resp.yaml#/components/responses/504 $ref: ../responses/SOL012_resp.yaml#/responses/504 "/subscriptions": description: >- Loading @@ -395,25 +395,25 @@ paths: "303": $ref: '#/components/responses/Subscriptions.Post.303' "400": $ref: ../components/SOL012_resp.yaml#/components/responses/400 $ref: ../responses/SOL012_resp.yaml#/responses/400 "401": $ref: ../components/SOL012_resp.yaml#/components/responses/401 $ref: ../responses/SOL012_resp.yaml#/responses/401 "403": $ref: ../components/SOL012_resp.yaml#/components/responses/403 $ref: ../responses/SOL012_resp.yaml#/responses/403 "404": $ref: ../components/SOL012_resp.yaml#/components/responses/404 $ref: ../responses/SOL012_resp.yaml#/responses/404 "405": $ref: ../components/SOL012_resp.yaml#/components/responses/405 $ref: ../responses/SOL012_resp.yaml#/responses/405 "406": $ref: ../components/SOL012_resp.yaml#/components/responses/406 $ref: ../responses/SOL012_resp.yaml#/responses/406 "422": $ref: ../components/SOL012_resp.yaml#/components/responses/422 $ref: ../responses/SOL012_resp.yaml#/responses/422 "500": $ref: ../components/SOL012_resp.yaml#/components/responses/500 $ref: ../responses/SOL012_resp.yaml#/responses/500 "503": $ref: ../components/SOL012_resp.yaml#/components/responses/503 $ref: ../responses/SOL012_resp.yaml#/responses/503 "504": $ref: ../components/SOL012_resp.yaml#/components/responses/504 $ref: ../responses/SOL012_resp.yaml#/responses/504 get: description: >- Loading @@ -425,31 +425,31 @@ paths: - $ref: "../components/SOL012_params.yaml#/components/parameters/Version" - $ref: "../components/SOL012_params.yaml#/components/parameters/Accept" - $ref: "../components/SOL012_params.yaml#/components/parameters/Authorization" - $ref: "../components/SOL012_params.yaml#/components/parameters/filter" - $ref: "../components/SOL012_params.yaml#/components/parameters/nextpage_opaque_marker" - $ref: "#/components/parameters/filter.Subscriptions" - $ref: "#/components/parameters/nextpage_opaque_marker.Subscriptions" responses: "200": $ref: '#/components/responses/Subscriptions.Get.200' "400": $ref: '#/components/responses/Subscriptions.Get.400' "401": $ref: ../components/SOL012_resp.yaml#/components/responses/401 $ref: ../responses/SOL012_resp.yaml#/responses/401 "403": $ref: ../components/SOL012_resp.yaml#/components/responses/403 $ref: ../responses/SOL012_resp.yaml#/responses/403 "404": $ref: ../components/SOL012_resp.yaml#/components/responses/404 $ref: ../responses/SOL012_resp.yaml#/responses/404 "405": $ref: ../components/SOL012_resp.yaml#/components/responses/405 $ref: ../responses/SOL012_resp.yaml#/responses/405 "406": $ref: ../components/SOL012_resp.yaml#/components/responses/406 $ref: ../responses/SOL012_resp.yaml#/responses/406 "422": $ref: ../components/SOL012_resp.yaml#/components/responses/422 $ref: ../responses/SOL012_resp.yaml#/responses/422 "500": $ref: ../components/SOL012_resp.yaml#/components/responses/500 $ref: ../responses/SOL012_resp.yaml#/responses/500 "503": $ref: ../components/SOL012_resp.yaml#/components/responses/503 $ref: ../responses/SOL012_resp.yaml#/responses/503 "504": $ref: ../components/SOL012_resp.yaml#/components/responses/504 $ref: ../responses/SOL012_resp.yaml#/responses/504 "/subscriptions/{subscriptionId}": description: >- Loading @@ -470,25 +470,25 @@ paths: "200": $ref: '#/components/responses/IndividualSubscription.Get.200' "400": $ref: ../components/SOL012_resp.yaml#/components/responses/400 $ref: ../responses/SOL012_resp.yaml#/responses/400 "401": $ref: ../components/SOL012_resp.yaml#/components/responses/401 $ref: ../responses/SOL012_resp.yaml#/responses/401 "403": $ref: ../components/SOL012_resp.yaml#/components/responses/403 $ref: ../responses/SOL012_resp.yaml#/responses/403 "404": $ref: ../components/SOL012_resp.yaml#/components/responses/404 $ref: ../responses/SOL012_resp.yaml#/responses/404 "405": $ref: ../components/SOL012_resp.yaml#/components/responses/405 $ref: ../responses/SOL012_resp.yaml#/responses/405 "406": $ref: ../components/SOL012_resp.yaml#/components/responses/406 $ref: ../responses/SOL012_resp.yaml#/responses/406 "422": $ref: ../components/SOL012_resp.yaml#/components/responses/422 $ref: ../responses/SOL012_resp.yaml#/responses/422 "500": $ref: ../components/SOL012_resp.yaml#/components/responses/500 $ref: ../responses/SOL012_resp.yaml#/responses/500 "503": $ref: ../components/SOL012_resp.yaml#/components/responses/503 $ref: ../responses/SOL012_resp.yaml#/responses/503 "504": $ref: ../components/SOL012_resp.yaml#/components/responses/504 $ref: ../responses/SOL012_resp.yaml#/responses/504 delete: description: >- Loading @@ -505,27 +505,27 @@ paths: "204": $ref: '#/components/responses/IndividualSubscription.Delete.204' "400": $ref: ../components/SOL012_resp.yaml#/components/responses/400 $ref: ../responses/SOL012_resp.yaml#/responses/400 "401": $ref: ../components/SOL012_resp.yaml#/components/responses/401 $ref: ../responses/SOL012_resp.yaml#/responses/401 "403": $ref: ../components/SOL012_resp.yaml#/components/responses/403 $ref: ../responses/SOL012_resp.yaml#/responses/403 "404": $ref: ../components/SOL012_resp.yaml#/components/responses/404 $ref: ../responses/SOL012_resp.yaml#/responses/404 "405": $ref: ../components/SOL012_resp.yaml#/components/responses/405 $ref: ../responses/SOL012_resp.yaml#/responses/405 "406": $ref: ../components/SOL012_resp.yaml#/components/responses/406 $ref: ../responses/SOL012_resp.yaml#/responses/406 "409": $ref: ../components/SOL012_resp.yaml#/components/responses/409 $ref: ../responses/SOL012_resp.yaml#/responses/409 "422": $ref: ../components/SOL012_resp.yaml#/components/responses/422 $ref: ../responses/SOL012_resp.yaml#/responses/422 "500": $ref: ../components/SOL012_resp.yaml#/components/responses/500 $ref: ../responses/SOL012_resp.yaml#/responses/500 "503": $ref: ../components/SOL012_resp.yaml#/components/responses/503 $ref: ../responses/SOL012_resp.yaml#/responses/503 "504": $ref: ../components/SOL012_resp.yaml#/components/responses/504 $ref: ../responses/SOL012_resp.yaml#/responses/504 components: parameters: Loading @@ -538,7 +538,7 @@ components: in: path required: true schema: $ref: '../components/SOL012_schemas.yaml#/components/schemas/Identifier' $ref: '../definitions/SOL012_def.yaml#/definitions/schemas/Identifier' version: name: version Loading @@ -560,228 +560,62 @@ components: in: path required: true schema: $ref: '../components/SOL012_schemas.yaml#/components/schemas/Identifier' $ref: '../definitions/SOL012_def.yaml#/definitions/schemas/Identifier' schemas: CreatePolicyRequest: description: > This type represents request parameters for creating a policy. It shall comply with the provisions defined in table 5.6.2.2-1. type: object properties: designer: description: > Human readable name of the designer of the policy. type: string name: filter.Policies: name: filter description: > Human readable name of the policy. Attribute-based filtering expression according to clause 5.2 of ETSI GS NFV-SOL 013 [7]. The API producer shall support receiving this parameter as part of the URI query string. The API consumer may supply this parameter. All attribute names that appear in the Policy and in data types referenced from it shall be supported by the API producer in the filter expression. in: query required: false schema: type: string pfId: description: > Identifier of the Policy Function (PF) which enforces the policy. Shall be present when the PF is not the API producer and shall be absent otherwise. Shall be absent when the API producer is NFVO-N. More information concerning the PF can be found in ETSI GR NFV-IFA 023 [i.2]. For example, the PF can be a VNFM or VIM when the API producer is an NFVO. $ref: "../components/SOL012_schemas.yaml#/components/schemas/Identifier" associations: description: > Initial value of the “associations” attribute in the “Policy” data structure which represents the policy. Shall be absent when the association feature is not applicable for the PF. The associations refer to identifiers of entities that the PF manages. E.g., if the PF is a VNFM, the policy can associate to VNF instances; if the PF is NFVO, the policy can associate to an NS instances. How the PF determines the scope of applicability of the policy when this attribute is absent is outside the scope of the present document. type: array items: $ref: "../components/SOL012_schemas.yaml#/components/schemas/Identifier" required: - designer - name Policy: description: >- This type represents an individual policy. It shall comply with the provisions defined in table 5.6.2.3-1. type: object properties: id: description: > Identifier of the policy. $ref: "../components/SOL012_schemas.yaml#/components/schemas/Identifier" designer: nextpage_opaque_marker.Policies: name: nextpage_opaque_marker description: > Human readable name of the designer of the policy. type: string name: description: > Human readable name of the policy. Marker to obtain the next page of a paged response. Shall be supported by the API producer if it supports alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 [7] for this resource. in: query required: false schema: type: string pfId: description: > Identifier of the Policy Function (PF) which enforces the policy. Shall be present when the PF is not the API producer and shall be absent otherwise. Shall be absent when the API producer is NFVO-N. More information concerning the PF can be found in ETSI GR NFV-IFA 023 [i.2]. For example, the PF can be a VNFM or VIM when the API producer is an NFVO. $ref: "../components/SOL012_schemas.yaml#/components/schemas/Identifier" versions: description: > Versions of the policy. Shall be present if at least one version of the policy has been transferred. type: array items: $ref: "../components/SOL012_schemas.yaml#/components/schemas/Version" selectedVersion: description: > Selected version of the policy. Shall be present if one or more versions of the policy have been transferred. $ref: "../components/SOL012_schemas.yaml#/components/schemas/Version" activationStatus: description: > Status of the policy on whether it is activated or deactivated. $ref: "../components/SOL012_schemas.yaml#/components/schemas/ActivationStatus" transferStatus: description: > Status of the policy on whether the content of the policy has been transferred. $ref: "../components/SOL012_schemas.yaml#/components/schemas/TransferStatus" associations: description: > Identifiers of the entities that the PF manages and to which the policy associates to. Shall be absent when the association feature is not applicable for the PF. The associations refer to identifiers of entities that the PF manages. E.g., if the PF is a VNFM, the policy can associate to VNF instances; if the PF is NFVO, the policy can associate to an NS instances. How the PF determines the scope of applicability of the policy when this attribute is absent is outside the scope of the present document. type: array items: $ref: "../components/SOL012_schemas.yaml#/components/schemas/Identifier" _links: description: > Links for this resource type: object properties: self: description: > URI of this resource $ref: "../components/SOL012_schemas.yaml#/components/schemas/Link" selected: description: > URI of the selected version of this policy, if exists. $ref: "../components/SOL012_schemas.yaml#/components/schemas/Link" versions: description: > URIs of all the transferred versions of this policy, if exists. type: array items: $ref: "../components/SOL012_schemas.yaml#/components/schemas/Link" required: - self required: - id - designer - name - activationStatus - transferStatus - _links PolicySubscriptionRequest: description: > This type represents a subscription request related to notifications about policy changes and policy conflicts. It shall comply with the provisions defined in table 5.6.2.5-1. type: object 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: "#/components/schemas/PolicyNotificationsFilter" callbackUri: filter.Subscriptions: name: filter description: > The URI of the endpoint to send the notification to. $ref: "../components/SOL012_schemas.yaml#/components/schemas/Uri" authentication: description: > Authentication parameters to configure the use of Authorization when sending notifications corresponding to this subscription, as defined in clause 8.3.4 of ETSI GS NFV-SOL 013. This attribute shall only be present if the subscriber requires authorization of notifications. $ref: "../components/SOL012_schemas.yaml#/components/schemas/SubscriptionAuthentication" required: - callbackUri Attribute-based filtering expression according to clause 5.2 of ETSI GS NFV-SOL 013 [7]. The API producer shall support receiving this parameter as part of the URI query string. The API consumer may supply this parameter. All attribute names that appear in the PolicySubscription and in data types referenced from it shall be supported by the API producer in the filter expression. in: query required: false schema: type: string PolicySubscription: description: > This type represents a subscription related to notifications about policy changes and policy conflicts. It shall comply with the provisions defined in table 5.6.2.6-1. type: object properties: id: description: > Identifier of this subscription resource. $ref: "../components/SOL012_schemas.yaml#/components/schemas/Identifier" filter: nextpage_opaque_marker.Subscriptions: name: nextpage_opaque_marker 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: "#/components/schemas/PolicyNotificationsFilter" callbackUri: description: > The URI of the endpoint to send the notification to. $ref: "../components/SOL012_schemas.yaml#/components/schemas/Uri" _links: description: > Links for this resource. type: object properties: self: description: > URI of this resource. $ref: "../components/SOL012_schemas.yaml#/components/schemas/Link" required: - self required: - id - callbackUri - _links PolicyNotificationsFilter: description: > This type represents a subscription filter related to notifications about policy changes and policy conflicts. It shall comply with the provisions defined in table 5.6.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: notificationTypes: description: > Match particular notification types. Permitted values: - PolicyChangeNotification - PolicyConflictNotification 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: Marker to obtain the next page of a paged response. Shall be supported by the API producer if the API producer supports alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 [7] for this resource. in: query required: false schema: type: string enum: - PolicyChangeNotification - PolicyConflictNotification policyIds: description: > Match particular policy identifiers. For "PolicyConflictNotification", the notification is sent if any of the policies specified in the subscription is impacted by the conflict, as defined in clause 5.6.2.8. type: array items: $ref: "../components/SOL012_schemas.yaml#/components/schemas/Identifier" changeTypes: description: > Match particular policy management operation types that cause the change of the policy. type: array items: $ref: "../components/SOL012_schemas.yaml#/components/schemas/PolicyOperationType" responses: Policy.Post.201: Loading Loading @@ -813,7 +647,7 @@ components: content: application/json: schema: $ref: "#/components/schemas/Policy" $ref: "definitions/PolicyManagement_def.yaml#/definitions/schemas/Policy" Policy.Get.200: description: > Loading Loading @@ -852,7 +686,7 @@ components: schema: type: array items: $ref: "#/components/schemas/Policy" $ref: "definitions/PolicyManagement_def.yaml#/definitions/schemas/Policy" Policy.Get.400: description: > Loading @@ -879,7 +713,7 @@ components: content: application/json: schema: $ref: "../components/SOL012_schemas.yaml#/components/schemas/ProblemDetails" $ref: "../definitions/SOL012_def.yaml#/definitions/schemas/ProblemDetails" IndividualPolicy.Get.200: description: > Loading @@ -901,7 +735,7 @@ components: content: application/json: schema: $ref: "#/components/schemas/Policy" $ref: "definitions/PolicyManagement_def.yaml#/definitions/schemas/Policy" PolicyModifications.Patch.200: description: > Loading @@ -925,7 +759,7 @@ components: content: application/json: schema: $ref: "../components/SOL012_schemas.yaml#/components/schemas/PolicyModifications" $ref: "../definitions/SOL012_def.yaml#/definitions/schemas/PolicyModifications" PolicyModifications.Patch.409: description: > Loading Loading @@ -956,7 +790,7 @@ components: content: application/json: schema: $ref: "../components/SOL012_schemas.yaml#/components/schemas/ProblemDetails" $ref: "../definitions/SOL012_def.yaml#/definitions/schemas/ProblemDetails" Policy.Delete.204: description: > Loading Loading @@ -1003,7 +837,7 @@ components: content: application/json: schema: $ref: "../components/SOL012_schemas.yaml#/components/schemas/ProblemDetails" $ref: "../definitions/SOL012_def.yaml#/definitions/schemas/ProblemDetails" PolicySelectedVersion.Get.200: description: > Loading Loading @@ -1063,7 +897,7 @@ components: content: application/json: schema: $ref: "../components/SOL012_schemas.yaml#/components/schemas/ProblemDetails" $ref: "../definitions/SOL012_def.yaml#/definitions/schemas/ProblemDetails" IndividualPolicyVersion.Get.200: description: > Loading Loading @@ -1141,7 +975,7 @@ components: content: application/json: schema: $ref: "../components/SOL012_schemas.yaml#/components/schemas/ProblemDetails" $ref: "../definitions/SOL012_def.yaml#/definitions/schemas/ProblemDetails" PolicyVersion.Delete.204: description: > Loading Loading @@ -1188,7 +1022,7 @@ components: content: application/json: schema: $ref: "../components/SOL012_schemas.yaml#/components/schemas/ProblemDetails" $ref: "../definitions/SOL012_def.yaml#/definitions/schemas/ProblemDetails" Subscriptions.Post.201: description: > Loading Loading @@ -1220,7 +1054,7 @@ components: content: application/json: schema: $ref: "#/components/schemas/PolicySubscription" $ref: "definitions/PolicyManagement_def.yaml#/definitions/schemas/PolicySubscription" Subscriptions.Post.303: description: > Loading Loading @@ -1288,7 +1122,7 @@ components: schema: type: array items: $ref: "#/components/schemas/PolicySubscription" $ref: "definitions/PolicyManagement_def.yaml#/definitions/schemas/PolicySubscription" Subscriptions.Get.400: description: > Loading Loading @@ -1317,7 +1151,7 @@ components: content: application/json: schema: $ref: "../components/SOL012_schemas.yaml#/components/schemas/ProblemDetails" $ref: "../definitions/SOL012_def.yaml#/definitions/schemas/ProblemDetails" IndividualSubscription.Get.200: description: > Loading @@ -1341,7 +1175,7 @@ components: content: application/json: schema: $ref: "#/components/schemas/PolicySubscription" $ref: "definitions/PolicyManagement_def.yaml#/definitions/schemas/PolicySubscription" IndividualSubscription.Delete.204: description: > Loading Loading @@ -1370,7 +1204,7 @@ components: content: application/json: schema: $ref: "#/components/schemas/CreatePolicyRequest" $ref: "definitions/PolicyManagement_def.yaml#/definitions/schemas/CreatePolicyRequest" required: true PolicyModifications: Loading @@ -1379,7 +1213,7 @@ components: content: application/json: schema: $ref: "../components/SOL012_schemas.yaml#/components/schemas/PolicyModifications" $ref: "../definitions/SOL012_def.yaml#/definitions/schemas/PolicyModifications" PolicySubscriptionRequest: description: > Loading @@ -1387,4 +1221,4 @@ components: content: application/json: schema: $ref: "#/components/schemas/PolicySubscriptionRequest" No newline at end of file $ref: "definitions/PolicyManagement_def.yaml#/definitions/schemas/PolicySubscriptionRequest" No newline at end of file src/SOL012/PolicyManagementNotification/definitions/PolicyManagementNotification_def.yaml 0 → 100644 +160 −0 Viewed Changes for src/SOL012/PolicyManagementNotification/definitions/PolicyManagementNotification_def.yaml: 160 added lines, 0 removed lines. Original line number Diff line number Diff line definitions: schemas: PolicyChangeNotification: description: > This type represents a notification about policy change. It shall comply with the provisions defined in table 5.6.2.7-1. This notification shall be triggered by the API producer when a policy has been changed as the result of an operation of creating, transferring, deleting or modifying a policy. type: object 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/SOL012_def.yaml#/definitions/schemas/Identifier" notificationType: description: > Discriminator for the different notification types. Shall be set to "PolicyChangeNotification" for this notification type. $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/String" subscriptionId: description: > Identifier of the subscription that this notification relates to. $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/Identifier" timeStamp: description: > Date and time of the generation of the notification. $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/DateTime" policyId: description: > Identifier of the policy. $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/Identifier" affectedVersion: description: > Affected version of the policy. The value is the version identifier in the URI when a particular version of the policy is transferred or deleted, or the selected version of the policy when the policy is activated/deactivated/modified. Shall be present when a particular version of the policy is impacted by the policy management operation. Shall be absent otherwise. $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/Version" previousSelectedVersion: description: > The previous selected version of the policy. Shall be present when another version of the policy has been selected. Shall be absent otherwise. $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/Version" policyModifications: description: > Information about the modifications of the policy. Shall be present when the changeType equals to "MODIFY_POLICY". Shall be absent otherwise. $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/PolicyModifications" changeType: description: > Policy management operation that cause the change of the policy. $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/PolicyOperationType" _links: description: > Links to resources related to this notification. type: object properties: subscription: description: > Link to the related subscription. $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/NotificationLink" objectInstance: description: > Link to the resource representing the policies to which the notified change applies. Shall be present if the policy is accessible as a resource. $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/NotificationLink" required: - subscription required: - id - notificationType - subscriptionId - timeStamp - policyId - changeType - _links PolicyConflictNotification: description: > This type represents a notification about policy conflict. It shall comply with the provisions defined in table 5.6.2.8-1. This notification shall be triggered by the API producer when a policy conflict is detected, and any of the policies specified in an associated notification subscription is impacted by the conflict. type: object 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/SOL012_def.yaml#/definitions/schemas/Identifier" notificationType: description: > Discriminator for the different notification types. Shall be set to "PolicyConflictNotification" for this notification type. $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/String" subscriptionId: description: > Identifier of the subscription that this notification relates to. $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/Identifier" timeStamp: description: > Date and time of the generation of the notification. $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/DateTime" policyIds: description: > Identifiers of the conflicting policies. The policy identifier and the corresponding selected version are mapped by the order in the array. type: array items: $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/Identifier" minItems: 2 selectedVersions: description: > Selected versions of the conflicting policies. The policy identifier and the corresponding selected version are mapped by the order in the array. type: array items: $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/Version" minItems: 2 conflictDescription: description: > Description of the detected policy conflicts, e.g. conflicting events, conditions or actions among the policies $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/String" _links: description: > Links to resources related to this notification. type: object properties: subscription: description: > Link to the related subscription. $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/NotificationLink" objectInstances: description: > Link to the resources representing the policies to which the notified conflict applies. type: array items: $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/NotificationLink" minItems: 2 required: - subscription - objectInstances required: - id - notificationType - subscriptionId - timeStamp - policyIds - selectedVersions - conflictDescription - _links No newline at end of file src/SOL012/PolicyManagementNotification/PolicyManagementNotification.yaml +32 −192 Viewed Changes for src/SOL012/PolicyManagementNotification/PolicyManagementNotification.yaml: 32 added lines, 192 removed lines. Original line number Diff line number Diff line Loading @@ -15,8 +15,8 @@ info: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt externalDocs: description: ETSI GS NFV-SOL 012 v3.4.1 url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/012/03.04.01_60/gs_nfv-sol012v030401p.pdf description: ETSI GS NFV-SOL 012 v3.7.1 url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/012/03.07.01_60/gs_NFV-SOL012v030701p.pdf security: - OauthSecurity: Loading Loading @@ -52,19 +52,19 @@ paths: "204": $ref: '#/components/responses/PolicyChangeNotification.Post.204' "400": $ref: ../components/SOL012_resp.yaml#/components/responses/400 $ref: ../responses/SOL012_resp.yaml#/responses/400 "401": $ref: ../components/SOL012_resp.yaml#/components/responses/401 $ref: ../responses/SOL012_resp.yaml#/responses/401 "403": $ref: ../components/SOL012_resp.yaml#/components/responses/403 $ref: ../responses/SOL012_resp.yaml#/responses/403 "405": $ref: ../components/SOL012_resp.yaml#/components/responses/405 $ref: ../responses/SOL012_resp.yaml#/responses/405 "406": $ref: ../components/SOL012_resp.yaml#/components/responses/406 $ref: ../responses/SOL012_resp.yaml#/responses/406 "500": $ref: ../components/SOL012_resp.yaml#/components/responses/500 $ref: ../responses/SOL012_resp.yaml#/responses/500 "503": $ref: ../components/SOL012_resp.yaml#/components/responses/503 $ref: ../responses/SOL012_resp.yaml#/responses/503 get: description: >- Loading @@ -76,19 +76,19 @@ paths: "204": $ref: '#/components/responses/PolicyChangeNotification.Get.204' "400": $ref: ../components/SOL012_resp.yaml#/components/responses/400 $ref: ../responses/SOL012_resp.yaml#/responses/400 "401": $ref: ../components/SOL012_resp.yaml#/components/responses/401 $ref: ../responses/SOL012_resp.yaml#/responses/401 "403": $ref: ../components/SOL012_resp.yaml#/components/responses/403 $ref: ../responses/SOL012_resp.yaml#/responses/403 "405": $ref: ../components/SOL012_resp.yaml#/components/responses/405 $ref: ../responses/SOL012_resp.yaml#/responses/405 "406": $ref: ../components/SOL012_resp.yaml#/components/responses/406 $ref: ../responses/SOL012_resp.yaml#/responses/406 "500": $ref: ../components/SOL012_resp.yaml#/components/responses/500 $ref: ../responses/SOL012_resp.yaml#/responses/500 "503": $ref: ../components/SOL012_resp.yaml#/components/responses/503 $ref: ../responses/SOL012_resp.yaml#/responses/503 /URI_is_provided_by_the_API_consumer_when_creating_the_subscription_PolicyConflictNotification: description: >- Loading Loading @@ -116,19 +116,19 @@ paths: "204": $ref: '#/components/responses/PolicyConflictNotification.Post.204' "400": $ref: ../components/SOL012_resp.yaml#/components/responses/400 $ref: ../responses/SOL012_resp.yaml#/responses/400 "401": $ref: ../components/SOL012_resp.yaml#/components/responses/401 $ref: ../responses/SOL012_resp.yaml#/responses/401 "403": $ref: ../components/SOL012_resp.yaml#/components/responses/403 $ref: ../responses/SOL012_resp.yaml#/responses/403 "405": $ref: ../components/SOL012_resp.yaml#/components/responses/405 $ref: ../responses/SOL012_resp.yaml#/responses/405 "406": $ref: ../components/SOL012_resp.yaml#/components/responses/406 $ref: ../responses/SOL012_resp.yaml#/responses/406 "500": $ref: ../components/SOL012_resp.yaml#/components/responses/500 $ref: ../responses/SOL012_resp.yaml#/responses/500 "503": $ref: ../components/SOL012_resp.yaml#/components/responses/503 $ref: ../responses/SOL012_resp.yaml#/responses/503 get: description: >- Loading @@ -140,181 +140,21 @@ paths: "204": $ref: '#/components/responses/PolicyConflictNotification.Get.204' "400": $ref: ../components/SOL012_resp.yaml#/components/responses/400 $ref: ../responses/SOL012_resp.yaml#/responses/400 "401": $ref: ../components/SOL012_resp.yaml#/components/responses/401 $ref: ../responses/SOL012_resp.yaml#/responses/401 "403": $ref: ../components/SOL012_resp.yaml#/components/responses/403 $ref: ../responses/SOL012_resp.yaml#/responses/403 "405": $ref: ../components/SOL012_resp.yaml#/components/responses/405 $ref: ../responses/SOL012_resp.yaml#/responses/405 "406": $ref: ../components/SOL012_resp.yaml#/components/responses/406 $ref: ../responses/SOL012_resp.yaml#/responses/406 "500": $ref: ../components/SOL012_resp.yaml#/components/responses/500 $ref: ../responses/SOL012_resp.yaml#/responses/500 "503": $ref: ../components/SOL012_resp.yaml#/components/responses/503 $ref: ../responses/SOL012_resp.yaml#/responses/503 components: schemas: PolicyChangeNotification: description: > This type represents a notification about policy change. It shall comply with the provisions defined in table 5.6.2.7-1. This notification shall be triggered by the API producer when a policy has been changed as the result of an operation of creating, transferring, deleting or modifying a policy. type: object 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: "../components/SOL012_schemas.yaml#/components/schemas/Identifier" notificationType: description: > Discriminator for the different notification types. Shall be set to "PolicyChangeNotification" for this notification type. $ref: "../components/SOL012_schemas.yaml#/components/schemas/String" subscriptionId: description: > Identifier of the subscription that this notification relates to. $ref: "../components/SOL012_schemas.yaml#/components/schemas/Identifier" timeStamp: description: > Date and time of the generation of the notification. $ref: "../components/SOL012_schemas.yaml#/components/schemas/DateTime" policyId: description: > Identifier of the policy. $ref: "../components/SOL012_schemas.yaml#/components/schemas/Identifier" affectedVersion: description: > Affected version of the policy. The value is the version identifier in the URI when a particular version of the policy is transferred or deleted, or the selected version of the policy when the policy is activated/deactivated/modified. Shall be present when a particular version of the policy is impacted by the policy management operation. Shall be absent otherwise. $ref: "../components/SOL012_schemas.yaml#/components/schemas/Version" previousSelectedVersion: description: > The previous selected version of the policy. Shall be present when another version of the policy has been selected. Shall be absent otherwise. $ref: "../components/SOL012_schemas.yaml#/components/schemas/Version" policyModifications: description: > Information about the modifications of the policy. Shall be present when the changeType equals to "MODIFY_POLICY". Shall be absent otherwise. $ref: "../components/SOL012_schemas.yaml#/components/schemas/PolicyModifications" changeType: description: > Policy management operation that cause the change of the policy. $ref: "../components/SOL012_schemas.yaml#/components/schemas/PolicyOperationType" _links: description: > Links to resources related to this notification. type: object properties: subscription: description: > Link to the related subscription. $ref: "../components/SOL012_schemas.yaml#/components/schemas/NotificationLink" objectInstance: description: > Link to the resource representing the policies to which the notified change applies. Shall be present if the policy is accessible as a resource. $ref: "../components/SOL012_schemas.yaml#/components/schemas/NotificationLink" required: - subscription required: - id - notificationType - subscriptionId - timeStamp - policyId - changeType - _links PolicyConflictNotification: description: > This type represents a notification about policy conflict. It shall comply with the provisions defined in table 5.6.2.8-1. This notification shall be triggered by the API producer when a policy conflict is detected, and any of the policies specified in an associated notification subscription is impacted by the conflict. type: object 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: "../components/SOL012_schemas.yaml#/components/schemas/Identifier" notificationType: description: > Discriminator for the different notification types. Shall be set to "PolicyConflictNotification" for this notification type. $ref: "../components/SOL012_schemas.yaml#/components/schemas/String" subscriptionId: description: > Identifier of the subscription that this notification relates to. $ref: "../components/SOL012_schemas.yaml#/components/schemas/Identifier" timeStamp: description: > Date and time of the generation of the notification. $ref: "../components/SOL012_schemas.yaml#/components/schemas/DateTime" policyIds: description: > Identifiers of the conflicting policies. The policy identifier and the corresponding selected version are mapped by the order in the array. type: array items: $ref: "../components/SOL012_schemas.yaml#/components/schemas/Identifier" minItems: 2 selectedVersions: description: > Selected versions of the conflicting policies. The policy identifier and the corresponding selected version are mapped by the order in the array. type: array items: $ref: "../components/SOL012_schemas.yaml#/components/schemas/Version" minItems: 2 conflictDescription: description: > Description of the detected policy conflicts, e.g. conflicting events, conditions or actions among the policies $ref: "../components/SOL012_schemas.yaml#/components/schemas/String" _links: description: > Links to resources related to this notification. type: object properties: subscription: description: > Link to the related subscription. $ref: "../components/SOL012_schemas.yaml#/components/schemas/NotificationLink" objectInstances: description: > Link to the resources representing the policies to which the notified conflict applies. type: array items: $ref: "../components/SOL012_schemas.yaml#/components/schemas/NotificationLink" minItems: 2 required: - subscription - objectInstances required: - id - notificationType - subscriptionId - timeStamp - policyIds - selectedVersions - conflictDescription - _links responses: PolicyChangeNotification.Post.204: description: > Loading Loading @@ -397,7 +237,7 @@ components: content: application/json: schema: $ref: "#/components/schemas/PolicyChangeNotification" $ref: "definitions/PolicyManagementNotification_def.yaml#/definitions/schemas/PolicyChangeNotification" required: true PolicyConflictNotification: Loading @@ -406,5 +246,5 @@ components: content: application/json: schema: $ref: "#/components/schemas/PolicyConflictNotification" $ref: "definitions/PolicyManagementNotification_def.yaml#/definitions/schemas/PolicyConflictNotification" required: true Loading
src/SOL012/APIVersion/APIVersion.yaml +2 −2 Viewed Changes for src/SOL012/APIVersion/APIVersion.yaml: 2 added lines, 2 removed lines. Original line number Diff line number Diff line Loading @@ -23,8 +23,8 @@ info: name: NFV-SOL WG externalDocs: description: ETSI GS NFV-SOL 012 v3.4.1 url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/012/03.04.01_60/gs_nfv-sol012v030401p.pdf description: ETSI GS NFV-SOL 012 v3.7.1 url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/012/03.07.01_60/gs_NFV-SOL012v030701p.pdf paths: /nfvpolicy/api_versions: Loading
src/SOL012/PolicyManagement/definitions/PolicyManagement_def.yaml 0 → 100644 +221 −0 Viewed Changes for src/SOL012/PolicyManagement/definitions/PolicyManagement_def.yaml: 221 added lines, 0 removed lines. Original line number Diff line number Diff line definitions: schemas: CreatePolicyRequest: description: > This type represents request parameters for creating a policy. It shall comply with the provisions defined in table 5.6.2.2-1. type: object properties: designer: description: > Human readable name of the designer of the policy. type: string name: description: > Human readable name of the policy. type: string pfId: description: > Identifier of the Policy Function (PF) which enforces the policy. Shall be present when the PF is not the API producer and shall be absent otherwise. Shall be absent when the API producer is NFVO-N. More information concerning the PF can be found in ETSI GR NFV-IFA 023 [i.2]. For example, the PF can be a VNFM or VIM when the API producer is an NFVO. $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/Identifier" associations: description: > Initial value of the “associations” attribute in the “Policy” data structure which represents the policy. Shall be absent when the association feature is not applicable for the PF. The associations refer to identifiers of entities that the PF manages. E.g., if the PF is a VNFM, the policy can associate to VNF instances; if the PF is NFVO, the policy can associate to an NS instances. How the PF determines the scope of applicability of the policy when this attribute is absent is outside the scope of the present document. type: array items: $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/Identifier" required: - designer - name Policy: description: >- This type represents an individual policy. It shall comply with the provisions defined in table 5.6.2.3-1. type: object properties: id: description: > Identifier of the policy. $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/Identifier" designer: description: > Human readable name of the designer of the policy. type: string name: description: > Human readable name of the policy. type: string pfId: description: > Identifier of the Policy Function (PF) which enforces the policy. Shall be present when the PF is not the API producer and shall be absent otherwise. Shall be absent when the API producer is NFVO-N. More information concerning the PF can be found in ETSI GR NFV-IFA 023 [i.2]. For example, the PF can be a VNFM or VIM when the API producer is an NFVO. $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/Identifier" versions: description: > Versions of the policy. Shall be present if at least one version of the policy has been transferred. type: array items: $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/Version" selectedVersion: description: > Selected version of the policy. Shall be present if one or more versions of the policy have been transferred. $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/Version" activationStatus: description: > Status of the policy on whether it is activated or deactivated. $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/ActivationStatus" transferStatus: description: > Status of the policy on whether the content of the policy has been transferred. $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/TransferStatus" associations: description: > Identifiers of the entities that the PF manages and to which the policy associates to. Shall be absent when the association feature is not applicable for the PF. The associations refer to identifiers of entities that the PF manages. E.g., if the PF is a VNFM, the policy can associate to VNF instances; if the PF is NFVO, the policy can associate to an NS instances. How the PF determines the scope of applicability of the policy when this attribute is absent is outside the scope of the present document. type: array items: $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/Identifier" _links: description: > Links for this resource type: object properties: self: description: > URI of this resource $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/Link" selected: description: > URI of the selected version of this policy, if exists. $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/Link" versions: description: > URIs of all the transferred versions of this policy, if exists. type: array items: $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/Link" required: - self required: - id - designer - name - activationStatus - transferStatus - _links PolicySubscriptionRequest: description: > This type represents a subscription request related to notifications about policy changes and policy conflicts. It shall comply with the provisions defined in table 5.6.2.5-1. type: object 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/schemas/PolicyNotificationsFilter" callbackUri: description: > The URI of the endpoint to send the notification to. $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/Uri" authentication: description: > Authentication parameters to configure the use of Authorization when sending notifications corresponding to this subscription, as defined in clause 8.3.4 of ETSI GS NFV-SOL 013. This attribute shall only be present if the subscriber requires authorization of notifications. $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/SubscriptionAuthentication" required: - callbackUri PolicySubscription: description: > This type represents a subscription related to notifications about policy changes and policy conflicts. It shall comply with the provisions defined in table 5.6.2.6-1. type: object properties: id: description: > Identifier of this subscription resource. $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/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/schemas/PolicyNotificationsFilter" callbackUri: description: > The URI of the endpoint to send the notification to. $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/Uri" _links: description: > Links for this resource. type: object properties: self: description: > URI of this resource. $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/Link" required: - self required: - id - callbackUri - _links PolicyNotificationsFilter: description: > This type represents a subscription filter related to notifications about policy changes and policy conflicts. It shall comply with the provisions defined in table 5.6.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: notificationTypes: description: > Match particular notification types. Permitted values: - PolicyChangeNotification - PolicyConflictNotification 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: - PolicyChangeNotification - PolicyConflictNotification policyIds: description: > Match particular policy identifiers. For "PolicyConflictNotification", the notification is sent if any of the policies specified in the subscription is impacted by the conflict, as defined in clause 5.6.2.8. type: array items: $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/Identifier" changeTypes: description: > Match particular policy management operation types that cause the change of the policy. type: array items: $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/PolicyOperationType" No newline at end of file
src/SOL012/PolicyManagement/PolicyManagement.yaml +197 −363 Viewed Changes for src/SOL012/PolicyManagement/PolicyManagement.yaml: 197 added lines, 363 removed lines. Original line number Diff line number Diff line Loading @@ -15,8 +15,8 @@ info: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt externalDocs: description: ETSI GS NFV-SOL 012 v3.4.1 url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/012/03.04.01_60/gs_nfv-sol012v030401p.pdf description: ETSI GS NFV-SOL 012 v3.7.1 url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/012/03.07.01_60/gs_NFV-SOL012v030701p.pdf security: - OauthSecurity: Loading Loading @@ -52,25 +52,25 @@ paths: "201": $ref: '#/components/responses/Policy.Post.201' "400": $ref: ../components/SOL012_resp.yaml#/components/responses/400 $ref: ../responses/SOL012_resp.yaml#/responses/400 "401": $ref: ../components/SOL012_resp.yaml#/components/responses/401 $ref: ../responses/SOL012_resp.yaml#/responses/401 "403": $ref: ../components/SOL012_resp.yaml#/components/responses/403 $ref: ../responses/SOL012_resp.yaml#/responses/403 "404": $ref: ../components/SOL012_resp.yaml#/components/responses/404 $ref: ../responses/SOL012_resp.yaml#/responses/404 "405": $ref: ../components/SOL012_resp.yaml#/components/responses/405 $ref: ../responses/SOL012_resp.yaml#/responses/405 "406": $ref: ../components/SOL012_resp.yaml#/components/responses/406 $ref: ../responses/SOL012_resp.yaml#/responses/406 "422": $ref: ../components/SOL012_resp.yaml#/components/responses/422 $ref: ../responses/SOL012_resp.yaml#/responses/422 "500": $ref: ../components/SOL012_resp.yaml#/components/responses/500 $ref: ../responses/SOL012_resp.yaml#/responses/500 "503": $ref: ../components/SOL012_resp.yaml#/components/responses/503 $ref: ../responses/SOL012_resp.yaml#/responses/503 "504": $ref: ../components/SOL012_resp.yaml#/components/responses/504 $ref: ../responses/SOL012_resp.yaml#/responses/504 get: description: >- Loading @@ -78,8 +78,8 @@ paths: This method shall follow the provisions specified in the tables 5.5.3.3.2-1 and 5.5.3.3.2-2 for URI query parameters, request and response data structures, and response codes. parameters: - $ref: "../components/SOL012_params.yaml#/components/parameters/filter" - $ref: "../components/SOL012_params.yaml#/components/parameters/nextpage_opaque_marker" - $ref: "#/components/parameters/filter.Policies" - $ref: "#/components/parameters/nextpage_opaque_marker.Policies" - $ref: "../components/SOL012_params.yaml#/components/parameters/Version" - $ref: "../components/SOL012_params.yaml#/components/parameters/Accept" - $ref: "../components/SOL012_params.yaml#/components/parameters/Authorization" Loading @@ -89,23 +89,23 @@ paths: "400": $ref: '#/components/responses/Policy.Get.400' "401": $ref: ../components/SOL012_resp.yaml#/components/responses/401 $ref: ../responses/SOL012_resp.yaml#/responses/401 "403": $ref: ../components/SOL012_resp.yaml#/components/responses/403 $ref: ../responses/SOL012_resp.yaml#/responses/403 "404": $ref: ../components/SOL012_resp.yaml#/components/responses/404 $ref: ../responses/SOL012_resp.yaml#/responses/404 "405": $ref: ../components/SOL012_resp.yaml#/components/responses/405 $ref: ../responses/SOL012_resp.yaml#/responses/405 "406": $ref: ../components/SOL012_resp.yaml#/components/responses/406 $ref: ../responses/SOL012_resp.yaml#/responses/406 "422": $ref: ../components/SOL012_resp.yaml#/components/responses/422 $ref: ../responses/SOL012_resp.yaml#/responses/422 "500": $ref: ../components/SOL012_resp.yaml#/components/responses/500 $ref: ../responses/SOL012_resp.yaml#/responses/500 "503": $ref: ../components/SOL012_resp.yaml#/components/responses/503 $ref: ../responses/SOL012_resp.yaml#/responses/503 "504": $ref: ../components/SOL012_resp.yaml#/components/responses/504 $ref: ../responses/SOL012_resp.yaml#/responses/504 "/policies/{policyId}": description: > Loading @@ -125,25 +125,25 @@ paths: "200": $ref: '#/components/responses/IndividualPolicy.Get.200' "400": $ref: ../components/SOL012_resp.yaml#/components/responses/400 $ref: ../responses/SOL012_resp.yaml#/responses/400 "401": $ref: ../components/SOL012_resp.yaml#/components/responses/401 $ref: ../responses/SOL012_resp.yaml#/responses/401 "403": $ref: ../components/SOL012_resp.yaml#/components/responses/403 $ref: ../responses/SOL012_resp.yaml#/responses/403 "404": $ref: ../components/SOL012_resp.yaml#/components/responses/404 $ref: ../responses/SOL012_resp.yaml#/responses/404 "405": $ref: ../components/SOL012_resp.yaml#/components/responses/405 $ref: ../responses/SOL012_resp.yaml#/responses/405 "406": $ref: ../components/SOL012_resp.yaml#/components/responses/406 $ref: ../responses/SOL012_resp.yaml#/responses/406 "422": $ref: ../components/SOL012_resp.yaml#/components/responses/422 $ref: ../responses/SOL012_resp.yaml#/responses/422 "500": $ref: ../components/SOL012_resp.yaml#/components/responses/500 $ref: ../responses/SOL012_resp.yaml#/responses/500 "503": $ref: ../components/SOL012_resp.yaml#/components/responses/503 $ref: ../responses/SOL012_resp.yaml#/responses/503 "504": $ref: ../components/SOL012_resp.yaml#/components/responses/504 $ref: ../responses/SOL012_resp.yaml#/responses/504 patch: description: > Loading @@ -164,27 +164,27 @@ paths: "200": $ref: '#/components/responses/PolicyModifications.Patch.200' "400": $ref: ../components/SOL012_resp.yaml#/components/responses/400 $ref: ../responses/SOL012_resp.yaml#/responses/400 "401": $ref: ../components/SOL012_resp.yaml#/components/responses/401 $ref: ../responses/SOL012_resp.yaml#/responses/401 "403": $ref: ../components/SOL012_resp.yaml#/components/responses/403 $ref: ../responses/SOL012_resp.yaml#/responses/403 "404": $ref: ../components/SOL012_resp.yaml#/components/responses/404 $ref: ../responses/SOL012_resp.yaml#/responses/404 "405": $ref: ../components/SOL012_resp.yaml#/components/responses/405 $ref: ../responses/SOL012_resp.yaml#/responses/405 "406": $ref: ../components/SOL012_resp.yaml#/components/responses/406 $ref: ../responses/SOL012_resp.yaml#/responses/406 "409": $ref: '#/components/responses/PolicyModifications.Patch.409' "422": $ref: ../components/SOL012_resp.yaml#/components/responses/422 $ref: ../responses/SOL012_resp.yaml#/responses/422 "500": $ref: ../components/SOL012_resp.yaml#/components/responses/500 $ref: ../responses/SOL012_resp.yaml#/responses/500 "503": $ref: ../components/SOL012_resp.yaml#/components/responses/503 $ref: ../responses/SOL012_resp.yaml#/responses/503 "504": $ref: ../components/SOL012_resp.yaml#/components/responses/504 $ref: ../responses/SOL012_resp.yaml#/responses/504 delete: description: > Loading @@ -200,27 +200,27 @@ paths: "204": $ref: '#/components/responses/Policy.Delete.204' "400": $ref: ../components/SOL012_resp.yaml#/components/responses/400 $ref: ../responses/SOL012_resp.yaml#/responses/400 "401": $ref: ../components/SOL012_resp.yaml#/components/responses/401 $ref: ../responses/SOL012_resp.yaml#/responses/401 "403": $ref: ../components/SOL012_resp.yaml#/components/responses/403 $ref: ../responses/SOL012_resp.yaml#/responses/403 "404": $ref: ../components/SOL012_resp.yaml#/components/responses/404 $ref: ../responses/SOL012_resp.yaml#/responses/404 "405": $ref: ../components/SOL012_resp.yaml#/components/responses/405 $ref: ../responses/SOL012_resp.yaml#/responses/405 "406": $ref: ../components/SOL012_resp.yaml#/components/responses/406 $ref: ../responses/SOL012_resp.yaml#/responses/406 "409": $ref: '#/components/responses/Policy.Delete.409' "422": $ref: ../components/SOL012_resp.yaml#/components/responses/422 $ref: ../responses/SOL012_resp.yaml#/responses/422 "500": $ref: ../components/SOL012_resp.yaml#/components/responses/500 $ref: ../responses/SOL012_resp.yaml#/responses/500 "503": $ref: ../components/SOL012_resp.yaml#/components/responses/503 $ref: ../responses/SOL012_resp.yaml#/responses/503 "504": $ref: ../components/SOL012_resp.yaml#/components/responses/504 $ref: ../responses/SOL012_resp.yaml#/responses/504 "/policies/{policyId}/selected_versions": description: > Loading @@ -242,25 +242,25 @@ paths: "200": $ref: '#/components/responses/PolicySelectedVersion.Get.200' "400": $ref: ../components/SOL012_resp.yaml#/components/responses/400 $ref: ../responses/SOL012_resp.yaml#/responses/400 "401": $ref: ../components/SOL012_resp.yaml#/components/responses/401 $ref: ../responses/SOL012_resp.yaml#/responses/401 "403": $ref: ../components/SOL012_resp.yaml#/components/responses/403 $ref: ../responses/SOL012_resp.yaml#/responses/403 "404": $ref: '#/components/responses/PolicySelectedVersion.Get.404' "405": $ref: ../components/SOL012_resp.yaml#/components/responses/405 $ref: ../responses/SOL012_resp.yaml#/responses/405 "406": $ref: ../components/SOL012_resp.yaml#/components/responses/406 $ref: ../responses/SOL012_resp.yaml#/responses/406 "422": $ref: ../components/SOL012_resp.yaml#/components/responses/422 $ref: ../responses/SOL012_resp.yaml#/responses/422 "500": $ref: ../components/SOL012_resp.yaml#/components/responses/500 $ref: ../responses/SOL012_resp.yaml#/responses/500 "503": $ref: ../components/SOL012_resp.yaml#/components/responses/503 $ref: ../responses/SOL012_resp.yaml#/responses/503 "504": $ref: ../components/SOL012_resp.yaml#/components/responses/504 $ref: ../responses/SOL012_resp.yaml#/responses/504 "/policies/{policyId}/versions/{version}": description: > Loading @@ -281,25 +281,25 @@ paths: "200": $ref: '#/components/responses/IndividualPolicyVersion.Get.200' "400": $ref: ../components/SOL012_resp.yaml#/components/responses/400 $ref: ../responses/SOL012_resp.yaml#/responses/400 "401": $ref: ../components/SOL012_resp.yaml#/components/responses/401 $ref: ../responses/SOL012_resp.yaml#/responses/401 "403": $ref: ../components/SOL012_resp.yaml#/components/responses/403 $ref: ../responses/SOL012_resp.yaml#/responses/403 "404": $ref: ../components/SOL012_resp.yaml#/components/responses/404 $ref: ../responses/SOL012_resp.yaml#/responses/404 "405": $ref: ../components/SOL012_resp.yaml#/components/responses/405 $ref: ../responses/SOL012_resp.yaml#/responses/405 "406": $ref: ../components/SOL012_resp.yaml#/components/responses/406 $ref: ../responses/SOL012_resp.yaml#/responses/406 "422": $ref: ../components/SOL012_resp.yaml#/components/responses/422 $ref: ../responses/SOL012_resp.yaml#/responses/422 "500": $ref: ../components/SOL012_resp.yaml#/components/responses/500 $ref: ../responses/SOL012_resp.yaml#/responses/500 "503": $ref: ../components/SOL012_resp.yaml#/components/responses/503 $ref: ../responses/SOL012_resp.yaml#/responses/503 "504": $ref: ../components/SOL012_resp.yaml#/components/responses/504 $ref: ../responses/SOL012_resp.yaml#/responses/504 put: description: > Loading @@ -314,27 +314,27 @@ paths: "201": $ref: '#/components/responses/PolicyVersionTransfer.Put.201' "400": $ref: ../components/SOL012_resp.yaml#/components/responses/400 $ref: ../responses/SOL012_resp.yaml#/responses/400 "401": $ref: ../components/SOL012_resp.yaml#/components/responses/401 $ref: ../responses/SOL012_resp.yaml#/responses/401 "403": $ref: ../components/SOL012_resp.yaml#/components/responses/403 $ref: ../responses/SOL012_resp.yaml#/responses/403 "404": $ref: ../components/SOL012_resp.yaml#/components/responses/404 $ref: ../responses/SOL012_resp.yaml#/responses/404 "405": $ref: ../components/SOL012_resp.yaml#/components/responses/405 $ref: ../responses/SOL012_resp.yaml#/responses/405 "406": $ref: ../components/SOL012_resp.yaml#/components/responses/406 $ref: ../responses/SOL012_resp.yaml#/responses/406 "409": $ref: '#/components/responses/PolicyVersionTransfer.Put.409' "422": $ref: ../components/SOL012_resp.yaml#/components/responses/422 $ref: ../responses/SOL012_resp.yaml#/responses/422 "500": $ref: ../components/SOL012_resp.yaml#/components/responses/500 $ref: ../responses/SOL012_resp.yaml#/responses/500 "503": $ref: ../components/SOL012_resp.yaml#/components/responses/503 $ref: ../responses/SOL012_resp.yaml#/responses/503 "504": $ref: ../components/SOL012_resp.yaml#/components/responses/504 $ref: ../responses/SOL012_resp.yaml#/responses/504 delete: description: > Loading @@ -349,27 +349,27 @@ paths: "204": $ref: '#/components/responses/PolicyVersion.Delete.204' "400": $ref: ../components/SOL012_resp.yaml#/components/responses/400 $ref: ../responses/SOL012_resp.yaml#/responses/400 "401": $ref: ../components/SOL012_resp.yaml#/components/responses/401 $ref: ../responses/SOL012_resp.yaml#/responses/401 "403": $ref: ../components/SOL012_resp.yaml#/components/responses/403 $ref: ../responses/SOL012_resp.yaml#/responses/403 "404": $ref: ../components/SOL012_resp.yaml#/components/responses/404 $ref: ../responses/SOL012_resp.yaml#/responses/404 "405": $ref: ../components/SOL012_resp.yaml#/components/responses/405 $ref: ../responses/SOL012_resp.yaml#/responses/405 "406": $ref: ../components/SOL012_resp.yaml#/components/responses/406 $ref: ../responses/SOL012_resp.yaml#/responses/406 "409": $ref: '#/components/responses/PolicyVersion.Delete.409' "422": $ref: ../components/SOL012_resp.yaml#/components/responses/422 $ref: ../responses/SOL012_resp.yaml#/responses/422 "500": $ref: ../components/SOL012_resp.yaml#/components/responses/500 $ref: ../responses/SOL012_resp.yaml#/responses/500 "503": $ref: ../components/SOL012_resp.yaml#/components/responses/503 $ref: ../responses/SOL012_resp.yaml#/responses/503 "504": $ref: ../components/SOL012_resp.yaml#/components/responses/504 $ref: ../responses/SOL012_resp.yaml#/responses/504 "/subscriptions": description: >- Loading @@ -395,25 +395,25 @@ paths: "303": $ref: '#/components/responses/Subscriptions.Post.303' "400": $ref: ../components/SOL012_resp.yaml#/components/responses/400 $ref: ../responses/SOL012_resp.yaml#/responses/400 "401": $ref: ../components/SOL012_resp.yaml#/components/responses/401 $ref: ../responses/SOL012_resp.yaml#/responses/401 "403": $ref: ../components/SOL012_resp.yaml#/components/responses/403 $ref: ../responses/SOL012_resp.yaml#/responses/403 "404": $ref: ../components/SOL012_resp.yaml#/components/responses/404 $ref: ../responses/SOL012_resp.yaml#/responses/404 "405": $ref: ../components/SOL012_resp.yaml#/components/responses/405 $ref: ../responses/SOL012_resp.yaml#/responses/405 "406": $ref: ../components/SOL012_resp.yaml#/components/responses/406 $ref: ../responses/SOL012_resp.yaml#/responses/406 "422": $ref: ../components/SOL012_resp.yaml#/components/responses/422 $ref: ../responses/SOL012_resp.yaml#/responses/422 "500": $ref: ../components/SOL012_resp.yaml#/components/responses/500 $ref: ../responses/SOL012_resp.yaml#/responses/500 "503": $ref: ../components/SOL012_resp.yaml#/components/responses/503 $ref: ../responses/SOL012_resp.yaml#/responses/503 "504": $ref: ../components/SOL012_resp.yaml#/components/responses/504 $ref: ../responses/SOL012_resp.yaml#/responses/504 get: description: >- Loading @@ -425,31 +425,31 @@ paths: - $ref: "../components/SOL012_params.yaml#/components/parameters/Version" - $ref: "../components/SOL012_params.yaml#/components/parameters/Accept" - $ref: "../components/SOL012_params.yaml#/components/parameters/Authorization" - $ref: "../components/SOL012_params.yaml#/components/parameters/filter" - $ref: "../components/SOL012_params.yaml#/components/parameters/nextpage_opaque_marker" - $ref: "#/components/parameters/filter.Subscriptions" - $ref: "#/components/parameters/nextpage_opaque_marker.Subscriptions" responses: "200": $ref: '#/components/responses/Subscriptions.Get.200' "400": $ref: '#/components/responses/Subscriptions.Get.400' "401": $ref: ../components/SOL012_resp.yaml#/components/responses/401 $ref: ../responses/SOL012_resp.yaml#/responses/401 "403": $ref: ../components/SOL012_resp.yaml#/components/responses/403 $ref: ../responses/SOL012_resp.yaml#/responses/403 "404": $ref: ../components/SOL012_resp.yaml#/components/responses/404 $ref: ../responses/SOL012_resp.yaml#/responses/404 "405": $ref: ../components/SOL012_resp.yaml#/components/responses/405 $ref: ../responses/SOL012_resp.yaml#/responses/405 "406": $ref: ../components/SOL012_resp.yaml#/components/responses/406 $ref: ../responses/SOL012_resp.yaml#/responses/406 "422": $ref: ../components/SOL012_resp.yaml#/components/responses/422 $ref: ../responses/SOL012_resp.yaml#/responses/422 "500": $ref: ../components/SOL012_resp.yaml#/components/responses/500 $ref: ../responses/SOL012_resp.yaml#/responses/500 "503": $ref: ../components/SOL012_resp.yaml#/components/responses/503 $ref: ../responses/SOL012_resp.yaml#/responses/503 "504": $ref: ../components/SOL012_resp.yaml#/components/responses/504 $ref: ../responses/SOL012_resp.yaml#/responses/504 "/subscriptions/{subscriptionId}": description: >- Loading @@ -470,25 +470,25 @@ paths: "200": $ref: '#/components/responses/IndividualSubscription.Get.200' "400": $ref: ../components/SOL012_resp.yaml#/components/responses/400 $ref: ../responses/SOL012_resp.yaml#/responses/400 "401": $ref: ../components/SOL012_resp.yaml#/components/responses/401 $ref: ../responses/SOL012_resp.yaml#/responses/401 "403": $ref: ../components/SOL012_resp.yaml#/components/responses/403 $ref: ../responses/SOL012_resp.yaml#/responses/403 "404": $ref: ../components/SOL012_resp.yaml#/components/responses/404 $ref: ../responses/SOL012_resp.yaml#/responses/404 "405": $ref: ../components/SOL012_resp.yaml#/components/responses/405 $ref: ../responses/SOL012_resp.yaml#/responses/405 "406": $ref: ../components/SOL012_resp.yaml#/components/responses/406 $ref: ../responses/SOL012_resp.yaml#/responses/406 "422": $ref: ../components/SOL012_resp.yaml#/components/responses/422 $ref: ../responses/SOL012_resp.yaml#/responses/422 "500": $ref: ../components/SOL012_resp.yaml#/components/responses/500 $ref: ../responses/SOL012_resp.yaml#/responses/500 "503": $ref: ../components/SOL012_resp.yaml#/components/responses/503 $ref: ../responses/SOL012_resp.yaml#/responses/503 "504": $ref: ../components/SOL012_resp.yaml#/components/responses/504 $ref: ../responses/SOL012_resp.yaml#/responses/504 delete: description: >- Loading @@ -505,27 +505,27 @@ paths: "204": $ref: '#/components/responses/IndividualSubscription.Delete.204' "400": $ref: ../components/SOL012_resp.yaml#/components/responses/400 $ref: ../responses/SOL012_resp.yaml#/responses/400 "401": $ref: ../components/SOL012_resp.yaml#/components/responses/401 $ref: ../responses/SOL012_resp.yaml#/responses/401 "403": $ref: ../components/SOL012_resp.yaml#/components/responses/403 $ref: ../responses/SOL012_resp.yaml#/responses/403 "404": $ref: ../components/SOL012_resp.yaml#/components/responses/404 $ref: ../responses/SOL012_resp.yaml#/responses/404 "405": $ref: ../components/SOL012_resp.yaml#/components/responses/405 $ref: ../responses/SOL012_resp.yaml#/responses/405 "406": $ref: ../components/SOL012_resp.yaml#/components/responses/406 $ref: ../responses/SOL012_resp.yaml#/responses/406 "409": $ref: ../components/SOL012_resp.yaml#/components/responses/409 $ref: ../responses/SOL012_resp.yaml#/responses/409 "422": $ref: ../components/SOL012_resp.yaml#/components/responses/422 $ref: ../responses/SOL012_resp.yaml#/responses/422 "500": $ref: ../components/SOL012_resp.yaml#/components/responses/500 $ref: ../responses/SOL012_resp.yaml#/responses/500 "503": $ref: ../components/SOL012_resp.yaml#/components/responses/503 $ref: ../responses/SOL012_resp.yaml#/responses/503 "504": $ref: ../components/SOL012_resp.yaml#/components/responses/504 $ref: ../responses/SOL012_resp.yaml#/responses/504 components: parameters: Loading @@ -538,7 +538,7 @@ components: in: path required: true schema: $ref: '../components/SOL012_schemas.yaml#/components/schemas/Identifier' $ref: '../definitions/SOL012_def.yaml#/definitions/schemas/Identifier' version: name: version Loading @@ -560,228 +560,62 @@ components: in: path required: true schema: $ref: '../components/SOL012_schemas.yaml#/components/schemas/Identifier' $ref: '../definitions/SOL012_def.yaml#/definitions/schemas/Identifier' schemas: CreatePolicyRequest: description: > This type represents request parameters for creating a policy. It shall comply with the provisions defined in table 5.6.2.2-1. type: object properties: designer: description: > Human readable name of the designer of the policy. type: string name: filter.Policies: name: filter description: > Human readable name of the policy. Attribute-based filtering expression according to clause 5.2 of ETSI GS NFV-SOL 013 [7]. The API producer shall support receiving this parameter as part of the URI query string. The API consumer may supply this parameter. All attribute names that appear in the Policy and in data types referenced from it shall be supported by the API producer in the filter expression. in: query required: false schema: type: string pfId: description: > Identifier of the Policy Function (PF) which enforces the policy. Shall be present when the PF is not the API producer and shall be absent otherwise. Shall be absent when the API producer is NFVO-N. More information concerning the PF can be found in ETSI GR NFV-IFA 023 [i.2]. For example, the PF can be a VNFM or VIM when the API producer is an NFVO. $ref: "../components/SOL012_schemas.yaml#/components/schemas/Identifier" associations: description: > Initial value of the “associations” attribute in the “Policy” data structure which represents the policy. Shall be absent when the association feature is not applicable for the PF. The associations refer to identifiers of entities that the PF manages. E.g., if the PF is a VNFM, the policy can associate to VNF instances; if the PF is NFVO, the policy can associate to an NS instances. How the PF determines the scope of applicability of the policy when this attribute is absent is outside the scope of the present document. type: array items: $ref: "../components/SOL012_schemas.yaml#/components/schemas/Identifier" required: - designer - name Policy: description: >- This type represents an individual policy. It shall comply with the provisions defined in table 5.6.2.3-1. type: object properties: id: description: > Identifier of the policy. $ref: "../components/SOL012_schemas.yaml#/components/schemas/Identifier" designer: nextpage_opaque_marker.Policies: name: nextpage_opaque_marker description: > Human readable name of the designer of the policy. type: string name: description: > Human readable name of the policy. Marker to obtain the next page of a paged response. Shall be supported by the API producer if it supports alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 [7] for this resource. in: query required: false schema: type: string pfId: description: > Identifier of the Policy Function (PF) which enforces the policy. Shall be present when the PF is not the API producer and shall be absent otherwise. Shall be absent when the API producer is NFVO-N. More information concerning the PF can be found in ETSI GR NFV-IFA 023 [i.2]. For example, the PF can be a VNFM or VIM when the API producer is an NFVO. $ref: "../components/SOL012_schemas.yaml#/components/schemas/Identifier" versions: description: > Versions of the policy. Shall be present if at least one version of the policy has been transferred. type: array items: $ref: "../components/SOL012_schemas.yaml#/components/schemas/Version" selectedVersion: description: > Selected version of the policy. Shall be present if one or more versions of the policy have been transferred. $ref: "../components/SOL012_schemas.yaml#/components/schemas/Version" activationStatus: description: > Status of the policy on whether it is activated or deactivated. $ref: "../components/SOL012_schemas.yaml#/components/schemas/ActivationStatus" transferStatus: description: > Status of the policy on whether the content of the policy has been transferred. $ref: "../components/SOL012_schemas.yaml#/components/schemas/TransferStatus" associations: description: > Identifiers of the entities that the PF manages and to which the policy associates to. Shall be absent when the association feature is not applicable for the PF. The associations refer to identifiers of entities that the PF manages. E.g., if the PF is a VNFM, the policy can associate to VNF instances; if the PF is NFVO, the policy can associate to an NS instances. How the PF determines the scope of applicability of the policy when this attribute is absent is outside the scope of the present document. type: array items: $ref: "../components/SOL012_schemas.yaml#/components/schemas/Identifier" _links: description: > Links for this resource type: object properties: self: description: > URI of this resource $ref: "../components/SOL012_schemas.yaml#/components/schemas/Link" selected: description: > URI of the selected version of this policy, if exists. $ref: "../components/SOL012_schemas.yaml#/components/schemas/Link" versions: description: > URIs of all the transferred versions of this policy, if exists. type: array items: $ref: "../components/SOL012_schemas.yaml#/components/schemas/Link" required: - self required: - id - designer - name - activationStatus - transferStatus - _links PolicySubscriptionRequest: description: > This type represents a subscription request related to notifications about policy changes and policy conflicts. It shall comply with the provisions defined in table 5.6.2.5-1. type: object 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: "#/components/schemas/PolicyNotificationsFilter" callbackUri: filter.Subscriptions: name: filter description: > The URI of the endpoint to send the notification to. $ref: "../components/SOL012_schemas.yaml#/components/schemas/Uri" authentication: description: > Authentication parameters to configure the use of Authorization when sending notifications corresponding to this subscription, as defined in clause 8.3.4 of ETSI GS NFV-SOL 013. This attribute shall only be present if the subscriber requires authorization of notifications. $ref: "../components/SOL012_schemas.yaml#/components/schemas/SubscriptionAuthentication" required: - callbackUri Attribute-based filtering expression according to clause 5.2 of ETSI GS NFV-SOL 013 [7]. The API producer shall support receiving this parameter as part of the URI query string. The API consumer may supply this parameter. All attribute names that appear in the PolicySubscription and in data types referenced from it shall be supported by the API producer in the filter expression. in: query required: false schema: type: string PolicySubscription: description: > This type represents a subscription related to notifications about policy changes and policy conflicts. It shall comply with the provisions defined in table 5.6.2.6-1. type: object properties: id: description: > Identifier of this subscription resource. $ref: "../components/SOL012_schemas.yaml#/components/schemas/Identifier" filter: nextpage_opaque_marker.Subscriptions: name: nextpage_opaque_marker 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: "#/components/schemas/PolicyNotificationsFilter" callbackUri: description: > The URI of the endpoint to send the notification to. $ref: "../components/SOL012_schemas.yaml#/components/schemas/Uri" _links: description: > Links for this resource. type: object properties: self: description: > URI of this resource. $ref: "../components/SOL012_schemas.yaml#/components/schemas/Link" required: - self required: - id - callbackUri - _links PolicyNotificationsFilter: description: > This type represents a subscription filter related to notifications about policy changes and policy conflicts. It shall comply with the provisions defined in table 5.6.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: notificationTypes: description: > Match particular notification types. Permitted values: - PolicyChangeNotification - PolicyConflictNotification 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: Marker to obtain the next page of a paged response. Shall be supported by the API producer if the API producer supports alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 [7] for this resource. in: query required: false schema: type: string enum: - PolicyChangeNotification - PolicyConflictNotification policyIds: description: > Match particular policy identifiers. For "PolicyConflictNotification", the notification is sent if any of the policies specified in the subscription is impacted by the conflict, as defined in clause 5.6.2.8. type: array items: $ref: "../components/SOL012_schemas.yaml#/components/schemas/Identifier" changeTypes: description: > Match particular policy management operation types that cause the change of the policy. type: array items: $ref: "../components/SOL012_schemas.yaml#/components/schemas/PolicyOperationType" responses: Policy.Post.201: Loading Loading @@ -813,7 +647,7 @@ components: content: application/json: schema: $ref: "#/components/schemas/Policy" $ref: "definitions/PolicyManagement_def.yaml#/definitions/schemas/Policy" Policy.Get.200: description: > Loading Loading @@ -852,7 +686,7 @@ components: schema: type: array items: $ref: "#/components/schemas/Policy" $ref: "definitions/PolicyManagement_def.yaml#/definitions/schemas/Policy" Policy.Get.400: description: > Loading @@ -879,7 +713,7 @@ components: content: application/json: schema: $ref: "../components/SOL012_schemas.yaml#/components/schemas/ProblemDetails" $ref: "../definitions/SOL012_def.yaml#/definitions/schemas/ProblemDetails" IndividualPolicy.Get.200: description: > Loading @@ -901,7 +735,7 @@ components: content: application/json: schema: $ref: "#/components/schemas/Policy" $ref: "definitions/PolicyManagement_def.yaml#/definitions/schemas/Policy" PolicyModifications.Patch.200: description: > Loading @@ -925,7 +759,7 @@ components: content: application/json: schema: $ref: "../components/SOL012_schemas.yaml#/components/schemas/PolicyModifications" $ref: "../definitions/SOL012_def.yaml#/definitions/schemas/PolicyModifications" PolicyModifications.Patch.409: description: > Loading Loading @@ -956,7 +790,7 @@ components: content: application/json: schema: $ref: "../components/SOL012_schemas.yaml#/components/schemas/ProblemDetails" $ref: "../definitions/SOL012_def.yaml#/definitions/schemas/ProblemDetails" Policy.Delete.204: description: > Loading Loading @@ -1003,7 +837,7 @@ components: content: application/json: schema: $ref: "../components/SOL012_schemas.yaml#/components/schemas/ProblemDetails" $ref: "../definitions/SOL012_def.yaml#/definitions/schemas/ProblemDetails" PolicySelectedVersion.Get.200: description: > Loading Loading @@ -1063,7 +897,7 @@ components: content: application/json: schema: $ref: "../components/SOL012_schemas.yaml#/components/schemas/ProblemDetails" $ref: "../definitions/SOL012_def.yaml#/definitions/schemas/ProblemDetails" IndividualPolicyVersion.Get.200: description: > Loading Loading @@ -1141,7 +975,7 @@ components: content: application/json: schema: $ref: "../components/SOL012_schemas.yaml#/components/schemas/ProblemDetails" $ref: "../definitions/SOL012_def.yaml#/definitions/schemas/ProblemDetails" PolicyVersion.Delete.204: description: > Loading Loading @@ -1188,7 +1022,7 @@ components: content: application/json: schema: $ref: "../components/SOL012_schemas.yaml#/components/schemas/ProblemDetails" $ref: "../definitions/SOL012_def.yaml#/definitions/schemas/ProblemDetails" Subscriptions.Post.201: description: > Loading Loading @@ -1220,7 +1054,7 @@ components: content: application/json: schema: $ref: "#/components/schemas/PolicySubscription" $ref: "definitions/PolicyManagement_def.yaml#/definitions/schemas/PolicySubscription" Subscriptions.Post.303: description: > Loading Loading @@ -1288,7 +1122,7 @@ components: schema: type: array items: $ref: "#/components/schemas/PolicySubscription" $ref: "definitions/PolicyManagement_def.yaml#/definitions/schemas/PolicySubscription" Subscriptions.Get.400: description: > Loading Loading @@ -1317,7 +1151,7 @@ components: content: application/json: schema: $ref: "../components/SOL012_schemas.yaml#/components/schemas/ProblemDetails" $ref: "../definitions/SOL012_def.yaml#/definitions/schemas/ProblemDetails" IndividualSubscription.Get.200: description: > Loading @@ -1341,7 +1175,7 @@ components: content: application/json: schema: $ref: "#/components/schemas/PolicySubscription" $ref: "definitions/PolicyManagement_def.yaml#/definitions/schemas/PolicySubscription" IndividualSubscription.Delete.204: description: > Loading Loading @@ -1370,7 +1204,7 @@ components: content: application/json: schema: $ref: "#/components/schemas/CreatePolicyRequest" $ref: "definitions/PolicyManagement_def.yaml#/definitions/schemas/CreatePolicyRequest" required: true PolicyModifications: Loading @@ -1379,7 +1213,7 @@ components: content: application/json: schema: $ref: "../components/SOL012_schemas.yaml#/components/schemas/PolicyModifications" $ref: "../definitions/SOL012_def.yaml#/definitions/schemas/PolicyModifications" PolicySubscriptionRequest: description: > Loading @@ -1387,4 +1221,4 @@ components: content: application/json: schema: $ref: "#/components/schemas/PolicySubscriptionRequest" No newline at end of file $ref: "definitions/PolicyManagement_def.yaml#/definitions/schemas/PolicySubscriptionRequest" No newline at end of file
src/SOL012/PolicyManagementNotification/definitions/PolicyManagementNotification_def.yaml 0 → 100644 +160 −0 Viewed Changes for src/SOL012/PolicyManagementNotification/definitions/PolicyManagementNotification_def.yaml: 160 added lines, 0 removed lines. Original line number Diff line number Diff line definitions: schemas: PolicyChangeNotification: description: > This type represents a notification about policy change. It shall comply with the provisions defined in table 5.6.2.7-1. This notification shall be triggered by the API producer when a policy has been changed as the result of an operation of creating, transferring, deleting or modifying a policy. type: object 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/SOL012_def.yaml#/definitions/schemas/Identifier" notificationType: description: > Discriminator for the different notification types. Shall be set to "PolicyChangeNotification" for this notification type. $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/String" subscriptionId: description: > Identifier of the subscription that this notification relates to. $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/Identifier" timeStamp: description: > Date and time of the generation of the notification. $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/DateTime" policyId: description: > Identifier of the policy. $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/Identifier" affectedVersion: description: > Affected version of the policy. The value is the version identifier in the URI when a particular version of the policy is transferred or deleted, or the selected version of the policy when the policy is activated/deactivated/modified. Shall be present when a particular version of the policy is impacted by the policy management operation. Shall be absent otherwise. $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/Version" previousSelectedVersion: description: > The previous selected version of the policy. Shall be present when another version of the policy has been selected. Shall be absent otherwise. $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/Version" policyModifications: description: > Information about the modifications of the policy. Shall be present when the changeType equals to "MODIFY_POLICY". Shall be absent otherwise. $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/PolicyModifications" changeType: description: > Policy management operation that cause the change of the policy. $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/PolicyOperationType" _links: description: > Links to resources related to this notification. type: object properties: subscription: description: > Link to the related subscription. $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/NotificationLink" objectInstance: description: > Link to the resource representing the policies to which the notified change applies. Shall be present if the policy is accessible as a resource. $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/NotificationLink" required: - subscription required: - id - notificationType - subscriptionId - timeStamp - policyId - changeType - _links PolicyConflictNotification: description: > This type represents a notification about policy conflict. It shall comply with the provisions defined in table 5.6.2.8-1. This notification shall be triggered by the API producer when a policy conflict is detected, and any of the policies specified in an associated notification subscription is impacted by the conflict. type: object 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/SOL012_def.yaml#/definitions/schemas/Identifier" notificationType: description: > Discriminator for the different notification types. Shall be set to "PolicyConflictNotification" for this notification type. $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/String" subscriptionId: description: > Identifier of the subscription that this notification relates to. $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/Identifier" timeStamp: description: > Date and time of the generation of the notification. $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/DateTime" policyIds: description: > Identifiers of the conflicting policies. The policy identifier and the corresponding selected version are mapped by the order in the array. type: array items: $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/Identifier" minItems: 2 selectedVersions: description: > Selected versions of the conflicting policies. The policy identifier and the corresponding selected version are mapped by the order in the array. type: array items: $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/Version" minItems: 2 conflictDescription: description: > Description of the detected policy conflicts, e.g. conflicting events, conditions or actions among the policies $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/String" _links: description: > Links to resources related to this notification. type: object properties: subscription: description: > Link to the related subscription. $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/NotificationLink" objectInstances: description: > Link to the resources representing the policies to which the notified conflict applies. type: array items: $ref: "../../definitions/SOL012_def.yaml#/definitions/schemas/NotificationLink" minItems: 2 required: - subscription - objectInstances required: - id - notificationType - subscriptionId - timeStamp - policyIds - selectedVersions - conflictDescription - _links No newline at end of file
src/SOL012/PolicyManagementNotification/PolicyManagementNotification.yaml +32 −192 Viewed Changes for src/SOL012/PolicyManagementNotification/PolicyManagementNotification.yaml: 32 added lines, 192 removed lines. Original line number Diff line number Diff line Loading @@ -15,8 +15,8 @@ info: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt externalDocs: description: ETSI GS NFV-SOL 012 v3.4.1 url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/012/03.04.01_60/gs_nfv-sol012v030401p.pdf description: ETSI GS NFV-SOL 012 v3.7.1 url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/012/03.07.01_60/gs_NFV-SOL012v030701p.pdf security: - OauthSecurity: Loading Loading @@ -52,19 +52,19 @@ paths: "204": $ref: '#/components/responses/PolicyChangeNotification.Post.204' "400": $ref: ../components/SOL012_resp.yaml#/components/responses/400 $ref: ../responses/SOL012_resp.yaml#/responses/400 "401": $ref: ../components/SOL012_resp.yaml#/components/responses/401 $ref: ../responses/SOL012_resp.yaml#/responses/401 "403": $ref: ../components/SOL012_resp.yaml#/components/responses/403 $ref: ../responses/SOL012_resp.yaml#/responses/403 "405": $ref: ../components/SOL012_resp.yaml#/components/responses/405 $ref: ../responses/SOL012_resp.yaml#/responses/405 "406": $ref: ../components/SOL012_resp.yaml#/components/responses/406 $ref: ../responses/SOL012_resp.yaml#/responses/406 "500": $ref: ../components/SOL012_resp.yaml#/components/responses/500 $ref: ../responses/SOL012_resp.yaml#/responses/500 "503": $ref: ../components/SOL012_resp.yaml#/components/responses/503 $ref: ../responses/SOL012_resp.yaml#/responses/503 get: description: >- Loading @@ -76,19 +76,19 @@ paths: "204": $ref: '#/components/responses/PolicyChangeNotification.Get.204' "400": $ref: ../components/SOL012_resp.yaml#/components/responses/400 $ref: ../responses/SOL012_resp.yaml#/responses/400 "401": $ref: ../components/SOL012_resp.yaml#/components/responses/401 $ref: ../responses/SOL012_resp.yaml#/responses/401 "403": $ref: ../components/SOL012_resp.yaml#/components/responses/403 $ref: ../responses/SOL012_resp.yaml#/responses/403 "405": $ref: ../components/SOL012_resp.yaml#/components/responses/405 $ref: ../responses/SOL012_resp.yaml#/responses/405 "406": $ref: ../components/SOL012_resp.yaml#/components/responses/406 $ref: ../responses/SOL012_resp.yaml#/responses/406 "500": $ref: ../components/SOL012_resp.yaml#/components/responses/500 $ref: ../responses/SOL012_resp.yaml#/responses/500 "503": $ref: ../components/SOL012_resp.yaml#/components/responses/503 $ref: ../responses/SOL012_resp.yaml#/responses/503 /URI_is_provided_by_the_API_consumer_when_creating_the_subscription_PolicyConflictNotification: description: >- Loading Loading @@ -116,19 +116,19 @@ paths: "204": $ref: '#/components/responses/PolicyConflictNotification.Post.204' "400": $ref: ../components/SOL012_resp.yaml#/components/responses/400 $ref: ../responses/SOL012_resp.yaml#/responses/400 "401": $ref: ../components/SOL012_resp.yaml#/components/responses/401 $ref: ../responses/SOL012_resp.yaml#/responses/401 "403": $ref: ../components/SOL012_resp.yaml#/components/responses/403 $ref: ../responses/SOL012_resp.yaml#/responses/403 "405": $ref: ../components/SOL012_resp.yaml#/components/responses/405 $ref: ../responses/SOL012_resp.yaml#/responses/405 "406": $ref: ../components/SOL012_resp.yaml#/components/responses/406 $ref: ../responses/SOL012_resp.yaml#/responses/406 "500": $ref: ../components/SOL012_resp.yaml#/components/responses/500 $ref: ../responses/SOL012_resp.yaml#/responses/500 "503": $ref: ../components/SOL012_resp.yaml#/components/responses/503 $ref: ../responses/SOL012_resp.yaml#/responses/503 get: description: >- Loading @@ -140,181 +140,21 @@ paths: "204": $ref: '#/components/responses/PolicyConflictNotification.Get.204' "400": $ref: ../components/SOL012_resp.yaml#/components/responses/400 $ref: ../responses/SOL012_resp.yaml#/responses/400 "401": $ref: ../components/SOL012_resp.yaml#/components/responses/401 $ref: ../responses/SOL012_resp.yaml#/responses/401 "403": $ref: ../components/SOL012_resp.yaml#/components/responses/403 $ref: ../responses/SOL012_resp.yaml#/responses/403 "405": $ref: ../components/SOL012_resp.yaml#/components/responses/405 $ref: ../responses/SOL012_resp.yaml#/responses/405 "406": $ref: ../components/SOL012_resp.yaml#/components/responses/406 $ref: ../responses/SOL012_resp.yaml#/responses/406 "500": $ref: ../components/SOL012_resp.yaml#/components/responses/500 $ref: ../responses/SOL012_resp.yaml#/responses/500 "503": $ref: ../components/SOL012_resp.yaml#/components/responses/503 $ref: ../responses/SOL012_resp.yaml#/responses/503 components: schemas: PolicyChangeNotification: description: > This type represents a notification about policy change. It shall comply with the provisions defined in table 5.6.2.7-1. This notification shall be triggered by the API producer when a policy has been changed as the result of an operation of creating, transferring, deleting or modifying a policy. type: object 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: "../components/SOL012_schemas.yaml#/components/schemas/Identifier" notificationType: description: > Discriminator for the different notification types. Shall be set to "PolicyChangeNotification" for this notification type. $ref: "../components/SOL012_schemas.yaml#/components/schemas/String" subscriptionId: description: > Identifier of the subscription that this notification relates to. $ref: "../components/SOL012_schemas.yaml#/components/schemas/Identifier" timeStamp: description: > Date and time of the generation of the notification. $ref: "../components/SOL012_schemas.yaml#/components/schemas/DateTime" policyId: description: > Identifier of the policy. $ref: "../components/SOL012_schemas.yaml#/components/schemas/Identifier" affectedVersion: description: > Affected version of the policy. The value is the version identifier in the URI when a particular version of the policy is transferred or deleted, or the selected version of the policy when the policy is activated/deactivated/modified. Shall be present when a particular version of the policy is impacted by the policy management operation. Shall be absent otherwise. $ref: "../components/SOL012_schemas.yaml#/components/schemas/Version" previousSelectedVersion: description: > The previous selected version of the policy. Shall be present when another version of the policy has been selected. Shall be absent otherwise. $ref: "../components/SOL012_schemas.yaml#/components/schemas/Version" policyModifications: description: > Information about the modifications of the policy. Shall be present when the changeType equals to "MODIFY_POLICY". Shall be absent otherwise. $ref: "../components/SOL012_schemas.yaml#/components/schemas/PolicyModifications" changeType: description: > Policy management operation that cause the change of the policy. $ref: "../components/SOL012_schemas.yaml#/components/schemas/PolicyOperationType" _links: description: > Links to resources related to this notification. type: object properties: subscription: description: > Link to the related subscription. $ref: "../components/SOL012_schemas.yaml#/components/schemas/NotificationLink" objectInstance: description: > Link to the resource representing the policies to which the notified change applies. Shall be present if the policy is accessible as a resource. $ref: "../components/SOL012_schemas.yaml#/components/schemas/NotificationLink" required: - subscription required: - id - notificationType - subscriptionId - timeStamp - policyId - changeType - _links PolicyConflictNotification: description: > This type represents a notification about policy conflict. It shall comply with the provisions defined in table 5.6.2.8-1. This notification shall be triggered by the API producer when a policy conflict is detected, and any of the policies specified in an associated notification subscription is impacted by the conflict. type: object 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: "../components/SOL012_schemas.yaml#/components/schemas/Identifier" notificationType: description: > Discriminator for the different notification types. Shall be set to "PolicyConflictNotification" for this notification type. $ref: "../components/SOL012_schemas.yaml#/components/schemas/String" subscriptionId: description: > Identifier of the subscription that this notification relates to. $ref: "../components/SOL012_schemas.yaml#/components/schemas/Identifier" timeStamp: description: > Date and time of the generation of the notification. $ref: "../components/SOL012_schemas.yaml#/components/schemas/DateTime" policyIds: description: > Identifiers of the conflicting policies. The policy identifier and the corresponding selected version are mapped by the order in the array. type: array items: $ref: "../components/SOL012_schemas.yaml#/components/schemas/Identifier" minItems: 2 selectedVersions: description: > Selected versions of the conflicting policies. The policy identifier and the corresponding selected version are mapped by the order in the array. type: array items: $ref: "../components/SOL012_schemas.yaml#/components/schemas/Version" minItems: 2 conflictDescription: description: > Description of the detected policy conflicts, e.g. conflicting events, conditions or actions among the policies $ref: "../components/SOL012_schemas.yaml#/components/schemas/String" _links: description: > Links to resources related to this notification. type: object properties: subscription: description: > Link to the related subscription. $ref: "../components/SOL012_schemas.yaml#/components/schemas/NotificationLink" objectInstances: description: > Link to the resources representing the policies to which the notified conflict applies. type: array items: $ref: "../components/SOL012_schemas.yaml#/components/schemas/NotificationLink" minItems: 2 required: - subscription - objectInstances required: - id - notificationType - subscriptionId - timeStamp - policyIds - selectedVersions - conflictDescription - _links responses: PolicyChangeNotification.Post.204: description: > Loading Loading @@ -397,7 +237,7 @@ components: content: application/json: schema: $ref: "#/components/schemas/PolicyChangeNotification" $ref: "definitions/PolicyManagementNotification_def.yaml#/definitions/schemas/PolicyChangeNotification" required: true PolicyConflictNotification: Loading @@ -406,5 +246,5 @@ components: content: application/json: schema: $ref: "#/components/schemas/PolicyConflictNotification" $ref: "definitions/PolicyManagementNotification_def.yaml#/definitions/schemas/PolicyConflictNotification" required: true