Class WaasAsyncClient
- java.lang.Object
-
- com.oracle.bmc.http.internal.BaseAsyncClient
-
- com.oracle.bmc.waas.WaasAsyncClient
-
- All Implemented Interfaces:
WaasAsync
,AutoCloseable
@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 anInputStream
, 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
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
WaasAsyncClient.Builder
Builder class for this client.
-
Field Summary
Fields Modifier and Type Field 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 Summary
Constructors Constructor Description WaasAsyncClient(AbstractAuthenticationDetailsProvider authenticationDetailsProvider, ClientConfiguration configuration, ClientConfigurator clientConfigurator, RequestSignerFactory defaultRequestSignerFactory)
Deprecated.Use thebuilder
instead.WaasAsyncClient(AbstractAuthenticationDetailsProvider authenticationDetailsProvider, ClientConfiguration configuration, ClientConfigurator clientConfigurator, RequestSignerFactory defaultRequestSignerFactory, List<ClientConfigurator> additionalClientConfigurators)
Deprecated.Use thebuilder
instead.WaasAsyncClient(AbstractAuthenticationDetailsProvider authenticationDetailsProvider, ClientConfiguration configuration, ClientConfigurator clientConfigurator, RequestSignerFactory defaultRequestSignerFactory, List<ClientConfigurator> additionalClientConfigurators, String endpoint)
Deprecated.Use thebuilder
instead.WaasAsyncClient(AbstractAuthenticationDetailsProvider authenticationDetailsProvider, ClientConfiguration configuration, ClientConfigurator clientConfigurator, RequestSignerFactory defaultRequestSignerFactory, Map<SigningStrategy,RequestSignerFactory> signingStrategyRequestSignerFactories, List<ClientConfigurator> additionalClientConfigurators, String endpoint)
Deprecated.Use thebuilder
instead.WaasAsyncClient(BasicAuthenticationDetailsProvider authenticationDetailsProvider)
Deprecated.Use thebuilder
instead.WaasAsyncClient(BasicAuthenticationDetailsProvider authenticationDetailsProvider, ClientConfiguration configuration)
Deprecated.Use thebuilder
instead.WaasAsyncClient(BasicAuthenticationDetailsProvider authenticationDetailsProvider, ClientConfiguration configuration, ClientConfigurator clientConfigurator)
Deprecated.Use thebuilder
instead.
-
Method Summary
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface java.lang.AutoCloseable
close
-
Methods inherited from interface com.oracle.bmc.waas.WaasAsync
getEndpoint, refreshClient, setEndpoint, useRealmSpecificEndpointTemplate
-
-
-
-
Constructor Detail
-
WaasAsyncClient
@Deprecated public WaasAsyncClient(BasicAuthenticationDetailsProvider authenticationDetailsProvider)
Deprecated.Use thebuilder
instead.Create a new client instance.- Parameters:
authenticationDetailsProvider
- The authentication details (seeWaasAsyncClient.Builder.build(com.oracle.bmc.auth.AbstractAuthenticationDetailsProvider)
)
-
WaasAsyncClient
@Deprecated public WaasAsyncClient(BasicAuthenticationDetailsProvider authenticationDetailsProvider, ClientConfiguration configuration)
Deprecated.Use thebuilder
instead.Create a new client instance.- Parameters:
authenticationDetailsProvider
- The authentication details (seeWaasAsyncClient.Builder.build(com.oracle.bmc.auth.AbstractAuthenticationDetailsProvider)
)configuration
-ClientBuilderBase.configuration
-
WaasAsyncClient
@Deprecated public WaasAsyncClient(BasicAuthenticationDetailsProvider authenticationDetailsProvider, ClientConfiguration configuration, ClientConfigurator clientConfigurator)
Deprecated.Use thebuilder
instead.Create a new client instance.- Parameters:
authenticationDetailsProvider
- The authentication details (seeWaasAsyncClient.Builder.build(com.oracle.bmc.auth.AbstractAuthenticationDetailsProvider)
)configuration
-ClientBuilderBase.configuration
clientConfigurator
-ClientBuilderBase.clientConfigurator(com.oracle.bmc.http.ClientConfigurator)
-
WaasAsyncClient
@Deprecated public WaasAsyncClient(AbstractAuthenticationDetailsProvider authenticationDetailsProvider, ClientConfiguration configuration, ClientConfigurator clientConfigurator, RequestSignerFactory defaultRequestSignerFactory)
Deprecated.Use thebuilder
instead.Create a new client instance.- Parameters:
authenticationDetailsProvider
- The authentication details (seeWaasAsyncClient.Builder.build(com.oracle.bmc.auth.AbstractAuthenticationDetailsProvider)
)configuration
-ClientBuilderBase.configuration
clientConfigurator
-ClientBuilderBase.clientConfigurator(com.oracle.bmc.http.ClientConfigurator)
defaultRequestSignerFactory
-ClientBuilderBase.requestSignerFactory
-
WaasAsyncClient
@Deprecated public WaasAsyncClient(AbstractAuthenticationDetailsProvider authenticationDetailsProvider, ClientConfiguration configuration, ClientConfigurator clientConfigurator, RequestSignerFactory defaultRequestSignerFactory, List<ClientConfigurator> additionalClientConfigurators)
Deprecated.Use thebuilder
instead.Create a new client instance.- Parameters:
authenticationDetailsProvider
- The authentication details (seeWaasAsyncClient.Builder.build(com.oracle.bmc.auth.AbstractAuthenticationDetailsProvider)
)configuration
-ClientBuilderBase.configuration
clientConfigurator
-ClientBuilderBase.clientConfigurator(com.oracle.bmc.http.ClientConfigurator)
defaultRequestSignerFactory
-ClientBuilderBase.requestSignerFactory
additionalClientConfigurators
-ClientBuilderBase.additionalClientConfigurators
-
WaasAsyncClient
@Deprecated public WaasAsyncClient(AbstractAuthenticationDetailsProvider authenticationDetailsProvider, ClientConfiguration configuration, ClientConfigurator clientConfigurator, RequestSignerFactory defaultRequestSignerFactory, List<ClientConfigurator> additionalClientConfigurators, String endpoint)
Deprecated.Use thebuilder
instead.Create a new client instance.- Parameters:
authenticationDetailsProvider
- The authentication details (seeWaasAsyncClient.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)
-
WaasAsyncClient
@Deprecated public WaasAsyncClient(AbstractAuthenticationDetailsProvider authenticationDetailsProvider, ClientConfiguration configuration, ClientConfigurator clientConfigurator, RequestSignerFactory defaultRequestSignerFactory, Map<SigningStrategy,RequestSignerFactory> signingStrategyRequestSignerFactories, List<ClientConfigurator> additionalClientConfigurators, String endpoint)
Deprecated.Use thebuilder
instead.Create a new client instance.- Parameters:
authenticationDetailsProvider
- The authentication details (seeWaasAsyncClient.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
-
-
Method Detail
-
builder
public static WaasAsyncClient.Builder builder()
Create a builder for this client.- Returns:
- builder
-
setRegion
public void setRegion(Region region)
Description copied from interface: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.
-
setRegion
public void setRegion(String regionId)
Description copied from interface: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 callsetEndpoint
.
-
acceptRecommendations
public Future<AcceptRecommendationsResponse> acceptRecommendations(AcceptRecommendationsRequest request, AsyncHandler<AcceptRecommendationsRequest,AcceptRecommendationsResponse> handler)
Description copied from interface: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.oracle.com/iaas/Content/WAF/Tasks/wafprotectionrules.htm).
- Specified by:
acceptRecommendations
in interfaceWaasAsync
- Parameters:
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.- Returns:
- A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
-
cancelWorkRequest
public Future<CancelWorkRequestResponse> cancelWorkRequest(CancelWorkRequestRequest request, AsyncHandler<CancelWorkRequestRequest,CancelWorkRequestResponse> handler)
Description copied from interface:WaasAsync
Cancels a specified work request.- Specified by:
cancelWorkRequest
in interfaceWaasAsync
- Parameters:
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.- Returns:
- A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
-
changeAddressListCompartment
public Future<ChangeAddressListCompartmentResponse> changeAddressListCompartment(ChangeAddressListCompartmentRequest request, AsyncHandler<ChangeAddressListCompartmentRequest,ChangeAddressListCompartmentResponse> handler)
Description copied from interface: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.
- Specified by:
changeAddressListCompartment
in interfaceWaasAsync
- Parameters:
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.- Returns:
- A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
-
changeCertificateCompartment
public Future<ChangeCertificateCompartmentResponse> changeCertificateCompartment(ChangeCertificateCompartmentRequest request, AsyncHandler<ChangeCertificateCompartmentRequest,ChangeCertificateCompartmentResponse> handler)
Description copied from interface: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.
- Specified by:
changeCertificateCompartment
in interfaceWaasAsync
- Parameters:
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.- Returns:
- A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
-
changeCustomProtectionRuleCompartment
public Future<ChangeCustomProtectionRuleCompartmentResponse> changeCustomProtectionRuleCompartment(ChangeCustomProtectionRuleCompartmentRequest request, AsyncHandler<ChangeCustomProtectionRuleCompartmentRequest,ChangeCustomProtectionRuleCompartmentResponse> handler)
Description copied from interface: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.
- Specified by:
changeCustomProtectionRuleCompartment
in interfaceWaasAsync
- Parameters:
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.- Returns:
- A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
-
changeWaasPolicyCompartment
public Future<ChangeWaasPolicyCompartmentResponse> changeWaasPolicyCompartment(ChangeWaasPolicyCompartmentRequest request, AsyncHandler<ChangeWaasPolicyCompartmentRequest,ChangeWaasPolicyCompartmentResponse> handler)
Description copied from interface: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.
- Specified by:
changeWaasPolicyCompartment
in interfaceWaasAsync
- Parameters:
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.- Returns:
- A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
-
createAddressList
public Future<CreateAddressListResponse> createAddressList(CreateAddressListRequest request, AsyncHandler<CreateAddressListRequest,CreateAddressListResponse> handler)
Description copied from interface: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.
- Specified by:
createAddressList
in interfaceWaasAsync
- Parameters:
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.- Returns:
- A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
-
createCertificate
public Future<CreateCertificateResponse> createCertificate(CreateCertificateRequest request, AsyncHandler<CreateCertificateRequest,CreateCertificateResponse> handler)
Description copied from interface: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.oracle.com/iaas/Content/WAF/Tasks/wafsettings.htm).
- Specified by:
createCertificate
in interfaceWaasAsync
- Parameters:
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.- Returns:
- A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
-
createCustomProtectionRule
public Future<CreateCustomProtectionRuleResponse> createCustomProtectionRule(CreateCustomProtectionRuleRequest request, AsyncHandler<CreateCustomProtectionRuleRequest,CreateCustomProtectionRuleResponse> handler)
Description copied from interface: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.oracle.com/iaas/Content/WAF/Tasks/customprotectionrules.htm).
- Specified by:
createCustomProtectionRule
in interfaceWaasAsync
- Parameters:
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.- Returns:
- A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
-
createWaasPolicy
public Future<CreateWaasPolicyResponse> createWaasPolicy(CreateWaasPolicyRequest request, AsyncHandler<CreateWaasPolicyRequest,CreateWaasPolicyResponse> handler)
Description copied from interface: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.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.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.
- Specified by:
createWaasPolicy
in interfaceWaasAsync
- Parameters:
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.- Returns:
- A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
-
deleteAddressList
public Future<DeleteAddressListResponse> deleteAddressList(DeleteAddressListRequest request, AsyncHandler<DeleteAddressListRequest,DeleteAddressListResponse> handler)
Description copied from interface:WaasAsync
Deletes the address list from the compartment if it is not used.- Specified by:
deleteAddressList
in interfaceWaasAsync
- Parameters:
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.- Returns:
- A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
-
deleteCertificate
public Future<DeleteCertificateResponse> deleteCertificate(DeleteCertificateRequest request, AsyncHandler<DeleteCertificateRequest,DeleteCertificateResponse> handler)
Description copied from interface:WaasAsync
Deletes an SSL certificate from the WAAS service.- Specified by:
deleteCertificate
in interfaceWaasAsync
- Parameters:
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.- Returns:
- A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
-
deleteCustomProtectionRule
public Future<DeleteCustomProtectionRuleResponse> deleteCustomProtectionRule(DeleteCustomProtectionRuleRequest request, AsyncHandler<DeleteCustomProtectionRuleRequest,DeleteCustomProtectionRuleResponse> handler)
Description copied from interface:WaasAsync
Deletes a Custom Protection rule.- Specified by:
deleteCustomProtectionRule
in interfaceWaasAsync
- Parameters:
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.- Returns:
- A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
-
deleteWaasPolicy
public Future<DeleteWaasPolicyResponse> deleteWaasPolicy(DeleteWaasPolicyRequest request, AsyncHandler<DeleteWaasPolicyRequest,DeleteWaasPolicyResponse> handler)
Description copied from interface:WaasAsync
Deletes a policy.- Specified by:
deleteWaasPolicy
in interfaceWaasAsync
- Parameters:
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.- Returns:
- A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
-
getAddressList
public Future<GetAddressListResponse> getAddressList(GetAddressListRequest request, AsyncHandler<GetAddressListRequest,GetAddressListResponse> handler)
Description copied from interface:WaasAsync
Gets the details of an address list.- Specified by:
getAddressList
in interfaceWaasAsync
- Parameters:
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.- Returns:
- A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
-
getCertificate
public Future<GetCertificateResponse> getCertificate(GetCertificateRequest request, AsyncHandler<GetCertificateRequest,GetCertificateResponse> handler)
Description copied from interface:WaasAsync
Gets the details of an SSL certificate.- Specified by:
getCertificate
in interfaceWaasAsync
- Parameters:
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.- Returns:
- A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
-
getCustomProtectionRule
public Future<GetCustomProtectionRuleResponse> getCustomProtectionRule(GetCustomProtectionRuleRequest request, AsyncHandler<GetCustomProtectionRuleRequest,GetCustomProtectionRuleResponse> handler)
Description copied from interface:WaasAsync
Gets the details of a custom protection rule.- Specified by:
getCustomProtectionRule
in interfaceWaasAsync
- Parameters:
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.- Returns:
- A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
-
getDeviceFingerprintChallenge
public Future<GetDeviceFingerprintChallengeResponse> getDeviceFingerprintChallenge(GetDeviceFingerprintChallengeRequest request, AsyncHandler<GetDeviceFingerprintChallengeRequest,GetDeviceFingerprintChallengeResponse> handler)
Description copied from interface:WaasAsync
Gets the device fingerprint challenge settings in the Web Application Firewall configuration for a WAAS policy.- Specified by:
getDeviceFingerprintChallenge
in interfaceWaasAsync
- Parameters:
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.- Returns:
- A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
-
getHumanInteractionChallenge
public Future<GetHumanInteractionChallengeResponse> getHumanInteractionChallenge(GetHumanInteractionChallengeRequest request, AsyncHandler<GetHumanInteractionChallengeRequest,GetHumanInteractionChallengeResponse> handler)
Description copied from interface:WaasAsync
Gets the human interaction challenge settings in the Web Application Firewall configuration for a WAAS policy.- Specified by:
getHumanInteractionChallenge
in interfaceWaasAsync
- Parameters:
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.- Returns:
- A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
-
getJsChallenge
public Future<GetJsChallengeResponse> getJsChallenge(GetJsChallengeRequest request, AsyncHandler<GetJsChallengeRequest,GetJsChallengeResponse> handler)
Description copied from interface:WaasAsync
Gets the JavaScript challenge settings in the Web Application Firewall configuration for a WAAS policy.- Specified by:
getJsChallenge
in interfaceWaasAsync
- Parameters:
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.- Returns:
- A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
-
getPolicyConfig
public Future<GetPolicyConfigResponse> getPolicyConfig(GetPolicyConfigRequest request, AsyncHandler<GetPolicyConfigRequest,GetPolicyConfigResponse> handler)
Description copied from interface:WaasAsync
Gets the configuration of a WAAS policy.- Specified by:
getPolicyConfig
in interfaceWaasAsync
- Parameters:
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.- Returns:
- A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
-
getProtectionRule
public Future<GetProtectionRuleResponse> getProtectionRule(GetProtectionRuleRequest request, AsyncHandler<GetProtectionRuleRequest,GetProtectionRuleResponse> handler)
Description copied from interface:WaasAsync
Gets the details of a protection rule in the Web Application Firewall configuration for a WAAS policy.- Specified by:
getProtectionRule
in interfaceWaasAsync
- Parameters:
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.- Returns:
- A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
-
getProtectionSettings
public Future<GetProtectionSettingsResponse> getProtectionSettings(GetProtectionSettingsRequest request, AsyncHandler<GetProtectionSettingsRequest,GetProtectionSettingsResponse> handler)
Description copied from interface:WaasAsync
Gets the protection settings in the Web Application Firewall configuration for a WAAS policy.- Specified by:
getProtectionSettings
in interfaceWaasAsync
- Parameters:
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.- Returns:
- A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
-
getWaasPolicy
public Future<GetWaasPolicyResponse> getWaasPolicy(GetWaasPolicyRequest request, AsyncHandler<GetWaasPolicyRequest,GetWaasPolicyResponse> handler)
Description copied from interface:WaasAsync
Gets the details of a WAAS policy.- Specified by:
getWaasPolicy
in interfaceWaasAsync
- Parameters:
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.- Returns:
- A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
-
getWafAddressRateLimiting
public Future<GetWafAddressRateLimitingResponse> getWafAddressRateLimiting(GetWafAddressRateLimitingRequest request, AsyncHandler<GetWafAddressRateLimitingRequest,GetWafAddressRateLimitingResponse> handler)
Description copied from interface:WaasAsync
Gets the address rate limiting settings of the Web Application Firewall configuration for a WAAS policy.- Specified by:
getWafAddressRateLimiting
in interfaceWaasAsync
- Parameters:
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.- Returns:
- A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
-
getWafConfig
public Future<GetWafConfigResponse> getWafConfig(GetWafConfigRequest request, AsyncHandler<GetWafConfigRequest,GetWafConfigResponse> handler)
Description copied from interface:WaasAsync
Gets the Web Application Firewall configuration details for a WAAS policy.- Specified by:
getWafConfig
in interfaceWaasAsync
- Parameters:
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.- Returns:
- A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
-
getWorkRequest
public Future<GetWorkRequestResponse> getWorkRequest(GetWorkRequestRequest request, AsyncHandler<GetWorkRequestRequest,GetWorkRequestResponse> handler)
Description copied from interface:WaasAsync
Gets the details of a specified work request.- Specified by:
getWorkRequest
in interfaceWaasAsync
- Parameters:
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.- Returns:
- A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
-
listAccessRules
public Future<ListAccessRulesResponse> listAccessRules(ListAccessRulesRequest request, AsyncHandler<ListAccessRulesRequest,ListAccessRulesResponse> handler)
Description copied from interface: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.
- Specified by:
listAccessRules
in interfaceWaasAsync
- Parameters:
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.- Returns:
- A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
-
listAddressLists
public Future<ListAddressListsResponse> listAddressLists(ListAddressListsRequest request, AsyncHandler<ListAddressListsRequest,ListAddressListsResponse> handler)
Description copied from interface:WaasAsync
Gets a list of address lists that can be used in a WAAS policy.- Specified by:
listAddressLists
in interfaceWaasAsync
- Parameters:
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.- Returns:
- A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
-
listCachingRules
public Future<ListCachingRulesResponse> listCachingRules(ListCachingRulesRequest request, AsyncHandler<ListCachingRulesRequest,ListCachingRulesResponse> handler)
Description copied from interface: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.
- Specified by:
listCachingRules
in interfaceWaasAsync
- Parameters:
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.- Returns:
- A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
-
listCaptchas
public Future<ListCaptchasResponse> listCaptchas(ListCaptchasRequest request, AsyncHandler<ListCaptchasRequest,ListCaptchasResponse> handler)
Description copied from interface: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.
- Specified by:
listCaptchas
in interfaceWaasAsync
- Parameters:
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.- Returns:
- A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
-
listCertificates
public Future<ListCertificatesResponse> listCertificates(ListCertificatesRequest request, AsyncHandler<ListCertificatesRequest,ListCertificatesResponse> handler)
Description copied from interface:WaasAsync
Gets a list of SSL certificates that can be used in a WAAS policy.- Specified by:
listCertificates
in interfaceWaasAsync
- Parameters:
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.- Returns:
- A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
-
listCustomProtectionRules
public Future<ListCustomProtectionRulesResponse> listCustomProtectionRules(ListCustomProtectionRulesRequest request, AsyncHandler<ListCustomProtectionRulesRequest,ListCustomProtectionRulesResponse> handler)
Description copied from interface:WaasAsync
Gets a list of custom protection rules for the specified Web Application Firewall.- Specified by:
listCustomProtectionRules
in interfaceWaasAsync
- Parameters:
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.- Returns:
- A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
-
listEdgeSubnets
public Future<ListEdgeSubnetsResponse> listEdgeSubnets(ListEdgeSubnetsRequest request, AsyncHandler<ListEdgeSubnetsRequest,ListEdgeSubnetsResponse> handler)
Description copied from interface: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.
- Specified by:
listEdgeSubnets
in interfaceWaasAsync
- Parameters:
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.- Returns:
- A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
-
listGoodBots
public Future<ListGoodBotsResponse> listGoodBots(ListGoodBotsRequest request, AsyncHandler<ListGoodBotsRequest,ListGoodBotsResponse> handler)
Description copied from interface: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.
- Specified by:
listGoodBots
in interfaceWaasAsync
- Parameters:
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.- Returns:
- A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
-
listProtectionRules
public Future<ListProtectionRulesResponse> listProtectionRules(ListProtectionRulesRequest request, AsyncHandler<ListProtectionRulesRequest,ListProtectionRulesResponse> handler)
Description copied from interface: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 theListRecommendations
operation to get a list of recommended protection rules for the Web Application Firewall. The list is sorted bykey
, in ascending order.- Specified by:
listProtectionRules
in interfaceWaasAsync
- Parameters:
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.- Returns:
- A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
-
listRecommendations
public Future<ListRecommendationsResponse> listRecommendations(ListRecommendationsRequest request, AsyncHandler<ListRecommendationsRequest,ListRecommendationsResponse> handler)
Description copied from interface: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.oracle.com/iaas/Content/WAF/Tasks/wafprotectionrules.htm). The list is sorted by `key`, in ascending order.
- Specified by:
listRecommendations
in interfaceWaasAsync
- Parameters:
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.- Returns:
- A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
-
listThreatFeeds
public Future<ListThreatFeedsResponse> listThreatFeeds(ListThreatFeedsRequest request, AsyncHandler<ListThreatFeedsRequest,ListThreatFeedsResponse> handler)
Description copied from interface: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.- Specified by:
listThreatFeeds
in interfaceWaasAsync
- Parameters:
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.- Returns:
- A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
-
listWaasPolicies
public Future<ListWaasPoliciesResponse> listWaasPolicies(ListWaasPoliciesRequest request, AsyncHandler<ListWaasPoliciesRequest,ListWaasPoliciesResponse> handler)
Description copied from interface:WaasAsync
Gets a list of WAAS policies.- Specified by:
listWaasPolicies
in interfaceWaasAsync
- Parameters:
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.- Returns:
- A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
-
listWaasPolicyCustomProtectionRules
public Future<ListWaasPolicyCustomProtectionRulesResponse> listWaasPolicyCustomProtectionRules(ListWaasPolicyCustomProtectionRulesRequest request, AsyncHandler<ListWaasPolicyCustomProtectionRulesRequest,ListWaasPolicyCustomProtectionRulesResponse> handler)
Description copied from interface:WaasAsync
Gets the list of currently configured custom protection rules for a WAAS policy.- Specified by:
listWaasPolicyCustomProtectionRules
in interfaceWaasAsync
- Parameters:
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.- Returns:
- A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
-
listWafBlockedRequests
public Future<ListWafBlockedRequestsResponse> listWafBlockedRequests(ListWafBlockedRequestsRequest request, AsyncHandler<ListWafBlockedRequestsRequest,ListWafBlockedRequestsResponse> handler)
Description copied from interface:WaasAsync
Gets the number of blocked requests by a Web Application Firewall feature in five minute blocks, sorted bytimeObserved
in ascending order (starting from oldest data).- Specified by:
listWafBlockedRequests
in interfaceWaasAsync
- Parameters:
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.- Returns:
- A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
-
listWafLogs
public Future<ListWafLogsResponse> listWafLogs(ListWafLogsRequest request, AsyncHandler<ListWafLogsRequest,ListWafLogsResponse> handler)
Description copied from interface: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).- Specified by:
listWafLogs
in interfaceWaasAsync
- Parameters:
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.- Returns:
- A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
-
listWafRequests
public Future<ListWafRequestsResponse> listWafRequests(ListWafRequestsRequest request, AsyncHandler<ListWafRequestsRequest,ListWafRequestsResponse> handler)
Description copied from interface: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).- Specified by:
listWafRequests
in interfaceWaasAsync
- Parameters:
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.- Returns:
- A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
-
listWafTraffic
public Future<ListWafTrafficResponse> listWafTraffic(ListWafTrafficRequest request, AsyncHandler<ListWafTrafficRequest,ListWafTrafficResponse> handler)
Description copied from interface:WaasAsync
Gets the Web Application Firewall traffic data for a WAAS policy.Sorted by
timeObserved
in ascending order (starting from oldest data).- Specified by:
listWafTraffic
in interfaceWaasAsync
- Parameters:
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.- Returns:
- A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
-
listWhitelists
public Future<ListWhitelistsResponse> listWhitelists(ListWhitelistsRequest request, AsyncHandler<ListWhitelistsRequest,ListWhitelistsResponse> handler)
Description copied from interface:WaasAsync
Gets the list of whitelists defined in the Web Application Firewall configuration for a WAAS policy.- Specified by:
listWhitelists
in interfaceWaasAsync
- Parameters:
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.- Returns:
- A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
-
listWorkRequests
public Future<ListWorkRequestsResponse> listWorkRequests(ListWorkRequestsRequest request, AsyncHandler<ListWorkRequestsRequest,ListWorkRequestsResponse> handler)
Description copied from interface: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.
- Specified by:
listWorkRequests
in interfaceWaasAsync
- Parameters:
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.- Returns:
- A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
-
purgeCache
public Future<PurgeCacheResponse> purgeCache(PurgeCacheRequest request, AsyncHandler<PurgeCacheRequest,PurgeCacheResponse> handler)
Description copied from interface: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.
- Specified by:
purgeCache
in interfaceWaasAsync
- Parameters:
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.- Returns:
- A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
-
updateAccessRules
public Future<UpdateAccessRulesResponse> updateAccessRules(UpdateAccessRulesRequest request, AsyncHandler<UpdateAccessRulesRequest,UpdateAccessRulesResponse> handler)
Description copied from interface: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.
- Specified by:
updateAccessRules
in interfaceWaasAsync
- Parameters:
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.- Returns:
- A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
-
updateAddressList
public Future<UpdateAddressListResponse> updateAddressList(UpdateAddressListRequest request, AsyncHandler<UpdateAddressListRequest,UpdateAddressListResponse> handler)
Description copied from interface: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.
- Specified by:
updateAddressList
in interfaceWaasAsync
- Parameters:
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.- Returns:
- A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
-
updateCachingRules
public Future<UpdateCachingRulesResponse> updateCachingRules(UpdateCachingRulesRequest request, AsyncHandler<UpdateCachingRulesRequest,UpdateCachingRulesResponse> handler)
Description copied from interface: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.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.
- Specified by:
updateCachingRules
in interfaceWaasAsync
- Parameters:
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.- Returns:
- A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
-
updateCaptchas
public Future<UpdateCaptchasResponse> updateCaptchas(UpdateCaptchasRequest request, AsyncHandler<UpdateCaptchasRequest,UpdateCaptchasResponse> handler)
Description copied from interface: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.
- Specified by:
updateCaptchas
in interfaceWaasAsync
- Parameters:
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.- Returns:
- A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
-
updateCertificate
public Future<UpdateCertificateResponse> updateCertificate(UpdateCertificateRequest request, AsyncHandler<UpdateCertificateRequest,UpdateCertificateResponse> handler)
Description copied from interface: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.
- Specified by:
updateCertificate
in interfaceWaasAsync
- Parameters:
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.- Returns:
- A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
-
updateCustomProtectionRule
public Future<UpdateCustomProtectionRuleResponse> updateCustomProtectionRule(UpdateCustomProtectionRuleRequest request, AsyncHandler<UpdateCustomProtectionRuleRequest,UpdateCustomProtectionRuleResponse> handler)
Description copied from interface: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.
- Specified by:
updateCustomProtectionRule
in interfaceWaasAsync
- Parameters:
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.- Returns:
- A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
-
updateDeviceFingerprintChallenge
public Future<UpdateDeviceFingerprintChallengeResponse> updateDeviceFingerprintChallenge(UpdateDeviceFingerprintChallengeRequest request, AsyncHandler<UpdateDeviceFingerprintChallengeRequest,UpdateDeviceFingerprintChallengeResponse> handler)
Description copied from interface: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.
- Specified by:
updateDeviceFingerprintChallenge
in interfaceWaasAsync
- Parameters:
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.- Returns:
- A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
-
updateGoodBots
public Future<UpdateGoodBotsResponse> updateGoodBots(UpdateGoodBotsRequest request, AsyncHandler<UpdateGoodBotsRequest,UpdateGoodBotsResponse> handler)
Description copied from interface: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.oracle.com/iaas/Content/WAF/Tasks/botmanagement.htm).
- Specified by:
updateGoodBots
in interfaceWaasAsync
- Parameters:
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.- Returns:
- A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
-
updateHumanInteractionChallenge
public Future<UpdateHumanInteractionChallengeResponse> updateHumanInteractionChallenge(UpdateHumanInteractionChallengeRequest request, AsyncHandler<UpdateHumanInteractionChallengeRequest,UpdateHumanInteractionChallengeResponse> handler)
Description copied from interface: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.
- Specified by:
updateHumanInteractionChallenge
in interfaceWaasAsync
- Parameters:
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.- Returns:
- A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
-
updateJsChallenge
public Future<UpdateJsChallengeResponse> updateJsChallenge(UpdateJsChallengeRequest request, AsyncHandler<UpdateJsChallengeRequest,UpdateJsChallengeResponse> handler)
Description copied from interface: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.
- Specified by:
updateJsChallenge
in interfaceWaasAsync
- Parameters:
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.- Returns:
- A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
-
updatePolicyConfig
public Future<UpdatePolicyConfigResponse> updatePolicyConfig(UpdatePolicyConfigRequest request, AsyncHandler<UpdatePolicyConfigRequest,UpdatePolicyConfigResponse> handler)
Description copied from interface: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.
- Specified by:
updatePolicyConfig
in interfaceWaasAsync
- Parameters:
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.- Returns:
- A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
-
updateProtectionRules
public Future<UpdateProtectionRulesResponse> updateProtectionRules(UpdateProtectionRulesRequest request, AsyncHandler<UpdateProtectionRulesRequest,UpdateProtectionRulesResponse> handler)
Description copied from interface: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.
- Specified by:
updateProtectionRules
in interfaceWaasAsync
- Parameters:
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.- Returns:
- A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
-
updateProtectionSettings
public Future<UpdateProtectionSettingsResponse> updateProtectionSettings(UpdateProtectionSettingsRequest request, AsyncHandler<UpdateProtectionSettingsRequest,UpdateProtectionSettingsResponse> handler)
Description copied from interface: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.
- Specified by:
updateProtectionSettings
in interfaceWaasAsync
- Parameters:
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.- Returns:
- A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
-
updateThreatFeeds
public Future<UpdateThreatFeedsResponse> updateThreatFeeds(UpdateThreatFeedsRequest request, AsyncHandler<UpdateThreatFeedsRequest,UpdateThreatFeedsResponse> handler)
Description copied from interface: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.
- Specified by:
updateThreatFeeds
in interfaceWaasAsync
- Parameters:
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.- Returns:
- A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
-
updateWaasPolicy
public Future<UpdateWaasPolicyResponse> updateWaasPolicy(UpdateWaasPolicyRequest request, AsyncHandler<UpdateWaasPolicyRequest,UpdateWaasPolicyResponse> handler)
Description copied from interface: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
, andThreatFeeds
, first retrieve the list of available resources with the related list operation such asGetThreatFeeds
orGetProtectionRules
. The returned list will contain objects withkey
properties that can be used to update the resource during theUpdateWaasPolicy
request.- Specified by:
updateWaasPolicy
in interfaceWaasAsync
- Parameters:
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.- Returns:
- A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
-
updateWaasPolicyCustomProtectionRules
public Future<UpdateWaasPolicyCustomProtectionRulesResponse> updateWaasPolicyCustomProtectionRules(UpdateWaasPolicyCustomProtectionRulesRequest request, AsyncHandler<UpdateWaasPolicyCustomProtectionRulesRequest,UpdateWaasPolicyCustomProtectionRulesResponse> handler)
Description copied from interface:WaasAsync
Updates the action for each specified custom protection rule.Only the
DETECT
andBLOCK
actions can be set. Disabled rules should not be included in the list. For more information on protection rules, see WAF Protection Rules.- Specified by:
updateWaasPolicyCustomProtectionRules
in interfaceWaasAsync
- Parameters:
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.- Returns:
- A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
-
updateWafAddressRateLimiting
public Future<UpdateWafAddressRateLimitingResponse> updateWafAddressRateLimiting(UpdateWafAddressRateLimitingRequest request, AsyncHandler<UpdateWafAddressRateLimitingRequest,UpdateWafAddressRateLimitingResponse> handler)
Description copied from interface: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.
- Specified by:
updateWafAddressRateLimiting
in interfaceWaasAsync
- Parameters:
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.- Returns:
- A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
-
updateWafConfig
public Future<UpdateWafConfigResponse> updateWafConfig(UpdateWafConfigRequest request, AsyncHandler<UpdateWafConfigRequest,UpdateWafConfigResponse> handler)
Description copied from interface: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.
- Specified by:
updateWafConfig
in interfaceWaasAsync
- Parameters:
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.- Returns:
- A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
-
updateWhitelists
public Future<UpdateWhitelistsResponse> updateWhitelists(UpdateWhitelistsRequest request, AsyncHandler<UpdateWhitelistsRequest,UpdateWhitelistsResponse> handler)
Description copied from interface: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.
- Specified by:
updateWhitelists
in interfaceWaasAsync
- Parameters:
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.- Returns:
- A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
-
getDefaultConfigurator
protected ClientConfigurator getDefaultConfigurator()
-
useRealmSpecificEndpointTemplate
public void useRealmSpecificEndpointTemplate(boolean useOfRealmSpecificEndpointTemplateEnabled)
This method should be used to enable or disable the use of realm-specific endpoint template.The default value is null. To enable the use of endpoint template defined for the realm in use, set the flag to true To disable the use of endpoint template defined for the realm in use, set the flag to false
- Parameters:
useOfRealmSpecificEndpointTemplateEnabled
- This flag can be set to true or false to enable or disable the use of realm-specific endpoint template respectively
-
populateServiceParametersInEndpoint
public final void populateServiceParametersInEndpoint(String endpoint, Map<String,Object> requiredParametersMap)
Populate the parameters in the endpoint with its corresponding value and update the base endpoint.The value will be populated iff the parameter in endpoint is a required request path parameter or a required request query parameter. If not, the parameter in the endpoint will be ignored and left blank.
- Parameters:
endpoint
- The endpoint template in userequiredParametersMap
- Map of parameter name as key and value set in request path or query parameter as value
-
updateBaseEndpoint
public final void updateBaseEndpoint(String endpoint)
This method should be used for parameterized endpoint templates only.This does not include {region} and {secondLevelDomain} parameters.
- Parameters:
endpoint
- The updated endpoint to use
-
setEndpoint
public final void setEndpoint(String endpoint)
-
getEndpoint
public final String getEndpoint()
-
refreshClient
public final void refreshClient()
Rebuild the backingHttpClient
.This will call
ClientConfigurator
s again, and can be used to e.g. refresh the SSL certificate.
-
close
public final void close()
- Specified by:
close
in interfaceAutoCloseable
-
getClientCommonLibraryVersion
public String getClientCommonLibraryVersion()
-
getMinimumClientCommonLibraryVersionFromClient
public Optional<String> getMinimumClientCommonLibraryVersionFromClient()
-
clientCall
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)
-
-