Skip to content

InstanceProps

Properties for defining a Instance.

See https://www.alibabacloud.com/help/ros/developer-reference/aliyun-waf3-instance

Initializer

import com.aliyun.ros.cdk.waf3.InstanceProps;
InstanceProps.builder()
    .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();

Properties

Name Type 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.

payTypeRequired

public java.lang.Object getPayType();
  • 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

public java.lang.Object getRegion();
  • 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

public java.lang.Object getAdditionalProtectionNodes();
  • 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

public java.lang.Object getApiSecurity();
  • 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

public java.lang.Object getAutoPay();
  • Type: java.lang.Boolean OR com.aliyun.ros.cdk.core.IResolvable

Property autoPay: Whether to auto pay the bill.


autoRenewOptional

public java.lang.Object getAutoRenew();
  • Type: java.lang.Boolean OR com.aliyun.ros.cdk.core.IResolvable

Property autoRenew: Whether to auto renew the prepay instance.


botAppProtectionOptional

public java.lang.Object getBotAppProtection();
  • Type: java.lang.Boolean OR com.aliyun.ros.cdk.core.IResolvable

Property botAppProtection: Bot management module for App protection.


botWebProtectionOptional

public java.lang.Object getBotWebProtection();
  • Type: java.lang.Boolean OR com.aliyun.ros.cdk.core.IResolvable

Property botWebProtection: Bot management module for Web application protection.


domainsExtensionOptional

public java.lang.Object getDomainsExtension();
  • 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

public java.lang.Object getElasticQps();
  • 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

public java.lang.Object getExclusiveIpAddress();
  • Type: java.lang.Number OR com.aliyun.ros.cdk.core.IResolvable

Property exclusiveIpAddress: Excluesive IP address number.


fraudDetectionOptional

public java.lang.Object getFraudDetection();
  • 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

public java.lang.Object getIgnoreExisting();
  • 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

public java.lang.Object getIntelligentLoadBalancing();
  • Type: java.lang.Boolean OR com.aliyun.ros.cdk.core.IResolvable

Property intelligentLoadBalancing: Intelligent load balancer for WAF instance.


logServiceOptional

public java.lang.Object getLogService();
  • Type: java.lang.Boolean OR com.aliyun.ros.cdk.core.IResolvable

Property logService: Log service for WAF instance.


logStorageOptional

public java.lang.Object getLogStorage();
  • Type: java.lang.Number OR com.aliyun.ros.cdk.core.IResolvable

Property logStorage: Log storage capacity.


periodOptional

public java.lang.Object getPeriod();
  • 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

public java.lang.Object getPeriodUnit();
  • 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

public java.lang.Object getQpsExtension();
  • Type: java.lang.Number OR com.aliyun.ros.cdk.core.IResolvable

Property qpsExtension: Extended QPS.


trafficBillingProtectionThresholdOptional

public java.lang.Object getTrafficBillingProtectionThreshold();
  • 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

public java.lang.Object getWafVersion();
  • Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable

Property wafVersion: The version of WAF3.0.