openapi: 3.2.0
info:
description: OCI Web Application Acceleration and Security Services
title: Web Application Acceleration and Security Services Waas API
version: '20181116'
x-provenance:
method: harvested
first_party: true
publisher: Oracle
source: https://docs.oracle.com/en-us/iaas/api/specs/7540df5346a0179ee21443879a914e6da69c4546fb6c218100afb7e07b43c548.yaml
harvested: '2026-08-04'
note: Published by Oracle as the contract for the Web Application Acceleration and Security Services 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/7540df5346a0179ee21443879a914e6da69c4546fb6c218100afb7e07b43c548.yaml
what: the harvested document for Web Application Acceleration and Security Services API
servers:
- url: /20181116
security:
- ApiKey: []
tags:
- name: waas
paths:
/addressLists:
get:
description: Gets a list of address lists that can be used in a WAAS policy.
operationId: ListAddressLists
parameters:
- $ref: '#/components/parameters/RequestIdHeaderParam'
- $ref: '#/components/parameters/LimitQueryParam'
- $ref: '#/components/parameters/PageQueryParam'
- $ref: '#/components/parameters/AddressListSortByQueryParam'
- $ref: '#/components/parameters/SortOrderQueryParam'
- $ref: '#/components/parameters/CompartmentIdQueryParam'
- $ref: '#/components/parameters/AddressListIdFilterParam'
- $ref: '#/components/parameters/AddressListNameFilterParam'
- $ref: '#/components/parameters/AddressListLifecycleStateFilterParam'
- $ref: '#/components/parameters/AddressListTimeCreatedGreaterThanOrEqualToFilterParam'
- $ref: '#/components/parameters/AddressListTimeCreatedLessThanFilterParam'
responses:
200:
description: The list of address lists.
headers:
opc-next-page:
description: For list pagination. When this header appears in the response, additional pages of results may remain. For important details about how pagination works, see [List Pagination](/iaas/Content/API/Concepts/usingapi.htm#nine).
schema:
type: string
opc-request-id:
description: A 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:
items:
$ref: '#/components/schemas/AddressListSummary'
type: array
400:
$ref: '#/components/responses/BadRequest'
401:
$ref: '#/components/responses/NotAuthenticated'
404:
$ref: '#/components/responses/NotAuthorizedOrNotFound'
429:
$ref: '#/components/responses/TooManyRequests'
default:
$ref: '#/components/responses/Error'
summary: Returns a list of address lists.
tags:
- waas
x-obmcs-client-retries-enabled: true
x-related-resource: '#/definitions/AddressList'
post:
description: Creates an address list in a set compartment and allows it to be used in a WAAS policy and referenced by access rules. Addresses can be IP addresses and CIDR notations.
operationId: CreateAddressList
parameters:
- $ref: '#/components/parameters/RequestIdHeaderParam'
- $ref: '#/components/parameters/RetryTokenHeaderParam'
responses:
200:
description: The details of the address list.
headers:
etag:
description: For optimistic concurrency control. See `if-match`.
schema:
type: string
opc-request-id:
description: A 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/AddressList'
400:
$ref: '#/components/responses/BadRequest'
401:
$ref: '#/components/responses/NotAuthenticated'
409:
$ref: '#/components/responses/NotAuthorizedOrResourceAlreadyExists'
429:
$ref: '#/components/responses/TooManyRequests'
default:
$ref: '#/components/responses/Error'
summary: Creates an address list.
tags:
- waas
x-example: "POST /20181116/addressLists HTTP/1.1\nHost: waas.us-phoenix-1.oci.oraclecloud.com\n<authorization and other headers>\n{\n \"compartmentId\" :\"ocid1.compartment.oc1..\",\n \"displayName\": \"addresslist\",\n \"addresses\": [\"192.0.2.0\"]\n}\n"
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateAddressListDetails'
description: The details of the address list resource to create.
required: true
/addressLists/{addressListId}:
delete:
description: Deletes the address list from the compartment if it is not used.
operationId: DeleteAddressList
parameters:
- $ref: '#/components/parameters/RequestIdHeaderParam'
- $ref: '#/components/parameters/AddressListIdParam'
- $ref: '#/components/parameters/RetryTokenHeaderParam'
- $ref: '#/components/parameters/IfMatchHeader'
responses:
204:
description: The address list has been marked for deletion.
headers:
opc-request-id:
description: A 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
400:
$ref: '#/components/responses/BadRequest'
401:
$ref: '#/components/responses/NotAuthenticated'
404:
$ref: '#/components/responses/NotAuthorizedOrNotFound'
409:
$ref: '#/components/responses/IncorrectState'
412:
$ref: '#/components/responses/NoEtagMatch'
429:
$ref: '#/components/responses/TooManyRequests'
default:
$ref: '#/components/responses/Error'
summary: Deletes an address list.
tags:
- waas
x-example: 'DELETE /20181116/addressLists/ocid1.waasaddresslist.oc1.. HTTP/1.1
Host: waas.us-phoenix-1.oci.oraclecloud.com
<authorization and other headers>
'
x-related-resource: '#/definitions/AddressList'
get:
description: Gets the details of an address list.
operationId: GetAddressList
parameters:
- $ref: '#/components/parameters/RequestIdHeaderParam'
- $ref: '#/components/parameters/AddressListIdParam'
responses:
200:
description: The details of the address list.
headers:
etag:
description: For optimistic concurrency control. See `if-match`.
schema:
type: string
opc-request-id:
description: A 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/AddressList'
400:
$ref: '#/components/responses/BadRequest'
401:
$ref: '#/components/responses/NotAuthenticated'
404:
$ref: '#/components/responses/NotAuthorizedOrNotFound'
429:
$ref: '#/components/responses/TooManyRequests'
default:
$ref: '#/components/responses/Error'
summary: Returns the details of an address list.
tags:
- waas
x-example: 'GET /20181116/addressLists/ocid1.waasaddresslist.oc1.. HTTP/1.1
Host: waas.us-phoenix-1.oci.oraclecloud.com
<authorization and other headers>
'
x-obmcs-client-retries-enabled: true
put:
description: Updates the details of an address list. Only the fields specified in the request body will be updated; all other properties will remain unchanged.
operationId: UpdateAddressList
parameters:
- $ref: '#/components/parameters/RequestIdHeaderParam'
- $ref: '#/components/parameters/AddressListIdParam'
- $ref: '#/components/parameters/IfMatchHeader'
responses:
200:
description: The details of the address list.
headers:
etag:
description: For optimistic concurrency control. See `if-match`.
schema:
type: string
opc-request-id:
description: A 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/AddressList'
400:
$ref: '#/components/responses/BadRequest'
401:
$ref: '#/components/responses/NotAuthenticated'
404:
$ref: '#/components/responses/NotAuthorizedOrNotFound'
409:
$ref: '#/components/responses/NotAuthorizedOrResourceAlreadyExists'
412:
$ref: '#/components/responses/NoEtagMatch'
429:
$ref: '#/components/responses/TooManyRequests'
default:
$ref: '#/components/responses/Error'
summary: Updates the name and IP values of an address list.
tags:
- waas
x-example: "PUT /20181116/addressLists/ocid1.waasaddresslist.oc1.. HTTP/1.1\nHost: waas.us-phoenix-1.oci.oraclecloud.com\n<authorization and other headers>\n{\n \"displayName\": \"Updated details\"\n}\n"
x-related-resource: '#/definitions/AddressList'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateAddressListDetails'
description: The details of the address list to update.
/addressLists/{addressListId}/actions/changeCompartment:
post:
description: 'Moves address list into a different compartment. When provided, If-Match
is checked against ETag values of the address list. For information about moving
resources between compartments, see [Moving Resources to a Different Compartment](/iaas/Content/Identity/Tasks/managingcompartments.htm#moveRes).
'
operationId: ChangeAddressListCompartment
parameters:
- $ref: '#/components/parameters/IfMatchHeader'
- $ref: '#/components/parameters/RequestIdHeaderParam'
- $ref: '#/components/parameters/RetryTokenHeaderParam'
- $ref: '#/components/parameters/AddressListIdParam'
responses:
204:
$ref: '#/components/responses/NoContent'
401:
$ref: '#/components/responses/NotAuthenticated'
404:
$ref: '#/components/responses/NotAuthorizedOrNotFound'
409:
$ref: '#/components/responses/IncorrectState'
summary: Moves address list into a different compartment.
tags:
- waas
x-example: "PUT /20181116/addressLists/ocid1.waasaddresslist.oc1.. HTTP/1.1\nHost: waas.us-phoenix-1.oci.oraclecloud.com\n<authorization and other headers>\n{\n \"compartmentId\": \"ocid1.compartment.oc1..\"\n}\n"
x-related-resource: '#/definitions/AddressList'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ChangeAddressListCompartmentDetails'
required: true
/certificates:
get:
description: Gets a list of SSL certificates that can be used in a WAAS policy.
operationId: ListCertificates
parameters:
- $ref: '#/components/parameters/RequestIdHeaderParam'
- $ref: '#/components/parameters/LimitQueryParam'
- $ref: '#/components/parameters/PageQueryParam'
- $ref: '#/components/parameters/CertificateSortByQueryParam'
- $ref: '#/components/parameters/SortOrderQueryParam'
- $ref: '#/components/parameters/CompartmentIdQueryParam'
- $ref: '#/components/parameters/CertificateIdFilterParam'
- $ref: '#/components/parameters/CertificateDisplayNameFilterParam'
- $ref: '#/components/parameters/CertificateLifecycleStateFilterParam'
- $ref: '#/components/parameters/CertificateTimeCreatedGreaterThanOrEqualToFilterParam'
- $ref: '#/components/parameters/CertificateTimeCreatedLessThanFilterParam'
responses:
200:
description: The list of SSL certificates.
headers:
opc-next-page:
description: For list pagination. When this header appears in the response, additional pages of results may remain. For important details about how pagination works, see [List Pagination](/iaas/Content/API/Concepts/usingapi.htm#nine).
schema:
type: string
opc-request-id:
description: A 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:
items:
$ref: '#/components/schemas/CertificateSummary'
type: array
400:
$ref: '#/components/responses/BadRequest'
401:
$ref: '#/components/responses/NotAuthenticated'
404:
$ref: '#/components/responses/NotAuthorizedOrNotFound'
429:
$ref: '#/components/responses/TooManyRequests'
default:
$ref: '#/components/responses/Error'
summary: Returns a list of certificates.
tags:
- waas
x-example: 'GET /20181116/certificates?compartmentId=ocid1.compartment.oc1.. HTTP/1.1
Host: waas.us-phoenix-1.oci.oraclecloud.com
<authorization and other headers>
'
x-obmcs-client-retries-enabled: true
post:
description: 'Allows an SSL certificate to be added to a WAAS policy. The Web Application Firewall terminates SSL connections to inspect requests in runtime, and then re-encrypts requests before sending them to the origin for fulfillment.
For more information, see [WAF Settings](/iaas/Content/WAF/Tasks/wafsettings.htm).'
operationId: CreateCertificate
parameters:
- $ref: '#/components/parameters/RequestIdHeaderParam'
- $ref: '#/components/parameters/RetryTokenHeaderParam'
responses:
200:
description: The details of the SSL certificate.
headers:
etag:
description: For optimistic concurrency control. See `if-match`.
schema:
type: string
opc-request-id:
description: A 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/Certificate'
400:
$ref: '#/components/responses/BadRequest'
401:
$ref: '#/components/responses/NotAuthenticated'
409:
$ref: '#/components/responses/NotAuthorizedOrResourceAlreadyExists'
429:
$ref: '#/components/responses/TooManyRequests'
default:
$ref: '#/components/responses/Error'
summary: Creates a certificate resource for the uploaded X.509 certificate.
tags:
- waas
x-example: "POST /20181116/certificates HTTP/1.1\nHost: waas.us-phoenix-1.oci.oraclecloud.com\n<authorization and other headers>\n[\n {\n \"compartmentId\": \"ocid1.compartment.oc1..\",\n \"certificateData\": \"-----BEGIN CERTIFICATE-----\n<Base64_encoded_certificate>\n-----END CERTIFICATE-----\",\n \"privateKeyData\": \"-----BEGIN PRIVATE KEY-----\n<Base64_encoded_certificate>\n-----END PRIVATE KEY-----\"\n }\n]\n"
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateCertificateDetails'
description: The details of the SSL certificate resource to create.
required: true
/certificates/{certificateId}:
delete:
description: Deletes an SSL certificate from the WAAS service.
operationId: DeleteCertificate
parameters:
- $ref: '#/components/parameters/RequestIdHeaderParam'
- $ref: '#/components/parameters/CertificateIdParam'
- $ref: '#/components/parameters/RetryTokenHeaderParam'
- $ref: '#/components/parameters/IfMatchHeader'
responses:
204:
description: The certificate has been marked for deletion.
headers:
opc-request-id:
description: A 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
400:
$ref: '#/components/responses/BadRequest'
401:
$ref: '#/components/responses/NotAuthenticated'
404:
$ref: '#/components/responses/NotAuthorizedOrNotFound'
409:
$ref: '#/components/responses/IncorrectState'
412:
$ref: '#/components/responses/NoEtagMatch'
429:
$ref: '#/components/responses/TooManyRequests'
default:
$ref: '#/components/responses/Error'
summary: Deletes a certificate.
tags:
- waas
x-example: 'DELETE /20181116/certificates/ocid1.waascertificate.oc1.. HTTP/1.1
Host: waas.us-phoenix-1.oci.oraclecloud.com
<authorization and other headers>
'
x-related-resource: '#/definitions/Certificate'
get:
description: Gets the details of an SSL certificate.
operationId: GetCertificate
parameters:
- $ref: '#/components/parameters/RequestIdHeaderParam'
- $ref: '#/components/parameters/CertificateIdParam'
responses:
200:
description: The details of the certificate.
headers:
etag:
description: For optimistic concurrency control. See `if-match`.
schema:
type: string
opc-request-id:
description: A 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/Certificate'
400:
$ref: '#/components/responses/BadRequest'
401:
$ref: '#/components/responses/NotAuthenticated'
404:
$ref: '#/components/responses/NotAuthorizedOrNotFound'
429:
$ref: '#/components/responses/TooManyRequests'
default:
$ref: '#/components/responses/Error'
summary: Returns the details of a certificate.
tags:
- waas
x-example: 'GET /20181116/certificates/ocid1.waascertificate.oc1.. HTTP/1.1
Host: waas.us-phoenix-1.oci.oraclecloud.com
<authorization and other headers>
'
x-obmcs-client-retries-enabled: true
put:
description: It is not possible to update a certificate, only create and delete. Therefore, this operation can only update the display name, freeform tags, and defined tags of a certificate.
operationId: UpdateCertificate
parameters:
- $ref: '#/components/parameters/RequestIdHeaderParam'
- $ref: '#/components/parameters/CertificateIdParam'
- $ref: '#/components/parameters/IfMatchHeader'
responses:
200:
description: The details of the SSL certificate.
headers:
etag:
description: For optimistic concurrency control. See `if-match`.
schema:
type: string
opc-request-id:
description: A 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/Certificate'
400:
$ref: '#/components/responses/BadRequest'
401:
$ref: '#/components/responses/NotAuthenticated'
404:
$ref: '#/components/responses/NotAuthorizedOrNotFound'
409:
$ref: '#/components/responses/NotAuthorizedOrResourceAlreadyExists'
412:
$ref: '#/components/responses/NoEtagMatch'
429:
$ref: '#/components/responses/TooManyRequests'
default:
$ref: '#/components/responses/Error'
summary: Updates the display name, freeform tags, and defined tags of a certificate.
tags:
- waas
x-example: "PUT /20181116/certificates/ocid1.waascertificate.oc1.. HTTP/1.1\nHost: waas.us-phoenix-1.oci.oraclecloud.com\n<authorization and other headers>\n{\n \"compartmentId\": \"ocid1.compartment.oc1..\",\n \"displayName\": \"example.com Certificate\",\n \"extensions\": null,\n \"id\": \"ocid1.waascertificate.oc1..\",\n \"issuedBy\": \"John\",\n \"issuerName\": {\n \"commonName\": \"example.com\",\n \"country\": \"IE\",\n \"emailAddress\": \"user@example.com\",\n \"locality\": \"DUBLIN\",\n \"organization\": \"Organization Name\",\n \"stateProvince\": \"IRELAND\"\n },\n \"lifecycleState\": \"ACTIVE\",\n \"publicKeyInfo\": {\n \"algorithm\": \"RSA\",\n \"exponent\": 65537,\n \"keySize\": 1024\n },\n \"serialNumber\": \"11200026536082869084\",\n \"signatureAlgorithm\": \"\",\n \"subjectName\": {\n \"commonName\": \"www.example.com\",\n \"country\": \"IE\",\n \"emailAddress\": \"user@example.com\",\n \"locality\": \"DUBLIN\",\n \"organization\": \"Organization Name\",\n \"stateProvince\": \"IRELAND\"\n },\n \"timeCreated\": \"2019-08-21T12:36:00.415Z\",\n \"timeNotValidAfter\": \"2020-08-20T10:26:30.000Z\",\n \"timeNotValidBefore\": \"2019-08-21T10:26:30.000Z\",\n \"version\": 0\n}\n"
x-related-resource: '#/definitions/Certificate'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateCertificateDetails'
description: The new display name, freeform tags, and defined tags to apply to a certificate.
/certificates/{certificateId}/actions/changeCompartment:
post:
description: 'Moves certificate into a different compartment. When provided, If-Match is checked against ETag values of the certificate.
For information about moving resources between compartments, see [Moving Resources to a Different Compartment](/iaas/Content/Identity/Tasks/managingcompartments.htm#moveRes).
'
operationId: ChangeCertificateCompartment
parameters:
- $ref: '#/components/parameters/IfMatchHeader'
- $ref: '#/components/parameters/RequestIdHeaderParam'
- $ref: '#/components/parameters/RetryTokenHeaderParam'
- $ref: '#/components/parameters/CertificateIdParam'
responses:
204:
$ref: '#/components/responses/NoContent'
401:
$ref: '#/components/responses/NotAuthenticated'
404:
$ref: '#/components/responses/NotAuthorizedOrNotFound'
409:
$ref: '#/components/responses/IncorrectState'
summary: Moves certificate into a different compartment.
tags:
- waas
x-example: "POST /20181116/certificates/ocid1.waascertificate.oc1../actions/changeCompartment?compartmentId=ocid1.tenancy.oc1.. HTTP/1.1\nHost: waas.us-phoenix-1.oci.oraclecloud.com\n<authorization and other headers>\n{\n \"compartmentId\": \"ocid1.compartment.oc1..\"\n}\n"
x-related-resource: '#/definitions/Certificate'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ChangeCertificateCompartmentDetails'
required: true
/customProtectionRules:
get:
description: Gets a list of custom protection rules for the specified Web Application Firewall.
operationId: ListCustomProtectionRules
parameters:
- $ref: '#/components/parameters/RequestIdHeaderParam'
- $ref: '#/components/parameters/CompartmentIdQueryParam'
- $ref: '#/components/parameters/LimitQueryParam'
- $ref: '#/components/parameters/PageQueryParam'
- $ref: '#/components/parameters/CustomProtectionRuleSortByQueryParam'
- $ref: '#/components/parameters/SortOrderQueryParam'
- $ref: '#/components/parameters/CustomProtectionRuleIdFilterParam'
- $ref: '#/components/parameters/CustomProtectionRuleDisplayNameFilterParam'
- $ref: '#/components/parameters/CustomProtectionRuleLifecycleStateFilterParam'
- $ref: '#/components/parameters/CustomProtectionRuleTimeCreatedGreaterThanOrEqualToFilterParam'
- $ref: '#/components/parameters/CustomProtectionRuleTimeCreatedLessThanFilterParam'
responses:
200:
description: The list of Custom Protection rules.
headers:
opc-next-page:
description: For list pagination. When this header appears in the response, additional pages of results may remain. For important details about how pagination works, see [List Pagination](/iaas/Content/API/Concepts/usingapi.htm#nine).
schema:
type: string
opc-request-id:
description: A 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:
items:
$ref: '#/components/schemas/CustomProtectionRuleSummary'
type: array
400:
$ref: '#/components/responses/BadRequest'
401:
$ref: '#/components/responses/NotAuthenticated'
404:
$ref: '#/components/responses/NotAuthorizedOrNotFound'
429:
$ref: '#/components/responses/TooManyRequests'
default:
$ref: '#/components/responses/Error'
summary: Returns the list of Custom Protection rules for the given compartment.
tags:
- waas
x-obmcs-client-retries-enabled: true
x-related-resource: '#/definitions/CustomProtectionRule'
post:
description: 'Creates a new custom protection rule in the specified compartment.
Custom protection rules allow you to create rules in addition to the rulesets provided by the Web Application Firewall service, including rules from [ModSecurity](https://modsecurity.org/). The syntax for custom rules is based on the ModSecurity syntax. For more information about custom protection rules, see [Custom Protection Rules](/iaas/Content/WAF/Tasks/customprotectionrules.htm).'
operationId: CreateCustomProtectionRule
parameters:
- $ref: '#/components/parameters/RequestIdHeaderParam'
- $ref: '#/components/parameters/RetryTokenHeaderParam'
responses:
200:
description: The details of the custom protection rule.
headers:
etag:
description: For optimistic concurrency control. See `if-match`.
schema:
type: string
opc-request-id:
description: A 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/CustomProtectionRule'
400:
$ref: '#/components/responses/BadRequest'
401:
$ref: '#/components/responses/NotAuthenticated'
409:
$ref: '#/components/responses/NotAuthorizedOrResourceAlreadyExists'
429:
$ref: '#/components/responses/TooManyRequests'
default:
$ref: '#/components/responses/Error'
summary: Creates a new custom protection rule in the specified compartment.
tags:
- waas
x-related-resource: '#/definitions/CustomProtectionRule'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateCustomProtectionRuleDetails'
description: The details of the custom protection rule.
required: true
/customProtectionRules/{customProtectionRuleId}:
delete:
description: Deletes a Custom Protection rule.
operationId: DeleteCustomProtectionRule
parameters:
- $ref: '#/components/parameters/RequestIdHeaderParam'
- $ref: '#/components/parameters/RetryTokenHeaderParam'
- $ref: '#/components/parameters/CustomProtectionRuleIdParam'
- $ref: '#/components/parameters/IfMatchHeader'
responses:
204:
description: The custom protection rule has been marked for deletion.
headers:
opc-request-id:
description: A 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
400:
$ref: '#/components/responses/BadRequest'
401:
$ref: '#/components/responses/NotAuthenticated'
404:
$ref: '#/components/responses/NotAuthorizedOrNotFound'
409:
$ref: '#/components/responses/IncorrectState'
412:
$ref: '#/components/responses/NoEtagMatch'
429:
$ref: '#/components/responses/TooManyRequests'
default:
$ref: '#/components/responses/Error'
summary: Deletes a Custom Protection rule.
tags:
- waas
x-related-resource: '#/definitions/CustomProtectionRule'
get:
description: Gets the details of a custom protection rule.
operationId: GetCustomProtectionRule
parameters:
- $ref: '#/components/parameters/RequestIdHeaderParam'
- $ref: '#/components/parameters/CustomProtectionRuleIdParam'
responses:
200:
description: The details of the custom protection rule.
headers:
etag:
description: For optimistic concurrency control. See `if-match`.
schema:
type: string
opc-request-id:
description: A 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/CustomProtectionRule'
400:
$ref: '#/components/responses/BadRequest'
401:
$ref: '#/components/responses/NotAuthenticated'
404:
$ref: '#/components/responses/NotAuthorizedOrNotFound'
429:
$ref: '#/components/responses/TooManyRequests'
default:
$ref: '#/components/responses/Error'
summary: Returns the details of a Custom Protection rule.
tags:
- waas
x-obmcs-client-retries-enabled: true
put:
description: Updates the configuration of a custom protection rule. Only the fields specified in the request body will be updated; all other properties will remain unchanged.
operationId: UpdateCustomProtectionRule
parameters:
- $ref: '#/components/parameters/RequestIdHeaderParam'
- $ref: '#/components/parameters/RetryTokenHeaderParam'
- $ref: '#/components/parameters/CustomProtectionRuleIdParam'
- $ref: '#/components/parameters/IfMatchHeader'
responses:
200:
description: The details of the custom protection rule.
headers:
etag:
description: For optimistic concurrency control. See `if-match`.
schema:
type: string
opc-request-id:
description: A 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/CustomProtectionRule'
400:
$ref: '#/components/responses/BadRequest'
401:
$ref: '#/components/responses/NotAuthenticated'
404:
$ref: '#/components/responses/NotAuthorizedOrNotFound'
409:
$ref: '#/components/responses/IncorrectState'
412:
$ref: '#/components/responses/NoEtagMatch'
429:
$ref: '#/components/responses/TooManyRequests'
default:
$ref: '#/components/responses/Error'
summary: Updates the details of a custom protection rule.
tags:
- waas
x-related-resource: '#/definitions/CustomProtectionRule'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateCustomProtectionRuleDetails'
description: The details of the custom protection rule to update.
required: true
/customProtectionRules/{customProtectionRuleId}/actions/changeCompartment:
post:
description: Moves a custom protection rule into a different compartment within the same tenancy. When provided, If-Match is checked against ETag values of the custom protection rule. For information about moving resources between compartments, see [Moving Resources to a Different Compartment](/iaas/Content/Identity/Tasks/managingcompartments.htm#moveRes).
operationId: ChangeCustomProtectionRuleCompartment
parameters:
- $ref: '#/components/parameters/IfMatchHeader'
- $ref: '#/components/parameters/RequestIdHeaderParam'
- $ref: '#/components/parameters/RetryTokenHeaderParam'
- $ref: '#/components/parameters/CustomProtectionRuleIdParam'
responses:
204:
$ref: '#/components/responses/NoContent'
401:
$ref: '#/components/responses/NotAuthenticated'
404:
$ref: '#/components/responses/NotAuthorizedOrNotFound'
409:
$ref: '#/components/responses/IncorrectState'
summary: Moves Custom Protection rule into a different compartment.
tags:
- waas
x-related-resource: '#/definitions/CustomProtectionRule'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ChangeCustomProtectionRuleCompartmentDetails'
required: true
/edgeSubnets:
get:
description: Return the list of the tenant's edge node subnets. Use these CIDR blocks to restrict incoming traffic to your origin. These subnets are owned by OCI and forward traffic to customer origins. They are not associated with specific regions or compartments.
operationId: ListEdgeSubnets
parameters:
- $ref: '#/components/parameters/RequestIdHeaderParam'
- $ref: '#/components/parameters/LimitQueryParam'
- $ref: '#/components/parameters/PageQueryParam'
- $ref: '#/components/parameters/EdgeSubnetSortByQueryParam'
- $ref: '#/components/parameters/SortOrderQueryParam'
responses:
200:
description: The list of edge node IP Address CIDRs.
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: A 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:
items:
$ref: '#/components/schemas/EdgeSubnet'
type: array
400:
$ref: '#/components/responses/BadRequest'
401:
$ref: '#/components/responses/NotAuthenticated'
404:
$ref: '#/components/responses/NotAuthorizedOrNotFound'
429:
$ref: '#/components/responses/TooManyRequests'
default:
$ref: '#/components/responses/Error'
summary: Returns a list of subnets corresponding the Web Application Firewall.
tags:
- waas
x-example: 'GET /20181116/edgeSubnets HTTP/1.1
Host: waas.us-phoenix-1.oci.oraclecloud.com
<authorization and other headers>
'
x-obmcs-client-retries-enabled: true
/waasPolicies:
get:
description: Gets a list of WAAS policies.
operationId: ListWaasPolicies
parameters:
- $ref: '#/components/parameters/RequestIdHeaderParam'
- $ref: '#/components/parameters/CompartmentIdQueryParam'
- $ref: '#/components/parameters/LimitQueryParam'
- $ref: '#/components/parameters/PageQueryParam'
- $ref: '#/components/parameters/WaasPolicySortByQueryParam'
- $ref: '#/components/parameters/SortOrderQueryParam'
- $ref: '#/components/parameters/WaasPolicyIdFilterParam'
- $ref: '#/components/parameters/WaasPolicyDisplayNameFilterParam'
- $ref: '#/components/parameters/WaasPolicyLifecycleStateFilterParam'
- $ref: '#/components/parameters/WaasPolicyTimeCreatedGreaterThanOrEqualToFilterParam'
- $ref: '#/components/parameters/WaasPolicyTimeCreatedLessThanFilterParam'
responses:
200:
description: The list of WAAS policies.
headers:
opc-next-page:
description: For list pagination. When this header appears in the response, additional pages of results may remain. For important details about how pagination works, see [List Pagination](/iaas/Content/API/Concepts/usingapi.htm#nine).
schema:
type: string
opc-request-id:
description: A 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:
items:
$ref: '#/components/schemas/WaasPolicySummary'
type: array
400:
$ref: '#/components/responses/BadRequest'
401:
$ref: '#/components/responses/NotAuthenticated'
404:
$ref: '#/components/responses/NotAuthorizedOrNotFound'
429:
$ref: '#/components/responses/TooManyRequests'
default:
$ref: '#/components/responses/Error'
summary: Returns the list of policies for the given compartment.
tags:
- waas
x-example: 'GET /20181116/waasPolicies?compartmentId=ocid1.compartment.oc1.. HTTP/1.1
Host: waas.us-phoenix-1.oci.oraclecloud.com
<authorization and other headers>
'
x-obmcs-client-retries-enabled: true
x-related-resource: '#/definitions/WaasPolicy'
post:
description: 'Creates a new Web Application Acceleration and Security (WAAS) policy in the specified compartment. A WAAS policy must be established before creating Web Application Firewall (WAF) rules. To use WAF rules, your web application''s origin servers must defined in the `WaasPolicy` schema.
A domain name must be specified when creating a WAAS policy. The domain name should be different from the origins specified in your `WaasPolicy`. Once domain name is entered and stored, it is unchangeable.
Use the record data returned in the `cname` field of the `WaasPolicy` object to create a CNAME record in your DNS configuration that will direct your domain''s traffic through the WAF.
For the purposes of access control, you must provide the OCID of the compartment where you want the service to reside. For information about access control and compartments, see [Overview of the IAM Service](/iaas/Content/Identity/Concepts/overview.htm).
You must specify a display name and domain for the WAAS policy. The display name does not have to be unique and can be changed. The domain name should be different from every origin specified in `WaasPolicy`.
All Oracle Cloud Infrastructure resources, including WAAS policies, receive a unique, Oracle-assigned ID called an Oracle Cloud Identifier (OCID). When a resource is created, you can find its OCID in the response. You can also retrieve a resource''s OCID by using a list API operation for that resource type, or by viewing the resource in the Console. Fore more information, see [Resource Identifiers](/iaas/Content/General/Concepts/identifiers.htm).
**Note:** After sending the POST request, the new object''s state will temporarily be `CREATING`. Ensure that the resource''s state has changed to `ACTIVE` before use.'
operationId: CreateWaasPolicy
parameters:
- $ref: '#/components/parameters/RequestIdHeaderParam'
- $ref: '#/components/parameters/RetryTokenHeaderParam'
responses:
202:
$ref: '#/components/responses/RequestAcceptedForProcessingWithEtag'
400:
$ref: '#/components/responses/BadRequest'
401:
$ref: '#/components/responses/NotAuthenticated'
409:
$ref: '#/components/responses/NotAuthorizedOrResourceAlreadyExists'
429:
$ref: '#/components/responses/TooManyRequests'
default:
$ref: '#/components/responses/Error'
summary: Creates a new policy in the specified compartment.
tags:
- waas
x-example: "POST /20181116/waasPolicies HTTP/1.1\nHost: waas.us-phoenix-1.oci.oraclecloud.com\n<authorization and other headers>\n{\n \"compartmentId\": \"ocid1.compartment.oc1..\",\n \"displayName\": \"Policy\",\n \"domain\": \"example.com\"\n}\n"
x-related-resource: '#/definitions/WaasPolicy'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateWaasPolicyDetails'
description: The details of the WAAS policy.
required: true
/waasPolicies/{waasPolicyId}:
delete:
description: Deletes a policy.
operationId: DeleteWaasPolicy
parameters:
- $ref: '#/components/parameters/RequestIdHeaderParam'
- $ref: '#/components/parameters/RetryTokenHeaderParam'
- $ref: '#/components/parameters/WaasPolicyIdParam'
- $ref: '#/components/parameters/IfMatchHeader'
responses:
202:
$ref: '#/components/responses/RequestAcceptedForProcessing'
400:
$ref: '#/components/responses/BadRequest'
401:
$ref: '#/components/responses/NotAuthenticated'
404:
$ref: '#/components/responses/NotAuthorizedOrNotFound'
409:
$ref: '#/components/responses/IncorrectState'
412:
$ref: '#/components/responses/NoEtagMatch'
429:
$ref: '#/components/responses/TooManyRequests'
default:
$ref: '#/components/responses/Error'
summary: Deletes a policy.
tags:
- waas
x-example: 'DELETE /20181116/waasPolicies/ocid1.waaspolicy.oc1.. HTTP/1.1
Host: waas.us-phoenix-1.oci.oraclecloud.com
<authorization and other headers>
'
x-related-resource: '#/definitions/WaasPolicy'
get:
description: Gets the details of a WAAS policy.
operationId: GetWaasPolicy
parameters:
- $ref: '#/components/parameters/RequestIdHeaderParam'
- $ref: '#/components/parameters/WaasPolicyIdParam'
responses:
200:
description: The details of the WAAS policy.
headers:
etag:
description: For optimistic concurrency control. See `if-match`.
schema:
type: string
opc-request-id:
description: A 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/WaasPolicy'
400:
$ref: '#/components/responses/BadRequest'
401:
$ref: '#/components/responses/NotAuthenticated'
404:
$ref: '#/components/responses/NotAuthorizedOrNotFound'
429:
$ref: '#/components/responses/TooManyRequests'
default:
$ref: '#/components/responses/Error'
summary: Returns the details of a policy.
tags:
- waas
x-example: 'GET /20181116/waasPolicies/ocid1.waaspolicy.oc1.. HTTP/1.1
Host: waas.us-phoenix-1.oci.oraclecloud.com
<authorization and other headers>
'
x-obmcs-client-retries-enabled: true
put:
description: 'Updates the details of a WAAS policy, including origins and tags. Only the fields specified in the request body will be updated; all other properties will remain unchanged.
To update platform provided resources such as `GoodBots`, `ProtectionRules`, and `ThreatFeeds`, first retrieve the list of available resources with the related list operation such as `GetThreatFeeds` or `GetProtectionRules`.
The returned list will contain objects with `key` properties that can be used to update the resource during the `UpdateWaasPolicy` request.'
operationId: UpdateWaasPolicy
parameters:
- $ref: '#/components/parameters/RequestIdHeaderParam'
- $ref: '#/components/parameters/RetryTokenHeaderParam'
- $ref: '#/components/parameters/WaasPolicyIdParam'
- $ref: '#/components/parameters/IfMatchHeader'
responses:
202:
$ref: '#/components/responses/RequestAcceptedForProcessing'
400:
$ref: '#/components/responses/BadRequest'
401:
$ref: '#/components/responses/NotAuthenticated'
404:
$ref: '#/components/responses/NotAuthorizedOrNotFound'
409:
$ref: '#/components/responses/IncorrectState'
412:
$ref: '#/components/responses/NoEtagMatch'
429:
$ref: '#/components/responses/TooManyRequests'
default:
$ref: '#/components/responses/Error'
summary: Updates the details of a policy.
tags:
- waas
x-example: "PUT /20181116/waasPolicies/ocid1.waaspolicy.oc1.. HTTP/1.1\nHost: waas.us-phoenix-1.oci.oraclecloud.com\n<authorization and other headers>\n{\n \"displayName\": \"change_policy\"\n}\n"
x-related-resource: '#/definitions/WaasPolicy'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateWaasPolicyDetails'
description: The details of the WAAS policy to update.
required: true
/waasPolicies/{waasPolicyId}/actions/acceptWafConfigRecommendations:
post:
description: 'Accepts a list of recommended Web Application Firewall protection rules. Web Application Firewall protection rule recommendations are sets of rules generated by observed traffic patterns through the Web Application Firewall and are meant to optimize the Web Application Firewall''s security profile. Only the rules specified in the request body will be updated; all other rules will remain unchanged.
Use the `GET /waasPolicies/{waasPolicyId}/wafConfig/recommendations` method to view a list of recommended Web Application Firewall protection rules. For more information, see [WAF Protection Rules](/iaas/Content/WAF/Tasks/wafprotectionrules.htm).'
operationId: AcceptRecommendations
parameters:
- $ref: '#/components/parameters/RequestIdHeaderParam'
- $ref: '#/components/parameters/WaasPolicyIdParam'
- $ref: '#/components/parameters/IfMatchHeader'
responses:
202:
$ref: '#/components/responses/RequestAcceptedForProcessing'
400:
$ref: '#/components/responses/BadRequest'
401:
$ref: '#/components/responses/NotAuthenticated'
404:
$ref: '#/components/responses/NotAuthorizedOrNotFound'
409:
$ref: '#/components/responses/IncorrectState'
429:
$ref: '#/components/responses/TooManyRequests'
default:
$ref: '#/components/responses/Error'
summary: Accepts a list of recommended Web Application Firewall protection rules.
tags:
- waas
x-example: 'POST /20181116/waasPolicies/ocid1.waaspolicy.oc1../actions/acceptWafConfigRecommendations HTTP/1.1
Host: waas.us-phoenix-1.oci.oraclecloud.com
<authorization and other headers>
["932171", "932170", "911100", "90004", "950103", "1000000"]
'
x-related-resource: '#/definitions/Recommendation'
requestBody:
content:
application/json:
schema:
description: The list of keys of protection rules to accept.
items:
type: string
type: array
required: true
/waasPolicies/{waasPolicyId}/actions/changeCompartment:
post:
description: 'Moves WAAS policy into a different compartment. When provided, If-Match is checked against ETag values of the WAAS policy.
For information about moving resources between compartments, see [Moving Resources to a Different Compartment](/iaas/Content/Identity/Tasks/managingcompartments.htm#moveRes).
'
operationId: ChangeWaasPolicyCompartment
parameters:
- $ref: '#/components/parameters/IfMatchHeader'
- $ref: '#/components/parameters/RequestIdHeaderParam'
- $ref: '#/components/parameters/RetryTokenHeaderParam'
- $ref: '#/components/parameters/WaasPolicyIdParam'
responses:
204:
$ref: '#/components/responses/NoContent'
401:
$ref: '#/components/responses/NotAuthenticated'
404:
$ref: '#/components/responses/NotAuthorizedOrNotFound'
409:
$ref: '#/components/responses/IncorrectState'
summary: Moves WAAS policy into a different compartment.
tags:
- waas
x-example: "POST /20181116/waasPolicies/ocid1.waaspolicy.oc1../actions/changeCompartment HTTP/1.1\nHost: waas.us-phoenix-1.oci.oraclecloud.com\n<authorization and other headers>\n{\n \"compartmentId\": \"ocid1.compartment.oc1..\"\n}\n"
x-related-resource: '#/definitions/WaasPolicy'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ChangeWaasPolicyCompartmentDetails'
required: true
/waasPolicies/{waasPolicyId}/actions/purgeCache:
post:
description: 'Performs a purge of the cache for each specified resource. If no resources are passed, the cache for the entire Web Application Firewall will be purged.
For more information, see [Caching Rules](/iaas/Content/WAF/Tasks/cachingrules.htm#purge).'
operationId: PurgeCache
parameters:
- $ref: '#/components/parameters/RequestIdHeaderParam'
- $ref: '#/components/parameters/WaasPolicyIdParam'
- $ref: '#/components/parameters/IfMatchHeader'
responses:
202:
$ref: '#/components/responses/RequestAcceptedForProcessing'
400:
$ref: '#/components/responses/BadRequest'
401:
$ref: '#/components/responses/NotAuthenticated'
404:
$ref: '#/components/responses/NotAuthorizedOrNotFound'
409:
$ref: '#/components/responses/IncorrectState'
429:
$ref: '#/components/responses/TooManyRequests'
default:
$ref: '#/components/responses/Error'
summary: Accepts a list of resources to be purged.
tags:
- waas
x-example: "POST /20181116/waasPolicies/ocid1.waaspolicy.oc1../actions/purgeCache HTTP/1.1\nHost: waas.us-phoenix-1.oci.oraclecloud.com\n<authorization and other headers>\n[\n {\n\n \"resources\": [\n\n {\n \"name\": \"cache\"\n }\n ]\n\n }\n]\n"
x-related-resource: '#/definitions/PurgeCache'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PurgeCache'
description: The list of resources to purge.
/waasPolicies/{waasPolicyId}/policyConfig:
get:
description: Gets the configuration of a WAAS policy.
operationId: GetPolicyConfig
parameters:
- $ref: '#/components/parameters/RequestIdHeaderParam'
- $ref: '#/components/parameters/WaasPolicyIdParam'
responses:
200:
description: The configuration details of a WAAS policy.
headers:
etag:
description: For optimistic concurrency control. See `if-match`.
schema:
type: string
opc-request-id:
description: A 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/PolicyConfig'
400:
$ref: '#/components/responses/BadRequest'
401:
$ref: '#/components/responses/NotAuthenticated'
404:
$ref: '#/components/responses/NotAuthorizedOrNotFound'
409:
$ref: '#/components/responses/IncorrectState'
429:
$ref: '#/components/responses/TooManyRequests'
default:
$ref: '#/components/responses/Error'
summary: Returns the general configuration for the policy.
tags:
- waas
x-example: 'GET /20181116/waasPolicies/ocid1.waaspolicy.oc1../policyConfig HTTP/1.1
Host: waas.us-phoenix-1.oci.oraclecloud.com
<authorization and other headers>
'
x-obmcs-client-retries-enabled: true
put:
description: Updates the configuration for a WAAS policy. Only the fields specified in the request body will be updated; all other properties will remain unchanged.
operationId: UpdatePolicyConfig
parameters:
- $ref: '#/components/parameters/RequestIdHeaderParam'
- $ref: '#/components/parameters/RetryTokenHeaderParam'
- $ref: '#/components/parameters/WaasPolicyIdParam'
- $ref: '#/components/parameters/IfMatchHeader'
responses:
202:
$ref: '#/components/responses/RequestAcceptedForProcessing'
400:
$ref: '#/components/responses/BadRequest'
401:
$ref: '#/components/responses/NotAuthenticated'
404:
$ref: '#/components/responses/NotAuthorizedOrNotFound'
409:
$ref: '#/components/responses/IncorrectState'
412:
$ref: '#/components/responses/NoEtagMatch'
429:
$ref: '#/components/responses/TooManyRequests'
default:
$ref: '#/components/responses/Error'
summary: Updates the policy configuration.
tags:
- waas
x-example: "PUT /20181116/waasPolicies/ocid1.waaspolicy.oc1../policyConfig HTTP/1.1\nHost: waas.us-phoenix-1.oci.oraclecloud.com\n<authorization and other headers>\n{\n \"certificateId\": \"ocid1.waascertificate.oc1..\",\n \"isHttpsEnabled\": true,\n \"isHttpsForced\": true\n}\n"
x-related-resource: '#/definitions/PolicyConfig'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PolicyConfig'
description: The new configuration to apply to a WAAS policy.
required: true
/waasPolicies/{waasPolicyId}/reports/waf/blocked:
get:
description: Gets the number of blocked requests by a Web Application Firewall feature in five minute blocks, sorted by `timeObserved` in ascending order (starting from oldest data).
operationId: ListWafBlockedRequests
parameters:
- $ref: '#/components/parameters/RequestIdHeaderParam'
- $ref: '#/components/parameters/WaasPolicyIdParam'
- $ref: '#/components/parameters/FromDateObservedQueryParam'
- $ref: '#/components/parameters/ToDateObservedQueryParam'
- $ref: '#/components/parameters/LimitQueryParam'
- $ref: '#/components/parameters/PageQueryParam'
- $ref: '#/components/parameters/WafFeatureQueryParam'
responses:
200:
description: A time series of counts of requests blocked by the Web Application Firewall.
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: A 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:
description: A time series of counts of requests blocked by a Web Application Firewall feature.
items:
$ref: '#/components/schemas/WafBlockedRequest'
type: array
400:
$ref: '#/components/responses/BadRequest'
401:
$ref: '#/components/responses/NotAuthenticated'
404:
$ref: '#/components/responses/NotAuthorizedOrNotFound'
429:
$ref: '#/components/responses/TooManyRequests'
default:
$ref: '#/components/responses/Error'
summary: Returns a list of requests blocked by the Web Application Firewall.
tags:
- waas
x-example: 'GET /20181116/waasPolicies/ocid1.waaspolicy.oc1../reports/waf/blocked HTTP/1.1
Host: waas.us-phoenix-1.oci.oraclecloud.com
<authorization and other headers>
'
x-obmcs-client-retries-enabled: true
/waasPolicies/{waasPolicyId}/reports/waf/requests:
get:
description: 'Gets the number of requests managed by a Web Application Firewall
over a specified period of time, including blocked requests. Sorted
by `timeObserved` in ascending order (starting from oldest requests).
'
operationId: ListWafRequests
parameters:
- $ref: '#/components/parameters/RequestIdHeaderParam'
- $ref: '#/components/parameters/WaasPolicyIdParam'
- $ref: '#/components/parameters/FromDateObservedQueryParam'
- $ref: '#/components/parameters/ToDateObservedQueryParam'
- $ref: '#/components/parameters/LimitQueryParam'
- $ref: '#/components/parameters/PageQueryParam'
responses:
200:
description: A time series of request counts managed by the Web Application Firewall.
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: A 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:
description: A time series of request counts handled by the Web Application Firewall.
items:
$ref: '#/components/schemas/WafRequest'
type: array
400:
$ref: '#/components/responses/BadRequest'
401:
$ref: '#/components/responses/NotAuthenticated'
404:
$ref: '#/components/responses/NotAuthorizedOrNotFound'
429:
$ref: '#/components/responses/TooManyRequests'
default:
$ref: '#/components/responses/Error'
summary: Returns a list of requests handled by the Web Application Firewall.
tags:
- waas
x-example: 'GET /20181116/waasPolicies/ocid1.waaspolicy.oc1../reports/waf/requests HTTP/1.1
Host: waas.us-phoenix-1.oci.oraclecloud.com
<authorization and other headers>
'
x-obmcs-client-retries-enabled: true
/waasPolicies/{waasPolicyId}/reports/waf/traffic:
get:
description: 'Gets the Web Application Firewall traffic data for a WAAS policy.
Sorted by `timeObserved` in ascending order (starting from oldest data).
'
operationId: ListWafTraffic
parameters:
- $ref: '#/components/parameters/RequestIdHeaderParam'
- $ref: '#/components/parameters/WaasPolicyIdParam'
- $ref: '#/components/parameters/FromDateObservedQueryParam'
- $ref: '#/components/parameters/ToDateObservedQueryParam'
- $ref: '#/components/parameters/LimitQueryParam'
- $ref: '#/components/parameters/PageQueryParam'
responses:
200:
description: The Web Application Firewall traffic data for the WAAS policy.
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: A 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:
description: A list of time-series data points for the Web Application Firewall traffic.
items:
$ref: '#/components/schemas/WafTrafficDatum'
type: array
400:
$ref: '#/components/responses/BadRequest'
401:
$ref: '#/components/responses/NotAuthenticated'
404:
$ref: '#/components/responses/NotAuthorizedOrNotFound'
429:
$ref: '#/components/responses/TooManyRequests'
default:
$ref: '#/components/responses/Error'
summary: Returns a list of traffic data for the Web Application Firewall.
tags:
- waas
x-example: 'GET /20181116/waasPolicies/ocid1.waaspolicy.oc1../reports/waf/traffic HTTP/1.1
Host: waas.us-phoenix-1.oci.oraclecloud.com
<authorization and other headers>
'
x-obmcs-client-retries-enabled: true
x-related-resource: '#/definitions/WafTrafficDatum'
/waasPolicies/{waasPolicyId}/wafConfig:
get:
description: Gets the Web Application Firewall configuration details for a WAAS policy.
operationId: GetWafConfig
parameters:
- $ref: '#/components/parameters/RequestIdHeaderParam'
- $ref: '#/components/parameters/WaasPolicyIdParam'
responses:
200:
description: The Web Application Firewall configuration details of a WAAS policy.
headers:
etag:
description: For optimistic concurrency control. See `if-match`.
schema:
type: string
opc-request-id:
description: A 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/WafConfig'
400:
$ref: '#/components/responses/BadRequest'
401:
$ref: '#/components/responses/NotAuthenticated'
404:
$ref: '#/components/responses/NotAuthorizedOrNotFound'
409:
$ref: '#/components/responses/IncorrectState'
429:
$ref: '#/components/responses/TooManyRequests'
default:
$ref: '#/components/responses/Error'
summary: Returns the Web Application Firewall configuration.
tags:
- waas
x-example: 'GET /20181116/waasPolicies/ocid1.waaspolicy.oc1../wafConfig HTTP/1.1
Host: waas.us-phoenix-1.oci.oraclecloud.com
<authorization and other headers>
'
x-obmcs-client-retries-enabled: true
put:
description: 'Updates the Web Application Firewall configuration for a specified WAAS policy.
To update platform provided resources such as `GoodBots`, `ProtectionRules`, and `ThreatFeeds`,
first retrieve the list of available resources with the related list operation, such as
`GetThreatFeeds` or `GetProtectionRules`.
The returned list will contain objects with `key` properties that can be used to update the
resource during the `UpdateWafConfig` request.
'
operationId: UpdateWafConfig
parameters:
- $ref: '#/components/parameters/RequestIdHeaderParam'
- $ref: '#/components/parameters/RetryTokenHeaderParam'
- $ref: '#/components/parameters/WaasPolicyIdParam'
- $ref: '#/components/parameters/IfMatchHeader'
responses:
202:
$ref: '#/components/responses/RequestAcceptedForProcessing'
400:
$ref: '#/components/responses/BadRequest'
401:
$ref: '#/components/responses/NotAuthenticated'
404:
$ref: '#/components/responses/NotAuthorizedOrNotFound'
409:
$ref: '#/components/responses/IncorrectState'
412:
$ref: '#/components/responses/NoEtagMatch'
429:
$ref: '#/components/responses/TooManyRequests'
default:
$ref: '#/components/responses/Error'
summary: Updates the Web Application Firewall configuration.
tags:
- waas
x-example: "PUT /20181116/waasPolicies/ocid1.waaspolicy.oc1../wafConfig HTTP/1.1\nHost: waas.us-phoenix-1.oci.oraclecloud.com\n<authorization and other headers>\n{\n \"allowedHttpMethods\": [\n \"GET\",\n \"POST\",\n \"HEAD\",\n \"OPTIONS\"\n ],\n \"blockAction\": \"SHOW_ERROR_PAGE\",\n \"blockErrorPageCode\": \"403\",\n \"blockErrorPageDescription\": \"Access blocked by website owner. Please contact support.\",\n \"blockErrorPageMessage\": \"Access to the website is blocked.\",\n \"blockResponseCode\": 403,\n \"isResponseInspected\": false,\n \"maxArgumentCount\": 255,\n \"maxNameLengthPerArgument\": 200,\n \"maxResponseSizeInKiB\": 1024,\n \"maxTotalNameLengthOfArguments\": 64000,\n \"mediaTypes\": [\n \"text/html\",\n \"text/plain\"\n ],\n \"recommendationsPeriodInDays\": 7\n}\n"
x-related-resource: '#/definitions/WafConfig'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/WafConfig'
description: The new Web Application Firewall configuration to apply to a WAAS policy.
required: true
/waasPolicies/{waasPolicyId}/wafConfig/accessRules:
get:
description: 'Gets the currently configured access rules for the Web Application Firewall configuration of a specified WAAS policy.
The order of the access rules is important. The rules will be checked in the order they are specified and the first matching rule will be used.'
operationId: ListAccessRules
parameters:
- $ref: '#/components/parameters/RequestIdHeaderParam'
- $ref: '#/components/parameters/WaasPolicyIdParam'
- $ref: '#/components/parameters/LimitQueryParam'
- $ref: '#/components/parameters/PageQueryParam'
responses:
200:
description: The currently configured access rules.
headers:
etag:
description: For optimistic concurrency control. See `if-match`.
schema:
type: string
opc-next-page:
description: For list pagination. When this header appears in the response, additional pages of results may remain. For important details about how pagination works, see [List Pagination](/iaas/Content/API/Concepts/usingapi.htm#nine).
schema:
type: string
opc-request-id:
description: A 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:
description: A list of access rules for the specified web application.
items:
$ref: '#/components/schemas/AccessRule'
type: array
400:
$ref: '#/components/responses/BadRequest'
401:
$ref: '#/components/responses/NotAuthenticated'
404:
$ref: '#/components/responses/NotAuthorizedOrNotFound'
409:
$ref: '#/components/responses/IncorrectState'
429:
$ref: '#/components/responses/TooManyRequests'
default:
$ref: '#/components/responses/Error'
summary: Returns a list of access rules for the Web Application Firewall.
tags:
- waas
x-example: 'GET /20181116/waasPolicies/ocid1.waaspolicy.oc1../wafConfig/accessRules HTTP/1.1
Host: waas.us-phoenix-1.oci.oraclecloud.com
<authorization and other headers>
'
x-obmcs-client-retries-enabled: true
put:
description: 'Updates the list of access rules in the Web Application Firewall configuration for a specified WAAS policy. Access rules allow explicit actions to be defined and executed for requests that meet various conditions. A rule action can be set to allow, detect, or block requests. The detect setting allows the request to pass through the Web Application Firewall and is tagged with a `DETECT` flag in the Web Application Firewall''s log.
This operation can create, delete, update, and/or reorder access rules depending on the structure of the request body.
Access rules can be updated by changing the properties of the access rule object with the rule''s key specified in the key field. Access rules can be reordered by changing the order of the access rules in the list when updating.
Access rules can be created by adding a new access rule object to the list without a `key` property specified. A `key` will be generated for the new access rule upon update.
Any existing access rules that are not specified with a `key` in the list of access rules will be deleted upon update.'
operationId: UpdateAccessRules
parameters:
- $ref: '#/components/parameters/RequestIdHeaderParam'
- $ref: '#/components/parameters/RetryTokenHeaderParam'
- $ref: '#/components/parameters/WaasPolicyIdParam'
- $ref: '#/components/parameters/IfMatchHeader'
responses:
202:
$ref: '#/components/responses/RequestAcceptedForProcessing'
400:
$ref: '#/components/responses/BadRequest'
401:
$ref: '#/components/responses/NotAuthenticated'
404:
$ref: '#/components/responses/NotAuthorizedOrNotFound'
409:
$ref: '#/components/responses/IncorrectState'
412:
$ref: '#/components/responses/NoEtagMatch'
429:
$ref: '#/components/responses/TooManyRequests'
default:
$ref: '#/components/responses/Error'
summary: Updates the list of access rules for the Web Application Firewall.
tags:
- waas
x-example: "PUT /20181116/waasPolicies/ocid1.waaspolicy.oc1../wafConfig/accessRules HTTP/1.1\nHost: waas.us-phoenix-1.oci.oraclecloud.com\n<authorization and other headers>\n[\n {\n\n \"action\": \"BLOCK\",\n \"blockAction\": \"SET_RESPONSE_CODE\",\n \"blockResponseCode\": 403,\n \"criteria\": [\n {\n \"condition\": \"COUNTRY_IS\",\n \"value\": \"AF\"\n }\n ],\n \"name\": \"access rule\"\n }\n]\n"
x-related-resource: '#/definitions/AccessRule'
requestBody:
content:
application/json:
schema:
description: The access rules to update.
items:
$ref: '#/components/schemas/AccessRule'
maxItems: 100
type: array
required: true
/waasPolicies/{waasPolicyId}/wafConfig/addressRateLimiting:
get:
description: Gets the address rate limiting settings of the Web Application Firewall configuration for a WAAS policy.
operationId: GetWafAddressRateLimiting
parameters:
- $ref: '#/components/parameters/RequestIdHeaderParam'
- $ref: '#/components/parameters/WaasPolicyIdParam'
responses:
200:
description: The address rate limiting settings.
headers:
etag:
description: For optimistic concurrency control. See `if-match`.
schema:
type: string
opc-request-id:
description: A 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/AddressRateLimiting'
400:
$ref: '#/components/responses/BadRequest'
401:
$ref: '#/components/responses/NotAuthenticated'
404:
$ref: '#/components/responses/NotAuthorizedOrNotFound'
409:
$ref: '#/components/responses/IncorrectState'
429:
$ref: '#/components/responses/TooManyRequests'
default:
$ref: '#/components/responses/Error'
summary: Returns the rate limiting settings for the Web Application Firewall.
tags:
- waas
x-example: 'GET /20181116/waasPolicies/ocid1.waaspolicy.oc1../wafConfig/addressRateLimiting HTTP/1.1
Host: waas.us-phoenix-1.oci.oraclecloud.com
<authorization and other headers>
'
x-obmcs-client-retries-enabled: true
put:
description: Updates the address rate limiting settings in the Web Application Firewall configuration for a policy. Rate limiting allows you to configure a threshold for the number of requests from a unique IP address for the given period. You can also define the response code for the requests from the same address that exceed the threshold.
operationId: UpdateWafAddressRateLimiting
parameters:
- $ref: '#/components/parameters/RequestIdHeaderParam'
- $ref: '#/components/parameters/WaasPolicyIdParam'
- $ref: '#/components/parameters/RetryTokenHeaderParam'
- $ref: '#/components/parameters/IfMatchHeader'
responses:
202:
$ref: '#/components/responses/RequestAcceptedForProcessing'
400:
$ref: '#/components/responses/BadRequest'
401:
$ref: '#/components/responses/NotAuthenticated'
404:
$ref: '#/components/responses/NotAuthorizedOrNotFound'
409:
$ref: '#/components/responses/IncorrectState'
412:
$ref: '#/components/responses/NoEtagMatch'
429:
$ref: '#/components/responses/TooManyRequests'
default:
$ref: '#/components/responses/Error'
summary: Updates the rate limiting settings for the Web Application Firewall.
tags:
- waas
x-example: "PUT /20181116/waasPolicies/ocid1.waaspolicy.oc1../wafConfig/addressRateLimiting HTTP/1.1\nHost: waas.us-phoenix-1.oci.oraclecloud.com\n<authorization and other headers>\n{\n \"allowedRatePerAddress\": 1,\n \"blockResponseCode\": 503,\n \"isEnabled\": true,\n \"maxDelayedCountPerAddress\": 10\n}\n"
x-related-resource: '#/definitions/AddressRateLimiting'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AddressRateLimiting'
description: The address rate limiting settings.
required: true
/waasPolicies/{waasPolicyId}/wafConfig/cachingRules:
get:
description: 'Gets the currently configured caching rules for the Web Application Firewall configuration of a specified WAAS policy.
The rules are processed in the order they are specified in and the first matching rule will be used when processing a request.'
operationId: ListCachingRules
parameters:
- $ref: '#/components/parameters/RequestIdHeaderParam'
- $ref: '#/components/parameters/WaasPolicyIdParam'
- $ref: '#/components/parameters/LimitQueryParam'
- $ref: '#/components/parameters/PageQueryParam'
responses:
200:
description: A list of caching rules and their details.
headers:
etag:
description: For optimistic concurrency control. See `if-match`.
schema:
type: string
opc-next-page:
description: For list pagination. When this header appears in the response, additional pages of results may remain. For important details about how pagination works, see [List Pagination](/iaas/Content/API/Concepts/usingapi.htm#nine).
schema:
type: string
opc-request-id:
description: A 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:
items:
$ref: '#/components/schemas/CachingRuleSummary'
type: array
400:
$ref: '#/components/responses/BadRequest'
401:
$ref: '#/components/responses/NotAuthenticated'
404:
$ref: '#/components/responses/NotAuthorizedOrNotFound'
409:
$ref: '#/components/responses/IncorrectState'
429:
$ref: '#/components/responses/TooManyRequests'
default:
$ref: '#/components/responses/Error'
summary: Returns the list of caching rules for the Web Application Firewall.
tags:
- waas
x-example: 'GET /20181116/waasPolicies/ocid1.waaspolicy.oc1../wafConfig/cachingRules HTTP/1.1
Host: waas.us-phoenix-1.oci.oraclecloud.com
<authorization and other headers>
'
x-obmcs-client-retries-enabled: true
put:
description: 'Updates the configuration for each specified caching rule.
Caching rules WAF policies allow you to selectively cache content on Oracle Cloud Infrastructure''s edge servers, such as webpages or certain file types. For more information about caching rules, see [Caching Rules](/iaas/Content/WAF/Tasks/cachingrules.htm).
This operation can create, delete, update, and/or reorder caching rules depending on the structure of the request body. Caching rules can be updated by changing the properties of the caching rule object with the rule''s key specified in the key field. Any existing caching rules that are not specified with a key in the list of access rules will be deleted upon update.
The order the caching rules are specified in is important. The rules are processed in the order they are specified and the first matching rule will be used when processing a request. Use `ListCachingRules` to view a list of all available caching rules in a compartment.'
operationId: UpdateCachingRules
parameters:
- $ref: '#/components/parameters/RequestIdHeaderParam'
- $ref: '#/components/parameters/WaasPolicyIdParam'
- $ref: '#/components/parameters/RetryTokenHeaderParam'
- $ref: '#/components/parameters/IfMatchHeader'
responses:
202:
$ref: '#/components/responses/RequestAcceptedForProcessing'
400:
$ref: '#/components/responses/BadRequest'
401:
$ref: '#/components/responses/NotAuthenticated'
404:
$ref: '#/components/responses/NotAuthorizedOrNotFound'
409:
$ref: '#/components/responses/IncorrectState'
412:
$ref: '#/components/responses/NoEtagMatch'
429:
$ref: '#/components/responses/TooManyRequests'
default:
$ref: '#/components/responses/Error'
summary: Updates the list of caching rules for the Web Application Firewall.
tags:
- waas
x-example: "PUT /20181116/waasPolicies/ocid1.waaspolicy.oc1../wafConfig/cachingRules HTTP/1.1\nHost: waas.us-phoenix-1.oci.oraclecloud.com\n<authorization and other headers>\n[\n\t{\n \"name\": \"cache\",\n \"action\": \"BYPASS_CACHE\",\n\n \"criteria\":[\n {\n \"condition\": \"URL_IS\",\n \"value\": \"/path/to-cache\"\n }\n ]\n\n}\n]\n"
x-related-resource: '#/definitions/CachingRule'
requestBody:
content:
application/json:
schema:
description: A list of caching rules to be updated.
items:
$ref: '#/components/schemas/CachingRule'
type: array
required: true
/waasPolicies/{waasPolicyId}/wafConfig/captchas:
get:
description: 'Gets the list of currently configured CAPTCHA challenges in the Web
Application Firewall configuration of a WAAS policy.
The order of the CAPTCHA challenges is important. The URL for each
CAPTCHA will be checked in the order they are created.
'
operationId: ListCaptchas
parameters:
- $ref: '#/components/parameters/RequestIdHeaderParam'
- $ref: '#/components/parameters/WaasPolicyIdParam'
- $ref: '#/components/parameters/LimitQueryParam'
- $ref: '#/components/parameters/PageQueryParam'
responses:
200:
description: The list of currently configured CAPTCHA challenges and their settings.
headers:
etag:
description: For optimistic concurrency control. See `if-match`.
schema:
type: string
opc-next-page:
description: For list pagination. When this header appears in the response, additional pages of results may remain. For important details about how pagination works, see [List Pagination](/iaas/Content/API/Concepts/usingapi.htm#nine).
schema:
type: string
opc-request-id:
description: A 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:
description: A list of CAPTCHAs.
items:
$ref: '#/components/schemas/Captcha'
type: array
400:
$ref: '#/components/responses/BadRequest'
401:
$ref: '#/components/responses/NotAuthenticated'
404:
$ref: '#/components/responses/NotAuthorizedOrNotFound'
409:
$ref: '#/components/responses/IncorrectState'
429:
$ref: '#/components/responses/TooManyRequests'
default:
$ref: '#/components/responses/Error'
summary: Returns a list of CAPTCHA configurations for the Web Application Firewall.
tags:
- waas
x-example: 'GET /20181116/waasPolicies/ocid1.waaspolicy.oc1../wafConfig/captchas HTTP/1.1
Host: waas.us-phoenix-1.oci.oraclecloud.com
<authorization and other headers>
'
x-obmcs-client-retries-enabled: true
put:
description: 'Updates the list of CAPTCHA challenges in the Web Application Firewall configuration for a WAAS policy.
This operation can create, update, or delete CAPTCHAs depending on the structure of the request body.
CAPTCHA challenges can be updated by changing the properties of the CAPTCHA object with the rule''s key specified in the key field. CAPTCHA challenges can be reordered by changing the order of the CAPTCHA challenges in the list when updating.
CAPTCHA challenges can be created by adding a new access rule object to the list without a `key` property specified. A `key` will be generated for the new CAPTCHA challenges upon update.
Any existing CAPTCHA challenges that are not specified with a `key` in the list of CAPTCHA challenges will be deleted upon update.
Query parameters are allowed in CAPTCHA URL.'
operationId: UpdateCaptchas
parameters:
- $ref: '#/components/parameters/RequestIdHeaderParam'
- $ref: '#/components/parameters/RetryTokenHeaderParam'
- $ref: '#/components/parameters/WaasPolicyIdParam'
- $ref: '#/components/parameters/IfMatchHeader'
responses:
202:
$ref: '#/components/responses/RequestAcceptedForProcessing'
400:
$ref: '#/components/responses/BadRequest'
401:
$ref: '#/components/responses/NotAuthenticated'
404:
$ref: '#/components/responses/NotAuthorizedOrNotFound'
409:
$ref: '#/components/responses/IncorrectState'
412:
$ref: '#/components/responses/NoEtagMatch'
429:
$ref: '#/components/responses/TooManyRequests'
default:
$ref: '#/components/responses/Error'
summary: Updates the list of CAPTCHA configurations for the Web Application Firewall.
tags:
- waas
x-example: "PUT /20181116/waasPolicies/ocid1.waaspolicy.oc1../wafConfig/captchas HTTP/1.1\nHost: waas.us-phoenix-1.oci.oraclecloud.com\n<authorization and other headers>\n[\n {\n \"failureMessage\": \"The CAPTCHA was incorrect. Try again.\",\n \"footerText\": \"Enter the letters and numbers as they are shown in the image above.\",\n \"headerText\": \"We have detected an increased number of attempts to access this website. To help us keep this site secure, please let us know that you are not a robot by entering the text from the image below.\",\n \"sessionExpirationInSeconds\": 200,\n \"submitLabel\": \"Yes, I am human\",\n \"title\": \"Are you human?\",\n \"url\": \"/\"\n }\n]\n"
x-related-resource: '#/definitions/Captcha'
requestBody:
content:
application/json:
schema:
description: A list of CAPTCHA challenges to be updated.
items:
$ref: '#/components/schemas/Captcha'
type: array
description: A list of CAPTCHA details.
required: true
/waasPolicies/{waasPolicyId}/wafConfig/customProtectionRules:
get:
description: Gets the list of currently configured custom protection rules for a WAAS policy.
operationId: ListWaasPolicyCustomProtectionRules
parameters:
- $ref: '#/components/parameters/RequestIdHeaderParam'
- $ref: '#/components/parameters/WaasPolicyIdParam'
- $ref: '#/components/parameters/LimitQueryParam'
- $ref: '#/components/parameters/PageQueryParam'
- $ref: '#/components/parameters/CustomProtectionModSecurityRuleIdFilterParam'
- $ref: '#/components/parameters/CustomProtectionRuleActionFilterParam'
responses:
200:
description: A list of custom protection rules and their details.
headers:
etag:
description: For optimistic concurrency control. See `if-match`.
schema:
type: string
opc-next-page:
description: For list pagination. When this header appears in the response, additional pages of results may remain. For important details about how pagination works, see [List Pagination](/iaas/Content/API/Concepts/usingapi.htm#nine).
schema:
type: string
opc-request-id:
description: A 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:
items:
$ref: '#/components/schemas/WaasPolicyCustomProtectionRuleSummary'
type: array
400:
$ref: '#/components/responses/BadRequest'
401:
$ref: '#/components/responses/NotAuthenticated'
404:
$ref: '#/components/responses/NotAuthorizedOrNotFound'
409:
$ref: '#/components/responses/IncorrectState'
429:
$ref: '#/components/responses/TooManyRequests'
default:
$ref: '#/components/responses/Error'
summary: Returns the list of custom protection rules for the Web Application Firewall.
tags:
- waas
x-obmcs-client-retries-enabled: true
x-related-resource: '#/definitions/CustomProtectionRule'
put:
description: Updates the action for each specified custom protection rule. Only the `DETECT` and `BLOCK` actions can be set. Disabled rules should not be included in the list. For more information on protection rules, see [WAF Protection Rules](/iaas/Content/WAF/Tasks/wafprotectionrules.htm).
operationId: UpdateWaasPolicyCustomProtectionRules
parameters:
- $ref: '#/components/parameters/RequestIdHeaderParam'
- $ref: '#/components/parameters/WaasPolicyIdParam'
- $ref: '#/components/parameters/RetryTokenHeaderParam'
- $ref: '#/components/parameters/IfMatchHeader'
responses:
202:
$ref: '#/components/responses/RequestAcceptedForProcessing'
400:
$ref: '#/components/responses/BadRequest'
401:
$ref: '#/components/responses/NotAuthenticated'
404:
$ref: '#/components/responses/NotAuthorizedOrNotFound'
409:
$ref: '#/components/responses/IncorrectState'
412:
$ref: '#/components/responses/NoEtagMatch'
429:
$ref: '#/components/responses/TooManyRequests'
default:
$ref: '#/components/responses/Error'
summary: Updates the list of custom protection rules for the Web Application Firewall.
tags:
- waas
x-related-resource: '#/definitions/CustomProtectionRule'
requestBody:
content:
application/json:
schema:
description: A list of custom protection rules to be updated.
items:
$ref: '#/components/schemas/CustomProtectionRuleSetting'
type: array
required: true
/waasPolicies/{waasPolicyId}/wafConfig/deviceFingerprintChallenge:
get:
description: Gets the device fingerprint challenge settings in the Web Application Firewall configuration for a WAAS policy.
operationId: GetDeviceFingerprintChallenge
parameters:
- $ref: '#/components/parameters/RequestIdHeaderParam'
- $ref: '#/components/parameters/WaasPolicyIdParam'
responses:
200:
description: The device fingerprint challenge settings.
headers:
etag:
description: For optimistic concurrency control. See `if-match`.
schema:
type: string
opc-request-id:
description: A 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/DeviceFingerprintChallenge'
400:
$ref: '#/components/responses/BadRequest'
401:
$ref: '#/components/responses/NotAuthenticated'
404:
$ref: '#/components/responses/NotAuthorizedOrNotFound'
409:
$ref: '#/components/responses/IncorrectState'
429:
$ref: '#/components/responses/TooManyRequests'
default:
$ref: '#/components/responses/Error'
summary: Returns the device fingerprint challenge settings for the Web Application Firewall.
tags:
- waas
x-example: 'GET /20181116/waasPolicies/ocid1.waaspolicy.oc1../wafConfig/deviceFingerprintChallenge HTTP/1.1
Host: waas.us-phoenix-1.oci.oraclecloud.com
<authorization and other headers>
'
x-obmcs-client-retries-enabled: true
put:
description: 'Updates the Device Fingerprint Challenge (DFC) settings in the Web Application Firewall configuration for a policy. The DFC generates a hashed signature of both virtual and real browsers based on 50+ attributes. These proprietary signatures are then leveraged for real-time correlation to identify and block malicious bots.
The signature is based on a library of attributes detected via JavaScript listeners; the attributes include OS, screen resolution, fonts, UserAgent, IP address, etc. We are constantly making improvements and considering new libraries to include in our DFC build. We can also exclude attributes from the signature as needed.
DFC collects attributes to generate a hashed signature about a client - if a fingerprint is not possible, then it will result in a block or alert action. Actions can be enforced across multiple devices if they share they have the same fingerprint.'
operationId: UpdateDeviceFingerprintChallenge
parameters:
- $ref: '#/components/parameters/RequestIdHeaderParam'
- $ref: '#/components/parameters/RetryTokenHeaderParam'
- $ref: '#/components/parameters/WaasPolicyIdParam'
- $ref: '#/components/parameters/IfMatchHeader'
responses:
202:
$ref: '#/components/responses/RequestAcceptedForProcessing'
400:
$ref: '#/components/responses/BadRequest'
401:
$ref: '#/components/responses/NotAuthenticated'
404:
$ref: '#/components/responses/NotAuthorizedOrNotFound'
409:
$ref: '#/components/responses/IncorrectState'
412:
$ref: '#/components/responses/NoEtagMatch'
429:
$ref: '#/components/responses/TooManyRequests'
default:
$ref: '#/components/responses/Error'
summary: Updates the device fingerprint challenge settings for the Web Application Firewall.
tags:
- waas
x-example: "PUT /20181116/waasPolicies/ocid1.waaspolicy.oc1../wafConfig/deviceFingerprintChallenge HTTP/1.1\nHost: waas.us-phoenix-1.oci.oraclecloud.com\n<authorization and other headers>\n{\n \"action\": \"DETECT\",\n \"actionExpirationInSeconds\": 600,\n \"challengeSettings\": {\n \"blockAction\": \"SHOW_ERROR_PAGE\",\n \"blockErrorPageCode\": \"DFC\",\n \"blockErrorPageDescription\": \"Access blocked by website owner. Please contact support.\",\n \"blockErrorPageMessage\": \"Access to the website is blocked.\",\n \"blockResponseCode\": 403,\n \"captchaFooter\": \"Enter the letters and numbers as they are shown in image above.\",\n \"captchaHeader\": \"We have detected an increased number of attempts to access this website. To help us keep this site secure, please let us know that you are not a robot by entering the text from the image below.\",\n \"captchaSubmitLabel\": \"Yes, I am human.\",\n \"captchaTitle\": \"Are you human?\"\n },\n \"failureThreshold\": 10,\n \"failureThresholdExpirationInSeconds\": 600,\n \"isEnabled\": false,\n \"maxAddressCount\": 20,\n \"maxAddressCountExpirationInSeconds\": 600\n}\n"
x-related-resource: '#/definitions/DeviceFingerprintChallenge'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DeviceFingerprintChallenge'
description: The device fingerprint challenge settings to be updated.
required: true
/waasPolicies/{waasPolicyId}/wafConfig/goodBots:
get:
description: 'Gets the list of good bots defined in the Web Application Firewall configuration for a WAAS policy.
The list is sorted by `key`, in ascending order.
'
operationId: ListGoodBots
parameters:
- $ref: '#/components/parameters/RequestIdHeaderParam'
- $ref: '#/components/parameters/WaasPolicyIdParam'
- $ref: '#/components/parameters/LimitQueryParam'
- $ref: '#/components/parameters/PageQueryParam'
responses:
200:
description: The list of good bots and their details.
headers:
etag:
description: For optimistic concurrency control. See `if-match`.
schema:
type: string
opc-next-page:
description: For list pagination. When this header appears in the response, additional pages of results may remain. For important details about how pagination works, see [List Pagination](/iaas/Content/API/Concepts/usingapi.htm#nine).
schema:
type: string
opc-request-id:
description: A 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:
description: A list of good bots.
items:
$ref: '#/components/schemas/GoodBot'
type: array
400:
$ref: '#/components/responses/BadRequest'
401:
$ref: '#/components/responses/NotAuthenticated'
404:
$ref: '#/components/responses/NotAuthorizedOrNotFound'
409:
$ref: '#/components/responses/IncorrectState'
429:
$ref: '#/components/responses/TooManyRequests'
default:
$ref: '#/components/responses/Error'
summary: Returns the list of good bot configurations for the Web Application Firewall.
tags:
- waas
x-example: 'GET /20181116/waasPolicies/ocid1.waaspolicy.oc1../wafConfig/goodBots HTTP/1.1
Host: waas.us-phoenix-1.oci.oraclecloud.com
<authorization and other headers>
'
x-obmcs-client-retries-enabled: true
put:
description: 'Updates the list of good bots in the Web Application Firewall configuration for a policy. Only the fields specified in the request body will be updated, all other configuration properties will remain unchanged.
Good bots allows you to manage access for bots from known providers, such as Google or Baidu. For more information about good bots, see [Bot Management](/iaas/Content/WAF/Tasks/botmanagement.htm).'
operationId: UpdateGoodBots
parameters:
- $ref: '#/components/parameters/RequestIdHeaderParam'
- $ref: '#/components/parameters/WaasPolicyIdParam'
- $ref: '#/components/parameters/RetryTokenHeaderParam'
- $ref: '#/components/parameters/IfMatchHeader'
responses:
202:
$ref: '#/components/responses/RequestAcceptedForProcessing'
400:
$ref: '#/components/responses/BadRequest'
401:
$ref: '#/components/responses/NotAuthenticated'
404:
$ref: '#/components/responses/NotAuthorizedOrNotFound'
409:
$ref: '#/components/responses/IncorrectState'
412:
$ref: '#/components/responses/NoEtagMatch'
429:
$ref: '#/components/responses/TooManyRequests'
default:
$ref: '#/components/responses/Error'
summary: Updates the list of good bot configurations for the Web Application Firewall.
tags:
- waas
x-example: "PUT /20181116/waasPolicies/ocid1.waaspolicy.oc1../wafConfig/goodBots HTTP/1.1\nHost: waas.us-phoenix-1.oci.oraclecloud.com\n<authorization and other headers>\n[\n\n {\n \"description\": \"Googlebot is the search bot software used by Google, which collects documents from the web to build a searchable index for the Google Search engine.\",\n \"isEnabled\": true,\n \"key\": \"<unique key>\",\n \"name\": \"Googlebot \"\n }\n]\n"
x-related-resource: '#/definitions/GoodBot'
requestBody:
content:
application/json:
schema:
description: The list of good bots and their details to be updated.
items:
$ref: '#/components/schemas/GoodBot'
type: array
required: true
/waasPolicies/{waasPolicyId}/wafConfig/humanInteractionChallenge:
get:
description: Gets the human interaction challenge settings in the Web Application Firewall configuration for a WAAS policy.
operationId: GetHumanInteractionChallenge
parameters:
- $ref: '#/components/parameters/RequestIdHeaderParam'
- $ref: '#/components/parameters/WaasPolicyIdParam'
responses:
200:
description: The human interaction challenge settings.
headers:
etag:
description: For optimistic concurrency control. See `if-match`.
schema:
type: string
opc-request-id:
description: A 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/HumanInteractionChallenge'
400:
$ref: '#/components/responses/BadRequest'
401:
$ref: '#/components/responses/NotAuthenticated'
404:
$ref: '#/components/responses/NotAuthorizedOrNotFound'
409:
$ref: '#/components/responses/IncorrectState'
429:
$ref: '#/components/responses/TooManyRequests'
default:
$ref: '#/components/responses/Error'
summary: Returns the human interaction challenge settings for the Web Application Firewall.
tags:
- waas
x-example: 'GET /20181116/waasPolicies/ocid1.waaspolicy.oc1../wafConfig/humanInteractionChallenge HTTP/1.1
Host: waas.us-phoenix-1.oci.oraclecloud.com
<authorization and other headers>
'
x-obmcs-client-retries-enabled: true
put:
description: Updates the Human Interaction Challenge (HIC) settings in the Web Application Firewall configuration for a WAAS policy. HIC is a countermeasure that allows the proxy to check the user's browser for various behaviors that distinguish a human presence from a bot.
operationId: UpdateHumanInteractionChallenge
parameters:
- $ref: '#/components/parameters/RequestIdHeaderParam'
- $ref: '#/components/parameters/RetryTokenHeaderParam'
- $ref: '#/components/parameters/WaasPolicyIdParam'
- $ref: '#/components/parameters/IfMatchHeader'
responses:
202:
$ref: '#/components/responses/RequestAcceptedForProcessing'
400:
$ref: '#/components/responses/BadRequest'
401:
$ref: '#/components/responses/NotAuthenticated'
404:
$ref: '#/components/responses/NotAuthorizedOrNotFound'
409:
$ref: '#/components/responses/IncorrectState'
412:
$ref: '#/components/responses/NoEtagMatch'
429:
$ref: '#/components/responses/TooManyRequests'
default:
$ref: '#/components/responses/Error'
summary: Updates the human interaction challenge settings for the Web Application Firewall.
tags:
- waas
x-example: "PUT /20181116/waasPolicies/ocid1.waaspolicy.oc1../wafConfig/humanInteractionChallenge HTTP/1.1\nHost: waas.us-phoenix-1.oci.oraclecloud.com\n<authorization and other headers>\n{\n \"action\": \"BLOCK\",\n \"actionExpirationInSeconds\": 600,\n \"challengeSettings\": {\n \"blockAction\": \"SHOW_ERROR_PAGE\",\n \"blockErrorPageCode\": \"HIC\",\n \"blockErrorPageDescription\": \"Access blocked by website owner. Please contact support.\",\n \"blockErrorPageMessage\": \"Access to the website is blocked.\",\n \"blockResponseCode\": 403,\n \"captchaFooter\": \"Enter the letters and numbers as they are shown in image above.\",\n \"captchaHeader\": \"We have detected an increased number of attempts to access this website. To help us keep this site secure, please let us know that you are not a robot by entering the text from the image below.\",\n \"captchaSubmitLabel\": \"Yes, I am human.\",\n \"captchaTitle\": \"Are you human?\"\n },\n \"failureThreshold\": 100,\n \"failureThresholdExpirationInSeconds\": 600,\n \"interactionThreshold\": 3,\n \"isEnabled\": false,\n \"recordingPeriodInSeconds\": 15\n}\n"
x-related-resource: '#/definitions/HumanInteractionChallenge'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/HumanInteractionChallenge'
description: The human interaction challenge settings.
required: true
/waasPolicies/{waasPolicyId}/wafConfig/jsChallenge:
get:
description: Gets the JavaScript challenge settings in the Web Application Firewall configuration for a WAAS policy.
operationId: GetJsChallenge
parameters:
- $ref: '#/components/parameters/RequestIdHeaderParam'
- $ref: '#/components/parameters/WaasPolicyIdParam'
responses:
200:
description: The JavaScript challenge settings.
headers:
etag:
description: For optimistic concurrency control. See `if-match`.
schema:
type: string
opc-request-id:
description: A 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/JsChallenge'
400:
$ref: '#/components/responses/BadRequest'
401:
$ref: '#/components/responses/NotAuthenticated'
404:
$ref: '#/components/responses/NotAuthorizedOrNotFound'
409:
$ref: '#/components/responses/IncorrectState'
429:
$ref: '#/components/responses/TooManyRequests'
default:
$ref: '#/components/responses/Error'
summary: Returns the JavaScript challenge settings for the Web Application Firewall.
tags:
- waas
x-example: 'GET /20181116/waasPolicies/ocid1.waaspolicy.oc1../wafConfig/jsChallenge HTTP/1.1
Host: waas.us-phoenix-1.oci.oraclecloud.com
<authorization and other headers>
'
x-obmcs-client-retries-enabled: true
put:
description: Updates the JavaScript challenge settings in the Web Application Firewall configuration for a WAAS policy. JavaScript Challenge validates that the client can accept JavaScript with a binary decision. For more information, see [Bot Management](/iaas/Content/WAF/Tasks/botmanagement.htm).
operationId: UpdateJsChallenge
parameters:
- $ref: '#/components/parameters/RequestIdHeaderParam'
- $ref: '#/components/parameters/RetryTokenHeaderParam'
- $ref: '#/components/parameters/WaasPolicyIdParam'
- $ref: '#/components/parameters/IfMatchHeader'
responses:
202:
$ref: '#/components/responses/RequestAcceptedForProcessing'
400:
$ref: '#/components/responses/BadRequest'
401:
$ref: '#/components/responses/NotAuthenticated'
404:
$ref: '#/components/responses/NotAuthorizedOrNotFound'
409:
$ref: '#/components/responses/IncorrectState'
412:
$ref: '#/components/responses/NoEtagMatch'
429:
$ref: '#/components/responses/TooManyRequests'
default:
$ref: '#/components/responses/Error'
summary: Updates the JavaScript challenge settings for the Web Application Firewall.
tags:
- waas
x-example: "PUT /20181116/waasPolicies/ocid1.waaspolicy.oc1../wafConfig/jsChallenge HTTP/1.1\nHost: waas.us-phoenix-1.oci.oraclecloud.com\n<authorization and other headers>\n{\n \"action\": \"DETECT\",\n \"actionExpirationInSeconds\": 600,\n \"challengeSettings\": {\n \"blockAction\": \"SHOW_ERROR_PAGE\",\n \"blockErrorPageCode\": \"JSC-403\",\n \"blockErrorPageDescription\": \"Access blocked by website owner. Please contact support.\",\n \"blockErrorPageMessage\": \"Access to the website is blocked.\",\n \"blockResponseCode\": 403,\n \"captchaFooter\": \"Enter the letters and numbers as they are shown in image above.\",\n \"captchaHeader\": \"We have detected an increased number of attempts to access this website. To help us keep this site secure, please let us know that you are not a robot by entering the text from the image below.\",\n \"captchaSubmitLabel\": \"Yes, I am human.\",\n \"captchaTitle\": \"Are you human?\"\n },\n \"failureThreshold\": 100,\n \"isEnabled\": false,\n \"setHttpHeader\": {\n \"name\": \"x-jsc-alerts\",\n \"value\": \"{failed_amount}\"\n }\n}\n"
x-related-resource: '#/definitions/JsChallenge'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/JsChallenge'
description: The JavaScript challenge settings to be updated.
required: true
/waasPolicies/{waasPolicyId}/wafConfig/protectionRules:
get:
description: 'Gets the list of available protection rules for a WAAS policy. Use the `GetWafConfig` operation to view a list of currently configured protection rules for the Web Application Firewall, or use the `ListRecommendations` operation to get a list of recommended protection rules for the Web Application Firewall.
The list is sorted by `key`, in ascending order.'
operationId: ListProtectionRules
parameters:
- $ref: '#/components/parameters/RequestIdHeaderParam'
- $ref: '#/components/parameters/WaasPolicyIdParam'
- $ref: '#/components/parameters/LimitQueryParam'
- $ref: '#/components/parameters/PageQueryParam'
- $ref: '#/components/parameters/ProtectionModSecurityRuleIdFilterParam'
- $ref: '#/components/parameters/ProtectionRuleActionFilterParam'
responses:
200:
description: A list of protection rules and their details.
headers:
etag:
description: For optimistic concurrency control. See `if-match`.
schema:
type: string
opc-next-page:
description: For list pagination. When this header appears in the response, additional pages of results may remain. For important details about how pagination works, see [List Pagination](/iaas/Content/API/Concepts/usingapi.htm#nine).
schema:
type: string
opc-request-id:
description: A 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:
description: An array of the current protection rules for the specified application.
items:
$ref: '#/components/schemas/ProtectionRule'
type: array
400:
$ref: '#/components/responses/BadRequest'
401:
$ref: '#/components/responses/NotAuthenticated'
404:
$ref: '#/components/responses/NotAuthorizedOrNotFound'
409:
$ref: '#/components/responses/IncorrectState'
429:
$ref: '#/components/responses/TooManyRequests'
default:
$ref: '#/components/responses/Error'
summary: Returns the list of protection rules for the Web Application Firewall.
tags:
- waas
x-example: 'GET /20181116/waasPolicies/ocid1.waaspolicy.oc1../wafConfig/protectionRules HTTP/1.1
Host: waas.us-phoenix-1.oci.oraclecloud.com
<authorization and other headers>
'
x-obmcs-client-retries-enabled: true
put:
description: 'Updates the action for each specified protection rule. Requests can either be allowed, blocked, or trigger an alert if they meet the parameters of an applied rule. For more information on protection rules, see [WAF Protection Rules](/iaas/Content/WAF/Tasks/wafprotectionrules.htm).
This operation can update or disable protection rules depending on the structure of the request body.
Protection rules can be updated by changing the properties of the protection rule object with the rule''s key specified in the key field.'
operationId: UpdateProtectionRules
parameters:
- $ref: '#/components/parameters/RequestIdHeaderParam'
- $ref: '#/components/parameters/WaasPolicyIdParam'
- $ref: '#/components/parameters/IfMatchHeader'
responses:
202:
$ref: '#/components/responses/RequestAcceptedForProcessing'
400:
$ref: '#/components/responses/BadRequest'
401:
$ref: '#/components/responses/NotAuthenticated'
404:
$ref: '#/components/responses/NotAuthorizedOrNotFound'
409:
$ref: '#/components/responses/IncorrectState'
412:
$ref: '#/components/responses/NoEtagMatch'
429:
$ref: '#/components/responses/TooManyRequests'
default:
$ref: '#/components/responses/Error'
summary: Updates the list of protection rules for the Web Application Firewall.
tags:
- waas
x-example: "PUT /20181116/waasPolicies/ocid1.waaspolicy.oc1../wafConfig/protectionRules HTTP/1.1\nHost: waas.us-phoenix-1.oci.oraclecloud.com\n<authorization and other headers>\n[\n\t{\n \"action\": \"DETECT\",\n \"key\": \"933111\"\n}\n]\n"
x-related-resource: '#/definitions/ProtectionRule'
requestBody:
content:
application/json:
schema:
description: A list of protection rules for which to update the actions.
items:
$ref: '#/components/schemas/ProtectionRuleAction'
type: array
required: true
/waasPolicies/{waasPolicyId}/wafConfig/protectionRules/{protectionRuleKey}:
get:
description: Gets the details of a protection rule in the Web Application Firewall configuration for a WAAS policy.
operationId: GetProtectionRule
parameters:
- $ref: '#/components/parameters/RequestIdHeaderParam'
- $ref: '#/components/parameters/WaasPolicyIdParam'
- $ref: '#/components/parameters/ProtectionRuleKeyParam'
responses:
200:
description: The details of the protection rule.
headers:
etag:
description: For optimistic concurrency control. See `if-match`.
schema:
type: string
opc-request-id:
description: A 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/ProtectionRule'
400:
$ref: '#/components/responses/BadRequest'
401:
$ref: '#/components/responses/NotAuthenticated'
404:
$ref: '#/components/responses/NotAuthorizedOrNotFound'
409:
$ref: '#/components/responses/IncorrectState'
429:
$ref: '#/components/responses/TooManyRequests'
default:
$ref: '#/components/responses/Error'
summary: Returns the details of a single protection rule.
tags:
- waas
x-example: 'GET /20181116/waasPolicies/ocid1.waaspolicy.oc1../wafConfig/protectionRules/2019000513 HTTP/1.1
Host: waas.us-phoenix-1.oci.oraclecloud.com
<authorization and other headers>
'
x-obmcs-client-retries-enabled: true
/waasPolicies/{waasPolicyId}/wafConfig/protectionSettings:
get:
description: Gets the protection settings in the Web Application Firewall configuration for a WAAS policy.
operationId: GetProtectionSettings
parameters:
- $ref: '#/components/parameters/RequestIdHeaderParam'
- $ref: '#/components/parameters/WaasPolicyIdParam'
responses:
200:
description: The details of the protection settings.
headers:
etag:
description: For optimistic concurrency control. See `if-match`.
schema:
type: string
opc-request-id:
description: A 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/ProtectionSettings'
400:
$ref: '#/components/responses/BadRequest'
401:
$ref: '#/components/responses/NotAuthenticated'
404:
$ref: '#/components/responses/NotAuthorizedOrNotFound'
409:
$ref: '#/components/responses/IncorrectState'
429:
$ref: '#/components/responses/TooManyRequests'
default:
$ref: '#/components/responses/Error'
summary: Returns the protection settings for the Web Application Firewall.
tags:
- waas
x-example: 'GET /20181116/waasPolicies/ocid1.waaspolicy.oc1../wafConfig/protectionSettings HTTP/1.1
Host: waas.us-phoenix-1.oci.oraclecloud.com
<authorization and other headers>
'
x-obmcs-client-retries-enabled: true
put:
description: Updates the protection settings in the Web Application Firewall configuration for a WAAS policy. Protection settings allow you define what action is taken when a request is blocked by the Web Application Firewall, such as returning a response code or block page. Only the fields specified in the request body will be updated; all other fields will remain unchanged.
operationId: UpdateProtectionSettings
parameters:
- $ref: '#/components/parameters/RequestIdHeaderParam'
- $ref: '#/components/parameters/RetryTokenHeaderParam'
- $ref: '#/components/parameters/WaasPolicyIdParam'
- $ref: '#/components/parameters/IfMatchHeader'
responses:
202:
$ref: '#/components/responses/RequestAcceptedForProcessing'
400:
$ref: '#/components/responses/BadRequest'
401:
$ref: '#/components/responses/NotAuthenticated'
404:
$ref: '#/components/responses/NotAuthorizedOrNotFound'
409:
$ref: '#/components/responses/IncorrectState'
412:
$ref: '#/components/responses/NoEtagMatch'
429:
$ref: '#/components/responses/TooManyRequests'
default:
$ref: '#/components/responses/Error'
summary: Updates the protection settings for the Web Application Firewall.
tags:
- waas
x-example: "PUT /20181116/waasPolicies/ocid1.waaspolicy.oc1../wafConfig/protectionSettings HTTP/1.1\nHost: waas.us-phoenix-1.oci.oraclecloud.com\n<authorization and other headers>\n{\n \"allowedHttpMethods\": [\n \"GET\",\n \"POST\",\n \"HEAD\",\n \"OPTIONS\"\n ],\n \"blockAction\": \"SHOW_ERROR_PAGE\",\n \"blockErrorPageCode\": \"403\",\n \"blockErrorPageDescription\": \"Access blocked by website owner. Please contact support.\",\n \"blockErrorPageMessage\": \"Access to the website is blocked.\",\n \"blockResponseCode\": 403,\n \"isResponseInspected\": false,\n \"maxArgumentCount\": 255,\n \"maxNameLengthPerArgument\": 200,\n \"maxResponseSizeInKiB\": 1024,\n \"maxTotalNameLengthOfArguments\": 64000,\n \"mediaTypes\": [\n \"text/html\",\n \"text/plain\"\n ],\n \"recommendationsPeriodInDays\": 10\n}\n"
x-related-resource: '#/definitions/ProtectionSettings'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ProtectionSettings'
description: The details of the protection settings to be updated.
required: true
/waasPolicies/{waasPolicyId}/wafConfig/recommendations:
get:
description: 'Gets the list of recommended Web Application Firewall protection rules.
Use the `POST /waasPolicies/{waasPolicyId}/actions/acceptWafConfigRecommendations` method to accept recommended Web Application Firewall protection rules. For more information, see [WAF Protection Rules](/iaas/Content/WAF/Tasks/wafprotectionrules.htm).
The list is sorted by `key`, in ascending order.'
operationId: ListRecommendations
parameters:
- $ref: '#/components/parameters/RequestIdHeaderParam'
- $ref: '#/components/parameters/WaasPolicyIdParam'
- $ref: '#/components/parameters/RecommendationFilterParam'
- $ref: '#/components/parameters/LimitQueryParam'
- $ref: '#/components/parameters/PageQueryParam'
responses:
200:
description: The list of recommended Web Application Firewall protection rules.
headers:
etag:
description: For optimistic concurrency control. See `if-match`.
schema:
type: string
opc-next-page:
description: For list pagination. When this header appears in the response, additional pages of results may remain. For important details about how pagination works, see [List Pagination](/iaas/Content/API/Concepts/usingapi.htm#nine).
schema:
type: string
opc-request-id:
description: A 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:
description: A list of protection rule recommendations.
items:
$ref: '#/components/schemas/Recommendation'
type: array
400:
$ref: '#/components/responses/BadRequest'
401:
$ref: '#/components/responses/NotAuthenticated'
404:
$ref: '#/components/responses/NotAuthorizedOrNotFound'
409:
$ref: '#/components/responses/IncorrectState'
429:
$ref: '#/components/responses/TooManyRequests'
default:
$ref: '#/components/responses/Error'
summary: Returns the list of recommended Web Application Firewall protection rules.
tags:
- waas
x-example: 'GET /20181116/waasPolicies/ocid1.waaspolicy.oc1../wafConfig/recommendations HTTP/1.1
Host: waas.us-phoenix-1.oci.oraclecloud.com
<authorization and other headers>
'
x-obmcs-client-retries-enabled: true
/waasPolicies/{waasPolicyId}/wafConfig/threatFeeds:
get:
description: 'Gets the list of available web application threat intelligence feeds
and the actions set for each feed. The list is sorted by `key`,
in ascending order.
'
operationId: ListThreatFeeds
parameters:
- $ref: '#/components/parameters/RequestIdHeaderParam'
- $ref: '#/components/parameters/WaasPolicyIdParam'
- $ref: '#/components/parameters/LimitQueryParam'
- $ref: '#/components/parameters/PageQueryParam'
responses:
200:
description: The list of web application threat intelligence feeds.
headers:
etag:
description: For optimistic concurrency control. See `if-match`.
schema:
type: string
opc-next-page:
description: For list pagination. When this header appears in the response, additional pages of results may remain. For important details about how pagination works, see [List Pagination](/iaas/Content/API/Concepts/usingapi.htm#nine).
schema:
type: string
opc-request-id:
description: A 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:
description: A list of threat feeds.
items:
$ref: '#/components/schemas/ThreatFeed'
type: array
400:
$ref: '#/components/responses/BadRequest'
401:
$ref: '#/components/responses/NotAuthenticated'
404:
$ref: '#/components/responses/NotAuthorizedOrNotFound'
409:
$ref: '#/components/responses/IncorrectState'
429:
$ref: '#/components/responses/TooManyRequests'
default:
$ref: '#/components/responses/Error'
summary: Returns a list of threat intelligence feeds.
tags:
- waas
x-example: 'GET /20181116/waasPolicies/ocid1.waaspolicy.oc1../wafConfig/threatFeeds HTTP/1.1
Host: waas.us-phoenix-1.oci.oraclecloud.com
<authorization and other headers>
'
x-obmcs-client-retries-enabled: true
put:
description: Updates the action to take when a request's IP address matches an address in the specified threat intelligence feed. Threat intelligence feeds are compiled lists of IP addresses with malicious reputations based on internet intelligence. Only the threat feeds specified in the request body will be updated; all other threat feeds will remain unchanged.
operationId: UpdateThreatFeeds
parameters:
- $ref: '#/components/parameters/RequestIdHeaderParam'
- $ref: '#/components/parameters/WaasPolicyIdParam'
- $ref: '#/components/parameters/IfMatchHeader'
responses:
202:
$ref: '#/components/responses/RequestAcceptedForProcessing'
400:
$ref: '#/components/responses/BadRequest'
401:
$ref: '#/components/responses/NotAuthenticated'
404:
$ref: '#/components/responses/NotAuthorizedOrNotFound'
409:
$ref: '#/components/responses/IncorrectState'
412:
$ref: '#/components/responses/NoEtagMatch'
429:
$ref: '#/components/responses/TooManyRequests'
default:
$ref: '#/components/responses/Error'
summary: Updates the action for each threat intelligence feed.
tags:
- waas
x-example: "PUT /20181116/waasPolicies/ocid1.waaspolicy.oc1../wafConfig/threatFeeds HTTP/1.1\nHost: waas.us-phoenix-1.oci.oraclecloud.com\n<authorization and other headers>\n[\n {\n \"action\": \"DETECT\",\n \"description\": \"the IP blocklist includes known ZeuS Command & Control servers (hosts) around the world.\\n\",\n \"key\": \"d5fc71f4-6ec7-4c08-88e5-c06a251e08f5\",\n \"name\": \"Zeus Tracker\"\n }\n]\n"
x-related-resource: '#/definitions/ThreatFeed'
requestBody:
content:
application/json:
schema:
description: A list of actions.
items:
$ref: '#/components/schemas/ThreatFeedAction'
type: array
description: A list of threat feeds for which to update the actions.
required: true
/waasPolicies/{waasPolicyId}/wafConfig/whitelists:
get:
description: Gets the list of whitelists defined in the Web Application Firewall configuration for a WAAS policy.
operationId: ListWhitelists
parameters:
- $ref: '#/components/parameters/RequestIdHeaderParam'
- $ref: '#/components/parameters/WaasPolicyIdParam'
- $ref: '#/components/parameters/LimitQueryParam'
- $ref: '#/components/parameters/PageQueryParam'
responses:
200:
description: The list of whitelists.
headers:
etag:
description: For optimistic concurrency control. See `if-match`.
schema:
type: string
opc-next-page:
description: For list pagination. When this header appears in the response, additional pages of results may remain. For important details about how pagination works, see [List Pagination](/iaas/Content/API/Concepts/usingapi.htm#nine).
schema:
type: string
opc-request-id:
description: A 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:
description: A list of whitelist IP addresses that should bypass the Web Application Firewall.
items:
$ref: '#/components/schemas/Whitelist'
type: array
400:
$ref: '#/components/responses/BadRequest'
401:
$ref: '#/components/responses/NotAuthenticated'
404:
$ref: '#/components/responses/NotAuthorizedOrNotFound'
409:
$ref: '#/components/responses/IncorrectState'
429:
$ref: '#/components/responses/TooManyRequests'
default:
$ref: '#/components/responses/Error'
summary: Returns a list of whitelists for the Web Application Firewall.
tags:
- waas
x-example: 'GET /20181116/waasPolicies/ocid1.waaspolicy.oc1../wafConfig/whitelists HTTP/1.1
Host: waas.us-phoenix-1.oci.oraclecloud.com
<authorization and other headers>
'
x-obmcs-client-retries-enabled: true
put:
description: 'Updates the list of IP addresses that bypass the Web Application Firewall for a WAAS policy. Supports single IP addresses, subnet masks (CIDR notation) and Address Lists.
This operation can create, delete, update, and/or reorder whitelists depending on the structure of the request body.
Whitelists can be updated by changing the properties of the whitelist object with the rule''s key specified in the `key` field. Whitelists can be reordered by changing the order of the whitelists in the list of objects when updating.
Whitelists can be created by adding a new whitelist object to the list without a `key` property specified. A `key` will be generated for the new whitelist upon update.
Whitelists can be deleted by removing the existing whitelist object from the list. Any existing whitelists that are not specified with a `key` in the list of access rules will be deleted upon update.'
operationId: UpdateWhitelists
parameters:
- $ref: '#/components/parameters/RequestIdHeaderParam'
- $ref: '#/components/parameters/WaasPolicyIdParam'
- $ref: '#/components/parameters/RetryTokenHeaderParam'
- $ref: '#/components/parameters/IfMatchHeader'
responses:
202:
$ref: '#/components/responses/RequestAcceptedForProcessing'
400:
$ref: '#/components/responses/BadRequest'
401:
$ref: '#/components/responses/NotAuthenticated'
404:
$ref: '#/components/responses/NotAuthorizedOrNotFound'
409:
$ref: '#/components/responses/IncorrectState'
412:
$ref: '#/components/responses/NoEtagMatch'
429:
$ref: '#/components/responses/TooManyRequests'
default:
$ref: '#/components/responses/Error'
summary: Updates the list of whitelists for the Web Application Firewall.
tags:
- waas
x-example: "PUT /20181116/waasPolicies/ocid1.waaspolicy.oc1../wafConfig/whitelists HTTP/1.1\nHost: waas.us-phoenix-1.oci.oraclecloud.com\n<authorization and other headers>\n[\n {\n \"addresses\": [\n \"192.0.2.0\"\n ],\n \"key\": \"01b07c56-b0cc-4a0e-a5c5-7069320e2d81\",\n \"name\": \"whats my ip?\"\n },\n {\n \"addresses\": [\n \"8.8.8.8\"\n ],\n \"key\": \"1fc13898-b30c-4e44-bf63-2f9b75d9625f\",\n \"name\": \"google name change test2\"\n }\n]\n"
x-related-resource: '#/definitions/Whitelist'
requestBody:
content:
application/json:
schema:
description: The list of updated whitelists that bypass the Web Application Firewall. There is no limit on the number of IP addresses that may be passed.
items:
$ref: '#/components/schemas/Whitelist'
type: array
required: true
/waasPolicies/{waasPolicyId}/wafLogs:
get:
description: 'Gets structured Web Application Firewall event logs for a WAAS
policy. Sorted by the `timeObserved` in ascending order (starting from the
oldest recorded event).
'
operationId: ListWafLogs
parameters:
- $ref: '#/components/parameters/RequestIdHeaderParam'
- $ref: '#/components/parameters/WaasPolicyIdParam'
- $ref: '#/components/parameters/LargeLimitQueryParam'
- $ref: '#/components/parameters/PageQueryParam'
- $ref: '#/components/parameters/FromDateLogObservedQueryParam'
- $ref: '#/components/parameters/ToDateLogObservedQueryParam'
- description: A full text search for logs.
in: query
name: textContains
x-isnullable: true
schema:
type: string
- description: Filters logs by access rule key.
in: query
name: accessRuleKey
x-isnullable: true
style: form
explode: true
schema:
type: array
items:
type: string
- description: Filters logs by Web Application Firewall action.
in: query
name: action
x-isnullable: true
style: form
explode: true
schema:
type: array
items:
enum:
- BLOCK
- DETECT
- BYPASS
- LOG
- REDIRECTED
type: string
- description: Filters logs by client IP address.
in: query
name: clientAddress
x-isnullable: true
style: form
explode: true
schema:
type: array
items:
type: string
- description: Filters logs by country code. Country codes are in ISO 3166-1 alpha-2 format. For a list of codes, see [ISO's website](https://www.iso.org/obp/ui/#search/code/).
in: query
name: countryCode
x-isnullable: true
style: form
explode: true
schema:
type: array
items:
maxLength: 2
minLength: 2
pattern: '[A-Z]{2}'
type: string
- description: Filter logs by country name.
in: query
name: countryName
x-isnullable: true
style: form
explode: true
schema:
type: array
items:
type: string
- description: Filter logs by device fingerprint.
in: query
name: fingerprint
x-isnullable: true
style: form
explode: true
schema:
type: array
items:
type: string
- description: Filter logs by HTTP method.
in: query
name: httpMethod
x-isnullable: true
style: form
explode: true
schema:
type: array
items:
enum:
- OPTIONS
- GET
- HEAD
- POST
- PUT
- DELETE
- TRACE
- CONNECT
type: string
- description: Filter logs by incident key.
in: query
name: incidentKey
x-isnullable: true
style: form
explode: true
schema:
type: array
items:
type: string
- description: Filter by log type. For more information about WAF logs, see [Logs](/iaas/Content/WAF/Tasks/logs.htm).
in: query
name: logType
x-isnullable: true
style: form
explode: true
schema:
type: array
items:
enum:
- ACCESS
- PROTECTION_RULES
- JS_CHALLENGE
- CAPTCHA
- ACCESS_RULES
- THREAT_FEEDS
- HUMAN_INTERACTION_CHALLENGE
- DEVICE_FINGERPRINT_CHALLENGE
- ADDRESS_RATE_LIMITING
type: string
- description: Filter by origin IP address.
in: query
name: originAddress
x-isnullable: true
style: form
explode: true
schema:
type: array
items:
type: string
- description: Filter by referrer.
in: query
name: referrer
x-isnullable: true
style: form
explode: true
schema:
type: array
items:
type: string
- description: Filter by request URL.
in: query
name: requestUrl
x-isnullable: true
style: form
explode: true
schema:
type: array
items:
type: string
- description: Filter by response code.
in: query
name: responseCode
x-isnullable: true
style: form
explode: true
schema:
type: array
items:
maximum: 999
minimum: 100
type: integer
- description: Filter by threat feed key.
in: query
name: threatFeedKey
x-isnullable: true
style: form
explode: true
schema:
type: array
items:
type: string
- description: Filter by user agent.
in: query
name: userAgent
x-isnullable: true
style: form
explode: true
schema:
type: array
items:
type: string
- description: Filter by protection rule key.
in: query
name: protectionRuleKey
x-isnullable: true
style: form
explode: true
schema:
type: array
items:
type: string
responses:
200:
description: Web Application Firewall logs
headers:
opc-next-page:
description: For list pagination. When this header appears in the response, additional pages of results may remain. For important details about how pagination works, see [List Pagination](/iaas/Content/API/Concepts/usingapi.htm#nine).
schema:
type: string
opc-request-id:
description: A 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:
description: A list of Web Application Firewall log entries. Each entry is a JSON object whose fields vary based on log type.
items:
$ref: '#/components/schemas/WafLog'
type: array
400:
$ref: '#/components/responses/BadRequest'
401:
$ref: '#/components/responses/NotAuthenticated'
404:
$ref: '#/components/responses/NotAuthorizedOrNotFound'
409:
$ref: '#/components/responses/IncorrectState'
429:
$ref: '#/components/responses/TooManyRequests'
default:
$ref: '#/components/responses/Error'
summary: Returns a list of logs for the Web Application Firewall.
tags:
- waas
x-example: 'GET /20181116/waasPolicies/ocid1.waaspolicy.oc1../wafLogs HTTP/1.1
Host: waas.us-phoenix-1.oci.oraclecloud.com
<authorization and other headers>
'
x-obmcs-client-retries-enabled: true
/workRequests:
get:
description: Gets a list of subnets (CIDR notation) from which the WAAS EDGE may make requests. The subnets are owned by OCI and forward traffic to your origins. Allow traffic from these subnets to your origins. They are not associated with specific regions or compartments.
operationId: ListWorkRequests
parameters:
- $ref: '#/components/parameters/RequestIdHeaderParam'
- $ref: '#/components/parameters/WaasPolicyIdQueryParam'
- $ref: '#/components/parameters/CompartmentIdQueryParam'
- $ref: '#/components/parameters/LimitQueryParam'
- $ref: '#/components/parameters/PageQueryParam'
- $ref: '#/components/parameters/WorkRequestSortByQueryParam'
- $ref: '#/components/parameters/SortOrderQueryParam'
responses:
200:
description: The list of work requests.
headers:
opc-next-page:
description: For list pagination. When this header appears in the response, additional pages of results may remain. For important details about how pagination works, see [List Pagination](/iaas/Content/API/Concepts/usingapi.htm#nine).
schema:
type: string
opc-request-id:
description: A 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:
items:
$ref: '#/components/schemas/WorkRequestSummary'
type: array
400:
$ref: '#/components/responses/BadRequest'
401:
$ref: '#/components/responses/NotAuthenticated'
404:
$ref: '#/components/responses/NotAuthorizedOrNotFound'
429:
$ref: '#/components/responses/TooManyRequests'
default:
$ref: '#/components/responses/Error'
summary: Returns a list of work requests.
tags:
- waas
x-example: 'GET /20181116/workRequests?compartmentId=ocid1.compartment.oc1..; waasPolicyId=ocid1.waaspolicy.oc1.. HTTP/1.1
Host: waas.us-phoenix-1.oci.oraclecloud.com
<authorization and other headers>
'
x-obmcs-client-retries-enabled: true
/workRequests/{workRequestId}:
delete:
description: Cancels a specified work request.
operationId: CancelWorkRequest
parameters:
- $ref: '#/components/parameters/RequestIdHeaderParam'
- $ref: '#/components/parameters/WorkRequestIdParam'
- $ref: '#/components/parameters/RetryTokenHeaderParam'
- $ref: '#/components/parameters/IfMatchHeader'
responses:
202:
description: The cancellation request was accepted for processing.
headers:
opc-request-id:
description: A 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
400:
$ref: '#/components/responses/BadRequest'
401:
$ref: '#/components/responses/NotAuthenticated'
404:
$ref: '#/components/responses/NotAuthorizedOrNotFound'
409:
$ref: '#/components/responses/IncorrectState'
429:
$ref: '#/components/responses/TooManyRequests'
default:
$ref: '#/components/responses/Error'
summary: Cancels a work request.
tags:
- waas
x-example: 'DELETE /20181116/workRequests/ocid1.waasworkrequest.oc1.. HTTP/1.1
Host: waas.us-phoenix-1.oci.oraclecloud.com
<authorization and other headers>
'
x-related-resource: '#/definitions/WorkRequest'
get:
description: Gets the details of a specified work request.
operationId: GetWorkRequest
parameters:
- $ref: '#/components/parameters/RequestIdHeaderParam'
- $ref: '#/components/parameters/WorkRequestIdParam'
responses:
200:
description: The details of the work request.
headers:
Retry-After:
description: A decimal number representing the number of seconds the client should wait before polling this endpoint again.
schema:
type: number
format: float
etag:
description: For optimistic concurrency control. See `if-match`.
schema:
type: string
opc-request-id:
description: A 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/WorkRequest'
400:
$ref: '#/components/responses/BadRequest'
401:
$ref: '#/components/responses/NotAuthenticated'
404:
$ref: '#/components/responses/NotAuthorizedOrNotFound'
429:
$ref: '#/components/responses/TooManyRequests'
default:
$ref: '#/components/responses/Error'
summary: Returns the details of a work request.
tags:
- waas
x-example: 'GET /20181116/workRequests/ocid1.waasworkrequest.oc1.. HTTP/1.1
Host: waas.us-phoenix-1.oci.oraclecloud.com
<authorization and other headers>
'
x-obmcs-client-retries-enabled: true
components:
schemas:
ProtectionSettings:
description: The settings used for protection rules.
properties:
allowedHttpMethods:
description: 'The list of allowed HTTP methods. If unspecified, default to `[OPTIONS, GET, HEAD, POST]`. This setting only applies if a corresponding protection rule is enabled, such as the "Restrict HTTP Request Methods" rule (key: 911100).'
items:
enum:
- OPTIONS
- GET
- HEAD
- POST
- PUT
- DELETE
- TRACE
- CONNECT
- PATCH
- PROPFIND
type: string
type: array
blockAction:
description: If `action` is set to `BLOCK`, this specifies how the traffic is blocked when detected as malicious by a protection rule. If unspecified, defaults to `SET_RESPONSE_CODE`.
enum:
- SHOW_ERROR_PAGE
- SET_RESPONSE_CODE
type: string
x-isnullable: true
blockErrorPageCode:
description: The error code to show on the error page when `action` is set to `BLOCK`, `blockAction` is set to `SHOW_ERROR_PAGE`, and the traffic is detected as malicious by a protection rule. If unspecified, defaults to `403`.
maxLength: 5000
minLength: 1
type: string
x-isnullable: true
blockErrorPageDescription:
description: The description text to show on the error page when `action` is set to `BLOCK`, `blockAction` is set to `SHOW_ERROR_PAGE`, and the traffic is detected as malicious by a protection rule. If unspecified, defaults to `Access blocked by website owner. Please contact support.`
maxLength: 5000
minLength: 1
type: string
x-isnullable: true
blockErrorPageMessage:
description: The message to show on the error page when `action` is set to `BLOCK`, `blockAction` is set to `SHOW_ERROR_PAGE`, and the traffic is detected as malicious by a protection rule. If unspecified, defaults to 'Access to the website is blocked.'
maxLength: 5000
minLength: 1
type: string
x-isnullable: true
blockResponseCode:
description: 'The response code returned when `action` is set to `BLOCK`, `blockAction` is set to `SET_RESPONSE_CODE`, and the traffic is detected as malicious by a protection rule. If unspecified, defaults to `403`. The list of available response codes: `400`, `401`, `403`, `405`, `409`, `411`, `412`, `413`, `414`, `415`, `416`, `500`, `501`, `502`, `503`, `504`, `507`.'
maximum: 999
minimum: 100
type: integer
x-isnullable: true
isResponseInspected:
description: 'Inspects the response body of origin responses. Can be used to detect leakage of sensitive data. If unspecified, defaults to `false`.
**Note:** Only origin responses with a Content-Type matching a value in `mediaTypes` will be inspected.'
type: boolean
x-isnullable: true
maxArgumentCount:
description: 'The maximum number of arguments allowed to be passed to your application before an action is taken. Arguements are query parameters or body parameters in a PUT or POST request. If unspecified, defaults to `255`. This setting only applies if a corresponding protection rule is enabled, such as the "Number of Arguments Limits" rule (key: 960335).
Example: If `maxArgumentCount` to `2` for the Max Number of Arguments protection rule (key: 960335), the following requests would be blocked:
`GET /myapp/path?query=one&query=two&query=three`
`POST /myapp/path` with Body `{"argument1":"one","argument2":"two","argument3":"three"}`'
maximum: 10000
minimum: 1
type: integer
x-isnullable: true
maxNameLengthPerArgument:
description: 'The maximum length allowed for each argument name, in characters. Arguements are query parameters or body parameters in a PUT or POST request. If unspecified, defaults to `400`. This setting only applies if a corresponding protection rule is enabled, such as the "Values Limits" rule (key: 960208).'
maximum: 150000
minimum: 1
type: integer
x-isnullable: true
maxResponseSizeInKiB:
description: The maximum response size to be fully inspected, in binary kilobytes (KiB). Anything over this limit will be partially inspected. If unspecified, defaults to `1024`.
maximum: 2048
minimum: 10
type: integer
x-isnullable: true
maxTotalNameLengthOfArguments:
description: 'The maximum length allowed for the sum of the argument name and value, in characters. Arguements are query parameters or body parameters in a PUT or POST request. If unspecified, defaults to `64000`. This setting only applies if a corresponding protection rule is enabled, such as the "Total Arguments Limits" rule (key: 960341).'
maximum: 360000
minimum: 1
type: integer
x-isnullable: true
mediaTypes:
description: "The list of media types to allow for inspection, if `isResponseInspected` is enabled. Only responses with MIME types in this list will be inspected. If unspecified, defaults to `[\"text/html\", \"text/plain\", \"text/xml\"]`.\n\n Supported MIME types include:\n\n - text/html\n - text/plain\n - text/asp\n - text/css\n - text/x-script\n - application/json\n - text/webviewhtml\n - text/x-java-source\n - application/x-javascript\n - application/javascript\n - application/ecmascript\n - text/javascript\n - text/ecmascript\n - text/x-script.perl\n - text/x-script.phyton\n - application/plain\n - application/xml\n - text/xml"
items:
type: string
type: array
recommendationsPeriodInDays:
description: 'The length of time to analyze traffic traffic, in days. After the analysis period, `WafRecommendations` will be populated. If unspecified, defaults to `10`.
Use `GET /waasPolicies/{waasPolicyId}/wafRecommendations` to view WAF recommendations.'
maximum: 100
minimum: 5
type: integer
x-isnullable: true
type: object
AddressRateLimiting:
description: The IP rate limiting configuration. Defines the amount of allowed requests from a unique IP address and the resulting block response code when that threshold is exceeded.
properties:
allowedRatePerAddress:
description: The number of allowed requests per second from one IP address. If unspecified, defaults to `1`.
maximum: 9999
minimum: 1
type: integer
x-isnullable: true
blockResponseCode:
description: 'The response status code returned when a request is blocked. If unspecified, defaults to `503`. The list of available response codes: `400`, `401`, `403`, `404`, `405`, `408`, `409`, `411`, `412`, `413`, `414`, `415`, `416`, `422`, `494`, `495`, `496`, `497`, `499`, `500`, `501`, `502`, `503`, `504`, `507`.'
maximum: 999
minimum: 100
type: integer
x-isnullable: true
isEnabled:
description: Enables or disables the address rate limiting Web Application Firewall feature.
type: boolean
maxDelayedCountPerAddress:
description: The maximum number of requests allowed to be queued before subsequent requests are dropped. If unspecified, defaults to `10`.
maximum: 9999
minimum: 1
type: integer
x-isnullable: true
required:
- isEnabled
type: object
Error:
description: An error code and message.
properties:
code:
type: string
message:
type: string
required:
- code
- message
type: object
CachingRuleSummary:
description: The caching rule settings.
properties:
action:
description: 'The action to take when the criteria of a caching rule are met.
- **CACHE:** Caches requested content when the criteria of the rule are met.
- **BYPASS_CACHE:** Allows requests to bypass the cache and be directed to the origin when the criteria of the rule is met.'
enum:
- CACHE
- BYPASS_CACHE
type: string
x-isnullable: true
cachingDuration:
description: 'The duration to cache content for the caching rule, specified in ISO 8601 extended format. Supported units: seconds, minutes, hours, days, weeks, months. The maximum value that can be set for any unit is `99`. Mixing of multiple units is not supported. Only applies when the `action` is set to `CACHE`.
Example: `PT1H`'
example: PT1H
type: string
x-isnullable: true
clientCachingDuration:
description: 'The duration to cache content in the user''s browser, specified in ISO 8601 extended format. Supported units: seconds, minutes, hours, days, weeks, months. The maximum value that can be set for any unit is `99`. Mixing of multiple units is not supported. Only applies when the `action` is set to `CACHE`.
Example: `PT1H`'
example: PT1H
type: string
x-isnullable: true
criteria:
description: The array of the rule criteria with condition and value. The caching rule would be applied for the requests that matched any of the listed conditions.
items:
$ref: '#/components/schemas/CachingRuleCriteria'
type: array
isClientCachingEnabled:
description: 'Enables or disables client caching.
Browsers use the `Cache-Control` header value for caching content locally in the browser. This setting overrides the addition of a `Cache-Control` header in responses.'
type: boolean
x-isnullable: true
key:
description: The unique key for the caching rule.
type: string
name:
description: The name of the caching rule.
maxLength: 255
minLength: 1
type: string
required:
- name
- action
- criteria
type: object
AddressListSummary:
description: A summary of the address list's information.
properties:
addressCount:
description: The total number of unique IP addresses in the address list.
type: number
compartmentId:
description: The [OCID](/Content/General/Concepts/identifiers.htm) of the address list's compartment.
maxLength: 255
minLength: 1
type: string
definedTags:
additionalProperties:
additionalProperties:
description: 'The value of the tag. Only the String type is supported.
'
type: object
description: 'Key-value pair representing a defined tag key and value, scoped to a namespace.
Example: `{"CostCenter": "42"}`
'
type: object
description: 'Defined tags for this resource. Each key is predefined and scoped to a namespace.
For more information, see [Resource Tags](/Content/General/Concepts/resourcetags.htm).
Example: `{"Operations": {"CostCenter": "42"}}`
'
type: object
displayName:
description: The user-friendly name of the address list.
maxLength: 255
minLength: 1
type: string
freeformTags:
additionalProperties:
type: string
x-isnullable: true
description: 'Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace.
For more information, see [Resource Tags](/Content/General/Concepts/resourcetags.htm).
Example: `{"Department": "Finance"}`
'
type: object
id:
description: The [OCID](/Content/General/Concepts/identifiers.htm) of the address list.
maxLength: 255
minLength: 1
type: string
lifecycleState:
description: The current lifecycle state of the address list.
enum:
- CREATING
- ACTIVE
- FAILED
- UPDATING
- DELETING
- DELETED
type: string
x-obmcs-top-level-enum: '#/definitions/LifecycleStates'
timeCreated:
description: The date and time the address list was created, in the format defined by RFC3339.
example: '2018-11-16T21:10:29Z'
format: date-time
type: string
type: object
CertificateSubjectName:
description: The entity to be secured by the certificate.
properties:
commonName:
description: The fully qualified domain name used for DNS lookups of the server.
type: string
country:
description: ISO 3166-1 alpha-2 code of the country where the organization is located. For a list of codes, see [ISO's website](https://www.iso.org/obp/ui/#search/code/).
type: string
emailAddress:
description: The email address of the server's administrator.
type: string
locality:
description: The city in which the organization is located.
type: string
organization:
description: The organization name.
type: string
organizationalUnit:
description: The field to differentiate between divisions within an organization.
type: string
stateProvince:
description: The province where the organization is located.
type: string
type: object
Recommendation:
description: 'A recommended protection rule for a web application. This recommendation can be accepted to apply it to the Web Application Firewall configuration for this policy.
Use the `POST /waasPolicies/{waasPolicyId}/actions/acceptWafConfigRecommendations` method to accept recommended protection rules.'
properties:
description:
description: The description of the recommended protection rule.
type: string
x-isnullable: true
key:
description: The unique key for the recommended protection rule.
type: string
labels:
description: The list of labels for the recommended protection rule.
items:
type: string
type: array
x-isnullable: true
modSecurityRuleIds:
description: 'The list of the ModSecurity rule IDs associated with the protection rule.
For more information about ModSecurity''s open source WAF rules, see [Mod Security''s documentation](https://www.modsecurity.org/CRS/Documentation/index.html).'
items:
type: string
type: array
name:
description: The name of the recommended protection rule.
maxLength: 255
minLength: 1
type: string
x-isnullable: true
recommendedAction:
description: The recommended action to apply to the protection rule.
type: string
x-isnullable: true
type: object
CustomProtectionRuleSetting:
description: The OCID and action of a custom protection rule.
properties:
action:
default: DETECT
description: 'The action to take when the custom protection rule is triggered.
`DETECT` - Logs the request when the criteria of the custom protection rule are met. `BLOCK` - Blocks the request when the criteria of the custom protection rule are met.'
enum:
- DETECT
- BLOCK
type: string
exclusions:
items:
$ref: '#/components/schemas/ProtectionRuleExclusion'
type: array
id:
description: The [OCID](/Content/General/Concepts/identifiers.htm) of the custom protection rule.
maxLength: 255
minLength: 1
type: string
type: object
Captcha:
description: 'The settings of the CAPTCHA challenge. If a specific URL should be accessed only by a human, a CAPTCHA challenge can be placed at the URL to protect the web application from bots.
*Warning:* Oracle recommends that you avoid using any confidential information when you supply string values using the API.'
properties:
failureMessage:
description: The text to show when incorrect CAPTCHA text is entered. If unspecified, defaults to `The CAPTCHA was incorrect. Try again.`
maxLength: 5000
minLength: 1
type: string
x-isnullable: true
footerText:
description: The text to show in the footer when showing a CAPTCHA challenge. If unspecified, defaults to 'Enter the letters and numbers as they are shown in the image above.'
maxLength: 5000
minLength: 1
type: string
x-isnullable: true
headerText:
description: The text to show in the header when showing a CAPTCHA challenge. If unspecified, defaults to 'We have detected an increased number of attempts to access this website. To help us keep this site secure, please let us know that you are not a robot by entering the text from the image below.'
maxLength: 5000
minLength: 1
type: string
x-isnullable: true
sessionExpirationInSeconds:
description: The amount of time before the CAPTCHA expires, in seconds. If unspecified, defaults to `300`.
maximum: 432000
minimum: 1
type: integer
x-isnullable: true
submitLabel:
description: The text to show on the label of the CAPTCHA challenge submit button. If unspecified, defaults to `Yes, I am human`.
maxLength: 100
minLength: 1
type: string
x-isnullable: true
title:
description: The title used when displaying a CAPTCHA challenge. If unspecified, defaults to `Are you human?`
maxLength: 100
minLength: 1
type: string
x-isnullable: true
url:
description: The unique URL path at which to show the CAPTCHA challenge.
maxLength: 8000
minLength: 1
type: string
x-isnullable: true
required:
- sessionExpirationInSeconds
- title
- url
- failureMessage
- submitLabel
type: object
CertificateSummary:
description: 'A summary of the SSL certificate''s information.
**Warning:** Oracle recommends that you avoid using any confidential information when you supply string values using the API.'
properties:
compartmentId:
description: The [OCID](/Content/General/Concepts/identifiers.htm) of the SSL certificate's compartment.
maxLength: 255
minLength: 1
type: string
definedTags:
additionalProperties:
additionalProperties:
description: 'The value of the tag. Only the String type is supported.
'
type: object
description: 'Key-value pair representing a defined tag key and value, scoped to a namespace.
Example: `{"CostCenter": "42"}`
'
type: object
description: 'Defined tags for this resource. Each key is predefined and scoped to a namespace.
For more information, see [Resource Tags](/Content/General/Concepts/resourcetags.htm).
Example: `{"Operations": {"CostCenter": "42"}}`
'
type: object
displayName:
description: The user-friendly name of the SSL certificate.
maxLength: 255
minLength: 1
type: string
freeformTags:
additionalProperties:
type: string
x-isnullable: true
description: 'Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace.
For more information, see [Resource Tags](/Content/General/Concepts/resourcetags.htm).
Example: `{"Department": "Finance"}`
'
type: object
id:
description: The [OCID](/Content/General/Concepts/identifiers.htm) of the SSL certificate.
maxLength: 255
minLength: 1
type: string
lifecycleState:
description: The current lifecycle state of the certificate.
enum:
- CREATING
- ACTIVE
- FAILED
- UPDATING
- DELETING
- DELETED
type: string
x-obmcs-top-level-enum: '#/definitions/LifecycleStates'
timeCreated:
description: The date and time the certificate was created, in the format defined by RFC3339.
example: '2018-11-16T21:10:29Z'
format: date-time
type: string
timeNotValidAfter:
description: The date and time the certificate will expire, expressed in RFC 3339 timestamp format.
example: '2018-11-16T21:10:29Z'
format: date-time
type: string
type: object
WorkRequestSummary:
description: The summarized details of a work request.
properties:
compartmentId:
description: The [OCID](/Content/General/Concepts/identifiers.htm) of the compartment that contains the work request.
maxLength: 255
minLength: 1
type: string
id:
description: The [OCID](/Content/General/Concepts/identifiers.htm) of the work request.
example: ocid.work-request.oc1.phx.abuxgljr6l4nepxjkmbtnibwqpu5z24xdvmr7okzoi47wicoflrxh32rwd7a
maxLength: 255
minLength: 1
type: string
operationType:
description: A description of the operation requested by the work request.
enum:
- CREATE_WAAS_POLICY
- UPDATE_WAAS_POLICY
- DELETE_WAAS_POLICY
- CREATE_HTTP_REDIRECT
- UPDATE_HTTP_REDIRECT
- DELETE_HTTP_REDIRECT
- PURGE_WAAS_POLICY_CACHE
- CREATE_CUSTOM_PROTECTION_RULE
- UPDATE_CUSTOM_PROTECTION_RULE
- DELETE_CUSTOM_PROTECTION_RULE
type: string
x-obmcs-top-level-enum: '#/definitions/WorkRequestOperationTypes'
percentComplete:
description: The percentage of work completed by the work request.
format: int32
maximum: 100
minimum: 0
type: integer
resources:
description: The resources being used to complete the work request operation.
items:
$ref: '#/components/schemas/WorkRequestResource'
type: array
status:
description: The current status of the work request.
enum:
- ACCEPTED
- IN_PROGRESS
- FAILED
- SUCCEEDED
- CANCELING
- CANCELED
type: string
x-obmcs-top-level-enum: '#/definitions/WorkRequestStatusValues'
timeAccepted:
description: The date and time the work request was created, expressed in RFC 3339 timestamp format.
example: '2018-11-16T21:10:29Z'
format: date-time
type: string
timeFinished:
description: The date and time the work request was fulfilled or terminated, in the format defined by RFC3339.
example: '2018-11-16T21:10:29Z'
format: date-time
type: string
timeStarted:
description: The date and time the work request moved from the `ACCEPTED` state to the `IN_PROGRESS` state, expressed in RFC 3339 timestamp format.
example: '2018-11-16T21:10:29Z'
format: date-time
type: string
required:
- id
- compartmentId
- status
- timeAccepted
- timeStarted
- timeFinished
- operationType
type: object
WaasPolicySummary:
description: 'Summary information about a WAAS policy.
**Warning:** Oracle recommends that you avoid using any confidential information when you supply string values using the API.'
properties:
compartmentId:
description: The [OCID](/Content/General/Concepts/identifiers.htm) of the WAAS policy's compartment.
maxLength: 255
minLength: 1
type: string
definedTags:
additionalProperties:
additionalProperties:
description: 'The value of the tag. Only the String type is supported.
'
type: object
description: 'Key-value pair representing a defined tag key and value, scoped to a namespace.
Example: `{"CostCenter": "42"}`
'
type: object
description: 'Defined tags for this resource. Each key is predefined and scoped to a namespace.
For more information, see [Resource Tags](/Content/General/Concepts/resourcetags.htm).
Example: `{"Operations": {"CostCenter": "42"}}`
'
type: object
displayName:
description: The user-friendly name of the WAAS policy. The name can be changed and does not need to be unique.
maxLength: 255
minLength: 1
type: string
domain:
description: The web application domain that the WAAS policy protects.
type: string
freeformTags:
additionalProperties:
type: string
x-isnullable: true
description: 'Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace.
For more information, see [Resource Tags](/Content/General/Concepts/resourcetags.htm).
Example: `{"Department": "Finance"}`
'
type: object
id:
description: The [OCID](/Content/General/Concepts/identifiers.htm) of the WAAS policy.
maxLength: 255
minLength: 1
type: string
lifecycleState:
description: The current lifecycle state of the WAAS policy.
enum:
- CREATING
- ACTIVE
- FAILED
- UPDATING
- DELETING
- DELETED
type: string
x-obmcs-top-level-enum: '#/definitions/LifecycleStates'
timeCreated:
description: The date and time the policy was created, expressed in RFC 3339 timestamp format.
example: '2018-11-16T21:10:29Z'
format: date-time
type: string
type: object
ChangeAddressListCompartmentDetails:
properties:
compartmentId:
description: 'The [OCID](/Content/General/Concepts/identifiers.htm) of the compartment into which the resource should be moved. For information about moving resources between compartments, see [Moving Resources to a Different Compartment](/iaas/Content/Identity/Tasks/managingcompartments.htm#moveRes).
'
maxLength: 255
minLength: 1
type: string
required:
- compartmentId
type: object
WafConfigDetails:
description: The Web Application Firewall configuration for the WAAS policy creation.
properties:
accessRules:
description: The access rules applied to the Web Application Firewall. Access rules allow custom content access policies to be defined and `ALLOW`, `DETECT`, or `BLOCK` actions to be taken on a request when specified criteria are met.
items:
$ref: '#/components/schemas/AccessRule'
maxItems: 100
type: array
addressRateLimiting:
$ref: '#/components/schemas/AddressRateLimiting'
description: The settings used to limit the number of requests from an IP address.
cachingRules:
description: A list of caching rules applied to the web application.
items:
$ref: '#/components/schemas/CachingRule'
type: array
captchas:
description: A list of CAPTCHA challenge settings. CAPTCHAs challenge requests to ensure a human is attempting to reach the specified URL and not a bot.
items:
$ref: '#/components/schemas/Captcha'
type: array
customProtectionRules:
description: A list of the custom protection rule OCIDs and their actions.
items:
$ref: '#/components/schemas/CustomProtectionRuleSetting'
type: array
deviceFingerprintChallenge:
$ref: '#/components/schemas/DeviceFingerprintChallenge'
description: The device fingerprint challenge settings. Blocks bots based on unique device fingerprint information.
humanInteractionChallenge:
$ref: '#/components/schemas/HumanInteractionChallenge'
description: The human interaction challenge settings. Detects natural human interactions such as mouse movements, time on site, and page scrolling to identify bots.
jsChallenge:
$ref: '#/components/schemas/JsChallenge'
description: The JavaScript challenge settings. Blocks bots by challenging requests from browsers that have no JavaScript support.
origin:
description: The key in the map of origins referencing the origin used for the Web Application Firewall. The origin must already be included in `Origins`. Required when creating the `WafConfig` resource, but is not required upon updating the configuration.
type: string
originGroups:
description: 'The map of origin groups and their keys used to associate origins to the `wafConfig`. Origin groups allow you to apply weights to groups of origins for load balancing purposes. Origins with higher weights will receive larger proportions of client requests.
To add additional origins to your WAAS policy, update the `origins` field of a `UpdateWaasPolicy` request.'
items:
type: string
type: array
protectionSettings:
$ref: '#/components/schemas/ProtectionSettings'
description: The settings applied to protection rules.
whitelists:
description: A list of IP addresses that bypass the Web Application Firewall.
items:
$ref: '#/components/schemas/Whitelist'
type: array
type: object
CachingRuleCriteria:
description: A caching rule criteria condition and value.
properties:
condition:
description: 'The condition of the caching rule criteria.
- **URL_IS:** Matches if the concatenation of request URL path and query is identical to the contents of the `value` field.
- **URL_STARTS_WITH:** Matches if the concatenation of request URL path and query starts with the contents of the `value` field.
- **URL_PART_ENDS_WITH:** Matches if the concatenation of request URL path and query ends with the contents of the `value` field.
- **URL_PART_CONTAINS:** Matches if the concatenation of request URL path and query contains the contents of the `value` field.
URLs must start with a `/`. URLs can''t contain restricted double slashes `//`. URLs can''t contain the restricted `''` `&` `?` symbols. Resources to cache can only be specified by a URL, any query parameters are ignored.'
enum:
- URL_IS
- URL_STARTS_WITH
- URL_PART_ENDS_WITH
- URL_PART_CONTAINS
type: string
x-isnullable: true
value:
description: The value of the caching rule criteria.
type: string
x-isnullable: true
required:
- condition
- value
type: object
OriginGroup:
properties:
origins:
description: The list of objects containing origin references and additional properties.
items:
properties:
origin:
description: The IP address or CIDR notation of the origin server.
type: string
weight:
default: 1
description: The weight of the origin used in load balancing. Origins with higher weights will receive larger proportions of client requests.
maximum: 9999
minimum: 1
type: integer
type: object
type: array
type: object
Whitelist:
description: An array of IP addresses that bypass the Web Application Firewall. Supports both single IP addresses or subnet masks (CIDR notation).
properties:
addressLists:
default: []
description: A list of [OCID](/Content/General/Concepts/identifiers.htm) of IP address lists to include in the whitelist.
items:
example: ocid1.waasaddresslist.oc1..aaaaaaaaci2cgqlpufxqttsogap6d2vevfwnqooqcqqia4v63xaccoesqqva
maxLength: 255
minLength: 1
type: string
type: array
x-isnullable: true
addresses:
description: A set of IP addresses or CIDR notations to include in the whitelist.
items:
description: An IP address or CIDR notation describing a subnet.
maxLength: 49
type: string
x-isnullable: true
type: array
name:
description: The unique name of the whitelist.
maxLength: 50
minLength: 1
type: string
x-isnullable: true
required:
- name
type: object
Origin:
description: A detailed description of your web application's origin host server. An origin must be defined to set up WAF rules.
properties:
customHeaders:
description: A list of HTTP headers to forward to your origin.
items:
$ref: '#/components/schemas/Header'
type: array
httpPort:
description: The HTTP port on the origin that the web application listens on. If unspecified, defaults to `80`. If `0` is specified - the origin is not used for HTTP traffic.
format: int32
maximum: 65535
minimum: 0
type: integer
x-isnullable: true
httpsPort:
description: The HTTPS port on the origin that the web application listens on. If unspecified, defaults to `443`. If `0` is specified - the origin is not used for HTTPS traffic.
format: int32
maximum: 65535
minimum: 0
type: integer
x-isnullable: true
uri:
description: The URI of the origin. Does not support paths. Port numbers should be specified in the `httpPort` and `httpsPort` fields.
maxLength: 512
type: string
required:
- uri
type: object
PurgeCache:
description: The list of cached resources to purge. If a resource is not specified, the purge targets all rules in a policy.
properties:
resources:
description: 'A resource to purge, specified by either a hostless absolute path starting with a single slash (Example: `/path/to/resource`) or by a relative path in which the first component will be interpreted as a domain protected by the WAAS policy (Example: `example.com/path/to/resource`).'
items:
type: string
type: array
type: object
ProtectionRuleExclusion:
description: "Allows specified types of requests to bypass the protection rule. If a request matches any of the criteria in the `exclusions` field, the protection rule will not be executed. Rules can have more than one exclusion and exclusions are applied to requests disjunctively, meaning the specified exclusion strings are independently matched against the specified targets of a request. The first target to match a specified string will trigger an exclusion. **Example:** If the following exclusions are defined for a protection rule:\n\n \"action\": \"BLOCK\",\n \"exclusions\": [\n {\n \"target\":\"REQUEST_COOKIES\",\n \"exclusions\":[\"example.com\", \"12345\", \"219ffwef9w0f\"]\n },\n {\n \"target\":\"REQUEST_COOKIE_NAMES\",\n \"exclusions\":[\"OAMAuthnCookie\", \"JSESSIONID\", \"HCM-PSJSESSIONID\"]\n }\n ],\n \"key\": \"1000000\",\n\nA request with the cookie name `sessionid` would trigger an exclusion. A request with the cookie name `yourcompany.com` would *not* trigger and exclusion."
properties:
exclusions:
items:
description: 'The target property of a request that would allow it to bypass the protection rule. For example, when `target` is `REQUEST_COOKIE_NAMES`, the list may include names of cookies to exclude from the protection rule. When the target is `ARGS`, the list may include strings of URL query parameters and values from form-urlencoded XML, JSON, AMP, or POST payloads to exclude from the protection rule.
`Exclusions` properties must not contain whitespace, comma or |.
**Note:** If protection rules have been enabled that utilize the `maxArgumentCount` or `maxTotalNameLengthOfArguments` properties, and the `target` property has been set to `ARGS`, it is important that the `exclusions` properties be defined to honor those protection rule settings in a consistent manner.'
maxLength: 5000
minLength: 1
type: string
x-isnullable: true
type: array
target:
description: The target of the exclusion.
enum:
- REQUEST_COOKIES
- REQUEST_COOKIE_NAMES
- ARGS
- ARGS_NAMES
type: string
x-is-nullable: true
type: object
HumanInteractionChallenge:
description: The human interaction challenge settings. The human interaction challenge checks various event listeners in the user's browser to determine if there is a human user making a request.
properties:
action:
description: The action to take against requests from detected bots. If unspecified, defaults to `DETECT`.
enum:
- DETECT
- BLOCK
type: string
x-isnullable: true
actionExpirationInSeconds:
description: The number of seconds between challenges for the same IP address. If unspecified, defaults to `60`.
maximum: 432000
minimum: 1
type: integer
x-isnullable: true
challengeSettings:
$ref: '#/components/schemas/BlockChallengeSettings'
failureThreshold:
description: The number of failed requests before taking action. If unspecified, defaults to `10`.
maximum: 999999
minimum: 1
type: integer
x-isnullable: true
failureThresholdExpirationInSeconds:
description: The number of seconds before the failure threshold resets. If unspecified, defaults to `60`.
maximum: 432000
minimum: 1
type: integer
x-isnullable: true
interactionThreshold:
description: The number of interactions required to pass the challenge. If unspecified, defaults to `3`.
maximum: 99
minimum: 1
type: integer
x-isnullable: true
isEnabled:
description: Enables or disables the human interaction challenge Web Application Firewall feature.
type: boolean
isNatEnabled:
default: true
description: When enabled, the user is identified not only by the IP address but also by an unique additional hash, which prevents blocking visitors with shared IP addresses.
type: boolean
recordingPeriodInSeconds:
description: The number of seconds to record the interactions from the user. If unspecified, defaults to `15`.
maximum: 14400
minimum: 1
type: integer
x-isnullable: true
setHttpHeader:
$ref: '#/components/schemas/Header'
description: Adds an additional HTTP header to requests that fail the challenge before being passed to the origin. Only applicable when the `action` is set to `DETECT`.
required:
- isEnabled
type: object
WafTrafficDatum:
description: A time series of traffic data for the Web Application Firewall configured for a policy.
properties:
compartmentId:
description: The compartment OCID of the data.
type: string
tenancyId:
description: The tenancy OCID of the data.
type: string
timeObserved:
description: The date and time the traffic was observed, rounded down to the start of the range, and expressed in RFC 3339 timestamp format.
example: '2018-11-16T21:10:29Z'
format: date-time
type: string
x-isnullable: true
timeRangeInSeconds:
description: The number of seconds this data covers.
example: 300
type: integer
x-isnullable: true
trafficInBytes:
description: Traffic in bytes.
type: integer
x-isnullable: true
waasPolicyId:
description: The policy OCID of the data.
type: string
type: object
Header:
description: An HTTP header with name and value.
properties:
name:
description: The name of the header.
maxLength: 255
minLength: 1
type: string
value:
description: The value of the header.
maxLength: 5000
minLength: 1
type: string
required:
- name
- value
type: object
CreateWaasPolicyDetails:
description: 'The required data to create a WAAS policy.
**Warning:** Oracle recommends that you avoid using any confidential information when you supply string values using the API.'
properties:
additionalDomains:
description: An array of additional domains for the specified web application.
items:
type: string
type: array
compartmentId:
description: The [OCID](/Content/General/Concepts/identifiers.htm) of the compartment in which to create the WAAS policy.
maxLength: 255
minLength: 1
type: string
definedTags:
additionalProperties:
additionalProperties:
description: 'The value of the tag. Only the String type is supported.
'
type: object
description: 'Key-value pair representing a defined tag key and value, scoped to a namespace.
Example: `{"CostCenter": "42"}`
'
type: object
description: 'Defined tags for this resource. Each key is predefined and scoped to a namespace.
For more information, see [Resource Tags](/Content/General/Concepts/resourcetags.htm).
Example: `{"Operations": {"CostCenter": "42"}}`
'
type: object
displayName:
description: A user-friendly name for the WAAS policy. The name can be changed and does not need to be unique.
maxLength: 255
minLength: 1
type: string
domain:
description: The web application domain that the WAAS policy protects.
type: string
freeformTags:
additionalProperties:
type: string
x-isnullable: true
description: 'Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace.
For more information, see [Resource Tags](/Content/General/Concepts/resourcetags.htm).
Example: `{"Department": "Finance"}`
'
type: object
originGroups:
additionalProperties:
$ref: '#/components/schemas/OriginGroup'
description: 'The map of origin groups and their keys used to associate origins to the `wafConfig`. Origin groups allow you to apply weights to groups of origins for load balancing purposes. Origins with higher weights will receive larger proportions of client requests.
To add additional origins to your WAAS policy, update the `origins` field of a `UpdateWaasPolicy` request.'
type: object
x-example:
application/json: "{\n \"originGroup1\": {\n \"origins\": [{\n \"origin\": \"origin1\",\n \"weight\": 2\n },\n {\n \"origin\": \"origin2\",\n \"weight\": 1\n }]\n },\n \"originGroup2\": {\n \"origins\": [{\n \"origin\": \"origin3\",\n \"weight\": 1\n },\n {\n \"origin\": \"origin4\",\n \"weight\": 1\n }]\n }\n}\n"
origins:
additionalProperties:
$ref: '#/components/schemas/Origin'
description: A map of host to origin for the web application. The key should be a customer friendly name for the host, ex. primary, secondary, etc.
example:
application/json: "{\n \"primary\": {\n \"uri\": \"192.0.2.1\",\n \"httpPort\": 80,\n \"httpsPort\": 443\n }\n}\n"
type: object
policyConfig:
$ref: '#/components/schemas/PolicyConfig'
wafConfig:
$ref: '#/components/schemas/WafConfigDetails'
required:
- compartmentId
- domain
type: object
CreateAddressListDetails:
description: The data used to create a new address list of IP addresses and CIDR notations.
properties:
addresses:
description: A list of IP addresses or CIDR notations.
items:
type: string
type: array
compartmentId:
description: The [OCID](/Content/General/Concepts/identifiers.htm) of the compartment in which to create the address list.
maxLength: 255
minLength: 1
type: string
definedTags:
additionalProperties:
additionalProperties:
description: 'The value of the tag. Only the String type is supported.
'
type: object
description: 'Key-value pair representing a defined tag key and value, scoped to a namespace.
Example: `{"CostCenter": "42"}`
'
type: object
description: 'Defined tags for this resource. Each key is predefined and scoped to a namespace.
For more information, see [Resource Tags](/Content/General/Concepts/resourcetags.htm).
Example: `{"Operations": {"CostCenter": "42"}}`
'
type: object
displayName:
description: A user-friendly name for the address list.
maxLength: 255
minLength: 1
type: string
freeformTags:
additionalProperties:
type: string
x-isnullable: true
description: 'Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace.
For more information, see [Resource Tags](/Content/General/Concepts/resourcetags.htm).
Example: `{"Department": "Finance"}`
'
type: object
required:
- compartmentId
- displayName
- addresses
type: object
GoodBot:
description: The good bot settings. Good bots provides a list of bots which are managed by known providers.
properties:
description:
description: The description of the bot.
type: string
x-isnullable: true
isEnabled:
description: Enables or disables the bot.
type: boolean
key:
description: The unique key for the bot.
type: string
name:
description: The bot name.
maxLength: 255
minLength: 1
type: string
x-isnullable: true
required:
- key
- isEnabled
type: object
ChangeCustomProtectionRuleCompartmentDetails:
properties:
compartmentId:
description: 'The [OCID](/Content/General/Concepts/identifiers.htm) of the compartment into which the resource should be moved. For information about moving resources between compartments, see [Moving Resources to a Different Compartment](/iaas/Content/Identity/Tasks/managingcompartments.htm#moveRes).
'
maxLength: 255
minLength: 1
type: string
required:
- compartmentId
type: object
WaasPolicyCustomProtectionRuleSummary:
description: The OCID and action of a custom protection rule.
properties:
action:
description: 'The action to take when the custom protection rule is triggered.
`DETECT` - Logs the request when the criteria of the custom protection rule are met. `BLOCK` - Blocks the request when the criteria of the custom protection rule are met.'
enum:
- DETECT
- BLOCK
type: string
displayName:
description: The user-friendly name of the custom protection rule.
maxLength: 255
minLength: 1
type: string
exclusions:
items:
$ref: '#/components/schemas/ProtectionRuleExclusion'
type: array
id:
description: The [OCID](/Content/General/Concepts/identifiers.htm) of the custom protection rule.
maxLength: 255
minLength: 1
type: string
modSecurityRuleIds:
description: The list of the ModSecurity rule IDs that apply to this protection rule. For more information about ModSecurity's open source WAF rules, see [Mod Security's documentation](https://www.modsecurity.org/CRS/Documentation/index.html).
items:
type: string
type: array
type: object
CreateCertificateDetails:
description: 'The data used to create a new SSL certificate.
**Warning:** Oracle recommends that you avoid using any confidential information when you supply string values using the API.'
properties:
certificateData:
description: 'The data of the SSL certificate.
**Note:** Many SSL certificate providers require an intermediate certificate chain to ensure a trusted status.
If your SSL certificate requires an intermediate certificate chain, please append the intermediate certificate
key in the `certificateData` field after the leaf certificate issued by the SSL certificate provider. If you
are unsure if your certificate requires an intermediate certificate chain, see your certificate
provider''s documentation.
The example below shows an intermediate certificate appended to a leaf certificate.
'
example: '-----BEGIN CERTIFICATE-----
VGhlIGxlYWYgY2VydGlmaWNhdGUgZm9yIG15IGFwcGxpY2F0aW9uLgo=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
VGhlIGludGVybWVkaWF0ZSBjZXJ0aWZpY2F0ZXMgdGhhdCBsaW5rIG15IGNlcnRpZmljYXRlIGJh
Y2sgdG8gYSB0cnVzdGVkIHJvb3QuCg==
-----END CERTIFICATE-----
'
type: string
compartmentId:
description: The [OCID](/Content/General/Concepts/identifiers.htm) of the compartment in which to create the SSL certificate.
maxLength: 255
minLength: 1
type: string
definedTags:
additionalProperties:
additionalProperties:
description: 'The value of the tag. Only the String type is supported.
'
type: object
description: 'Key-value pair representing a defined tag key and value, scoped to a namespace.
Example: `{"CostCenter": "42"}`
'
type: object
description: 'Defined tags for this resource. Each key is predefined and scoped to a namespace.
For more information, see [Resource Tags](/Content/General/Concepts/resourcetags.htm).
Example: `{"Operations": {"CostCenter": "42"}}`
'
type: object
displayName:
description: A user-friendly name for the SSL certificate. The name can be changed and does not need to be unique.
maxLength: 255
minLength: 1
type: string
freeformTags:
additionalProperties:
type: string
x-isnullable: true
description: 'Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace.
For more information, see [Resource Tags](/Content/General/Concepts/resourcetags.htm).
Example: `{"Department": "Finance"}`
'
type: object
isTrustVerificationDisabled:
default: false
description: Set to `true` if the SSL certificate is self-signed.
type: boolean
privateKeyData:
description: The private key of the SSL certificate.
example: '-----BEGIN PRIVATE KEY-----
AbcDe12456...AbcDe12456==
-----END PRIVATE KEY-----
'
type: string
required:
- certificateData
- privateKeyData
- compartmentId
type: object
JsChallenge:
description: The JavaScript challenge settings. JavaScript Challenge is the function to filter abnormal or malicious bots and allow access to real clients.
properties:
action:
description: The action to take against requests from detected bots. If unspecified, defaults to `DETECT`.
enum:
- DETECT
- BLOCK
type: string
x-isnullable: true
actionExpirationInSeconds:
description: The number of seconds between challenges from the same IP address. If unspecified, defaults to `60`.
maximum: 432000
minimum: 1
type: integer
x-isnullable: true
areRedirectsChallenged:
default: true
description: When enabled, redirect responses from the origin will also be challenged. This will change HTTP 301/302 responses from origin to HTTP 200 with an HTML body containing JavaScript page redirection.
type: boolean
challengeSettings:
$ref: '#/components/schemas/BlockChallengeSettings'
criteria:
description: When defined, the JavaScript Challenge would be applied only for the requests that matched all the listed conditions.
items:
$ref: '#/components/schemas/AccessRuleCriteria'
type: array
x-isnullable: true
failureThreshold:
description: The number of failed requests before taking action. If unspecified, defaults to `10`.
maximum: 999999
minimum: 1
type: integer
x-isnullable: true
isEnabled:
description: Enables or disables the JavaScript challenge Web Application Firewall feature.
type: boolean
isNatEnabled:
default: true
description: When enabled, the user is identified not only by the IP address but also by an unique additional hash, which prevents blocking visitors with shared IP addresses.
type: boolean
setHttpHeader:
$ref: '#/components/schemas/Header'
description: Adds an additional HTTP header to requests that fail the challenge before being passed to the origin. Only applicable when the `action` is set to `DETECT`.
required:
- isEnabled
type: object
CustomProtectionRule:
description: The details of a custom protection rule.
properties:
compartmentId:
description: The [OCID](/Content/General/Concepts/identifiers.htm) of the custom protection rule's compartment.
maxLength: 255
minLength: 1
type: string
definedTags:
additionalProperties:
additionalProperties:
description: 'The value of the tag. Only the String type is supported.
'
type: object
description: 'Key-value pair representing a defined tag key and value, scoped to a namespace.
Example: `{"CostCenter": "42"}`
'
type: object
description: 'Defined tags for this resource. Each key is predefined and scoped to a namespace.
For more information, see [Resource Tags](/Content/General/Concepts/resourcetags.htm).
Example: `{"Operations": {"CostCenter": "42"}}`
'
type: object
description:
description: The description of the custom protection rule.
maxLength: 400
minLength: 1
type: string
displayName:
description: The user-friendly name of the custom protection rule.
maxLength: 255
minLength: 1
type: string
freeformTags:
additionalProperties:
type: string
x-isnullable: true
description: 'Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace.
For more information, see [Resource Tags](/Content/General/Concepts/resourcetags.htm).
Example: `{"Department": "Finance"}`
'
type: object
id:
description: The [OCID](/Content/General/Concepts/identifiers.htm) of the custom protection rule.
maxLength: 255
minLength: 1
type: string
lifecycleState:
description: The current lifecycle state of the custom protection rule.
enum:
- CREATING
- ACTIVE
- FAILED
- UPDATING
- DELETING
- DELETED
type: string
x-obmcs-top-level-enum: '#/definitions/LifecycleStates'
modSecurityRuleIds:
description: The auto-generated ID for the custom protection rule. These IDs are referenced in logs.
items:
type: string
type: array
template:
description: "The template text of the custom protection rule. All custom protection rules are expressed in ModSecurity Rule Language.\n\nAdditionally, each rule must include two placeholder variables that are updated by the WAF service upon publication of the rule.\n\n`id: {{id_1}}` - This field is populated with a unique rule ID generated by the WAF service which identifies a `SecRule`. More than one `SecRule` can be defined in the `template` field of a CreateCustomSecurityRule call. The value of the first `SecRule` must be `id: {{id_1}}` and the `id` field of each subsequent `SecRule` should increase by one, as shown in the example.\n\n`ctl:ruleEngine={{mode}}` - The action to be taken when the criteria of the `SecRule` are met, either `OFF`, `DETECT` or `BLOCK`. This field is automatically populated with the corresponding value of the `action` field of the `CustomProtectionRuleSetting` schema when the `WafConfig` is updated.\n\n*Example:*\n ```\n SecRule REQUEST_COOKIES \"regex matching SQL injection - part 1/2\" \\\n \"phase:2, \\\n msg:'Detects chained SQL injection attempts 1/2.', \\\n id: {{id_1}}, \\\n ctl:ruleEngine={{mode}}, \\\n deny\"\n SecRule REQUEST_COOKIES \"regex matching SQL injection - part 2/2\" \\\n \"phase:2, \\\n msg:'Detects chained SQL injection attempts 2/2.', \\\n id: {{id_2}}, \\\n ctl:ruleEngine={{mode}}, \\\n deny\"\n ```\n\n\nThe example contains two `SecRules` each having distinct regex expression to match the `Cookie` header value during the second input analysis phase.\n\nFor more information about custom protection rules, see [Custom Protection Rules](/Content/WAF/Tasks/customprotectionrules.htm).\n\nFor more information about ModSecurity syntax, see [Making Rules: The Basic Syntax](https://www.modsecurity.org/CRS/Documentation/making.html).\n\nFor more information about ModSecurity's open source WAF rules, see [Mod Security's OWASP Core Rule Set documentation](https://www.modsecurity.org/CRS/Documentation/index.html)."
maxLength: 5000
minLength: 1
type: string
timeCreated:
description: The date and time the protection rule was created, expressed in RFC 3339 timestamp format.
example: '2018-11-16T21:10:29Z'
format: date-time
type: string
type: object
PolicyConfig:
description: The configuration details for the WAAS policy.
properties:
certificateId:
description: The OCID of the SSL certificate to use if HTTPS is supported.
maxLength: 255
minLength: 1
type: string
x-isnullable: true
cipherGroup:
default: DEFAULT
description: 'The set cipher group for the configured TLS protocol. This sets the configuration for the TLS connections between clients and edge nodes only.
- **DEFAULT:** Cipher group supports TLS 1.0, TLS 1.1, TLS 1.2, TLS 1.3 protocols. It has the following ciphers enabled: `ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:!DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA`'
enum:
- DEFAULT
type: string
x-isnullable: true
clientAddressHeader:
description: 'Specifies an HTTP header name which is treated as the connecting client''s IP address. Applicable only if `isBehindCdn` is enabled.
The edge node reads this header and its value and sets the client IP address as specified. It does not create the header if the header is not present in the request. If the header is not present, the connecting IP address will be used as the client''s true IP address. It uses the last IP address in the header''s value as the true IP address.
Example: `X-Client-Ip: 11.1.1.1, 13.3.3.3`
In the case of multiple headers with the same name, only the first header will be used. It is assumed that CDN sets the correct client IP address to prevent spoofing.
- **X_FORWARDED_FOR:** Corresponds to `X-Forwarded-For` header name.
- **X_CLIENT_IP:** Corresponds to `X-Client-Ip` header name.
- **X_REAL_IP:** Corresponds to `X-Real-Ip` header name.
- **CLIENT_IP:** Corresponds to `Client-Ip` header name.
- **TRUE_CLIENT_IP:** Corresponds to `True-Client-Ip` header name.'
enum:
- X_FORWARDED_FOR
- X_CLIENT_IP
- X_REAL_IP
- CLIENT_IP
- TRUE_CLIENT_IP
type: string
x-default-description: 'null'
x-isnullable: true
healthChecks:
$ref: '#/components/schemas/HealthCheck'
x-isnullable: true
isBehindCdn:
default: false
description: Enabling `isBehindCdn` allows for the collection of IP addresses from client requests if the WAF is connected to a CDN.
type: boolean
isCacheControlRespected:
default: false
description: 'Enable or disable automatic content caching based on the response `cache-control` header. This feature enables the origin to act as a proxy cache. Caching is usually defined using `cache-control` header. For example `cache-control: max-age=120` means that the returned resource is valid for 120 seconds. Caching rules will overwrite this setting.'
type: boolean
isHttpsEnabled:
description: Enable or disable HTTPS support. If true, a `certificateId` is required. If unspecified, defaults to `false`.
type: boolean
x-isnullable: true
isHttpsForced:
description: Force HTTP to HTTPS redirection. If unspecified, defaults to `false`.
type: boolean
x-isnullable: true
isOriginCompressionEnabled:
default: true
description: 'Enable or disable GZIP compression of origin responses. If enabled, the header `Accept-Encoding: gzip` is sent to origin, otherwise, the empty `Accept-Encoding:` header is used.'
type: boolean
isResponseBufferingEnabled:
default: false
description: Enable or disable buffering of responses from the origin. Buffering improves overall stability in case of network issues, but slightly increases Time To First Byte.
type: boolean
isSniEnabled:
default: false
description: SNI stands for Server Name Indication and is an extension of the TLS protocol. It indicates which hostname is being contacted by the browser at the beginning of the 'handshake'-process. This allows a server to connect multiple SSL Certificates to one IP address and port.
type: boolean
loadBalancingMethod:
$ref: '#/components/schemas/LoadBalancingMethod'
description: An object that represents a load balancing method and its properties.
x-isnullable: true
tlsProtocols:
default:
- TLS_V1_1
- TLS_V1_2
- TLS_V1_3
description: 'A list of allowed TLS protocols. Only applicable when HTTPS support is enabled.
The TLS protocol is negotiated while the request is connecting and the most recent protocol supported by both the edge node and client browser will be selected. If no such version exists, the connection will be aborted.
- **TLS_V1:** corresponds to TLS 1.0 specification.
- **TLS_V1_1:** corresponds to TLS 1.1 specification.
- **TLS_V1_2:** corresponds to TLS 1.2 specification.
- **TLS_V1_3:** corresponds to TLS 1.3 specification.
Enabled TLS protocols must go in a row. For example if `TLS_v1_1` and `TLS_V1_3` are enabled, `TLS_V1_2` must be enabled too.'
items:
enum:
- TLS_V1
- TLS_V1_1
- TLS_V1_2
- TLS_V1_3
type: string
type: array
websocketPathPrefixes:
default: []
description: ModSecurity is not capable to inspect WebSockets. Therefore paths specified here have WAF disabled if Connection request header from the client has the value Upgrade (case insensitive matching) and Upgrade request header has the value websocket (case insensitive matching). Paths matches if the concatenation of request URL path and query starts with the contents of the one of `websocketPathPrefixes` array value. In All other cases challenges, like JSC, HIC and etc., remain active.
items:
type: string
type: array
type: object
WorkRequestLogEntry:
description: A log message for a work request.
properties:
message:
description: The log message.
type: string
timestamp:
description: The date and time the work request log event happend, expressed in RFC 3339 timestamp format.
example: '2018-11-16T21:10:29Z'
format: date-time
type: string
type: object
CustomProtectionRuleSummary:
description: An overview of a custom protection rule.
properties:
compartmentId:
description: The [OCID](/Content/General/Concepts/identifiers.htm) of the custom protection rule's compartment.
maxLength: 255
minLength: 1
type: string
definedTags:
additionalProperties:
additionalProperties:
description: 'The value of the tag. Only the String type is supported.
'
type: object
description: 'Key-value pair representing a defined tag key and value, scoped to a namespace.
Example: `{"CostCenter": "42"}`
'
type: object
description: 'Defined tags for this resource. Each key is predefined and scoped to a namespace.
For more information, see [Resource Tags](/Content/General/Concepts/resourcetags.htm).
Example: `{"Operations": {"CostCenter": "42"}}`
'
type: object
displayName:
description: The user-friendly name of the custom protection rule.
maxLength: 255
minLength: 1
type: string
freeformTags:
additionalProperties:
type: string
x-isnullable: true
description: 'Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace.
For more information, see [Resource Tags](/Content/General/Concepts/resourcetags.htm).
Example: `{"Department": "Finance"}`
'
type: object
id:
description: The [OCID](/Content/General/Concepts/identifiers.htm) of the custom protection rule.
maxLength: 255
minLength: 1
type: string
lifecycleState:
description: The current lifecycle state of the custom protection rule.
enum:
- CREATING
- ACTIVE
- FAILED
- UPDATING
- DELETING
- DELETED
type: string
x-obmcs-top-level-enum: '#/definitions/LifecycleStates'
modSecurityRuleIds:
description: The auto-generated ID for the custom protection rule. These IDs are referenced in logs.
items:
type: string
type: array
timeCreated:
description: The date and time the protection rule was created, expressed in RFC 3339 timestamp format.
example: '2018-11-16T21:10:29Z'
format: date-time
type: string
type: object
WorkRequest:
description: Many of the API requests you use to create and configure WAAS policies do not take effect immediately. In these cases, the request spawns an asynchronous work flow to fulfill the request. `WorkRequest` objects provide visibility for in-progress work flows. For more information about work requests, see [Viewing the State of a Work Request](/Content/Balance/Tasks/viewingworkrequest.htm).
properties:
compartmentId:
description: The [OCID](/Content/General/Concepts/identifiers.htm) of the compartment that contains the work request.
maxLength: 255
minLength: 1
type: string
errors:
description: The list of errors that occurred while fulfilling the work request.
items:
$ref: '#/components/schemas/WorkRequestError'
type: array
id:
description: The [OCID](/Content/General/Concepts/identifiers.htm) of the work request.
example: ocid.work-request.oc1.phx.abuxgljr6l4nepxjkmbtnibwqpu5z24xdvmr7okzoi47wicoflrxh32rwd7a
maxLength: 255
minLength: 1
type: string
logs:
description: The list of log entries from the work request workflow.
items:
$ref: '#/components/schemas/WorkRequestLogEntry'
type: array
operationType:
description: A description of the operation requested by the work request.
enum:
- CREATE_WAAS_POLICY
- UPDATE_WAAS_POLICY
- DELETE_WAAS_POLICY
- CREATE_HTTP_REDIRECT
- UPDATE_HTTP_REDIRECT
- DELETE_HTTP_REDIRECT
- PURGE_WAAS_POLICY_CACHE
- CREATE_CUSTOM_PROTECTION_RULE
- UPDATE_CUSTOM_PROTECTION_RULE
- DELETE_CUSTOM_PROTECTION_RULE
type: string
x-obmcs-top-level-enum: '#/definitions/WorkRequestOperationTypes'
percentComplete:
description: The percentage of work completed by the work request.
format: int32
maximum: 100
minimum: 0
type: integer
resources:
description: The resources being used to complete the work request operation.
items:
$ref: '#/components/schemas/WorkRequestResource'
type: array
status:
description: The current status of the work request.
enum:
- ACCEPTED
- IN_PROGRESS
- FAILED
- SUCCEEDED
- CANCELING
- CANCELED
type: string
x-obmcs-top-level-enum: '#/definitions/WorkRequestStatusValues'
timeAccepted:
description: The date and time the work request was created, in the format defined by RFC3339.
example: '2018-11-16T21:10:29Z'
format: date-time
type: string
timeFinished:
description: The date and time the work request was fulfilled or terminated, expressed in RFC 3339 timestamp format.
example: '2018-11-16T21:10:29Z'
format: date-time
type: string
timeStarted:
description: The date and time the work request moved from the `ACCEPTED` state to the `IN_PROGRESS` state, expressed in RFC 3339 timestamp format.
example: '2018-11-16T21:10:29Z'
format: date-time
type: string
required:
- id
- compartmentId
- status
- timeAccepted
- timeStarted
- timeFinished
- operationType
type: object
BlockChallengeSettings:
description: The challenge settings if `action` is set to `BLOCK`.
properties:
blockAction:
description: The method used to block requests that fail the challenge, if `action` is set to `BLOCK`. If unspecified, defaults to `SHOW_ERROR_PAGE`.
enum:
- SET_RESPONSE_CODE
- SHOW_ERROR_PAGE
- SHOW_CAPTCHA
type: string
x-isnullable: true
blockErrorPageCode:
description: The error code to show on the error page when `action` is set to `BLOCK`, `blockAction` is set to `SHOW_ERROR_PAGE` and the request is blocked. If unspecified, defaults to `403`.
maxLength: 5000
minLength: 1
type: string
x-isnullable: true
blockErrorPageDescription:
description: The description text to show on the error page when `action` is set to `BLOCK`, `blockAction` is set to `SHOW_ERROR_PAGE`, and the request is blocked. If unspecified, defaults to `Access blocked by website owner. Please contact support.`
maxLength: 5000
minLength: 1
type: string
x-isnullable: true
blockErrorPageMessage:
description: The message to show on the error page when `action` is set to `BLOCK`, `blockAction` is set to `SHOW_ERROR_PAGE`, and the request is blocked. If unspecified, defaults to `Access to the website is blocked`.
maxLength: 5000
minLength: 1
type: string
x-isnullable: true
blockResponseCode:
description: 'The response status code to return when `action` is set to `BLOCK`, `blockAction` is set to `SET_RESPONSE_CODE` or `SHOW_ERROR_PAGE`, and the request is blocked. If unspecified, defaults to `403`. The list of available response codes: `200`, `201`, `202`, `204`, `206`, `300`, `301`, `302`, `303`, `304`, `307`, `400`, `401`, `403`, `404`, `405`, `408`, `409`, `411`, `412`, `413`, `414`, `415`, `416`, `422`, `444`, `494`, `495`, `496`, `497`, `499`, `500`, `501`, `502`, `503`, `504`, `507`.'
maximum: 999
minimum: 100
type: integer
x-isnullable: true
captchaFooter:
description: The text to show in the footer when showing a CAPTCHA challenge when `action` is set to `BLOCK`, `blockAction` is set to `SHOW_CAPTCHA`, and the request is blocked. If unspecified, default to `Enter the letters and numbers as they are shown in image above`.
maxLength: 5000
minLength: 1
type: string
x-isnullable: true
captchaHeader:
description: The text to show in the header when showing a CAPTCHA challenge when `action` is set to `BLOCK`, `blockAction` is set to `SHOW_CAPTCHA`, and the request is blocked. If unspecified, defaults to `We have detected an increased number of attempts to access this webapp. To help us keep this webapp secure, please let us know that you are not a robot by entering the text from captcha below.`
maxLength: 5000
minLength: 1
type: string
x-isnullable: true
captchaSubmitLabel:
description: The text to show on the label of the CAPTCHA challenge submit button when `action` is set to `BLOCK`, `blockAction` is set to `SHOW_CAPTCHA`, and the request is blocked. If unspecified, defaults to `Yes, I am human`.
maxLength: 100
minLength: 1
type: string
x-isnullable: true
captchaTitle:
description: The title used when showing a CAPTCHA challenge when `action` is set to `BLOCK`, `blockAction` is set to `SHOW_CAPTCHA`, and the request is blocked. If unspecified, defaults to `Are you human?`
maxLength: 100
minLength: 1
type: string
x-isnullable: true
type: object
ProtectionRule:
description: The protection rule settings. Protection rules can allow, block, or trigger an alert if a request meets the parameters of an applied rule.
properties:
action:
description: The action to take when the traffic is detected as malicious. If unspecified, defaults to `OFF`.
enum:
- 'OFF'
- DETECT
- BLOCK
type: string
x-isnullable: true
description:
description: The description of the protection rule.
type: string
x-isnullable: true
exclusions:
items:
$ref: '#/components/schemas/ProtectionRuleExclusion'
type: array
key:
description: The unique key of the protection rule.
type: string
labels:
description: 'The list of labels for the protection rule.
**Note:** Protection rules with a `ResponseBody` label will have no effect unless `isResponseInspected` is true.'
items:
type: string
type: array
x-isnullable: true
modSecurityRuleIds:
description: The list of the ModSecurity rule IDs that apply to this protection rule. For more information about ModSecurity's open source WAF rules, see [Mod Security's documentation](https://www.modsecurity.org/CRS/Documentation/index.html).
items:
type: string
type: array
name:
description: The name of the protection rule.
maxLength: 255
minLength: 1
type: string
x-isnullable: true
type: object
WaasPolicy:
description: 'The details of a Web Application Acceleration and Security (WAAS) policy. A policy describes how the WAAS service should operate for the configured web application.
**Warning:** Oracle recommends that you avoid using any confidential information when you supply string values using the API.'
properties:
additionalDomains:
description: An array of additional domains for this web application.
items:
type: string
type: array
cname:
description: The CNAME record to add to your DNS configuration to route traffic for the domain, and all additional domains, through the WAF.
type: string
compartmentId:
description: The [OCID](/Content/General/Concepts/identifiers.htm) of the WAAS policy's compartment.
maxLength: 255
minLength: 1
type: string
definedTags:
additionalProperties:
additionalProperties:
description: 'The value of the tag. Only the String type is supported.
'
type: object
description: 'Key-value pair representing a defined tag key and value, scoped to a namespace.
Example: `{"CostCenter": "42"}`
'
type: object
description: 'Defined tags for this resource. Each key is predefined and scoped to a namespace.
For more information, see [Resource Tags](/Content/General/Concepts/resourcetags.htm).
Example: `{"Operations": {"CostCenter": "42"}}`
'
type: object
displayName:
description: The user-friendly name of the WAAS policy. The name can be changed and does not need to be unique.
maxLength: 255
minLength: 1
type: string
domain:
description: The web application domain that the WAAS policy protects.
type: string
freeformTags:
additionalProperties:
type: string
x-isnullable: true
description: 'Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace.
For more information, see [Resource Tags](/Content/General/Concepts/resourcetags.htm).
Example: `{"Department": "Finance"}`
'
type: object
id:
description: The [OCID](/Content/General/Concepts/identifiers.htm) of the WAAS policy.
maxLength: 255
minLength: 1
type: string
lifecycleState:
description: The current lifecycle state of the WAAS policy.
enum:
- CREATING
- ACTIVE
- FAILED
- UPDATING
- DELETING
- DELETED
type: string
x-obmcs-top-level-enum: '#/definitions/LifecycleStates'
originGroups:
additionalProperties:
$ref: '#/components/schemas/OriginGroup'
description: The map of origin groups and their keys used to associate origins to the `wafConfig`. Origin groups allow you to apply weights to groups of origins for load balancing purposes. Origins with higher weights will receive larger proportions of client requests.
type: object
x-example: "application/json: |\n {\n \"originGroup1\": {\n \"origins\": [{\n \"origin\": \"origin1\",\n \"weight\": 2\n },\n {\n \"origin\": \"origin2\",\n \"weight\": 1\n }]\n },\n \"originGroup2\": {\n \"origins\": [{\n \"origin\": \"origin3\",\n \"weight\": 1\n },\n {\n \"origin\": \"origin4\",\n \"weight\": 1\n }]\n }\n }\n"
origins:
additionalProperties:
$ref: '#/components/schemas/Origin'
description: A map of host servers (origins) and their keys for the web application. Origin keys are used to associate origins to specific protection rules. The key should be a user-friendly name for the host. **Examples:** `primary` or `secondary`.
type: object
x-example:
application/json: "{\n \"primary\": {\n \"uri\": \"192.0.2.1\",\n \"httpPort\": 80,\n \"httpsPort\": 443\n }\n}\n"
policyConfig:
$ref: '#/components/schemas/PolicyConfig'
timeCreated:
description: The date and time the policy was created, expressed in RFC 3339 timestamp format.
example: '2018-11-16T21:10:29Z'
format: date-time
type: string
wafConfig:
$ref: '#/components/schemas/WafConfig'
type: object
EdgeSubnet:
description: The details about an edge node subnet.
properties:
cidr:
description: An edge node subnet. This can include /24 or /8 addresses.
example: 192.0.2.0/24
type: string
x-isnullable: true
region:
description: The name of the region containing the indicated subnet.
example: US-Central
type: string
x-isnullable: true
timeModified:
description: The date and time the last change was made to the indicated edge node subnet, expressed in RFC 3339 timestamp format.
example: '2018-11-16T21:10:29Z'
format: date-time
type: string
x-isnullable: true
type: object
UpdateAddressListDetails:
description: 'The data used to update the address list: IP addresses and CIDR notations.'
properties:
addresses:
description: A list of IP addresses or CIDR notations.
items:
type: string
type: array
definedTags:
additionalProperties:
additionalProperties:
description: 'The value of the tag. Only the String type is supported.
'
type: object
description: 'Key-value pair representing a defined tag key and value, scoped to a namespace.
Example: `{"CostCenter": "42"}`
'
type: object
description: 'Defined tags for this resource. Each key is predefined and scoped to a namespace.
For more information, see [Resource Tags](/Content/General/Concepts/resourcetags.htm).
Example: `{"Operations": {"CostCenter": "42"}}`
'
type: object
displayName:
description: A user-friendly name for the address list.
maxLength: 255
minLength: 1
type: string
freeformTags:
additionalProperties:
type: string
x-isnullable: true
description: 'Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace.
For more information, see [Resource Tags](/Content/General/Concepts/resourcetags.htm).
Example: `{"Department": "Finance"}`
'
type: object
type: object
WafBlockedRequest:
properties:
count:
description: The count of blocked requests.
type: integer
x-isnullable: true
timeObserved:
description: The date and time the blocked requests were observed, expressed in RFC 3339 timestamp format.
example: '2018-11-16T21:10:29Z'
format: date-time
type: string
x-isnullable: true
timeRangeInSeconds:
description: The number of seconds the data covers.
example: 300
type: integer
x-isnullable: true
wafFeature:
description: The specific Web Application Firewall feature that blocked the requests, such as JavaScript Challenge or Access Control.
enum:
- PROTECTION_RULES
- JS_CHALLENGE
- ACCESS_RULES
- THREAT_FEEDS
- HUMAN_INTERACTION_CHALLENGE
- DEVICE_FINGERPRINT_CHALLENGE
- CAPTCHA
- ADDRESS_RATE_LIMITING
type: string
x-isnullable: true
type: object
Certificate:
description: 'The details of the SSL certificate.
**Warning:** Oracle recommends that you avoid using any confidential information when you supply string values using the API.'
properties:
certificateData:
description: The data of the SSL certificate.
type: string
compartmentId:
description: The [OCID](/Content/General/Concepts/identifiers.htm) of the certificate's compartment.
maxLength: 255
minLength: 1
type: string
x-isnullable: false
definedTags:
additionalProperties:
additionalProperties:
description: 'The value of the tag. Only the String type is supported.
'
type: object
description: 'Key-value pair representing a defined tag key and value, scoped to a namespace.
Example: `{"CostCenter": "42"}`
'
type: object
description: 'Defined tags for this resource. Each key is predefined and scoped to a namespace.
For more information, see [Resource Tags](/Content/General/Concepts/resourcetags.htm).
Example: `{"Operations": {"CostCenter": "42"}}`
'
type: object
displayName:
description: The user-friendly name of the certificate.
maxLength: 255
minLength: 1
type: string
x-isnullable: false
extensions:
description: Additional attributes associated with users or public keys for managing relationships between Certificate Authorities.
items:
properties:
isCritical:
description: The critical flag of the extension. Critical extensions must be processed, non-critical extensions can be ignored.
type: boolean
name:
description: The certificate extension name.
type: string
value:
description: The certificate extension value.
type: string
type: object
type: array
freeformTags:
additionalProperties:
type: string
x-isnullable: true
description: 'Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace.
For more information, see [Resource Tags](/Content/General/Concepts/resourcetags.htm).
Example: `{"Department": "Finance"}`
'
type: object
id:
description: The [OCID](/Content/General/Concepts/identifiers.htm) of the certificate.
maxLength: 255
minLength: 1
type: string
x-isnullable: false
isTrustVerificationDisabled:
default: false
description: 'This indicates whether trust verification was disabled during the creation of SSL certificate.
If `true` SSL certificate trust verification was disabled and this SSL certificate is most likely self-signed.
'
type: boolean
issuedBy:
type: string
issuerName:
$ref: '#/components/schemas/CertificateIssuerName'
lifecycleState:
description: The current lifecycle state of the SSL certificate.
enum:
- CREATING
- ACTIVE
- FAILED
- UPDATING
- DELETING
- DELETED
type: string
x-obmcs-top-level-enum: '#/definitions/LifecycleStates'
publicKeyInfo:
description: Information about the public key and the algorithm used by the public key.
properties:
algorithm:
description: The algorithm identifier and parameters for the public key.
type: string
exponent:
description: The private key exponent.
type: integer
keySize:
description: The number of bits in a key used by a cryptographic algorithm.
type: integer
type: object
serialNumber:
description: A unique, positive integer assigned by the Certificate Authority (CA). The issuer name and serial number identify a unique certificate.
type: string
x-isnullable: false
signatureAlgorithm:
description: The identifier for the cryptographic algorithm used by the Certificate Authority (CA) to sign this certificate.
type: string
x-isnullable: false
subjectName:
$ref: '#/components/schemas/CertificateSubjectName'
timeCreated:
description: The date and time the certificate was created, expressed in RFC 3339 timestamp format.
example: '2018-11-16T21:10:29Z'
format: date-time
type: string
timeNotValidAfter:
description: The date and time the certificate will expire, expressed in RFC 3339 timestamp format.
example: '2018-11-16T21:10:29Z'
format: date-time
type: string
x-isnullable: false
timeNotValidBefore:
description: The date and time the certificate will become valid, expressed in RFC 3339 timestamp format.
example: '2018-11-16T21:10:29Z'
format: date-time
type: string
x-isnullable: false
version:
description: The version of the encoded certificate.
type: integer
x-isnullable: false
required:
- id
- compartmentId
- displayName
- serialNumber
- version
- signatureAlgorithm
- timeNotValidBefore
- timeNotValidAfter
- publicKeyInfo
type: object
UpdateCertificateDetails:
description: 'The data used to create a new SSL certificate.
**Warning:** Oracle recommends that you avoid using any confidential information when you supply string values using the API.'
properties:
definedTags:
additionalProperties:
additionalProperties:
description: 'The value of the tag. Only the String type is supported.
'
type: object
description: 'Key-value pair representing a defined tag key and value, scoped to a namespace.
Example: `{"CostCenter": "42"}`
'
type: object
description: 'Defined tags for this resource. Each key is predefined and scoped to a namespace.
For more information, see [Resource Tags](/Content/General/Concepts/resourcetags.htm).
Example: `{"Operations": {"CostCenter": "42"}}`
'
type: object
displayName:
description: A user-friendly name for the SSL certificate. The name can be changed and does not need to be unique.
maxLength: 255
minLength: 1
type: string
freeformTags:
additionalProperties:
type: string
x-isnullable: true
description: 'Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace.
For more information, see [Resource Tags](/Content/General/Concepts/resourcetags.htm).
Example: `{"Department": "Finance"}`
'
type: object
type: object
AddressList:
description: 'The details of the address list.
'
properties:
addressCount:
description: The total number of unique IP addresses in the address list.
type: number
addresses:
description: The list of IP addresses or CIDR notations.
items:
type: string
type: array
compartmentId:
description: The [OCID](/Content/General/Concepts/identifiers.htm) of the address list's compartment.
maxLength: 255
minLength: 1
type: string
x-isnullable: false
definedTags:
additionalProperties:
additionalProperties:
description: 'The value of the tag. Only the String type is supported.
'
type: object
description: 'Key-value pair representing a defined tag key and value, scoped to a namespace.
Example: `{"CostCenter": "42"}`
'
type: object
description: 'Defined tags for this resource. Each key is predefined and scoped to a namespace.
For more information, see [Resource Tags](/Content/General/Concepts/resourcetags.htm).
Example: `{"Operations": {"CostCenter": "42"}}`
'
type: object
displayName:
description: The user-friendly name of the address list.
maxLength: 255
minLength: 1
type: string
x-isnullable: false
freeformTags:
additionalProperties:
type: string
x-isnullable: true
description: 'Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace.
For more information, see [Resource Tags](/Content/General/Concepts/resourcetags.htm).
Example: `{"Department": "Finance"}`
'
type: object
id:
description: The [OCID](/Content/General/Concepts/identifiers.htm) of the address list.
maxLength: 255
minLength: 1
type: string
x-isnullable: false
lifecycleState:
description: The current lifecycle state of the address list.
enum:
- CREATING
- ACTIVE
- FAILED
- UPDATING
- DELETING
- DELETED
type: string
x-obmcs-top-level-enum: '#/definitions/LifecycleStates'
timeCreated:
description: The date and time the address list was created, expressed in RFC 3339 timestamp format.
example: '2018-11-16T21:10:29Z'
format: date-time
type: string
type: object
DeviceFingerprintChallenge:
description: The device fingerprint challenge settings. The device fingerprint challenge generates hashed signatures of both virtual and real browsers to identify and block malicious bots.
properties:
action:
description: The action to take on requests from detected bots. If unspecified, defaults to `DETECT`.
enum:
- DETECT
- BLOCK
type: string
x-isnullable: true
actionExpirationInSeconds:
description: The number of seconds between challenges for the same IP address. If unspecified, defaults to `60`.
maximum: 432000
minimum: 1
type: integer
x-isnullable: true
challengeSettings:
$ref: '#/components/schemas/BlockChallengeSettings'
failureThreshold:
description: The number of failed requests allowed before taking action. If unspecified, defaults to `10`.
maximum: 999999
minimum: 1
type: integer
x-isnullable: true
failureThresholdExpirationInSeconds:
description: The number of seconds before the failure threshold resets. If unspecified, defaults to `60`.
maximum: 432000
minimum: 1
type: integer
x-isnullable: true
isEnabled:
description: Enables or disables the device fingerprint challenge Web Application Firewall feature.
type: boolean
maxAddressCount:
description: The maximum number of IP addresses permitted with the same device fingerprint. If unspecified, defaults to `20`.
maximum: 9999
minimum: 1
type: integer
x-isnullable: true
maxAddressCountExpirationInSeconds:
description: The number of seconds before the maximum addresses count resets. If unspecified, defaults to `60`.
maximum: 432000
minimum: 1
type: integer
x-isnullable: true
required:
- isEnabled
type: object
WorkRequestResource:
description: The resource on which the work request is operating.
properties:
actionType:
description: How the work request affects the resource.
enum:
- IN_PROGRESS
- CREATED
- UPDATED
- DELETED
- RELATED
- PURGED
type: string
entityType:
description: The resource type the work request affects.
type: string
entityUri:
description: The URI path used while performing a `GET` to access the resource metadata.
type: string
identifier:
description: The [OCID](/Content/General/Concepts/identifiers.htm) of the resource that the work request affects.
type: string
type: object
ThreatFeedAction:
description: The action to take for a request that has been determined to be potentially malicious.
properties:
action:
description: The selected action. If unspecified, defaults to `OFF`.
enum:
- 'OFF'
- DETECT
- BLOCK
type: string
x-isnullable: true
key:
description: The unique key of the object for which the action applies.
type: string
required:
- key
- action
type: object
HeaderManipulationAction:
description: An object that represents an action to apply to an HTTP headers.
discriminator:
propertyName: action
properties:
action:
enum:
- EXTEND_HTTP_RESPONSE_HEADER
- ADD_HTTP_RESPONSE_HEADER
- REMOVE_HTTP_RESPONSE_HEADER
type: string
required:
- action
type: object
x-example: "{\n \"action\": \"EXTEND_HTTP_RESPONSE_HEADER\",\n \"header\": \"example_header_name\",\n \"value\": \"example_value\"\n}\n"
UpdateCustomProtectionRuleDetails:
description: 'Updates the configuration details of a custom protection rule. Custom protection rules can only be updated if they are not active in a WAAS policy.
**Warning:** Oracle recommends that you avoid using any confidential information when you supply string values using the API.'
properties:
definedTags:
additionalProperties:
additionalProperties:
description: 'The value of the tag. Only the String type is supported.
'
type: object
description: 'Key-value pair representing a defined tag key and value, scoped to a namespace.
Example: `{"CostCenter": "42"}`
'
type: object
description: 'Defined tags for this resource. Each key is predefined and scoped to a namespace.
For more information, see [Resource Tags](/Content/General/Concepts/resourcetags.htm).
Example: `{"Operations": {"CostCenter": "42"}}`
'
type: object
description:
description: A description for the custom protection rule.
maxLength: 400
minLength: 1
type: string
x-isnullable: true
displayName:
description: A user-friendly name for the custom protection rule.
maxLength: 255
minLength: 1
type: string
x-isnullable: true
freeformTags:
additionalProperties:
type: string
x-isnullable: true
description: 'Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace.
For more information, see [Resource Tags](/Content/General/Concepts/resourcetags.htm).
Example: `{"Department": "Finance"}`
'
type: object
template:
description: "The template text of the custom protection rule. All custom protection rules are expressed in ModSecurity Rule Language.\n\nAdditionally, each rule must include two placeholder variables that are updated by the WAF service upon publication of the rule.\n\n`id: {{id_1}}` - This field is populated with a unique rule ID generated by the WAF service which identifies a `SecRule`. More than one `SecRule` can be defined in the `template` field of a CreateCustomSecurityRule call. The value of the first `SecRule` must be `id: {{id_1}}` and the `id` field of each subsequent `SecRule` should increase by one, as shown in the example.\n\n`ctl:ruleEngine={{mode}}` - The action to be taken when the criteria of the `SecRule` are met, either `OFF`, `DETECT` or `BLOCK`. This field is automatically populated with the corresponding value of the `action` field of the `CustomProtectionRuleSetting` schema when the `WafConfig` is updated.\n\n*Example:*\n ```\n SecRule REQUEST_COOKIES \"regex matching SQL injection - part 1/2\" \\\n \"phase:2, \\\n msg:'Detects chained SQL injection attempts 1/2.', \\\n id: {{id_1}}, \\\n ctl:ruleEngine={{mode}}, \\\n deny\"\n SecRule REQUEST_COOKIES \"regex matching SQL injection - part 2/2\" \\\n \"phase:2, \\\n msg:'Detects chained SQL injection attempts 2/2.', \\\n id: {{id_2}}, \\\n ctl:ruleEngine={{mode}}, \\\n deny\"\n ```\n\n\nThe example contains two `SecRules` each having distinct regex expression to match the `Cookie` header value during the second input analysis phase.\n\nFor more information about custom protection rules, see [Custom Protection Rules](/Content/WAF/Tasks/customprotectionrules.htm).\n\nFor more information about ModSecurity syntax, see [Making Rules: The Basic Syntax](https://www.modsecurity.org/CRS/Documentation/making.html).\n\nFor more information about ModSecurity's open source WAF rules, see [Mod Security's OWASP Core Rule Set documentation](https://www.modsecurity.org/CRS/Documentation/index.html)."
maxLength: 5000
minLength: 1
type: string
x-isnullable: true
type: object
LoadBalancingMethod:
discriminator:
propertyName: method
properties:
method:
description: 'Load balancing methods are algorithms used to efficiently distribute traffic among origin servers.
- **[IP_HASH](/iaas/api/#/en/waas/latest/datatypes/IPHashLoadBalancingMethod):** All the incoming requests from the same client IP address should go to the same content origination server. IP_HASH load balancing method uses origin weights when choosing which origin should the hash be assigned to initially.
- **[ROUND_ROBIN](/iaas/api/#/en/waas/latest/datatypes/RoundRobinLoadBalancingMethod):** Forwards requests sequentially to the available origin servers. The first request - to the first origin server, the second request - to the next origin server, and so on. After it sends a request to the last origin server, it starts again with the first origin server. When using weights on origins, Weighted Round Robin assigns more requests to origins with a greater weight. Over a period of time, origins will receive a number of requests in proportion to their weight.
- **[STICKY_COOKIE](/iaas/api/#/en/waas/latest/datatypes/StickyCookieLoadBalancingMethod):** Adds a session cookie to the first response from the origin server and identifies the server that sent the response. The client''s next request contains the cookie value, and nginx routes the request to the origin server that responded to the first request. STICKY_COOKIE load balancing method falls back to Round Robin for the first request.'
enum:
- IP_HASH
- ROUND_ROBIN
- STICKY_COOKIE
type: string
x-default-description: IP_HASH
required:
- method
type: object
WorkRequestError:
description: An object returned in the event of a work request error.
properties:
code:
description: A machine-usable code for the error that occurred.
type: string
message:
description: The error message.
type: string
timestamp:
description: The date and time the work request error happened, expressed in RFC 3339 timestamp format.
example: '2018-11-16T21:10:29Z'
format: date-time
type: string
type: object
ProtectionRuleAction:
description: A protection rule key and the associated action to apply to that rule.
properties:
action:
description: The action to apply to the protection rule. If unspecified, defaults to `OFF`.
enum:
- 'OFF'
- DETECT
- BLOCK
type: string
exclusions:
description: The types of requests excluded from the protection rule action. If the requests matches the criteria in the `exclusions`, the protection rule action will not be executed.
items:
$ref: '#/components/schemas/ProtectionRuleExclusion'
type: array
key:
description: The unique key of the protection rule.
type: string
required:
- key
- action
type: object
WafRequest:
description: A time series of request counts handled by the Web Application Firewall, including blocked requests.
properties:
count:
description: The total number of requests received in this time period.
type: integer
x-isnullable: true
timeObserved:
description: The date and time the traffic was observed, rounded down to the start of a range, and expressed in RFC 3339 timestamp format.
example: '2018-11-16T21:10:29Z'
format: date-time
type: string
x-isnullable: true
timeRangeInSeconds:
description: The number of seconds this data covers.
example: 300
type: integer
x-isnullable: true
type: object
CertificateIssuerName:
description: The issuer of the certificate.
properties:
commonName:
description: The Certificate Authority (CA) name.
type: string
country:
description: ISO 3166-1 alpha-2 code of the country where the organization is located. For a list of codes, see [ISO's website](https://www.iso.org/obp/ui/#search/code/).
type: string
emailAddress:
description: The email address of the server's administrator.
type: string
locality:
description: The city in which the organization is located.
type: string
organization:
description: The organization name.
type: string
organizationalUnit:
description: The field to differentiate between divisions within an organization.
type: string
stateProvince:
description: The province where the organization is located.
type: string
type: object
AccessRule:
description: A content access rule. An access rule specifies an action to take if a set of criteria is matched by a request.
properties:
action:
description: 'The action to take when the access criteria are met for a rule. If unspecified, defaults to `ALLOW`.
- **ALLOW:** Takes no action, just logs the request.
- **DETECT:** Takes no action, but creates an alert for the request.
- **BLOCK:** Blocks the request by returning specified response code or showing error page.
- **BYPASS:** Bypasses some or all challenges.
- **REDIRECT:** Redirects the request to the specified URL. These fields are required when `REDIRECT` is selected: `redirectUrl`, `redirectResponseCode`.
- **SHOW_CAPTCHA:** Show a CAPTCHA Challenge page instead of the requested page.
Regardless of action, no further rules are processed once a rule is matched.'
enum:
- ALLOW
- DETECT
- BLOCK
- BYPASS
- REDIRECT
- SHOW_CAPTCHA
type: string
x-isnullable: true
blockAction:
description: The method used to block requests if `action` is set to `BLOCK` and the access criteria are met. If unspecified, defaults to `SET_RESPONSE_CODE`.
enum:
- SET_RESPONSE_CODE
- SHOW_ERROR_PAGE
type: string
x-isnullable: true
blockErrorPageCode:
description: The error code to show on the error page when `action` is set to `BLOCK`, `blockAction` is set to `SHOW_ERROR_PAGE`, and the access criteria are met. If unspecified, defaults to 'Access rules'.
maxLength: 5000
minLength: 1
type: string
x-isnullable: true
blockErrorPageDescription:
description: The description text to show on the error page when `action` is set to `BLOCK`, `blockAction` is set to `SHOW_ERROR_PAGE`, and the access criteria are met. If unspecified, defaults to 'Access blocked by website owner. Please contact support.'
maxLength: 5000
minLength: 1
type: string
x-isnullable: true
blockErrorPageMessage:
description: The message to show on the error page when `action` is set to `BLOCK`, `blockAction` is set to `SHOW_ERROR_PAGE`, and the access criteria are met. If unspecified, defaults to 'Access to the website is blocked.'
maxLength: 5000
minLength: 1
type: string
x-isnullable: true
blockResponseCode:
description: 'The response status code to return when `action` is set to `BLOCK`, `blockAction` is set to `SET_RESPONSE_CODE`, and the access criteria are met. If unspecified, defaults to `403`. The list of available response codes: `200`, `201`, `202`, `204`, `206`, `300`, `301`, `302`, `303`, `304`, `307`, `400`, `401`, `403`, `404`, `405`, `408`, `409`, `411`, `412`, `413`, `414`, `415`, `416`, `422`, `444`, `494`, `495`, `496`, `497`, `499`, `500`, `501`, `502`, `503`, `504`, `507`.'
maximum: 999
minimum: 100
type: integer
x-isnullable: true
bypassChallenges:
description: 'The list of challenges to bypass when `action` is set to `BYPASS`. If unspecified or empty, all challenges are bypassed.
- **JS_CHALLENGE:** Bypasses JavaScript Challenge.
- **DEVICE_FINGERPRINT_CHALLENGE:** Bypasses Device Fingerprint Challenge.
- **HUMAN_INTERACTION_CHALLENGE:** Bypasses Human Interaction Challenge.
- **CAPTCHA:** Bypasses CAPTCHA Challenge.'
items:
enum:
- JS_CHALLENGE
- DEVICE_FINGERPRINT_CHALLENGE
- HUMAN_INTERACTION_CHALLENGE
- CAPTCHA
type: string
type: array
x-default-description: 'null'
captchaFooter:
default: Enter the letters and numbers as they are shown in image above
description: The text to show in the footer when showing a CAPTCHA challenge when `action` is set to `SHOW_CAPTCHA` and the request is challenged.
maxLength: 5000
minLength: 1
type: string
x-isnullable: true
captchaHeader:
default: We have detected an increased number of attempts to access this webapp. To help us keep this webapp secure, please let us know that you are not a robot by entering the text from captcha below.
description: The text to show in the header when showing a CAPTCHA challenge when `action` is set to `SHOW_CAPTCHA` and the request is challenged.
maxLength: 5000
minLength: 1
type: string
x-isnullable: true
captchaSubmitLabel:
default: Yes, I am human
description: The text to show on the label of the CAPTCHA challenge submit button when `action` is set to `SHOW_CAPTCHA` and the request is challenged.
maxLength: 100
minLength: 1
type: string
x-isnullable: true
captchaTitle:
default: Are you human?
description: The title used when showing a CAPTCHA challenge when `action` is set to `SHOW_CAPTCHA` and the request is challenged.
maxLength: 100
minLength: 1
type: string
x-isnullable: true
criteria:
description: The list of access rule criteria. The rule would be applied only for the requests that matched all the listed conditions.
items:
$ref: '#/components/schemas/AccessRuleCriteria'
type: array
name:
description: The unique name of the access rule.
maxLength: 255
minLength: 1
type: string
redirectResponseCode:
default: MOVED_PERMANENTLY
description: 'The response status code to return when `action` is set to `REDIRECT`.
- **MOVED_PERMANENTLY:** Used for designating the permanent movement of a page (numerical code - 301).
- **FOUND:** Used for designating the temporary movement of a page (numerical code - 302).'
enum:
- MOVED_PERMANENTLY
- FOUND
type: string
x-isnullable: true
redirectUrl:
description: The target to which the request should be redirected, represented as a URI reference. Required when `action` is `REDIRECT`.
type: string
x-default-description: 'null'
responseHeaderManipulation:
description: An object that represents an action to apply to an HTTP response headers if all rule criteria will be matched regardless of `action` value.
items:
$ref: '#/components/schemas/HeaderManipulationAction'
type: array
required:
- name
- criteria
- action
type: object
ChangeCertificateCompartmentDetails:
properties:
compartmentId:
description: 'The [OCID](/Content/General/Concepts/identifiers.htm) of the compartment into which the resource should be moved.
For information about moving resources between compartments, see [Moving Resources to a Different Compartment](/iaas/Content/Identity/Tasks/managingcompartments.htm#moveRes).
'
maxLength: 255
minLength: 1
type: string
required:
- compartmentId
type: object
WafConfig:
description: The Web Application Firewall configuration for the WAAS policy.
properties:
accessRules:
description: The access rules applied to the Web Application Firewall. Used for defining custom access policies with the combination of `ALLOW`, `DETECT`, and `BLOCK` rules, based on different criteria.
items:
$ref: '#/components/schemas/AccessRule'
maxItems: 100
type: array
addressRateLimiting:
$ref: '#/components/schemas/AddressRateLimiting'
description: The IP address rate limiting settings used to limit the number of requests from an address.
cachingRules:
description: A list of caching rules applied to the web application.
items:
$ref: '#/components/schemas/CachingRule'
type: array
captchas:
description: A list of CAPTCHA challenge settings. These are used to challenge requests with a CAPTCHA to block bots.
items:
$ref: '#/components/schemas/Captcha'
type: array
customProtectionRules:
description: A list of the custom protection rule OCIDs and their actions.
items:
$ref: '#/components/schemas/CustomProtectionRuleSetting'
type: array
deviceFingerprintChallenge:
$ref: '#/components/schemas/DeviceFingerprintChallenge'
description: The device fingerprint challenge settings. Used to detect unique devices based on the device fingerprint information collected in order to block bots.
goodBots:
description: A list of bots allowed to access the web application.
items:
$ref: '#/components/schemas/GoodBot'
type: array
humanInteractionChallenge:
$ref: '#/components/schemas/HumanInteractionChallenge'
description: The human interaction challenge settings. Used to look for natural human interactions such as mouse movements, time on site, and page scrolling to identify bots.
jsChallenge:
$ref: '#/components/schemas/JsChallenge'
description: The JavaScript challenge settings. Used to challenge requests with a JavaScript challenge and take the action if a browser has no JavaScript support in order to block bots.
origin:
description: The key in the map of origins referencing the origin used for the Web Application Firewall. The origin must already be included in `Origins`. Required when creating the `WafConfig` resource, but not on update.
type: string
originGroups:
description: 'The map of origin groups and their keys used to associate origins to the `wafConfig`. Origin groups allow you to apply weights to groups of origins for load balancing purposes. Origins with higher weights will receive larger proportions of client requests.
To add additional origins to your WAAS policy, update the `origins` field of a `UpdateWaasPolicy` request.'
items:
type: string
type: array
protectionRules:
description: A list of the protection rules and their details.
items:
$ref: '#/components/schemas/ProtectionRule'
type: array
protectionSettings:
$ref: '#/components/schemas/ProtectionSettings'
description: The settings to apply to protection rules.
threatFeeds:
description: A list of threat intelligence feeds and the actions to apply to known malicious traffic based on internet intelligence.
items:
$ref: '#/components/schemas/ThreatFeed'
type: array
whitelists:
description: A list of IP addresses that bypass the Web Application Firewall.
items:
$ref: '#/components/schemas/Whitelist'
type: array
type: object
HealthCheck:
description: 'Health checks monitor the status of your origin servers and only route traffic to the origins that pass the health check. If the health check fails, origin is automatically removed from the load balancing.
There is roughly one health check per EDGE POP per period. Any checks that pass will be reported as "healthy".'
properties:
expectedResponseCodeGroup:
default:
- 2XX
- 3XX
description: 'The HTTP response codes that signify a healthy state.
- **2XX:** Success response code group.
- **3XX:** Redirection response code group.
- **4XX:** Client errors response code group.
- **5XX:** Server errors response code group.'
items:
enum:
- 2XX
- 3XX
- 4XX
- 5XX
type: string
type: array
expectedResponseText:
default: success
description: Health check will search for the given text in a case-sensitive manner within the response body and will fail if the text is not found.
type: string
x-isnullable: true
headers:
additionalProperties:
type: string
description: 'HTTP header fields to include in health check requests, expressed as `"name": "value"` properties. Because HTTP header field names are case-insensitive, any use of names that are case-insensitive equal to other names will be rejected. If Host is not specified, requests will include a Host header field with value matching the policy''s protected domain. If User-Agent is not specified, requests will include a User-Agent header field with value "waf health checks".
**Note:** The only currently-supported header fields are Host and User-Agent.'
type: object
x-default-description: 'The default for `Host` is the domain of the waasPolicy.
The default for User-Agent is `waf health checks`.
'
x-isnullable: true
healthyThreshold:
default: 2
description: Number of successful health checks after which the server is marked up.
maximum: 20
minimum: 1
type: integer
x-isnullable: true
intervalInSeconds:
default: 60
description: Time between health checks of an individual origin server, in seconds.
maximum: 120
minimum: 1
type: integer
x-isnullable: true
isEnabled:
default: false
description: Enables or disables the health checks.
type: boolean
isResponseTextCheckEnabled:
default: false
description: Enables or disables additional check for predefined text in addition to response code.
type: boolean
method:
default: HEAD
description: An HTTP verb (i.e. HEAD, GET, or POST) to use when performing the health check.
enum:
- GET
- HEAD
- POST
type: string
path:
default: /
description: Path to visit on your origins when performing the health check.
type: string
x-example: /index.html
timeoutInSeconds:
default: 5
description: Response timeout represents wait time until request is considered failed, in seconds.
maximum: 120
minimum: 2
type: integer
x-isnullable: true
unhealthyThreshold:
default: 2
description: Number of failed health checks after which the server is marked down.
maximum: 20
minimum: 1
type: integer
x-isnullable: true
type: object
CreateCustomProtectionRuleDetails:
description: 'The required data to create a custom protection rule.
For more information about custom protection rules, see [Custom Protection Rules](/iaas/Content/WAF/Tasks/customprotectionrules.htm).
**Warning:** Oracle recommends that you avoid using any confidential information when you supply string values using the API.'
properties:
compartmentId:
description: The [OCID](/Content/General/Concepts/identifiers.htm) of the compartment in which to create the custom protection rule.
maxLength: 255
minLength: 1
type: string
definedTags:
additionalProperties:
additionalProperties:
description: 'The value of the tag. Only the String type is supported.
'
type: object
description: 'Key-value pair representing a defined tag key and value, scoped to a namespace.
Example: `{"CostCenter": "42"}`
'
type: object
description: 'Defined tags for this resource. Each key is predefined and scoped to a namespace.
For more information, see [Resource Tags](/Content/General/Concepts/resourcetags.htm).
Example: `{"Operations": {"CostCenter": "42"}}`
'
type: object
description:
description: A description for the Custom Protection rule.
maxLength: 400
minLength: 1
type: string
x-isnullable: true
displayName:
description: A user-friendly name for the custom protection rule.
maxLength: 255
minLength: 1
type: string
freeformTags:
additionalProperties:
type: string
x-isnullable: true
description: 'Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace.
For more information, see [Resource Tags](/Content/General/Concepts/resourcetags.htm).
Example: `{"Department": "Finance"}`
'
type: object
template:
description: "The template text of the custom protection rule. All custom protection rules are expressed in ModSecurity Rule Language.\n\nAdditionally, each rule must include two placeholder variables that are updated by the WAF service upon publication of the rule.\n\n`id: {{id_1}}` - This field is populated with a unique rule ID generated by the WAF service which identifies a `SecRule`. More than one `SecRule` can be defined in the `template` field of a CreateCustomSecurityRule call. The value of the first `SecRule` must be `id: {{id_1}}` and the `id` field of each subsequent `SecRule` should increase by one, as shown in the example.\n\n`ctl:ruleEngine={{mode}}` - The action to be taken when the criteria of the `SecRule` are met, either `OFF`, `DETECT` or `BLOCK`. This field is automatically populated with the corresponding value of the `action` field of the `CustomProtectionRuleSetting` schema when the `WafConfig` is updated.\n\n*Example:*\n ```\n SecRule REQUEST_COOKIES \"regex matching SQL injection - part 1/2\" \\\n \"phase:2, \\\n msg:'Detects chained SQL injection attempts 1/2.', \\\n id: {{id_1}}, \\\n ctl:ruleEngine={{mode}}, \\\n deny\"\n SecRule REQUEST_COOKIES \"regex matching SQL injection - part 2/2\" \\\n \"phase:2, \\\n msg:'Detects chained SQL injection attempts 2/2.', \\\n id: {{id_2}}, \\\n ctl:ruleEngine={{mode}}, \\\n deny\"\n ```\n\n\nThe example contains two `SecRules` each having distinct regex expression to match the `Cookie` header value during the second input analysis phase.\n\nFor more information about custom protection rules, see [Custom Protection Rules](/Content/WAF/Tasks/customprotectionrules.htm).\n\nFor more information about ModSecurity syntax, see [Making Rules: The Basic Syntax](https://www.modsecurity.org/CRS/Documentation/making.html).\n\nFor more information about ModSecurity's open source WAF rules, see [Mod Security's OWASP Core Rule Set documentation](https://www.modsecurity.org/CRS/Documentation/index.html)."
maxLength: 5000
minLength: 1
type: string
required:
- compartmentId
- displayName
- template
type: object
WafLog:
description: A list of Web Application Firewall log entries. Each entry is a JSON object, including a timestamp property and other fields varying based on log type. Logs record what rules and countermeasures are triggered by requests and are used as a basis to move request handling into block mode. For more information about WAF logs, see [Logs](/iaas/Content/WAF/Tasks/logs.htm).
properties:
accessRuleKey:
description: 'The `AccessRule` key that matched the request. For more information about
access rules, see `UpdateAccessRules`.
'
type: string
action:
description: The action taken on the request, either `ALLOW`, `DETECT`, or `BLOCK`.
type: string
addressRateLimitingKey:
description: 'The `AddressRateLimiting` key that matched the request. For more information
about address rate limiting, see `UpdateWafAddressRateLimiting`.
'
type: string
captchaAction:
description: 'The CAPTCHA action taken on the request, `ALLOW` or `BLOCK`. For more information about
CAPTCHAs, see `UpdateCaptchas`.
'
type: string
captchaExpected:
description: The CAPTCHA challenge answer that was expected.
type: string
captchaFailCount:
description: The number of times the CAPTCHA challenge was failed.
type: string
captchaReceived:
description: The CAPTCHA challenge answer that was received.
type: string
clientAddress:
description: The IPv4 address of the requesting client.
type: string
countryCode:
description: 'ISO 3166-1 alpha-2 code of the country from which the request originated.
For a list of codes, see [ISO''s website](https://www.iso.org/obp/ui/#search/code/).
'
type: string
countryName:
description: The name of the country where the request originated.
type: string
device:
description: The type of device that the request was made from.
type: string
domain:
description: 'The `Host` header data of the request.
'
type: string
fingerprint:
description: 'The hashed signature of the device''s fingerprint. For more information,
see `DeviceFingerPrintChallenge`.
'
type: string
httpHeaders:
additionalProperties:
type: string
description: The map of the request's header names to their respective values.
type: object
httpMethod:
description: The HTTP method of the request.
type: string
incidentKey:
description: 'The incident key of a request. An incident key is generated for
each request processed by the Web Application Firewall and is used to
idenitfy blocked requests in applicable logs.
'
type: string
logType:
description: 'The type of log of the request. For more about log types, see [Logs](/iaas/Content/WAF/Tasks/logs.htm).
'
type: string
originAddress:
description: The address of the origin server where the request was sent.
type: string
originResponseTime:
description: 'The amount of time it took the origin server to respond to the request, in seconds.
'
type: string
protectionRuleDetections:
additionalProperties:
type: string
description: 'A map of protection rule keys to detection message details. Detections are
requests that matched the criteria of a protection rule but the rule''s
action was set to `DETECT`.
'
type: object
referrer:
description: The `Referrer` header value of the request.
type: string
requestHeaders:
additionalProperties:
type: string
description: 'A map of header names to values of the request sent to the origin, including any headers
appended by the Web Application Firewall.
'
type: object
requestUrl:
description: The path and query string of the request.
type: string
responseCode:
description: The status code of the response.
type: integer
responseSize:
description: The size in bytes of the response.
type: integer
threatFeedKey:
description: 'The `ThreatFeed` key that matched the request. For more information about
threat feeds, see `UpdateThreatFeeds`.
'
type: string
timestamp:
description: 'The date and time the Web Application Firewall processed the request and logged it.
'
example: '2018-11-16T21:10:29Z'
format: date-time
type: string
userAgent:
description: The value of the request's `User-Agent` header field.
type: string
type: object
x-go-type:
import:
package: github.corp.dyndns.com/waas/waas_control_plane_api/models
type: WafLog
CachingRule:
allOf:
- $ref: '#/components/schemas/CachingRuleSummary'
UpdateWaasPolicyDetails:
description: 'Updates the configuration details of a WAAS policy.
**Warning:** Oracle recommends that you avoid using any confidential information when you supply string values using the API.'
properties:
additionalDomains:
description: An array of additional domains protected by this WAAS policy.
items:
type: string
type: array
definedTags:
additionalProperties:
additionalProperties:
description: 'The value of the tag. Only the String type is supported.
'
type: object
description: 'Key-value pair representing a defined tag key and value, scoped to a namespace.
Example: `{"CostCenter": "42"}`
'
type: object
description: 'Defined tags for this resource. Each key is predefined and scoped to a namespace.
For more information, see [Resource Tags](/Content/General/Concepts/resourcetags.htm).
Example: `{"Operations": {"CostCenter": "42"}}`
'
type: object
displayName:
description: A user-friendly name for the WAAS policy. The name can be changed and does not need to be unique.
maxLength: 255
minLength: 1
type: string
x-isnullable: true
freeformTags:
additionalProperties:
type: string
x-isnullable: true
description: 'Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace.
For more information, see [Resource Tags](/Content/General/Concepts/resourcetags.htm).
Example: `{"Department": "Finance"}`
'
type: object
originGroups:
additionalProperties:
$ref: '#/components/schemas/OriginGroup'
description: 'The map of origin groups and their keys used to associate origins to the `wafConfig`. Origin groups allow you to apply weights to groups of origins for load balancing purposes. Origins with higher weights will receive larger proportions of client requests.
To add additional origins to your WAAS policy, update the `origins` field of a `UpdateWaasPolicy` request.'
example:
application/json: "{\n \"originGroup1\": {\n \"origins\": [{\n \"origin\": \"origin1\",\n \"weight\": 2\n },\n {\n \"origin\": \"origin2\",\n \"weight\": 1\n }]\n },\n \"originGroup2\": {\n \"origins\": [{\n \"origin\": \"origin3\",\n \"weight\": 1\n },\n {\n \"origin\": \"origin4\",\n \"weight\": 1\n }]\n }\n}\n"
type: object
origins:
additionalProperties:
$ref: '#/components/schemas/Origin'
description: A map of host to origin for the web application. The key should be a customer friendly name for the host, ex. primary, secondary, etc.
example:
application/json: "{\n \"primary\": {\n \"uri\": \"192.0.2.1\",\n \"httpPort\": 80,\n \"httpsPort\": 443\n }\n}\n"
type: object
policyConfig:
$ref: '#/components/schemas/PolicyConfig'
wafConfig:
$ref: '#/components/schemas/WafConfig'
type: object
ChangeWaasPolicyCompartmentDetails:
properties:
compartmentId:
description: 'The [OCID](/Content/General/Concepts/identifiers.htm) of the compartment into which the resource should be moved.
For information about moving resources between compartments, see [Moving Resources to a Different Compartment](/iaas/Content/Identity/Tasks/managingcompartments.htm#moveRes).
'
maxLength: 255
minLength: 1
type: string
required:
- compartmentId
type: object
ThreatFeed:
description: The settings of the threat intelligence feed. You can block requests from IP addresses based on their reputations with various commercial and open source threat feeds.
properties:
action:
description: The action to take when traffic is flagged as malicious by data from the threat intelligence feed. If unspecified, defaults to `OFF`.
enum:
- 'OFF'
- DETECT
- BLOCK
type: string
x-isnullable: true
description:
description: The description of the threat intelligence feed.
type: string
x-isnullable: true
key:
description: The unique key of the threat intelligence feed.
type: string
name:
description: The name of the threat intelligence feed.
maxLength: 255
minLength: 1
type: string
x-isnullable: true
type: object
AccessRuleCriteria:
description: When defined, the parent challenge would be applied only for the requests that matched all the listed conditions.
properties:
condition:
description: "The criteria the access rule and JavaScript Challenge uses to determine if action should be taken on a request.\n- **URL_IS:** Matches if the concatenation of request URL path and query is identical to the contents of the `value` field. URL must start with a `/`.\n- **URL_IS_NOT:** Matches if the concatenation of request URL path and query is not identical to the contents of the `value` field. URL must start with a `/`.\n- **URL_STARTS_WITH:** Matches if the concatenation of request URL path and query starts with the contents of the `value` field. URL must start with a `/`.\n- **URL_PART_ENDS_WITH:** Matches if the concatenation of request URL path and query ends with the contents of the `value` field.\n- **URL_PART_CONTAINS:** Matches if the concatenation of request URL path and query contains the contents of the `value` field.\n- **URL_REGEX:** Matches if the concatenation of request URL path and query is described by the regular expression in the value field. The value must be a valid regular expression recognized by the PCRE library in Nginx (https://www.pcre.org).\n- **URL_DOES_NOT_MATCH_REGEX:** Matches if the concatenation of request URL path and query is not described by the regular expression in the `value` field. The value must be a valid regular expression recognized by the PCRE library in Nginx (https://www.pcre.org).\n- **URL_DOES_NOT_START_WITH:** Matches if the concatenation of request URL path and query does not start with the contents of the `value` field.\n- **URL_PART_DOES_NOT_CONTAIN:** Matches if the concatenation of request URL path and query does not contain the contents of the `value` field.\n- **URL_PART_DOES_NOT_END_WITH:** Matches if the concatenation of request URL path and query does not end with the contents of the `value` field.\n- **IP_IS:** Matches if the request originates from one of the IP addresses contained in the defined address list. The `value` in this case is string with one or multiple IPs or CIDR notations separated by new line symbol \\n\n*Example:* \"1.1.1.1\\n1.1.1.2\\n1.2.2.1/30\"\n- **IP_IS_NOT:** Matches if the request does not originate from any of the IP addresses contained in the defined address list. The `value` in this case is string with one or multiple IPs or CIDR notations separated by new line symbol \\n\n*Example:* \"1.1.1.1\\n1.1.1.2\\n1.2.2.1/30\"\n- **IP_IN_LIST:** Matches if the request originates from one of the IP addresses contained in the referenced address list. The `value` in this case is OCID of the address list.\n- **IP_NOT_IN_LIST:** Matches if the request does not originate from any IP address contained in the referenced address list. The `value` field in this case is OCID of the address list.\n- **HTTP_HEADER_CONTAINS:** The HTTP_HEADER_CONTAINS criteria is defined using a compound value separated by a colon: a header field name and a header field value. `host:test.example.com` is an example of a criteria value where `host` is the header field name and `test.example.com` is the header field value. A request matches when the header field name is a case insensitive match and the header field value is a case insensitive, substring match.\n*Example:* With a criteria value of `host:test.example.com`, where `host` is the name of the field and `test.example.com` is the value of the host field, a request with the header values, `Host: www.test.example.com` will match, where as a request with header values of `host: www.example.com` or `host: test.sub.example.com` will not match.\n- **HTTP_METHOD_IS:** Matches if the request method is identical to one of the values listed in field. The `value` in this case is string with one or multiple HTTP methods separated by new line symbol \\n The list of available methods: `GET`, `HEAD`, `POST`, `PUT`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE`, `PATCH`\n\n *Example:* \"GET\\nPOST\"\n\n- **HTTP_METHOD_IS_NOT:** Matches if the request is not identical to any of the contents of the `value` field. The `value` in this case is string with one or multiple HTTP methods separated by new line symbol \\n The list of available methods: `GET`, `HEAD`, `POST`, `PUT`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE`, `PATCH`\n\n *Example:* \"GET\\nPOST\"\n\n- **COUNTRY_IS:** Matches if the request originates from one of countries in the `value` field. The `value` in this case is string with one or multiple countries separated by new line symbol \\n Country codes are in ISO 3166-1 alpha-2 format. For a list of codes, see [ISO's website](https://www.iso.org/obp/ui/#search/code/).\n*Example:* \"AL\\nDZ\\nAM\"\n- **COUNTRY_IS_NOT:** Matches if the request does not originate from any of countries in the `value` field. The `value` in this case is string with one or multiple countries separated by new line symbol \\n Country codes are in ISO 3166-1 alpha-2 format. For a list of codes, see [ISO's website](https://www.iso.org/obp/ui/#search/code/).\n*Example:* \"AL\\nDZ\\nAM\"\n- **USER_AGENT_IS:** Matches if the requesting user agent is identical to the contents of the `value` field.\n*Example:* `Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:35.0) Gecko/20100101 Firefox/35.0`\n- **USER_AGENT_IS_NOT:** Matches if the requesting user agent is not identical to the contents of the `value` field.\n*Example:* `Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:35.0) Gecko/20100101 Firefox/35.0`"
enum:
- URL_IS
- URL_IS_NOT
- URL_STARTS_WITH
- URL_PART_ENDS_WITH
- URL_PART_CONTAINS
- URL_REGEX
- URL_DOES_NOT_MATCH_REGEX
- URL_DOES_NOT_START_WITH
- URL_PART_DOES_NOT_CONTAIN
- URL_PART_DOES_NOT_END_WITH
- IP_IS
- IP_IS_NOT
- IP_IN_LIST
- IP_NOT_IN_LIST
- HTTP_HEADER_CONTAINS
- HTTP_METHOD_IS
- HTTP_METHOD_IS_NOT
- COUNTRY_IS
- COUNTRY_IS_NOT
- USER_AGENT_IS
- USER_AGENT_IS_NOT
type: string
x-isnullable: true
isCaseSensitive:
default: false
description: When enabled, the condition will be matched with case-sensitive rules.
type: boolean
value:
description: The criteria value.
maxLength: 5000
minLength: 1
type: string
x-isnullable: true
required:
- condition
- value
type: object
parameters:
WaasPolicyIdFilterParam:
description: Filter policies using a list of policy OCIDs.
in: query
name: id
style: form
explode: true
schema:
type: array
items:
type: string
CustomProtectionModSecurityRuleIdFilterParam:
description: Filter rules using a list of ModSecurity rule IDs.
in: query
name: modSecurityRuleId
style: form
explode: true
schema:
type: array
items:
type: string
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 provided matches the resource's current etag value.
in: header
name: if-match
schema:
type: string
WafFeatureQueryParam:
description: Filter stats by the Web Application Firewall feature that triggered the block action. If unspecified, data for all WAF features will be returned.
in: query
name: wafFeature
style: form
explode: true
schema:
type: array
items:
enum:
- PROTECTION_RULES
- JS_CHALLENGE
- ACCESS_RULES
- THREAT_FEEDS
- HUMAN_INTERACTION_CHALLENGE
- DEVICE_FINGERPRINT_CHALLENGE
- CAPTCHA
- ADDRESS_RATE_LIMITING
type: string
ToDateObservedQueryParam:
description: A filter that limits returned events to those occurring before a date and time, specified in RFC 3339 format.
in: query
name: timeObservedLessThan
x-isnullable: true
schema:
type: string
format: date-time
ToDateLogObservedQueryParam:
description: A filter that matches log entries where the observed event occurred before a date and time, specified in RFC 3339 format.
in: query
name: timeObservedLessThan
x-isnullable: true
schema:
type: string
format: date-time
CertificateIdParam:
description: The [OCID](/Content/General/Concepts/identifiers.htm) of the SSL certificate used in the WAAS policy. This number is generated when the certificate is added to the policy.
in: path
name: certificateId
required: true
schema:
type: string
SortOrderQueryParam:
description: The value of the sorting direction of resources in a paginated 'List' call. If unspecified, defaults to `DESC`.
in: query
name: sortOrder
required: false
x-isnullable: true
schema:
type: string
enum:
- ASC
- DESC
CertificateDisplayNameFilterParam:
description: Filter certificates using a list of display names.
in: query
name: displayName
style: form
explode: true
schema:
type: array
items:
type: string
CustomProtectionRuleTimeCreatedLessThanFilterParam:
description: A filter that matches custom protection rules created before the specified date-time.
in: query
name: timeCreatedLessThan
x-isnullable: true
schema:
type: string
format: date-time
CertificateTimeCreatedGreaterThanOrEqualToFilterParam:
description: A filter that matches certificates created on or after the specified date-time.
in: query
name: timeCreatedGreaterThanOrEqualTo
x-isnullable: true
schema:
type: string
format: date-time
CertificateIdFilterParam:
description: Filter certificates using a list of certificates OCIDs.
in: query
name: id
style: form
explode: true
schema:
type: array
items:
type: string
CertificateSortByQueryParam:
description: The value by which certificate summaries are sorted in a paginated 'List' call. If unspecified, defaults to `timeCreated`.
in: query
name: sortBy
required: false
x-isnullable: true
schema:
type: string
enum:
- id
- compartmentId
- displayName
- notValidAfter
- timeCreated
AddressListIdParam:
description: The [OCID](/Content/General/Concepts/identifiers.htm) of the address list. This number is generated when the address list is added to the compartment.
in: path
name: addressListId
required: true
schema:
type: string
CertificateLifecycleStateFilterParam:
description: Filter certificates using a list of lifecycle states.
in: query
name: lifecycleState
style: form
explode: true
schema:
type: array
items:
enum:
- CREATING
- ACTIVE
- FAILED
- UPDATING
- DELETING
- DELETED
type: string
x-obmcs-top-level-enum: '#/definitions/LifecycleStates'
WaasPolicyIdParam:
description: The [OCID](/Content/General/Concepts/identifiers.htm) of the WAAS policy.
in: path
name: waasPolicyId
required: true
schema:
type: string
LargeLimitQueryParam:
description: The maximum number of items to return in a paginated call. If unspecified, defaults to `20`.
in: query
name: limit
required: false
x-isnullable: true
schema:
type: integer
format: int32
default: 20
maximum: 100
minimum: 1
CustomProtectionRuleIdFilterParam:
description: Filter custom protection rules using a list of custom protection rule OCIDs.
in: query
name: id
style: form
explode: true
schema:
type: array
items:
type: string
AddressListNameFilterParam:
description: Filter address lists using a list of names.
in: query
name: name
style: form
explode: true
schema:
type: array
items:
type: string
WaasPolicyDisplayNameFilterParam:
description: Filter policies using a list of display names.
in: query
name: displayName
style: form
explode: true
schema:
type: array
items:
type: string
FromDateObservedQueryParam:
description: A filter that limits returned events to those occurring on or after a date and time, specified in RFC 3339 format. If unspecified, defaults to 30 minutes before receipt of the request.
in: query
name: timeObservedGreaterThanOrEqualTo
x-isnullable: true
schema:
type: string
format: date-time
CustomProtectionRuleTimeCreatedGreaterThanOrEqualToFilterParam:
description: A filter that matches Custom Protection rules created on or after the specified date-time.
in: query
name: timeCreatedGreaterThanOrEqualTo
x-isnullable: true
schema:
type: string
format: date-time
CertificateTimeCreatedLessThanFilterParam:
description: A filter that matches certificates created before the specified date-time.
in: query
name: timeCreatedLessThan
x-isnullable: true
schema:
type: string
format: date-time
AddressListLifecycleStateFilterParam:
description: Filter address lists using a list of lifecycle states.
in: query
name: lifecycleState
style: form
explode: true
schema:
type: array
items:
enum:
- CREATING
- ACTIVE
- FAILED
- UPDATING
- DELETING
- DELETED
type: string
x-obmcs-top-level-enum: '#/definitions/LifecycleStates'
LimitQueryParam:
description: The maximum number of items to return in a paginated call. If unspecified, defaults to `10`.
in: query
name: limit
required: false
x-isnullable: true
schema:
type: integer
format: int32
default: 10
maximum: 100
minimum: 1
ProtectionRuleActionFilterParam:
description: Filter rules using a list of actions.
in: query
name: action
style: form
explode: true
schema:
type: array
items:
enum:
- 'OFF'
- DETECT
- BLOCK
type: string
WorkRequestIdParam:
description: The [OCID](/Content/General/Concepts/identifiers.htm) of the work request. This number is generated when work request is created.
in: path
name: workRequestId
required: true
schema:
type: string
FromDateLogObservedQueryParam:
description: A filter that matches log entries where the observed event occurred on or after a date and time specified in RFC 3339 format. If unspecified, defaults to two hours before receipt of the request.
in: query
name: timeObservedGreaterThanOrEqualTo
x-isnullable: true
schema:
type: string
format: date-time
WorkRequestSortByQueryParam:
description: The value by which work requests are sorted in a paginated 'List' call. If unspecified, defaults to `timeAccepted`.
in: query
name: sortBy
required: false
x-isnullable: true
schema:
type: string
enum:
- id
- status
- timeAccepted
- timeStarted
- timeFinished
- operationType
EdgeSubnetSortByQueryParam:
description: The value by which edge node subnets are sorted in a paginated 'List' call. If unspecified, defaults to `timeModified`.
in: query
name: sortBy
required: false
x-isnullable: true
schema:
type: string
enum:
- cidr
- region
- timeModified
ProtectionModSecurityRuleIdFilterParam:
description: Filter rules using a list of ModSecurity rule IDs.
in: query
name: modSecurityRuleId
style: form
explode: true
schema:
type: array
items:
type: string
WaasPolicyLifecycleStateFilterParam:
description: Filter policies using a list of lifecycle states.
in: query
name: lifecycleState
style: form
explode: true
schema:
type: array
items:
enum:
- CREATING
- ACTIVE
- FAILED
- UPDATING
- DELETING
- DELETED
type: string
x-obmcs-top-level-enum: '#/definitions/LifecycleStates'
RecommendationFilterParam:
description: A filter that matches recommended protection rules based on the selected action. If unspecified, rules with any action type are returned.
in: query
name: recommendedAction
required: false
schema:
type: string
enum:
- DETECT
- BLOCK
PageQueryParam:
description: The value of the `opc-next-page` response header from the previous paginated call.
in: query
name: page
required: false
x-isnullable: true
schema:
type: string
CustomProtectionRuleActionFilterParam:
description: Filter rules using a list of actions.
in: query
name: action
style: form
explode: true
schema:
type: array
items:
enum:
- DETECT
- BLOCK
type: string
AddressListTimeCreatedGreaterThanOrEqualToFilterParam:
description: A filter that matches address lists created on or after the specified date-time.
in: query
name: timeCreatedGreaterThanOrEqualTo
x-isnullable: true
schema:
type: string
format: date-time
RetryTokenHeaderParam:
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
*Example:* If a resource has been deleted and purged from the system, then a retry of the original delete request may be rejected.'
in: header
name: opc-retry-token
schema:
type: string
maxLength: 64
minLength: 1
CompartmentIdQueryParam:
description: The [OCID](/iaas/Content/General/Concepts/identifiers.htm) of the compartment. This number is generated when the compartment is created.
in: query
name: compartmentId
required: true
schema:
type: string
maxLength: 255
minLength: 1
AddressListTimeCreatedLessThanFilterParam:
description: A filter that matches address lists created before the specified date-time.
in: query
name: timeCreatedLessThan
x-isnullable: true
schema:
type: string
format: date-time
CustomProtectionRuleSortByQueryParam:
description: The value by which custom protection rules are sorted in a paginated 'List' call. If unspecified, defaults to `timeCreated`.
in: query
name: sortBy
required: false
x-isnullable: true
schema:
type: string
enum:
- id
- compartmentId
- displayName
- modSecurityRuleId
- timeCreated
WaasPolicyTimeCreatedLessThanFilterParam:
description: A filter that matches policies created before the specified date-time.
in: query
name: timeCreatedLessThan
x-isnullable: true
schema:
type: string
format: date-time
RequestIdHeaderParam:
description: The unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID.
in: header
name: opc-request-id
required: false
x-isnullable: true
schema:
type: string
AddressListSortByQueryParam:
description: The value by which address lists are sorted in a paginated 'List' call. If unspecified, defaults to `timeCreated`.
in: query
name: sortBy
required: false
x-isnullable: true
schema:
type: string
enum:
- id
- name
- timeCreated
CustomProtectionRuleIdParam:
description: The [OCID](/Content/General/Concepts/identifiers.htm) of the custom protection rule. This number is generated when the custom protection rule is added to the compartment.
in: path
name: customProtectionRuleId
required: true
schema:
type: string
WaasPolicySortByQueryParam:
description: The value by which policies are sorted in a paginated 'List' call. If unspecified, defaults to `timeCreated`.
in: query
name: sortBy
required: false
x-isnullable: true
schema:
type: string
enum:
- id
- displayName
- timeCreated
CustomProtectionRuleDisplayNameFilterParam:
description: Filter custom protection rules using a list of display names.
in: query
name: displayName
style: form
explode: true
schema:
type: array
items:
type: string
WaasPolicyTimeCreatedGreaterThanOrEqualToFilterParam:
description: A filter that matches policies created on or after the specified date and time.
in: query
name: timeCreatedGreaterThanOrEqualTo
x-isnullable: true
schema:
type: string
format: date-time
ProtectionRuleKeyParam:
description: The protection rule key.
in: path
name: protectionRuleKey
required: true
schema:
type: string
AddressListIdFilterParam:
description: Filter address lists using a list of address lists OCIDs.
in: query
name: id
style: form
explode: true
schema:
type: array
items:
type: string
WaasPolicyIdQueryParam:
description: The [OCID](/Content/General/Concepts/identifiers.htm) of the policy.
in: query
name: waasPolicyId
required: true
schema:
type: string
CustomProtectionRuleLifecycleStateFilterParam:
description: Filter Custom Protection rules using a list of lifecycle states.
in: query
name: lifecycleState
style: form
explode: true
schema:
type: array
items:
enum:
- CREATING
- ACTIVE
- FAILED
- UPDATING
- DELETING
- DELETED
type: string
x-obmcs-top-level-enum: '#/definitions/LifecycleStates'
responses:
NoEtagMatch:
description: The specified etag does not match the current etag of the resource.
headers:
opc-request-id:
description: A 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'
NotAuthenticated:
description: The information required to complete authentication was not provided or was incorrect.
headers:
opc-request-id:
description: A 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'
BadRequest:
description: Bad Request.
headers:
opc-request-id:
description: A 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'
IncorrectState:
description: The resource is not in the `ACTIVE` state.
headers:
opc-request-id:
description: A 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'
NotAuthorizedOrNotFound:
description: Not authorized or not found.
headers:
opc-request-id:
description: A 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'
Error:
description: An error has occurred.
headers:
opc-request-id:
description: A 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'
NoContent:
description: No content.
headers:
opc-request-id:
description: A 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
TooManyRequests:
description: The request has been throttled due to an excessive number of requests.
headers:
opc-request-id:
description: A 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'
RequestAcceptedForProcessingWithEtag:
description: The request was accepted for processing.
headers:
etag:
description: For optimistic concurrency control. See `if-match`.
schema:
type: string
opc-request-id:
description: A 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: The [OCID](/Content/General/Concepts/identifiers.htm) of the work request.
schema:
type: string
NotAuthorizedOrResourceAlreadyExists:
description: Not authorized or the resource already exists.
headers:
opc-request-id:
description: A 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'
RequestAcceptedForProcessing:
description: The request was accepted for processing.
headers:
opc-request-id:
description: A 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: The [OCID](/Content/General/Concepts/identifiers.htm) of the work request.
schema:
type: string
securitySchemes:
ApiKey:
in: header
name: Authorization
type: apiKey
x-descriptions:
opc-next-page:
description: For list pagination. When this header appears in the response, additional pages of results may remain. For important details about how pagination works, see [List Pagination](/iaas/Content/API/Concepts/usingapi.htm#nine).
type: string
opc-request-id:
description: A 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: The [OCID](/Content/General/Concepts/identifiers.htm) of the work request.
type: string
x-obmcs-client-retries-enabled: false