pulumi-alicloud 3.86.0a1758340042__py3-none-any.whl → 3.89.0a1763702747__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.
Files changed (146) hide show
  1. pulumi_alicloud/__init__.py +83 -0
  2. pulumi_alicloud/actiontrail/get_trails_deprecated.py +20 -0
  3. pulumi_alicloud/adb/resource_group.py +463 -3
  4. pulumi_alicloud/alikafka/topic.py +278 -85
  5. pulumi_alicloud/apig/_inputs.py +80 -6
  6. pulumi_alicloud/apig/gateway.py +111 -3
  7. pulumi_alicloud/apig/outputs.py +67 -4
  8. pulumi_alicloud/cas/certificate.py +248 -35
  9. pulumi_alicloud/cas/service_certificate.py +454 -168
  10. pulumi_alicloud/cen/get_transit_router_peer_attachments.py +20 -0
  11. pulumi_alicloud/cen/get_transit_router_vbr_attachments.py +20 -0
  12. pulumi_alicloud/cfg/_inputs.py +27 -24
  13. pulumi_alicloud/cfg/aggregator.py +142 -53
  14. pulumi_alicloud/cfg/outputs.py +18 -15
  15. pulumi_alicloud/cloudfirewall/__init__.py +1 -0
  16. pulumi_alicloud/cloudfirewall/get_nat_firewalls.py +132 -0
  17. pulumi_alicloud/cloudfirewall/get_tls_inspect_ca_certificates.py +214 -0
  18. pulumi_alicloud/cloudfirewall/outputs.py +30 -0
  19. pulumi_alicloud/cloudsso/__init__.py +1 -0
  20. pulumi_alicloud/cloudsso/get_user_provisioning_events.py +226 -0
  21. pulumi_alicloud/cloudsso/outputs.py +228 -0
  22. pulumi_alicloud/cloudsso/user.py +247 -80
  23. pulumi_alicloud/cms/_inputs.py +870 -10
  24. pulumi_alicloud/cms/get_site_monitors.py +2 -2
  25. pulumi_alicloud/cms/outputs.py +606 -6
  26. pulumi_alicloud/cms/site_monitor.py +360 -89
  27. pulumi_alicloud/cr/registry_enterprise_instance.py +63 -0
  28. pulumi_alicloud/cs/managed_kubernetes.py +6 -2
  29. pulumi_alicloud/ddos/domain_resource.py +89 -0
  30. pulumi_alicloud/dms/get_enterprise_logic_databases.py +8 -0
  31. pulumi_alicloud/dts/instance.py +14 -14
  32. pulumi_alicloud/eais/get_instances.py +8 -0
  33. pulumi_alicloud/ebs/dedicated_block_storage_cluster.py +32 -0
  34. pulumi_alicloud/eci/container_group.py +47 -0
  35. pulumi_alicloud/ecs/elasticity_assurance.py +279 -20
  36. pulumi_alicloud/ecs/instance.py +7 -7
  37. pulumi_alicloud/ecs/security_group_rule.py +7 -7
  38. pulumi_alicloud/edas/get_deploy_groups.py +4 -0
  39. pulumi_alicloud/eflo/node.py +153 -15
  40. pulumi_alicloud/emrv2/get_clusters.py +260 -0
  41. pulumi_alicloud/ens/load_balancer.py +8 -4
  42. pulumi_alicloud/esa/__init__.py +2 -0
  43. pulumi_alicloud/esa/_inputs.py +3774 -991
  44. pulumi_alicloud/esa/cache_rule.py +47 -0
  45. pulumi_alicloud/esa/certificate.py +21 -54
  46. pulumi_alicloud/esa/compression_rule.py +47 -0
  47. pulumi_alicloud/esa/http_response_header_modification_rule.py +89 -28
  48. pulumi_alicloud/esa/https_application_configuration.py +188 -0
  49. pulumi_alicloud/esa/https_basic_configuration.py +54 -7
  50. pulumi_alicloud/esa/image_transform.py +47 -0
  51. pulumi_alicloud/esa/load_balancer.py +999 -0
  52. pulumi_alicloud/esa/network_optimization.py +82 -21
  53. pulumi_alicloud/esa/origin_rule.py +470 -14
  54. pulumi_alicloud/esa/outputs.py +2080 -0
  55. pulumi_alicloud/esa/rate_plan_instance.py +64 -39
  56. pulumi_alicloud/esa/redirect_rule.py +68 -21
  57. pulumi_alicloud/esa/rewrite_url_rule.py +82 -56
  58. pulumi_alicloud/esa/waf_rule.py +510 -0
  59. pulumi_alicloud/ess/__init__.py +1 -0
  60. pulumi_alicloud/ess/_inputs.py +256 -0
  61. pulumi_alicloud/ess/alb_server_group_attachment.py +2 -2
  62. pulumi_alicloud/ess/attachment.py +10 -6
  63. pulumi_alicloud/ess/instance_refresh.py +760 -0
  64. pulumi_alicloud/ess/outputs.py +203 -0
  65. pulumi_alicloud/ess/scaling_configuration.py +2 -2
  66. pulumi_alicloud/ess/scaling_group.py +94 -0
  67. pulumi_alicloud/ess/server_group_attachment.py +2 -2
  68. pulumi_alicloud/ess/suspend_process.py +2 -2
  69. pulumi_alicloud/eventbridge/event_source.py +57 -57
  70. pulumi_alicloud/expressconnect/get_virtual_physical_connections.py +4 -0
  71. pulumi_alicloud/expressconnect/traffic_qos.py +137 -31
  72. pulumi_alicloud/expressconnect/traffic_qos_queue.py +91 -66
  73. pulumi_alicloud/expressconnect/traffic_qos_rule.py +307 -261
  74. pulumi_alicloud/expressconnect/vbr_pconn_association.py +105 -59
  75. pulumi_alicloud/ga/_inputs.py +56 -16
  76. pulumi_alicloud/ga/outputs.py +39 -11
  77. pulumi_alicloud/gpdb/get_zones.py +24 -0
  78. pulumi_alicloud/hbase/get_instance_types.py +32 -0
  79. pulumi_alicloud/hbr/policy_binding.py +7 -0
  80. pulumi_alicloud/kvstore/account.py +18 -18
  81. pulumi_alicloud/lindorm/instance_v2.py +358 -70
  82. pulumi_alicloud/log/_inputs.py +29 -9
  83. pulumi_alicloud/log/etl.py +56 -9
  84. pulumi_alicloud/log/get_projects.py +24 -0
  85. pulumi_alicloud/log/outputs.py +18 -6
  86. pulumi_alicloud/marketplace/get_products.py +26 -0
  87. pulumi_alicloud/mongodb/get_sharding_network_private_addresses.py +28 -0
  88. pulumi_alicloud/nas/get_access_rules.py +26 -0
  89. pulumi_alicloud/oss/_inputs.py +53 -0
  90. pulumi_alicloud/oss/bucket_logging.py +80 -29
  91. pulumi_alicloud/oss/bucket_replication.py +55 -8
  92. pulumi_alicloud/oss/outputs.py +31 -0
  93. pulumi_alicloud/ots/get_search_indexes.py +26 -0
  94. pulumi_alicloud/ots/get_secondary_indexes.py +26 -0
  95. pulumi_alicloud/polardb/__init__.py +3 -0
  96. pulumi_alicloud/polardb/cluster.py +14 -14
  97. pulumi_alicloud/polardb/zonal_account.py +449 -0
  98. pulumi_alicloud/polardb/zonal_db_cluster.py +1255 -0
  99. pulumi_alicloud/polardb/zonal_endpoint.py +865 -0
  100. pulumi_alicloud/pulumi-plugin.json +1 -1
  101. pulumi_alicloud/pvtz/get_service.py +12 -8
  102. pulumi_alicloud/ram/get_policies.py +95 -81
  103. pulumi_alicloud/ram/get_roles.py +108 -31
  104. pulumi_alicloud/ram/outputs.py +64 -42
  105. pulumi_alicloud/ram/policy.py +2 -2
  106. pulumi_alicloud/resourcemanager/__init__.py +2 -0
  107. pulumi_alicloud/resourcemanager/_inputs.py +799 -0
  108. pulumi_alicloud/resourcemanager/control_policy.py +169 -31
  109. pulumi_alicloud/resourcemanager/delivery_channel.py +449 -0
  110. pulumi_alicloud/resourcemanager/get_policies.py +4 -0
  111. pulumi_alicloud/resourcemanager/multi_account_delivery_channel.py +470 -0
  112. pulumi_alicloud/resourcemanager/outputs.py +694 -0
  113. pulumi_alicloud/resourcemanager/resource_share.py +341 -11
  114. pulumi_alicloud/sae/_inputs.py +60 -0
  115. pulumi_alicloud/sae/application.py +1 -1
  116. pulumi_alicloud/sae/get_ingresses.py +122 -0
  117. pulumi_alicloud/sae/outputs.py +42 -0
  118. pulumi_alicloud/scdn/domain_config.py +56 -0
  119. pulumi_alicloud/servicemesh/extension_provider.py +138 -0
  120. pulumi_alicloud/servicemesh/user_permission.py +90 -0
  121. pulumi_alicloud/simpleapplicationserver/get_images.py +24 -0
  122. pulumi_alicloud/sls/__init__.py +1 -0
  123. pulumi_alicloud/sls/get_indexs.py +304 -0
  124. pulumi_alicloud/sls/outputs.py +148 -0
  125. pulumi_alicloud/star_rocks_instance.py +8 -2
  126. pulumi_alicloud/starrocks/__init__.py +12 -0
  127. pulumi_alicloud/starrocks/_inputs.py +656 -0
  128. pulumi_alicloud/starrocks/instance.py +1427 -0
  129. pulumi_alicloud/starrocks/node_group.py +1298 -0
  130. pulumi_alicloud/starrocks/outputs.py +508 -0
  131. pulumi_alicloud/vpc/_inputs.py +84 -0
  132. pulumi_alicloud/vpc/bgp_group.py +250 -53
  133. pulumi_alicloud/vpc/bgp_network.py +83 -36
  134. pulumi_alicloud/vpc/common_bandwith_package_attachment.py +30 -14
  135. pulumi_alicloud/vpc/gateway_endpoint.py +8 -8
  136. pulumi_alicloud/vpc/get_enhanced_nat_available_zones.py +3 -3
  137. pulumi_alicloud/vpc/network_acl_entries.py +16 -20
  138. pulumi_alicloud/vpc/outputs.py +48 -0
  139. pulumi_alicloud/vpc/vbr_ha.py +127 -46
  140. pulumi_alicloud/wafv3/_inputs.py +396 -0
  141. pulumi_alicloud/wafv3/defense_rule.py +40 -110
  142. pulumi_alicloud/wafv3/outputs.py +303 -0
  143. {pulumi_alicloud-3.86.0a1758340042.dist-info → pulumi_alicloud-3.89.0a1763702747.dist-info}/METADATA +1 -1
  144. {pulumi_alicloud-3.86.0a1758340042.dist-info → pulumi_alicloud-3.89.0a1763702747.dist-info}/RECORD +146 -130
  145. {pulumi_alicloud-3.86.0a1758340042.dist-info → pulumi_alicloud-3.89.0a1763702747.dist-info}/WHEEL +0 -0
  146. {pulumi_alicloud-3.86.0a1758340042.dist-info → pulumi_alicloud-3.89.0a1763702747.dist-info}/top_level.txt +0 -0
@@ -18,6 +18,11 @@ from . import outputs
18
18
  __all__ = [
19
19
  'HttpRequestHeaderModificationRuleRequestHeaderModification',
20
20
  'HttpResponseHeaderModificationRuleResponseHeaderModification',
21
+ 'LoadBalancerAdaptiveRouting',
22
+ 'LoadBalancerMonitor',
23
+ 'LoadBalancerRandomSteering',
24
+ 'LoadBalancerRule',
25
+ 'LoadBalancerRuleFixedResponse',
21
26
  'OriginPoolOrigin',
22
27
  'OriginPoolOriginAuthConf',
23
28
  'RecordAuthConf',
@@ -29,6 +34,35 @@ __all__ = [
29
34
  'SiteDeliveryTaskS3Delivery',
30
35
  'SiteDeliveryTaskSlsDelivery',
31
36
  'TransportLayerApplicationRule',
37
+ 'WafRuleConfig',
38
+ 'WafRuleConfigActions',
39
+ 'WafRuleConfigActionsBypass',
40
+ 'WafRuleConfigActionsResponse',
41
+ 'WafRuleConfigAppPackage',
42
+ 'WafRuleConfigAppPackagePackageSign',
43
+ 'WafRuleConfigAppSdk',
44
+ 'WafRuleConfigAppSdkCustomSign',
45
+ 'WafRuleConfigManagedRuleset',
46
+ 'WafRuleConfigManagedRulesetManagedRule',
47
+ 'WafRuleConfigRateLimit',
48
+ 'WafRuleConfigRateLimitCharacteristics',
49
+ 'WafRuleConfigRateLimitCharacteristicsCriteria',
50
+ 'WafRuleConfigRateLimitCharacteristicsCriteriaCriteria',
51
+ 'WafRuleConfigRateLimitCharacteristicsCriteriaCriteriaCriteria',
52
+ 'WafRuleConfigRateLimitThreshold',
53
+ 'WafRuleConfigRateLimitThresholdResponseStatus',
54
+ 'WafRuleConfigSecurityLevel',
55
+ 'WafRuleConfigTimer',
56
+ 'WafRuleConfigTimerPeriod',
57
+ 'WafRuleConfigTimerWeeklyPeriod',
58
+ 'WafRuleConfigTimerWeeklyPeriodDailyPeriod',
59
+ 'WafRuleShared',
60
+ 'WafRuleSharedActions',
61
+ 'WafRuleSharedActionsResponse',
62
+ 'WafRuleSharedMatch',
63
+ 'WafRuleSharedMatchCriteria',
64
+ 'WafRuleSharedMatchCriteriaCriteria',
65
+ 'WafRuleSharedMatchCriteriaCriteriaCriteria',
32
66
  'WaitingRoomHostNameAndPath',
33
67
  'GetSitesSiteResult',
34
68
  ]
@@ -79,14 +113,18 @@ class HttpResponseHeaderModificationRuleResponseHeaderModification(dict):
79
113
  def __init__(__self__, *,
80
114
  name: _builtins.str,
81
115
  operation: _builtins.str,
116
+ type: Optional[_builtins.str] = None,
82
117
  value: Optional[_builtins.str] = None):
83
118
  """
84
119
  :param _builtins.str name: The response header name.
85
120
  :param _builtins.str operation: Operation method. Possible values:
121
+ :param _builtins.str type: The value type. Value range:
86
122
  :param _builtins.str value: The response header value.
87
123
  """
88
124
  pulumi.set(__self__, "name", name)
89
125
  pulumi.set(__self__, "operation", operation)
126
+ if type is not None:
127
+ pulumi.set(__self__, "type", type)
90
128
  if value is not None:
91
129
  pulumi.set(__self__, "value", value)
92
130
 
@@ -106,6 +144,14 @@ class HttpResponseHeaderModificationRuleResponseHeaderModification(dict):
106
144
  """
107
145
  return pulumi.get(self, "operation")
108
146
 
147
+ @_builtins.property
148
+ @pulumi.getter
149
+ def type(self) -> Optional[_builtins.str]:
150
+ """
151
+ The value type. Value range:
152
+ """
153
+ return pulumi.get(self, "type")
154
+
109
155
  @_builtins.property
110
156
  @pulumi.getter
111
157
  def value(self) -> Optional[_builtins.str]:
@@ -115,6 +161,470 @@ class HttpResponseHeaderModificationRuleResponseHeaderModification(dict):
115
161
  return pulumi.get(self, "value")
116
162
 
117
163
 
164
+ @pulumi.output_type
165
+ class LoadBalancerAdaptiveRouting(dict):
166
+ @staticmethod
167
+ def __key_warning(key: str):
168
+ suggest = None
169
+ if key == "failoverAcrossPools":
170
+ suggest = "failover_across_pools"
171
+
172
+ if suggest:
173
+ pulumi.log.warn(f"Key '{key}' not found in LoadBalancerAdaptiveRouting. Access the value via the '{suggest}' property getter instead.")
174
+
175
+ def __getitem__(self, key: str) -> Any:
176
+ LoadBalancerAdaptiveRouting.__key_warning(key)
177
+ return super().__getitem__(key)
178
+
179
+ def get(self, key: str, default = None) -> Any:
180
+ LoadBalancerAdaptiveRouting.__key_warning(key)
181
+ return super().get(key, default)
182
+
183
+ def __init__(__self__, *,
184
+ failover_across_pools: Optional[_builtins.bool] = None):
185
+ """
186
+ :param _builtins.bool failover_across_pools: Whether to failover across pools.
187
+ """
188
+ if failover_across_pools is not None:
189
+ pulumi.set(__self__, "failover_across_pools", failover_across_pools)
190
+
191
+ @_builtins.property
192
+ @pulumi.getter(name="failoverAcrossPools")
193
+ def failover_across_pools(self) -> Optional[_builtins.bool]:
194
+ """
195
+ Whether to failover across pools.
196
+ """
197
+ return pulumi.get(self, "failover_across_pools")
198
+
199
+
200
+ @pulumi.output_type
201
+ class LoadBalancerMonitor(dict):
202
+ @staticmethod
203
+ def __key_warning(key: str):
204
+ suggest = None
205
+ if key == "consecutiveDown":
206
+ suggest = "consecutive_down"
207
+ elif key == "consecutiveUp":
208
+ suggest = "consecutive_up"
209
+ elif key == "expectedCodes":
210
+ suggest = "expected_codes"
211
+ elif key == "followRedirects":
212
+ suggest = "follow_redirects"
213
+ elif key == "monitoringRegion":
214
+ suggest = "monitoring_region"
215
+
216
+ if suggest:
217
+ pulumi.log.warn(f"Key '{key}' not found in LoadBalancerMonitor. Access the value via the '{suggest}' property getter instead.")
218
+
219
+ def __getitem__(self, key: str) -> Any:
220
+ LoadBalancerMonitor.__key_warning(key)
221
+ return super().__getitem__(key)
222
+
223
+ def get(self, key: str, default = None) -> Any:
224
+ LoadBalancerMonitor.__key_warning(key)
225
+ return super().get(key, default)
226
+
227
+ def __init__(__self__, *,
228
+ consecutive_down: Optional[_builtins.int] = None,
229
+ consecutive_up: Optional[_builtins.int] = None,
230
+ expected_codes: Optional[_builtins.str] = None,
231
+ follow_redirects: Optional[_builtins.bool] = None,
232
+ header: Optional[_builtins.str] = None,
233
+ interval: Optional[_builtins.int] = None,
234
+ method: Optional[_builtins.str] = None,
235
+ monitoring_region: Optional[_builtins.str] = None,
236
+ path: Optional[_builtins.str] = None,
237
+ port: Optional[_builtins.int] = None,
238
+ timeout: Optional[_builtins.int] = None,
239
+ type: Optional[_builtins.str] = None):
240
+ """
241
+ :param _builtins.int consecutive_down: The number of consecutive failed health checks before the backend is considered down, for example, 5.
242
+ :param _builtins.int consecutive_up: The number of consecutive successful probes required to consider the target as up, e.g., 3.
243
+ :param _builtins.str expected_codes: Expected status code, such as 200,202, successful HTTP response.
244
+ :param _builtins.bool follow_redirects: Whether to follow the redirect.
245
+ :param _builtins.str header: The HTTP headers to be included in the health check request.
246
+ :param _builtins.int interval: The monitoring interval, such as 60 seconds, checks the frequency.
247
+ :param _builtins.str method: Monitor request methods, such as GET, methods in the HTTP protocol.
248
+ :param _builtins.str monitoring_region: Probe Point Region, default to Global
249
+ - `Global`: Global.
250
+ - `ChineseMainland`: Chinese mainland.
251
+ - `OutsideChineseMainland`: Global (excluding the Chinese mainland).
252
+ :param _builtins.str path: The monitor checks the path, such as/healthcheck, the HTTP request path.
253
+ :param _builtins.int port: The target port.
254
+ :param _builtins.int timeout: The timeout for the health check, in seconds. The value range is 1-10.
255
+ :param _builtins.str type: The type of monitor protocol, such as HTTP, used for health checks. When the value is off, it indicates that no check is performed.
256
+ """
257
+ if consecutive_down is not None:
258
+ pulumi.set(__self__, "consecutive_down", consecutive_down)
259
+ if consecutive_up is not None:
260
+ pulumi.set(__self__, "consecutive_up", consecutive_up)
261
+ if expected_codes is not None:
262
+ pulumi.set(__self__, "expected_codes", expected_codes)
263
+ if follow_redirects is not None:
264
+ pulumi.set(__self__, "follow_redirects", follow_redirects)
265
+ if header is not None:
266
+ pulumi.set(__self__, "header", header)
267
+ if interval is not None:
268
+ pulumi.set(__self__, "interval", interval)
269
+ if method is not None:
270
+ pulumi.set(__self__, "method", method)
271
+ if monitoring_region is not None:
272
+ pulumi.set(__self__, "monitoring_region", monitoring_region)
273
+ if path is not None:
274
+ pulumi.set(__self__, "path", path)
275
+ if port is not None:
276
+ pulumi.set(__self__, "port", port)
277
+ if timeout is not None:
278
+ pulumi.set(__self__, "timeout", timeout)
279
+ if type is not None:
280
+ pulumi.set(__self__, "type", type)
281
+
282
+ @_builtins.property
283
+ @pulumi.getter(name="consecutiveDown")
284
+ def consecutive_down(self) -> Optional[_builtins.int]:
285
+ """
286
+ The number of consecutive failed health checks before the backend is considered down, for example, 5.
287
+ """
288
+ return pulumi.get(self, "consecutive_down")
289
+
290
+ @_builtins.property
291
+ @pulumi.getter(name="consecutiveUp")
292
+ def consecutive_up(self) -> Optional[_builtins.int]:
293
+ """
294
+ The number of consecutive successful probes required to consider the target as up, e.g., 3.
295
+ """
296
+ return pulumi.get(self, "consecutive_up")
297
+
298
+ @_builtins.property
299
+ @pulumi.getter(name="expectedCodes")
300
+ def expected_codes(self) -> Optional[_builtins.str]:
301
+ """
302
+ Expected status code, such as 200,202, successful HTTP response.
303
+ """
304
+ return pulumi.get(self, "expected_codes")
305
+
306
+ @_builtins.property
307
+ @pulumi.getter(name="followRedirects")
308
+ def follow_redirects(self) -> Optional[_builtins.bool]:
309
+ """
310
+ Whether to follow the redirect.
311
+ """
312
+ return pulumi.get(self, "follow_redirects")
313
+
314
+ @_builtins.property
315
+ @pulumi.getter
316
+ def header(self) -> Optional[_builtins.str]:
317
+ """
318
+ The HTTP headers to be included in the health check request.
319
+ """
320
+ return pulumi.get(self, "header")
321
+
322
+ @_builtins.property
323
+ @pulumi.getter
324
+ def interval(self) -> Optional[_builtins.int]:
325
+ """
326
+ The monitoring interval, such as 60 seconds, checks the frequency.
327
+ """
328
+ return pulumi.get(self, "interval")
329
+
330
+ @_builtins.property
331
+ @pulumi.getter
332
+ def method(self) -> Optional[_builtins.str]:
333
+ """
334
+ Monitor request methods, such as GET, methods in the HTTP protocol.
335
+ """
336
+ return pulumi.get(self, "method")
337
+
338
+ @_builtins.property
339
+ @pulumi.getter(name="monitoringRegion")
340
+ def monitoring_region(self) -> Optional[_builtins.str]:
341
+ """
342
+ Probe Point Region, default to Global
343
+ - `Global`: Global.
344
+ - `ChineseMainland`: Chinese mainland.
345
+ - `OutsideChineseMainland`: Global (excluding the Chinese mainland).
346
+ """
347
+ return pulumi.get(self, "monitoring_region")
348
+
349
+ @_builtins.property
350
+ @pulumi.getter
351
+ def path(self) -> Optional[_builtins.str]:
352
+ """
353
+ The monitor checks the path, such as/healthcheck, the HTTP request path.
354
+ """
355
+ return pulumi.get(self, "path")
356
+
357
+ @_builtins.property
358
+ @pulumi.getter
359
+ def port(self) -> Optional[_builtins.int]:
360
+ """
361
+ The target port.
362
+ """
363
+ return pulumi.get(self, "port")
364
+
365
+ @_builtins.property
366
+ @pulumi.getter
367
+ def timeout(self) -> Optional[_builtins.int]:
368
+ """
369
+ The timeout for the health check, in seconds. The value range is 1-10.
370
+ """
371
+ return pulumi.get(self, "timeout")
372
+
373
+ @_builtins.property
374
+ @pulumi.getter
375
+ def type(self) -> Optional[_builtins.str]:
376
+ """
377
+ The type of monitor protocol, such as HTTP, used for health checks. When the value is off, it indicates that no check is performed.
378
+ """
379
+ return pulumi.get(self, "type")
380
+
381
+
382
+ @pulumi.output_type
383
+ class LoadBalancerRandomSteering(dict):
384
+ @staticmethod
385
+ def __key_warning(key: str):
386
+ suggest = None
387
+ if key == "defaultWeight":
388
+ suggest = "default_weight"
389
+ elif key == "poolWeights":
390
+ suggest = "pool_weights"
391
+
392
+ if suggest:
393
+ pulumi.log.warn(f"Key '{key}' not found in LoadBalancerRandomSteering. Access the value via the '{suggest}' property getter instead.")
394
+
395
+ def __getitem__(self, key: str) -> Any:
396
+ LoadBalancerRandomSteering.__key_warning(key)
397
+ return super().__getitem__(key)
398
+
399
+ def get(self, key: str, default = None) -> Any:
400
+ LoadBalancerRandomSteering.__key_warning(key)
401
+ return super().get(key, default)
402
+
403
+ def __init__(__self__, *,
404
+ default_weight: Optional[_builtins.int] = None,
405
+ pool_weights: Optional[Mapping[str, _builtins.str]] = None):
406
+ """
407
+ :param _builtins.int default_weight: The default round-robin weight, used for all pools that do not have individually specified weights. The value range is 0-100.
408
+ :param Mapping[str, _builtins.str] pool_weights: Weight configuration for each backend server pool, where the key is the pool ID and the value is the weight coefficient. The weight coefficient represents the proportion of relative traffic distribution.
409
+ """
410
+ if default_weight is not None:
411
+ pulumi.set(__self__, "default_weight", default_weight)
412
+ if pool_weights is not None:
413
+ pulumi.set(__self__, "pool_weights", pool_weights)
414
+
415
+ @_builtins.property
416
+ @pulumi.getter(name="defaultWeight")
417
+ def default_weight(self) -> Optional[_builtins.int]:
418
+ """
419
+ The default round-robin weight, used for all pools that do not have individually specified weights. The value range is 0-100.
420
+ """
421
+ return pulumi.get(self, "default_weight")
422
+
423
+ @_builtins.property
424
+ @pulumi.getter(name="poolWeights")
425
+ def pool_weights(self) -> Optional[Mapping[str, _builtins.str]]:
426
+ """
427
+ Weight configuration for each backend server pool, where the key is the pool ID and the value is the weight coefficient. The weight coefficient represents the proportion of relative traffic distribution.
428
+ """
429
+ return pulumi.get(self, "pool_weights")
430
+
431
+
432
+ @pulumi.output_type
433
+ class LoadBalancerRule(dict):
434
+ @staticmethod
435
+ def __key_warning(key: str):
436
+ suggest = None
437
+ if key == "fixedResponse":
438
+ suggest = "fixed_response"
439
+ elif key == "ruleEnable":
440
+ suggest = "rule_enable"
441
+ elif key == "ruleName":
442
+ suggest = "rule_name"
443
+
444
+ if suggest:
445
+ pulumi.log.warn(f"Key '{key}' not found in LoadBalancerRule. Access the value via the '{suggest}' property getter instead.")
446
+
447
+ def __getitem__(self, key: str) -> Any:
448
+ LoadBalancerRule.__key_warning(key)
449
+ return super().__getitem__(key)
450
+
451
+ def get(self, key: str, default = None) -> Any:
452
+ LoadBalancerRule.__key_warning(key)
453
+ return super().get(key, default)
454
+
455
+ def __init__(__self__, *,
456
+ fixed_response: Optional['outputs.LoadBalancerRuleFixedResponse'] = None,
457
+ overrides: Optional[_builtins.str] = None,
458
+ rule: Optional[_builtins.str] = None,
459
+ rule_enable: Optional[_builtins.str] = None,
460
+ rule_name: Optional[_builtins.str] = None,
461
+ sequence: Optional[_builtins.int] = None,
462
+ terminates: Optional[_builtins.bool] = None):
463
+ """
464
+ :param 'LoadBalancerRuleFixedResponseArgs' fixed_response: Executes a specified response after matching the rule. See `fixed_response` below.
465
+ :param _builtins.str overrides: Modifies the load balancer configuration for the corresponding request after matching the rule. The fields in this configuration will override the corresponding fields in the load balancer configuration.
466
+ :param _builtins.str rule: Rule content, using conditional expressions to match user requests. When adding global configuration, this parameter does not need to be set. There are two usage scenarios:
467
+ - Match all incoming requests: value set to true
468
+ - Match specified request: Set the value to a custom expression, for example: (http.host eq \\"video.example.com\\")
469
+ :param _builtins.str rule_enable: Rule switch. When adding global configuration, this parameter does not need to be set. Value range:
470
+ - on: open.
471
+ - off: close.
472
+ :param _builtins.str rule_name: Rule name. When adding global configuration, this parameter does not need to be set.
473
+ :param _builtins.int sequence: Order of rule execution. The smaller the value, the higher the priority for execution.
474
+ :param _builtins.bool terminates: Whether to terminate the execution of subsequent rules.
475
+ """
476
+ if fixed_response is not None:
477
+ pulumi.set(__self__, "fixed_response", fixed_response)
478
+ if overrides is not None:
479
+ pulumi.set(__self__, "overrides", overrides)
480
+ if rule is not None:
481
+ pulumi.set(__self__, "rule", rule)
482
+ if rule_enable is not None:
483
+ pulumi.set(__self__, "rule_enable", rule_enable)
484
+ if rule_name is not None:
485
+ pulumi.set(__self__, "rule_name", rule_name)
486
+ if sequence is not None:
487
+ pulumi.set(__self__, "sequence", sequence)
488
+ if terminates is not None:
489
+ pulumi.set(__self__, "terminates", terminates)
490
+
491
+ @_builtins.property
492
+ @pulumi.getter(name="fixedResponse")
493
+ def fixed_response(self) -> Optional['outputs.LoadBalancerRuleFixedResponse']:
494
+ """
495
+ Executes a specified response after matching the rule. See `fixed_response` below.
496
+ """
497
+ return pulumi.get(self, "fixed_response")
498
+
499
+ @_builtins.property
500
+ @pulumi.getter
501
+ def overrides(self) -> Optional[_builtins.str]:
502
+ """
503
+ Modifies the load balancer configuration for the corresponding request after matching the rule. The fields in this configuration will override the corresponding fields in the load balancer configuration.
504
+ """
505
+ return pulumi.get(self, "overrides")
506
+
507
+ @_builtins.property
508
+ @pulumi.getter
509
+ def rule(self) -> Optional[_builtins.str]:
510
+ """
511
+ Rule content, using conditional expressions to match user requests. When adding global configuration, this parameter does not need to be set. There are two usage scenarios:
512
+ - Match all incoming requests: value set to true
513
+ - Match specified request: Set the value to a custom expression, for example: (http.host eq \\"video.example.com\\")
514
+ """
515
+ return pulumi.get(self, "rule")
516
+
517
+ @_builtins.property
518
+ @pulumi.getter(name="ruleEnable")
519
+ def rule_enable(self) -> Optional[_builtins.str]:
520
+ """
521
+ Rule switch. When adding global configuration, this parameter does not need to be set. Value range:
522
+ - on: open.
523
+ - off: close.
524
+ """
525
+ return pulumi.get(self, "rule_enable")
526
+
527
+ @_builtins.property
528
+ @pulumi.getter(name="ruleName")
529
+ def rule_name(self) -> Optional[_builtins.str]:
530
+ """
531
+ Rule name. When adding global configuration, this parameter does not need to be set.
532
+ """
533
+ return pulumi.get(self, "rule_name")
534
+
535
+ @_builtins.property
536
+ @pulumi.getter
537
+ def sequence(self) -> Optional[_builtins.int]:
538
+ """
539
+ Order of rule execution. The smaller the value, the higher the priority for execution.
540
+ """
541
+ return pulumi.get(self, "sequence")
542
+
543
+ @_builtins.property
544
+ @pulumi.getter
545
+ def terminates(self) -> Optional[_builtins.bool]:
546
+ """
547
+ Whether to terminate the execution of subsequent rules.
548
+ """
549
+ return pulumi.get(self, "terminates")
550
+
551
+
552
+ @pulumi.output_type
553
+ class LoadBalancerRuleFixedResponse(dict):
554
+ @staticmethod
555
+ def __key_warning(key: str):
556
+ suggest = None
557
+ if key == "contentType":
558
+ suggest = "content_type"
559
+ elif key == "messageBody":
560
+ suggest = "message_body"
561
+ elif key == "statusCode":
562
+ suggest = "status_code"
563
+
564
+ if suggest:
565
+ pulumi.log.warn(f"Key '{key}' not found in LoadBalancerRuleFixedResponse. Access the value via the '{suggest}' property getter instead.")
566
+
567
+ def __getitem__(self, key: str) -> Any:
568
+ LoadBalancerRuleFixedResponse.__key_warning(key)
569
+ return super().__getitem__(key)
570
+
571
+ def get(self, key: str, default = None) -> Any:
572
+ LoadBalancerRuleFixedResponse.__key_warning(key)
573
+ return super().get(key, default)
574
+
575
+ def __init__(__self__, *,
576
+ content_type: Optional[_builtins.str] = None,
577
+ location: Optional[_builtins.str] = None,
578
+ message_body: Optional[_builtins.str] = None,
579
+ status_code: Optional[_builtins.int] = None):
580
+ """
581
+ :param _builtins.str content_type: The Content-Type field in the HTTP Header.
582
+ :param _builtins.str location: The location field in the http return.
583
+ :param _builtins.str message_body: The body value of the response.
584
+ :param _builtins.int status_code: Status Code.
585
+ """
586
+ if content_type is not None:
587
+ pulumi.set(__self__, "content_type", content_type)
588
+ if location is not None:
589
+ pulumi.set(__self__, "location", location)
590
+ if message_body is not None:
591
+ pulumi.set(__self__, "message_body", message_body)
592
+ if status_code is not None:
593
+ pulumi.set(__self__, "status_code", status_code)
594
+
595
+ @_builtins.property
596
+ @pulumi.getter(name="contentType")
597
+ def content_type(self) -> Optional[_builtins.str]:
598
+ """
599
+ The Content-Type field in the HTTP Header.
600
+ """
601
+ return pulumi.get(self, "content_type")
602
+
603
+ @_builtins.property
604
+ @pulumi.getter
605
+ def location(self) -> Optional[_builtins.str]:
606
+ """
607
+ The location field in the http return.
608
+ """
609
+ return pulumi.get(self, "location")
610
+
611
+ @_builtins.property
612
+ @pulumi.getter(name="messageBody")
613
+ def message_body(self) -> Optional[_builtins.str]:
614
+ """
615
+ The body value of the response.
616
+ """
617
+ return pulumi.get(self, "message_body")
618
+
619
+ @_builtins.property
620
+ @pulumi.getter(name="statusCode")
621
+ def status_code(self) -> Optional[_builtins.int]:
622
+ """
623
+ Status Code.
624
+ """
625
+ return pulumi.get(self, "status_code")
626
+
627
+
118
628
  @pulumi.output_type
119
629
  class OriginPoolOrigin(dict):
120
630
  @staticmethod
@@ -1285,6 +1795,1576 @@ class TransportLayerApplicationRule(dict):
1285
1795
  return pulumi.get(self, "rule_id")
1286
1796
 
1287
1797
 
1798
+ @pulumi.output_type
1799
+ class WafRuleConfig(dict):
1800
+ @staticmethod
1801
+ def __key_warning(key: str):
1802
+ suggest = None
1803
+ if key == "appPackage":
1804
+ suggest = "app_package"
1805
+ elif key == "appSdk":
1806
+ suggest = "app_sdk"
1807
+ elif key == "managedGroupId":
1808
+ suggest = "managed_group_id"
1809
+ elif key == "managedList":
1810
+ suggest = "managed_list"
1811
+ elif key == "managedRulesets":
1812
+ suggest = "managed_rulesets"
1813
+ elif key == "rateLimit":
1814
+ suggest = "rate_limit"
1815
+ elif key == "securityLevel":
1816
+ suggest = "security_level"
1817
+
1818
+ if suggest:
1819
+ pulumi.log.warn(f"Key '{key}' not found in WafRuleConfig. Access the value via the '{suggest}' property getter instead.")
1820
+
1821
+ def __getitem__(self, key: str) -> Any:
1822
+ WafRuleConfig.__key_warning(key)
1823
+ return super().__getitem__(key)
1824
+
1825
+ def get(self, key: str, default = None) -> Any:
1826
+ WafRuleConfig.__key_warning(key)
1827
+ return super().get(key, default)
1828
+
1829
+ def __init__(__self__, *,
1830
+ action: Optional[_builtins.str] = None,
1831
+ actions: Optional['outputs.WafRuleConfigActions'] = None,
1832
+ app_package: Optional['outputs.WafRuleConfigAppPackage'] = None,
1833
+ app_sdk: Optional['outputs.WafRuleConfigAppSdk'] = None,
1834
+ expression: Optional[_builtins.str] = None,
1835
+ id: Optional[_builtins.int] = None,
1836
+ managed_group_id: Optional[_builtins.int] = None,
1837
+ managed_list: Optional[_builtins.str] = None,
1838
+ managed_rulesets: Optional[Sequence['outputs.WafRuleConfigManagedRuleset']] = None,
1839
+ name: Optional[_builtins.str] = None,
1840
+ notes: Optional[_builtins.str] = None,
1841
+ rate_limit: Optional['outputs.WafRuleConfigRateLimit'] = None,
1842
+ security_level: Optional['outputs.WafRuleConfigSecurityLevel'] = None,
1843
+ sigchls: Optional[Sequence[_builtins.str]] = None,
1844
+ status: Optional[_builtins.str] = None,
1845
+ timer: Optional['outputs.WafRuleConfigTimer'] = None,
1846
+ type: Optional[_builtins.str] = None,
1847
+ value: Optional[_builtins.str] = None):
1848
+ """
1849
+ :param _builtins.str action: The action performed on requests that match the managed rule.
1850
+ :param 'WafRuleConfigActionsArgs' actions: Extended action configurations, including custom responses and bypass settings. See `actions` below.
1851
+ :param 'WafRuleConfigAppPackageArgs' app_package: Security mechanism to prevent apps from being repackaged. See `app_package` below.
1852
+ :param 'WafRuleConfigAppSdkArgs' app_sdk: Mobile app SDK-related configurations. See `app_sdk` below.
1853
+ :param _builtins.str expression: The match expression used to evaluate incoming requests.
1854
+ :param _builtins.int id: The ID of the custom error page, which can be obtained by calling the ListPages operation.
1855
+ :param _builtins.int managed_group_id: The ID of the managed rule group (deprecated).
1856
+ :param _builtins.str managed_list: The name of the managed list applied to this rule.
1857
+ :param Sequence['WafRuleConfigManagedRulesetArgs'] managed_rulesets: The managed rulesets referenced by this rule and their configurations. See `managed_rulesets` below.
1858
+ :param _builtins.str name: The package name of an authorized application.
1859
+ :param _builtins.str notes: Additional notes about this rule.
1860
+ :param 'WafRuleConfigRateLimitArgs' rate_limit: Configuration of the rate limiting rule. See `rate_limit` below.
1861
+ :param 'WafRuleConfigSecurityLevelArgs' security_level: The overall security protection level of WAF. See `security_level` below.
1862
+ :param Sequence[_builtins.str] sigchls: Configuration items for token verification mechanisms.
1863
+ :param _builtins.str status: The status of the managed rule: whether it is enabled or disabled.
1864
+ :param 'WafRuleConfigTimerArgs' timer: Configuration for the time schedule when the rule takes effect. See `timer` below.
1865
+ :param _builtins.str type: The type category of the WAF rule.
1866
+ :param _builtins.str value: The value of the custom signature field used for validation.
1867
+ """
1868
+ if action is not None:
1869
+ pulumi.set(__self__, "action", action)
1870
+ if actions is not None:
1871
+ pulumi.set(__self__, "actions", actions)
1872
+ if app_package is not None:
1873
+ pulumi.set(__self__, "app_package", app_package)
1874
+ if app_sdk is not None:
1875
+ pulumi.set(__self__, "app_sdk", app_sdk)
1876
+ if expression is not None:
1877
+ pulumi.set(__self__, "expression", expression)
1878
+ if id is not None:
1879
+ pulumi.set(__self__, "id", id)
1880
+ if managed_group_id is not None:
1881
+ pulumi.set(__self__, "managed_group_id", managed_group_id)
1882
+ if managed_list is not None:
1883
+ pulumi.set(__self__, "managed_list", managed_list)
1884
+ if managed_rulesets is not None:
1885
+ pulumi.set(__self__, "managed_rulesets", managed_rulesets)
1886
+ if name is not None:
1887
+ pulumi.set(__self__, "name", name)
1888
+ if notes is not None:
1889
+ pulumi.set(__self__, "notes", notes)
1890
+ if rate_limit is not None:
1891
+ pulumi.set(__self__, "rate_limit", rate_limit)
1892
+ if security_level is not None:
1893
+ pulumi.set(__self__, "security_level", security_level)
1894
+ if sigchls is not None:
1895
+ pulumi.set(__self__, "sigchls", sigchls)
1896
+ if status is not None:
1897
+ pulumi.set(__self__, "status", status)
1898
+ if timer is not None:
1899
+ pulumi.set(__self__, "timer", timer)
1900
+ if type is not None:
1901
+ pulumi.set(__self__, "type", type)
1902
+ if value is not None:
1903
+ pulumi.set(__self__, "value", value)
1904
+
1905
+ @_builtins.property
1906
+ @pulumi.getter
1907
+ def action(self) -> Optional[_builtins.str]:
1908
+ """
1909
+ The action performed on requests that match the managed rule.
1910
+ """
1911
+ return pulumi.get(self, "action")
1912
+
1913
+ @_builtins.property
1914
+ @pulumi.getter
1915
+ def actions(self) -> Optional['outputs.WafRuleConfigActions']:
1916
+ """
1917
+ Extended action configurations, including custom responses and bypass settings. See `actions` below.
1918
+ """
1919
+ return pulumi.get(self, "actions")
1920
+
1921
+ @_builtins.property
1922
+ @pulumi.getter(name="appPackage")
1923
+ def app_package(self) -> Optional['outputs.WafRuleConfigAppPackage']:
1924
+ """
1925
+ Security mechanism to prevent apps from being repackaged. See `app_package` below.
1926
+ """
1927
+ return pulumi.get(self, "app_package")
1928
+
1929
+ @_builtins.property
1930
+ @pulumi.getter(name="appSdk")
1931
+ def app_sdk(self) -> Optional['outputs.WafRuleConfigAppSdk']:
1932
+ """
1933
+ Mobile app SDK-related configurations. See `app_sdk` below.
1934
+ """
1935
+ return pulumi.get(self, "app_sdk")
1936
+
1937
+ @_builtins.property
1938
+ @pulumi.getter
1939
+ def expression(self) -> Optional[_builtins.str]:
1940
+ """
1941
+ The match expression used to evaluate incoming requests.
1942
+ """
1943
+ return pulumi.get(self, "expression")
1944
+
1945
+ @_builtins.property
1946
+ @pulumi.getter
1947
+ def id(self) -> Optional[_builtins.int]:
1948
+ """
1949
+ The ID of the custom error page, which can be obtained by calling the ListPages operation.
1950
+ """
1951
+ return pulumi.get(self, "id")
1952
+
1953
+ @_builtins.property
1954
+ @pulumi.getter(name="managedGroupId")
1955
+ def managed_group_id(self) -> Optional[_builtins.int]:
1956
+ """
1957
+ The ID of the managed rule group (deprecated).
1958
+ """
1959
+ return pulumi.get(self, "managed_group_id")
1960
+
1961
+ @_builtins.property
1962
+ @pulumi.getter(name="managedList")
1963
+ def managed_list(self) -> Optional[_builtins.str]:
1964
+ """
1965
+ The name of the managed list applied to this rule.
1966
+ """
1967
+ return pulumi.get(self, "managed_list")
1968
+
1969
+ @_builtins.property
1970
+ @pulumi.getter(name="managedRulesets")
1971
+ def managed_rulesets(self) -> Optional[Sequence['outputs.WafRuleConfigManagedRuleset']]:
1972
+ """
1973
+ The managed rulesets referenced by this rule and their configurations. See `managed_rulesets` below.
1974
+ """
1975
+ return pulumi.get(self, "managed_rulesets")
1976
+
1977
+ @_builtins.property
1978
+ @pulumi.getter
1979
+ def name(self) -> Optional[_builtins.str]:
1980
+ """
1981
+ The package name of an authorized application.
1982
+ """
1983
+ return pulumi.get(self, "name")
1984
+
1985
+ @_builtins.property
1986
+ @pulumi.getter
1987
+ def notes(self) -> Optional[_builtins.str]:
1988
+ """
1989
+ Additional notes about this rule.
1990
+ """
1991
+ return pulumi.get(self, "notes")
1992
+
1993
+ @_builtins.property
1994
+ @pulumi.getter(name="rateLimit")
1995
+ def rate_limit(self) -> Optional['outputs.WafRuleConfigRateLimit']:
1996
+ """
1997
+ Configuration of the rate limiting rule. See `rate_limit` below.
1998
+ """
1999
+ return pulumi.get(self, "rate_limit")
2000
+
2001
+ @_builtins.property
2002
+ @pulumi.getter(name="securityLevel")
2003
+ def security_level(self) -> Optional['outputs.WafRuleConfigSecurityLevel']:
2004
+ """
2005
+ The overall security protection level of WAF. See `security_level` below.
2006
+ """
2007
+ return pulumi.get(self, "security_level")
2008
+
2009
+ @_builtins.property
2010
+ @pulumi.getter
2011
+ def sigchls(self) -> Optional[Sequence[_builtins.str]]:
2012
+ """
2013
+ Configuration items for token verification mechanisms.
2014
+ """
2015
+ return pulumi.get(self, "sigchls")
2016
+
2017
+ @_builtins.property
2018
+ @pulumi.getter
2019
+ def status(self) -> Optional[_builtins.str]:
2020
+ """
2021
+ The status of the managed rule: whether it is enabled or disabled.
2022
+ """
2023
+ return pulumi.get(self, "status")
2024
+
2025
+ @_builtins.property
2026
+ @pulumi.getter
2027
+ def timer(self) -> Optional['outputs.WafRuleConfigTimer']:
2028
+ """
2029
+ Configuration for the time schedule when the rule takes effect. See `timer` below.
2030
+ """
2031
+ return pulumi.get(self, "timer")
2032
+
2033
+ @_builtins.property
2034
+ @pulumi.getter
2035
+ def type(self) -> Optional[_builtins.str]:
2036
+ """
2037
+ The type category of the WAF rule.
2038
+ """
2039
+ return pulumi.get(self, "type")
2040
+
2041
+ @_builtins.property
2042
+ @pulumi.getter
2043
+ def value(self) -> Optional[_builtins.str]:
2044
+ """
2045
+ The value of the custom signature field used for validation.
2046
+ """
2047
+ return pulumi.get(self, "value")
2048
+
2049
+
2050
+ @pulumi.output_type
2051
+ class WafRuleConfigActions(dict):
2052
+ def __init__(__self__, *,
2053
+ bypass: Optional['outputs.WafRuleConfigActionsBypass'] = None,
2054
+ response: Optional['outputs.WafRuleConfigActionsResponse'] = None):
2055
+ """
2056
+ :param 'WafRuleConfigActionsBypassArgs' bypass: The skip configuration specified by the whitelist rule. See `bypass` below.
2057
+ """
2058
+ if bypass is not None:
2059
+ pulumi.set(__self__, "bypass", bypass)
2060
+ if response is not None:
2061
+ pulumi.set(__self__, "response", response)
2062
+
2063
+ @_builtins.property
2064
+ @pulumi.getter
2065
+ def bypass(self) -> Optional['outputs.WafRuleConfigActionsBypass']:
2066
+ """
2067
+ The skip configuration specified by the whitelist rule. See `bypass` below.
2068
+ """
2069
+ return pulumi.get(self, "bypass")
2070
+
2071
+ @_builtins.property
2072
+ @pulumi.getter
2073
+ def response(self) -> Optional['outputs.WafRuleConfigActionsResponse']:
2074
+ return pulumi.get(self, "response")
2075
+
2076
+
2077
+ @pulumi.output_type
2078
+ class WafRuleConfigActionsBypass(dict):
2079
+ @staticmethod
2080
+ def __key_warning(key: str):
2081
+ suggest = None
2082
+ if key == "customRules":
2083
+ suggest = "custom_rules"
2084
+ elif key == "regularRules":
2085
+ suggest = "regular_rules"
2086
+ elif key == "regularTypes":
2087
+ suggest = "regular_types"
2088
+
2089
+ if suggest:
2090
+ pulumi.log.warn(f"Key '{key}' not found in WafRuleConfigActionsBypass. Access the value via the '{suggest}' property getter instead.")
2091
+
2092
+ def __getitem__(self, key: str) -> Any:
2093
+ WafRuleConfigActionsBypass.__key_warning(key)
2094
+ return super().__getitem__(key)
2095
+
2096
+ def get(self, key: str, default = None) -> Any:
2097
+ WafRuleConfigActionsBypass.__key_warning(key)
2098
+ return super().get(key, default)
2099
+
2100
+ def __init__(__self__, *,
2101
+ custom_rules: Optional[Sequence[_builtins.int]] = None,
2102
+ regular_rules: Optional[Sequence[_builtins.int]] = None,
2103
+ regular_types: Optional[Sequence[_builtins.str]] = None,
2104
+ skip: Optional[_builtins.str] = None,
2105
+ tags: Optional[Sequence[_builtins.str]] = None):
2106
+ """
2107
+ :param Sequence[_builtins.int] custom_rules: The IDs of custom rules to skip.
2108
+ :param Sequence[_builtins.int] regular_rules: The IDs of specific managed rules to skip.
2109
+ :param Sequence[_builtins.str] regular_types: The types of managed rules to skip.
2110
+ :param _builtins.str skip: The scope that is skipped when requests match conditions defined in the whitelist rule.
2111
+ :param Sequence[_builtins.str] tags: The rule categories that are skipped when requests match conditions defined in the whitelist rule.
2112
+ """
2113
+ if custom_rules is not None:
2114
+ pulumi.set(__self__, "custom_rules", custom_rules)
2115
+ if regular_rules is not None:
2116
+ pulumi.set(__self__, "regular_rules", regular_rules)
2117
+ if regular_types is not None:
2118
+ pulumi.set(__self__, "regular_types", regular_types)
2119
+ if skip is not None:
2120
+ pulumi.set(__self__, "skip", skip)
2121
+ if tags is not None:
2122
+ pulumi.set(__self__, "tags", tags)
2123
+
2124
+ @_builtins.property
2125
+ @pulumi.getter(name="customRules")
2126
+ def custom_rules(self) -> Optional[Sequence[_builtins.int]]:
2127
+ """
2128
+ The IDs of custom rules to skip.
2129
+ """
2130
+ return pulumi.get(self, "custom_rules")
2131
+
2132
+ @_builtins.property
2133
+ @pulumi.getter(name="regularRules")
2134
+ def regular_rules(self) -> Optional[Sequence[_builtins.int]]:
2135
+ """
2136
+ The IDs of specific managed rules to skip.
2137
+ """
2138
+ return pulumi.get(self, "regular_rules")
2139
+
2140
+ @_builtins.property
2141
+ @pulumi.getter(name="regularTypes")
2142
+ def regular_types(self) -> Optional[Sequence[_builtins.str]]:
2143
+ """
2144
+ The types of managed rules to skip.
2145
+ """
2146
+ return pulumi.get(self, "regular_types")
2147
+
2148
+ @_builtins.property
2149
+ @pulumi.getter
2150
+ def skip(self) -> Optional[_builtins.str]:
2151
+ """
2152
+ The scope that is skipped when requests match conditions defined in the whitelist rule.
2153
+ """
2154
+ return pulumi.get(self, "skip")
2155
+
2156
+ @_builtins.property
2157
+ @pulumi.getter
2158
+ def tags(self) -> Optional[Sequence[_builtins.str]]:
2159
+ """
2160
+ The rule categories that are skipped when requests match conditions defined in the whitelist rule.
2161
+ """
2162
+ return pulumi.get(self, "tags")
2163
+
2164
+
2165
+ @pulumi.output_type
2166
+ class WafRuleConfigActionsResponse(dict):
2167
+ def __init__(__self__, *,
2168
+ code: Optional[_builtins.int] = None,
2169
+ id: Optional[_builtins.int] = None):
2170
+ """
2171
+ :param _builtins.int id: The internal unique ID of the WAF rule.
2172
+ """
2173
+ if code is not None:
2174
+ pulumi.set(__self__, "code", code)
2175
+ if id is not None:
2176
+ pulumi.set(__self__, "id", id)
2177
+
2178
+ @_builtins.property
2179
+ @pulumi.getter
2180
+ def code(self) -> Optional[_builtins.int]:
2181
+ return pulumi.get(self, "code")
2182
+
2183
+ @_builtins.property
2184
+ @pulumi.getter
2185
+ def id(self) -> Optional[_builtins.int]:
2186
+ """
2187
+ The internal unique ID of the WAF rule.
2188
+ """
2189
+ return pulumi.get(self, "id")
2190
+
2191
+
2192
+ @pulumi.output_type
2193
+ class WafRuleConfigAppPackage(dict):
2194
+ @staticmethod
2195
+ def __key_warning(key: str):
2196
+ suggest = None
2197
+ if key == "packageSigns":
2198
+ suggest = "package_signs"
2199
+
2200
+ if suggest:
2201
+ pulumi.log.warn(f"Key '{key}' not found in WafRuleConfigAppPackage. Access the value via the '{suggest}' property getter instead.")
2202
+
2203
+ def __getitem__(self, key: str) -> Any:
2204
+ WafRuleConfigAppPackage.__key_warning(key)
2205
+ return super().__getitem__(key)
2206
+
2207
+ def get(self, key: str, default = None) -> Any:
2208
+ WafRuleConfigAppPackage.__key_warning(key)
2209
+ return super().get(key, default)
2210
+
2211
+ def __init__(__self__, *,
2212
+ package_signs: Optional[Sequence['outputs.WafRuleConfigAppPackagePackageSign']] = None):
2213
+ """
2214
+ :param Sequence['WafRuleConfigAppPackagePackageSignArgs'] package_signs: Security mechanism to prevent apps from being repackaged. See `package_signs` below.
2215
+ """
2216
+ if package_signs is not None:
2217
+ pulumi.set(__self__, "package_signs", package_signs)
2218
+
2219
+ @_builtins.property
2220
+ @pulumi.getter(name="packageSigns")
2221
+ def package_signs(self) -> Optional[Sequence['outputs.WafRuleConfigAppPackagePackageSign']]:
2222
+ """
2223
+ Security mechanism to prevent apps from being repackaged. See `package_signs` below.
2224
+ """
2225
+ return pulumi.get(self, "package_signs")
2226
+
2227
+
2228
+ @pulumi.output_type
2229
+ class WafRuleConfigAppPackagePackageSign(dict):
2230
+ def __init__(__self__, *,
2231
+ name: Optional[_builtins.str] = None,
2232
+ sign: Optional[_builtins.str] = None):
2233
+ """
2234
+ :param _builtins.str sign: The digital signature of a legitimate app package.
2235
+ """
2236
+ if name is not None:
2237
+ pulumi.set(__self__, "name", name)
2238
+ if sign is not None:
2239
+ pulumi.set(__self__, "sign", sign)
2240
+
2241
+ @_builtins.property
2242
+ @pulumi.getter
2243
+ def name(self) -> Optional[_builtins.str]:
2244
+ return pulumi.get(self, "name")
2245
+
2246
+ @_builtins.property
2247
+ @pulumi.getter
2248
+ def sign(self) -> Optional[_builtins.str]:
2249
+ """
2250
+ The digital signature of a legitimate app package.
2251
+ """
2252
+ return pulumi.get(self, "sign")
2253
+
2254
+
2255
+ @pulumi.output_type
2256
+ class WafRuleConfigAppSdk(dict):
2257
+ @staticmethod
2258
+ def __key_warning(key: str):
2259
+ suggest = None
2260
+ if key == "customSign":
2261
+ suggest = "custom_sign"
2262
+ elif key == "customSignStatus":
2263
+ suggest = "custom_sign_status"
2264
+ elif key == "featureAbnormals":
2265
+ suggest = "feature_abnormals"
2266
+
2267
+ if suggest:
2268
+ pulumi.log.warn(f"Key '{key}' not found in WafRuleConfigAppSdk. Access the value via the '{suggest}' property getter instead.")
2269
+
2270
+ def __getitem__(self, key: str) -> Any:
2271
+ WafRuleConfigAppSdk.__key_warning(key)
2272
+ return super().__getitem__(key)
2273
+
2274
+ def get(self, key: str, default = None) -> Any:
2275
+ WafRuleConfigAppSdk.__key_warning(key)
2276
+ return super().get(key, default)
2277
+
2278
+ def __init__(__self__, *,
2279
+ custom_sign: Optional['outputs.WafRuleConfigAppSdkCustomSign'] = None,
2280
+ custom_sign_status: Optional[_builtins.str] = None,
2281
+ feature_abnormals: Optional[Sequence[_builtins.str]] = None):
2282
+ """
2283
+ :param 'WafRuleConfigAppSdkCustomSignArgs' custom_sign: Custom fields used for mobile app signature validation. See `custom_sign` below.
2284
+ :param _builtins.str custom_sign_status: Indicates whether the custom signature field validation is enabled.
2285
+ :param Sequence[_builtins.str] feature_abnormals: Detected abnormal behaviors of the application.
2286
+ """
2287
+ if custom_sign is not None:
2288
+ pulumi.set(__self__, "custom_sign", custom_sign)
2289
+ if custom_sign_status is not None:
2290
+ pulumi.set(__self__, "custom_sign_status", custom_sign_status)
2291
+ if feature_abnormals is not None:
2292
+ pulumi.set(__self__, "feature_abnormals", feature_abnormals)
2293
+
2294
+ @_builtins.property
2295
+ @pulumi.getter(name="customSign")
2296
+ def custom_sign(self) -> Optional['outputs.WafRuleConfigAppSdkCustomSign']:
2297
+ """
2298
+ Custom fields used for mobile app signature validation. See `custom_sign` below.
2299
+ """
2300
+ return pulumi.get(self, "custom_sign")
2301
+
2302
+ @_builtins.property
2303
+ @pulumi.getter(name="customSignStatus")
2304
+ def custom_sign_status(self) -> Optional[_builtins.str]:
2305
+ """
2306
+ Indicates whether the custom signature field validation is enabled.
2307
+ """
2308
+ return pulumi.get(self, "custom_sign_status")
2309
+
2310
+ @_builtins.property
2311
+ @pulumi.getter(name="featureAbnormals")
2312
+ def feature_abnormals(self) -> Optional[Sequence[_builtins.str]]:
2313
+ """
2314
+ Detected abnormal behaviors of the application.
2315
+ """
2316
+ return pulumi.get(self, "feature_abnormals")
2317
+
2318
+
2319
+ @pulumi.output_type
2320
+ class WafRuleConfigAppSdkCustomSign(dict):
2321
+ def __init__(__self__, *,
2322
+ key: Optional[_builtins.str] = None,
2323
+ value: Optional[_builtins.str] = None):
2324
+ """
2325
+ :param _builtins.str key: The name of the custom signature field used for validation.
2326
+ :param _builtins.str value: The value of the custom signature field used for validation.
2327
+ """
2328
+ if key is not None:
2329
+ pulumi.set(__self__, "key", key)
2330
+ if value is not None:
2331
+ pulumi.set(__self__, "value", value)
2332
+
2333
+ @_builtins.property
2334
+ @pulumi.getter
2335
+ def key(self) -> Optional[_builtins.str]:
2336
+ """
2337
+ The name of the custom signature field used for validation.
2338
+ """
2339
+ return pulumi.get(self, "key")
2340
+
2341
+ @_builtins.property
2342
+ @pulumi.getter
2343
+ def value(self) -> Optional[_builtins.str]:
2344
+ """
2345
+ The value of the custom signature field used for validation.
2346
+ """
2347
+ return pulumi.get(self, "value")
2348
+
2349
+
2350
+ @pulumi.output_type
2351
+ class WafRuleConfigManagedRuleset(dict):
2352
+ @staticmethod
2353
+ def __key_warning(key: str):
2354
+ suggest = None
2355
+ if key == "attackType":
2356
+ suggest = "attack_type"
2357
+ elif key == "managedRules":
2358
+ suggest = "managed_rules"
2359
+ elif key == "numberEnabled":
2360
+ suggest = "number_enabled"
2361
+ elif key == "numberTotal":
2362
+ suggest = "number_total"
2363
+ elif key == "protectionLevel":
2364
+ suggest = "protection_level"
2365
+
2366
+ if suggest:
2367
+ pulumi.log.warn(f"Key '{key}' not found in WafRuleConfigManagedRuleset. Access the value via the '{suggest}' property getter instead.")
2368
+
2369
+ def __getitem__(self, key: str) -> Any:
2370
+ WafRuleConfigManagedRuleset.__key_warning(key)
2371
+ return super().__getitem__(key)
2372
+
2373
+ def get(self, key: str, default = None) -> Any:
2374
+ WafRuleConfigManagedRuleset.__key_warning(key)
2375
+ return super().get(key, default)
2376
+
2377
+ def __init__(__self__, *,
2378
+ action: Optional[_builtins.str] = None,
2379
+ attack_type: Optional[_builtins.int] = None,
2380
+ managed_rules: Optional[Sequence['outputs.WafRuleConfigManagedRulesetManagedRule']] = None,
2381
+ number_enabled: Optional[_builtins.int] = None,
2382
+ number_total: Optional[_builtins.int] = None,
2383
+ protection_level: Optional[_builtins.int] = None):
2384
+ """
2385
+ :param _builtins.int attack_type: The primary attack type targeted by this ruleset.
2386
+ :param Sequence['WafRuleConfigManagedRulesetManagedRuleArgs'] managed_rules: The individual managed rules included in this ruleset. See `managed_rules` below.
2387
+ :param _builtins.int number_enabled: Number of rules currently enabled.
2388
+ :param _builtins.int number_total: Total number of rules in this ruleset.
2389
+ :param _builtins.int protection_level: The protection strength level assigned to this ruleset.
2390
+ """
2391
+ if action is not None:
2392
+ pulumi.set(__self__, "action", action)
2393
+ if attack_type is not None:
2394
+ pulumi.set(__self__, "attack_type", attack_type)
2395
+ if managed_rules is not None:
2396
+ pulumi.set(__self__, "managed_rules", managed_rules)
2397
+ if number_enabled is not None:
2398
+ pulumi.set(__self__, "number_enabled", number_enabled)
2399
+ if number_total is not None:
2400
+ pulumi.set(__self__, "number_total", number_total)
2401
+ if protection_level is not None:
2402
+ pulumi.set(__self__, "protection_level", protection_level)
2403
+
2404
+ @_builtins.property
2405
+ @pulumi.getter
2406
+ def action(self) -> Optional[_builtins.str]:
2407
+ return pulumi.get(self, "action")
2408
+
2409
+ @_builtins.property
2410
+ @pulumi.getter(name="attackType")
2411
+ def attack_type(self) -> Optional[_builtins.int]:
2412
+ """
2413
+ The primary attack type targeted by this ruleset.
2414
+ """
2415
+ return pulumi.get(self, "attack_type")
2416
+
2417
+ @_builtins.property
2418
+ @pulumi.getter(name="managedRules")
2419
+ def managed_rules(self) -> Optional[Sequence['outputs.WafRuleConfigManagedRulesetManagedRule']]:
2420
+ """
2421
+ The individual managed rules included in this ruleset. See `managed_rules` below.
2422
+ """
2423
+ return pulumi.get(self, "managed_rules")
2424
+
2425
+ @_builtins.property
2426
+ @pulumi.getter(name="numberEnabled")
2427
+ def number_enabled(self) -> Optional[_builtins.int]:
2428
+ """
2429
+ Number of rules currently enabled.
2430
+ """
2431
+ return pulumi.get(self, "number_enabled")
2432
+
2433
+ @_builtins.property
2434
+ @pulumi.getter(name="numberTotal")
2435
+ def number_total(self) -> Optional[_builtins.int]:
2436
+ """
2437
+ Total number of rules in this ruleset.
2438
+ """
2439
+ return pulumi.get(self, "number_total")
2440
+
2441
+ @_builtins.property
2442
+ @pulumi.getter(name="protectionLevel")
2443
+ def protection_level(self) -> Optional[_builtins.int]:
2444
+ """
2445
+ The protection strength level assigned to this ruleset.
2446
+ """
2447
+ return pulumi.get(self, "protection_level")
2448
+
2449
+
2450
+ @pulumi.output_type
2451
+ class WafRuleConfigManagedRulesetManagedRule(dict):
2452
+ def __init__(__self__, *,
2453
+ action: Optional[_builtins.str] = None,
2454
+ id: Optional[_builtins.int] = None,
2455
+ status: Optional[_builtins.str] = None):
2456
+ """
2457
+ :param _builtins.int id: The internal unique ID of the WAF rule.
2458
+ :param _builtins.str status: The status of the managed rule: whether it is enabled or disabled.
2459
+ """
2460
+ if action is not None:
2461
+ pulumi.set(__self__, "action", action)
2462
+ if id is not None:
2463
+ pulumi.set(__self__, "id", id)
2464
+ if status is not None:
2465
+ pulumi.set(__self__, "status", status)
2466
+
2467
+ @_builtins.property
2468
+ @pulumi.getter
2469
+ def action(self) -> Optional[_builtins.str]:
2470
+ return pulumi.get(self, "action")
2471
+
2472
+ @_builtins.property
2473
+ @pulumi.getter
2474
+ def id(self) -> Optional[_builtins.int]:
2475
+ """
2476
+ The internal unique ID of the WAF rule.
2477
+ """
2478
+ return pulumi.get(self, "id")
2479
+
2480
+ @_builtins.property
2481
+ @pulumi.getter
2482
+ def status(self) -> Optional[_builtins.str]:
2483
+ """
2484
+ The status of the managed rule: whether it is enabled or disabled.
2485
+ """
2486
+ return pulumi.get(self, "status")
2487
+
2488
+
2489
+ @pulumi.output_type
2490
+ class WafRuleConfigRateLimit(dict):
2491
+ @staticmethod
2492
+ def __key_warning(key: str):
2493
+ suggest = None
2494
+ if key == "onHit":
2495
+ suggest = "on_hit"
2496
+
2497
+ if suggest:
2498
+ pulumi.log.warn(f"Key '{key}' not found in WafRuleConfigRateLimit. Access the value via the '{suggest}' property getter instead.")
2499
+
2500
+ def __getitem__(self, key: str) -> Any:
2501
+ WafRuleConfigRateLimit.__key_warning(key)
2502
+ return super().__getitem__(key)
2503
+
2504
+ def get(self, key: str, default = None) -> Any:
2505
+ WafRuleConfigRateLimit.__key_warning(key)
2506
+ return super().get(key, default)
2507
+
2508
+ def __init__(__self__, *,
2509
+ characteristics: Optional['outputs.WafRuleConfigRateLimitCharacteristics'] = None,
2510
+ interval: Optional[_builtins.int] = None,
2511
+ on_hit: Optional[_builtins.bool] = None,
2512
+ threshold: Optional['outputs.WafRuleConfigRateLimitThreshold'] = None,
2513
+ ttl: Optional[_builtins.int] = None):
2514
+ """
2515
+ :param 'WafRuleConfigRateLimitCharacteristicsArgs' characteristics: The statistical dimensions to which the rate limiting rule applies. See `characteristics` below.
2516
+ :param _builtins.int interval: The statistical interval.
2517
+ :param _builtins.bool on_hit: Indicates whether the rule applies to requests that hit the cache.
2518
+ :param 'WafRuleConfigRateLimitThresholdArgs' threshold: Threshold settings for the rate limiting rule. See `threshold` below.
2519
+ :param _builtins.int ttl: The timeout period for creating the stack used in rate limiting.
2520
+ """
2521
+ if characteristics is not None:
2522
+ pulumi.set(__self__, "characteristics", characteristics)
2523
+ if interval is not None:
2524
+ pulumi.set(__self__, "interval", interval)
2525
+ if on_hit is not None:
2526
+ pulumi.set(__self__, "on_hit", on_hit)
2527
+ if threshold is not None:
2528
+ pulumi.set(__self__, "threshold", threshold)
2529
+ if ttl is not None:
2530
+ pulumi.set(__self__, "ttl", ttl)
2531
+
2532
+ @_builtins.property
2533
+ @pulumi.getter
2534
+ def characteristics(self) -> Optional['outputs.WafRuleConfigRateLimitCharacteristics']:
2535
+ """
2536
+ The statistical dimensions to which the rate limiting rule applies. See `characteristics` below.
2537
+ """
2538
+ return pulumi.get(self, "characteristics")
2539
+
2540
+ @_builtins.property
2541
+ @pulumi.getter
2542
+ def interval(self) -> Optional[_builtins.int]:
2543
+ """
2544
+ The statistical interval.
2545
+ """
2546
+ return pulumi.get(self, "interval")
2547
+
2548
+ @_builtins.property
2549
+ @pulumi.getter(name="onHit")
2550
+ def on_hit(self) -> Optional[_builtins.bool]:
2551
+ """
2552
+ Indicates whether the rule applies to requests that hit the cache.
2553
+ """
2554
+ return pulumi.get(self, "on_hit")
2555
+
2556
+ @_builtins.property
2557
+ @pulumi.getter
2558
+ def threshold(self) -> Optional['outputs.WafRuleConfigRateLimitThreshold']:
2559
+ """
2560
+ Threshold settings for the rate limiting rule. See `threshold` below.
2561
+ """
2562
+ return pulumi.get(self, "threshold")
2563
+
2564
+ @_builtins.property
2565
+ @pulumi.getter
2566
+ def ttl(self) -> Optional[_builtins.int]:
2567
+ """
2568
+ The timeout period for creating the stack used in rate limiting.
2569
+ """
2570
+ return pulumi.get(self, "ttl")
2571
+
2572
+
2573
+ @pulumi.output_type
2574
+ class WafRuleConfigRateLimitCharacteristics(dict):
2575
+ def __init__(__self__, *,
2576
+ criterias: Optional[Sequence['outputs.WafRuleConfigRateLimitCharacteristicsCriteria']] = None,
2577
+ logic: Optional[_builtins.str] = None):
2578
+ if criterias is not None:
2579
+ pulumi.set(__self__, "criterias", criterias)
2580
+ if logic is not None:
2581
+ pulumi.set(__self__, "logic", logic)
2582
+
2583
+ @_builtins.property
2584
+ @pulumi.getter
2585
+ def criterias(self) -> Optional[Sequence['outputs.WafRuleConfigRateLimitCharacteristicsCriteria']]:
2586
+ return pulumi.get(self, "criterias")
2587
+
2588
+ @_builtins.property
2589
+ @pulumi.getter
2590
+ def logic(self) -> Optional[_builtins.str]:
2591
+ return pulumi.get(self, "logic")
2592
+
2593
+
2594
+ @pulumi.output_type
2595
+ class WafRuleConfigRateLimitCharacteristicsCriteria(dict):
2596
+ @staticmethod
2597
+ def __key_warning(key: str):
2598
+ suggest = None
2599
+ if key == "matchType":
2600
+ suggest = "match_type"
2601
+
2602
+ if suggest:
2603
+ pulumi.log.warn(f"Key '{key}' not found in WafRuleConfigRateLimitCharacteristicsCriteria. Access the value via the '{suggest}' property getter instead.")
2604
+
2605
+ def __getitem__(self, key: str) -> Any:
2606
+ WafRuleConfigRateLimitCharacteristicsCriteria.__key_warning(key)
2607
+ return super().__getitem__(key)
2608
+
2609
+ def get(self, key: str, default = None) -> Any:
2610
+ WafRuleConfigRateLimitCharacteristicsCriteria.__key_warning(key)
2611
+ return super().get(key, default)
2612
+
2613
+ def __init__(__self__, *,
2614
+ criterias: Optional[Sequence['outputs.WafRuleConfigRateLimitCharacteristicsCriteriaCriteria']] = None,
2615
+ logic: Optional[_builtins.str] = None,
2616
+ match_type: Optional[_builtins.str] = None):
2617
+ if criterias is not None:
2618
+ pulumi.set(__self__, "criterias", criterias)
2619
+ if logic is not None:
2620
+ pulumi.set(__self__, "logic", logic)
2621
+ if match_type is not None:
2622
+ pulumi.set(__self__, "match_type", match_type)
2623
+
2624
+ @_builtins.property
2625
+ @pulumi.getter
2626
+ def criterias(self) -> Optional[Sequence['outputs.WafRuleConfigRateLimitCharacteristicsCriteriaCriteria']]:
2627
+ return pulumi.get(self, "criterias")
2628
+
2629
+ @_builtins.property
2630
+ @pulumi.getter
2631
+ def logic(self) -> Optional[_builtins.str]:
2632
+ return pulumi.get(self, "logic")
2633
+
2634
+ @_builtins.property
2635
+ @pulumi.getter(name="matchType")
2636
+ def match_type(self) -> Optional[_builtins.str]:
2637
+ return pulumi.get(self, "match_type")
2638
+
2639
+
2640
+ @pulumi.output_type
2641
+ class WafRuleConfigRateLimitCharacteristicsCriteriaCriteria(dict):
2642
+ @staticmethod
2643
+ def __key_warning(key: str):
2644
+ suggest = None
2645
+ if key == "matchType":
2646
+ suggest = "match_type"
2647
+
2648
+ if suggest:
2649
+ pulumi.log.warn(f"Key '{key}' not found in WafRuleConfigRateLimitCharacteristicsCriteriaCriteria. Access the value via the '{suggest}' property getter instead.")
2650
+
2651
+ def __getitem__(self, key: str) -> Any:
2652
+ WafRuleConfigRateLimitCharacteristicsCriteriaCriteria.__key_warning(key)
2653
+ return super().__getitem__(key)
2654
+
2655
+ def get(self, key: str, default = None) -> Any:
2656
+ WafRuleConfigRateLimitCharacteristicsCriteriaCriteria.__key_warning(key)
2657
+ return super().get(key, default)
2658
+
2659
+ def __init__(__self__, *,
2660
+ criterias: Optional[Sequence['outputs.WafRuleConfigRateLimitCharacteristicsCriteriaCriteriaCriteria']] = None,
2661
+ logic: Optional[_builtins.str] = None,
2662
+ match_type: Optional[_builtins.str] = None):
2663
+ if criterias is not None:
2664
+ pulumi.set(__self__, "criterias", criterias)
2665
+ if logic is not None:
2666
+ pulumi.set(__self__, "logic", logic)
2667
+ if match_type is not None:
2668
+ pulumi.set(__self__, "match_type", match_type)
2669
+
2670
+ @_builtins.property
2671
+ @pulumi.getter
2672
+ def criterias(self) -> Optional[Sequence['outputs.WafRuleConfigRateLimitCharacteristicsCriteriaCriteriaCriteria']]:
2673
+ return pulumi.get(self, "criterias")
2674
+
2675
+ @_builtins.property
2676
+ @pulumi.getter
2677
+ def logic(self) -> Optional[_builtins.str]:
2678
+ return pulumi.get(self, "logic")
2679
+
2680
+ @_builtins.property
2681
+ @pulumi.getter(name="matchType")
2682
+ def match_type(self) -> Optional[_builtins.str]:
2683
+ return pulumi.get(self, "match_type")
2684
+
2685
+
2686
+ @pulumi.output_type
2687
+ class WafRuleConfigRateLimitCharacteristicsCriteriaCriteriaCriteria(dict):
2688
+ @staticmethod
2689
+ def __key_warning(key: str):
2690
+ suggest = None
2691
+ if key == "matchType":
2692
+ suggest = "match_type"
2693
+
2694
+ if suggest:
2695
+ pulumi.log.warn(f"Key '{key}' not found in WafRuleConfigRateLimitCharacteristicsCriteriaCriteriaCriteria. Access the value via the '{suggest}' property getter instead.")
2696
+
2697
+ def __getitem__(self, key: str) -> Any:
2698
+ WafRuleConfigRateLimitCharacteristicsCriteriaCriteriaCriteria.__key_warning(key)
2699
+ return super().__getitem__(key)
2700
+
2701
+ def get(self, key: str, default = None) -> Any:
2702
+ WafRuleConfigRateLimitCharacteristicsCriteriaCriteriaCriteria.__key_warning(key)
2703
+ return super().get(key, default)
2704
+
2705
+ def __init__(__self__, *,
2706
+ match_type: Optional[_builtins.str] = None):
2707
+ if match_type is not None:
2708
+ pulumi.set(__self__, "match_type", match_type)
2709
+
2710
+ @_builtins.property
2711
+ @pulumi.getter(name="matchType")
2712
+ def match_type(self) -> Optional[_builtins.str]:
2713
+ return pulumi.get(self, "match_type")
2714
+
2715
+
2716
+ @pulumi.output_type
2717
+ class WafRuleConfigRateLimitThreshold(dict):
2718
+ @staticmethod
2719
+ def __key_warning(key: str):
2720
+ suggest = None
2721
+ if key == "distinctManagedRules":
2722
+ suggest = "distinct_managed_rules"
2723
+ elif key == "managedRulesBlocked":
2724
+ suggest = "managed_rules_blocked"
2725
+ elif key == "responseStatus":
2726
+ suggest = "response_status"
2727
+
2728
+ if suggest:
2729
+ pulumi.log.warn(f"Key '{key}' not found in WafRuleConfigRateLimitThreshold. Access the value via the '{suggest}' property getter instead.")
2730
+
2731
+ def __getitem__(self, key: str) -> Any:
2732
+ WafRuleConfigRateLimitThreshold.__key_warning(key)
2733
+ return super().__getitem__(key)
2734
+
2735
+ def get(self, key: str, default = None) -> Any:
2736
+ WafRuleConfigRateLimitThreshold.__key_warning(key)
2737
+ return super().get(key, default)
2738
+
2739
+ def __init__(__self__, *,
2740
+ distinct_managed_rules: Optional[_builtins.int] = None,
2741
+ managed_rules_blocked: Optional[_builtins.int] = None,
2742
+ request: Optional[_builtins.int] = None,
2743
+ response_status: Optional['outputs.WafRuleConfigRateLimitThresholdResponseStatus'] = None,
2744
+ traffic: Optional[_builtins.str] = None):
2745
+ """
2746
+ :param _builtins.int distinct_managed_rules: The maximum number of distinct managed rules that can be triggered.
2747
+ :param _builtins.int managed_rules_blocked: The maximum number of times that managed rules can be triggered.
2748
+ :param _builtins.int request: The maximum number of allowed requests within a time interval.
2749
+ :param 'WafRuleConfigRateLimitThresholdResponseStatusArgs' response_status: Limits on the frequency of returning specific HTTP status codes. See `response_status` below.
2750
+ :param _builtins.str traffic: The maximum allowed traffic within a time interval (deprecated).
2751
+ """
2752
+ if distinct_managed_rules is not None:
2753
+ pulumi.set(__self__, "distinct_managed_rules", distinct_managed_rules)
2754
+ if managed_rules_blocked is not None:
2755
+ pulumi.set(__self__, "managed_rules_blocked", managed_rules_blocked)
2756
+ if request is not None:
2757
+ pulumi.set(__self__, "request", request)
2758
+ if response_status is not None:
2759
+ pulumi.set(__self__, "response_status", response_status)
2760
+ if traffic is not None:
2761
+ pulumi.set(__self__, "traffic", traffic)
2762
+
2763
+ @_builtins.property
2764
+ @pulumi.getter(name="distinctManagedRules")
2765
+ def distinct_managed_rules(self) -> Optional[_builtins.int]:
2766
+ """
2767
+ The maximum number of distinct managed rules that can be triggered.
2768
+ """
2769
+ return pulumi.get(self, "distinct_managed_rules")
2770
+
2771
+ @_builtins.property
2772
+ @pulumi.getter(name="managedRulesBlocked")
2773
+ def managed_rules_blocked(self) -> Optional[_builtins.int]:
2774
+ """
2775
+ The maximum number of times that managed rules can be triggered.
2776
+ """
2777
+ return pulumi.get(self, "managed_rules_blocked")
2778
+
2779
+ @_builtins.property
2780
+ @pulumi.getter
2781
+ def request(self) -> Optional[_builtins.int]:
2782
+ """
2783
+ The maximum number of allowed requests within a time interval.
2784
+ """
2785
+ return pulumi.get(self, "request")
2786
+
2787
+ @_builtins.property
2788
+ @pulumi.getter(name="responseStatus")
2789
+ def response_status(self) -> Optional['outputs.WafRuleConfigRateLimitThresholdResponseStatus']:
2790
+ """
2791
+ Limits on the frequency of returning specific HTTP status codes. See `response_status` below.
2792
+ """
2793
+ return pulumi.get(self, "response_status")
2794
+
2795
+ @_builtins.property
2796
+ @pulumi.getter
2797
+ def traffic(self) -> Optional[_builtins.str]:
2798
+ """
2799
+ The maximum allowed traffic within a time interval (deprecated).
2800
+ """
2801
+ return pulumi.get(self, "traffic")
2802
+
2803
+
2804
+ @pulumi.output_type
2805
+ class WafRuleConfigRateLimitThresholdResponseStatus(dict):
2806
+ def __init__(__self__, *,
2807
+ code: Optional[_builtins.int] = None,
2808
+ count: Optional[_builtins.int] = None,
2809
+ ratio: Optional[_builtins.int] = None):
2810
+ """
2811
+ :param _builtins.int count: The maximum number of times the specified status code can be returned.
2812
+ :param _builtins.int ratio: The upper limit of the percentage of occurrences of the specified status code among all responses.
2813
+ """
2814
+ if code is not None:
2815
+ pulumi.set(__self__, "code", code)
2816
+ if count is not None:
2817
+ pulumi.set(__self__, "count", count)
2818
+ if ratio is not None:
2819
+ pulumi.set(__self__, "ratio", ratio)
2820
+
2821
+ @_builtins.property
2822
+ @pulumi.getter
2823
+ def code(self) -> Optional[_builtins.int]:
2824
+ return pulumi.get(self, "code")
2825
+
2826
+ @_builtins.property
2827
+ @pulumi.getter
2828
+ def count(self) -> Optional[_builtins.int]:
2829
+ """
2830
+ The maximum number of times the specified status code can be returned.
2831
+ """
2832
+ return pulumi.get(self, "count")
2833
+
2834
+ @_builtins.property
2835
+ @pulumi.getter
2836
+ def ratio(self) -> Optional[_builtins.int]:
2837
+ """
2838
+ The upper limit of the percentage of occurrences of the specified status code among all responses.
2839
+ """
2840
+ return pulumi.get(self, "ratio")
2841
+
2842
+
2843
+ @pulumi.output_type
2844
+ class WafRuleConfigSecurityLevel(dict):
2845
+ def __init__(__self__, *,
2846
+ value: Optional[_builtins.str] = None):
2847
+ """
2848
+ :param _builtins.str value: The value of the custom signature field used for validation.
2849
+ """
2850
+ if value is not None:
2851
+ pulumi.set(__self__, "value", value)
2852
+
2853
+ @_builtins.property
2854
+ @pulumi.getter
2855
+ def value(self) -> Optional[_builtins.str]:
2856
+ """
2857
+ The value of the custom signature field used for validation.
2858
+ """
2859
+ return pulumi.get(self, "value")
2860
+
2861
+
2862
+ @pulumi.output_type
2863
+ class WafRuleConfigTimer(dict):
2864
+ @staticmethod
2865
+ def __key_warning(key: str):
2866
+ suggest = None
2867
+ if key == "weeklyPeriods":
2868
+ suggest = "weekly_periods"
2869
+
2870
+ if suggest:
2871
+ pulumi.log.warn(f"Key '{key}' not found in WafRuleConfigTimer. Access the value via the '{suggest}' property getter instead.")
2872
+
2873
+ def __getitem__(self, key: str) -> Any:
2874
+ WafRuleConfigTimer.__key_warning(key)
2875
+ return super().__getitem__(key)
2876
+
2877
+ def get(self, key: str, default = None) -> Any:
2878
+ WafRuleConfigTimer.__key_warning(key)
2879
+ return super().get(key, default)
2880
+
2881
+ def __init__(__self__, *,
2882
+ periods: Optional[Sequence['outputs.WafRuleConfigTimerPeriod']] = None,
2883
+ scopes: Optional[_builtins.str] = None,
2884
+ weekly_periods: Optional[Sequence['outputs.WafRuleConfigTimerWeeklyPeriod']] = None,
2885
+ zone: Optional[_builtins.int] = None):
2886
+ """
2887
+ :param _builtins.str scopes: Timing type:
2888
+ :param Sequence['WafRuleConfigTimerWeeklyPeriodArgs'] weekly_periods: Weekly recurring time schedules. See `weekly_periods` below.
2889
+ :param _builtins.int zone: The time zone. If it is not specified, the default value is UTC +00:00. Example: 8 means East Zone 8,-8 means West Zone 8 Range:-12 -+14
2890
+ """
2891
+ if periods is not None:
2892
+ pulumi.set(__self__, "periods", periods)
2893
+ if scopes is not None:
2894
+ pulumi.set(__self__, "scopes", scopes)
2895
+ if weekly_periods is not None:
2896
+ pulumi.set(__self__, "weekly_periods", weekly_periods)
2897
+ if zone is not None:
2898
+ pulumi.set(__self__, "zone", zone)
2899
+
2900
+ @_builtins.property
2901
+ @pulumi.getter
2902
+ def periods(self) -> Optional[Sequence['outputs.WafRuleConfigTimerPeriod']]:
2903
+ return pulumi.get(self, "periods")
2904
+
2905
+ @_builtins.property
2906
+ @pulumi.getter
2907
+ def scopes(self) -> Optional[_builtins.str]:
2908
+ """
2909
+ Timing type:
2910
+ """
2911
+ return pulumi.get(self, "scopes")
2912
+
2913
+ @_builtins.property
2914
+ @pulumi.getter(name="weeklyPeriods")
2915
+ def weekly_periods(self) -> Optional[Sequence['outputs.WafRuleConfigTimerWeeklyPeriod']]:
2916
+ """
2917
+ Weekly recurring time schedules. See `weekly_periods` below.
2918
+ """
2919
+ return pulumi.get(self, "weekly_periods")
2920
+
2921
+ @_builtins.property
2922
+ @pulumi.getter
2923
+ def zone(self) -> Optional[_builtins.int]:
2924
+ """
2925
+ The time zone. If it is not specified, the default value is UTC +00:00. Example: 8 means East Zone 8,-8 means West Zone 8 Range:-12 -+14
2926
+ """
2927
+ return pulumi.get(self, "zone")
2928
+
2929
+
2930
+ @pulumi.output_type
2931
+ class WafRuleConfigTimerPeriod(dict):
2932
+ def __init__(__self__, *,
2933
+ end: Optional[_builtins.str] = None,
2934
+ start: Optional[_builtins.str] = None):
2935
+ """
2936
+ :param _builtins.str end: End time in HH:mm:ss format
2937
+ :param _builtins.str start: Start time in HH:mm:ss format
2938
+ """
2939
+ if end is not None:
2940
+ pulumi.set(__self__, "end", end)
2941
+ if start is not None:
2942
+ pulumi.set(__self__, "start", start)
2943
+
2944
+ @_builtins.property
2945
+ @pulumi.getter
2946
+ def end(self) -> Optional[_builtins.str]:
2947
+ """
2948
+ End time in HH:mm:ss format
2949
+ """
2950
+ return pulumi.get(self, "end")
2951
+
2952
+ @_builtins.property
2953
+ @pulumi.getter
2954
+ def start(self) -> Optional[_builtins.str]:
2955
+ """
2956
+ Start time in HH:mm:ss format
2957
+ """
2958
+ return pulumi.get(self, "start")
2959
+
2960
+
2961
+ @pulumi.output_type
2962
+ class WafRuleConfigTimerWeeklyPeriod(dict):
2963
+ @staticmethod
2964
+ def __key_warning(key: str):
2965
+ suggest = None
2966
+ if key == "dailyPeriods":
2967
+ suggest = "daily_periods"
2968
+
2969
+ if suggest:
2970
+ pulumi.log.warn(f"Key '{key}' not found in WafRuleConfigTimerWeeklyPeriod. Access the value via the '{suggest}' property getter instead.")
2971
+
2972
+ def __getitem__(self, key: str) -> Any:
2973
+ WafRuleConfigTimerWeeklyPeriod.__key_warning(key)
2974
+ return super().__getitem__(key)
2975
+
2976
+ def get(self, key: str, default = None) -> Any:
2977
+ WafRuleConfigTimerWeeklyPeriod.__key_warning(key)
2978
+ return super().get(key, default)
2979
+
2980
+ def __init__(__self__, *,
2981
+ daily_periods: Optional[Sequence['outputs.WafRuleConfigTimerWeeklyPeriodDailyPeriod']] = None,
2982
+ days: Optional[_builtins.str] = None):
2983
+ """
2984
+ :param Sequence['WafRuleConfigTimerWeeklyPeriodDailyPeriodArgs'] daily_periods: Daily effective time periods within a weekly schedule. See `daily_periods` below.
2985
+ :param _builtins.str days: Cycle, multiple use comma separated, 1-7 respectively represent Monday-Sunday. Example: Monday, Wednesday value is "1,3"
2986
+ """
2987
+ if daily_periods is not None:
2988
+ pulumi.set(__self__, "daily_periods", daily_periods)
2989
+ if days is not None:
2990
+ pulumi.set(__self__, "days", days)
2991
+
2992
+ @_builtins.property
2993
+ @pulumi.getter(name="dailyPeriods")
2994
+ def daily_periods(self) -> Optional[Sequence['outputs.WafRuleConfigTimerWeeklyPeriodDailyPeriod']]:
2995
+ """
2996
+ Daily effective time periods within a weekly schedule. See `daily_periods` below.
2997
+ """
2998
+ return pulumi.get(self, "daily_periods")
2999
+
3000
+ @_builtins.property
3001
+ @pulumi.getter
3002
+ def days(self) -> Optional[_builtins.str]:
3003
+ """
3004
+ Cycle, multiple use comma separated, 1-7 respectively represent Monday-Sunday. Example: Monday, Wednesday value is "1,3"
3005
+ """
3006
+ return pulumi.get(self, "days")
3007
+
3008
+
3009
+ @pulumi.output_type
3010
+ class WafRuleConfigTimerWeeklyPeriodDailyPeriod(dict):
3011
+ def __init__(__self__, *,
3012
+ end: Optional[_builtins.str] = None,
3013
+ start: Optional[_builtins.str] = None):
3014
+ """
3015
+ :param _builtins.str end: End time in HH:mm:ss format
3016
+ :param _builtins.str start: Start time in HH:mm:ss format
3017
+ """
3018
+ if end is not None:
3019
+ pulumi.set(__self__, "end", end)
3020
+ if start is not None:
3021
+ pulumi.set(__self__, "start", start)
3022
+
3023
+ @_builtins.property
3024
+ @pulumi.getter
3025
+ def end(self) -> Optional[_builtins.str]:
3026
+ """
3027
+ End time in HH:mm:ss format
3028
+ """
3029
+ return pulumi.get(self, "end")
3030
+
3031
+ @_builtins.property
3032
+ @pulumi.getter
3033
+ def start(self) -> Optional[_builtins.str]:
3034
+ """
3035
+ Start time in HH:mm:ss format
3036
+ """
3037
+ return pulumi.get(self, "start")
3038
+
3039
+
3040
+ @pulumi.output_type
3041
+ class WafRuleShared(dict):
3042
+ @staticmethod
3043
+ def __key_warning(key: str):
3044
+ suggest = None
3045
+ if key == "crossSiteId":
3046
+ suggest = "cross_site_id"
3047
+
3048
+ if suggest:
3049
+ pulumi.log.warn(f"Key '{key}' not found in WafRuleShared. Access the value via the '{suggest}' property getter instead.")
3050
+
3051
+ def __getitem__(self, key: str) -> Any:
3052
+ WafRuleShared.__key_warning(key)
3053
+ return super().__getitem__(key)
3054
+
3055
+ def get(self, key: str, default = None) -> Any:
3056
+ WafRuleShared.__key_warning(key)
3057
+ return super().get(key, default)
3058
+
3059
+ def __init__(__self__, *,
3060
+ action: Optional[_builtins.str] = None,
3061
+ actions: Optional['outputs.WafRuleSharedActions'] = None,
3062
+ cross_site_id: Optional[_builtins.int] = None,
3063
+ expression: Optional[_builtins.str] = None,
3064
+ match: Optional['outputs.WafRuleSharedMatch'] = None,
3065
+ mode: Optional[_builtins.str] = None,
3066
+ name: Optional[_builtins.str] = None,
3067
+ target: Optional[_builtins.str] = None):
3068
+ """
3069
+ :param _builtins.str action: The default action executed under shared configuration.
3070
+ :param 'WafRuleSharedActionsArgs' actions: Extended action configurations under shared settings. See `actions` below.
3071
+ :param _builtins.int cross_site_id: Specify the cross-domain site ID.
3072
+ :param _builtins.str expression: The match expression used in shared configuration.
3073
+ :param 'WafRuleSharedMatchArgs' match: Configuration of the request matching logic engine. See `match` below.
3074
+ :param _builtins.str mode: The integration mode of the Web SDK:
3075
+ :param _builtins.str name: The display name of the ruleset.
3076
+ :param _builtins.str target: The target type protected by this rule: web or app.
3077
+ """
3078
+ if action is not None:
3079
+ pulumi.set(__self__, "action", action)
3080
+ if actions is not None:
3081
+ pulumi.set(__self__, "actions", actions)
3082
+ if cross_site_id is not None:
3083
+ pulumi.set(__self__, "cross_site_id", cross_site_id)
3084
+ if expression is not None:
3085
+ pulumi.set(__self__, "expression", expression)
3086
+ if match is not None:
3087
+ pulumi.set(__self__, "match", match)
3088
+ if mode is not None:
3089
+ pulumi.set(__self__, "mode", mode)
3090
+ if name is not None:
3091
+ pulumi.set(__self__, "name", name)
3092
+ if target is not None:
3093
+ pulumi.set(__self__, "target", target)
3094
+
3095
+ @_builtins.property
3096
+ @pulumi.getter
3097
+ def action(self) -> Optional[_builtins.str]:
3098
+ """
3099
+ The default action executed under shared configuration.
3100
+ """
3101
+ return pulumi.get(self, "action")
3102
+
3103
+ @_builtins.property
3104
+ @pulumi.getter
3105
+ def actions(self) -> Optional['outputs.WafRuleSharedActions']:
3106
+ """
3107
+ Extended action configurations under shared settings. See `actions` below.
3108
+ """
3109
+ return pulumi.get(self, "actions")
3110
+
3111
+ @_builtins.property
3112
+ @pulumi.getter(name="crossSiteId")
3113
+ def cross_site_id(self) -> Optional[_builtins.int]:
3114
+ """
3115
+ Specify the cross-domain site ID.
3116
+ """
3117
+ return pulumi.get(self, "cross_site_id")
3118
+
3119
+ @_builtins.property
3120
+ @pulumi.getter
3121
+ def expression(self) -> Optional[_builtins.str]:
3122
+ """
3123
+ The match expression used in shared configuration.
3124
+ """
3125
+ return pulumi.get(self, "expression")
3126
+
3127
+ @_builtins.property
3128
+ @pulumi.getter
3129
+ def match(self) -> Optional['outputs.WafRuleSharedMatch']:
3130
+ """
3131
+ Configuration of the request matching logic engine. See `match` below.
3132
+ """
3133
+ return pulumi.get(self, "match")
3134
+
3135
+ @_builtins.property
3136
+ @pulumi.getter
3137
+ def mode(self) -> Optional[_builtins.str]:
3138
+ """
3139
+ The integration mode of the Web SDK:
3140
+ """
3141
+ return pulumi.get(self, "mode")
3142
+
3143
+ @_builtins.property
3144
+ @pulumi.getter
3145
+ def name(self) -> Optional[_builtins.str]:
3146
+ """
3147
+ The display name of the ruleset.
3148
+ """
3149
+ return pulumi.get(self, "name")
3150
+
3151
+ @_builtins.property
3152
+ @pulumi.getter
3153
+ def target(self) -> Optional[_builtins.str]:
3154
+ """
3155
+ The target type protected by this rule: web or app.
3156
+ """
3157
+ return pulumi.get(self, "target")
3158
+
3159
+
3160
+ @pulumi.output_type
3161
+ class WafRuleSharedActions(dict):
3162
+ def __init__(__self__, *,
3163
+ response: Optional['outputs.WafRuleSharedActionsResponse'] = None):
3164
+ if response is not None:
3165
+ pulumi.set(__self__, "response", response)
3166
+
3167
+ @_builtins.property
3168
+ @pulumi.getter
3169
+ def response(self) -> Optional['outputs.WafRuleSharedActionsResponse']:
3170
+ return pulumi.get(self, "response")
3171
+
3172
+
3173
+ @pulumi.output_type
3174
+ class WafRuleSharedActionsResponse(dict):
3175
+ def __init__(__self__, *,
3176
+ code: Optional[_builtins.int] = None,
3177
+ id: Optional[_builtins.int] = None):
3178
+ """
3179
+ :param _builtins.int id: The internal unique ID of the WAF rule.
3180
+ """
3181
+ if code is not None:
3182
+ pulumi.set(__self__, "code", code)
3183
+ if id is not None:
3184
+ pulumi.set(__self__, "id", id)
3185
+
3186
+ @_builtins.property
3187
+ @pulumi.getter
3188
+ def code(self) -> Optional[_builtins.int]:
3189
+ return pulumi.get(self, "code")
3190
+
3191
+ @_builtins.property
3192
+ @pulumi.getter
3193
+ def id(self) -> Optional[_builtins.int]:
3194
+ """
3195
+ The internal unique ID of the WAF rule.
3196
+ """
3197
+ return pulumi.get(self, "id")
3198
+
3199
+
3200
+ @pulumi.output_type
3201
+ class WafRuleSharedMatch(dict):
3202
+ @staticmethod
3203
+ def __key_warning(key: str):
3204
+ suggest = None
3205
+ if key == "matchType":
3206
+ suggest = "match_type"
3207
+
3208
+ if suggest:
3209
+ pulumi.log.warn(f"Key '{key}' not found in WafRuleSharedMatch. Access the value via the '{suggest}' property getter instead.")
3210
+
3211
+ def __getitem__(self, key: str) -> Any:
3212
+ WafRuleSharedMatch.__key_warning(key)
3213
+ return super().__getitem__(key)
3214
+
3215
+ def get(self, key: str, default = None) -> Any:
3216
+ WafRuleSharedMatch.__key_warning(key)
3217
+ return super().get(key, default)
3218
+
3219
+ def __init__(__self__, *,
3220
+ criterias: Optional[Sequence['outputs.WafRuleSharedMatchCriteria']] = None,
3221
+ logic: Optional[_builtins.str] = None,
3222
+ match_type: Optional[_builtins.str] = None):
3223
+ if criterias is not None:
3224
+ pulumi.set(__self__, "criterias", criterias)
3225
+ if logic is not None:
3226
+ pulumi.set(__self__, "logic", logic)
3227
+ if match_type is not None:
3228
+ pulumi.set(__self__, "match_type", match_type)
3229
+
3230
+ @_builtins.property
3231
+ @pulumi.getter
3232
+ def criterias(self) -> Optional[Sequence['outputs.WafRuleSharedMatchCriteria']]:
3233
+ return pulumi.get(self, "criterias")
3234
+
3235
+ @_builtins.property
3236
+ @pulumi.getter
3237
+ def logic(self) -> Optional[_builtins.str]:
3238
+ return pulumi.get(self, "logic")
3239
+
3240
+ @_builtins.property
3241
+ @pulumi.getter(name="matchType")
3242
+ def match_type(self) -> Optional[_builtins.str]:
3243
+ return pulumi.get(self, "match_type")
3244
+
3245
+
3246
+ @pulumi.output_type
3247
+ class WafRuleSharedMatchCriteria(dict):
3248
+ @staticmethod
3249
+ def __key_warning(key: str):
3250
+ suggest = None
3251
+ if key == "matchType":
3252
+ suggest = "match_type"
3253
+
3254
+ if suggest:
3255
+ pulumi.log.warn(f"Key '{key}' not found in WafRuleSharedMatchCriteria. Access the value via the '{suggest}' property getter instead.")
3256
+
3257
+ def __getitem__(self, key: str) -> Any:
3258
+ WafRuleSharedMatchCriteria.__key_warning(key)
3259
+ return super().__getitem__(key)
3260
+
3261
+ def get(self, key: str, default = None) -> Any:
3262
+ WafRuleSharedMatchCriteria.__key_warning(key)
3263
+ return super().get(key, default)
3264
+
3265
+ def __init__(__self__, *,
3266
+ criterias: Optional[Sequence['outputs.WafRuleSharedMatchCriteriaCriteria']] = None,
3267
+ logic: Optional[_builtins.str] = None,
3268
+ match_type: Optional[_builtins.str] = None):
3269
+ if criterias is not None:
3270
+ pulumi.set(__self__, "criterias", criterias)
3271
+ if logic is not None:
3272
+ pulumi.set(__self__, "logic", logic)
3273
+ if match_type is not None:
3274
+ pulumi.set(__self__, "match_type", match_type)
3275
+
3276
+ @_builtins.property
3277
+ @pulumi.getter
3278
+ def criterias(self) -> Optional[Sequence['outputs.WafRuleSharedMatchCriteriaCriteria']]:
3279
+ return pulumi.get(self, "criterias")
3280
+
3281
+ @_builtins.property
3282
+ @pulumi.getter
3283
+ def logic(self) -> Optional[_builtins.str]:
3284
+ return pulumi.get(self, "logic")
3285
+
3286
+ @_builtins.property
3287
+ @pulumi.getter(name="matchType")
3288
+ def match_type(self) -> Optional[_builtins.str]:
3289
+ return pulumi.get(self, "match_type")
3290
+
3291
+
3292
+ @pulumi.output_type
3293
+ class WafRuleSharedMatchCriteriaCriteria(dict):
3294
+ @staticmethod
3295
+ def __key_warning(key: str):
3296
+ suggest = None
3297
+ if key == "matchType":
3298
+ suggest = "match_type"
3299
+
3300
+ if suggest:
3301
+ pulumi.log.warn(f"Key '{key}' not found in WafRuleSharedMatchCriteriaCriteria. Access the value via the '{suggest}' property getter instead.")
3302
+
3303
+ def __getitem__(self, key: str) -> Any:
3304
+ WafRuleSharedMatchCriteriaCriteria.__key_warning(key)
3305
+ return super().__getitem__(key)
3306
+
3307
+ def get(self, key: str, default = None) -> Any:
3308
+ WafRuleSharedMatchCriteriaCriteria.__key_warning(key)
3309
+ return super().get(key, default)
3310
+
3311
+ def __init__(__self__, *,
3312
+ criterias: Optional[Sequence['outputs.WafRuleSharedMatchCriteriaCriteriaCriteria']] = None,
3313
+ logic: Optional[_builtins.str] = None,
3314
+ match_type: Optional[_builtins.str] = None):
3315
+ if criterias is not None:
3316
+ pulumi.set(__self__, "criterias", criterias)
3317
+ if logic is not None:
3318
+ pulumi.set(__self__, "logic", logic)
3319
+ if match_type is not None:
3320
+ pulumi.set(__self__, "match_type", match_type)
3321
+
3322
+ @_builtins.property
3323
+ @pulumi.getter
3324
+ def criterias(self) -> Optional[Sequence['outputs.WafRuleSharedMatchCriteriaCriteriaCriteria']]:
3325
+ return pulumi.get(self, "criterias")
3326
+
3327
+ @_builtins.property
3328
+ @pulumi.getter
3329
+ def logic(self) -> Optional[_builtins.str]:
3330
+ return pulumi.get(self, "logic")
3331
+
3332
+ @_builtins.property
3333
+ @pulumi.getter(name="matchType")
3334
+ def match_type(self) -> Optional[_builtins.str]:
3335
+ return pulumi.get(self, "match_type")
3336
+
3337
+
3338
+ @pulumi.output_type
3339
+ class WafRuleSharedMatchCriteriaCriteriaCriteria(dict):
3340
+ @staticmethod
3341
+ def __key_warning(key: str):
3342
+ suggest = None
3343
+ if key == "matchType":
3344
+ suggest = "match_type"
3345
+
3346
+ if suggest:
3347
+ pulumi.log.warn(f"Key '{key}' not found in WafRuleSharedMatchCriteriaCriteriaCriteria. Access the value via the '{suggest}' property getter instead.")
3348
+
3349
+ def __getitem__(self, key: str) -> Any:
3350
+ WafRuleSharedMatchCriteriaCriteriaCriteria.__key_warning(key)
3351
+ return super().__getitem__(key)
3352
+
3353
+ def get(self, key: str, default = None) -> Any:
3354
+ WafRuleSharedMatchCriteriaCriteriaCriteria.__key_warning(key)
3355
+ return super().get(key, default)
3356
+
3357
+ def __init__(__self__, *,
3358
+ match_type: Optional[_builtins.str] = None):
3359
+ if match_type is not None:
3360
+ pulumi.set(__self__, "match_type", match_type)
3361
+
3362
+ @_builtins.property
3363
+ @pulumi.getter(name="matchType")
3364
+ def match_type(self) -> Optional[_builtins.str]:
3365
+ return pulumi.get(self, "match_type")
3366
+
3367
+
1288
3368
  @pulumi.output_type
1289
3369
  class WaitingRoomHostNameAndPath(dict):
1290
3370
  def __init__(__self__, *,