Skip to content

Instance

This class encapsulates and extends the ROS resource type ALIYUN::WAF3::Instance, which is used to create a Web Application Firewall (WAF) 3.0 instance.

Initializers

import com.aliyun.ros.cdk.waf3.Instance;
Instance.Builder.create(Construct scope, java.lang.String id, java.lang.Boolean enableResourcePropertyConstraint)
    .payType(java.lang.String)
    .payType(IResolvable)
    .region(java.lang.String)
    .region(IResolvable)
//  .additionalProtectionNodes(java.lang.Number)
//  .additionalProtectionNodes(IResolvable)
//  .apiSecurity(java.lang.Boolean)
//  .apiSecurity(IResolvable)
//  .autoPay(java.lang.Boolean)
//  .autoPay(IResolvable)
//  .autoRenew(java.lang.Boolean)
//  .autoRenew(IResolvable)
//  .botAppProtection(java.lang.Boolean)
//  .botAppProtection(IResolvable)
//  .botWebProtection(java.lang.Boolean)
//  .botWebProtection(IResolvable)
//  .domainsExtension(java.lang.Number)
//  .domainsExtension(IResolvable)
//  .elasticQps(java.lang.Number)
//  .elasticQps(IResolvable)
//  .exclusiveIpAddress(java.lang.Number)
//  .exclusiveIpAddress(IResolvable)
//  .fraudDetection(java.lang.Boolean)
//  .fraudDetection(IResolvable)
//  .ignoreExisting(java.lang.Boolean)
//  .ignoreExisting(IResolvable)
//  .intelligentLoadBalancing(java.lang.Boolean)
//  .intelligentLoadBalancing(IResolvable)
//  .logService(java.lang.Boolean)
//  .logService(IResolvable)
//  .logStorage(java.lang.Number)
//  .logStorage(IResolvable)
//  .period(java.lang.Number)
//  .period(IResolvable)
//  .periodUnit(java.lang.String)
//  .periodUnit(IResolvable)
//  .qpsExtension(java.lang.Number)
//  .qpsExtension(IResolvable)
//  .trafficBillingProtectionThreshold(java.lang.Number)
//  .trafficBillingProtectionThreshold(IResolvable)
//  .wafVersion(java.lang.String)
//  .wafVersion(IResolvable)
    .build();
Name Type Description
scope com.aliyun.ros.cdk.core.Construct No description.
id java.lang.String No description.
enableResourcePropertyConstraint java.lang.Boolean No description.
payType java.lang.String OR com.aliyun.ros.cdk.core.IResolvable Property payType: The billing method of the firewall instance.
region java.lang.String OR com.aliyun.ros.cdk.core.IResolvable Property region: Web Application Firewall is available in the following regions: regions in the Chinese mainland, China (Hong Kong), Singapore (Singapore), Malaysia (Kuala Lumpur), US (Silicon Valley), Australia (Sydney), Germany (Frankfurt), India (Mumbai), Indonesia (Jakarta), UAE (Dubai), and Japan (Tokyo).
additionalProtectionNodes java.lang.Number OR com.aliyun.ros.cdk.core.IResolvable Property additionalProtectionNodes: Each protection cluster has at least two protection nodes, and each node provides the protection capabilities of up to 5,000 QPS for HTTP requests or up to 3,000 QPS for HTTPS requests.
apiSecurity java.lang.Boolean OR com.aliyun.ros.cdk.core.IResolvable Property apiSecurity: The API security feature detects responses with specified characteristics to check whether data leaks occur.
autoPay java.lang.Boolean OR com.aliyun.ros.cdk.core.IResolvable Property autoPay: Whether to auto pay the bill.
autoRenew java.lang.Boolean OR com.aliyun.ros.cdk.core.IResolvable Property autoRenew: Whether to auto renew the prepay instance.
botAppProtection java.lang.Boolean OR com.aliyun.ros.cdk.core.IResolvable Property botAppProtection: Bot management module for App protection.
botWebProtection java.lang.Boolean OR com.aliyun.ros.cdk.core.IResolvable Property botWebProtection: Bot management module for Web application protection.
domainsExtension java.lang.Number OR com.aliyun.ros.cdk.core.IResolvable Property domainsExtension: If the actual number of required access domain names exceeds the number of free domain names in the version, the number of domain names can be expanded according to this specification.Domain name counting does not differentiate between domain name types. The main domain name, sub-domain name, and pan-domain name are each counted as one domain name.
elasticQps java.lang.Number OR com.aliyun.ros.cdk.core.IResolvable Property elasticQps: The burstable QPS (pay-as-you-go) feature is suitable for scenarios that involve short-term or sudden traffic surges, for example, during promotions.
exclusiveIpAddress java.lang.Number OR com.aliyun.ros.cdk.core.IResolvable Property exclusiveIpAddress: Excluesive IP address number.
fraudDetection java.lang.Boolean OR com.aliyun.ros.cdk.core.IResolvable Property fraudDetection: You can enable this feature only after you enable the bot management module.
ignoreExisting java.lang.Boolean OR com.aliyun.ros.cdk.core.IResolvable Property ignoreExisting: Whether to ignore existing WAF3 instance False: ROS will perform a uniqueness check.If the WAF3 instance exists, an error will be reported when creating it. True: ROS will not check the uniqueness.If the WAF3 instance exists, the creation process will be ignored. If the WAF3 instance is not created by ROS, it will be ignored during update and delete stage.
intelligentLoadBalancing java.lang.Boolean OR com.aliyun.ros.cdk.core.IResolvable Property intelligentLoadBalancing: Intelligent load balancer for WAF instance.
logService java.lang.Boolean OR com.aliyun.ros.cdk.core.IResolvable Property logService: Log service for WAF instance.
logStorage java.lang.Number OR com.aliyun.ros.cdk.core.IResolvable Property logStorage: Log storage capacity.
period java.lang.Number OR com.aliyun.ros.cdk.core.IResolvable Property period: The subscription period of the firewallIf PeriodUnit is month, the valid range is 1, 3, 6 If periodUnit is year, the valid range is 1, 2, 3.
periodUnit java.lang.String OR com.aliyun.ros.cdk.core.IResolvable Property periodUnit: The unit of the subscription duration.
qpsExtension java.lang.Number OR com.aliyun.ros.cdk.core.IResolvable Property qpsExtension: Extended QPS.
trafficBillingProtectionThreshold java.lang.Number OR com.aliyun.ros.cdk.core.IResolvable Property trafficBillingProtectionThreshold: In pay-as-you-go WAF 3.0, the traffic billing protection feature is automatically enabled to prevent unexpected and unusually high bills that result from unpredictable factors such as HTTP flood attacks. A bill is not generated for an hour if the peak traffic exceeds the traffic billing protection threshold within the hour. Then, your WAF instance is added to a sandbox. If the peak traffic is lower than the traffic billing protection threshold the next hour, your WAF instance is removed from the sandbox.
wafVersion java.lang.String OR com.aliyun.ros.cdk.core.IResolvable Property wafVersion: The version of WAF3.0.

scopeRequired

  • Type: com.aliyun.ros.cdk.core.Construct

idRequired

  • Type: java.lang.String

enableResourcePropertyConstraintOptional

  • Type: java.lang.Boolean

payTypeRequired

  • Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable

Property payType: The billing method of the firewall instance.

Valid values: PayAsYouGo: pay-as-you-go Subscription: subscription


regionRequired

  • Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable

Property region: Web Application Firewall is available in the following regions: regions in the Chinese mainland, China (Hong Kong), Singapore (Singapore), Malaysia (Kuala Lumpur), US (Silicon Valley), Australia (Sydney), Germany (Frankfurt), India (Mumbai), Indonesia (Jakarta), UAE (Dubai), and Japan (Tokyo).

If your origin server is deployed within the Chinese mainland, select Chinese Mainland. If your origin server is deployed outside the Chinese mainland, select Outside Chinese mainland. Intelligent region selection is supported.


additionalProtectionNodesOptional

  • Type: java.lang.Number OR com.aliyun.ros.cdk.core.IResolvable

Property additionalProtectionNodes: Each protection cluster has at least two protection nodes, and each node provides the protection capabilities of up to 5,000 QPS for HTTP requests or up to 3,000 QPS for HTTPS requests.

You can add protection nodes to increase protection capabilities.


apiSecurityOptional

  • Type: java.lang.Boolean OR com.aliyun.ros.cdk.core.IResolvable

Property apiSecurity: The API security feature detects responses with specified characteristics to check whether data leaks occur.

After you enable the feature, WAF is authorized to perform related analysis on your data. If you select Chinese Mainland, service deployment and data processing are performed in the Chinese mainland.


autoPayOptional

  • Type: java.lang.Boolean OR com.aliyun.ros.cdk.core.IResolvable

Property autoPay: Whether to auto pay the bill.


autoRenewOptional

  • Type: java.lang.Boolean OR com.aliyun.ros.cdk.core.IResolvable

Property autoRenew: Whether to auto renew the prepay instance.


botAppProtectionOptional

  • Type: java.lang.Boolean OR com.aliyun.ros.cdk.core.IResolvable

Property botAppProtection: Bot management module for App protection.


botWebProtectionOptional

  • Type: java.lang.Boolean OR com.aliyun.ros.cdk.core.IResolvable

Property botWebProtection: Bot management module for Web application protection.


domainsExtensionOptional

  • Type: java.lang.Number OR com.aliyun.ros.cdk.core.IResolvable

Property domainsExtension: If the actual number of required access domain names exceeds the number of free domain names in the version, the number of domain names can be expanded according to this specification.Domain name counting does not differentiate between domain name types. The main domain name, sub-domain name, and pan-domain name are each counted as one domain name.


elasticQpsOptional

  • Type: java.lang.Number OR com.aliyun.ros.cdk.core.IResolvable

Property elasticQps: The burstable QPS (pay-as-you-go) feature is suitable for scenarios that involve short-term or sudden traffic surges, for example, during promotions.

In these scenarios, the traffic peak may exceed the sum of the maximum QPS that is supported by your WAF edition and the extended QPS. If you enable the feature, you are charged based on the amount of excess QPS resources that you use. This helps prevent your domain names from being added to a sandbox when QPS resources are excessively used and helps ensure service continuity.


exclusiveIpAddressOptional

  • Type: java.lang.Number OR com.aliyun.ros.cdk.core.IResolvable

Property exclusiveIpAddress: Excluesive IP address number.


fraudDetectionOptional

  • Type: java.lang.Boolean OR com.aliyun.ros.cdk.core.IResolvable

Property fraudDetection: You can enable this feature only after you enable the bot management module.

If abnormal phone numbers are used in logon or registration scenarios, anomaly tags are matched. Requests from the abnormal phone numbers are blocked or CAPTCHA verification is required. You are charged based on the number of times that anomaly tags are matched.


ignoreExistingOptional

  • Type: java.lang.Boolean OR com.aliyun.ros.cdk.core.IResolvable

Property ignoreExisting: Whether to ignore existing WAF3 instance False: ROS will perform a uniqueness check.If the WAF3 instance exists, an error will be reported when creating it. True: ROS will not check the uniqueness.If the WAF3 instance exists, the creation process will be ignored. If the WAF3 instance is not created by ROS, it will be ignored during update and delete stage.


intelligentLoadBalancingOptional

  • Type: java.lang.Boolean OR com.aliyun.ros.cdk.core.IResolvable

Property intelligentLoadBalancing: Intelligent load balancer for WAF instance.


logServiceOptional

  • Type: java.lang.Boolean OR com.aliyun.ros.cdk.core.IResolvable

Property logService: Log service for WAF instance.


logStorageOptional

  • Type: java.lang.Number OR com.aliyun.ros.cdk.core.IResolvable

Property logStorage: Log storage capacity.


periodOptional

  • Type: java.lang.Number OR com.aliyun.ros.cdk.core.IResolvable

Property period: The subscription period of the firewallIf PeriodUnit is month, the valid range is 1, 3, 6 If periodUnit is year, the valid range is 1, 2, 3.


periodUnitOptional

  • Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable

Property periodUnit: The unit of the subscription duration.

Valid values: Month Year Default value: Month.


qpsExtensionOptional

  • Type: java.lang.Number OR com.aliyun.ros.cdk.core.IResolvable

Property qpsExtension: Extended QPS.


trafficBillingProtectionThresholdOptional

  • Type: java.lang.Number OR com.aliyun.ros.cdk.core.IResolvable

Property trafficBillingProtectionThreshold: In pay-as-you-go WAF 3.0, the traffic billing protection feature is automatically enabled to prevent unexpected and unusually high bills that result from unpredictable factors such as HTTP flood attacks. A bill is not generated for an hour if the peak traffic exceeds the traffic billing protection threshold within the hour. Then, your WAF instance is added to a sandbox. If the peak traffic is lower than the traffic billing protection threshold the next hour, your WAF instance is removed from the sandbox.


wafVersionOptional

  • Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable

Property wafVersion: The version of WAF3.0.


Methods

Name Description
toString Returns a string representation of this construct.
synthesize Allows this construct to emit artifacts into the cloud assembly during synthesis.
addCondition No description.
addCount No description.
addDependency No description.
addResourceDesc No description.
applyRemovalPolicy No description.
getAtt No description.
setMetadata No description.

toString

public java.lang.String toString()

Returns a string representation of this construct.

synthesize

public void synthesize(ISynthesisSession session)

Allows this construct to emit artifacts into the cloud assembly during synthesis.

This method is usually implemented by framework-level constructs such as Stack and Asset as they participate in synthesizing the cloud assembly.

sessionRequired

  • Type: com.aliyun.ros.cdk.core.ISynthesisSession

The synthesis session.


addCondition

public void addCondition(RosCondition condition)

conditionRequired

  • Type: com.aliyun.ros.cdk.core.RosCondition

addCount

public void addCount(java.lang.Number OR IResolvable count)

countRequired

  • Type: java.lang.Number OR com.aliyun.ros.cdk.core.IResolvable

addDependency

public void addDependency(Resource resource)

resourceRequired

  • Type: com.aliyun.ros.cdk.core.Resource

addResourceDesc

public void addResourceDesc(java.lang.String desc)

descRequired

  • Type: java.lang.String

applyRemovalPolicy

public void applyRemovalPolicy(RemovalPolicy policy)

policyRequired

  • Type: com.aliyun.ros.cdk.core.RemovalPolicy

getAtt

public IResolvable getAtt(java.lang.String name)

nameRequired

  • Type: java.lang.String

setMetadata

public void setMetadata(java.lang.String key, java.lang.Object value)

keyRequired

  • Type: java.lang.String

valueRequired

  • Type: java.lang.Object

Static Functions

Name Description
isConstruct Return whether the given object is a Construct.

isConstruct

import com.aliyun.ros.cdk.waf3.Instance;
Instance.isConstruct(java.lang.Object x)

Return whether the given object is a Construct.

xRequired

  • Type: java.lang.Object

Properties

Name Type Description
node com.aliyun.ros.cdk.core.ConstructNode The construct tree node associated with this construct.
ref java.lang.String No description.
stack com.aliyun.ros.cdk.core.Stack The stack in which this resource is defined.
resource com.aliyun.ros.cdk.core.RosResource No description.
attrInstanceId com.aliyun.ros.cdk.core.IResolvable Attribute InstanceId: Instance Id.

nodeRequired

public ConstructNode getNode();
  • Type: com.aliyun.ros.cdk.core.ConstructNode

The construct tree node associated with this construct.


refRequired

public java.lang.String getRef();
  • Type: java.lang.String

stackRequired

public Stack getStack();
  • Type: com.aliyun.ros.cdk.core.Stack

The stack in which this resource is defined.


resourceOptional

public RosResource getResource();
  • Type: com.aliyun.ros.cdk.core.RosResource

attrInstanceIdRequired

public IResolvable getAttrInstanceId();
  • Type: com.aliyun.ros.cdk.core.IResolvable

Attribute InstanceId: Instance Id.