pulumi-alicloud 3.84.0a1756507491__py3-none-any.whl → 3.85.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of pulumi-alicloud might be problematic. Click here for more details.
- pulumi_alicloud/__init__.py +172 -0
- pulumi_alicloud/_inputs.py +635 -0
- pulumi_alicloud/ackone/membership_attachment.py +122 -0
- pulumi_alicloud/actiontrail/__init__.py +1 -0
- pulumi_alicloud/actiontrail/advanced_query_template.py +311 -0
- pulumi_alicloud/actiontrail/trail.py +303 -149
- pulumi_alicloud/actiontrail/trail_deprecated.py +131 -23
- pulumi_alicloud/alb/a_script.py +170 -0
- pulumi_alicloud/alb/get_rules.py +206 -0
- pulumi_alicloud/alb/listener.py +240 -0
- pulumi_alicloud/alb/listener_acl_attachment.py +180 -0
- pulumi_alicloud/alb/listener_additional_certificate_attachment.py +314 -0
- pulumi_alicloud/alb/load_balancer_access_log_config_attachment.py +136 -0
- pulumi_alicloud/alb/load_balancer_common_bandwidth_package_attachment.py +122 -0
- pulumi_alicloud/alb/load_balancer_zone_shifted_attachment.py +124 -0
- pulumi_alicloud/alb/rule.py +202 -0
- pulumi_alicloud/alikafka/sasl_user.py +2 -2
- pulumi_alicloud/amqp/get_instances.py +49 -20
- pulumi_alicloud/amqp/outputs.py +20 -20
- pulumi_alicloud/amqp/virtual_host.py +46 -20
- pulumi_alicloud/apig/environment.py +86 -0
- pulumi_alicloud/arms/__init__.py +6 -0
- pulumi_alicloud/arms/addon_release.py +174 -0
- pulumi_alicloud/arms/env_feature.py +158 -0
- pulumi_alicloud/arms/env_pod_monitor.py +206 -0
- pulumi_alicloud/arms/env_service_monitor.py +204 -0
- pulumi_alicloud/arms/environment.py +150 -0
- pulumi_alicloud/arms/get_addon_releases.py +354 -0
- pulumi_alicloud/arms/get_env_custom_jobs.py +268 -0
- pulumi_alicloud/arms/get_env_features.py +342 -0
- pulumi_alicloud/arms/get_env_pod_monitors.py +390 -0
- pulumi_alicloud/arms/get_env_service_monitors.py +388 -0
- pulumi_alicloud/arms/get_environments.py +282 -0
- pulumi_alicloud/arms/outputs.py +620 -0
- pulumi_alicloud/arms/prometheus_monitoring.py +190 -0
- pulumi_alicloud/cen/transit_router_multicast_domain_member.py +118 -0
- pulumi_alicloud/cen/transit_router_multicast_domain_source.py +160 -0
- pulumi_alicloud/cfg/aggregate_delivery.py +100 -0
- pulumi_alicloud/cfg/delivery_channel.py +54 -0
- pulumi_alicloud/cloudauth/face_config.py +48 -0
- pulumi_alicloud/cloudfirewall/nat_firewall_control_policy.py +236 -0
- pulumi_alicloud/cloudmonitor/__init__.py +1 -0
- pulumi_alicloud/cloudmonitor/get_service_metric_alarm_rules.py +333 -0
- pulumi_alicloud/cloudmonitor/outputs.py +696 -0
- pulumi_alicloud/cloudsso/__init__.py +1 -0
- pulumi_alicloud/cloudsso/access_configuration.py +12 -12
- pulumi_alicloud/cloudsso/access_configuration_provisioning.py +84 -0
- pulumi_alicloud/cloudsso/access_management.py +90 -0
- pulumi_alicloud/cloudsso/delegate_account.py +218 -0
- pulumi_alicloud/cloudsso/group.py +60 -0
- pulumi_alicloud/cloudsso/user.py +66 -0
- pulumi_alicloud/cloudsso/user_attachment.py +82 -0
- pulumi_alicloud/cloudstoragegateway/express_sync.py +154 -0
- pulumi_alicloud/cloudstoragegateway/express_sync_share_attachment.py +160 -0
- pulumi_alicloud/cloudstoragegateway/gateway.py +0 -13
- pulumi_alicloud/cloudstoragegateway/gateway_block_volume.py +132 -0
- pulumi_alicloud/cloudstoragegateway/gateway_cache_disk.py +92 -0
- pulumi_alicloud/cloudstoragegateway/gateway_file_share.py +130 -0
- pulumi_alicloud/cloudstoragegateway/gateway_logging.py +120 -0
- pulumi_alicloud/cloudstoragegateway/gateway_smb_user.py +92 -0
- pulumi_alicloud/cms/alarm.py +4 -4
- pulumi_alicloud/cms/get_site_monitors.py +20 -20
- pulumi_alicloud/cms/hybrid_monitor_fc_task.py +24 -24
- pulumi_alicloud/cms/hybrid_monitor_sls_task.py +164 -0
- pulumi_alicloud/cms/site_monitor.py +20 -20
- pulumi_alicloud/cms/sls_group.py +80 -0
- pulumi_alicloud/compute/nest_service_instance.py +10 -10
- pulumi_alicloud/cs/_inputs.py +565 -0
- pulumi_alicloud/cs/autoscaling_config.py +260 -35
- pulumi_alicloud/cs/get_cluster_credential.py +30 -0
- pulumi_alicloud/cs/get_kubernetes_addon_metadata.py +78 -0
- pulumi_alicloud/cs/get_kubernetes_addons.py +72 -0
- pulumi_alicloud/cs/get_kubernetes_node_pools.py +124 -0
- pulumi_alicloud/cs/kubernetes.py +296 -0
- pulumi_alicloud/cs/kubernetes_addon.py +108 -0
- pulumi_alicloud/cs/kubernetes_permission.py +162 -0
- pulumi_alicloud/cs/managed_kubernetes.py +583 -14
- pulumi_alicloud/cs/node_pool.py +423 -0
- pulumi_alicloud/cs/outputs.py +374 -0
- pulumi_alicloud/dataworks/data_source_shared_rule.py +116 -0
- pulumi_alicloud/dataworks/dw_resource_group.py +82 -0
- pulumi_alicloud/dataworks/network.py +100 -0
- pulumi_alicloud/ddos/bgp_ip.py +57 -48
- pulumi_alicloud/ddos/ddos_bgp_instance.py +246 -106
- pulumi_alicloud/ddos/domain_resource.py +6 -6
- pulumi_alicloud/directmail/mail_address.py +62 -0
- pulumi_alicloud/directmail/receivers.py +40 -0
- pulumi_alicloud/dms/__init__.py +1 -0
- pulumi_alicloud/dms/enterprise_workspace.py +354 -0
- pulumi_alicloud/dns/access_strategy.py +152 -0
- pulumi_alicloud/dns/address_pool.py +4 -4
- pulumi_alicloud/dns/ddos_bgp_instance.py +246 -106
- pulumi_alicloud/dts/job_monitor_rule.py +228 -0
- pulumi_alicloud/dts/migration_job.py +238 -0
- pulumi_alicloud/dts/synchronization_job.py +266 -14
- pulumi_alicloud/ebs/disk_replica_pair.py +112 -0
- pulumi_alicloud/ecs/ecs_network_interface_permission.py +84 -0
- pulumi_alicloud/ecs/image_import.py +2 -2
- pulumi_alicloud/ecs/ram_role_attachment.py +28 -28
- pulumi_alicloud/edas/k8s_application.py +124 -0
- pulumi_alicloud/edas/k8s_cluster.py +104 -0
- pulumi_alicloud/edas/k8s_slb_attachment.py +152 -0
- pulumi_alicloud/eflo/__init__.py +2 -0
- pulumi_alicloud/eflo/_inputs.py +94 -0
- pulumi_alicloud/eflo/er.py +487 -0
- pulumi_alicloud/eflo/node.py +54 -7
- pulumi_alicloud/eflo/node_group_attachment.py +604 -0
- pulumi_alicloud/eflo/outputs.py +75 -0
- pulumi_alicloud/emr/cluster.py +64 -64
- pulumi_alicloud/emr/get_clusters.py +16 -16
- pulumi_alicloud/emrv2/cluster.py +16 -16
- pulumi_alicloud/emrv2/get_cluster_instances.py +16 -16
- pulumi_alicloud/esa/__init__.py +7 -0
- pulumi_alicloud/esa/kv_account.py +145 -0
- pulumi_alicloud/esa/origin_ca_certificate.py +441 -0
- pulumi_alicloud/esa/origin_client_certificate.py +564 -0
- pulumi_alicloud/esa/origin_protection.py +290 -0
- pulumi_alicloud/esa/routine_related_record.py +226 -0
- pulumi_alicloud/esa/site_origin_client_certificate.py +515 -0
- pulumi_alicloud/esa/url_observation.py +352 -0
- pulumi_alicloud/eventbridge/rule.py +102 -0
- pulumi_alicloud/fc/_inputs.py +77 -3
- pulumi_alicloud/fc/custom_domain.py +14 -14
- pulumi_alicloud/fc/function.py +14 -14
- pulumi_alicloud/fc/function_async_invoke_config.py +48 -48
- pulumi_alicloud/fc/get_service.py +2 -2
- pulumi_alicloud/fc/outputs.py +63 -2
- pulumi_alicloud/fc/trigger.py +100 -100
- pulumi_alicloud/fc/v3_async_invoke_config.py +154 -0
- pulumi_alicloud/fc/v3_function.py +189 -3
- pulumi_alicloud/fc/v3_function_version.py +30 -2
- pulumi_alicloud/fnf/execution.py +14 -14
- pulumi_alicloud/fnf/flow.py +14 -14
- pulumi_alicloud/ga/additional_certificate.py +236 -0
- pulumi_alicloud/gpdb/hadoop_data_source.py +16 -16
- pulumi_alicloud/gpdb/streaming_job.py +4 -4
- pulumi_alicloud/gwlb/listener.py +172 -0
- pulumi_alicloud/gwlb/load_balancer.py +96 -0
- pulumi_alicloud/gwlb/server_group.py +160 -0
- pulumi_alicloud/hbr/ecs_backup_plan.py +4 -4
- pulumi_alicloud/hbr/ots_backup_plan.py +28 -28
- pulumi_alicloud/hbr/restore_job.py +4 -4
- pulumi_alicloud/hologram/instance.py +35 -0
- pulumi_alicloud/imm/project.py +14 -14
- pulumi_alicloud/kms/get_aliases.py +6 -6
- pulumi_alicloud/kms/get_instances.py +178 -0
- pulumi_alicloud/kms/instance.py +470 -16
- pulumi_alicloud/kms/policy.py +96 -0
- pulumi_alicloud/log/dashboard.py +40 -40
- pulumi_alicloud/log/ingestion.py +38 -38
- pulumi_alicloud/log/log_tail_attachment.py +20 -20
- pulumi_alicloud/log/log_tail_config.py +20 -20
- pulumi_alicloud/log/oss_export.py +6 -0
- pulumi_alicloud/log/project.py +20 -20
- pulumi_alicloud/log/resource.py +22 -22
- pulumi_alicloud/log/resource_record.py +40 -40
- pulumi_alicloud/maxcompute/get_service.py +2 -2
- pulumi_alicloud/message/__init__.py +1 -0
- pulumi_alicloud/message/_inputs.py +141 -0
- pulumi_alicloud/message/outputs.py +120 -0
- pulumi_alicloud/message/service_event_rule.py +490 -0
- pulumi_alicloud/message/service_subscription.py +48 -1
- pulumi_alicloud/mongodb/__init__.py +1 -0
- pulumi_alicloud/mongodb/global_security_ip_group.py +304 -0
- pulumi_alicloud/mongodb/instance.py +47 -0
- pulumi_alicloud/mongodb/sharding_instance.py +385 -0
- pulumi_alicloud/msc_sub_webhook.py +44 -0
- pulumi_alicloud/mse/cluster.py +47 -0
- pulumi_alicloud/mse/gateway.py +62 -0
- pulumi_alicloud/nas/access_group.py +46 -18
- pulumi_alicloud/nas/access_rule.py +28 -0
- pulumi_alicloud/nas/data_flow.py +114 -0
- pulumi_alicloud/nlb/listener_additional_certificate_attachment.py +328 -0
- pulumi_alicloud/nlb/server_group.py +28 -21
- pulumi_alicloud/oos/execution.py +30 -30
- pulumi_alicloud/oos/get_parameters.py +10 -10
- pulumi_alicloud/oos/get_secret_parameters.py +10 -10
- pulumi_alicloud/oos/template.py +28 -28
- pulumi_alicloud/oss/bucket.py +634 -0
- pulumi_alicloud/oss/bucket_replication.py +56 -56
- pulumi_alicloud/outputs.py +489 -0
- pulumi_alicloud/pai/flow_pipeline.py +70 -70
- pulumi_alicloud/pai/workspace_datasetversion.py +108 -0
- pulumi_alicloud/pai/workspace_run.py +62 -0
- pulumi_alicloud/polardb/cluster.py +7 -7
- pulumi_alicloud/privatelink/vpc_endpoint.py +21 -7
- pulumi_alicloud/privatelink/vpc_endpoint_service.py +11 -11
- pulumi_alicloud/pulumi-plugin.json +1 -1
- pulumi_alicloud/pvtz/endpoint.py +96 -0
- pulumi_alicloud/pvtz/rule.py +122 -0
- pulumi_alicloud/pvtz/rule_attachment.py +150 -0
- pulumi_alicloud/ram/get_policies.py +18 -18
- pulumi_alicloud/ram/get_policy_document.py +2 -2
- pulumi_alicloud/ram/get_role_policy_attachments.py +34 -34
- pulumi_alicloud/ram/get_users.py +32 -32
- pulumi_alicloud/ram/group_membership.py +74 -0
- pulumi_alicloud/ram/group_policy_attachment.py +18 -18
- pulumi_alicloud/ram/policy.py +18 -18
- pulumi_alicloud/ram/role.py +16 -16
- pulumi_alicloud/ram/role_attachment.py +14 -14
- pulumi_alicloud/ram/role_policy_attachment.py +34 -34
- pulumi_alicloud/ram/user_policy_attachment.py +18 -18
- pulumi_alicloud/rds/get_instance_classes.py +6 -4
- pulumi_alicloud/rds/outputs.py +4 -0
- pulumi_alicloud/rds/rds_clone_db_instance.py +8 -1
- pulumi_alicloud/resourcemanager/__init__.py +1 -0
- pulumi_alicloud/resourcemanager/auto_grouping_rule.py +24 -24
- pulumi_alicloud/resourcemanager/control_policy.py +18 -18
- pulumi_alicloud/resourcemanager/control_policy_attachment.py +18 -18
- pulumi_alicloud/resourcemanager/delegated_administrator.py +22 -50
- pulumi_alicloud/resourcemanager/folder.py +106 -29
- pulumi_alicloud/resourcemanager/get_accounts.py +35 -18
- pulumi_alicloud/resourcemanager/get_shared_resources.py +64 -0
- pulumi_alicloud/resourcemanager/message_contact.py +572 -0
- pulumi_alicloud/resourcemanager/outputs.py +31 -20
- pulumi_alicloud/resourcemanager/policy.py +16 -16
- pulumi_alicloud/resourcemanager/policy_attachment.py +82 -0
- pulumi_alicloud/resourcemanager/policy_version.py +32 -32
- pulumi_alicloud/resourcemanager/resource_directory.py +137 -46
- pulumi_alicloud/resourcemanager/role.py +14 -14
- pulumi_alicloud/resourcemanager/shared_resource.py +81 -45
- pulumi_alicloud/resourcemanager/shared_target.py +60 -24
- pulumi_alicloud/rocketmq/qos_policy.py +70 -0
- pulumi_alicloud/ros/_inputs.py +70 -18
- pulumi_alicloud/ros/outputs.py +59 -12
- pulumi_alicloud/ros/stack.py +14 -14
- pulumi_alicloud/ros/stack_group.py +342 -223
- pulumi_alicloud/ros/template.py +2 -2
- pulumi_alicloud/sag/qos_policy.py +70 -0
- pulumi_alicloud/sddp/data_limit.py +148 -0
- pulumi_alicloud/sddp/rule.py +10 -10
- pulumi_alicloud/servicecatalog/principal_portfolio_association.py +16 -16
- pulumi_alicloud/servicecatalog/product_portfolio_association.py +54 -0
- pulumi_alicloud/sls/__init__.py +5 -0
- pulumi_alicloud/sls/_inputs.py +128 -0
- pulumi_alicloud/sls/collection_policy.py +276 -0
- pulumi_alicloud/sls/get_etls.py +294 -0
- pulumi_alicloud/sls/get_logtail_configs.py +395 -0
- pulumi_alicloud/sls/get_machine_groups.py +229 -0
- pulumi_alicloud/sls/logtail_config.py +692 -0
- pulumi_alicloud/sls/machine_group.py +502 -0
- pulumi_alicloud/sls/oss_export_sink.py +134 -0
- pulumi_alicloud/sls/outputs.py +449 -0
- pulumi_alicloud/sslcertificatesservice/__init__.py +9 -0
- pulumi_alicloud/sslcertificatesservice/pca_certificate.py +646 -0
- pulumi_alicloud/star_rocks_instance.py +1425 -0
- pulumi_alicloud/tag/policy.py +2 -2
- pulumi_alicloud/tag/policy_attachment.py +2 -2
- pulumi_alicloud/threatdetection/__init__.py +1 -0
- pulumi_alicloud/threatdetection/_inputs.py +183 -0
- pulumi_alicloud/threatdetection/anti_brute_force_rule.py +50 -1
- pulumi_alicloud/threatdetection/attack_path_sensitive_asset_config.py +218 -0
- pulumi_alicloud/threatdetection/image_event_operation.py +191 -90
- pulumi_alicloud/threatdetection/oss_scan_config.py +257 -65
- pulumi_alicloud/threatdetection/outputs.py +147 -0
- pulumi_alicloud/vod/editing_project.py +8 -8
- pulumi_alicloud/vpc/_inputs.py +87 -54
- pulumi_alicloud/vpc/common_bandwith_package.py +28 -0
- pulumi_alicloud/vpc/dhcp_options_set.py +97 -58
- pulumi_alicloud/vpc/flow_log.py +117 -25
- pulumi_alicloud/vpc/gateway_endpoint.py +12 -12
- pulumi_alicloud/vpc/gateway_endpoint_route_table_attachment.py +12 -12
- pulumi_alicloud/vpc/ha_vip_attachment.py +41 -60
- pulumi_alicloud/vpc/ha_vipv2.py +100 -88
- pulumi_alicloud/vpc/ipam_ipam_pool.py +54 -0
- pulumi_alicloud/vpc/network_acl.py +34 -23
- pulumi_alicloud/vpc/outputs.py +58 -36
- pulumi_alicloud/vpc/route_entry.py +6 -2
- pulumi_alicloud/vpc/vbr_ha.py +100 -0
- pulumi_alicloud/vpc/vpc_network_acl_attachment.py +48 -0
- pulumi_alicloud/vpn/get_gateways.py +98 -0
- pulumi_alicloud/vpn/ssl_vpn_client_cert.py +82 -0
- pulumi_alicloud/vpn/ssl_vpn_server.py +76 -0
- pulumi_alicloud/wafv3/__init__.py +1 -0
- pulumi_alicloud/wafv3/_inputs.py +1318 -182
- pulumi_alicloud/wafv3/defense_rule.py +806 -0
- pulumi_alicloud/wafv3/defense_template.py +87 -124
- pulumi_alicloud/wafv3/domain.py +136 -35
- pulumi_alicloud/wafv3/outputs.py +925 -123
- {pulumi_alicloud-3.84.0a1756507491.dist-info → pulumi_alicloud-3.85.0.dist-info}/METADATA +1 -1
- {pulumi_alicloud-3.84.0a1756507491.dist-info → pulumi_alicloud-3.85.0.dist-info}/RECORD +283 -251
- {pulumi_alicloud-3.84.0a1756507491.dist-info → pulumi_alicloud-3.85.0.dist-info}/WHEEL +0 -0
- {pulumi_alicloud-3.84.0a1756507491.dist-info → pulumi_alicloud-3.85.0.dist-info}/top_level.txt +0 -0
pulumi_alicloud/wafv3/_inputs.py
CHANGED
|
@@ -15,6 +15,16 @@ else:
|
|
|
15
15
|
from .. import _utilities
|
|
16
16
|
|
|
17
17
|
__all__ = [
|
|
18
|
+
'DefenseRuleConfigArgs',
|
|
19
|
+
'DefenseRuleConfigArgsDict',
|
|
20
|
+
'DefenseRuleConfigAccountIdentifierArgs',
|
|
21
|
+
'DefenseRuleConfigAccountIdentifierArgsDict',
|
|
22
|
+
'DefenseRuleConfigConditionArgs',
|
|
23
|
+
'DefenseRuleConfigConditionArgsDict',
|
|
24
|
+
'DefenseRuleConfigRateLimitArgs',
|
|
25
|
+
'DefenseRuleConfigRateLimitArgsDict',
|
|
26
|
+
'DefenseRuleConfigRateLimitStatusArgs',
|
|
27
|
+
'DefenseRuleConfigRateLimitStatusArgsDict',
|
|
18
28
|
'DomainListenArgs',
|
|
19
29
|
'DomainListenArgsDict',
|
|
20
30
|
'DomainRedirectArgs',
|
|
@@ -25,18 +35,1086 @@ __all__ = [
|
|
|
25
35
|
|
|
26
36
|
MYPY = False
|
|
27
37
|
|
|
38
|
+
if not MYPY:
|
|
39
|
+
class DefenseRuleConfigArgsDict(TypedDict):
|
|
40
|
+
abroad_regions: NotRequired[pulumi.Input[_builtins.str]]
|
|
41
|
+
"""
|
|
42
|
+
The regions outside China from which you want to block requests. Separate multiple region codes with commas (,). You can call the DescribeIpAbroadCountryInfos operation to query the countries and regions outside China that can be blocked.
|
|
43
|
+
"""
|
|
44
|
+
account_identifiers: NotRequired[pulumi.Input[Sequence[pulumi.Input['DefenseRuleConfigAccountIdentifierArgsDict']]]]
|
|
45
|
+
"""
|
|
46
|
+
The policies for account extraction. Up to five policies are supported. Each policy is a JSON string. For more information, see accountIdentifiers description. See `account_identifiers` below.
|
|
47
|
+
"""
|
|
48
|
+
bypass_regular_rules: NotRequired[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]
|
|
49
|
+
"""
|
|
50
|
+
The list of regular rule IDs that are not detected. The value is in the ["XX1", "XX2",...] format. This parameter is required only when the module to which the whitelist applies is set to specific regular rules in basic protection (BypassTags is set to regular_rule).
|
|
51
|
+
"""
|
|
52
|
+
bypass_regular_types: NotRequired[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]
|
|
53
|
+
"""
|
|
54
|
+
The regular rule type is not detected. This parameter is configured only when the whitelist module is configured as the Web application regular type (the value of the BypassTags parameter is regular_type). Value:
|
|
55
|
+
- sqli: Indicates SQL injection.
|
|
56
|
+
- xss: Indicates cross-site scripting (XSS).
|
|
57
|
+
- cmdi: Indicates OS command injection.
|
|
58
|
+
- expression_injection: Indicates expression injection.
|
|
59
|
+
- java_deserialization: indicates Java deserialization.
|
|
60
|
+
- dot_net_deserialization: Represents. net deserialization.
|
|
61
|
+
- php_deserialization: indicates PHP deserialization.
|
|
62
|
+
- code_exec: Indicates code execution.
|
|
63
|
+
- ssrf: indicates SSRF (server-side request forgery).
|
|
64
|
+
- path_traversal: indicates a Path Traversal.
|
|
65
|
+
- arbitrary_file_uploading: Indicates to upload any file.
|
|
66
|
+
- webshell: Represents a webshell.
|
|
67
|
+
- rfilei: Indicates the remote file contains (RFI).
|
|
68
|
+
- lfilei: Indicates that the local file contains (LFI).
|
|
69
|
+
- protocol_violation: indicates a protocol violation.
|
|
70
|
+
- scanner_behavior: Indicates scanner behavior.
|
|
71
|
+
- logic_flaw: Indicates a business logic defect.
|
|
72
|
+
- arbitrary_file_reading: Indicates arbitrary file reading.
|
|
73
|
+
- arbitrary_file_download: Indicates an arbitrary file download.
|
|
74
|
+
- xxe: Indicates external entity injection.
|
|
75
|
+
- csrf: indicates cross-site request forgery.
|
|
76
|
+
- crlf: indicates CRLF.
|
|
77
|
+
- other: indicates other.
|
|
78
|
+
"""
|
|
79
|
+
bypass_tags: NotRequired[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]
|
|
80
|
+
"""
|
|
81
|
+
The modules to which the whitelist applies. The value is in the ["XX1", "XX2",...] format. Valid values:
|
|
82
|
+
- waf: indicates all modules.
|
|
83
|
+
- customrule: indicates custom rules.
|
|
84
|
+
- blacklist: indicates IP blacklist.
|
|
85
|
+
- antiscan: indicates scan protection.
|
|
86
|
+
- regular: indicates basic protection rules.
|
|
87
|
+
- regular_rule: indicates specific regular rules in basic protection.
|
|
88
|
+
- regular_type: indicates specific regular rule types in basic protection.
|
|
89
|
+
- major_protection: indicates major event support protection.
|
|
90
|
+
- cc: indicates CC protection.
|
|
91
|
+
- region_block: indicates Location Blacklist.
|
|
92
|
+
- antibot_scene: indicates BOT scenario protection.
|
|
93
|
+
- dlp: indicates information leakage prevention.
|
|
94
|
+
- tamperproof: indicates web tamper-proofing.
|
|
95
|
+
- spike_throttle: indicates peak traffic throttling.
|
|
96
|
+
"""
|
|
97
|
+
cc_effect: NotRequired[pulumi.Input[_builtins.str]]
|
|
98
|
+
"""
|
|
99
|
+
Set the effective range of the speed limit. This information is configured only when ccStatus is set to 1. Value:
|
|
100
|
+
- service: indicates that the effective object is a protected object.
|
|
101
|
+
- rule: indicates that the effective object is a single rule.
|
|
102
|
+
"""
|
|
103
|
+
cc_status: NotRequired[pulumi.Input[_builtins.int]]
|
|
104
|
+
"""
|
|
105
|
+
Whether to open the speed limit. Value:
|
|
106
|
+
- 0: indicates that the speed limit is off.
|
|
107
|
+
- 1: Indicates that the speed limit is on.
|
|
108
|
+
"""
|
|
109
|
+
cn_regions: NotRequired[pulumi.Input[_builtins.str]]
|
|
110
|
+
"""
|
|
111
|
+
The regions in China from which you want to block requests. If you specify "CN", requests from the Chinese mainland (excluding Hong Kong, Macao, and Taiwan) are blocked. Separate multiple regions with commas (,). For more information about region codes, see Description of region codes in China.
|
|
112
|
+
"""
|
|
113
|
+
conditions: NotRequired[pulumi.Input[Sequence[pulumi.Input['DefenseRuleConfigConditionArgsDict']]]]
|
|
114
|
+
"""
|
|
115
|
+
The traffic characteristics of ACL, which are described in JSON format. You can enter up to five matching conditions. For specific configuration information, see detailed configuration of conditions. See `conditions` below.
|
|
116
|
+
"""
|
|
117
|
+
mode: NotRequired[pulumi.Input[_builtins.int]]
|
|
118
|
+
"""
|
|
119
|
+
The HTTP flood protection mode. Valid values:
|
|
120
|
+
- 0 (default): indicates normal protection.
|
|
121
|
+
- 1: indicates emergency protection.
|
|
122
|
+
"""
|
|
123
|
+
protocol: NotRequired[pulumi.Input[_builtins.str]]
|
|
124
|
+
"""
|
|
125
|
+
The protocol type of the cached page address. Valid values: http, https.
|
|
126
|
+
"""
|
|
127
|
+
rate_limit: NotRequired[pulumi.Input['DefenseRuleConfigRateLimitArgsDict']]
|
|
128
|
+
"""
|
|
129
|
+
The detailed speed limit configuration, which is described in the JSON string format. This information is configured only when CcStatus is set to 1. For specific configuration information, see detailed configuration of Ratelimit. See `rate_limit` below.
|
|
130
|
+
"""
|
|
131
|
+
remote_addrs: NotRequired[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]
|
|
132
|
+
"""
|
|
133
|
+
The IP addresses that you want to add to the blacklist. Specify the value of this parameter in the ["ip1","ip2",...] format.
|
|
134
|
+
"""
|
|
135
|
+
rule_action: NotRequired[pulumi.Input[_builtins.str]]
|
|
136
|
+
"""
|
|
137
|
+
Protection rule action. Value:
|
|
138
|
+
- block: Indicates an intercept.
|
|
139
|
+
- monitor: indicates observation.
|
|
140
|
+
- js: indicates JS validation.
|
|
141
|
+
- captcha: Indicates a slider.
|
|
142
|
+
- captcha_strict: indicates a strict slider.
|
|
143
|
+
- filter: filters sensitive information. This action applies only to scenarios that the Information leakage prevention rule include sensitive information match conditions.
|
|
144
|
+
|
|
145
|
+
> **NOTE:** For the supported protection rule actions, follow the rule actions displayed in the WAF console.
|
|
146
|
+
"""
|
|
147
|
+
throttle_threhold: NotRequired[pulumi.Input[_builtins.int]]
|
|
148
|
+
"""
|
|
149
|
+
The throttling threshold. Valid values:
|
|
150
|
+
- The QPS throttling threshold ranges from 1 to 5000000. If you select QPS throttling (such as 500 QPS), traffic that meets the throttling conditions and exceeds 500 QPS will be blocked.
|
|
151
|
+
- The percentage throttling threshold ranges from 1 to 99. If you select percentage throttling (such as 80%), only 80% of the traffic that meets the throttling conditions will be allowed.
|
|
152
|
+
"""
|
|
153
|
+
throttle_type: NotRequired[pulumi.Input[_builtins.str]]
|
|
154
|
+
"""
|
|
155
|
+
The throttling method. Valid values:
|
|
156
|
+
- qps: indicates throttling based on queries per second (QPS).
|
|
157
|
+
- ratio (default): indicates throttling based on percentage.
|
|
158
|
+
"""
|
|
159
|
+
ua: NotRequired[pulumi.Input[_builtins.str]]
|
|
160
|
+
"""
|
|
161
|
+
The User-Agent string that is allowed for access to the address.
|
|
162
|
+
"""
|
|
163
|
+
url: NotRequired[pulumi.Input[_builtins.str]]
|
|
164
|
+
"""
|
|
165
|
+
The address of the cached page.
|
|
166
|
+
"""
|
|
167
|
+
elif False:
|
|
168
|
+
DefenseRuleConfigArgsDict: TypeAlias = Mapping[str, Any]
|
|
169
|
+
|
|
170
|
+
@pulumi.input_type
|
|
171
|
+
class DefenseRuleConfigArgs:
|
|
172
|
+
def __init__(__self__, *,
|
|
173
|
+
abroad_regions: Optional[pulumi.Input[_builtins.str]] = None,
|
|
174
|
+
account_identifiers: Optional[pulumi.Input[Sequence[pulumi.Input['DefenseRuleConfigAccountIdentifierArgs']]]] = None,
|
|
175
|
+
bypass_regular_rules: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
176
|
+
bypass_regular_types: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
177
|
+
bypass_tags: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
178
|
+
cc_effect: Optional[pulumi.Input[_builtins.str]] = None,
|
|
179
|
+
cc_status: Optional[pulumi.Input[_builtins.int]] = None,
|
|
180
|
+
cn_regions: Optional[pulumi.Input[_builtins.str]] = None,
|
|
181
|
+
conditions: Optional[pulumi.Input[Sequence[pulumi.Input['DefenseRuleConfigConditionArgs']]]] = None,
|
|
182
|
+
mode: Optional[pulumi.Input[_builtins.int]] = None,
|
|
183
|
+
protocol: Optional[pulumi.Input[_builtins.str]] = None,
|
|
184
|
+
rate_limit: Optional[pulumi.Input['DefenseRuleConfigRateLimitArgs']] = None,
|
|
185
|
+
remote_addrs: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
186
|
+
rule_action: Optional[pulumi.Input[_builtins.str]] = None,
|
|
187
|
+
throttle_threhold: Optional[pulumi.Input[_builtins.int]] = None,
|
|
188
|
+
throttle_type: Optional[pulumi.Input[_builtins.str]] = None,
|
|
189
|
+
ua: Optional[pulumi.Input[_builtins.str]] = None,
|
|
190
|
+
url: Optional[pulumi.Input[_builtins.str]] = None):
|
|
191
|
+
"""
|
|
192
|
+
:param pulumi.Input[_builtins.str] abroad_regions: The regions outside China from which you want to block requests. Separate multiple region codes with commas (,). You can call the DescribeIpAbroadCountryInfos operation to query the countries and regions outside China that can be blocked.
|
|
193
|
+
:param pulumi.Input[Sequence[pulumi.Input['DefenseRuleConfigAccountIdentifierArgs']]] account_identifiers: The policies for account extraction. Up to five policies are supported. Each policy is a JSON string. For more information, see accountIdentifiers description. See `account_identifiers` below.
|
|
194
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] bypass_regular_rules: The list of regular rule IDs that are not detected. The value is in the ["XX1", "XX2",...] format. This parameter is required only when the module to which the whitelist applies is set to specific regular rules in basic protection (BypassTags is set to regular_rule).
|
|
195
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] bypass_regular_types: The regular rule type is not detected. This parameter is configured only when the whitelist module is configured as the Web application regular type (the value of the BypassTags parameter is regular_type). Value:
|
|
196
|
+
- sqli: Indicates SQL injection.
|
|
197
|
+
- xss: Indicates cross-site scripting (XSS).
|
|
198
|
+
- cmdi: Indicates OS command injection.
|
|
199
|
+
- expression_injection: Indicates expression injection.
|
|
200
|
+
- java_deserialization: indicates Java deserialization.
|
|
201
|
+
- dot_net_deserialization: Represents. net deserialization.
|
|
202
|
+
- php_deserialization: indicates PHP deserialization.
|
|
203
|
+
- code_exec: Indicates code execution.
|
|
204
|
+
- ssrf: indicates SSRF (server-side request forgery).
|
|
205
|
+
- path_traversal: indicates a Path Traversal.
|
|
206
|
+
- arbitrary_file_uploading: Indicates to upload any file.
|
|
207
|
+
- webshell: Represents a webshell.
|
|
208
|
+
- rfilei: Indicates the remote file contains (RFI).
|
|
209
|
+
- lfilei: Indicates that the local file contains (LFI).
|
|
210
|
+
- protocol_violation: indicates a protocol violation.
|
|
211
|
+
- scanner_behavior: Indicates scanner behavior.
|
|
212
|
+
- logic_flaw: Indicates a business logic defect.
|
|
213
|
+
- arbitrary_file_reading: Indicates arbitrary file reading.
|
|
214
|
+
- arbitrary_file_download: Indicates an arbitrary file download.
|
|
215
|
+
- xxe: Indicates external entity injection.
|
|
216
|
+
- csrf: indicates cross-site request forgery.
|
|
217
|
+
- crlf: indicates CRLF.
|
|
218
|
+
- other: indicates other.
|
|
219
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] bypass_tags: The modules to which the whitelist applies. The value is in the ["XX1", "XX2",...] format. Valid values:
|
|
220
|
+
- waf: indicates all modules.
|
|
221
|
+
- customrule: indicates custom rules.
|
|
222
|
+
- blacklist: indicates IP blacklist.
|
|
223
|
+
- antiscan: indicates scan protection.
|
|
224
|
+
- regular: indicates basic protection rules.
|
|
225
|
+
- regular_rule: indicates specific regular rules in basic protection.
|
|
226
|
+
- regular_type: indicates specific regular rule types in basic protection.
|
|
227
|
+
- major_protection: indicates major event support protection.
|
|
228
|
+
- cc: indicates CC protection.
|
|
229
|
+
- region_block: indicates Location Blacklist.
|
|
230
|
+
- antibot_scene: indicates BOT scenario protection.
|
|
231
|
+
- dlp: indicates information leakage prevention.
|
|
232
|
+
- tamperproof: indicates web tamper-proofing.
|
|
233
|
+
- spike_throttle: indicates peak traffic throttling.
|
|
234
|
+
:param pulumi.Input[_builtins.str] cc_effect: Set the effective range of the speed limit. This information is configured only when ccStatus is set to 1. Value:
|
|
235
|
+
- service: indicates that the effective object is a protected object.
|
|
236
|
+
- rule: indicates that the effective object is a single rule.
|
|
237
|
+
:param pulumi.Input[_builtins.int] cc_status: Whether to open the speed limit. Value:
|
|
238
|
+
- 0: indicates that the speed limit is off.
|
|
239
|
+
- 1: Indicates that the speed limit is on.
|
|
240
|
+
:param pulumi.Input[_builtins.str] cn_regions: The regions in China from which you want to block requests. If you specify "CN", requests from the Chinese mainland (excluding Hong Kong, Macao, and Taiwan) are blocked. Separate multiple regions with commas (,). For more information about region codes, see Description of region codes in China.
|
|
241
|
+
:param pulumi.Input[Sequence[pulumi.Input['DefenseRuleConfigConditionArgs']]] conditions: The traffic characteristics of ACL, which are described in JSON format. You can enter up to five matching conditions. For specific configuration information, see detailed configuration of conditions. See `conditions` below.
|
|
242
|
+
:param pulumi.Input[_builtins.int] mode: The HTTP flood protection mode. Valid values:
|
|
243
|
+
- 0 (default): indicates normal protection.
|
|
244
|
+
- 1: indicates emergency protection.
|
|
245
|
+
:param pulumi.Input[_builtins.str] protocol: The protocol type of the cached page address. Valid values: http, https.
|
|
246
|
+
:param pulumi.Input['DefenseRuleConfigRateLimitArgs'] rate_limit: The detailed speed limit configuration, which is described in the JSON string format. This information is configured only when CcStatus is set to 1. For specific configuration information, see detailed configuration of Ratelimit. See `rate_limit` below.
|
|
247
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] remote_addrs: The IP addresses that you want to add to the blacklist. Specify the value of this parameter in the ["ip1","ip2",...] format.
|
|
248
|
+
:param pulumi.Input[_builtins.str] rule_action: Protection rule action. Value:
|
|
249
|
+
- block: Indicates an intercept.
|
|
250
|
+
- monitor: indicates observation.
|
|
251
|
+
- js: indicates JS validation.
|
|
252
|
+
- captcha: Indicates a slider.
|
|
253
|
+
- captcha_strict: indicates a strict slider.
|
|
254
|
+
- filter: filters sensitive information. This action applies only to scenarios that the Information leakage prevention rule include sensitive information match conditions.
|
|
255
|
+
|
|
256
|
+
> **NOTE:** For the supported protection rule actions, follow the rule actions displayed in the WAF console.
|
|
257
|
+
:param pulumi.Input[_builtins.int] throttle_threhold: The throttling threshold. Valid values:
|
|
258
|
+
- The QPS throttling threshold ranges from 1 to 5000000. If you select QPS throttling (such as 500 QPS), traffic that meets the throttling conditions and exceeds 500 QPS will be blocked.
|
|
259
|
+
- The percentage throttling threshold ranges from 1 to 99. If you select percentage throttling (such as 80%), only 80% of the traffic that meets the throttling conditions will be allowed.
|
|
260
|
+
:param pulumi.Input[_builtins.str] throttle_type: The throttling method. Valid values:
|
|
261
|
+
- qps: indicates throttling based on queries per second (QPS).
|
|
262
|
+
- ratio (default): indicates throttling based on percentage.
|
|
263
|
+
:param pulumi.Input[_builtins.str] ua: The User-Agent string that is allowed for access to the address.
|
|
264
|
+
:param pulumi.Input[_builtins.str] url: The address of the cached page.
|
|
265
|
+
"""
|
|
266
|
+
if abroad_regions is not None:
|
|
267
|
+
pulumi.set(__self__, "abroad_regions", abroad_regions)
|
|
268
|
+
if account_identifiers is not None:
|
|
269
|
+
pulumi.set(__self__, "account_identifiers", account_identifiers)
|
|
270
|
+
if bypass_regular_rules is not None:
|
|
271
|
+
pulumi.set(__self__, "bypass_regular_rules", bypass_regular_rules)
|
|
272
|
+
if bypass_regular_types is not None:
|
|
273
|
+
pulumi.set(__self__, "bypass_regular_types", bypass_regular_types)
|
|
274
|
+
if bypass_tags is not None:
|
|
275
|
+
pulumi.set(__self__, "bypass_tags", bypass_tags)
|
|
276
|
+
if cc_effect is not None:
|
|
277
|
+
pulumi.set(__self__, "cc_effect", cc_effect)
|
|
278
|
+
if cc_status is not None:
|
|
279
|
+
pulumi.set(__self__, "cc_status", cc_status)
|
|
280
|
+
if cn_regions is not None:
|
|
281
|
+
pulumi.set(__self__, "cn_regions", cn_regions)
|
|
282
|
+
if conditions is not None:
|
|
283
|
+
pulumi.set(__self__, "conditions", conditions)
|
|
284
|
+
if mode is not None:
|
|
285
|
+
pulumi.set(__self__, "mode", mode)
|
|
286
|
+
if protocol is not None:
|
|
287
|
+
pulumi.set(__self__, "protocol", protocol)
|
|
288
|
+
if rate_limit is not None:
|
|
289
|
+
pulumi.set(__self__, "rate_limit", rate_limit)
|
|
290
|
+
if remote_addrs is not None:
|
|
291
|
+
pulumi.set(__self__, "remote_addrs", remote_addrs)
|
|
292
|
+
if rule_action is not None:
|
|
293
|
+
pulumi.set(__self__, "rule_action", rule_action)
|
|
294
|
+
if throttle_threhold is not None:
|
|
295
|
+
pulumi.set(__self__, "throttle_threhold", throttle_threhold)
|
|
296
|
+
if throttle_type is not None:
|
|
297
|
+
pulumi.set(__self__, "throttle_type", throttle_type)
|
|
298
|
+
if ua is not None:
|
|
299
|
+
pulumi.set(__self__, "ua", ua)
|
|
300
|
+
if url is not None:
|
|
301
|
+
pulumi.set(__self__, "url", url)
|
|
302
|
+
|
|
303
|
+
@_builtins.property
|
|
304
|
+
@pulumi.getter(name="abroadRegions")
|
|
305
|
+
def abroad_regions(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
306
|
+
"""
|
|
307
|
+
The regions outside China from which you want to block requests. Separate multiple region codes with commas (,). You can call the DescribeIpAbroadCountryInfos operation to query the countries and regions outside China that can be blocked.
|
|
308
|
+
"""
|
|
309
|
+
return pulumi.get(self, "abroad_regions")
|
|
310
|
+
|
|
311
|
+
@abroad_regions.setter
|
|
312
|
+
def abroad_regions(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
313
|
+
pulumi.set(self, "abroad_regions", value)
|
|
314
|
+
|
|
315
|
+
@_builtins.property
|
|
316
|
+
@pulumi.getter(name="accountIdentifiers")
|
|
317
|
+
def account_identifiers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DefenseRuleConfigAccountIdentifierArgs']]]]:
|
|
318
|
+
"""
|
|
319
|
+
The policies for account extraction. Up to five policies are supported. Each policy is a JSON string. For more information, see accountIdentifiers description. See `account_identifiers` below.
|
|
320
|
+
"""
|
|
321
|
+
return pulumi.get(self, "account_identifiers")
|
|
322
|
+
|
|
323
|
+
@account_identifiers.setter
|
|
324
|
+
def account_identifiers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['DefenseRuleConfigAccountIdentifierArgs']]]]):
|
|
325
|
+
pulumi.set(self, "account_identifiers", value)
|
|
326
|
+
|
|
327
|
+
@_builtins.property
|
|
328
|
+
@pulumi.getter(name="bypassRegularRules")
|
|
329
|
+
def bypass_regular_rules(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
|
|
330
|
+
"""
|
|
331
|
+
The list of regular rule IDs that are not detected. The value is in the ["XX1", "XX2",...] format. This parameter is required only when the module to which the whitelist applies is set to specific regular rules in basic protection (BypassTags is set to regular_rule).
|
|
332
|
+
"""
|
|
333
|
+
return pulumi.get(self, "bypass_regular_rules")
|
|
334
|
+
|
|
335
|
+
@bypass_regular_rules.setter
|
|
336
|
+
def bypass_regular_rules(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
|
|
337
|
+
pulumi.set(self, "bypass_regular_rules", value)
|
|
338
|
+
|
|
339
|
+
@_builtins.property
|
|
340
|
+
@pulumi.getter(name="bypassRegularTypes")
|
|
341
|
+
def bypass_regular_types(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
|
|
342
|
+
"""
|
|
343
|
+
The regular rule type is not detected. This parameter is configured only when the whitelist module is configured as the Web application regular type (the value of the BypassTags parameter is regular_type). Value:
|
|
344
|
+
- sqli: Indicates SQL injection.
|
|
345
|
+
- xss: Indicates cross-site scripting (XSS).
|
|
346
|
+
- cmdi: Indicates OS command injection.
|
|
347
|
+
- expression_injection: Indicates expression injection.
|
|
348
|
+
- java_deserialization: indicates Java deserialization.
|
|
349
|
+
- dot_net_deserialization: Represents. net deserialization.
|
|
350
|
+
- php_deserialization: indicates PHP deserialization.
|
|
351
|
+
- code_exec: Indicates code execution.
|
|
352
|
+
- ssrf: indicates SSRF (server-side request forgery).
|
|
353
|
+
- path_traversal: indicates a Path Traversal.
|
|
354
|
+
- arbitrary_file_uploading: Indicates to upload any file.
|
|
355
|
+
- webshell: Represents a webshell.
|
|
356
|
+
- rfilei: Indicates the remote file contains (RFI).
|
|
357
|
+
- lfilei: Indicates that the local file contains (LFI).
|
|
358
|
+
- protocol_violation: indicates a protocol violation.
|
|
359
|
+
- scanner_behavior: Indicates scanner behavior.
|
|
360
|
+
- logic_flaw: Indicates a business logic defect.
|
|
361
|
+
- arbitrary_file_reading: Indicates arbitrary file reading.
|
|
362
|
+
- arbitrary_file_download: Indicates an arbitrary file download.
|
|
363
|
+
- xxe: Indicates external entity injection.
|
|
364
|
+
- csrf: indicates cross-site request forgery.
|
|
365
|
+
- crlf: indicates CRLF.
|
|
366
|
+
- other: indicates other.
|
|
367
|
+
"""
|
|
368
|
+
return pulumi.get(self, "bypass_regular_types")
|
|
369
|
+
|
|
370
|
+
@bypass_regular_types.setter
|
|
371
|
+
def bypass_regular_types(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
|
|
372
|
+
pulumi.set(self, "bypass_regular_types", value)
|
|
373
|
+
|
|
374
|
+
@_builtins.property
|
|
375
|
+
@pulumi.getter(name="bypassTags")
|
|
376
|
+
def bypass_tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
|
|
377
|
+
"""
|
|
378
|
+
The modules to which the whitelist applies. The value is in the ["XX1", "XX2",...] format. Valid values:
|
|
379
|
+
- waf: indicates all modules.
|
|
380
|
+
- customrule: indicates custom rules.
|
|
381
|
+
- blacklist: indicates IP blacklist.
|
|
382
|
+
- antiscan: indicates scan protection.
|
|
383
|
+
- regular: indicates basic protection rules.
|
|
384
|
+
- regular_rule: indicates specific regular rules in basic protection.
|
|
385
|
+
- regular_type: indicates specific regular rule types in basic protection.
|
|
386
|
+
- major_protection: indicates major event support protection.
|
|
387
|
+
- cc: indicates CC protection.
|
|
388
|
+
- region_block: indicates Location Blacklist.
|
|
389
|
+
- antibot_scene: indicates BOT scenario protection.
|
|
390
|
+
- dlp: indicates information leakage prevention.
|
|
391
|
+
- tamperproof: indicates web tamper-proofing.
|
|
392
|
+
- spike_throttle: indicates peak traffic throttling.
|
|
393
|
+
"""
|
|
394
|
+
return pulumi.get(self, "bypass_tags")
|
|
395
|
+
|
|
396
|
+
@bypass_tags.setter
|
|
397
|
+
def bypass_tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
|
|
398
|
+
pulumi.set(self, "bypass_tags", value)
|
|
399
|
+
|
|
400
|
+
@_builtins.property
|
|
401
|
+
@pulumi.getter(name="ccEffect")
|
|
402
|
+
def cc_effect(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
403
|
+
"""
|
|
404
|
+
Set the effective range of the speed limit. This information is configured only when ccStatus is set to 1. Value:
|
|
405
|
+
- service: indicates that the effective object is a protected object.
|
|
406
|
+
- rule: indicates that the effective object is a single rule.
|
|
407
|
+
"""
|
|
408
|
+
return pulumi.get(self, "cc_effect")
|
|
409
|
+
|
|
410
|
+
@cc_effect.setter
|
|
411
|
+
def cc_effect(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
412
|
+
pulumi.set(self, "cc_effect", value)
|
|
413
|
+
|
|
414
|
+
@_builtins.property
|
|
415
|
+
@pulumi.getter(name="ccStatus")
|
|
416
|
+
def cc_status(self) -> Optional[pulumi.Input[_builtins.int]]:
|
|
417
|
+
"""
|
|
418
|
+
Whether to open the speed limit. Value:
|
|
419
|
+
- 0: indicates that the speed limit is off.
|
|
420
|
+
- 1: Indicates that the speed limit is on.
|
|
421
|
+
"""
|
|
422
|
+
return pulumi.get(self, "cc_status")
|
|
423
|
+
|
|
424
|
+
@cc_status.setter
|
|
425
|
+
def cc_status(self, value: Optional[pulumi.Input[_builtins.int]]):
|
|
426
|
+
pulumi.set(self, "cc_status", value)
|
|
427
|
+
|
|
428
|
+
@_builtins.property
|
|
429
|
+
@pulumi.getter(name="cnRegions")
|
|
430
|
+
def cn_regions(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
431
|
+
"""
|
|
432
|
+
The regions in China from which you want to block requests. If you specify "CN", requests from the Chinese mainland (excluding Hong Kong, Macao, and Taiwan) are blocked. Separate multiple regions with commas (,). For more information about region codes, see Description of region codes in China.
|
|
433
|
+
"""
|
|
434
|
+
return pulumi.get(self, "cn_regions")
|
|
435
|
+
|
|
436
|
+
@cn_regions.setter
|
|
437
|
+
def cn_regions(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
438
|
+
pulumi.set(self, "cn_regions", value)
|
|
439
|
+
|
|
440
|
+
@_builtins.property
|
|
441
|
+
@pulumi.getter
|
|
442
|
+
def conditions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DefenseRuleConfigConditionArgs']]]]:
|
|
443
|
+
"""
|
|
444
|
+
The traffic characteristics of ACL, which are described in JSON format. You can enter up to five matching conditions. For specific configuration information, see detailed configuration of conditions. See `conditions` below.
|
|
445
|
+
"""
|
|
446
|
+
return pulumi.get(self, "conditions")
|
|
447
|
+
|
|
448
|
+
@conditions.setter
|
|
449
|
+
def conditions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['DefenseRuleConfigConditionArgs']]]]):
|
|
450
|
+
pulumi.set(self, "conditions", value)
|
|
451
|
+
|
|
452
|
+
@_builtins.property
|
|
453
|
+
@pulumi.getter
|
|
454
|
+
def mode(self) -> Optional[pulumi.Input[_builtins.int]]:
|
|
455
|
+
"""
|
|
456
|
+
The HTTP flood protection mode. Valid values:
|
|
457
|
+
- 0 (default): indicates normal protection.
|
|
458
|
+
- 1: indicates emergency protection.
|
|
459
|
+
"""
|
|
460
|
+
return pulumi.get(self, "mode")
|
|
461
|
+
|
|
462
|
+
@mode.setter
|
|
463
|
+
def mode(self, value: Optional[pulumi.Input[_builtins.int]]):
|
|
464
|
+
pulumi.set(self, "mode", value)
|
|
465
|
+
|
|
466
|
+
@_builtins.property
|
|
467
|
+
@pulumi.getter
|
|
468
|
+
def protocol(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
469
|
+
"""
|
|
470
|
+
The protocol type of the cached page address. Valid values: http, https.
|
|
471
|
+
"""
|
|
472
|
+
return pulumi.get(self, "protocol")
|
|
473
|
+
|
|
474
|
+
@protocol.setter
|
|
475
|
+
def protocol(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
476
|
+
pulumi.set(self, "protocol", value)
|
|
477
|
+
|
|
478
|
+
@_builtins.property
|
|
479
|
+
@pulumi.getter(name="rateLimit")
|
|
480
|
+
def rate_limit(self) -> Optional[pulumi.Input['DefenseRuleConfigRateLimitArgs']]:
|
|
481
|
+
"""
|
|
482
|
+
The detailed speed limit configuration, which is described in the JSON string format. This information is configured only when CcStatus is set to 1. For specific configuration information, see detailed configuration of Ratelimit. See `rate_limit` below.
|
|
483
|
+
"""
|
|
484
|
+
return pulumi.get(self, "rate_limit")
|
|
485
|
+
|
|
486
|
+
@rate_limit.setter
|
|
487
|
+
def rate_limit(self, value: Optional[pulumi.Input['DefenseRuleConfigRateLimitArgs']]):
|
|
488
|
+
pulumi.set(self, "rate_limit", value)
|
|
489
|
+
|
|
490
|
+
@_builtins.property
|
|
491
|
+
@pulumi.getter(name="remoteAddrs")
|
|
492
|
+
def remote_addrs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
|
|
493
|
+
"""
|
|
494
|
+
The IP addresses that you want to add to the blacklist. Specify the value of this parameter in the ["ip1","ip2",...] format.
|
|
495
|
+
"""
|
|
496
|
+
return pulumi.get(self, "remote_addrs")
|
|
497
|
+
|
|
498
|
+
@remote_addrs.setter
|
|
499
|
+
def remote_addrs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
|
|
500
|
+
pulumi.set(self, "remote_addrs", value)
|
|
501
|
+
|
|
502
|
+
@_builtins.property
|
|
503
|
+
@pulumi.getter(name="ruleAction")
|
|
504
|
+
def rule_action(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
505
|
+
"""
|
|
506
|
+
Protection rule action. Value:
|
|
507
|
+
- block: Indicates an intercept.
|
|
508
|
+
- monitor: indicates observation.
|
|
509
|
+
- js: indicates JS validation.
|
|
510
|
+
- captcha: Indicates a slider.
|
|
511
|
+
- captcha_strict: indicates a strict slider.
|
|
512
|
+
- filter: filters sensitive information. This action applies only to scenarios that the Information leakage prevention rule include sensitive information match conditions.
|
|
513
|
+
|
|
514
|
+
> **NOTE:** For the supported protection rule actions, follow the rule actions displayed in the WAF console.
|
|
515
|
+
"""
|
|
516
|
+
return pulumi.get(self, "rule_action")
|
|
517
|
+
|
|
518
|
+
@rule_action.setter
|
|
519
|
+
def rule_action(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
520
|
+
pulumi.set(self, "rule_action", value)
|
|
521
|
+
|
|
522
|
+
@_builtins.property
|
|
523
|
+
@pulumi.getter(name="throttleThrehold")
|
|
524
|
+
def throttle_threhold(self) -> Optional[pulumi.Input[_builtins.int]]:
|
|
525
|
+
"""
|
|
526
|
+
The throttling threshold. Valid values:
|
|
527
|
+
- The QPS throttling threshold ranges from 1 to 5000000. If you select QPS throttling (such as 500 QPS), traffic that meets the throttling conditions and exceeds 500 QPS will be blocked.
|
|
528
|
+
- The percentage throttling threshold ranges from 1 to 99. If you select percentage throttling (such as 80%), only 80% of the traffic that meets the throttling conditions will be allowed.
|
|
529
|
+
"""
|
|
530
|
+
return pulumi.get(self, "throttle_threhold")
|
|
531
|
+
|
|
532
|
+
@throttle_threhold.setter
|
|
533
|
+
def throttle_threhold(self, value: Optional[pulumi.Input[_builtins.int]]):
|
|
534
|
+
pulumi.set(self, "throttle_threhold", value)
|
|
535
|
+
|
|
536
|
+
@_builtins.property
|
|
537
|
+
@pulumi.getter(name="throttleType")
|
|
538
|
+
def throttle_type(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
539
|
+
"""
|
|
540
|
+
The throttling method. Valid values:
|
|
541
|
+
- qps: indicates throttling based on queries per second (QPS).
|
|
542
|
+
- ratio (default): indicates throttling based on percentage.
|
|
543
|
+
"""
|
|
544
|
+
return pulumi.get(self, "throttle_type")
|
|
545
|
+
|
|
546
|
+
@throttle_type.setter
|
|
547
|
+
def throttle_type(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
548
|
+
pulumi.set(self, "throttle_type", value)
|
|
549
|
+
|
|
550
|
+
@_builtins.property
|
|
551
|
+
@pulumi.getter
|
|
552
|
+
def ua(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
553
|
+
"""
|
|
554
|
+
The User-Agent string that is allowed for access to the address.
|
|
555
|
+
"""
|
|
556
|
+
return pulumi.get(self, "ua")
|
|
557
|
+
|
|
558
|
+
@ua.setter
|
|
559
|
+
def ua(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
560
|
+
pulumi.set(self, "ua", value)
|
|
561
|
+
|
|
562
|
+
@_builtins.property
|
|
563
|
+
@pulumi.getter
|
|
564
|
+
def url(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
565
|
+
"""
|
|
566
|
+
The address of the cached page.
|
|
567
|
+
"""
|
|
568
|
+
return pulumi.get(self, "url")
|
|
569
|
+
|
|
570
|
+
@url.setter
|
|
571
|
+
def url(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
572
|
+
pulumi.set(self, "url", value)
|
|
573
|
+
|
|
574
|
+
|
|
575
|
+
if not MYPY:
|
|
576
|
+
class DefenseRuleConfigAccountIdentifierArgsDict(TypedDict):
|
|
577
|
+
decode_type: NotRequired[pulumi.Input[_builtins.str]]
|
|
578
|
+
"""
|
|
579
|
+
The authentication mode. Valid values:
|
|
580
|
+
- plain: indicates plaintext.
|
|
581
|
+
- basic: indicates Basic authentication.
|
|
582
|
+
- jwt: indicates JWT authentication. For JWT authentication, you must specify the field that stores the decoded account information (position).
|
|
583
|
+
"""
|
|
584
|
+
key: NotRequired[pulumi.Input[_builtins.str]]
|
|
585
|
+
"""
|
|
586
|
+
Match field. Valid values: URL, URLPath, IP, Referer, User-Agent, Params, Cookie, Content-Type, Content-Length, X-Forwarded-For, Post-Body, Http-Method, Header, Host, HttpCode, and SensitiveInfo.
|
|
587
|
+
|
|
588
|
+
> **NOTE:** Support for matching fields is based on the display in the WAF console. HttpCode and SensitiveInfo are the matching fields supported by the information leakage prevention rule (dlp).
|
|
589
|
+
"""
|
|
590
|
+
position: NotRequired[pulumi.Input[_builtins.str]]
|
|
591
|
+
"""
|
|
592
|
+
The field that stores the decoded account information.
|
|
593
|
+
"""
|
|
594
|
+
priority: NotRequired[pulumi.Input[_builtins.int]]
|
|
595
|
+
"""
|
|
596
|
+
The priority of the current extraction configuration. Each traffic can match at most one extraction policy. Valid values: [0,20]. A smaller value indicates a higher priority. The priority value must be unique.
|
|
597
|
+
"""
|
|
598
|
+
sub_key: NotRequired[pulumi.Input[_builtins.str]]
|
|
599
|
+
"""
|
|
600
|
+
The characteristics of the statistical object. When the Target parameter is set to cookie, header, or queryarg, you must specify the corresponding information in the Subkey parameter.
|
|
601
|
+
"""
|
|
602
|
+
elif False:
|
|
603
|
+
DefenseRuleConfigAccountIdentifierArgsDict: TypeAlias = Mapping[str, Any]
|
|
604
|
+
|
|
605
|
+
@pulumi.input_type
|
|
606
|
+
class DefenseRuleConfigAccountIdentifierArgs:
|
|
607
|
+
def __init__(__self__, *,
|
|
608
|
+
decode_type: Optional[pulumi.Input[_builtins.str]] = None,
|
|
609
|
+
key: Optional[pulumi.Input[_builtins.str]] = None,
|
|
610
|
+
position: Optional[pulumi.Input[_builtins.str]] = None,
|
|
611
|
+
priority: Optional[pulumi.Input[_builtins.int]] = None,
|
|
612
|
+
sub_key: Optional[pulumi.Input[_builtins.str]] = None):
|
|
613
|
+
"""
|
|
614
|
+
:param pulumi.Input[_builtins.str] decode_type: The authentication mode. Valid values:
|
|
615
|
+
- plain: indicates plaintext.
|
|
616
|
+
- basic: indicates Basic authentication.
|
|
617
|
+
- jwt: indicates JWT authentication. For JWT authentication, you must specify the field that stores the decoded account information (position).
|
|
618
|
+
:param pulumi.Input[_builtins.str] key: Match field. Valid values: URL, URLPath, IP, Referer, User-Agent, Params, Cookie, Content-Type, Content-Length, X-Forwarded-For, Post-Body, Http-Method, Header, Host, HttpCode, and SensitiveInfo.
|
|
619
|
+
|
|
620
|
+
> **NOTE:** Support for matching fields is based on the display in the WAF console. HttpCode and SensitiveInfo are the matching fields supported by the information leakage prevention rule (dlp).
|
|
621
|
+
:param pulumi.Input[_builtins.str] position: The field that stores the decoded account information.
|
|
622
|
+
:param pulumi.Input[_builtins.int] priority: The priority of the current extraction configuration. Each traffic can match at most one extraction policy. Valid values: [0,20]. A smaller value indicates a higher priority. The priority value must be unique.
|
|
623
|
+
:param pulumi.Input[_builtins.str] sub_key: The characteristics of the statistical object. When the Target parameter is set to cookie, header, or queryarg, you must specify the corresponding information in the Subkey parameter.
|
|
624
|
+
"""
|
|
625
|
+
if decode_type is not None:
|
|
626
|
+
pulumi.set(__self__, "decode_type", decode_type)
|
|
627
|
+
if key is not None:
|
|
628
|
+
pulumi.set(__self__, "key", key)
|
|
629
|
+
if position is not None:
|
|
630
|
+
pulumi.set(__self__, "position", position)
|
|
631
|
+
if priority is not None:
|
|
632
|
+
pulumi.set(__self__, "priority", priority)
|
|
633
|
+
if sub_key is not None:
|
|
634
|
+
pulumi.set(__self__, "sub_key", sub_key)
|
|
635
|
+
|
|
636
|
+
@_builtins.property
|
|
637
|
+
@pulumi.getter(name="decodeType")
|
|
638
|
+
def decode_type(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
639
|
+
"""
|
|
640
|
+
The authentication mode. Valid values:
|
|
641
|
+
- plain: indicates plaintext.
|
|
642
|
+
- basic: indicates Basic authentication.
|
|
643
|
+
- jwt: indicates JWT authentication. For JWT authentication, you must specify the field that stores the decoded account information (position).
|
|
644
|
+
"""
|
|
645
|
+
return pulumi.get(self, "decode_type")
|
|
646
|
+
|
|
647
|
+
@decode_type.setter
|
|
648
|
+
def decode_type(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
649
|
+
pulumi.set(self, "decode_type", value)
|
|
650
|
+
|
|
651
|
+
@_builtins.property
|
|
652
|
+
@pulumi.getter
|
|
653
|
+
def key(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
654
|
+
"""
|
|
655
|
+
Match field. Valid values: URL, URLPath, IP, Referer, User-Agent, Params, Cookie, Content-Type, Content-Length, X-Forwarded-For, Post-Body, Http-Method, Header, Host, HttpCode, and SensitiveInfo.
|
|
656
|
+
|
|
657
|
+
> **NOTE:** Support for matching fields is based on the display in the WAF console. HttpCode and SensitiveInfo are the matching fields supported by the information leakage prevention rule (dlp).
|
|
658
|
+
"""
|
|
659
|
+
return pulumi.get(self, "key")
|
|
660
|
+
|
|
661
|
+
@key.setter
|
|
662
|
+
def key(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
663
|
+
pulumi.set(self, "key", value)
|
|
664
|
+
|
|
665
|
+
@_builtins.property
|
|
666
|
+
@pulumi.getter
|
|
667
|
+
def position(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
668
|
+
"""
|
|
669
|
+
The field that stores the decoded account information.
|
|
670
|
+
"""
|
|
671
|
+
return pulumi.get(self, "position")
|
|
672
|
+
|
|
673
|
+
@position.setter
|
|
674
|
+
def position(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
675
|
+
pulumi.set(self, "position", value)
|
|
676
|
+
|
|
677
|
+
@_builtins.property
|
|
678
|
+
@pulumi.getter
|
|
679
|
+
def priority(self) -> Optional[pulumi.Input[_builtins.int]]:
|
|
680
|
+
"""
|
|
681
|
+
The priority of the current extraction configuration. Each traffic can match at most one extraction policy. Valid values: [0,20]. A smaller value indicates a higher priority. The priority value must be unique.
|
|
682
|
+
"""
|
|
683
|
+
return pulumi.get(self, "priority")
|
|
684
|
+
|
|
685
|
+
@priority.setter
|
|
686
|
+
def priority(self, value: Optional[pulumi.Input[_builtins.int]]):
|
|
687
|
+
pulumi.set(self, "priority", value)
|
|
688
|
+
|
|
689
|
+
@_builtins.property
|
|
690
|
+
@pulumi.getter(name="subKey")
|
|
691
|
+
def sub_key(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
692
|
+
"""
|
|
693
|
+
The characteristics of the statistical object. When the Target parameter is set to cookie, header, or queryarg, you must specify the corresponding information in the Subkey parameter.
|
|
694
|
+
"""
|
|
695
|
+
return pulumi.get(self, "sub_key")
|
|
696
|
+
|
|
697
|
+
@sub_key.setter
|
|
698
|
+
def sub_key(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
699
|
+
pulumi.set(self, "sub_key", value)
|
|
700
|
+
|
|
701
|
+
|
|
702
|
+
if not MYPY:
|
|
703
|
+
class DefenseRuleConfigConditionArgsDict(TypedDict):
|
|
704
|
+
key: NotRequired[pulumi.Input[_builtins.str]]
|
|
705
|
+
"""
|
|
706
|
+
Match field. Valid values: URL, URLPath, IP, Referer, User-Agent, Params, Cookie, Content-Type, Content-Length, X-Forwarded-For, Post-Body, Http-Method, Header, Host, HttpCode, and SensitiveInfo.
|
|
707
|
+
|
|
708
|
+
> **NOTE:** Support for matching fields is based on the display in the WAF console. HttpCode and SensitiveInfo are the matching fields supported by the information leakage prevention rule (dlp).
|
|
709
|
+
"""
|
|
710
|
+
op_value: NotRequired[pulumi.Input[_builtins.str]]
|
|
711
|
+
"""
|
|
712
|
+
Logical character. Value:
|
|
713
|
+
- not-contain: does not contain.
|
|
714
|
+
- contain: Indicates to contain.
|
|
715
|
+
- none: It does not exist.
|
|
716
|
+
- ne: means not equal.
|
|
717
|
+
- eq: means equal.
|
|
718
|
+
- lt: indicates that the value is less.
|
|
719
|
+
- gt: indicates that the value is greater.
|
|
720
|
+
- len-lt: indicates that the length is less.
|
|
721
|
+
- len-eq: indicates that the length is equal.
|
|
722
|
+
- len-gt: indicates that the length is greater.
|
|
723
|
+
- not-match: indicates a mismatch.
|
|
724
|
+
- match-one: means equal to one of the multiple values.
|
|
725
|
+
- all-not-match: means not equal to any value.
|
|
726
|
+
- all-not-contain: does not contain any value.
|
|
727
|
+
- contain-one: Indicates that one of the multiple values is contained.
|
|
728
|
+
- not-regex: Indicates a regular mismatch.
|
|
729
|
+
- regex: Indicates a regular match.
|
|
730
|
+
- all-not-regex: indicates that the regular expressions do not match.
|
|
731
|
+
- regex-one: Represents a regular match for one of them.
|
|
732
|
+
- prefix-match: Indicates a prefix match.
|
|
733
|
+
- suffix-match: indicates a suffix match.
|
|
734
|
+
- mpty: Indicates that the content is empty.
|
|
735
|
+
- exists: Indicates that the field exists.
|
|
736
|
+
- inl: indicates in the list.
|
|
737
|
+
|
|
738
|
+
> **NOTE:** Not all logical characters (opvalues) can be configured for the match field (key) of each custom rule. For the logical characters supported by different matching fields, please refer to the association relationship between the matching fields and the logical characters in the custom rules of the WAF console.
|
|
739
|
+
"""
|
|
740
|
+
sub_key: NotRequired[pulumi.Input[_builtins.str]]
|
|
741
|
+
"""
|
|
742
|
+
The characteristics of the statistical object. When the Target parameter is set to cookie, header, or queryarg, you must specify the corresponding information in the Subkey parameter.
|
|
743
|
+
"""
|
|
744
|
+
values: NotRequired[pulumi.Input[_builtins.str]]
|
|
745
|
+
"""
|
|
746
|
+
Match the content and fill in the corresponding content as needed.
|
|
747
|
+
|
|
748
|
+
> **NOTE:** The value range of the logical (opValue) and matching content (values) parameters in the matching condition parameter is related to the specified matching field (key).
|
|
749
|
+
"""
|
|
750
|
+
elif False:
|
|
751
|
+
DefenseRuleConfigConditionArgsDict: TypeAlias = Mapping[str, Any]
|
|
752
|
+
|
|
753
|
+
@pulumi.input_type
|
|
754
|
+
class DefenseRuleConfigConditionArgs:
|
|
755
|
+
def __init__(__self__, *,
|
|
756
|
+
key: Optional[pulumi.Input[_builtins.str]] = None,
|
|
757
|
+
op_value: Optional[pulumi.Input[_builtins.str]] = None,
|
|
758
|
+
sub_key: Optional[pulumi.Input[_builtins.str]] = None,
|
|
759
|
+
values: Optional[pulumi.Input[_builtins.str]] = None):
|
|
760
|
+
"""
|
|
761
|
+
:param pulumi.Input[_builtins.str] key: Match field. Valid values: URL, URLPath, IP, Referer, User-Agent, Params, Cookie, Content-Type, Content-Length, X-Forwarded-For, Post-Body, Http-Method, Header, Host, HttpCode, and SensitiveInfo.
|
|
762
|
+
|
|
763
|
+
> **NOTE:** Support for matching fields is based on the display in the WAF console. HttpCode and SensitiveInfo are the matching fields supported by the information leakage prevention rule (dlp).
|
|
764
|
+
:param pulumi.Input[_builtins.str] op_value: Logical character. Value:
|
|
765
|
+
- not-contain: does not contain.
|
|
766
|
+
- contain: Indicates to contain.
|
|
767
|
+
- none: It does not exist.
|
|
768
|
+
- ne: means not equal.
|
|
769
|
+
- eq: means equal.
|
|
770
|
+
- lt: indicates that the value is less.
|
|
771
|
+
- gt: indicates that the value is greater.
|
|
772
|
+
- len-lt: indicates that the length is less.
|
|
773
|
+
- len-eq: indicates that the length is equal.
|
|
774
|
+
- len-gt: indicates that the length is greater.
|
|
775
|
+
- not-match: indicates a mismatch.
|
|
776
|
+
- match-one: means equal to one of the multiple values.
|
|
777
|
+
- all-not-match: means not equal to any value.
|
|
778
|
+
- all-not-contain: does not contain any value.
|
|
779
|
+
- contain-one: Indicates that one of the multiple values is contained.
|
|
780
|
+
- not-regex: Indicates a regular mismatch.
|
|
781
|
+
- regex: Indicates a regular match.
|
|
782
|
+
- all-not-regex: indicates that the regular expressions do not match.
|
|
783
|
+
- regex-one: Represents a regular match for one of them.
|
|
784
|
+
- prefix-match: Indicates a prefix match.
|
|
785
|
+
- suffix-match: indicates a suffix match.
|
|
786
|
+
- mpty: Indicates that the content is empty.
|
|
787
|
+
- exists: Indicates that the field exists.
|
|
788
|
+
- inl: indicates in the list.
|
|
789
|
+
|
|
790
|
+
> **NOTE:** Not all logical characters (opvalues) can be configured for the match field (key) of each custom rule. For the logical characters supported by different matching fields, please refer to the association relationship between the matching fields and the logical characters in the custom rules of the WAF console.
|
|
791
|
+
:param pulumi.Input[_builtins.str] sub_key: The characteristics of the statistical object. When the Target parameter is set to cookie, header, or queryarg, you must specify the corresponding information in the Subkey parameter.
|
|
792
|
+
:param pulumi.Input[_builtins.str] values: Match the content and fill in the corresponding content as needed.
|
|
793
|
+
|
|
794
|
+
> **NOTE:** The value range of the logical (opValue) and matching content (values) parameters in the matching condition parameter is related to the specified matching field (key).
|
|
795
|
+
"""
|
|
796
|
+
if key is not None:
|
|
797
|
+
pulumi.set(__self__, "key", key)
|
|
798
|
+
if op_value is not None:
|
|
799
|
+
pulumi.set(__self__, "op_value", op_value)
|
|
800
|
+
if sub_key is not None:
|
|
801
|
+
pulumi.set(__self__, "sub_key", sub_key)
|
|
802
|
+
if values is not None:
|
|
803
|
+
pulumi.set(__self__, "values", values)
|
|
804
|
+
|
|
805
|
+
@_builtins.property
|
|
806
|
+
@pulumi.getter
|
|
807
|
+
def key(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
808
|
+
"""
|
|
809
|
+
Match field. Valid values: URL, URLPath, IP, Referer, User-Agent, Params, Cookie, Content-Type, Content-Length, X-Forwarded-For, Post-Body, Http-Method, Header, Host, HttpCode, and SensitiveInfo.
|
|
810
|
+
|
|
811
|
+
> **NOTE:** Support for matching fields is based on the display in the WAF console. HttpCode and SensitiveInfo are the matching fields supported by the information leakage prevention rule (dlp).
|
|
812
|
+
"""
|
|
813
|
+
return pulumi.get(self, "key")
|
|
814
|
+
|
|
815
|
+
@key.setter
|
|
816
|
+
def key(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
817
|
+
pulumi.set(self, "key", value)
|
|
818
|
+
|
|
819
|
+
@_builtins.property
|
|
820
|
+
@pulumi.getter(name="opValue")
|
|
821
|
+
def op_value(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
822
|
+
"""
|
|
823
|
+
Logical character. Value:
|
|
824
|
+
- not-contain: does not contain.
|
|
825
|
+
- contain: Indicates to contain.
|
|
826
|
+
- none: It does not exist.
|
|
827
|
+
- ne: means not equal.
|
|
828
|
+
- eq: means equal.
|
|
829
|
+
- lt: indicates that the value is less.
|
|
830
|
+
- gt: indicates that the value is greater.
|
|
831
|
+
- len-lt: indicates that the length is less.
|
|
832
|
+
- len-eq: indicates that the length is equal.
|
|
833
|
+
- len-gt: indicates that the length is greater.
|
|
834
|
+
- not-match: indicates a mismatch.
|
|
835
|
+
- match-one: means equal to one of the multiple values.
|
|
836
|
+
- all-not-match: means not equal to any value.
|
|
837
|
+
- all-not-contain: does not contain any value.
|
|
838
|
+
- contain-one: Indicates that one of the multiple values is contained.
|
|
839
|
+
- not-regex: Indicates a regular mismatch.
|
|
840
|
+
- regex: Indicates a regular match.
|
|
841
|
+
- all-not-regex: indicates that the regular expressions do not match.
|
|
842
|
+
- regex-one: Represents a regular match for one of them.
|
|
843
|
+
- prefix-match: Indicates a prefix match.
|
|
844
|
+
- suffix-match: indicates a suffix match.
|
|
845
|
+
- mpty: Indicates that the content is empty.
|
|
846
|
+
- exists: Indicates that the field exists.
|
|
847
|
+
- inl: indicates in the list.
|
|
848
|
+
|
|
849
|
+
> **NOTE:** Not all logical characters (opvalues) can be configured for the match field (key) of each custom rule. For the logical characters supported by different matching fields, please refer to the association relationship between the matching fields and the logical characters in the custom rules of the WAF console.
|
|
850
|
+
"""
|
|
851
|
+
return pulumi.get(self, "op_value")
|
|
852
|
+
|
|
853
|
+
@op_value.setter
|
|
854
|
+
def op_value(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
855
|
+
pulumi.set(self, "op_value", value)
|
|
856
|
+
|
|
857
|
+
@_builtins.property
|
|
858
|
+
@pulumi.getter(name="subKey")
|
|
859
|
+
def sub_key(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
860
|
+
"""
|
|
861
|
+
The characteristics of the statistical object. When the Target parameter is set to cookie, header, or queryarg, you must specify the corresponding information in the Subkey parameter.
|
|
862
|
+
"""
|
|
863
|
+
return pulumi.get(self, "sub_key")
|
|
864
|
+
|
|
865
|
+
@sub_key.setter
|
|
866
|
+
def sub_key(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
867
|
+
pulumi.set(self, "sub_key", value)
|
|
868
|
+
|
|
869
|
+
@_builtins.property
|
|
870
|
+
@pulumi.getter
|
|
871
|
+
def values(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
872
|
+
"""
|
|
873
|
+
Match the content and fill in the corresponding content as needed.
|
|
874
|
+
|
|
875
|
+
> **NOTE:** The value range of the logical (opValue) and matching content (values) parameters in the matching condition parameter is related to the specified matching field (key).
|
|
876
|
+
"""
|
|
877
|
+
return pulumi.get(self, "values")
|
|
878
|
+
|
|
879
|
+
@values.setter
|
|
880
|
+
def values(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
881
|
+
pulumi.set(self, "values", value)
|
|
882
|
+
|
|
883
|
+
|
|
884
|
+
if not MYPY:
|
|
885
|
+
class DefenseRuleConfigRateLimitArgsDict(TypedDict):
|
|
886
|
+
interval: NotRequired[pulumi.Input[_builtins.int]]
|
|
887
|
+
"""
|
|
888
|
+
The statistical period, in seconds. This parameter specifies the period during which access counts are collected, and works with the Threshold parameter.
|
|
889
|
+
Valid values: 1 to 1800 seconds.
|
|
890
|
+
"""
|
|
891
|
+
status: NotRequired[pulumi.Input['DefenseRuleConfigRateLimitStatusArgsDict']]
|
|
892
|
+
"""
|
|
893
|
+
Response code frequency setting. The description is in the JSON string format. See `status` below.
|
|
894
|
+
"""
|
|
895
|
+
sub_key: NotRequired[pulumi.Input[_builtins.str]]
|
|
896
|
+
"""
|
|
897
|
+
The characteristics of the statistical object. When the Target parameter is set to cookie, header, or queryarg, you must specify the corresponding information in the Subkey parameter.
|
|
898
|
+
"""
|
|
899
|
+
target: NotRequired[pulumi.Input[_builtins.str]]
|
|
900
|
+
"""
|
|
901
|
+
The type of the statistical object. Valid values:
|
|
902
|
+
- remote_addr (default): indicates IP.
|
|
903
|
+
- cookie.acw_tc: indicates session.
|
|
904
|
+
- header: indicates custom header. If you use custom headers, you must specify the headers in subkey.
|
|
905
|
+
- queryarg: indicates custom parameters. If you use custom parameters, you must specify the parameters in subkey.
|
|
906
|
+
- cookie: indicates custom cookies. If you use custom cookies, you must specify the cookies in subkey.
|
|
907
|
+
"""
|
|
908
|
+
threshold: NotRequired[pulumi.Input[_builtins.int]]
|
|
909
|
+
"""
|
|
910
|
+
The maximum number of requests that can be sent from a statistical object.
|
|
911
|
+
"""
|
|
912
|
+
ttl: NotRequired[pulumi.Input[_builtins.int]]
|
|
913
|
+
"""
|
|
914
|
+
The period of time during which you want the specified action to be valid. Unit: seconds.
|
|
915
|
+
Valid values: 60 to 86400.
|
|
916
|
+
"""
|
|
917
|
+
elif False:
|
|
918
|
+
DefenseRuleConfigRateLimitArgsDict: TypeAlias = Mapping[str, Any]
|
|
919
|
+
|
|
920
|
+
@pulumi.input_type
|
|
921
|
+
class DefenseRuleConfigRateLimitArgs:
|
|
922
|
+
def __init__(__self__, *,
|
|
923
|
+
interval: Optional[pulumi.Input[_builtins.int]] = None,
|
|
924
|
+
status: Optional[pulumi.Input['DefenseRuleConfigRateLimitStatusArgs']] = None,
|
|
925
|
+
sub_key: Optional[pulumi.Input[_builtins.str]] = None,
|
|
926
|
+
target: Optional[pulumi.Input[_builtins.str]] = None,
|
|
927
|
+
threshold: Optional[pulumi.Input[_builtins.int]] = None,
|
|
928
|
+
ttl: Optional[pulumi.Input[_builtins.int]] = None):
|
|
929
|
+
"""
|
|
930
|
+
:param pulumi.Input[_builtins.int] interval: The statistical period, in seconds. This parameter specifies the period during which access counts are collected, and works with the Threshold parameter.
|
|
931
|
+
Valid values: 1 to 1800 seconds.
|
|
932
|
+
:param pulumi.Input['DefenseRuleConfigRateLimitStatusArgs'] status: Response code frequency setting. The description is in the JSON string format. See `status` below.
|
|
933
|
+
:param pulumi.Input[_builtins.str] sub_key: The characteristics of the statistical object. When the Target parameter is set to cookie, header, or queryarg, you must specify the corresponding information in the Subkey parameter.
|
|
934
|
+
:param pulumi.Input[_builtins.str] target: The type of the statistical object. Valid values:
|
|
935
|
+
- remote_addr (default): indicates IP.
|
|
936
|
+
- cookie.acw_tc: indicates session.
|
|
937
|
+
- header: indicates custom header. If you use custom headers, you must specify the headers in subkey.
|
|
938
|
+
- queryarg: indicates custom parameters. If you use custom parameters, you must specify the parameters in subkey.
|
|
939
|
+
- cookie: indicates custom cookies. If you use custom cookies, you must specify the cookies in subkey.
|
|
940
|
+
:param pulumi.Input[_builtins.int] threshold: The maximum number of requests that can be sent from a statistical object.
|
|
941
|
+
:param pulumi.Input[_builtins.int] ttl: The period of time during which you want the specified action to be valid. Unit: seconds.
|
|
942
|
+
Valid values: 60 to 86400.
|
|
943
|
+
"""
|
|
944
|
+
if interval is not None:
|
|
945
|
+
pulumi.set(__self__, "interval", interval)
|
|
946
|
+
if status is not None:
|
|
947
|
+
pulumi.set(__self__, "status", status)
|
|
948
|
+
if sub_key is not None:
|
|
949
|
+
pulumi.set(__self__, "sub_key", sub_key)
|
|
950
|
+
if target is not None:
|
|
951
|
+
pulumi.set(__self__, "target", target)
|
|
952
|
+
if threshold is not None:
|
|
953
|
+
pulumi.set(__self__, "threshold", threshold)
|
|
954
|
+
if ttl is not None:
|
|
955
|
+
pulumi.set(__self__, "ttl", ttl)
|
|
956
|
+
|
|
957
|
+
@_builtins.property
|
|
958
|
+
@pulumi.getter
|
|
959
|
+
def interval(self) -> Optional[pulumi.Input[_builtins.int]]:
|
|
960
|
+
"""
|
|
961
|
+
The statistical period, in seconds. This parameter specifies the period during which access counts are collected, and works with the Threshold parameter.
|
|
962
|
+
Valid values: 1 to 1800 seconds.
|
|
963
|
+
"""
|
|
964
|
+
return pulumi.get(self, "interval")
|
|
965
|
+
|
|
966
|
+
@interval.setter
|
|
967
|
+
def interval(self, value: Optional[pulumi.Input[_builtins.int]]):
|
|
968
|
+
pulumi.set(self, "interval", value)
|
|
969
|
+
|
|
970
|
+
@_builtins.property
|
|
971
|
+
@pulumi.getter
|
|
972
|
+
def status(self) -> Optional[pulumi.Input['DefenseRuleConfigRateLimitStatusArgs']]:
|
|
973
|
+
"""
|
|
974
|
+
Response code frequency setting. The description is in the JSON string format. See `status` below.
|
|
975
|
+
"""
|
|
976
|
+
return pulumi.get(self, "status")
|
|
977
|
+
|
|
978
|
+
@status.setter
|
|
979
|
+
def status(self, value: Optional[pulumi.Input['DefenseRuleConfigRateLimitStatusArgs']]):
|
|
980
|
+
pulumi.set(self, "status", value)
|
|
981
|
+
|
|
982
|
+
@_builtins.property
|
|
983
|
+
@pulumi.getter(name="subKey")
|
|
984
|
+
def sub_key(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
985
|
+
"""
|
|
986
|
+
The characteristics of the statistical object. When the Target parameter is set to cookie, header, or queryarg, you must specify the corresponding information in the Subkey parameter.
|
|
987
|
+
"""
|
|
988
|
+
return pulumi.get(self, "sub_key")
|
|
989
|
+
|
|
990
|
+
@sub_key.setter
|
|
991
|
+
def sub_key(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
992
|
+
pulumi.set(self, "sub_key", value)
|
|
993
|
+
|
|
994
|
+
@_builtins.property
|
|
995
|
+
@pulumi.getter
|
|
996
|
+
def target(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
997
|
+
"""
|
|
998
|
+
The type of the statistical object. Valid values:
|
|
999
|
+
- remote_addr (default): indicates IP.
|
|
1000
|
+
- cookie.acw_tc: indicates session.
|
|
1001
|
+
- header: indicates custom header. If you use custom headers, you must specify the headers in subkey.
|
|
1002
|
+
- queryarg: indicates custom parameters. If you use custom parameters, you must specify the parameters in subkey.
|
|
1003
|
+
- cookie: indicates custom cookies. If you use custom cookies, you must specify the cookies in subkey.
|
|
1004
|
+
"""
|
|
1005
|
+
return pulumi.get(self, "target")
|
|
1006
|
+
|
|
1007
|
+
@target.setter
|
|
1008
|
+
def target(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
1009
|
+
pulumi.set(self, "target", value)
|
|
1010
|
+
|
|
1011
|
+
@_builtins.property
|
|
1012
|
+
@pulumi.getter
|
|
1013
|
+
def threshold(self) -> Optional[pulumi.Input[_builtins.int]]:
|
|
1014
|
+
"""
|
|
1015
|
+
The maximum number of requests that can be sent from a statistical object.
|
|
1016
|
+
"""
|
|
1017
|
+
return pulumi.get(self, "threshold")
|
|
1018
|
+
|
|
1019
|
+
@threshold.setter
|
|
1020
|
+
def threshold(self, value: Optional[pulumi.Input[_builtins.int]]):
|
|
1021
|
+
pulumi.set(self, "threshold", value)
|
|
1022
|
+
|
|
1023
|
+
@_builtins.property
|
|
1024
|
+
@pulumi.getter
|
|
1025
|
+
def ttl(self) -> Optional[pulumi.Input[_builtins.int]]:
|
|
1026
|
+
"""
|
|
1027
|
+
The period of time during which you want the specified action to be valid. Unit: seconds.
|
|
1028
|
+
Valid values: 60 to 86400.
|
|
1029
|
+
"""
|
|
1030
|
+
return pulumi.get(self, "ttl")
|
|
1031
|
+
|
|
1032
|
+
@ttl.setter
|
|
1033
|
+
def ttl(self, value: Optional[pulumi.Input[_builtins.int]]):
|
|
1034
|
+
pulumi.set(self, "ttl", value)
|
|
1035
|
+
|
|
1036
|
+
|
|
1037
|
+
if not MYPY:
|
|
1038
|
+
class DefenseRuleConfigRateLimitStatusArgsDict(TypedDict):
|
|
1039
|
+
code: NotRequired[pulumi.Input[_builtins.int]]
|
|
1040
|
+
"""
|
|
1041
|
+
Required. Specifies the response code.
|
|
1042
|
+
"""
|
|
1043
|
+
count: NotRequired[pulumi.Input[_builtins.int]]
|
|
1044
|
+
"""
|
|
1045
|
+
The threshold for the number of occurrences. When the number of occurrences of the specified HTTP status code exceeds this threshold, the protection rule is triggered. Valid values: 2 to 50000. You can specify Count or Ratio. You cannot specify the two parameters at the same time.
|
|
1046
|
+
"""
|
|
1047
|
+
ratio: NotRequired[pulumi.Input[_builtins.int]]
|
|
1048
|
+
"""
|
|
1049
|
+
The threshold for the proportion of occurrences (percentage). When the proportion of occurrences of the specified HTTP status code exceeds this threshold, the protection rule is triggered. Valid values: 1 to 100. You can specify Count or Ratio. You cannot specify the two parameters at the same time.
|
|
1050
|
+
"""
|
|
1051
|
+
elif False:
|
|
1052
|
+
DefenseRuleConfigRateLimitStatusArgsDict: TypeAlias = Mapping[str, Any]
|
|
1053
|
+
|
|
1054
|
+
@pulumi.input_type
|
|
1055
|
+
class DefenseRuleConfigRateLimitStatusArgs:
|
|
1056
|
+
def __init__(__self__, *,
|
|
1057
|
+
code: Optional[pulumi.Input[_builtins.int]] = None,
|
|
1058
|
+
count: Optional[pulumi.Input[_builtins.int]] = None,
|
|
1059
|
+
ratio: Optional[pulumi.Input[_builtins.int]] = None):
|
|
1060
|
+
"""
|
|
1061
|
+
:param pulumi.Input[_builtins.int] code: Required. Specifies the response code.
|
|
1062
|
+
:param pulumi.Input[_builtins.int] count: The threshold for the number of occurrences. When the number of occurrences of the specified HTTP status code exceeds this threshold, the protection rule is triggered. Valid values: 2 to 50000. You can specify Count or Ratio. You cannot specify the two parameters at the same time.
|
|
1063
|
+
:param pulumi.Input[_builtins.int] ratio: The threshold for the proportion of occurrences (percentage). When the proportion of occurrences of the specified HTTP status code exceeds this threshold, the protection rule is triggered. Valid values: 1 to 100. You can specify Count or Ratio. You cannot specify the two parameters at the same time.
|
|
1064
|
+
"""
|
|
1065
|
+
if code is not None:
|
|
1066
|
+
pulumi.set(__self__, "code", code)
|
|
1067
|
+
if count is not None:
|
|
1068
|
+
pulumi.set(__self__, "count", count)
|
|
1069
|
+
if ratio is not None:
|
|
1070
|
+
pulumi.set(__self__, "ratio", ratio)
|
|
1071
|
+
|
|
1072
|
+
@_builtins.property
|
|
1073
|
+
@pulumi.getter
|
|
1074
|
+
def code(self) -> Optional[pulumi.Input[_builtins.int]]:
|
|
1075
|
+
"""
|
|
1076
|
+
Required. Specifies the response code.
|
|
1077
|
+
"""
|
|
1078
|
+
return pulumi.get(self, "code")
|
|
1079
|
+
|
|
1080
|
+
@code.setter
|
|
1081
|
+
def code(self, value: Optional[pulumi.Input[_builtins.int]]):
|
|
1082
|
+
pulumi.set(self, "code", value)
|
|
1083
|
+
|
|
1084
|
+
@_builtins.property
|
|
1085
|
+
@pulumi.getter
|
|
1086
|
+
def count(self) -> Optional[pulumi.Input[_builtins.int]]:
|
|
1087
|
+
"""
|
|
1088
|
+
The threshold for the number of occurrences. When the number of occurrences of the specified HTTP status code exceeds this threshold, the protection rule is triggered. Valid values: 2 to 50000. You can specify Count or Ratio. You cannot specify the two parameters at the same time.
|
|
1089
|
+
"""
|
|
1090
|
+
return pulumi.get(self, "count")
|
|
1091
|
+
|
|
1092
|
+
@count.setter
|
|
1093
|
+
def count(self, value: Optional[pulumi.Input[_builtins.int]]):
|
|
1094
|
+
pulumi.set(self, "count", value)
|
|
1095
|
+
|
|
1096
|
+
@_builtins.property
|
|
1097
|
+
@pulumi.getter
|
|
1098
|
+
def ratio(self) -> Optional[pulumi.Input[_builtins.int]]:
|
|
1099
|
+
"""
|
|
1100
|
+
The threshold for the proportion of occurrences (percentage). When the proportion of occurrences of the specified HTTP status code exceeds this threshold, the protection rule is triggered. Valid values: 1 to 100. You can specify Count or Ratio. You cannot specify the two parameters at the same time.
|
|
1101
|
+
"""
|
|
1102
|
+
return pulumi.get(self, "ratio")
|
|
1103
|
+
|
|
1104
|
+
@ratio.setter
|
|
1105
|
+
def ratio(self, value: Optional[pulumi.Input[_builtins.int]]):
|
|
1106
|
+
pulumi.set(self, "ratio", value)
|
|
1107
|
+
|
|
1108
|
+
|
|
28
1109
|
if not MYPY:
|
|
29
1110
|
class DomainListenArgsDict(TypedDict):
|
|
30
1111
|
cert_id: NotRequired[pulumi.Input[_builtins.str]]
|
|
31
1112
|
"""
|
|
32
|
-
The ID of the certificate to be added. This parameter is used only if the value of
|
|
1113
|
+
The ID of the certificate to be added. This parameter is used only if the value of `HttpsPorts` is not empty (indicating that the domain name uses the HTTPS protocol).
|
|
33
1114
|
"""
|
|
34
1115
|
cipher_suite: NotRequired[pulumi.Input[_builtins.int]]
|
|
35
1116
|
"""
|
|
36
|
-
The type of
|
|
37
|
-
- **1**: indicates that all encryption suites are added.
|
|
38
|
-
- **2**: indicates that a strong encryption package is added. You can select this value only if the value of **tls_version** is `tlsv1.2`.
|
|
39
|
-
- **99**: indicates that a custom encryption suite is added.
|
|
1117
|
+
The type of the cipher suites that you want to add. This parameter is available only if you specify `HttpsPorts`. Valid values:
|
|
40
1118
|
"""
|
|
41
1119
|
custom_ciphers: NotRequired[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]
|
|
42
1120
|
"""
|
|
@@ -44,62 +1122,64 @@ if not MYPY:
|
|
|
44
1122
|
"""
|
|
45
1123
|
enable_tlsv3: NotRequired[pulumi.Input[_builtins.bool]]
|
|
46
1124
|
"""
|
|
47
|
-
Whether TSL1.3 version is supported. This parameter is used only if the value of
|
|
48
|
-
- **true**: indicates that TSL1.3 is supported.
|
|
49
|
-
- **false**: indicates that TSL1.3 is not supported.
|
|
1125
|
+
Whether TSL1.3 version is supported. This parameter is used only if the value of `HttpsPorts` is not empty (indicating that the domain name uses the HTTPS protocol). Value:
|
|
50
1126
|
"""
|
|
51
1127
|
exclusive_ip: NotRequired[pulumi.Input[_builtins.bool]]
|
|
52
1128
|
"""
|
|
53
|
-
|
|
54
|
-
- **true**: indicates that the exclusive IP address is enabled.
|
|
55
|
-
- **false** (default): indicates that exclusive IP address is not enabled.
|
|
1129
|
+
Specifies whether to enable the exclusive IP address feature. This parameter is available only if you set `IPv6Enabled` to false and `ProtectionResource` to `share`. Valid values:
|
|
56
1130
|
"""
|
|
57
1131
|
focus_https: NotRequired[pulumi.Input[_builtins.bool]]
|
|
58
1132
|
"""
|
|
59
|
-
|
|
60
|
-
- **true**: indicates that HTTPS forced redirection is enabled.
|
|
61
|
-
- **false**: indicates that HTTPS forced redirection is not enabled.
|
|
1133
|
+
Specifies whether to enable force redirect from HTTP to HTTPS for received requests. This parameter is available only if you specify `HttpsPorts` and leave `HttpPorts` empty. Valid values:
|
|
62
1134
|
"""
|
|
63
1135
|
http2_enabled: NotRequired[pulumi.Input[_builtins.bool]]
|
|
64
1136
|
"""
|
|
65
|
-
|
|
66
|
-
- **true:** indicates that HTTP2 is enabled.
|
|
67
|
-
- **false** (default): indicates that HTTP2 is not enabled.
|
|
1137
|
+
Specifies whether to enable HTTP/2. This parameter is available only if you specify `HttpsPorts`. Valid values:
|
|
68
1138
|
"""
|
|
69
1139
|
http_ports: NotRequired[pulumi.Input[Sequence[pulumi.Input[_builtins.int]]]]
|
|
70
1140
|
"""
|
|
71
|
-
The
|
|
1141
|
+
The HTTP listener ports. Specify the value in the \\[**port1,port2,...**] format.
|
|
72
1142
|
"""
|
|
73
1143
|
https_ports: NotRequired[pulumi.Input[Sequence[pulumi.Input[_builtins.int]]]]
|
|
74
1144
|
"""
|
|
75
|
-
The
|
|
1145
|
+
The HTTPS listener ports. Specify the value in the \\[**port1,port2,...**] format.
|
|
76
1146
|
"""
|
|
77
1147
|
ipv6_enabled: NotRequired[pulumi.Input[_builtins.bool]]
|
|
78
1148
|
"""
|
|
79
|
-
|
|
80
|
-
- **true**: indicates that IPv6 is enabled.
|
|
81
|
-
- **false** (default): indicates that IPv6 is not enabled.
|
|
1149
|
+
Specifies whether to enable IPv6 protection. Valid values:
|
|
82
1150
|
"""
|
|
83
1151
|
protection_resource: NotRequired[pulumi.Input[_builtins.str]]
|
|
84
1152
|
"""
|
|
85
|
-
The type of protection resource
|
|
86
|
-
|
|
87
|
-
|
|
1153
|
+
The type of the protection resource. Valid values:
|
|
1154
|
+
"""
|
|
1155
|
+
sm2_access_only: NotRequired[pulumi.Input[_builtins.bool]]
|
|
1156
|
+
"""
|
|
1157
|
+
Specifies whether to allow access only from SM certificate-based clients. This parameter is available only if you set SM2Enabled to true.
|
|
1158
|
+
|
|
1159
|
+
- true
|
|
1160
|
+
- false
|
|
1161
|
+
"""
|
|
1162
|
+
sm2_cert_id: NotRequired[pulumi.Input[_builtins.str]]
|
|
1163
|
+
"""
|
|
1164
|
+
The ID of the SM certificate that you want to add. This parameter is available only if you set SM2Enabled to true.
|
|
1165
|
+
"""
|
|
1166
|
+
sm2_enabled: NotRequired[pulumi.Input[_builtins.bool]]
|
|
1167
|
+
"""
|
|
1168
|
+
Specifies whether to add an SM certificate.
|
|
88
1169
|
"""
|
|
89
1170
|
tls_version: NotRequired[pulumi.Input[_builtins.str]]
|
|
90
1171
|
"""
|
|
91
|
-
The version of TLS to add. This parameter is used only if the value of
|
|
1172
|
+
The version of TLS to add. This parameter is used only if the value of `HttpsPorts` is not empty (indicating that the domain name uses the HTTPS protocol). Value:
|
|
92
1173
|
"""
|
|
93
1174
|
xff_header_mode: NotRequired[pulumi.Input[_builtins.int]]
|
|
94
1175
|
"""
|
|
95
|
-
|
|
96
|
-
- **0** (default): indicates that the client has not forwarded the traffic to WAF through other layer -7 agents.
|
|
97
|
-
- **1**: indicates that the first value of the X-Forwarded-For(XFF) field in the WAF read request header is used as the client IP address.
|
|
98
|
-
- **2**: indicates that the custom field value set by you in the WAF read request header is used as the client IP address.
|
|
1176
|
+
The method that is used to obtain the originating IP address of a client. Valid values:
|
|
99
1177
|
"""
|
|
100
1178
|
xff_headers: NotRequired[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]
|
|
101
1179
|
"""
|
|
102
|
-
|
|
1180
|
+
The custom header fields that are used to obtain the originating IP address of a client. Specify the value in the **\\["header1","header2",...]** format.
|
|
1181
|
+
|
|
1182
|
+
> **NOTE:** This parameter is required only if you set `XffHeaderMode` to 2.
|
|
103
1183
|
"""
|
|
104
1184
|
elif False:
|
|
105
1185
|
DomainListenArgsDict: TypeAlias = Mapping[str, Any]
|
|
@@ -118,42 +1198,35 @@ class DomainListenArgs:
|
|
|
118
1198
|
https_ports: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.int]]]] = None,
|
|
119
1199
|
ipv6_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
120
1200
|
protection_resource: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1201
|
+
sm2_access_only: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
1202
|
+
sm2_cert_id: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1203
|
+
sm2_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
121
1204
|
tls_version: Optional[pulumi.Input[_builtins.str]] = None,
|
|
122
1205
|
xff_header_mode: Optional[pulumi.Input[_builtins.int]] = None,
|
|
123
1206
|
xff_headers: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None):
|
|
124
1207
|
"""
|
|
125
|
-
:param pulumi.Input[_builtins.str] cert_id: The ID of the certificate to be added. This parameter is used only if the value of
|
|
126
|
-
:param pulumi.Input[_builtins.int] cipher_suite: The type of
|
|
127
|
-
- **1**: indicates that all encryption suites are added.
|
|
128
|
-
- **2**: indicates that a strong encryption package is added. You can select this value only if the value of **tls_version** is `tlsv1.2`.
|
|
129
|
-
- **99**: indicates that a custom encryption suite is added.
|
|
1208
|
+
:param pulumi.Input[_builtins.str] cert_id: The ID of the certificate to be added. This parameter is used only if the value of `HttpsPorts` is not empty (indicating that the domain name uses the HTTPS protocol).
|
|
1209
|
+
:param pulumi.Input[_builtins.int] cipher_suite: The type of the cipher suites that you want to add. This parameter is available only if you specify `HttpsPorts`. Valid values:
|
|
130
1210
|
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] custom_ciphers: The specific custom encryption suite to add.
|
|
131
|
-
:param pulumi.Input[_builtins.bool] enable_tlsv3: Whether TSL1.3 version is supported. This parameter is used only if the value of
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
:param pulumi.Input[_builtins.bool]
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
:param pulumi.Input[_builtins.bool]
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
-
|
|
142
|
-
-
|
|
143
|
-
:param pulumi.Input[
|
|
144
|
-
:param pulumi.Input[
|
|
145
|
-
:param pulumi.Input[_builtins.
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
- **gslb**: indicates that the shared cluster intelligent load balancing is used.
|
|
151
|
-
:param pulumi.Input[_builtins.str] tls_version: The version of TLS to add. This parameter is used only if the value of **https_ports** is not empty (indicating that the domain name uses the HTTPS protocol). Value: **tlsv1**, **tlsv1.1**, **tlsv1.2**.
|
|
152
|
-
:param pulumi.Input[_builtins.int] xff_header_mode: WAF obtains the real IP address of the client. Value:
|
|
153
|
-
- **0** (default): indicates that the client has not forwarded the traffic to WAF through other layer -7 agents.
|
|
154
|
-
- **1**: indicates that the first value of the X-Forwarded-For(XFF) field in the WAF read request header is used as the client IP address.
|
|
155
|
-
- **2**: indicates that the custom field value set by you in the WAF read request header is used as the client IP address.
|
|
156
|
-
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] xff_headers: Set the list of custom fields used to obtain the client IP address.
|
|
1211
|
+
:param pulumi.Input[_builtins.bool] enable_tlsv3: Whether TSL1.3 version is supported. This parameter is used only if the value of `HttpsPorts` is not empty (indicating that the domain name uses the HTTPS protocol). Value:
|
|
1212
|
+
:param pulumi.Input[_builtins.bool] exclusive_ip: Specifies whether to enable the exclusive IP address feature. This parameter is available only if you set `IPv6Enabled` to false and `ProtectionResource` to `share`. Valid values:
|
|
1213
|
+
:param pulumi.Input[_builtins.bool] focus_https: Specifies whether to enable force redirect from HTTP to HTTPS for received requests. This parameter is available only if you specify `HttpsPorts` and leave `HttpPorts` empty. Valid values:
|
|
1214
|
+
:param pulumi.Input[_builtins.bool] http2_enabled: Specifies whether to enable HTTP/2. This parameter is available only if you specify `HttpsPorts`. Valid values:
|
|
1215
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.int]]] http_ports: The HTTP listener ports. Specify the value in the \\[**port1,port2,...**] format.
|
|
1216
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.int]]] https_ports: The HTTPS listener ports. Specify the value in the \\[**port1,port2,...**] format.
|
|
1217
|
+
:param pulumi.Input[_builtins.bool] ipv6_enabled: Specifies whether to enable IPv6 protection. Valid values:
|
|
1218
|
+
:param pulumi.Input[_builtins.str] protection_resource: The type of the protection resource. Valid values:
|
|
1219
|
+
:param pulumi.Input[_builtins.bool] sm2_access_only: Specifies whether to allow access only from SM certificate-based clients. This parameter is available only if you set SM2Enabled to true.
|
|
1220
|
+
|
|
1221
|
+
- true
|
|
1222
|
+
- false
|
|
1223
|
+
:param pulumi.Input[_builtins.str] sm2_cert_id: The ID of the SM certificate that you want to add. This parameter is available only if you set SM2Enabled to true.
|
|
1224
|
+
:param pulumi.Input[_builtins.bool] sm2_enabled: Specifies whether to add an SM certificate.
|
|
1225
|
+
:param pulumi.Input[_builtins.str] tls_version: The version of TLS to add. This parameter is used only if the value of `HttpsPorts` is not empty (indicating that the domain name uses the HTTPS protocol). Value:
|
|
1226
|
+
:param pulumi.Input[_builtins.int] xff_header_mode: The method that is used to obtain the originating IP address of a client. Valid values:
|
|
1227
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] xff_headers: The custom header fields that are used to obtain the originating IP address of a client. Specify the value in the **\\["header1","header2",...]** format.
|
|
1228
|
+
|
|
1229
|
+
> **NOTE:** This parameter is required only if you set `XffHeaderMode` to 2.
|
|
157
1230
|
"""
|
|
158
1231
|
if cert_id is not None:
|
|
159
1232
|
pulumi.set(__self__, "cert_id", cert_id)
|
|
@@ -177,6 +1250,12 @@ class DomainListenArgs:
|
|
|
177
1250
|
pulumi.set(__self__, "ipv6_enabled", ipv6_enabled)
|
|
178
1251
|
if protection_resource is not None:
|
|
179
1252
|
pulumi.set(__self__, "protection_resource", protection_resource)
|
|
1253
|
+
if sm2_access_only is not None:
|
|
1254
|
+
pulumi.set(__self__, "sm2_access_only", sm2_access_only)
|
|
1255
|
+
if sm2_cert_id is not None:
|
|
1256
|
+
pulumi.set(__self__, "sm2_cert_id", sm2_cert_id)
|
|
1257
|
+
if sm2_enabled is not None:
|
|
1258
|
+
pulumi.set(__self__, "sm2_enabled", sm2_enabled)
|
|
180
1259
|
if tls_version is not None:
|
|
181
1260
|
pulumi.set(__self__, "tls_version", tls_version)
|
|
182
1261
|
if xff_header_mode is not None:
|
|
@@ -188,7 +1267,7 @@ class DomainListenArgs:
|
|
|
188
1267
|
@pulumi.getter(name="certId")
|
|
189
1268
|
def cert_id(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
190
1269
|
"""
|
|
191
|
-
The ID of the certificate to be added. This parameter is used only if the value of
|
|
1270
|
+
The ID of the certificate to be added. This parameter is used only if the value of `HttpsPorts` is not empty (indicating that the domain name uses the HTTPS protocol).
|
|
192
1271
|
"""
|
|
193
1272
|
return pulumi.get(self, "cert_id")
|
|
194
1273
|
|
|
@@ -200,10 +1279,7 @@ class DomainListenArgs:
|
|
|
200
1279
|
@pulumi.getter(name="cipherSuite")
|
|
201
1280
|
def cipher_suite(self) -> Optional[pulumi.Input[_builtins.int]]:
|
|
202
1281
|
"""
|
|
203
|
-
The type of
|
|
204
|
-
- **1**: indicates that all encryption suites are added.
|
|
205
|
-
- **2**: indicates that a strong encryption package is added. You can select this value only if the value of **tls_version** is `tlsv1.2`.
|
|
206
|
-
- **99**: indicates that a custom encryption suite is added.
|
|
1282
|
+
The type of the cipher suites that you want to add. This parameter is available only if you specify `HttpsPorts`. Valid values:
|
|
207
1283
|
"""
|
|
208
1284
|
return pulumi.get(self, "cipher_suite")
|
|
209
1285
|
|
|
@@ -227,9 +1303,7 @@ class DomainListenArgs:
|
|
|
227
1303
|
@pulumi.getter(name="enableTlsv3")
|
|
228
1304
|
def enable_tlsv3(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
229
1305
|
"""
|
|
230
|
-
Whether TSL1.3 version is supported. This parameter is used only if the value of
|
|
231
|
-
- **true**: indicates that TSL1.3 is supported.
|
|
232
|
-
- **false**: indicates that TSL1.3 is not supported.
|
|
1306
|
+
Whether TSL1.3 version is supported. This parameter is used only if the value of `HttpsPorts` is not empty (indicating that the domain name uses the HTTPS protocol). Value:
|
|
233
1307
|
"""
|
|
234
1308
|
return pulumi.get(self, "enable_tlsv3")
|
|
235
1309
|
|
|
@@ -241,9 +1315,7 @@ class DomainListenArgs:
|
|
|
241
1315
|
@pulumi.getter(name="exclusiveIp")
|
|
242
1316
|
def exclusive_ip(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
243
1317
|
"""
|
|
244
|
-
|
|
245
|
-
- **true**: indicates that the exclusive IP address is enabled.
|
|
246
|
-
- **false** (default): indicates that exclusive IP address is not enabled.
|
|
1318
|
+
Specifies whether to enable the exclusive IP address feature. This parameter is available only if you set `IPv6Enabled` to false and `ProtectionResource` to `share`. Valid values:
|
|
247
1319
|
"""
|
|
248
1320
|
return pulumi.get(self, "exclusive_ip")
|
|
249
1321
|
|
|
@@ -255,9 +1327,7 @@ class DomainListenArgs:
|
|
|
255
1327
|
@pulumi.getter(name="focusHttps")
|
|
256
1328
|
def focus_https(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
257
1329
|
"""
|
|
258
|
-
|
|
259
|
-
- **true**: indicates that HTTPS forced redirection is enabled.
|
|
260
|
-
- **false**: indicates that HTTPS forced redirection is not enabled.
|
|
1330
|
+
Specifies whether to enable force redirect from HTTP to HTTPS for received requests. This parameter is available only if you specify `HttpsPorts` and leave `HttpPorts` empty. Valid values:
|
|
261
1331
|
"""
|
|
262
1332
|
return pulumi.get(self, "focus_https")
|
|
263
1333
|
|
|
@@ -269,9 +1339,7 @@ class DomainListenArgs:
|
|
|
269
1339
|
@pulumi.getter(name="http2Enabled")
|
|
270
1340
|
def http2_enabled(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
271
1341
|
"""
|
|
272
|
-
|
|
273
|
-
- **true:** indicates that HTTP2 is enabled.
|
|
274
|
-
- **false** (default): indicates that HTTP2 is not enabled.
|
|
1342
|
+
Specifies whether to enable HTTP/2. This parameter is available only if you specify `HttpsPorts`. Valid values:
|
|
275
1343
|
"""
|
|
276
1344
|
return pulumi.get(self, "http2_enabled")
|
|
277
1345
|
|
|
@@ -283,7 +1351,7 @@ class DomainListenArgs:
|
|
|
283
1351
|
@pulumi.getter(name="httpPorts")
|
|
284
1352
|
def http_ports(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.int]]]]:
|
|
285
1353
|
"""
|
|
286
|
-
The
|
|
1354
|
+
The HTTP listener ports. Specify the value in the \\[**port1,port2,...**] format.
|
|
287
1355
|
"""
|
|
288
1356
|
return pulumi.get(self, "http_ports")
|
|
289
1357
|
|
|
@@ -295,7 +1363,7 @@ class DomainListenArgs:
|
|
|
295
1363
|
@pulumi.getter(name="httpsPorts")
|
|
296
1364
|
def https_ports(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.int]]]]:
|
|
297
1365
|
"""
|
|
298
|
-
The
|
|
1366
|
+
The HTTPS listener ports. Specify the value in the \\[**port1,port2,...**] format.
|
|
299
1367
|
"""
|
|
300
1368
|
return pulumi.get(self, "https_ports")
|
|
301
1369
|
|
|
@@ -307,9 +1375,7 @@ class DomainListenArgs:
|
|
|
307
1375
|
@pulumi.getter(name="ipv6Enabled")
|
|
308
1376
|
def ipv6_enabled(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
309
1377
|
"""
|
|
310
|
-
|
|
311
|
-
- **true**: indicates that IPv6 is enabled.
|
|
312
|
-
- **false** (default): indicates that IPv6 is not enabled.
|
|
1378
|
+
Specifies whether to enable IPv6 protection. Valid values:
|
|
313
1379
|
"""
|
|
314
1380
|
return pulumi.get(self, "ipv6_enabled")
|
|
315
1381
|
|
|
@@ -321,9 +1387,7 @@ class DomainListenArgs:
|
|
|
321
1387
|
@pulumi.getter(name="protectionResource")
|
|
322
1388
|
def protection_resource(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
323
1389
|
"""
|
|
324
|
-
The type of protection resource
|
|
325
|
-
- **share** (default): indicates that a shared cluster is used.
|
|
326
|
-
- **gslb**: indicates that the shared cluster intelligent load balancing is used.
|
|
1390
|
+
The type of the protection resource. Valid values:
|
|
327
1391
|
"""
|
|
328
1392
|
return pulumi.get(self, "protection_resource")
|
|
329
1393
|
|
|
@@ -331,11 +1395,50 @@ class DomainListenArgs:
|
|
|
331
1395
|
def protection_resource(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
332
1396
|
pulumi.set(self, "protection_resource", value)
|
|
333
1397
|
|
|
1398
|
+
@_builtins.property
|
|
1399
|
+
@pulumi.getter(name="sm2AccessOnly")
|
|
1400
|
+
def sm2_access_only(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
1401
|
+
"""
|
|
1402
|
+
Specifies whether to allow access only from SM certificate-based clients. This parameter is available only if you set SM2Enabled to true.
|
|
1403
|
+
|
|
1404
|
+
- true
|
|
1405
|
+
- false
|
|
1406
|
+
"""
|
|
1407
|
+
return pulumi.get(self, "sm2_access_only")
|
|
1408
|
+
|
|
1409
|
+
@sm2_access_only.setter
|
|
1410
|
+
def sm2_access_only(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
|
1411
|
+
pulumi.set(self, "sm2_access_only", value)
|
|
1412
|
+
|
|
1413
|
+
@_builtins.property
|
|
1414
|
+
@pulumi.getter(name="sm2CertId")
|
|
1415
|
+
def sm2_cert_id(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
1416
|
+
"""
|
|
1417
|
+
The ID of the SM certificate that you want to add. This parameter is available only if you set SM2Enabled to true.
|
|
1418
|
+
"""
|
|
1419
|
+
return pulumi.get(self, "sm2_cert_id")
|
|
1420
|
+
|
|
1421
|
+
@sm2_cert_id.setter
|
|
1422
|
+
def sm2_cert_id(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
1423
|
+
pulumi.set(self, "sm2_cert_id", value)
|
|
1424
|
+
|
|
1425
|
+
@_builtins.property
|
|
1426
|
+
@pulumi.getter(name="sm2Enabled")
|
|
1427
|
+
def sm2_enabled(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
1428
|
+
"""
|
|
1429
|
+
Specifies whether to add an SM certificate.
|
|
1430
|
+
"""
|
|
1431
|
+
return pulumi.get(self, "sm2_enabled")
|
|
1432
|
+
|
|
1433
|
+
@sm2_enabled.setter
|
|
1434
|
+
def sm2_enabled(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
|
1435
|
+
pulumi.set(self, "sm2_enabled", value)
|
|
1436
|
+
|
|
334
1437
|
@_builtins.property
|
|
335
1438
|
@pulumi.getter(name="tlsVersion")
|
|
336
1439
|
def tls_version(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
337
1440
|
"""
|
|
338
|
-
The version of TLS to add. This parameter is used only if the value of
|
|
1441
|
+
The version of TLS to add. This parameter is used only if the value of `HttpsPorts` is not empty (indicating that the domain name uses the HTTPS protocol). Value:
|
|
339
1442
|
"""
|
|
340
1443
|
return pulumi.get(self, "tls_version")
|
|
341
1444
|
|
|
@@ -347,10 +1450,7 @@ class DomainListenArgs:
|
|
|
347
1450
|
@pulumi.getter(name="xffHeaderMode")
|
|
348
1451
|
def xff_header_mode(self) -> Optional[pulumi.Input[_builtins.int]]:
|
|
349
1452
|
"""
|
|
350
|
-
|
|
351
|
-
- **0** (default): indicates that the client has not forwarded the traffic to WAF through other layer -7 agents.
|
|
352
|
-
- **1**: indicates that the first value of the X-Forwarded-For(XFF) field in the WAF read request header is used as the client IP address.
|
|
353
|
-
- **2**: indicates that the custom field value set by you in the WAF read request header is used as the client IP address.
|
|
1453
|
+
The method that is used to obtain the originating IP address of a client. Valid values:
|
|
354
1454
|
"""
|
|
355
1455
|
return pulumi.get(self, "xff_header_mode")
|
|
356
1456
|
|
|
@@ -362,7 +1462,9 @@ class DomainListenArgs:
|
|
|
362
1462
|
@pulumi.getter(name="xffHeaders")
|
|
363
1463
|
def xff_headers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
|
|
364
1464
|
"""
|
|
365
|
-
|
|
1465
|
+
The custom header fields that are used to obtain the originating IP address of a client. Specify the value in the **\\["header1","header2",...]** format.
|
|
1466
|
+
|
|
1467
|
+
> **NOTE:** This parameter is required only if you set `XffHeaderMode` to 2.
|
|
366
1468
|
"""
|
|
367
1469
|
return pulumi.get(self, "xff_headers")
|
|
368
1470
|
|
|
@@ -375,69 +1477,75 @@ if not MYPY:
|
|
|
375
1477
|
class DomainRedirectArgsDict(TypedDict):
|
|
376
1478
|
loadbalance: pulumi.Input[_builtins.str]
|
|
377
1479
|
"""
|
|
378
|
-
The load balancing algorithm
|
|
379
|
-
- **iphash**: indicates the IPHash algorithm.
|
|
380
|
-
- **roundRobin**: indicates the polling algorithm.
|
|
381
|
-
- **leastTime**: indicates the Least Time algorithm.
|
|
382
|
-
- This value can be selected only if the value of **protection_resource** is **gslb** (indicating that the protected resource type uses shared cluster intelligent load balancing).
|
|
1480
|
+
The load balancing algorithm that you want to use to forward requests to the origin server. Valid values:
|
|
383
1481
|
"""
|
|
384
1482
|
backends: NotRequired[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]
|
|
385
1483
|
"""
|
|
386
|
-
The IP
|
|
1484
|
+
The IP addresses or domain names of the origin server. You cannot specify both IP addresses and domain names. If you specify domain names, the domain names can be resolved only to IPv4 addresses.
|
|
1485
|
+
|
|
1486
|
+
- If you specify IP addresses, specify the value in the **\\["ip1","ip2",...]** format. You can enter up to 20 IP addresses.
|
|
1487
|
+
- If you specify domain names, specify the value in the **\\["domain"]** format. You can enter up to 20 domain names.
|
|
1488
|
+
"""
|
|
1489
|
+
backup_backends: NotRequired[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]
|
|
1490
|
+
"""
|
|
1491
|
+
The secondary IP address or domain name of the origin server.
|
|
387
1492
|
"""
|
|
388
1493
|
connect_timeout: NotRequired[pulumi.Input[_builtins.int]]
|
|
389
1494
|
"""
|
|
390
|
-
Connection timeout. Unit: seconds
|
|
1495
|
+
Connection timeout duration. Unit: seconds.
|
|
1496
|
+
Value range: 1~3600. Default value: 5.
|
|
391
1497
|
"""
|
|
392
1498
|
focus_http_backend: NotRequired[pulumi.Input[_builtins.bool]]
|
|
393
1499
|
"""
|
|
394
|
-
|
|
395
|
-
- **true**: indicates that forced HTTP back-to-origin is enabled.
|
|
396
|
-
- **false**: indicates that forced HTTP back-to-origin is not enabled.
|
|
1500
|
+
Specifies whether to enable force redirect from HTTPS to HTTP for back-to-origin requests. This parameter is available only if you specify `HttpsPorts`. Valid values:
|
|
397
1501
|
"""
|
|
398
1502
|
keepalive: NotRequired[pulumi.Input[_builtins.bool]]
|
|
399
1503
|
"""
|
|
400
|
-
|
|
1504
|
+
Specifies whether to enable the persistent connection feature. Valid values:
|
|
401
1505
|
"""
|
|
402
1506
|
keepalive_requests: NotRequired[pulumi.Input[_builtins.int]]
|
|
403
1507
|
"""
|
|
404
|
-
|
|
1508
|
+
The number of reused persistent connections. Valid values: 60 to 1000. Default value: 1000
|
|
1509
|
+
|
|
1510
|
+
|
|
1511
|
+
> **NOTE:** This parameter specifies the number of persistent connections that can be reused after you enable the persistent connection feature.
|
|
405
1512
|
"""
|
|
406
1513
|
keepalive_timeout: NotRequired[pulumi.Input[_builtins.int]]
|
|
407
1514
|
"""
|
|
408
|
-
|
|
1515
|
+
Idle long connection timeout, value range: 1~60, default 15, unit: seconds.
|
|
1516
|
+
|
|
1517
|
+
> **NOTE:** How long the multiplexed long connection is idle and then released.
|
|
409
1518
|
"""
|
|
410
1519
|
read_timeout: NotRequired[pulumi.Input[_builtins.int]]
|
|
411
1520
|
"""
|
|
412
|
-
|
|
1521
|
+
The timeout period of write connections. Unit: seconds. Valid values: 1 to 3600. Default value: 120.
|
|
413
1522
|
"""
|
|
414
1523
|
request_headers: NotRequired[pulumi.Input[Sequence[pulumi.Input['DomainRedirectRequestHeaderArgsDict']]]]
|
|
415
1524
|
"""
|
|
416
|
-
The traffic
|
|
417
|
-
|
|
418
|
-
and the `v` represents the value set for this field. By specifying the custom request header field and the corresponding value,
|
|
419
|
-
when the access traffic of the domain name passes through WAF, WAF automatically adds the specified custom field value
|
|
420
|
-
to the request header as the traffic mark, which is convenient for backend service statistics.Explain that if the
|
|
421
|
-
custom header field already exists in the request, the system will overwrite the value of the custom field in the
|
|
422
|
-
request with the set traffic tag value. See `request_headers` below.
|
|
1525
|
+
The traffic marking field and value of the domain name, which is used to mark the traffic processed by WAF.
|
|
1526
|
+
By specifying custom request header fields and corresponding values, when the access traffic of the domain name passes through WAF, WAF automatically adds the set custom field value to the request header as a traffic mark, which facilitates the statistics of back-end services. See `request_headers` below.
|
|
423
1527
|
"""
|
|
424
1528
|
retry: NotRequired[pulumi.Input[_builtins.bool]]
|
|
425
1529
|
"""
|
|
426
|
-
|
|
1530
|
+
Specifies whether WAF retries if WAF fails to forward requests to the origin server. Valid values:
|
|
427
1531
|
"""
|
|
428
1532
|
sni_enabled: NotRequired[pulumi.Input[_builtins.bool]]
|
|
429
1533
|
"""
|
|
430
|
-
|
|
431
|
-
- **true**: indicates that the back-to-source SNI is enabled.
|
|
432
|
-
- **false** (default) indicates that the back-to-source SNI is not enabled.
|
|
1534
|
+
Specifies whether to enable the Server Name Indication (SNI) feature for back-to-origin requests. This parameter is available only if you specify `HttpsPorts`. Valid values:
|
|
433
1535
|
"""
|
|
434
1536
|
sni_host: NotRequired[pulumi.Input[_builtins.str]]
|
|
435
1537
|
"""
|
|
436
|
-
|
|
1538
|
+
The custom value of the SNI field. If you do not specify this parameter, the value of the `Host` header field is automatically used. In most cases, you do not need to specify a custom value for the SNI field. However, if you want WAF to use an SNI field whose value is different from the value of the Host header field in back-to-origin requests, you can specify a custom value for the SNI field.
|
|
1539
|
+
|
|
1540
|
+
> **NOTE:** This parameter is required only if you set `SniEnabled` to true.
|
|
437
1541
|
"""
|
|
438
1542
|
write_timeout: NotRequired[pulumi.Input[_builtins.int]]
|
|
439
1543
|
"""
|
|
440
|
-
|
|
1544
|
+
The timeout period of write connections. Unit: seconds. Valid values: 1 to 3600. Default value: 120.
|
|
1545
|
+
"""
|
|
1546
|
+
xff_proto: NotRequired[pulumi.Input[_builtins.bool]]
|
|
1547
|
+
"""
|
|
1548
|
+
Specifies whether to use the X-Forward-For-Proto header field to pass the protocol used by WAF to forward requests to the origin server. Valid values:
|
|
441
1549
|
"""
|
|
442
1550
|
elif False:
|
|
443
1551
|
DomainRedirectArgsDict: TypeAlias = Mapping[str, Any]
|
|
@@ -447,6 +1555,7 @@ class DomainRedirectArgs:
|
|
|
447
1555
|
def __init__(__self__, *,
|
|
448
1556
|
loadbalance: pulumi.Input[_builtins.str],
|
|
449
1557
|
backends: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
1558
|
+
backup_backends: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
450
1559
|
connect_timeout: Optional[pulumi.Input[_builtins.int]] = None,
|
|
451
1560
|
focus_http_backend: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
452
1561
|
keepalive: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
@@ -457,39 +1566,42 @@ class DomainRedirectArgs:
|
|
|
457
1566
|
retry: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
458
1567
|
sni_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
459
1568
|
sni_host: Optional[pulumi.Input[_builtins.str]] = None,
|
|
460
|
-
write_timeout: Optional[pulumi.Input[_builtins.int]] = None
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
-
|
|
467
|
-
|
|
468
|
-
:param pulumi.Input[_builtins.
|
|
469
|
-
:param pulumi.Input[_builtins.
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
:param pulumi.Input[_builtins.bool] keepalive:
|
|
473
|
-
:param pulumi.Input[_builtins.int] keepalive_requests:
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
request
|
|
483
|
-
:param pulumi.Input[_builtins.bool] retry:
|
|
484
|
-
:param pulumi.Input[_builtins.bool] sni_enabled:
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
:param pulumi.Input[_builtins.int] write_timeout:
|
|
1569
|
+
write_timeout: Optional[pulumi.Input[_builtins.int]] = None,
|
|
1570
|
+
xff_proto: Optional[pulumi.Input[_builtins.bool]] = None):
|
|
1571
|
+
"""
|
|
1572
|
+
:param pulumi.Input[_builtins.str] loadbalance: The load balancing algorithm that you want to use to forward requests to the origin server. Valid values:
|
|
1573
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] backends: The IP addresses or domain names of the origin server. You cannot specify both IP addresses and domain names. If you specify domain names, the domain names can be resolved only to IPv4 addresses.
|
|
1574
|
+
|
|
1575
|
+
- If you specify IP addresses, specify the value in the **\\["ip1","ip2",...]** format. You can enter up to 20 IP addresses.
|
|
1576
|
+
- If you specify domain names, specify the value in the **\\["domain"]** format. You can enter up to 20 domain names.
|
|
1577
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] backup_backends: The secondary IP address or domain name of the origin server.
|
|
1578
|
+
:param pulumi.Input[_builtins.int] connect_timeout: Connection timeout duration. Unit: seconds.
|
|
1579
|
+
Value range: 1~3600. Default value: 5.
|
|
1580
|
+
:param pulumi.Input[_builtins.bool] focus_http_backend: Specifies whether to enable force redirect from HTTPS to HTTP for back-to-origin requests. This parameter is available only if you specify `HttpsPorts`. Valid values:
|
|
1581
|
+
:param pulumi.Input[_builtins.bool] keepalive: Specifies whether to enable the persistent connection feature. Valid values:
|
|
1582
|
+
:param pulumi.Input[_builtins.int] keepalive_requests: The number of reused persistent connections. Valid values: 60 to 1000. Default value: 1000
|
|
1583
|
+
|
|
1584
|
+
|
|
1585
|
+
> **NOTE:** This parameter specifies the number of persistent connections that can be reused after you enable the persistent connection feature.
|
|
1586
|
+
:param pulumi.Input[_builtins.int] keepalive_timeout: Idle long connection timeout, value range: 1~60, default 15, unit: seconds.
|
|
1587
|
+
|
|
1588
|
+
> **NOTE:** How long the multiplexed long connection is idle and then released.
|
|
1589
|
+
:param pulumi.Input[_builtins.int] read_timeout: The timeout period of write connections. Unit: seconds. Valid values: 1 to 3600. Default value: 120.
|
|
1590
|
+
:param pulumi.Input[Sequence[pulumi.Input['DomainRedirectRequestHeaderArgs']]] request_headers: The traffic marking field and value of the domain name, which is used to mark the traffic processed by WAF.
|
|
1591
|
+
By specifying custom request header fields and corresponding values, when the access traffic of the domain name passes through WAF, WAF automatically adds the set custom field value to the request header as a traffic mark, which facilitates the statistics of back-end services. See `request_headers` below.
|
|
1592
|
+
:param pulumi.Input[_builtins.bool] retry: Specifies whether WAF retries if WAF fails to forward requests to the origin server. Valid values:
|
|
1593
|
+
:param pulumi.Input[_builtins.bool] sni_enabled: Specifies whether to enable the Server Name Indication (SNI) feature for back-to-origin requests. This parameter is available only if you specify `HttpsPorts`. Valid values:
|
|
1594
|
+
:param pulumi.Input[_builtins.str] sni_host: The custom value of the SNI field. If you do not specify this parameter, the value of the `Host` header field is automatically used. In most cases, you do not need to specify a custom value for the SNI field. However, if you want WAF to use an SNI field whose value is different from the value of the Host header field in back-to-origin requests, you can specify a custom value for the SNI field.
|
|
1595
|
+
|
|
1596
|
+
> **NOTE:** This parameter is required only if you set `SniEnabled` to true.
|
|
1597
|
+
:param pulumi.Input[_builtins.int] write_timeout: The timeout period of write connections. Unit: seconds. Valid values: 1 to 3600. Default value: 120.
|
|
1598
|
+
:param pulumi.Input[_builtins.bool] xff_proto: Specifies whether to use the X-Forward-For-Proto header field to pass the protocol used by WAF to forward requests to the origin server. Valid values:
|
|
489
1599
|
"""
|
|
490
1600
|
pulumi.set(__self__, "loadbalance", loadbalance)
|
|
491
1601
|
if backends is not None:
|
|
492
1602
|
pulumi.set(__self__, "backends", backends)
|
|
1603
|
+
if backup_backends is not None:
|
|
1604
|
+
pulumi.set(__self__, "backup_backends", backup_backends)
|
|
493
1605
|
if connect_timeout is not None:
|
|
494
1606
|
pulumi.set(__self__, "connect_timeout", connect_timeout)
|
|
495
1607
|
if focus_http_backend is not None:
|
|
@@ -512,16 +1624,14 @@ class DomainRedirectArgs:
|
|
|
512
1624
|
pulumi.set(__self__, "sni_host", sni_host)
|
|
513
1625
|
if write_timeout is not None:
|
|
514
1626
|
pulumi.set(__self__, "write_timeout", write_timeout)
|
|
1627
|
+
if xff_proto is not None:
|
|
1628
|
+
pulumi.set(__self__, "xff_proto", xff_proto)
|
|
515
1629
|
|
|
516
1630
|
@_builtins.property
|
|
517
1631
|
@pulumi.getter
|
|
518
1632
|
def loadbalance(self) -> pulumi.Input[_builtins.str]:
|
|
519
1633
|
"""
|
|
520
|
-
The load balancing algorithm
|
|
521
|
-
- **iphash**: indicates the IPHash algorithm.
|
|
522
|
-
- **roundRobin**: indicates the polling algorithm.
|
|
523
|
-
- **leastTime**: indicates the Least Time algorithm.
|
|
524
|
-
- This value can be selected only if the value of **protection_resource** is **gslb** (indicating that the protected resource type uses shared cluster intelligent load balancing).
|
|
1634
|
+
The load balancing algorithm that you want to use to forward requests to the origin server. Valid values:
|
|
525
1635
|
"""
|
|
526
1636
|
return pulumi.get(self, "loadbalance")
|
|
527
1637
|
|
|
@@ -533,7 +1643,10 @@ class DomainRedirectArgs:
|
|
|
533
1643
|
@pulumi.getter
|
|
534
1644
|
def backends(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
|
|
535
1645
|
"""
|
|
536
|
-
The IP
|
|
1646
|
+
The IP addresses or domain names of the origin server. You cannot specify both IP addresses and domain names. If you specify domain names, the domain names can be resolved only to IPv4 addresses.
|
|
1647
|
+
|
|
1648
|
+
- If you specify IP addresses, specify the value in the **\\["ip1","ip2",...]** format. You can enter up to 20 IP addresses.
|
|
1649
|
+
- If you specify domain names, specify the value in the **\\["domain"]** format. You can enter up to 20 domain names.
|
|
537
1650
|
"""
|
|
538
1651
|
return pulumi.get(self, "backends")
|
|
539
1652
|
|
|
@@ -541,11 +1654,24 @@ class DomainRedirectArgs:
|
|
|
541
1654
|
def backends(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
|
|
542
1655
|
pulumi.set(self, "backends", value)
|
|
543
1656
|
|
|
1657
|
+
@_builtins.property
|
|
1658
|
+
@pulumi.getter(name="backupBackends")
|
|
1659
|
+
def backup_backends(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
|
|
1660
|
+
"""
|
|
1661
|
+
The secondary IP address or domain name of the origin server.
|
|
1662
|
+
"""
|
|
1663
|
+
return pulumi.get(self, "backup_backends")
|
|
1664
|
+
|
|
1665
|
+
@backup_backends.setter
|
|
1666
|
+
def backup_backends(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
|
|
1667
|
+
pulumi.set(self, "backup_backends", value)
|
|
1668
|
+
|
|
544
1669
|
@_builtins.property
|
|
545
1670
|
@pulumi.getter(name="connectTimeout")
|
|
546
1671
|
def connect_timeout(self) -> Optional[pulumi.Input[_builtins.int]]:
|
|
547
1672
|
"""
|
|
548
|
-
Connection timeout. Unit: seconds
|
|
1673
|
+
Connection timeout duration. Unit: seconds.
|
|
1674
|
+
Value range: 1~3600. Default value: 5.
|
|
549
1675
|
"""
|
|
550
1676
|
return pulumi.get(self, "connect_timeout")
|
|
551
1677
|
|
|
@@ -557,9 +1683,7 @@ class DomainRedirectArgs:
|
|
|
557
1683
|
@pulumi.getter(name="focusHttpBackend")
|
|
558
1684
|
def focus_http_backend(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
559
1685
|
"""
|
|
560
|
-
|
|
561
|
-
- **true**: indicates that forced HTTP back-to-origin is enabled.
|
|
562
|
-
- **false**: indicates that forced HTTP back-to-origin is not enabled.
|
|
1686
|
+
Specifies whether to enable force redirect from HTTPS to HTTP for back-to-origin requests. This parameter is available only if you specify `HttpsPorts`. Valid values:
|
|
563
1687
|
"""
|
|
564
1688
|
return pulumi.get(self, "focus_http_backend")
|
|
565
1689
|
|
|
@@ -571,7 +1695,7 @@ class DomainRedirectArgs:
|
|
|
571
1695
|
@pulumi.getter
|
|
572
1696
|
def keepalive(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
573
1697
|
"""
|
|
574
|
-
|
|
1698
|
+
Specifies whether to enable the persistent connection feature. Valid values:
|
|
575
1699
|
"""
|
|
576
1700
|
return pulumi.get(self, "keepalive")
|
|
577
1701
|
|
|
@@ -583,7 +1707,10 @@ class DomainRedirectArgs:
|
|
|
583
1707
|
@pulumi.getter(name="keepaliveRequests")
|
|
584
1708
|
def keepalive_requests(self) -> Optional[pulumi.Input[_builtins.int]]:
|
|
585
1709
|
"""
|
|
586
|
-
|
|
1710
|
+
The number of reused persistent connections. Valid values: 60 to 1000. Default value: 1000
|
|
1711
|
+
|
|
1712
|
+
|
|
1713
|
+
> **NOTE:** This parameter specifies the number of persistent connections that can be reused after you enable the persistent connection feature.
|
|
587
1714
|
"""
|
|
588
1715
|
return pulumi.get(self, "keepalive_requests")
|
|
589
1716
|
|
|
@@ -595,7 +1722,9 @@ class DomainRedirectArgs:
|
|
|
595
1722
|
@pulumi.getter(name="keepaliveTimeout")
|
|
596
1723
|
def keepalive_timeout(self) -> Optional[pulumi.Input[_builtins.int]]:
|
|
597
1724
|
"""
|
|
598
|
-
|
|
1725
|
+
Idle long connection timeout, value range: 1~60, default 15, unit: seconds.
|
|
1726
|
+
|
|
1727
|
+
> **NOTE:** How long the multiplexed long connection is idle and then released.
|
|
599
1728
|
"""
|
|
600
1729
|
return pulumi.get(self, "keepalive_timeout")
|
|
601
1730
|
|
|
@@ -607,7 +1736,7 @@ class DomainRedirectArgs:
|
|
|
607
1736
|
@pulumi.getter(name="readTimeout")
|
|
608
1737
|
def read_timeout(self) -> Optional[pulumi.Input[_builtins.int]]:
|
|
609
1738
|
"""
|
|
610
|
-
|
|
1739
|
+
The timeout period of write connections. Unit: seconds. Valid values: 1 to 3600. Default value: 120.
|
|
611
1740
|
"""
|
|
612
1741
|
return pulumi.get(self, "read_timeout")
|
|
613
1742
|
|
|
@@ -619,13 +1748,8 @@ class DomainRedirectArgs:
|
|
|
619
1748
|
@pulumi.getter(name="requestHeaders")
|
|
620
1749
|
def request_headers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DomainRedirectRequestHeaderArgs']]]]:
|
|
621
1750
|
"""
|
|
622
|
-
The traffic
|
|
623
|
-
|
|
624
|
-
and the `v` represents the value set for this field. By specifying the custom request header field and the corresponding value,
|
|
625
|
-
when the access traffic of the domain name passes through WAF, WAF automatically adds the specified custom field value
|
|
626
|
-
to the request header as the traffic mark, which is convenient for backend service statistics.Explain that if the
|
|
627
|
-
custom header field already exists in the request, the system will overwrite the value of the custom field in the
|
|
628
|
-
request with the set traffic tag value. See `request_headers` below.
|
|
1751
|
+
The traffic marking field and value of the domain name, which is used to mark the traffic processed by WAF.
|
|
1752
|
+
By specifying custom request header fields and corresponding values, when the access traffic of the domain name passes through WAF, WAF automatically adds the set custom field value to the request header as a traffic mark, which facilitates the statistics of back-end services. See `request_headers` below.
|
|
629
1753
|
"""
|
|
630
1754
|
return pulumi.get(self, "request_headers")
|
|
631
1755
|
|
|
@@ -637,7 +1761,7 @@ class DomainRedirectArgs:
|
|
|
637
1761
|
@pulumi.getter
|
|
638
1762
|
def retry(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
639
1763
|
"""
|
|
640
|
-
|
|
1764
|
+
Specifies whether WAF retries if WAF fails to forward requests to the origin server. Valid values:
|
|
641
1765
|
"""
|
|
642
1766
|
return pulumi.get(self, "retry")
|
|
643
1767
|
|
|
@@ -649,9 +1773,7 @@ class DomainRedirectArgs:
|
|
|
649
1773
|
@pulumi.getter(name="sniEnabled")
|
|
650
1774
|
def sni_enabled(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
651
1775
|
"""
|
|
652
|
-
|
|
653
|
-
- **true**: indicates that the back-to-source SNI is enabled.
|
|
654
|
-
- **false** (default) indicates that the back-to-source SNI is not enabled.
|
|
1776
|
+
Specifies whether to enable the Server Name Indication (SNI) feature for back-to-origin requests. This parameter is available only if you specify `HttpsPorts`. Valid values:
|
|
655
1777
|
"""
|
|
656
1778
|
return pulumi.get(self, "sni_enabled")
|
|
657
1779
|
|
|
@@ -663,7 +1785,9 @@ class DomainRedirectArgs:
|
|
|
663
1785
|
@pulumi.getter(name="sniHost")
|
|
664
1786
|
def sni_host(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
665
1787
|
"""
|
|
666
|
-
|
|
1788
|
+
The custom value of the SNI field. If you do not specify this parameter, the value of the `Host` header field is automatically used. In most cases, you do not need to specify a custom value for the SNI field. However, if you want WAF to use an SNI field whose value is different from the value of the Host header field in back-to-origin requests, you can specify a custom value for the SNI field.
|
|
1789
|
+
|
|
1790
|
+
> **NOTE:** This parameter is required only if you set `SniEnabled` to true.
|
|
667
1791
|
"""
|
|
668
1792
|
return pulumi.get(self, "sni_host")
|
|
669
1793
|
|
|
@@ -675,7 +1799,7 @@ class DomainRedirectArgs:
|
|
|
675
1799
|
@pulumi.getter(name="writeTimeout")
|
|
676
1800
|
def write_timeout(self) -> Optional[pulumi.Input[_builtins.int]]:
|
|
677
1801
|
"""
|
|
678
|
-
|
|
1802
|
+
The timeout period of write connections. Unit: seconds. Valid values: 1 to 3600. Default value: 120.
|
|
679
1803
|
"""
|
|
680
1804
|
return pulumi.get(self, "write_timeout")
|
|
681
1805
|
|
|
@@ -683,16 +1807,28 @@ class DomainRedirectArgs:
|
|
|
683
1807
|
def write_timeout(self, value: Optional[pulumi.Input[_builtins.int]]):
|
|
684
1808
|
pulumi.set(self, "write_timeout", value)
|
|
685
1809
|
|
|
1810
|
+
@_builtins.property
|
|
1811
|
+
@pulumi.getter(name="xffProto")
|
|
1812
|
+
def xff_proto(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
1813
|
+
"""
|
|
1814
|
+
Specifies whether to use the X-Forward-For-Proto header field to pass the protocol used by WAF to forward requests to the origin server. Valid values:
|
|
1815
|
+
"""
|
|
1816
|
+
return pulumi.get(self, "xff_proto")
|
|
1817
|
+
|
|
1818
|
+
@xff_proto.setter
|
|
1819
|
+
def xff_proto(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
|
1820
|
+
pulumi.set(self, "xff_proto", value)
|
|
1821
|
+
|
|
686
1822
|
|
|
687
1823
|
if not MYPY:
|
|
688
1824
|
class DomainRedirectRequestHeaderArgsDict(TypedDict):
|
|
689
1825
|
key: NotRequired[pulumi.Input[_builtins.str]]
|
|
690
1826
|
"""
|
|
691
|
-
|
|
1827
|
+
Specified custom request header fields
|
|
692
1828
|
"""
|
|
693
1829
|
value: NotRequired[pulumi.Input[_builtins.str]]
|
|
694
1830
|
"""
|
|
695
|
-
|
|
1831
|
+
Customize the value of the request header field.
|
|
696
1832
|
"""
|
|
697
1833
|
elif False:
|
|
698
1834
|
DomainRedirectRequestHeaderArgsDict: TypeAlias = Mapping[str, Any]
|
|
@@ -703,8 +1839,8 @@ class DomainRedirectRequestHeaderArgs:
|
|
|
703
1839
|
key: Optional[pulumi.Input[_builtins.str]] = None,
|
|
704
1840
|
value: Optional[pulumi.Input[_builtins.str]] = None):
|
|
705
1841
|
"""
|
|
706
|
-
:param pulumi.Input[_builtins.str] key:
|
|
707
|
-
:param pulumi.Input[_builtins.str] value:
|
|
1842
|
+
:param pulumi.Input[_builtins.str] key: Specified custom request header fields
|
|
1843
|
+
:param pulumi.Input[_builtins.str] value: Customize the value of the request header field.
|
|
708
1844
|
"""
|
|
709
1845
|
if key is not None:
|
|
710
1846
|
pulumi.set(__self__, "key", key)
|
|
@@ -715,7 +1851,7 @@ class DomainRedirectRequestHeaderArgs:
|
|
|
715
1851
|
@pulumi.getter
|
|
716
1852
|
def key(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
717
1853
|
"""
|
|
718
|
-
|
|
1854
|
+
Specified custom request header fields
|
|
719
1855
|
"""
|
|
720
1856
|
return pulumi.get(self, "key")
|
|
721
1857
|
|
|
@@ -727,7 +1863,7 @@ class DomainRedirectRequestHeaderArgs:
|
|
|
727
1863
|
@pulumi.getter
|
|
728
1864
|
def value(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
729
1865
|
"""
|
|
730
|
-
|
|
1866
|
+
Customize the value of the request header field.
|
|
731
1867
|
"""
|
|
732
1868
|
return pulumi.get(self, "value")
|
|
733
1869
|
|