@Generated(value="OracleSDKGenerator", comments="API Version: 20181116") public class WaasAsyncClient extends BaseAsyncClient implements WaasAsync
Async client implementation for Waas service.
There are two ways to use async client: 1. Use AsyncHandler: using AsyncHandler, if the response
to the call is an InputStream
, like getObject Api in object storage service,
developers need to process the stream in AsyncHandler, and not anywhere else, because the stream
will be closed right after the AsyncHandler is invoked.
2. Use Java Future: using Java Future, developers need to close the stream after they are done
with the Java Future.
Accessing the result should be done in a mutually exclusive manner, either through the Future or
the AsyncHandler, but not both. If the Future is used, the caller should pass in null as the
AsyncHandler. If the AsyncHandler is used, it is still safe to use the Future to determine
whether or not the request was completed via Future.isDone/isCancelled.
Please refer to
https://github.com/oracle/oci-java-sdk/blob/master/bmc-examples/src/main/java/ResteasyClientWithObjectStorageExample.java
Modifier and Type | Class and Description |
---|---|
static class |
WaasAsyncClient.Builder
Builder class for this client.
|
Modifier and Type | Field and Description |
---|---|
String |
clientCommonLibraryVersion
Compatible SDK version, provided by the codegen.
|
Optional<String> |
minimumClientCommonLibraryVersionFromClient
Minimum compatible SDK version, maybe provided by the codegen.
|
static Service |
SERVICE
Service instance for Waas.
|
Constructor and Description |
---|
WaasAsyncClient(AbstractAuthenticationDetailsProvider authenticationDetailsProvider,
ClientConfiguration configuration,
ClientConfigurator clientConfigurator,
RequestSignerFactory defaultRequestSignerFactory)
Deprecated.
Use the
builder instead. |
WaasAsyncClient(AbstractAuthenticationDetailsProvider authenticationDetailsProvider,
ClientConfiguration configuration,
ClientConfigurator clientConfigurator,
RequestSignerFactory defaultRequestSignerFactory,
List<ClientConfigurator> additionalClientConfigurators)
Deprecated.
Use the
builder instead. |
WaasAsyncClient(AbstractAuthenticationDetailsProvider authenticationDetailsProvider,
ClientConfiguration configuration,
ClientConfigurator clientConfigurator,
RequestSignerFactory defaultRequestSignerFactory,
List<ClientConfigurator> additionalClientConfigurators,
String endpoint)
Deprecated.
Use the
builder instead. |
WaasAsyncClient(AbstractAuthenticationDetailsProvider authenticationDetailsProvider,
ClientConfiguration configuration,
ClientConfigurator clientConfigurator,
RequestSignerFactory defaultRequestSignerFactory,
Map<SigningStrategy,RequestSignerFactory> signingStrategyRequestSignerFactories,
List<ClientConfigurator> additionalClientConfigurators,
String endpoint)
Deprecated.
Use the
builder instead. |
WaasAsyncClient(BasicAuthenticationDetailsProvider authenticationDetailsProvider)
Deprecated.
Use the
builder instead. |
WaasAsyncClient(BasicAuthenticationDetailsProvider authenticationDetailsProvider,
ClientConfiguration configuration)
Deprecated.
Use the
builder instead. |
WaasAsyncClient(BasicAuthenticationDetailsProvider authenticationDetailsProvider,
ClientConfiguration configuration,
ClientConfigurator clientConfigurator)
Deprecated.
Use the
builder instead. |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getEndpoint, refreshClient, setEndpoint, useRealmSpecificEndpointTemplate
close
public static final Service SERVICE
Service instance for Waas.
public final String clientCommonLibraryVersion
@Deprecated public WaasAsyncClient(BasicAuthenticationDetailsProvider authenticationDetailsProvider)
builder
instead.Create a new client instance.
authenticationDetailsProvider
- The authentication details (see WaasAsyncClient.Builder.build(com.oracle.bmc.auth.AbstractAuthenticationDetailsProvider)
)@Deprecated public WaasAsyncClient(BasicAuthenticationDetailsProvider authenticationDetailsProvider, ClientConfiguration configuration)
builder
instead.Create a new client instance.
authenticationDetailsProvider
- The authentication details (see WaasAsyncClient.Builder.build(com.oracle.bmc.auth.AbstractAuthenticationDetailsProvider)
)configuration
- ClientBuilderBase.configuration
@Deprecated public WaasAsyncClient(BasicAuthenticationDetailsProvider authenticationDetailsProvider, ClientConfiguration configuration, ClientConfigurator clientConfigurator)
builder
instead.Create a new client instance.
authenticationDetailsProvider
- The authentication details (see WaasAsyncClient.Builder.build(com.oracle.bmc.auth.AbstractAuthenticationDetailsProvider)
)configuration
- ClientBuilderBase.configuration
clientConfigurator
- ClientBuilderBase.clientConfigurator(com.oracle.bmc.http.ClientConfigurator)
@Deprecated public WaasAsyncClient(AbstractAuthenticationDetailsProvider authenticationDetailsProvider, ClientConfiguration configuration, ClientConfigurator clientConfigurator, RequestSignerFactory defaultRequestSignerFactory)
builder
instead.Create a new client instance.
authenticationDetailsProvider
- The authentication details (see WaasAsyncClient.Builder.build(com.oracle.bmc.auth.AbstractAuthenticationDetailsProvider)
)configuration
- ClientBuilderBase.configuration
clientConfigurator
- ClientBuilderBase.clientConfigurator(com.oracle.bmc.http.ClientConfigurator)
defaultRequestSignerFactory
- ClientBuilderBase.requestSignerFactory
@Deprecated public WaasAsyncClient(AbstractAuthenticationDetailsProvider authenticationDetailsProvider, ClientConfiguration configuration, ClientConfigurator clientConfigurator, RequestSignerFactory defaultRequestSignerFactory, List<ClientConfigurator> additionalClientConfigurators)
builder
instead.Create a new client instance.
authenticationDetailsProvider
- The authentication details (see WaasAsyncClient.Builder.build(com.oracle.bmc.auth.AbstractAuthenticationDetailsProvider)
)configuration
- ClientBuilderBase.configuration
clientConfigurator
- ClientBuilderBase.clientConfigurator(com.oracle.bmc.http.ClientConfigurator)
defaultRequestSignerFactory
- ClientBuilderBase.requestSignerFactory
additionalClientConfigurators
- ClientBuilderBase.additionalClientConfigurators
@Deprecated public WaasAsyncClient(AbstractAuthenticationDetailsProvider authenticationDetailsProvider, ClientConfiguration configuration, ClientConfigurator clientConfigurator, RequestSignerFactory defaultRequestSignerFactory, List<ClientConfigurator> additionalClientConfigurators, String endpoint)
builder
instead.Create a new client instance.
authenticationDetailsProvider
- The authentication details (see WaasAsyncClient.Builder.build(com.oracle.bmc.auth.AbstractAuthenticationDetailsProvider)
)configuration
- ClientBuilderBase.configuration
clientConfigurator
- ClientBuilderBase.clientConfigurator(com.oracle.bmc.http.ClientConfigurator)
defaultRequestSignerFactory
- ClientBuilderBase.requestSignerFactory
additionalClientConfigurators
- ClientBuilderBase.additionalClientConfigurators
endpoint
- ClientBuilderBase.endpoint(java.lang.String)
@Deprecated public WaasAsyncClient(AbstractAuthenticationDetailsProvider authenticationDetailsProvider, ClientConfiguration configuration, ClientConfigurator clientConfigurator, RequestSignerFactory defaultRequestSignerFactory, Map<SigningStrategy,RequestSignerFactory> signingStrategyRequestSignerFactories, List<ClientConfigurator> additionalClientConfigurators, String endpoint)
builder
instead.Create a new client instance.
authenticationDetailsProvider
- The authentication details (see WaasAsyncClient.Builder.build(com.oracle.bmc.auth.AbstractAuthenticationDetailsProvider)
)configuration
- ClientBuilderBase.configuration
clientConfigurator
- ClientBuilderBase.clientConfigurator(com.oracle.bmc.http.ClientConfigurator)
defaultRequestSignerFactory
- ClientBuilderBase.requestSignerFactory
additionalClientConfigurators
- ClientBuilderBase.additionalClientConfigurators
endpoint
- ClientBuilderBase.endpoint(java.lang.String)
signingStrategyRequestSignerFactories
- ClientBuilderBase.signingStrategyRequestSignerFactories
public static WaasAsyncClient.Builder builder()
Create a builder for this client.
public void setRegion(Region region)
WaasAsync
Sets the region to call (ex, Region.US_PHOENIX_1).
Note, this will call setEndpoint
after resolving the
endpoint. If the service is not available in this region, however, an
IllegalArgumentException will be raised.
public void setRegion(String regionId)
WaasAsync
Sets the region to call (ex, ‘us-phoenix-1’).
Note, this will first try to map the region ID to a known Region and call setRegion
.
If no known Region could be determined, it will create an endpoint based on the default
endpoint format (Region.formatDefaultRegionEndpoint(Service, String)
and then call setEndpoint
.
public Future<AcceptRecommendationsResponse> acceptRecommendations(AcceptRecommendationsRequest request, AsyncHandler<AcceptRecommendationsRequest,AcceptRecommendationsResponse> handler)
WaasAsync
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](https://docs.cloud.oracle.com/iaas/Content/WAF/Tasks/wafprotectionrules.htm).
acceptRecommendations
in interface WaasAsync
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.public Future<CancelWorkRequestResponse> cancelWorkRequest(CancelWorkRequestRequest request, AsyncHandler<CancelWorkRequestRequest,CancelWorkRequestResponse> handler)
WaasAsync
Cancels a specified work request.
cancelWorkRequest
in interface WaasAsync
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.public Future<ChangeAddressListCompartmentResponse> changeAddressListCompartment(ChangeAddressListCompartmentRequest request, AsyncHandler<ChangeAddressListCompartmentRequest,ChangeAddressListCompartmentResponse> handler)
WaasAsync
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.
changeAddressListCompartment
in interface WaasAsync
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.public Future<ChangeCertificateCompartmentResponse> changeCertificateCompartment(ChangeCertificateCompartmentRequest request, AsyncHandler<ChangeCertificateCompartmentRequest,ChangeCertificateCompartmentResponse> handler)
WaasAsync
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.
changeCertificateCompartment
in interface WaasAsync
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.public Future<ChangeCustomProtectionRuleCompartmentResponse> changeCustomProtectionRuleCompartment(ChangeCustomProtectionRuleCompartmentRequest request, AsyncHandler<ChangeCustomProtectionRuleCompartmentRequest,ChangeCustomProtectionRuleCompartmentResponse> handler)
WaasAsync
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.
changeCustomProtectionRuleCompartment
in interface WaasAsync
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.public Future<ChangeWaasPolicyCompartmentResponse> changeWaasPolicyCompartment(ChangeWaasPolicyCompartmentRequest request, AsyncHandler<ChangeWaasPolicyCompartmentRequest,ChangeWaasPolicyCompartmentResponse> handler)
WaasAsync
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.
changeWaasPolicyCompartment
in interface WaasAsync
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.public Future<CreateAddressListResponse> createAddressList(CreateAddressListRequest request, AsyncHandler<CreateAddressListRequest,CreateAddressListResponse> handler)
WaasAsync
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.
createAddressList
in interface WaasAsync
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.public Future<CreateCertificateResponse> createCertificate(CreateCertificateRequest request, AsyncHandler<CreateCertificateRequest,CreateCertificateResponse> handler)
WaasAsync
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](https://docs.cloud.oracle.com/iaas/Content/WAF/Tasks/wafsettings.htm).
createCertificate
in interface WaasAsync
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.public Future<CreateCustomProtectionRuleResponse> createCustomProtectionRule(CreateCustomProtectionRuleRequest request, AsyncHandler<CreateCustomProtectionRuleRequest,CreateCustomProtectionRuleResponse> handler)
WaasAsync
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](https://docs.cloud.oracle.com/iaas/Content/WAF/Tasks/customprotectionrules.htm).
createCustomProtectionRule
in interface WaasAsync
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.public Future<CreateWaasPolicyResponse> createWaasPolicy(CreateWaasPolicyRequest request, AsyncHandler<CreateWaasPolicyRequest,CreateWaasPolicyResponse> handler)
WaasAsync
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](https://docs.cloud.oracle.com/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](https://docs.cloud.oracle.com/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.
createWaasPolicy
in interface WaasAsync
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.public Future<DeleteAddressListResponse> deleteAddressList(DeleteAddressListRequest request, AsyncHandler<DeleteAddressListRequest,DeleteAddressListResponse> handler)
WaasAsync
Deletes the address list from the compartment if it is not used.
deleteAddressList
in interface WaasAsync
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.public Future<DeleteCertificateResponse> deleteCertificate(DeleteCertificateRequest request, AsyncHandler<DeleteCertificateRequest,DeleteCertificateResponse> handler)
WaasAsync
Deletes an SSL certificate from the WAAS service.
deleteCertificate
in interface WaasAsync
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.public Future<DeleteCustomProtectionRuleResponse> deleteCustomProtectionRule(DeleteCustomProtectionRuleRequest request, AsyncHandler<DeleteCustomProtectionRuleRequest,DeleteCustomProtectionRuleResponse> handler)
WaasAsync
Deletes a Custom Protection rule.
deleteCustomProtectionRule
in interface WaasAsync
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.public Future<DeleteWaasPolicyResponse> deleteWaasPolicy(DeleteWaasPolicyRequest request, AsyncHandler<DeleteWaasPolicyRequest,DeleteWaasPolicyResponse> handler)
WaasAsync
Deletes a policy.
deleteWaasPolicy
in interface WaasAsync
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.public Future<GetAddressListResponse> getAddressList(GetAddressListRequest request, AsyncHandler<GetAddressListRequest,GetAddressListResponse> handler)
WaasAsync
Gets the details of an address list.
getAddressList
in interface WaasAsync
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.public Future<GetCertificateResponse> getCertificate(GetCertificateRequest request, AsyncHandler<GetCertificateRequest,GetCertificateResponse> handler)
WaasAsync
Gets the details of an SSL certificate.
getCertificate
in interface WaasAsync
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.public Future<GetCustomProtectionRuleResponse> getCustomProtectionRule(GetCustomProtectionRuleRequest request, AsyncHandler<GetCustomProtectionRuleRequest,GetCustomProtectionRuleResponse> handler)
WaasAsync
Gets the details of a custom protection rule.
getCustomProtectionRule
in interface WaasAsync
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.public Future<GetDeviceFingerprintChallengeResponse> getDeviceFingerprintChallenge(GetDeviceFingerprintChallengeRequest request, AsyncHandler<GetDeviceFingerprintChallengeRequest,GetDeviceFingerprintChallengeResponse> handler)
WaasAsync
Gets the device fingerprint challenge settings in the Web Application Firewall configuration for a WAAS policy.
getDeviceFingerprintChallenge
in interface WaasAsync
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.public Future<GetHumanInteractionChallengeResponse> getHumanInteractionChallenge(GetHumanInteractionChallengeRequest request, AsyncHandler<GetHumanInteractionChallengeRequest,GetHumanInteractionChallengeResponse> handler)
WaasAsync
Gets the human interaction challenge settings in the Web Application Firewall configuration for a WAAS policy.
getHumanInteractionChallenge
in interface WaasAsync
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.public Future<GetJsChallengeResponse> getJsChallenge(GetJsChallengeRequest request, AsyncHandler<GetJsChallengeRequest,GetJsChallengeResponse> handler)
WaasAsync
Gets the JavaScript challenge settings in the Web Application Firewall configuration for a WAAS policy.
getJsChallenge
in interface WaasAsync
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.public Future<GetPolicyConfigResponse> getPolicyConfig(GetPolicyConfigRequest request, AsyncHandler<GetPolicyConfigRequest,GetPolicyConfigResponse> handler)
WaasAsync
Gets the configuration of a WAAS policy.
getPolicyConfig
in interface WaasAsync
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.public Future<GetProtectionRuleResponse> getProtectionRule(GetProtectionRuleRequest request, AsyncHandler<GetProtectionRuleRequest,GetProtectionRuleResponse> handler)
WaasAsync
Gets the details of a protection rule in the Web Application Firewall configuration for a WAAS policy.
getProtectionRule
in interface WaasAsync
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.public Future<GetProtectionSettingsResponse> getProtectionSettings(GetProtectionSettingsRequest request, AsyncHandler<GetProtectionSettingsRequest,GetProtectionSettingsResponse> handler)
WaasAsync
Gets the protection settings in the Web Application Firewall configuration for a WAAS policy.
getProtectionSettings
in interface WaasAsync
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.public Future<GetWaasPolicyResponse> getWaasPolicy(GetWaasPolicyRequest request, AsyncHandler<GetWaasPolicyRequest,GetWaasPolicyResponse> handler)
WaasAsync
Gets the details of a WAAS policy.
getWaasPolicy
in interface WaasAsync
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.public Future<GetWafAddressRateLimitingResponse> getWafAddressRateLimiting(GetWafAddressRateLimitingRequest request, AsyncHandler<GetWafAddressRateLimitingRequest,GetWafAddressRateLimitingResponse> handler)
WaasAsync
Gets the address rate limiting settings of the Web Application Firewall configuration for a WAAS policy.
getWafAddressRateLimiting
in interface WaasAsync
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.public Future<GetWafConfigResponse> getWafConfig(GetWafConfigRequest request, AsyncHandler<GetWafConfigRequest,GetWafConfigResponse> handler)
WaasAsync
Gets the Web Application Firewall configuration details for a WAAS policy.
getWafConfig
in interface WaasAsync
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.public Future<GetWorkRequestResponse> getWorkRequest(GetWorkRequestRequest request, AsyncHandler<GetWorkRequestRequest,GetWorkRequestResponse> handler)
WaasAsync
Gets the details of a specified work request.
getWorkRequest
in interface WaasAsync
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.public Future<ListAccessRulesResponse> listAccessRules(ListAccessRulesRequest request, AsyncHandler<ListAccessRulesRequest,ListAccessRulesResponse> handler)
WaasAsync
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.
listAccessRules
in interface WaasAsync
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.public Future<ListAddressListsResponse> listAddressLists(ListAddressListsRequest request, AsyncHandler<ListAddressListsRequest,ListAddressListsResponse> handler)
WaasAsync
Gets a list of address lists that can be used in a WAAS policy.
listAddressLists
in interface WaasAsync
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.public Future<ListCachingRulesResponse> listCachingRules(ListCachingRulesRequest request, AsyncHandler<ListCachingRulesRequest,ListCachingRulesResponse> handler)
WaasAsync
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.
listCachingRules
in interface WaasAsync
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.public Future<ListCaptchasResponse> listCaptchas(ListCaptchasRequest request, AsyncHandler<ListCaptchasRequest,ListCaptchasResponse> handler)
WaasAsync
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.
listCaptchas
in interface WaasAsync
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.public Future<ListCertificatesResponse> listCertificates(ListCertificatesRequest request, AsyncHandler<ListCertificatesRequest,ListCertificatesResponse> handler)
WaasAsync
Gets a list of SSL certificates that can be used in a WAAS policy.
listCertificates
in interface WaasAsync
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.public Future<ListCustomProtectionRulesResponse> listCustomProtectionRules(ListCustomProtectionRulesRequest request, AsyncHandler<ListCustomProtectionRulesRequest,ListCustomProtectionRulesResponse> handler)
WaasAsync
Gets a list of custom protection rules for the specified Web Application Firewall.
listCustomProtectionRules
in interface WaasAsync
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.public Future<ListEdgeSubnetsResponse> listEdgeSubnets(ListEdgeSubnetsRequest request, AsyncHandler<ListEdgeSubnetsRequest,ListEdgeSubnetsResponse> handler)
WaasAsync
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.
listEdgeSubnets
in interface WaasAsync
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.public Future<ListGoodBotsResponse> listGoodBots(ListGoodBotsRequest request, AsyncHandler<ListGoodBotsRequest,ListGoodBotsResponse> handler)
WaasAsync
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.
listGoodBots
in interface WaasAsync
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.public Future<ListProtectionRulesResponse> listProtectionRules(ListProtectionRulesRequest request, AsyncHandler<ListProtectionRulesRequest,ListProtectionRulesResponse> handler)
WaasAsync
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.
listProtectionRules
in interface WaasAsync
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.public Future<ListRecommendationsResponse> listRecommendations(ListRecommendationsRequest request, AsyncHandler<ListRecommendationsRequest,ListRecommendationsResponse> handler)
WaasAsync
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](https://docs.cloud.oracle.com/iaas/Content/WAF/Tasks/wafprotectionrules.htm). The list is sorted by `key`, in ascending order.
listRecommendations
in interface WaasAsync
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.public Future<ListThreatFeedsResponse> listThreatFeeds(ListThreatFeedsRequest request, AsyncHandler<ListThreatFeedsRequest,ListThreatFeedsResponse> handler)
WaasAsync
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.
listThreatFeeds
in interface WaasAsync
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.public Future<ListWaasPoliciesResponse> listWaasPolicies(ListWaasPoliciesRequest request, AsyncHandler<ListWaasPoliciesRequest,ListWaasPoliciesResponse> handler)
WaasAsync
Gets a list of WAAS policies.
listWaasPolicies
in interface WaasAsync
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.public Future<ListWaasPolicyCustomProtectionRulesResponse> listWaasPolicyCustomProtectionRules(ListWaasPolicyCustomProtectionRulesRequest request, AsyncHandler<ListWaasPolicyCustomProtectionRulesRequest,ListWaasPolicyCustomProtectionRulesResponse> handler)
WaasAsync
Gets the list of currently configured custom protection rules for a WAAS policy.
listWaasPolicyCustomProtectionRules
in interface WaasAsync
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.public Future<ListWafBlockedRequestsResponse> listWafBlockedRequests(ListWafBlockedRequestsRequest request, AsyncHandler<ListWafBlockedRequestsRequest,ListWafBlockedRequestsResponse> handler)
WaasAsync
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).
listWafBlockedRequests
in interface WaasAsync
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.public Future<ListWafLogsResponse> listWafLogs(ListWafLogsRequest request, AsyncHandler<ListWafLogsRequest,ListWafLogsResponse> handler)
WaasAsync
Gets structured Web Application Firewall event logs for a WAAS policy. Sorted by the
timeObserved
in ascending order (starting from the oldest recorded event).
listWafLogs
in interface WaasAsync
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.public Future<ListWafRequestsResponse> listWafRequests(ListWafRequestsRequest request, AsyncHandler<ListWafRequestsRequest,ListWafRequestsResponse> handler)
WaasAsync
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).
listWafRequests
in interface WaasAsync
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.public Future<ListWafTrafficResponse> listWafTraffic(ListWafTrafficRequest request, AsyncHandler<ListWafTrafficRequest,ListWafTrafficResponse> handler)
WaasAsync
Gets the Web Application Firewall traffic data for a WAAS policy. Sorted by timeObserved
in
ascending order (starting from oldest data).
listWafTraffic
in interface WaasAsync
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.public Future<ListWhitelistsResponse> listWhitelists(ListWhitelistsRequest request, AsyncHandler<ListWhitelistsRequest,ListWhitelistsResponse> handler)
WaasAsync
Gets the list of whitelists defined in the Web Application Firewall configuration for a WAAS policy.
listWhitelists
in interface WaasAsync
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.public Future<ListWorkRequestsResponse> listWorkRequests(ListWorkRequestsRequest request, AsyncHandler<ListWorkRequestsRequest,ListWorkRequestsResponse> handler)
WaasAsync
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.
listWorkRequests
in interface WaasAsync
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.public Future<PurgeCacheResponse> purgeCache(PurgeCacheRequest request, AsyncHandler<PurgeCacheRequest,PurgeCacheResponse> handler)
WaasAsync
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.
purgeCache
in interface WaasAsync
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.public Future<UpdateAccessRulesResponse> updateAccessRules(UpdateAccessRulesRequest request, AsyncHandler<UpdateAccessRulesRequest,UpdateAccessRulesResponse> handler)
WaasAsync
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.
updateAccessRules
in interface WaasAsync
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.public Future<UpdateAddressListResponse> updateAddressList(UpdateAddressListRequest request, AsyncHandler<UpdateAddressListRequest,UpdateAddressListResponse> handler)
WaasAsync
Updates the details of an address list. Only the fields specified in the request body will be updated; all other properties will remain unchanged.
updateAddressList
in interface WaasAsync
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.public Future<UpdateCachingRulesResponse> updateCachingRules(UpdateCachingRulesRequest request, AsyncHandler<UpdateCachingRulesRequest,UpdateCachingRulesResponse> handler)
WaasAsync
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](https://docs.cloud.oracle.com/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.
updateCachingRules
in interface WaasAsync
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.public Future<UpdateCaptchasResponse> updateCaptchas(UpdateCaptchasRequest request, AsyncHandler<UpdateCaptchasRequest,UpdateCaptchasResponse> handler)
WaasAsync
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.
updateCaptchas
in interface WaasAsync
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.public Future<UpdateCertificateResponse> updateCertificate(UpdateCertificateRequest request, AsyncHandler<UpdateCertificateRequest,UpdateCertificateResponse> handler)
WaasAsync
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.
updateCertificate
in interface WaasAsync
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.public Future<UpdateCustomProtectionRuleResponse> updateCustomProtectionRule(UpdateCustomProtectionRuleRequest request, AsyncHandler<UpdateCustomProtectionRuleRequest,UpdateCustomProtectionRuleResponse> handler)
WaasAsync
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.
updateCustomProtectionRule
in interface WaasAsync
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.public Future<UpdateDeviceFingerprintChallengeResponse> updateDeviceFingerprintChallenge(UpdateDeviceFingerprintChallengeRequest request, AsyncHandler<UpdateDeviceFingerprintChallengeRequest,UpdateDeviceFingerprintChallengeResponse> handler)
WaasAsync
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.
updateDeviceFingerprintChallenge
in interface WaasAsync
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.public Future<UpdateGoodBotsResponse> updateGoodBots(UpdateGoodBotsRequest request, AsyncHandler<UpdateGoodBotsRequest,UpdateGoodBotsResponse> handler)
WaasAsync
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](https://docs.cloud.oracle.com/iaas/Content/WAF/Tasks/botmanagement.htm).
updateGoodBots
in interface WaasAsync
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.public Future<UpdateHumanInteractionChallengeResponse> updateHumanInteractionChallenge(UpdateHumanInteractionChallengeRequest request, AsyncHandler<UpdateHumanInteractionChallengeRequest,UpdateHumanInteractionChallengeResponse> handler)
WaasAsync
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.
updateHumanInteractionChallenge
in interface WaasAsync
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.public Future<UpdateJsChallengeResponse> updateJsChallenge(UpdateJsChallengeRequest request, AsyncHandler<UpdateJsChallengeRequest,UpdateJsChallengeResponse> handler)
WaasAsync
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.
updateJsChallenge
in interface WaasAsync
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.public Future<UpdatePolicyConfigResponse> updatePolicyConfig(UpdatePolicyConfigRequest request, AsyncHandler<UpdatePolicyConfigRequest,UpdatePolicyConfigResponse> handler)
WaasAsync
Updates the configuration for a WAAS policy. Only the fields specified in the request body will be updated; all other properties will remain unchanged.
updatePolicyConfig
in interface WaasAsync
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.public Future<UpdateProtectionRulesResponse> updateProtectionRules(UpdateProtectionRulesRequest request, AsyncHandler<UpdateProtectionRulesRequest,UpdateProtectionRulesResponse> handler)
WaasAsync
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. 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.
updateProtectionRules
in interface WaasAsync
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.public Future<UpdateProtectionSettingsResponse> updateProtectionSettings(UpdateProtectionSettingsRequest request, AsyncHandler<UpdateProtectionSettingsRequest,UpdateProtectionSettingsResponse> handler)
WaasAsync
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.
updateProtectionSettings
in interface WaasAsync
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.public Future<UpdateThreatFeedsResponse> updateThreatFeeds(UpdateThreatFeedsRequest request, AsyncHandler<UpdateThreatFeedsRequest,UpdateThreatFeedsResponse> handler)
WaasAsync
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.
updateThreatFeeds
in interface WaasAsync
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.public Future<UpdateWaasPolicyResponse> updateWaasPolicy(UpdateWaasPolicyRequest request, AsyncHandler<UpdateWaasPolicyRequest,UpdateWaasPolicyResponse> handler)
WaasAsync
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.
updateWaasPolicy
in interface WaasAsync
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.public Future<UpdateWaasPolicyCustomProtectionRulesResponse> updateWaasPolicyCustomProtectionRules(UpdateWaasPolicyCustomProtectionRulesRequest request, AsyncHandler<UpdateWaasPolicyCustomProtectionRulesRequest,UpdateWaasPolicyCustomProtectionRulesResponse> handler)
WaasAsync
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.
updateWaasPolicyCustomProtectionRules
in interface WaasAsync
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.public Future<UpdateWafAddressRateLimitingResponse> updateWafAddressRateLimiting(UpdateWafAddressRateLimitingRequest request, AsyncHandler<UpdateWafAddressRateLimitingRequest,UpdateWafAddressRateLimitingResponse> handler)
WaasAsync
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.
updateWafAddressRateLimiting
in interface WaasAsync
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.public Future<UpdateWafConfigResponse> updateWafConfig(UpdateWafConfigRequest request, AsyncHandler<UpdateWafConfigRequest,UpdateWafConfigResponse> handler)
WaasAsync
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.
updateWafConfig
in interface WaasAsync
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.public Future<UpdateWhitelistsResponse> updateWhitelists(UpdateWhitelistsRequest request, AsyncHandler<UpdateWhitelistsRequest,UpdateWhitelistsResponse> handler)
WaasAsync
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.
updateWhitelists
in interface WaasAsync
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.protected ClientConfigurator getDefaultConfigurator()
public void useRealmSpecificEndpointTemplate(boolean useOfRealmSpecificEndpointTemplateEnabled)
useOfRealmSpecificEndpointTemplateEnabled
- This flag can be set to true or false to
enable or disable the use of realm-specific endpoint template respectivelypublic final void populateServiceParametersInEndpoint(String endpoint, Map<String,Object> requiredParametersMap)
endpoint
- The endpoint template in userequiredParametersMap
- Map of parameter name as key and value set in request path or
query parameter as valuepublic final void updateBaseEndpoint(String endpoint)
endpoint
- The updated endpoint to usepublic final void setEndpoint(String endpoint)
public final String getEndpoint()
public final void refreshClient()
HttpClient
. This will call ClientConfigurator
s again, and
can be used to e.g. refresh the SSL certificate.public final void close()
close
in interface AutoCloseable
public String getClientCommonLibraryVersion()
public Optional<String> getMinimumClientCommonLibraryVersionFromClient()
protected <REQ extends BmcRequest<?>,RESP extends BmcResponse,RESP_BUILDER extends BmcResponse.Builder<RESP>> ClientCall<REQ,RESP,RESP_BUILDER> clientCall(REQ request, Supplier<RESP_BUILDER> responseBuilder)
Copyright © 2016–2024. All rights reserved.