Skip to content

InstanceProps

Properties for defining a Instance.

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

Initializer

import ros_cdk_waf3
ros_cdk_waf3.InstanceProps(
  pay_type: typing.Union[str, IResolvable],
  region: typing.Union[str, IResolvable],
  additional_protection_nodes: typing.Union[typing.Union[int, float], IResolvable] = None,
  api_security: typing.Union[bool, IResolvable] = None,
  auto_pay: typing.Union[bool, IResolvable] = None,
  auto_renew: typing.Union[bool, IResolvable] = None,
  bot_app_protection: typing.Union[bool, IResolvable] = None,
  bot_web_protection: typing.Union[bool, IResolvable] = None,
  domains_extension: typing.Union[typing.Union[int, float], IResolvable] = None,
  elastic_qps: typing.Union[typing.Union[int, float], IResolvable] = None,
  exclusive_ip_address: typing.Union[typing.Union[int, float], IResolvable] = None,
  fraud_detection: typing.Union[bool, IResolvable] = None,
  ignore_existing: typing.Union[bool, IResolvable] = None,
  intelligent_load_balancing: typing.Union[bool, IResolvable] = None,
  log_service: typing.Union[bool, IResolvable] = None,
  log_storage: typing.Union[typing.Union[int, float], IResolvable] = None,
  period: typing.Union[typing.Union[int, float], IResolvable] = None,
  period_unit: typing.Union[str, IResolvable] = None,
  qps_extension: typing.Union[typing.Union[int, float], IResolvable] = None,
  traffic_billing_protection_threshold: typing.Union[typing.Union[int, float], IResolvable] = None,
  waf_version: typing.Union[str, IResolvable] = None
)

Properties

Name Type Description
pay_type typing.Union[str, ros_cdk_core.IResolvable] Property payType: The billing method of the firewall instance.
region typing.Union[str, 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).
additional_protection_nodes typing.Union[typing.Union[int, float], 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.
api_security typing.Union[bool, ros_cdk_core.IResolvable] Property apiSecurity: The API security feature detects responses with specified characteristics to check whether data leaks occur.
auto_pay typing.Union[bool, ros_cdk_core.IResolvable] Property autoPay: Whether to auto pay the bill.
auto_renew typing.Union[bool, ros_cdk_core.IResolvable] Property autoRenew: Whether to auto renew the prepay instance.
bot_app_protection typing.Union[bool, ros_cdk_core.IResolvable] Property botAppProtection: Bot management module for App protection.
bot_web_protection typing.Union[bool, ros_cdk_core.IResolvable] Property botWebProtection: Bot management module for Web application protection.
domains_extension typing.Union[typing.Union[int, float], 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.
elastic_qps typing.Union[typing.Union[int, float], 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.
exclusive_ip_address typing.Union[typing.Union[int, float], ros_cdk_core.IResolvable] Property exclusiveIpAddress: Excluesive IP address number.
fraud_detection typing.Union[bool, ros_cdk_core.IResolvable] Property fraudDetection: You can enable this feature only after you enable the bot management module.
ignore_existing typing.Union[bool, 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.
intelligent_load_balancing typing.Union[bool, ros_cdk_core.IResolvable] Property intelligentLoadBalancing: Intelligent load balancer for WAF instance.
log_service typing.Union[bool, ros_cdk_core.IResolvable] Property logService: Log service for WAF instance.
log_storage typing.Union[typing.Union[int, float], ros_cdk_core.IResolvable] Property logStorage: Log storage capacity.
period typing.Union[typing.Union[int, float], 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.
period_unit typing.Union[str, ros_cdk_core.IResolvable] Property periodUnit: The unit of the subscription duration.
qps_extension typing.Union[typing.Union[int, float], ros_cdk_core.IResolvable] Property qpsExtension: Extended QPS.
traffic_billing_protection_threshold typing.Union[typing.Union[int, float], 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.
waf_version typing.Union[str, ros_cdk_core.IResolvable] Property wafVersion: The version of WAF3.0.

pay_typeRequired

pay_type: typing.Union[str, IResolvable]
  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property payType: The billing method of the firewall instance.

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


regionRequired

region: typing.Union[str, IResolvable]
  • Type: typing.Union[str, 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.


additional_protection_nodesOptional

additional_protection_nodes: typing.Union[typing.Union[int, float], IResolvable]
  • Type: typing.Union[typing.Union[int, float], 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.


api_securityOptional

api_security: typing.Union[bool, IResolvable]
  • Type: typing.Union[bool, 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.


auto_payOptional

auto_pay: typing.Union[bool, IResolvable]
  • Type: typing.Union[bool, ros_cdk_core.IResolvable]

Property autoPay: Whether to auto pay the bill.


auto_renewOptional

auto_renew: typing.Union[bool, IResolvable]
  • Type: typing.Union[bool, ros_cdk_core.IResolvable]

Property autoRenew: Whether to auto renew the prepay instance.


bot_app_protectionOptional

bot_app_protection: typing.Union[bool, IResolvable]
  • Type: typing.Union[bool, ros_cdk_core.IResolvable]

Property botAppProtection: Bot management module for App protection.


bot_web_protectionOptional

bot_web_protection: typing.Union[bool, IResolvable]
  • Type: typing.Union[bool, ros_cdk_core.IResolvable]

Property botWebProtection: Bot management module for Web application protection.


domains_extensionOptional

domains_extension: typing.Union[typing.Union[int, float], IResolvable]
  • Type: typing.Union[typing.Union[int, float], 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.


elastic_qpsOptional

elastic_qps: typing.Union[typing.Union[int, float], IResolvable]
  • Type: typing.Union[typing.Union[int, float], 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.


exclusive_ip_addressOptional

exclusive_ip_address: typing.Union[typing.Union[int, float], IResolvable]
  • Type: typing.Union[typing.Union[int, float], ros_cdk_core.IResolvable]

Property exclusiveIpAddress: Excluesive IP address number.


fraud_detectionOptional

fraud_detection: typing.Union[bool, IResolvable]
  • Type: typing.Union[bool, 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.


ignore_existingOptional

ignore_existing: typing.Union[bool, IResolvable]
  • Type: typing.Union[bool, 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.


intelligent_load_balancingOptional

intelligent_load_balancing: typing.Union[bool, IResolvable]
  • Type: typing.Union[bool, ros_cdk_core.IResolvable]

Property intelligentLoadBalancing: Intelligent load balancer for WAF instance.


log_serviceOptional

log_service: typing.Union[bool, IResolvable]
  • Type: typing.Union[bool, ros_cdk_core.IResolvable]

Property logService: Log service for WAF instance.


log_storageOptional

log_storage: typing.Union[typing.Union[int, float], IResolvable]
  • Type: typing.Union[typing.Union[int, float], ros_cdk_core.IResolvable]

Property logStorage: Log storage capacity.


periodOptional

period: typing.Union[typing.Union[int, float], IResolvable]
  • Type: typing.Union[typing.Union[int, float], 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.


period_unitOptional

period_unit: typing.Union[str, IResolvable]
  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property periodUnit: The unit of the subscription duration.

Valid values: Month Year Default value: Month.


qps_extensionOptional

qps_extension: typing.Union[typing.Union[int, float], IResolvable]
  • Type: typing.Union[typing.Union[int, float], ros_cdk_core.IResolvable]

Property qpsExtension: Extended QPS.


traffic_billing_protection_thresholdOptional

traffic_billing_protection_threshold: typing.Union[typing.Union[int, float], IResolvable]
  • Type: typing.Union[typing.Union[int, float], 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.


waf_versionOptional

waf_version: typing.Union[str, IResolvable]
  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property wafVersion: The version of WAF3.0.