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. |
scope
Required
- Type: com.aliyun.ros.cdk.core.Construct
id
Required
- Type: java.lang.String
enableResourcePropertyConstraint
Optional
- Type: java.lang.Boolean
payType
Required
- 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
region
Required
- 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.
additionalProtectionNodes
Optional
- 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.
apiSecurity
Optional
- 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.
autoPay
Optional
- Type: java.lang.Boolean OR com.aliyun.ros.cdk.core.IResolvable
Property autoPay: Whether to auto pay the bill.
autoRenew
Optional
- Type: java.lang.Boolean OR com.aliyun.ros.cdk.core.IResolvable
Property autoRenew: Whether to auto renew the prepay instance.
botAppProtection
Optional
- Type: java.lang.Boolean OR com.aliyun.ros.cdk.core.IResolvable
Property botAppProtection: Bot management module for App protection.
botWebProtection
Optional
- Type: java.lang.Boolean OR com.aliyun.ros.cdk.core.IResolvable
Property botWebProtection: Bot management module for Web application protection.
domainsExtension
Optional
- 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.
elasticQps
Optional
- 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.
exclusiveIpAddress
Optional
- Type: java.lang.Number OR com.aliyun.ros.cdk.core.IResolvable
Property exclusiveIpAddress: Excluesive IP address number.
fraudDetection
Optional
- 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.
ignoreExisting
Optional
- 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.
intelligentLoadBalancing
Optional
- Type: java.lang.Boolean OR com.aliyun.ros.cdk.core.IResolvable
Property intelligentLoadBalancing: Intelligent load balancer for WAF instance.
logService
Optional
- Type: java.lang.Boolean OR com.aliyun.ros.cdk.core.IResolvable
Property logService: Log service for WAF instance.
logStorage
Optional
- Type: java.lang.Number OR com.aliyun.ros.cdk.core.IResolvable
Property logStorage: Log storage capacity.
period
Optional
- 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.
periodUnit
Optional
- 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.
qpsExtension
Optional
- Type: java.lang.Number OR com.aliyun.ros.cdk.core.IResolvable
Property qpsExtension: Extended QPS.
trafficBillingProtectionThreshold
Optional
- 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.
wafVersion
Optional
- 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.
- Type: com.aliyun.ros.cdk.core.ISynthesisSession
The synthesis session.
addCondition
public void addCondition(RosCondition condition)
- Type: com.aliyun.ros.cdk.core.RosCondition
addCount
public void addCount(java.lang.Number OR IResolvable count)
- Type: java.lang.Number OR com.aliyun.ros.cdk.core.IResolvable
addDependency
public void addDependency(Resource resource)
- Type: com.aliyun.ros.cdk.core.Resource
addResourceDesc
public void addResourceDesc(java.lang.String desc)
- Type: java.lang.String
applyRemovalPolicy
public void applyRemovalPolicy(RemovalPolicy policy)
- Type: com.aliyun.ros.cdk.core.RemovalPolicy
getAtt
public IResolvable getAtt(java.lang.String name)
- Type: java.lang.String
setMetadata
public void setMetadata(java.lang.String key, java.lang.Object value)
- Type: java.lang.String
- 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.
- 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. |
node
Required
public ConstructNode getNode();
- Type: com.aliyun.ros.cdk.core.ConstructNode
The construct tree node associated with this construct.
ref
Required
public java.lang.String getRef();
- Type: java.lang.String
stack
Required
public Stack getStack();
- Type: com.aliyun.ros.cdk.core.Stack
The stack in which this resource is defined.
resource
Optional
public RosResource getResource();
- Type: com.aliyun.ros.cdk.core.RosResource
attrInstanceId
Required
public IResolvable getAttrInstanceId();
- Type: com.aliyun.ros.cdk.core.IResolvable
Attribute InstanceId: Instance Id.