openapi: 3.2.0 info: description: 'API for the Web Application Firewall service. Use this API to manage regional Web App Firewalls and corresponding policies for protecting HTTP services. ' title: Web Application Firewall () Waf API version: '20210930' x-provenance: method: harvested first_party: true publisher: Oracle source: https://docs.oracle.com/en-us/iaas/api/specs/1d76443ac0b8fb6212e6e3d30033015ab71a10999f69f3bfb3797b0d4f22f813.yaml harvested: '2026-08-04' note: Published by Oracle as the contract for the Web Application Firewall (WAF) API OCI service and stored verbatim; API Evangelist added only this provenance block. x-evidence: - url: https://docs.oracle.com/en-us/iaas/api/specs/index.json what: Oracle's own index of every OCI service specification - url: https://docs.oracle.com/en-us/iaas/api/specs/1d76443ac0b8fb6212e6e3d30033015ab71a10999f69f3bfb3797b0d4f22f813.yaml what: the harvested document for Web Application Firewall (WAF) API servers: - url: http://127.0.0.1/20210930 - url: https://127.0.0.1/20210930 tags: - name: waf paths: /networkAddressLists: get: description: 'Gets a list of all NetworkAddressLists in a compartment. ' operationId: ListNetworkAddressLists parameters: - $ref: '#/components/parameters/CompartmentIdQueryParam' - $ref: '#/components/parameters/NetworkAddressListLifecycleStateQueryParam' - $ref: '#/components/parameters/NetworkAddressListDisplayNameQueryParam' - $ref: '#/components/parameters/NetworkAddressListIdentifierQueryParam' - $ref: '#/components/parameters/PaginationLimitQueryParam' - $ref: '#/components/parameters/PaginationTokenQueryParam' - $ref: '#/components/parameters/SortOrderQueryParam' - $ref: '#/components/parameters/SortByQueryParam' - $ref: '#/components/parameters/RequestIdHeader' responses: 200: description: A page of NetworkAddressListSummary objects. headers: opc-next-page: description: 'For pagination of a list of items. When paging through a list, if this header appears in the response, then a partial list might have been returned. Include this value as the `page` parameter for the subsequent GET request to get the next batch of items. ' schema: type: string opc-request-id: description: 'Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID. ' schema: type: string content: application/json: schema: $ref: '#/components/schemas/NetworkAddressListCollection' 400: $ref: '#/components/responses/400' 401: $ref: '#/components/responses/401' 404: $ref: '#/components/responses/404' 429: $ref: '#/components/responses/429' 500: $ref: '#/components/responses/500' default: $ref: '#/components/responses/default' summary: Returns a list of NetworkAddressLists. tags: - waf x-related-resource: '#/definitions/NetworkAddressList' post: description: 'Creates a new NetworkAddressList. ' operationId: CreateNetworkAddressList parameters: - $ref: '#/components/parameters/RetryTokenHeader' - $ref: '#/components/parameters/RequestIdHeader' responses: 201: description: Accepted the request. The NetworkAddressList will be created. headers: content-location: description: 'Content Location of the resource. ' schema: type: string format: uri-reference etag: description: 'For optimistic concurrency control. See `if-match`. ' schema: type: string location: description: 'Location of the resource. ' schema: type: string format: uri-reference opc-request-id: description: 'Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID. ' schema: type: string opc-work-request-id: description: 'Unique Oracle-assigned identifier for the asynchronous request. You can use this to query status of the asynchronous operation. ' schema: type: string content: application/json: schema: $ref: '#/components/schemas/NetworkAddressList' 400: $ref: '#/components/responses/400' 401: $ref: '#/components/responses/401' 404: $ref: '#/components/responses/404' 409: $ref: '#/components/responses/409' 429: $ref: '#/components/responses/429' 500: $ref: '#/components/responses/500' default: $ref: '#/components/responses/default' summary: Creates a new NetworkAddressList. tags: - waf x-related-resource: '#/definitions/NetworkAddressList' requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateNetworkAddressListDetails' description: Details for the new NetworkAddressList. required: true /networkAddressLists/{networkAddressListId}: delete: description: Deletes a NetworkAddressList resource identified by the OCID. operationId: DeleteNetworkAddressList parameters: - $ref: '#/components/parameters/NetworkAddressListIdentifierPathParam' - $ref: '#/components/parameters/IfMatchHeader' - $ref: '#/components/parameters/RequestIdHeader' responses: 202: description: Accepted the request. The NetworkAddressList will be deleted. headers: opc-request-id: description: 'Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID. ' schema: type: string opc-work-request-id: description: 'Unique Oracle-assigned identifier for the asynchronous request. You can use this to query status of the asynchronous operation. ' schema: type: string 400: $ref: '#/components/responses/400' 401: $ref: '#/components/responses/401' 404: $ref: '#/components/responses/404' 412: $ref: '#/components/responses/412' 429: $ref: '#/components/responses/429' 500: $ref: '#/components/responses/500' default: $ref: '#/components/responses/default' summary: Delete a provisioned NetworkAddressList. tags: - waf x-related-resource: '#/definitions/NetworkAddressList' get: description: Gets a NetworkAddressList by OCID. operationId: GetNetworkAddressList parameters: - $ref: '#/components/parameters/NetworkAddressListIdentifierPathParam' - $ref: '#/components/parameters/RequestIdHeader' responses: 200: description: Retrieves the NetworkAddressList with the given OCID. headers: etag: description: 'For optimistic concurrency control. See `if-match`. ' schema: type: string opc-request-id: description: 'Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID. ' schema: type: string content: application/json: schema: $ref: '#/components/schemas/NetworkAddressList' 400: $ref: '#/components/responses/400' 401: $ref: '#/components/responses/401' 404: $ref: '#/components/responses/404' 429: $ref: '#/components/responses/429' 500: $ref: '#/components/responses/500' default: $ref: '#/components/responses/default' summary: Get NetworkAddressList. tags: - waf put: description: Update the NetworkAddressList identified by the OCID. operationId: UpdateNetworkAddressList parameters: - $ref: '#/components/parameters/NetworkAddressListIdentifierPathParam' - $ref: '#/components/parameters/IfMatchHeader' - $ref: '#/components/parameters/RequestIdHeader' responses: 202: description: Accepted the request. The NetworkAddressList will be updated. headers: opc-request-id: description: 'Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID. ' schema: type: string opc-work-request-id: description: 'Unique Oracle-assigned identifier for the asynchronous request. You can use this to query status of the asynchronous operation. ' schema: type: string 400: $ref: '#/components/responses/400' 401: $ref: '#/components/responses/401' 404: $ref: '#/components/responses/404' 412: $ref: '#/components/responses/412' 429: $ref: '#/components/responses/429' 500: $ref: '#/components/responses/500' default: $ref: '#/components/responses/default' summary: Updates the NetworkAddressList. tags: - waf x-related-resource: '#/definitions/NetworkAddressList' requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateNetworkAddressListDetails' description: The information to be updated. required: true /networkAddressLists/{networkAddressListId}/actions/changeCompartment: post: description: 'Moves a NetworkAddressList resource from one compartment to another. When provided, If-Match is checked against ETag values of the resource. ' operationId: ChangeNetworkAddressListCompartment parameters: - $ref: '#/components/parameters/NetworkAddressListIdentifierPathParam' - $ref: '#/components/parameters/IfMatchHeader' - $ref: '#/components/parameters/RequestIdHeader' responses: 202: description: Accepted the request. The NetworkAddressList resource will be moved into a different compartment. headers: opc-request-id: description: 'Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID. ' schema: type: string opc-work-request-id: description: 'Unique Oracle-assigned identifier for the asynchronous request. You can use this to query status of the asynchronous operation. ' schema: type: string 401: $ref: '#/components/responses/401' 404: $ref: '#/components/responses/404' 409: $ref: '#/components/responses/409' 412: $ref: '#/components/responses/412' 429: $ref: '#/components/responses/429' 500: $ref: '#/components/responses/500' summary: Moves a resource into a different compartment. tags: - waf x-related-resource: '#/definitions/NetworkAddressList' requestBody: content: application/json: schema: $ref: '#/components/schemas/ChangeNetworkAddressListCompartmentDetails' description: The information to be updated. required: true /protectionCapabilities: get: description: 'Lists of protection capabilities filtered by query parameters. ' operationId: ListProtectionCapabilities parameters: - $ref: '#/components/parameters/CompartmentIdQueryParam' - $ref: '#/components/parameters/RequestIdHeader' - $ref: '#/components/parameters/PaginationTokenQueryParam' - $ref: '#/components/parameters/PaginationLimitQueryParam' - $ref: '#/components/parameters/ProtectionCapabilityKeyQueryParam' - $ref: '#/components/parameters/ProtectionCapabilityIsLatestVersionQueryParam' - $ref: '#/components/parameters/ProtectionCapabilityTypeQueryParam' - $ref: '#/components/parameters/ProtectionCapabilityGroupTagQueryParam' - $ref: '#/components/parameters/DisplayNameQueryParam' - $ref: '#/components/parameters/SortOrderQueryParam' - $ref: '#/components/parameters/ProtectionCapabilitySortByQueryParam' responses: 200: description: The list is being retrieved. headers: opc-next-page: description: 'For pagination of a list of items. When paging through a list, if this header appears in the response, then a partial list might have been returned. Include this value as the `page` parameter for the subsequent GET request to get the next batch of items. ' schema: type: string opc-request-id: description: 'Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID. ' schema: type: string content: application/json: schema: $ref: '#/components/schemas/ProtectionCapabilityCollection' 400: $ref: '#/components/responses/400' 401: $ref: '#/components/responses/401' 404: $ref: '#/components/responses/404' 429: $ref: '#/components/responses/429' 500: $ref: '#/components/responses/500' default: $ref: '#/components/responses/default' summary: List all protection capabilities. tags: - waf x-related-resource: '#/definitions/ProtectionCapability' /protectionCapabilities/groupTags: get: description: 'Lists of available group tags filtered by query parameters. ' operationId: ListProtectionCapabilityGroupTags parameters: - $ref: '#/components/parameters/CompartmentIdQueryParam' - $ref: '#/components/parameters/RequestIdHeader' - $ref: '#/components/parameters/PaginationTokenQueryParam' - $ref: '#/components/parameters/PaginationLimitQueryParam' - $ref: '#/components/parameters/ProtectionCapabilityTypeQueryParam' - $ref: '#/components/parameters/SortOrderQueryParam' - $ref: '#/components/parameters/ProtectionCapabilityGroupTagsSortByQueryParam' - $ref: '#/components/parameters/NameQueryParam' responses: 200: description: The list is being retrieved. headers: opc-next-page: description: 'For pagination of a list of items. When paging through a list, if this header appears in the response, then a partial list might have been returned. Include this value as the `page` parameter for the subsequent GET request to get the next batch of items. ' schema: type: string opc-request-id: description: 'Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID. ' schema: type: string content: application/json: schema: $ref: '#/components/schemas/ProtectionCapabilityGroupTagCollection' 400: $ref: '#/components/responses/400' 401: $ref: '#/components/responses/401' 404: $ref: '#/components/responses/404' 429: $ref: '#/components/responses/429' 500: $ref: '#/components/responses/500' default: $ref: '#/components/responses/default' summary: List all protection capabilities group tags. tags: - waf x-related-resource: '#/definitions/ProtectionCapability' /webAppFirewallPolicies: get: description: 'Gets a list of all WebAppFirewallPolicies in a compartment. ' operationId: ListWebAppFirewallPolicies parameters: - $ref: '#/components/parameters/CompartmentIdQueryParam' - $ref: '#/components/parameters/WebAppFirewallPolicyLifecycleStateQueryParam' - $ref: '#/components/parameters/DisplayNameQueryParam' - $ref: '#/components/parameters/WebAppFirewallPolicyIdentifierQueryParam' - $ref: '#/components/parameters/PaginationLimitQueryParam' - $ref: '#/components/parameters/PaginationTokenQueryParam' - $ref: '#/components/parameters/SortOrderQueryParam' - $ref: '#/components/parameters/SortByQueryParam' - $ref: '#/components/parameters/RequestIdHeader' responses: 200: description: A page of WebAppFirewallPolicySummary objects. headers: opc-next-page: description: 'For pagination of a list of items. When paging through a list, if this header appears in the response, then a partial list might have been returned. Include this value as the `page` parameter for the subsequent GET request to get the next batch of items. ' schema: type: string opc-request-id: description: 'Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID. ' schema: type: string content: application/json: schema: $ref: '#/components/schemas/WebAppFirewallPolicyCollection' 400: $ref: '#/components/responses/400' 401: $ref: '#/components/responses/401' 404: $ref: '#/components/responses/404' 429: $ref: '#/components/responses/429' 500: $ref: '#/components/responses/500' default: $ref: '#/components/responses/default' summary: Returns a list of WebAppFirewallPolicies. tags: - waf x-related-resource: '#/definitions/WebAppFirewallPolicy' post: description: 'Creates a new WebAppFirewallPolicy. ' operationId: CreateWebAppFirewallPolicy parameters: - $ref: '#/components/parameters/RetryTokenHeader' - $ref: '#/components/parameters/RequestIdHeader' responses: 201: description: Accepted the request. The WebAppFirewallPolicy will be created. headers: content-location: description: 'Content Location of the resource. ' schema: type: string format: uri-reference etag: description: 'For optimistic concurrency control. See `if-match`. ' schema: type: string location: description: 'Location of the resource. ' schema: type: string format: uri-reference opc-request-id: description: 'Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID. ' schema: type: string opc-work-request-id: description: 'Unique Oracle-assigned identifier for the asynchronous request. You can use this to query status of the asynchronous operation. ' schema: type: string content: application/json: schema: $ref: '#/components/schemas/WebAppFirewallPolicy' 400: $ref: '#/components/responses/400' 401: $ref: '#/components/responses/401' 404: $ref: '#/components/responses/404' 409: $ref: '#/components/responses/409' 429: $ref: '#/components/responses/429' 500: $ref: '#/components/responses/500' default: $ref: '#/components/responses/default' summary: Creates a new WebAppFirewallPolicy. tags: - waf x-related-resource: '#/definitions/WebAppFirewallPolicy' requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateWebAppFirewallPolicyDetails' description: Details for the new WebAppFirewallPolicy. required: true /webAppFirewallPolicies/{webAppFirewallPolicyId}: delete: description: Deletes a WebAppFirewallPolicy resource identified by the OCID. operationId: DeleteWebAppFirewallPolicy parameters: - $ref: '#/components/parameters/WebAppFirewallPolicyIdentifierPathParam' - $ref: '#/components/parameters/IfMatchHeader' - $ref: '#/components/parameters/RequestIdHeader' responses: 202: description: Accepted the request. The WebAppFirewallPolicy will be deleted. headers: opc-request-id: description: 'Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID. ' schema: type: string opc-work-request-id: description: 'Unique Oracle-assigned identifier for the asynchronous request. You can use this to query status of the asynchronous operation. ' schema: type: string 400: $ref: '#/components/responses/400' 401: $ref: '#/components/responses/401' 404: $ref: '#/components/responses/404' 412: $ref: '#/components/responses/412' 429: $ref: '#/components/responses/429' 500: $ref: '#/components/responses/500' default: $ref: '#/components/responses/default' summary: Delete a provisioned WebAppFirewallPolicy. tags: - waf x-related-resource: '#/definitions/WebAppFirewallPolicy' get: description: Gets a WebAppFirewallPolicy with the given OCID. operationId: GetWebAppFirewallPolicy parameters: - $ref: '#/components/parameters/WebAppFirewallPolicyIdentifierPathParam' - $ref: '#/components/parameters/RequestIdHeader' responses: 200: description: Retrieves the WebAppFirewallPolicy with the given OCID. headers: etag: description: 'For optimistic concurrency control. See `if-match`. ' schema: type: string opc-request-id: description: 'Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID. ' schema: type: string content: application/json: schema: $ref: '#/components/schemas/WebAppFirewallPolicy' 400: $ref: '#/components/responses/400' 401: $ref: '#/components/responses/401' 404: $ref: '#/components/responses/404' 429: $ref: '#/components/responses/429' 500: $ref: '#/components/responses/500' default: $ref: '#/components/responses/default' summary: Get WebAppFirewallPolicy. tags: - waf put: description: Update the WebAppFirewallPolicy identified by the OCID. operationId: UpdateWebAppFirewallPolicy parameters: - $ref: '#/components/parameters/WebAppFirewallPolicyIdentifierPathParam' - $ref: '#/components/parameters/IfMatchHeader' - $ref: '#/components/parameters/RequestIdHeader' responses: 202: description: Accepted the request. The WebAppFirewallPolicy will be updated. headers: opc-request-id: description: 'Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID. ' schema: type: string opc-work-request-id: description: 'Unique Oracle-assigned identifier for the asynchronous request. You can use this to query status of the asynchronous operation. ' schema: type: string 400: $ref: '#/components/responses/400' 401: $ref: '#/components/responses/401' 404: $ref: '#/components/responses/404' 412: $ref: '#/components/responses/412' 429: $ref: '#/components/responses/429' 500: $ref: '#/components/responses/500' default: $ref: '#/components/responses/default' summary: Updates the WebAppFirewallPolicy. tags: - waf x-related-resource: '#/definitions/WebAppFirewallPolicy' requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateWebAppFirewallPolicyDetails' description: The information to be updated. required: true /webAppFirewallPolicies/{webAppFirewallPolicyId}/actions/changeCompartment: post: description: 'Moves a WebAppFirewallfPolicy resource from one compartment to another. When provided, If-Match is checked against ETag values of the resource. ' operationId: ChangeWebAppFirewallPolicyCompartment parameters: - $ref: '#/components/parameters/WebAppFirewallPolicyIdentifierPathParam' - $ref: '#/components/parameters/IfMatchHeader' - $ref: '#/components/parameters/RequestIdHeader' responses: 202: description: Accepted the request. The WebAppFirewallPolicy resource will be moved into a different compartment. headers: opc-request-id: description: 'Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID. ' schema: type: string opc-work-request-id: description: 'Unique Oracle-assigned identifier for the asynchronous request. You can use this to query status of the asynchronous operation. ' schema: type: string 401: $ref: '#/components/responses/401' 404: $ref: '#/components/responses/404' 409: $ref: '#/components/responses/409' 412: $ref: '#/components/responses/412' 429: $ref: '#/components/responses/429' 500: $ref: '#/components/responses/500' summary: Moves a resource into a different compartment. tags: - waf x-related-resource: '#/definitions/WebAppFirewallPolicy' requestBody: content: application/json: schema: $ref: '#/components/schemas/ChangeWebAppFirewallPolicyCompartmentDetails' description: The information to be updated. required: true /webAppFirewalls: get: description: 'Gets a list of all WebAppFirewalls in a compartment. ' operationId: ListWebAppFirewalls parameters: - $ref: '#/components/parameters/CompartmentIdQueryParam' - $ref: '#/components/parameters/WebAppFirewallIdentifierQueryParam' - $ref: '#/components/parameters/WebAppFirewallWebAppFirewallPolicyIdentifierQueryParam' - $ref: '#/components/parameters/WebAppFirewallLifecycleStateQueryParam' - $ref: '#/components/parameters/DisplayNameQueryParam' - $ref: '#/components/parameters/PaginationLimitQueryParam' - $ref: '#/components/parameters/PaginationTokenQueryParam' - $ref: '#/components/parameters/SortOrderQueryParam' - $ref: '#/components/parameters/SortByQueryParam' - $ref: '#/components/parameters/RequestIdHeader' responses: 200: description: A page of WebAppFirewallSummary objects. headers: opc-next-page: description: 'For pagination of a list of items. When paging through a list, if this header appears in the response, then a partial list might have been returned. Include this value as the `page` parameter for the subsequent GET request to get the next batch of items. ' schema: type: string opc-request-id: description: 'Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID. ' schema: type: string content: application/json: schema: $ref: '#/components/schemas/WebAppFirewallCollection' 400: $ref: '#/components/responses/400' 401: $ref: '#/components/responses/401' 404: $ref: '#/components/responses/404' 429: $ref: '#/components/responses/429' 500: $ref: '#/components/responses/500' default: $ref: '#/components/responses/default' summary: Returns a list of WebAppFirewalls. tags: - waf x-related-resource: '#/definitions/WebAppFirewall' post: description: 'Creates a new WebAppFirewall. ' operationId: CreateWebAppFirewall parameters: - $ref: '#/components/parameters/RetryTokenHeader' - $ref: '#/components/parameters/RequestIdHeader' responses: 201: description: Accepted the request. The WebAppFirewall will be created. headers: content-location: description: 'Content Location of the resource. ' schema: type: string format: uri-reference etag: description: 'For optimistic concurrency control. See `if-match`. ' schema: type: string location: description: 'Location of the resource. ' schema: type: string format: uri-reference opc-request-id: description: 'Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID. ' schema: type: string opc-work-request-id: description: 'Unique Oracle-assigned identifier for the asynchronous request. You can use this to query status of the asynchronous operation. ' schema: type: string content: application/json: schema: $ref: '#/components/schemas/WebAppFirewall' 400: $ref: '#/components/responses/400' 401: $ref: '#/components/responses/401' 404: $ref: '#/components/responses/404' 409: $ref: '#/components/responses/409' 429: $ref: '#/components/responses/429' 500: $ref: '#/components/responses/500' default: $ref: '#/components/responses/default' summary: Creates a new WebAppFirewall. tags: - waf x-related-resource: '#/definitions/WebAppFirewall' requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateWebAppFirewallDetails' description: Details for the new Web App Firewall. required: true /webAppFirewalls/{webAppFirewallId}: delete: description: Deletes a WebAppFirewall resource identified by the OCID. operationId: DeleteWebAppFirewall parameters: - $ref: '#/components/parameters/WebAppFirewallIdentifierPathParam' - $ref: '#/components/parameters/IfMatchHeader' - $ref: '#/components/parameters/RequestIdHeader' responses: 202: description: Accepted the request. The WebAppFirewall will be deleted. headers: opc-request-id: description: 'Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID. ' schema: type: string opc-work-request-id: description: 'Unique Oracle-assigned identifier for the asynchronous request. You can use this to query status of the asynchronous operation. ' schema: type: string 400: $ref: '#/components/responses/400' 401: $ref: '#/components/responses/401' 404: $ref: '#/components/responses/404' 412: $ref: '#/components/responses/412' 429: $ref: '#/components/responses/429' 500: $ref: '#/components/responses/500' default: $ref: '#/components/responses/default' summary: Delete a provisioned WebAppFirewall. tags: - waf x-related-resource: '#/definitions/WebAppFirewall' get: description: Gets a WebAppFirewall by OCID. operationId: GetWebAppFirewall parameters: - $ref: '#/components/parameters/WebAppFirewallIdentifierPathParam' - $ref: '#/components/parameters/RequestIdHeader' responses: 200: description: Retrieves the WebAppFirewall with the given OCID. headers: etag: description: 'For optimistic concurrency control. See `if-match`. ' schema: type: string opc-request-id: description: 'Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID. ' schema: type: string content: application/json: schema: $ref: '#/components/schemas/WebAppFirewall' 400: $ref: '#/components/responses/400' 401: $ref: '#/components/responses/401' 404: $ref: '#/components/responses/404' 429: $ref: '#/components/responses/429' 500: $ref: '#/components/responses/500' default: $ref: '#/components/responses/default' summary: Get WebAppFirewall. tags: - waf put: description: Updates the WebAppFirewall identified by the OCID. operationId: UpdateWebAppFirewall parameters: - $ref: '#/components/parameters/WebAppFirewallIdentifierPathParam' - $ref: '#/components/parameters/IfMatchHeader' - $ref: '#/components/parameters/RequestIdHeader' responses: 202: description: Accepted the request. The WebAppFirewall will be updated. headers: opc-request-id: description: 'Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID. ' schema: type: string opc-work-request-id: description: 'Unique Oracle-assigned identifier for the asynchronous request. You can use this to query status of the asynchronous operation. ' schema: type: string 400: $ref: '#/components/responses/400' 401: $ref: '#/components/responses/401' 404: $ref: '#/components/responses/404' 412: $ref: '#/components/responses/412' 429: $ref: '#/components/responses/429' 500: $ref: '#/components/responses/500' default: $ref: '#/components/responses/default' summary: Update the WebAppFirewall. tags: - waf x-related-resource: '#/definitions/WebAppFirewall' requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateWebAppFirewallDetails' description: The information to be updated. required: true /webAppFirewalls/{webAppFirewallId}/actions/changeCompartment: post: description: 'Moves a Web App Firewall resource from one compartment to another. When provided, If-Match is checked against ETag values of the resource. ' operationId: ChangeWebAppFirewallCompartment parameters: - $ref: '#/components/parameters/WebAppFirewallIdentifierPathParam' - $ref: '#/components/parameters/IfMatchHeader' - $ref: '#/components/parameters/RequestIdHeader' responses: 202: description: Accepted the request. The WebAppFirewall resource will be moved into a different compartment. headers: opc-request-id: description: 'Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID. ' schema: type: string opc-work-request-id: description: 'Unique Oracle-assigned identifier for the asynchronous request. You can use this to query status of the asynchronous operation. ' schema: type: string 401: $ref: '#/components/responses/401' 404: $ref: '#/components/responses/404' 409: $ref: '#/components/responses/409' 412: $ref: '#/components/responses/412' 429: $ref: '#/components/responses/429' 500: $ref: '#/components/responses/500' summary: Moves a resource into a different compartment. tags: - waf x-related-resource: '#/definitions/WebAppFirewall' requestBody: content: application/json: schema: $ref: '#/components/schemas/ChangeWebAppFirewallCompartmentDetails' description: The information to be updated. required: true /workRequests: get: description: 'Lists the WorkRequests in a compartment. ' operationId: ListWorkRequests parameters: - $ref: '#/components/parameters/CompartmentIdQueryParam' - $ref: '#/components/parameters/WorkRequestIdQueryParam' - $ref: '#/components/parameters/RequestIdHeader' - $ref: '#/components/parameters/PaginationTokenQueryParam' - $ref: '#/components/parameters/PaginationLimitQueryParam' responses: 200: description: The list is being retrieved. headers: opc-next-page: description: 'For pagination of a list of items. When paging through a list, if this header appears in the response, then a partial list might have been returned. Include this value as the `page` parameter for the subsequent GET request to get the next batch of items. ' schema: type: string opc-request-id: description: 'Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID. ' schema: type: string content: application/json: schema: $ref: '#/components/schemas/WorkRequestCollection' 400: $ref: '#/components/responses/400' 401: $ref: '#/components/responses/401' 404: $ref: '#/components/responses/404' 429: $ref: '#/components/responses/429' 500: $ref: '#/components/responses/500' default: $ref: '#/components/responses/default' summary: List Work Requests. tags: - waf x-related-resource: '#/definitions/WorkRequest' /workRequests/{workRequestId}: get: description: Gets the status of the WorkRequest with the given OCID. operationId: GetWorkRequest parameters: - $ref: '#/components/parameters/WorkRequestIdPathParam' - $ref: '#/components/parameters/RequestIdHeader' responses: 200: description: The detail of the work request. headers: opc-request-id: description: 'Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID. ' schema: type: string retry-after: description: A decimal number representing the number of seconds the client should wait before polling this endpoint again. schema: type: integer content: application/json: schema: $ref: '#/components/schemas/WorkRequest' 400: $ref: '#/components/responses/400' 401: $ref: '#/components/responses/401' 404: $ref: '#/components/responses/404' 429: $ref: '#/components/responses/429' 500: $ref: '#/components/responses/500' default: $ref: '#/components/responses/default' summary: GET WorkRequest Status. tags: - waf x-related-resource: '#/definitions/WorkRequest' /workRequests/{workRequestId}/errors: get: description: 'Return a (paginated) list of errors for a given WorkRequest. ' operationId: ListWorkRequestErrors parameters: - $ref: '#/components/parameters/WorkRequestIdPathParam' - $ref: '#/components/parameters/RequestIdHeader' - $ref: '#/components/parameters/PaginationTokenQueryParam' - $ref: '#/components/parameters/PaginationLimitQueryParam' responses: 200: description: List of WorkRequestErrors. headers: opc-next-page: description: 'For pagination of a list of items. When paging through a list, if this header appears in the response, then a partial list might have been returned. Include this value as the `page` parameter for the subsequent GET request to get the next batch of items. ' schema: type: string opc-request-id: description: 'Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID. ' schema: type: string content: application/json: schema: $ref: '#/components/schemas/WorkRequestErrorCollection' 400: $ref: '#/components/responses/400' 401: $ref: '#/components/responses/401' 404: $ref: '#/components/responses/404' 429: $ref: '#/components/responses/429' 500: $ref: '#/components/responses/500' default: $ref: '#/components/responses/default' summary: Lists WorkRequestErrors. tags: - waf x-related-resource: '#/definitions/WorkRequestError' /workRequests/{workRequestId}/logs: get: description: 'Return a (paginated) list of logs for a given WorkRequest. ' operationId: ListWorkRequestLogs parameters: - $ref: '#/components/parameters/WorkRequestIdPathParam' - $ref: '#/components/parameters/RequestIdHeader' - $ref: '#/components/parameters/PaginationTokenQueryParam' - $ref: '#/components/parameters/PaginationLimitQueryParam' responses: 200: description: List of WorkRequestLogs. headers: opc-next-page: description: 'For pagination of a list of items. When paging through a list, if this header appears in the response, then a partial list might have been returned. Include this value as the `page` parameter for the subsequent GET request to get the next batch of items. ' schema: type: string opc-request-id: description: 'Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID. ' schema: type: string content: application/json: schema: $ref: '#/components/schemas/WorkRequestLogEntryCollection' 400: $ref: '#/components/responses/400' 401: $ref: '#/components/responses/401' 404: $ref: '#/components/responses/404' 429: $ref: '#/components/responses/429' 500: $ref: '#/components/responses/500' default: $ref: '#/components/responses/default' summary: Lists WorkRequestLogs. tags: - waf x-related-resource: '#/definitions/WorkRequestLogEntry' components: schemas: ProtectionCapability: description: 'References an OCI-managed protection capability. Checks if HTTP requests/responses are malicious. ' properties: actionName: description: 'Override action to take if capability was triggered, defined in Protection Rule for this capability. Only actions of type CHECK are allowed. ' maxLength: 255 pattern: ^[a-zA-Z0-9 _-]+$ type: string collaborativeActionThreshold: description: 'The minimum sum of weights of associated collaborative protection capabilities that have triggered which must be reached in order for _this_ capability to trigger. This field is ignored for non-collaborative capabilities. ' format: int32 minimum: 1 type: integer x-default-description: The value is set according to OCI-managed configuration. collaborativeWeights: description: 'Explicit weight values to use for associated collaborative protection capabilities. ' items: $ref: '#/components/schemas/CollaborativeCapabilityWeightOverride' maxItems: 100 type: array x-default-description: 'All collaborative protection capabilities will use the value in OCI-managed configuration unless explicitly set in this field. Either all or none of collaborative capability weights can be overridden. This field is ignored for non-collaborative capabilities. ' exclusions: $ref: '#/components/schemas/ProtectionCapabilityExclusions' key: description: Unique key of referenced protection capability. maxLength: 255 minLength: 1 type: string version: description: Version of referenced protection capability. minimum: 1 type: integer required: - key - version type: object WebAppFirewallPolicyRule: description: Base schema for WebAppFirewallPolicyRules, including properties common to all of them. discriminator: propertyName: type properties: actionName: description: References action by name from actions defined in WebAppFirewallPolicy. maxLength: 255 minLength: 1 pattern: ^[a-zA-Z0-9 _-]+$ type: string condition: description: 'An expression that determines whether or not the rule action should be executed. ' maxLength: 1024 minLength: 1 type: string x-default-description: 'null' conditionLanguage: default: JMESPATH description: 'The language used to parse condition from field `condition`. Available languages: * **JMESPATH** an extended JMESPath language syntax. ' enum: - JMESPATH type: string name: description: Rule name. Must be unique within the module. maxLength: 255 minLength: 1 pattern: ^[a-zA-Z0-9 _-]+$ type: string type: description: Type of WebAppFirewallPolicyRule. enum: - ACCESS_CONTROL - PROTECTION - REQUEST_RATE_LIMITING type: string required: - type - name - actionName type: object RequestRateLimitingConfiguration: description: Rate limiting configuration. properties: actionDurationInSeconds: default: 0 description: Duration of block action application in seconds when `requestsLimit` is reached. Optional and can be 0 (no block duration). maximum: 86400 minimum: 0 type: integer periodInSeconds: description: Evaluation period in seconds. maximum: 86400 minimum: 1 type: integer requestsLimit: description: Requests allowed per evaluation period. format: int32 minimum: 1 type: integer required: - periodInSeconds - requestsLimit type: object ProtectionRule: allOf: - $ref: '#/components/schemas/WebAppFirewallPolicyRule' - discriminator: propertyName: PROTECTION properties: protectionCapabilities: description: 'An ordered list that references OCI-managed protection capabilities. Referenced protection capabilities are not necessarily executed in order of appearance. Their execution order is decided at runtime for improved performance. The array cannot contain entries with the same pair of capability key and version more than once. ' items: $ref: '#/components/schemas/ProtectionCapability' maxItems: 100 minItems: 1 type: array protectionCapabilitySettings: $ref: '#/components/schemas/ProtectionCapabilitySettings' required: - protectionCapabilities description: "Rule that represents Request/Response Protection.\nOnly actions of the following types are allowed to be referenced in this rule:\n * CHECK\n * RETURN_HTTP_RESPONSE\n" type: object NetworkAddressListCollection: description: Contains NetworkAddressListSummary items. properties: items: description: A list of NetworkAddressListSummary objects. items: $ref: '#/components/schemas/NetworkAddressListSummary' type: array required: - items type: object ProtectionCapabilityExclusions: description: 'Identifies specific HTTP message parameters to exclude from inspection by a protection capability. ' properties: args: default: [] description: 'List of URL query parameter values from form-urlencoded XML, JSON, AMP, or POST payloads to exclude from inspecting. Example: If we have query parameter ''argumentName=argumentValue'' and args=[''argumentName''], both ''argumentName'' and ''argumentValue'' will not be inspected. ' items: maxLength: 300 minLength: 1 type: string maxItems: 500 type: array requestCookies: default: [] description: 'List of HTTP request cookie values (by cookie name) to exclude from inspecting. Example: If we have cookie ''cookieName=cookieValue'' and requestCookies=[''cookieName''], both ''cookieName'' and ''cookieValue'' will not be inspected. ' items: maxLength: 300 minLength: 1 type: string maxItems: 500 type: array type: object x-default-description: 'null' Error: description: Error Information. properties: code: description: A short error code that defines the error, meant for programmatic parsing. type: string message: description: A human-readable error string. type: string required: - code - message UpdateWebAppFirewallDetails: description: The information to be updated for WebAppFirewall. properties: definedTags: additionalProperties: additionalProperties: description: 'The value of the tag. Only string type is supported. ' type: object description: 'Key-value pair representing predefined tags'' keys and values scoped to a namespace. Example: `{"bar-key": "value"}` ' type: object description: 'Defined tags for this resource. Each key is predefined and scoped to a namespace. Example: `{"foo-namespace": {"bar-key": "value"}}` ' type: object displayName: description: WebAppFirewall display name, can be renamed. maxLength: 255 minLength: 1 type: string freeformTags: additionalProperties: type: string description: 'Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{"bar-key": "value"}` ' type: object systemTags: additionalProperties: additionalProperties: description: 'The value of the tag. Only string type is supported. ' type: object description: 'Key-value pair representing system tags'' keys and values scoped to a namespace. Example: `{"bar-key": "value"}` ' type: object description: 'Usage of system tag keys. These predefined keys are scoped to namespaces. Example: `{"orcl-cloud": {"free-tier-retained": "true"}}` ' type: object webAppFirewallPolicyId: description: 'The [OCID](/Content/General/Concepts/identifiers.htm) of WebAppFirewallPolicy, which is attached to the resource. This update guarantees that the resource always has WebAppFirewallPolicy attached at any time. ' maxLength: 255 minLength: 1 type: string type: object ChangeWebAppFirewallPolicyCompartmentDetails: description: Updates compartmentId of resource. properties: compartmentId: description: 'The [OCID](/Content/General/Concepts/identifiers.htm) of the compartment into which the resource should be moved. ' maxLength: 255 minLength: 1 type: string required: - compartmentId type: object ProtectionCapabilitySettings: description: 'Settings for protection capabilities ' properties: allowedHttpMethods: default: - GET - HEAD - POST - OPTIONS description: 'List of allowed HTTP methods. Each value as a RFC7230 formated token string. Used in protection capability 911100: Restrict HTTP Request Methods. ' items: maximum: 255 minimum: 1 pattern: ^[A-Za-z0-9!#$%&'*+-.^_`|~]+$ type: string maxItems: 25 minItems: 1 type: array maxHttpRequestHeaderLength: default: 8000 description: 'Maximum allowed length of headers in an HTTP request. Used in protection capability: 9200024: Limit length of request header size. ' maximum: 1000000 minimum: 1 type: integer maxHttpRequestHeaders: default: 25 description: 'Maximum number of headers allowed in an HTTP request. Used in protection capability 9200014: Limit Number of Request Headers. ' maximum: 1000 minimum: 0 type: integer maxNumberOfArguments: default: 255 description: 'Maximum number of arguments allowed. Used in protection capability 920380: Number of Arguments Limits. ' maximum: 10000 minimum: 1 type: integer maxSingleArgumentLength: default: 400 description: 'Maximum allowed length of a single argument. Used in protection capability 920370: Limit argument value length. ' maximum: 1000000 minimum: 1 type: integer maxTotalArgumentLength: default: 64000 description: 'Maximum allowed total length of all arguments. Used in protection capability 920390: Limit arguments total length. ' maximum: 64000000 minimum: 1 type: integer type: object ChangeNetworkAddressListCompartmentDetails: description: Updates compartmentId of resource. properties: compartmentId: description: 'The [OCID](/Content/General/Concepts/identifiers.htm) of the compartment into which the resource should be moved. ' maxLength: 255 minLength: 1 type: string required: - compartmentId type: object UpdateWebAppFirewallPolicyDetails: description: 'The information to be updated. When updating WebAppFirewallPolicy, shallow merge is used for all top-level fields, meaning that top-level fields with defined values are completely overwritten and top-level fields without defined values are unchanged. ' properties: actions: default: [] description: 'Predefined actions for use in multiple different rules. Not all actions are supported in every module. Some actions terminate further execution of modules and rules in a module and some do not. Actions names must be unique within this array. ' items: $ref: '#/components/schemas/Action' maxItems: 300 type: array definedTags: additionalProperties: additionalProperties: description: 'The value of the tag. Only string type is supported. ' type: object description: 'Key-value pair representing predefined tags'' keys and values scoped to a namespace. Example: `{"bar-key": "value"}` ' type: object description: 'Defined tags for this resource. Each key is predefined and scoped to a namespace. Example: `{"foo-namespace": {"bar-key": "value"}}` ' type: object displayName: description: WebAppFirewallPolicy display name, can be renamed. maxLength: 255 minLength: 1 type: string freeformTags: additionalProperties: type: string description: 'Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{"bar-key": "value"}` ' type: object requestAccessControl: $ref: '#/components/schemas/RequestAccessControl' requestProtection: $ref: '#/components/schemas/RequestProtection' requestRateLimiting: $ref: '#/components/schemas/RequestRateLimiting' responseAccessControl: $ref: '#/components/schemas/ResponseAccessControl' responseProtection: $ref: '#/components/schemas/ResponseProtection' systemTags: additionalProperties: additionalProperties: description: 'The value of the tag. Only string type is supported. ' type: object description: 'Key-value pair representing system tags'' keys and values scoped to a namespace. Example: `{"bar-key": "value"}` ' type: object description: 'Usage of system tag keys. These predefined keys are scoped to namespaces. Example: `{"orcl-cloud": {"free-tier-retained": "true"}}` ' type: object type: object ResponseProtection: description: Module that allows to enable OCI-managed protection capabilities for HTTP responses. properties: rules: default: [] description: 'Ordered list of ProtectionRules. Rules are executed in order of appearance in this array. ProtectionRules in this array can only use protection capabilities of RESPONSE_PROTECTION_CAPABILITY type. ' items: $ref: '#/components/schemas/ProtectionRule' maxItems: 25 type: array type: object CollaborativeCapabilityWeightOverride: description: Collaborative capability key and overriding weight. properties: key: description: Unique key of collaborative capability for which weight will be overridden. maxLength: 255 minLength: 1 type: string weight: description: The value of weight to set. format: int32 minimum: 0 type: integer required: - key - weight type: object WorkRequestCollection: description: Result of a WorkRequest search. Contains both WorkRequest items and other information, such as metadata. properties: items: description: List of WorkRequests. items: $ref: '#/components/schemas/WorkRequest' type: array required: - items type: object RequestRateLimiting: description: Module that allows inspection of HTTP connection properties and to limit requests frequency for a given key. properties: rules: default: [] description: 'Ordered list of RequestRateLimitingRules. Rules are executed in order of appearance in this array. ' items: $ref: '#/components/schemas/RequestRateLimitingRule' maxItems: 50 type: array type: object CreateNetworkAddressListDetails: description: The information about new NetworkAddressList. discriminator: propertyName: type properties: compartmentId: description: The [OCID](/Content/General/Concepts/identifiers.htm) of the compartment. maxLength: 255 minLength: 1 type: string definedTags: additionalProperties: additionalProperties: description: 'The value of the tag. Only string type is supported. ' type: object description: 'Key-value pair representing predefined tags'' keys and values scoped to a namespace. Example: `{"bar-key": "value"}` ' type: object description: 'Defined tags for this resource. Each key is predefined and scoped to a namespace. Example: `{"foo-namespace": {"bar-key": "value"}}` ' type: object displayName: description: NetworkAddressList display name, can be renamed. maxLength: 255 minLength: 1 type: string freeformTags: additionalProperties: type: string description: 'Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{"bar-key": "value"}` ' type: object systemTags: additionalProperties: additionalProperties: description: 'The value of the tag. Only string type is supported. ' type: object description: 'Key-value pair representing system tags'' keys and values scoped to a namespace. Example: `{"bar-key": "value"}` ' type: object description: 'Usage of system tag keys. These predefined keys are scoped to namespaces. Example: `{"orcl-cloud": {"free-tier-retained": "true"}}` ' type: object type: description: Type of NetworkAddressList. enum: - ADDRESSES - VCN_ADDRESSES type: string required: - compartmentId - type type: object WebAppFirewallPolicyCollection: description: Contains WebAppFirewallPolicySummary items. properties: items: description: A list of WebAppFirewallPolicySummary objects. items: $ref: '#/components/schemas/WebAppFirewallPolicySummary' type: array required: - items type: object RequestAccessControl: description: 'Module that allows inspection of HTTP request properties and to return a defined HTTP response. In this module, rules with the name ''Default Action'' are not allowed, since this name is reserved for default action logs. ' properties: defaultActionName: description: 'References an default Action to take if no AccessControlRule was matched. Allowed action types: * **ALLOW** continues execution of other modules and their rules. * **RETURN_HTTP_RESPONSE** terminates further execution of modules and rules and returns defined HTTP response. ' maxLength: 255 minLength: 1 pattern: ^[a-zA-Z0-9 _-]+$ type: string rules: default: [] description: Ordered list of AccessControlRules. Rules are executed in order of appearance in this array. items: $ref: '#/components/schemas/AccessControlRule' maxItems: 100 type: array required: - defaultActionName type: object NetworkAddressListSummary: description: Summary of NetworkAddressList. discriminator: propertyName: type properties: compartmentId: description: The [OCID](/Content/General/Concepts/identifiers.htm) of the compartment. type: string definedTags: additionalProperties: additionalProperties: description: 'The value of the tag. Only string type is supported. ' type: object description: 'Key-value pair representing predefined tags'' keys and values scoped to a namespace. Example: `{"bar-key": "value"}` ' type: object description: 'Defined tags for this resource. Each key is predefined and scoped to a namespace. Example: `{"foo-namespace": {"bar-key": "value"}}` ' type: object displayName: description: NetworkAddressList display name, can be renamed. type: string freeformTags: additionalProperties: type: string description: 'Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{"bar-key": "value"}` ' type: object id: description: The [OCID](/Content/General/Concepts/identifiers.htm) of the NetworkAddressList. type: string lifecycleDetails: description: 'A message describing the current state in more detail. For example, can be used to provide actionable information for a resource in FAILED state. ' type: string lifecycleState: description: The current state of the NetworkAddress List. type: string x-obmcs-enumref: '#/definitions/NetworkAddressList/lifecycleState' systemTags: additionalProperties: additionalProperties: description: 'The value of the tag. Only string type is supported. ' type: object description: 'Key-value pair representing system tags'' keys and values scoped to a namespace. Example: `{"bar-key": "value"}` ' type: object description: 'Usage of system tag keys. These predefined keys are scoped to namespaces. Example: `{"orcl-cloud": {"free-tier-retained": "true"}}` ' type: object timeCreated: description: The time the NetworkAddressList was created. An RFC3339 formatted datetime string. format: date-time type: string timeUpdated: description: The time the NetworkAddressList was updated. An RFC3339 formatted datetime string. format: date-time type: string type: description: Type of NetworkAddressList. enum: - ADDRESSES - VCN_ADDRESSES type: string required: - id - compartmentId - displayName - timeCreated - lifecycleState - freeformTags - definedTags - systemTags - type type: object CreateWebAppFirewallPolicyDetails: description: The information about new WebAppFirewallPolicy. properties: actions: default: [] description: 'Predefined actions for use in multiple different rules. Not all actions are supported in every module. Some actions terminate further execution of modules and rules in a module and some do not. Actions names must be unique within this array. ' items: $ref: '#/components/schemas/Action' maxItems: 300 type: array compartmentId: description: The [OCID](/Content/General/Concepts/identifiers.htm) of the compartment. maxLength: 255 minLength: 1 type: string definedTags: additionalProperties: additionalProperties: description: 'The value of the tag. Only string type is supported. ' type: object description: 'Key-value pair representing predefined tags'' keys and values scoped to a namespace. Example: `{"bar-key": "value"}` ' type: object description: 'Defined tags for this resource. Each key is predefined and scoped to a namespace. Example: `{"foo-namespace": {"bar-key": "value"}}` ' type: object displayName: description: WebAppFirewallPolicy display name, can be renamed. maxLength: 255 minLength: 1 type: string freeformTags: additionalProperties: type: string description: 'Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{"bar-key": "value"}` ' type: object requestAccessControl: $ref: '#/components/schemas/RequestAccessControl' requestProtection: $ref: '#/components/schemas/RequestProtection' requestRateLimiting: $ref: '#/components/schemas/RequestRateLimiting' responseAccessControl: $ref: '#/components/schemas/ResponseAccessControl' responseProtection: $ref: '#/components/schemas/ResponseProtection' systemTags: additionalProperties: additionalProperties: description: 'The value of the tag. Only string type is supported. ' type: object description: 'Key-value pair representing system tags'' keys and values scoped to a namespace. Example: `{"bar-key": "value"}` ' type: object description: 'Usage of system tag keys. These predefined keys are scoped to namespaces. Example: `{"orcl-cloud": {"free-tier-retained": "true"}}` ' type: object required: - compartmentId type: object WebAppFirewallPolicy: description: "The details of WebAppFirewallPolicy. A policy is comprised of rules, which allows executing inspections of\nincoming/outgoing HTTP message parameters and execution of actions, based on results of rules execution.\n\nIn policy, rules are grouped into modules by their functionality. Modules can be further divided by the type\nof HTTP messages they handle:\n Modules that inspect incoming HTTP request. These modules are executed in the order they are enumerated here:\n * requestAccessControl\n * requestRateLimiting\n * requestProtection\n\n Modules that inspect outgoing HTTP responses. These modules are executed in the order they are enumerated here:\n * responseAccessControl\n * responseProtection\n" properties: actions: default: [] description: 'Predefined actions for use in multiple different rules. Not all actions are supported in every module. Some actions terminate further execution of modules and rules in a module and some do not. Actions names must be unique within this array. ' items: $ref: '#/components/schemas/Action' maxItems: 300 type: array compartmentId: description: The [OCID](/Content/General/Concepts/identifiers.htm) of the compartment. type: string definedTags: additionalProperties: additionalProperties: description: 'The value of the tag. Only string type is supported. ' type: object description: 'Key-value pair representing predefined tags'' keys and values scoped to a namespace. Example: `{"bar-key": "value"}` ' type: object description: 'Defined tags for this resource. Each key is predefined and scoped to a namespace. Example: `{"foo-namespace": {"bar-key": "value"}}` ' type: object displayName: description: WebAppFirewallPolicy display name, can be renamed. type: string freeformTags: additionalProperties: type: string description: 'Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{"bar-key": "value"}` ' type: object id: description: The [OCID](/Content/General/Concepts/identifiers.htm) of the WebAppFirewallPolicy. type: string lifecycleDetails: description: 'A message describing the current state in more detail. For example, can be used to provide actionable information for a resource in FAILED state. ' type: string lifecycleState: description: The current state of the WebAppFirewallPolicy. enum: - CREATING - UPDATING - ACTIVE - DELETING - DELETED - FAILED type: string requestAccessControl: $ref: '#/components/schemas/RequestAccessControl' requestProtection: $ref: '#/components/schemas/RequestProtection' requestRateLimiting: $ref: '#/components/schemas/RequestRateLimiting' responseAccessControl: $ref: '#/components/schemas/ResponseAccessControl' responseProtection: $ref: '#/components/schemas/ResponseProtection' systemTags: additionalProperties: additionalProperties: description: 'The value of the tag. Only string type is supported. ' type: object description: 'Key-value pair representing system tags'' keys and values scoped to a namespace. Example: `{"bar-key": "value"}` ' type: object description: 'Usage of system tag keys. These predefined keys are scoped to namespaces. Example: `{"orcl-cloud": {"free-tier-retained": "true"}}` ' type: object timeCreated: description: The time the WebAppFirewallPolicy was created. An RFC3339 formatted datetime string. format: date-time type: string timeUpdated: description: The time the WebAppFirewallPolicy was updated. An RFC3339 formatted datetime string. format: date-time type: string required: - id - compartmentId - displayName - timeCreated - lifecycleState - freeformTags - definedTags - systemTags type: object CreateWebAppFirewallDetails: description: The information about new Web App Firewall. discriminator: propertyName: backendType properties: backendType: description: Type of the WebAppFirewall, as example LOAD_BALANCER. enum: - LOAD_BALANCER type: string x-obmcs-top-level-enum: '#/definitions/BackendType' compartmentId: description: The [OCID](/Content/General/Concepts/identifiers.htm) of the compartment. maxLength: 255 minLength: 1 type: string definedTags: additionalProperties: additionalProperties: description: 'The value of the tag. Only string type is supported. ' type: object description: 'Key-value pair representing predefined tags'' keys and values scoped to a namespace. Example: `{"bar-key": "value"}` ' type: object description: 'Defined tags for this resource. Each key is predefined and scoped to a namespace. Example: `{"foo-namespace": {"bar-key": "value"}}` ' type: object displayName: description: WebAppFirewall display name, can be renamed. maxLength: 255 minLength: 1 type: string freeformTags: additionalProperties: type: string description: 'Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{"bar-key": "value"}` ' type: object systemTags: additionalProperties: additionalProperties: description: 'The value of the tag. Only string type is supported. ' type: object description: 'Key-value pair representing system tags'' keys and values scoped to a namespace. Example: `{"bar-key": "value"}` ' type: object description: 'Usage of system tag keys. These predefined keys are scoped to namespaces. Example: `{"orcl-cloud": {"free-tier-retained": "true"}}` ' type: object webAppFirewallPolicyId: description: The [OCID](/Content/General/Concepts/identifiers.htm) of WebAppFirewallPolicy, which is attached to the resource. maxLength: 255 minLength: 1 type: string required: - backendType - compartmentId - webAppFirewallPolicyId type: object RequestRateLimitingRule: allOf: - $ref: '#/components/schemas/WebAppFirewallPolicyRule' - discriminator: propertyName: REQUEST_RATE_LIMITING properties: configurations: description: 'Rate Limiting Configurations. Each configuration counts requests towards its own `requestsLimit`. ' items: $ref: '#/components/schemas/RequestRateLimitingConfiguration' maxItems: 10 minItems: 1 type: array required: - configurations description: "Rule that represents RequestRateLimitingConfigurations.\nOnly actions of the following types are allowed to be referenced in this rule:\n * CHECK\n * RETURN_HTTP_RESPONSE\n" type: object ProtectionCapabilityGroupTagSummary: description: Object representing protection cabapility group tag and its metadata. properties: name: description: Unique name of protection capability group tag. maxLength: 255 minLength: 1 type: string required: - name type: object WorkRequestResource: description: A resource created or operated on by a WorkRequest. properties: actionType: description: 'The way in which this resource is affected by the work tracked in the WorkRequest. A resource being created, updated, or deleted will remain in the IN_PROGRESS state until work is complete for that resource at which point it will transition to CREATED, UPDATED, or DELETED, respectively. ' enum: - CREATED - UPDATED - DELETED - IN_PROGRESS - RELATED type: string entityType: description: The resource type the WorkRequest affects. type: string entityUri: description: The URI path that the user can do a GET on to access the resource metadata. type: string identifier: description: The [OCID](/Content/General/Concepts/identifiers.htm) of the resource the WorkRequest affects. type: string required: - actionType - entityType - identifier UpdateNetworkAddressListDetails: description: The information to be updated. discriminator: propertyName: type properties: definedTags: additionalProperties: additionalProperties: description: 'The value of the tag. Only string type is supported. ' type: object description: 'Key-value pair representing predefined tags'' keys and values scoped to a namespace. Example: `{"bar-key": "value"}` ' type: object description: 'Defined tags for this resource. Each key is predefined and scoped to a namespace. Example: `{"foo-namespace": {"bar-key": "value"}}` ' type: object displayName: description: NetworkAddressList display name, can be renamed. maxLength: 255 minLength: 1 type: string x-default-description: 'null' freeformTags: additionalProperties: type: string description: 'Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{"bar-key": "value"}` ' type: object systemTags: additionalProperties: additionalProperties: description: 'The value of the tag. Only string type is supported. ' type: object description: 'Key-value pair representing system tags'' keys and values scoped to a namespace. Example: `{"bar-key": "value"}` ' type: object description: 'Usage of system tag keys. These predefined keys are scoped to namespaces. Example: `{"orcl-cloud": {"free-tier-retained": "true"}}` ' type: object type: description: Type of NetworkAddressList. enum: - ADDRESSES - VCN_ADDRESSES type: string required: - type type: object WebAppFirewall: description: A resource connecting a WebAppFirewallPolicy to a backend of particular type, applying that policy's coverage to the backend. discriminator: propertyName: backendType properties: backendType: description: Type of the WebAppFirewall, as example LOAD_BALANCER. enum: - LOAD_BALANCER type: string x-obmcs-top-level-enum: '#/definitions/BackendType' compartmentId: description: The [OCID](/Content/General/Concepts/identifiers.htm) of the compartment. type: string definedTags: additionalProperties: additionalProperties: description: 'The value of the tag. Only string type is supported. ' type: object description: 'Key-value pair representing predefined tags'' keys and values scoped to a namespace. Example: `{"bar-key": "value"}` ' type: object description: 'Defined tags for this resource. Each key is predefined and scoped to a namespace. Example: `{"foo-namespace": {"bar-key": "value"}}` ' type: object displayName: description: WebAppFirewall display name, can be renamed. type: string freeformTags: additionalProperties: type: string description: 'Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{"bar-key": "value"}` ' type: object id: description: The [OCID](/Content/General/Concepts/identifiers.htm) of the WebAppFirewall. type: string lifecycleDetails: description: 'A message describing the current state in more detail. For example, can be used to provide actionable information for a resource in FAILED state. ' type: string lifecycleState: description: The current state of the WebAppFirewall. enum: - CREATING - UPDATING - ACTIVE - DELETING - DELETED - FAILED type: string systemTags: additionalProperties: additionalProperties: description: 'The value of the tag. Only string type is supported. ' type: object description: 'Key-value pair representing system tags'' keys and values scoped to a namespace. Example: `{"bar-key": "value"}` ' type: object description: 'Usage of system tag keys. These predefined keys are scoped to namespaces. Example: `{"orcl-cloud": {"free-tier-retained": "true"}}` ' type: object timeCreated: description: The time the WebAppFirewall was created. An RFC3339 formatted datetime string. format: date-time type: string timeUpdated: description: The time the WebAppFirewall was updated. An RFC3339 formatted datetime string. format: date-time type: string webAppFirewallPolicyId: description: The [OCID](/Content/General/Concepts/identifiers.htm) of WebAppFirewallPolicy, which is attached to the resource. type: string required: - id - compartmentId - displayName - timeCreated - lifecycleState - freeformTags - definedTags - systemTags - backendType - webAppFirewallPolicyId type: object ProtectionCapabilityGroupTagCollection: description: Result of a protection capabilities group tags search. properties: items: description: List of protection capabilities group tags. items: $ref: '#/components/schemas/ProtectionCapabilityGroupTagSummary' type: array required: - items type: object WebAppFirewallPolicySummary: description: Summary of the WebAppFirewallPolicy. properties: compartmentId: description: The [OCID](/Content/General/Concepts/identifiers.htm) of the compartment. type: string definedTags: additionalProperties: additionalProperties: description: 'The value of the tag. Only string type is supported. ' type: object description: 'Key-value pair representing predefined tags'' keys and values scoped to a namespace. Example: `{"bar-key": "value"}` ' type: object description: 'Defined tags for this resource. Each key is predefined and scoped to a namespace. Example: `{"foo-namespace": {"bar-key": "value"}}` ' type: object displayName: description: WebAppFirewallPolicy display name, can be renamed. type: string freeformTags: additionalProperties: type: string description: 'Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{"bar-key": "value"}` ' type: object id: description: The [OCID](/Content/General/Concepts/identifiers.htm) of the WebAppFirewallPolicy. type: string lifecycleDetails: description: 'A message describing the current state in more detail. For example, can be used to provide actionable information for a resource in FAILED state. ' type: string lifecycleState: description: The current state of the WebAppFirewallPolicy. type: string x-obmcs-enumref: '#/definitions/WebAppFirewallPolicy/lifecycleState' systemTags: additionalProperties: additionalProperties: description: 'The value of the tag. Only string type is supported. ' type: object description: 'Key-value pair representing system tags'' keys and values scoped to a namespace. Example: `{"bar-key": "value"}` ' type: object description: 'Usage of system tag keys. These predefined keys are scoped to namespaces. Example: `{"orcl-cloud": {"free-tier-retained": "true"}}` ' type: object timeCreated: description: The time the WebAppFirewallPolicy was created. An RFC3339 formatted datetime string. format: date-time type: string timeUpdated: description: The time the WebAppFirewallPolicy was updated. An RFC3339 formatted datetime string. format: date-time type: string required: - id - compartmentId - displayName - timeCreated - lifecycleState - freeformTags - definedTags - systemTags type: object RequestProtection: description: Module that allows to enable OCI-managed protection capabilities for incoming HTTP requests. properties: rules: default: [] description: 'Ordered list of ProtectionRules. Rules are executed in order of appearance in this array. ProtectionRules in this array can only use protection Capabilities of REQUEST_PROTECTION_CAPABILITY type. ' items: $ref: '#/components/schemas/ProtectionRule' maxItems: 25 type: array type: object WorkRequestErrorCollection: description: Result of a WorkRequestError search. Contains both WorkRequestError items and other information, such as metadata. properties: items: description: List of WorkRequestError objects. items: $ref: '#/components/schemas/WorkRequestError' type: array required: - items type: object NetworkAddressList: description: IP addresses that can be used between different WebAppFirewallPolicies. discriminator: propertyName: type properties: compartmentId: description: The [OCID](/Content/General/Concepts/identifiers.htm) of the compartment. type: string definedTags: additionalProperties: additionalProperties: description: 'The value of the tag. Only string type is supported. ' type: object description: 'Key-value pair representing predefined tags'' keys and values scoped to a namespace. Example: `{"bar-key": "value"}` ' type: object description: 'Defined tags for this resource. Each key is predefined and scoped to a namespace. Example: `{"foo-namespace": {"bar-key": "value"}}` ' type: object displayName: description: NetworkAddressList display name, can be renamed. type: string freeformTags: additionalProperties: type: string description: 'Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{"bar-key": "value"}` ' type: object id: description: The [OCID](/Content/General/Concepts/identifiers.htm) of the NetworkAddressList. type: string lifecycleDetails: description: 'A message describing the current state in more detail. For example, can be used to provide actionable information for a resource in FAILED state. ' type: string lifecycleState: description: The current state of the NetworkAddressList. enum: - CREATING - UPDATING - ACTIVE - DELETING - DELETED - FAILED type: string systemTags: additionalProperties: additionalProperties: description: 'The value of the tag. Only string type is supported. ' type: object description: 'Key-value pair representing system tags'' keys and values scoped to a namespace. Example: `{"bar-key": "value"}` ' type: object description: 'Usage of system tag keys. These predefined keys are scoped to namespaces. Example: `{"orcl-cloud": {"free-tier-retained": "true"}}` ' type: object timeCreated: description: The time the NetworkAddressList was created. An RFC3339 formatted datetime string. format: date-time type: string timeUpdated: description: The time the NetworkAddressList was updated. An RFC3339 formatted datetime string. format: date-time type: string type: description: Type of NetworkAddressList. enum: - ADDRESSES - VCN_ADDRESSES type: string required: - id - compartmentId - displayName - timeCreated - lifecycleState - freeformTags - definedTags - systemTags - type type: object WebAppFirewallCollection: description: Result of a WebAppFirewall list operation. properties: items: description: List of WebAppFirewalls. items: $ref: '#/components/schemas/WebAppFirewallSummary' type: array required: - items type: object ResponseAccessControl: description: Module that allows inspection of HTTP response properties and to return a defined HTTP response. properties: rules: default: [] description: Ordered list of AccessControlRules. Rules are executed in order of appearance in this array. items: $ref: '#/components/schemas/AccessControlRule' maxItems: 100 type: array type: object AccessControlRule: allOf: - $ref: '#/components/schemas/WebAppFirewallPolicyRule' - discriminator: ACCESS_CONTROL required: - condition description: "Rule that represents Request/Response Access Control.\nOnly actions of the following types are allowed to be referenced in this rule:\n * CHECK\n * ALLOW\n * RETURN_HTTP_RESPONSE\n" type: object WorkRequestError: description: An error encountered while executing a WorkRequest. properties: code: description: 'A machine-usable code for the error that occured. Error codes are listed on https://docs.cloud.oracle.com/Content/API/References/apierrors.htm. ' type: string message: description: A human readable description of the issue encountered. type: string timestamp: description: The time the error occured. An RFC3339 formatted datetime string. format: date-time type: string required: - code - message - timestamp Action: description: 'An object that represents action and its options. The action can be terminating, if it stops further execution of rules and modules. And non-terminating, if it does not interrupt execution flow. ' discriminator: propertyName: type properties: name: description: Action name. Can be used to reference the action. maxLength: 255 minLength: 1 pattern: ^[a-zA-Z0-9 _-]+$ type: string type: description: "* **CHECK** is a non-terminating action that does not stop the execution of rules in current module,\n just emits a log message documenting result of rule execution.\n\n* **ALLOW** is a non-terminating action which upon matching rule skips all remaining rules in the current module.\n\n* **RETURN_HTTP_RESPONSE** is a terminating action which is executed immediately, returns a defined HTTP response.\n" enum: - CHECK - ALLOW - RETURN_HTTP_RESPONSE type: string required: - type - name type: object WebAppFirewallSummary: description: Summary of the WebAppFirewall. discriminator: propertyName: backendType properties: backendType: description: Type of the WebAppFirewall, as example LOAD_BALANCER. enum: - LOAD_BALANCER type: string x-obmcs-top-level-enum: '#/definitions/BackendType' compartmentId: description: The [OCID](/Content/General/Concepts/identifiers.htm) of the compartment. type: string definedTags: additionalProperties: additionalProperties: description: 'The value of the tag. Only string type is supported. ' type: object description: 'Key-value pair representing predefined tags'' keys and values scoped to a namespace. Example: `{"bar-key": "value"}` ' type: object description: 'Defined tags for this resource. Each key is predefined and scoped to a namespace. Example: `{"foo-namespace": {"bar-key": "value"}}` ' type: object displayName: description: WebAppFirewall display name, can be renamed. type: string freeformTags: additionalProperties: type: string description: 'Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{"bar-key": "value"}` ' type: object id: description: The [OCID](/Content/General/Concepts/identifiers.htm) of the WebAppFirewall. type: string lifecycleDetails: description: 'A message describing the current state in more detail. For example, can be used to provide actionable information for a resource in FAILED state. ' type: string lifecycleState: description: The current state of the WebAppFirewall. type: string x-obmcs-enumref: '#/definitions/WebAppFirewall/lifecycleState' systemTags: additionalProperties: additionalProperties: description: 'The value of the tag. Only string type is supported. ' type: object description: 'Key-value pair representing system tags'' keys and values scoped to a namespace. Example: `{"bar-key": "value"}` ' type: object description: 'Usage of system tag keys. These predefined keys are scoped to namespaces. Example: `{"orcl-cloud": {"free-tier-retained": "true"}}` ' type: object timeCreated: description: The time the WebAppFirewall was created. An RFC3339 formatted datetime string. format: date-time type: string timeUpdated: description: The time the WebAppFirewall was updated. An RFC3339 formatted datetime string. format: date-time type: string webAppFirewallPolicyId: description: The [OCID](/Content/General/Concepts/identifiers.htm) of WebAppFirewallPolicy, which is attached to the resource. type: string required: - id - compartmentId - displayName - timeCreated - lifecycleState - freeformTags - definedTags - systemTags - backendType - webAppFirewallPolicyId type: object WorkRequestLogEntry: description: A log message from the execution of a WorkRequest. properties: message: description: Human-readable log message. type: string timestamp: description: The time the log message was written. An RFC3339 formatted datetime string. format: date-time type: string required: - message - timestamp ProtectionCapabilitySummary: description: 'A summary of available OCI-managed protection capabilities in WebAppFirewallPolicy. Protection capabilies checks HTTP requests/responses if they are malicious. ' properties: collaborativeActionThreshold: description: 'The default collaborative action threshold for OCI-managed collaborative protection capability. Collaborative protection capabilities are made of several simple, non-collaborative protection capabilities (referred to as `contributing capabilities` later on) which have weights assigned to them. These weights can be found in the `collaborativeWeights` array. For incoming/outgoing HTTP messages, all contributing capabilities are executed and the sum of all triggered contributing capabilities weights is calculated. Only if this sum is greater than or equal to `collaborativeActionThreshold` is the incoming/outgoing HTTP message marked as malicious. This field is ignored for non-collaborative capabilities. ' format: int32 minimum: 1 type: integer x-default-description: 'null' collaborativeWeights: default: [] description: 'The weights of contributing capabilities. Defines how much each contributing capability contributes towards the action threshold of a collaborative protection capability. This field is ignored for non-collaborative capabilities. ' items: $ref: '#/components/schemas/CollaborativeCapabilityWeight' type: array description: description: The description of protection capability. maxLength: 1000 minLength: 1 type: string displayName: description: The display name of protection capability. maxLength: 255 minLength: 1 type: string groupTags: description: 'The list of unique names protection capability group tags that are associated with this capability. Example: ["PCI", "Recommended"] ' items: type: string type: array isLatestVersion: description: The field that shows if this is the latest version of protection capability. type: boolean key: description: Unique key of protection capability. maxLength: 255 minLength: 1 type: string type: description: 'The type of protection capability. * **REQUEST_PROTECTION_CAPABILITY** can only be used in `requestProtection` module of WebAppFirewallPolicy. * **RESPONSE_PROTECTION_CAPABILITY** can only be used in `responseProtection` module of WebAppFirewallPolicy. ' enum: - REQUEST_PROTECTION_CAPABILITY - RESPONSE_PROTECTION_CAPABILITY type: string version: description: The version of protection capability. maximum: 1000 minimum: 1 type: integer required: - key - displayName - description - version - isLatestVersion - type type: object x-example: "{\n \"key\": \"942270\",\n \"displayName\": \"SQL Injection (SQLi) Common SQLi attacks for various dbs\",\n \"description\": \"SQL Injection (SQLi) Attempt: Common attacks against msql, oracle, and other dbs detection\",\n \"version\": 1,\n \"isLatestVersion\": true,\n \"groupTags\": [ \"vendor-oracle\", \"db-oracle\" ],\n \"type\": \"REQUEST_PROTECTION_CAPABILITY\",\n \"collaborativeActionThreshold\": 1,\n \"collaborativeWeights\": [\n {\n \"key\": \"9411000\",\n \"displayName\": \"Cross-Site Scripting (XSS) Attempt - XSS Filters - Using LibInjection\",\n \"weight\": 2\n },\n {\n \"key\": \"9411101\",\n \"displayName\": \"Cross-Site Scripting (XSS) Attempt - XSS Filters - [<<]script[>>]\",\n \"weight\": 3\n }\n ]\n}\n" CollaborativeCapabilityWeight: description: 'Defines how much a contributing capability contributes towards the action threshold of a collaborative protection capability. ' properties: displayName: description: The display name of contributing protection capability. maxLength: 255 minLength: 1 type: string key: description: Unique key of contributing protection capability. maxLength: 255 minLength: 1 type: string weight: description: The weight of contributing protection capability. format: int32 minimum: 0 type: integer required: - key - displayName - weight type: object ChangeWebAppFirewallCompartmentDetails: description: Updates compartmentId of resource. properties: compartmentId: description: 'The [OCID](/Content/General/Concepts/identifiers.htm) of the compartment into which the resource should be moved. ' maxLength: 255 minLength: 1 type: string required: - compartmentId type: object WorkRequestLogEntryCollection: description: Result of a WorkRequestLog search. Contains both WorkRequestLog items and other information, such as metadata. properties: items: description: List of WorkRequestLogEntries. items: $ref: '#/components/schemas/WorkRequestLogEntry' type: array required: - items type: object WorkRequest: description: A description of WorkRequest status properties: compartmentId: description: 'The [OCID](/Content/General/Concepts/identifiers.htm) of the compartment that contains the WorkRequest. WorkRequests should be scoped to the same compartment as the resource the work request affects. ' type: string id: description: The [OCID](/Content/General/Concepts/identifiers.htm) of the WorkRequest. type: string operationType: description: Type of the WorkRequest enum: - CREATE_WAF_POLICY - UPDATE_WAF_POLICY - DELETE_WAF_POLICY - MOVE_WAF_POLICY - CREATE_NETWORK_ADDRESS_LIST - UPDATE_NETWORK_ADDRESS_LIST - DELETE_NETWORK_ADDRESS_LIST - MOVE_NETWORK_ADDRESS_LIST - CREATE_WEB_APP_FIREWALL - UPDATE_WEB_APP_FIREWALL - DELETE_WEB_APP_FIREWALL - MOVE_WEB_APP_FIREWALL type: string percentComplete: description: Percentage of the request completed. format: float type: number resources: description: The resources affected by this WorkRequest. items: $ref: '#/components/schemas/WorkRequestResource' type: array status: description: Status of current work request. enum: - ACCEPTED - IN_PROGRESS - FAILED - SUCCEEDED - CANCELING - CANCELED type: string timeAccepted: description: 'The date and time the request was created, as described in [RFC 3339](https://tools.ietf.org/rfc/rfc3339), section 14.29. ' format: date-time type: string timeFinished: description: 'The date and time the object was finished, as described in [RFC 3339](https://tools.ietf.org/rfc/rfc3339). ' format: date-time type: string timeStarted: description: 'The date and time the request was started, as described in [RFC 3339](https://tools.ietf.org/rfc/rfc3339), section 14.29. ' format: date-time type: string required: - operationType - status - id - compartmentId - resources - percentComplete - timeAccepted ProtectionCapabilityCollection: description: Result of a protection capabilities search. properties: items: description: List of protection capabilities. items: $ref: '#/components/schemas/ProtectionCapabilitySummary' type: array required: - items type: object parameters: WebAppFirewallLifecycleStateQueryParam: description: A filter to return only resources that match the given lifecycleState. in: query name: lifecycleState required: false x-default-description: 'null' style: form explode: true schema: type: array items: type: string x-obmcs-enumref: '#/definitions/WebAppFirewall/lifecycleState' SortByQueryParam: description: 'The field to sort by. Only one sort order may be provided. Default order for timeCreated is descending. Default order for displayName is ascending. If no value is specified timeCreated is default. ' in: query name: sortBy schema: type: string enum: - timeCreated - displayName default: timeCreated PaginationTokenQueryParam: description: 'A token representing the position at which to start retrieving results. This must come from the `opc-next-page` header field of a previous response. ' in: query name: page schema: type: string minLength: 1 NameQueryParam: description: A filter to return only resources that match the entire name given. in: query name: name x-default-description: 'null' schema: type: string maxLength: 255 minLength: 1 ProtectionCapabilityTypeQueryParam: description: A filter to return only resources that matches given type. in: query name: type required: false x-default-description: 'null' x-obmcs-enumref: '#/definitions/ProtectionCapabilitySummary/type' schema: type: string ProtectionCapabilityIsLatestVersionQueryParam: description: A filter to return only resources that matches given isLatestVersion. in: query name: isLatestVersion required: false style: form explode: true schema: type: array items: type: boolean default: - true ProtectionCapabilitySortByQueryParam: description: 'The field to sort by. Only one sort order may be provided. Default order for key is descending. Default order for type is descending. Default order for displayName is ascending. If no value is specified key is default. ' in: query name: sortBy schema: type: string enum: - key - type - displayName default: key WebAppFirewallPolicyIdentifierQueryParam: description: A filter to return only the WebAppFirewallPolicy with the given [OCID](/Content/General/Concepts/identifiers.htm). in: query name: id x-default-description: 'null' schema: type: string NetworkAddressListIdentifierPathParam: description: The [OCID](/Content/General/Concepts/identifiers.htm) of the NetworkAddressList. in: path name: networkAddressListId required: true schema: type: string maxLength: 255 minLength: 1 IfMatchHeader: description: 'For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match` parameter to the value of the etag from a previous GET or POST response for that resource. The resource will be updated or deleted only if the etag you provide matches the resource''s current etag value. ' in: header name: if-match required: false schema: type: string WebAppFirewallWebAppFirewallPolicyIdentifierQueryParam: description: 'A filter to return only the WebAppFirewall with the given [OCID](/Content/General/Concepts/identifiers.htm) of related WebAppFirewallPolicy. ' in: query name: webAppFirewallPolicyId x-default-description: 'null' schema: type: string CompartmentIdQueryParam: description: The [OCID](/Content/General/Concepts/identifiers.htm) of the compartment in which to list resources. in: query name: compartmentId required: true schema: type: string PaginationLimitQueryParam: description: The maximum number of items to return. in: query name: limit schema: type: integer default: 100 maximum: 1000 minimum: 1 ProtectionCapabilityGroupTagQueryParam: description: A filter to return only resources that are accociated given group tag. in: query name: groupTag required: false style: form explode: true schema: type: array items: maxLength: 255 minLength: 1 type: string default: [] WorkRequestIdPathParam: description: The [OCID](/Content/General/Concepts/identifiers.htm) of the asynchronous request. in: path name: workRequestId required: true schema: type: string WorkRequestIdQueryParam: description: The [OCID](/Content/General/Concepts/identifiers.htm) of the asynchronous work request. in: query name: workRequestId x-default-description: 'null' schema: type: string SortOrderQueryParam: description: The sort order to use, either 'ASC' or 'DESC'. in: query name: sortOrder x-default-description: 'The default value depends upon `sortBy`, and in general is ''DESC'' when sorting by time and ''ASC'' otherwise. ' x-obmcs-top-level-enum: '#/definitions/SortOrder' schema: type: string enum: - ASC - DESC NetworkAddressListDisplayNameQueryParam: description: A filter to return only resources that match the entire display name given. in: query name: displayName x-default-description: 'null' schema: type: string maxLength: 255 minLength: 1 WebAppFirewallIdentifierPathParam: description: The [OCID](/Content/General/Concepts/identifiers.htm) of the WebAppFirewall. in: path name: webAppFirewallId required: true schema: type: string WebAppFirewallIdentifierQueryParam: description: A filter to return only the WebAppFirewall with the given [OCID](/Content/General/Concepts/identifiers.htm). in: query name: id x-default-description: 'null' schema: type: string ProtectionCapabilityKeyQueryParam: description: The unique key of protection capability to filter by. in: query name: key required: false x-default-description: 'null' schema: type: string maxLength: 255 minLength: 1 RetryTokenHeader: description: 'A token that uniquely identifies a request so it can be retried in case of a timeout or server error without risk of executing that same action again. Retry tokens expire after 24 hours, but can be invalidated before then due to conflicting operations. For example, if a resource has been deleted and purged from the system, then a retry of the original creation request might be rejected. ' in: header name: opc-retry-token required: false schema: type: string maxLength: 64 minLength: 1 NetworkAddressListLifecycleStateQueryParam: description: A filter to return only resources that match the given lifecycleState. in: query name: lifecycleState required: false x-default-description: 'null' style: form explode: true schema: type: array items: type: string x-obmcs-enumref: '#/definitions/NetworkAddressList/lifecycleState' ProtectionCapabilityGroupTagsSortByQueryParam: description: 'The field to sort by. Only one sort order may be provided. Default order for name is ascending. If no value is specified name is default. ' in: query name: sortBy schema: type: string enum: - name default: name NetworkAddressListIdentifierQueryParam: description: A filter to return only the NetworkAddressList with the given [OCID](/Content/General/Concepts/identifiers.htm). in: query name: id x-default-description: 'null' schema: type: string maxLength: 255 minLength: 1 DisplayNameQueryParam: description: A filter to return only resources that match the entire display name given. in: query name: displayName x-default-description: 'null' schema: type: string maxLength: 255 minLength: 1 WebAppFirewallPolicyIdentifierPathParam: description: The [OCID](/Content/General/Concepts/identifiers.htm) of the WebAppFirewallPolicy. in: path name: webAppFirewallPolicyId required: true schema: type: string RequestIdHeader: description: The client request ID for tracing. in: header name: opc-request-id schema: type: string WebAppFirewallPolicyLifecycleStateQueryParam: description: A filter to return only resources that match the given lifecycleState. in: query name: lifecycleState required: false x-default-description: 'null' style: form explode: true schema: type: array items: type: string x-obmcs-enumref: '#/definitions/WebAppFirewallPolicy/lifecycleState' responses: default: description: Unknown Error headers: opc-request-id: description: 'Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID. ' schema: type: string content: application/json: schema: $ref: '#/components/schemas/Error' x-anchors: x-headers: content-location: description: 'Content Location of the resource. ' format: uri-reference type: string etag: description: 'For optimistic concurrency control. See `if-match`. ' type: string location: description: 'Location of the resource. ' format: uri-reference type: string opc-next-page: description: 'For pagination of a list of items. When paging through a list, if this header appears in the response, then a partial list might have been returned. Include this value as the `page` parameter for the subsequent GET request to get the next batch of items. ' type: string opc-request-id: description: 'Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID. ' type: string opc-work-request-id: description: 'Unique Oracle-assigned identifier for the asynchronous request. You can use this to query status of the asynchronous operation. ' type: string retry-after: description: A decimal number representing the number of seconds the client should wait before polling this endpoint again. type: integer x-properties: definedTags: additionalProperties: additionalProperties: description: 'The value of the tag. Only string type is supported. ' type: object description: 'Key-value pair representing predefined tags'' keys and values scoped to a namespace. Example: `{"bar-key": "value"}` ' type: object description: 'Defined tags for this resource. Each key is predefined and scoped to a namespace. Example: `{"foo-namespace": {"bar-key": "value"}}` ' type: object freeformTags: additionalProperties: type: string description: 'Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{"bar-key": "value"}` ' type: object systemTags: additionalProperties: additionalProperties: description: 'The value of the tag. Only string type is supported. ' type: object description: 'Key-value pair representing system tags'' keys and values scoped to a namespace. Example: `{"bar-key": "value"}` ' type: object description: 'Usage of system tag keys. These predefined keys are scoped to namespaces. Example: `{"orcl-cloud": {"free-tier-retained": "true"}}` ' type: object x-obmcs-client-retries-enabled: true x-oracle-package: com.oracle.oci.waf.controlplane