pulumi-alicloud 3.87.0a1760678219__py3-none-any.whl → 3.88.0a1761154271__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.

Files changed (39) hide show
  1. pulumi_alicloud/__init__.py +24 -0
  2. pulumi_alicloud/adb/resource_group.py +463 -3
  3. pulumi_alicloud/cloudsso/__init__.py +1 -0
  4. pulumi_alicloud/cloudsso/get_user_provisioning_events.py +226 -0
  5. pulumi_alicloud/cloudsso/outputs.py +228 -0
  6. pulumi_alicloud/cs/managed_kubernetes.py +6 -2
  7. pulumi_alicloud/ddos/domain_resource.py +89 -0
  8. pulumi_alicloud/ecs/elasticity_assurance.py +279 -20
  9. pulumi_alicloud/eflo/node.py +153 -15
  10. pulumi_alicloud/esa/__init__.py +1 -0
  11. pulumi_alicloud/esa/_inputs.py +2152 -0
  12. pulumi_alicloud/esa/outputs.py +1599 -0
  13. pulumi_alicloud/esa/waf_rule.py +510 -0
  14. pulumi_alicloud/ess/__init__.py +1 -0
  15. pulumi_alicloud/ess/_inputs.py +256 -0
  16. pulumi_alicloud/ess/instance_refresh.py +760 -0
  17. pulumi_alicloud/ess/outputs.py +203 -0
  18. pulumi_alicloud/expressconnect/traffic_qos.py +137 -31
  19. pulumi_alicloud/expressconnect/traffic_qos_queue.py +91 -66
  20. pulumi_alicloud/expressconnect/traffic_qos_rule.py +307 -261
  21. pulumi_alicloud/expressconnect/vbr_pconn_association.py +105 -59
  22. pulumi_alicloud/kvstore/account.py +14 -14
  23. pulumi_alicloud/log/_inputs.py +29 -9
  24. pulumi_alicloud/log/etl.py +56 -9
  25. pulumi_alicloud/log/outputs.py +18 -6
  26. pulumi_alicloud/polardb/__init__.py +1 -0
  27. pulumi_alicloud/polardb/zonal_db_cluster.py +1255 -0
  28. pulumi_alicloud/pulumi-plugin.json +1 -1
  29. pulumi_alicloud/resourcemanager/_inputs.py +54 -0
  30. pulumi_alicloud/resourcemanager/outputs.py +51 -0
  31. pulumi_alicloud/resourcemanager/resource_share.py +341 -11
  32. pulumi_alicloud/vpc/bgp_group.py +250 -53
  33. pulumi_alicloud/vpc/common_bandwith_package_attachment.py +30 -14
  34. pulumi_alicloud/vpc/get_enhanced_nat_available_zones.py +3 -3
  35. pulumi_alicloud/vpc/vbr_ha.py +127 -46
  36. {pulumi_alicloud-3.87.0a1760678219.dist-info → pulumi_alicloud-3.88.0a1761154271.dist-info}/METADATA +1 -1
  37. {pulumi_alicloud-3.87.0a1760678219.dist-info → pulumi_alicloud-3.88.0a1761154271.dist-info}/RECORD +39 -35
  38. {pulumi_alicloud-3.87.0a1760678219.dist-info → pulumi_alicloud-3.88.0a1761154271.dist-info}/WHEEL +0 -0
  39. {pulumi_alicloud-3.87.0a1760678219.dist-info → pulumi_alicloud-3.88.0a1761154271.dist-info}/top_level.txt +0 -0
@@ -29,6 +29,35 @@ __all__ = [
29
29
  'SiteDeliveryTaskS3Delivery',
30
30
  'SiteDeliveryTaskSlsDelivery',
31
31
  'TransportLayerApplicationRule',
32
+ 'WafRuleConfig',
33
+ 'WafRuleConfigActions',
34
+ 'WafRuleConfigActionsBypass',
35
+ 'WafRuleConfigActionsResponse',
36
+ 'WafRuleConfigAppPackage',
37
+ 'WafRuleConfigAppPackagePackageSign',
38
+ 'WafRuleConfigAppSdk',
39
+ 'WafRuleConfigAppSdkCustomSign',
40
+ 'WafRuleConfigManagedRuleset',
41
+ 'WafRuleConfigManagedRulesetManagedRule',
42
+ 'WafRuleConfigRateLimit',
43
+ 'WafRuleConfigRateLimitCharacteristics',
44
+ 'WafRuleConfigRateLimitCharacteristicsCriteria',
45
+ 'WafRuleConfigRateLimitCharacteristicsCriteriaCriteria',
46
+ 'WafRuleConfigRateLimitCharacteristicsCriteriaCriteriaCriteria',
47
+ 'WafRuleConfigRateLimitThreshold',
48
+ 'WafRuleConfigRateLimitThresholdResponseStatus',
49
+ 'WafRuleConfigSecurityLevel',
50
+ 'WafRuleConfigTimer',
51
+ 'WafRuleConfigTimerPeriod',
52
+ 'WafRuleConfigTimerWeeklyPeriod',
53
+ 'WafRuleConfigTimerWeeklyPeriodDailyPeriod',
54
+ 'WafRuleShared',
55
+ 'WafRuleSharedActions',
56
+ 'WafRuleSharedActionsResponse',
57
+ 'WafRuleSharedMatch',
58
+ 'WafRuleSharedMatchCriteria',
59
+ 'WafRuleSharedMatchCriteriaCriteria',
60
+ 'WafRuleSharedMatchCriteriaCriteriaCriteria',
32
61
  'WaitingRoomHostNameAndPath',
33
62
  'GetSitesSiteResult',
34
63
  ]
@@ -1285,6 +1314,1576 @@ class TransportLayerApplicationRule(dict):
1285
1314
  return pulumi.get(self, "rule_id")
1286
1315
 
1287
1316
 
1317
+ @pulumi.output_type
1318
+ class WafRuleConfig(dict):
1319
+ @staticmethod
1320
+ def __key_warning(key: str):
1321
+ suggest = None
1322
+ if key == "appPackage":
1323
+ suggest = "app_package"
1324
+ elif key == "appSdk":
1325
+ suggest = "app_sdk"
1326
+ elif key == "managedGroupId":
1327
+ suggest = "managed_group_id"
1328
+ elif key == "managedList":
1329
+ suggest = "managed_list"
1330
+ elif key == "managedRulesets":
1331
+ suggest = "managed_rulesets"
1332
+ elif key == "rateLimit":
1333
+ suggest = "rate_limit"
1334
+ elif key == "securityLevel":
1335
+ suggest = "security_level"
1336
+
1337
+ if suggest:
1338
+ pulumi.log.warn(f"Key '{key}' not found in WafRuleConfig. Access the value via the '{suggest}' property getter instead.")
1339
+
1340
+ def __getitem__(self, key: str) -> Any:
1341
+ WafRuleConfig.__key_warning(key)
1342
+ return super().__getitem__(key)
1343
+
1344
+ def get(self, key: str, default = None) -> Any:
1345
+ WafRuleConfig.__key_warning(key)
1346
+ return super().get(key, default)
1347
+
1348
+ def __init__(__self__, *,
1349
+ action: Optional[_builtins.str] = None,
1350
+ actions: Optional['outputs.WafRuleConfigActions'] = None,
1351
+ app_package: Optional['outputs.WafRuleConfigAppPackage'] = None,
1352
+ app_sdk: Optional['outputs.WafRuleConfigAppSdk'] = None,
1353
+ expression: Optional[_builtins.str] = None,
1354
+ id: Optional[_builtins.int] = None,
1355
+ managed_group_id: Optional[_builtins.int] = None,
1356
+ managed_list: Optional[_builtins.str] = None,
1357
+ managed_rulesets: Optional[Sequence['outputs.WafRuleConfigManagedRuleset']] = None,
1358
+ name: Optional[_builtins.str] = None,
1359
+ notes: Optional[_builtins.str] = None,
1360
+ rate_limit: Optional['outputs.WafRuleConfigRateLimit'] = None,
1361
+ security_level: Optional['outputs.WafRuleConfigSecurityLevel'] = None,
1362
+ sigchls: Optional[Sequence[_builtins.str]] = None,
1363
+ status: Optional[_builtins.str] = None,
1364
+ timer: Optional['outputs.WafRuleConfigTimer'] = None,
1365
+ type: Optional[_builtins.str] = None,
1366
+ value: Optional[_builtins.str] = None):
1367
+ """
1368
+ :param _builtins.str action: The action performed on requests that match the managed rule.
1369
+ :param 'WafRuleConfigActionsArgs' actions: Extended action configurations, including custom responses and bypass settings. See `actions` below.
1370
+ :param 'WafRuleConfigAppPackageArgs' app_package: Security mechanism to prevent apps from being repackaged. See `app_package` below.
1371
+ :param 'WafRuleConfigAppSdkArgs' app_sdk: Mobile app SDK-related configurations. See `app_sdk` below.
1372
+ :param _builtins.str expression: The match expression used to evaluate incoming requests.
1373
+ :param _builtins.int id: The ID of the custom error page, which can be obtained by calling the ListPages operation.
1374
+ :param _builtins.int managed_group_id: The ID of the managed rule group (deprecated).
1375
+ :param _builtins.str managed_list: The name of the managed list applied to this rule.
1376
+ :param Sequence['WafRuleConfigManagedRulesetArgs'] managed_rulesets: The managed rulesets referenced by this rule and their configurations. See `managed_rulesets` below.
1377
+ :param _builtins.str name: The package name of an authorized application.
1378
+ :param _builtins.str notes: Additional notes about this rule.
1379
+ :param 'WafRuleConfigRateLimitArgs' rate_limit: Configuration of the rate limiting rule. See `rate_limit` below.
1380
+ :param 'WafRuleConfigSecurityLevelArgs' security_level: The overall security protection level of WAF. See `security_level` below.
1381
+ :param Sequence[_builtins.str] sigchls: Configuration items for token verification mechanisms.
1382
+ :param _builtins.str status: The status of the managed rule: whether it is enabled or disabled.
1383
+ :param 'WafRuleConfigTimerArgs' timer: Configuration for the time schedule when the rule takes effect. See `timer` below.
1384
+ :param _builtins.str type: The type category of the WAF rule.
1385
+ :param _builtins.str value: The value of the custom signature field used for validation.
1386
+ """
1387
+ if action is not None:
1388
+ pulumi.set(__self__, "action", action)
1389
+ if actions is not None:
1390
+ pulumi.set(__self__, "actions", actions)
1391
+ if app_package is not None:
1392
+ pulumi.set(__self__, "app_package", app_package)
1393
+ if app_sdk is not None:
1394
+ pulumi.set(__self__, "app_sdk", app_sdk)
1395
+ if expression is not None:
1396
+ pulumi.set(__self__, "expression", expression)
1397
+ if id is not None:
1398
+ pulumi.set(__self__, "id", id)
1399
+ if managed_group_id is not None:
1400
+ pulumi.set(__self__, "managed_group_id", managed_group_id)
1401
+ if managed_list is not None:
1402
+ pulumi.set(__self__, "managed_list", managed_list)
1403
+ if managed_rulesets is not None:
1404
+ pulumi.set(__self__, "managed_rulesets", managed_rulesets)
1405
+ if name is not None:
1406
+ pulumi.set(__self__, "name", name)
1407
+ if notes is not None:
1408
+ pulumi.set(__self__, "notes", notes)
1409
+ if rate_limit is not None:
1410
+ pulumi.set(__self__, "rate_limit", rate_limit)
1411
+ if security_level is not None:
1412
+ pulumi.set(__self__, "security_level", security_level)
1413
+ if sigchls is not None:
1414
+ pulumi.set(__self__, "sigchls", sigchls)
1415
+ if status is not None:
1416
+ pulumi.set(__self__, "status", status)
1417
+ if timer is not None:
1418
+ pulumi.set(__self__, "timer", timer)
1419
+ if type is not None:
1420
+ pulumi.set(__self__, "type", type)
1421
+ if value is not None:
1422
+ pulumi.set(__self__, "value", value)
1423
+
1424
+ @_builtins.property
1425
+ @pulumi.getter
1426
+ def action(self) -> Optional[_builtins.str]:
1427
+ """
1428
+ The action performed on requests that match the managed rule.
1429
+ """
1430
+ return pulumi.get(self, "action")
1431
+
1432
+ @_builtins.property
1433
+ @pulumi.getter
1434
+ def actions(self) -> Optional['outputs.WafRuleConfigActions']:
1435
+ """
1436
+ Extended action configurations, including custom responses and bypass settings. See `actions` below.
1437
+ """
1438
+ return pulumi.get(self, "actions")
1439
+
1440
+ @_builtins.property
1441
+ @pulumi.getter(name="appPackage")
1442
+ def app_package(self) -> Optional['outputs.WafRuleConfigAppPackage']:
1443
+ """
1444
+ Security mechanism to prevent apps from being repackaged. See `app_package` below.
1445
+ """
1446
+ return pulumi.get(self, "app_package")
1447
+
1448
+ @_builtins.property
1449
+ @pulumi.getter(name="appSdk")
1450
+ def app_sdk(self) -> Optional['outputs.WafRuleConfigAppSdk']:
1451
+ """
1452
+ Mobile app SDK-related configurations. See `app_sdk` below.
1453
+ """
1454
+ return pulumi.get(self, "app_sdk")
1455
+
1456
+ @_builtins.property
1457
+ @pulumi.getter
1458
+ def expression(self) -> Optional[_builtins.str]:
1459
+ """
1460
+ The match expression used to evaluate incoming requests.
1461
+ """
1462
+ return pulumi.get(self, "expression")
1463
+
1464
+ @_builtins.property
1465
+ @pulumi.getter
1466
+ def id(self) -> Optional[_builtins.int]:
1467
+ """
1468
+ The ID of the custom error page, which can be obtained by calling the ListPages operation.
1469
+ """
1470
+ return pulumi.get(self, "id")
1471
+
1472
+ @_builtins.property
1473
+ @pulumi.getter(name="managedGroupId")
1474
+ def managed_group_id(self) -> Optional[_builtins.int]:
1475
+ """
1476
+ The ID of the managed rule group (deprecated).
1477
+ """
1478
+ return pulumi.get(self, "managed_group_id")
1479
+
1480
+ @_builtins.property
1481
+ @pulumi.getter(name="managedList")
1482
+ def managed_list(self) -> Optional[_builtins.str]:
1483
+ """
1484
+ The name of the managed list applied to this rule.
1485
+ """
1486
+ return pulumi.get(self, "managed_list")
1487
+
1488
+ @_builtins.property
1489
+ @pulumi.getter(name="managedRulesets")
1490
+ def managed_rulesets(self) -> Optional[Sequence['outputs.WafRuleConfigManagedRuleset']]:
1491
+ """
1492
+ The managed rulesets referenced by this rule and their configurations. See `managed_rulesets` below.
1493
+ """
1494
+ return pulumi.get(self, "managed_rulesets")
1495
+
1496
+ @_builtins.property
1497
+ @pulumi.getter
1498
+ def name(self) -> Optional[_builtins.str]:
1499
+ """
1500
+ The package name of an authorized application.
1501
+ """
1502
+ return pulumi.get(self, "name")
1503
+
1504
+ @_builtins.property
1505
+ @pulumi.getter
1506
+ def notes(self) -> Optional[_builtins.str]:
1507
+ """
1508
+ Additional notes about this rule.
1509
+ """
1510
+ return pulumi.get(self, "notes")
1511
+
1512
+ @_builtins.property
1513
+ @pulumi.getter(name="rateLimit")
1514
+ def rate_limit(self) -> Optional['outputs.WafRuleConfigRateLimit']:
1515
+ """
1516
+ Configuration of the rate limiting rule. See `rate_limit` below.
1517
+ """
1518
+ return pulumi.get(self, "rate_limit")
1519
+
1520
+ @_builtins.property
1521
+ @pulumi.getter(name="securityLevel")
1522
+ def security_level(self) -> Optional['outputs.WafRuleConfigSecurityLevel']:
1523
+ """
1524
+ The overall security protection level of WAF. See `security_level` below.
1525
+ """
1526
+ return pulumi.get(self, "security_level")
1527
+
1528
+ @_builtins.property
1529
+ @pulumi.getter
1530
+ def sigchls(self) -> Optional[Sequence[_builtins.str]]:
1531
+ """
1532
+ Configuration items for token verification mechanisms.
1533
+ """
1534
+ return pulumi.get(self, "sigchls")
1535
+
1536
+ @_builtins.property
1537
+ @pulumi.getter
1538
+ def status(self) -> Optional[_builtins.str]:
1539
+ """
1540
+ The status of the managed rule: whether it is enabled or disabled.
1541
+ """
1542
+ return pulumi.get(self, "status")
1543
+
1544
+ @_builtins.property
1545
+ @pulumi.getter
1546
+ def timer(self) -> Optional['outputs.WafRuleConfigTimer']:
1547
+ """
1548
+ Configuration for the time schedule when the rule takes effect. See `timer` below.
1549
+ """
1550
+ return pulumi.get(self, "timer")
1551
+
1552
+ @_builtins.property
1553
+ @pulumi.getter
1554
+ def type(self) -> Optional[_builtins.str]:
1555
+ """
1556
+ The type category of the WAF rule.
1557
+ """
1558
+ return pulumi.get(self, "type")
1559
+
1560
+ @_builtins.property
1561
+ @pulumi.getter
1562
+ def value(self) -> Optional[_builtins.str]:
1563
+ """
1564
+ The value of the custom signature field used for validation.
1565
+ """
1566
+ return pulumi.get(self, "value")
1567
+
1568
+
1569
+ @pulumi.output_type
1570
+ class WafRuleConfigActions(dict):
1571
+ def __init__(__self__, *,
1572
+ bypass: Optional['outputs.WafRuleConfigActionsBypass'] = None,
1573
+ response: Optional['outputs.WafRuleConfigActionsResponse'] = None):
1574
+ """
1575
+ :param 'WafRuleConfigActionsBypassArgs' bypass: The skip configuration specified by the whitelist rule. See `bypass` below.
1576
+ """
1577
+ if bypass is not None:
1578
+ pulumi.set(__self__, "bypass", bypass)
1579
+ if response is not None:
1580
+ pulumi.set(__self__, "response", response)
1581
+
1582
+ @_builtins.property
1583
+ @pulumi.getter
1584
+ def bypass(self) -> Optional['outputs.WafRuleConfigActionsBypass']:
1585
+ """
1586
+ The skip configuration specified by the whitelist rule. See `bypass` below.
1587
+ """
1588
+ return pulumi.get(self, "bypass")
1589
+
1590
+ @_builtins.property
1591
+ @pulumi.getter
1592
+ def response(self) -> Optional['outputs.WafRuleConfigActionsResponse']:
1593
+ return pulumi.get(self, "response")
1594
+
1595
+
1596
+ @pulumi.output_type
1597
+ class WafRuleConfigActionsBypass(dict):
1598
+ @staticmethod
1599
+ def __key_warning(key: str):
1600
+ suggest = None
1601
+ if key == "customRules":
1602
+ suggest = "custom_rules"
1603
+ elif key == "regularRules":
1604
+ suggest = "regular_rules"
1605
+ elif key == "regularTypes":
1606
+ suggest = "regular_types"
1607
+
1608
+ if suggest:
1609
+ pulumi.log.warn(f"Key '{key}' not found in WafRuleConfigActionsBypass. Access the value via the '{suggest}' property getter instead.")
1610
+
1611
+ def __getitem__(self, key: str) -> Any:
1612
+ WafRuleConfigActionsBypass.__key_warning(key)
1613
+ return super().__getitem__(key)
1614
+
1615
+ def get(self, key: str, default = None) -> Any:
1616
+ WafRuleConfigActionsBypass.__key_warning(key)
1617
+ return super().get(key, default)
1618
+
1619
+ def __init__(__self__, *,
1620
+ custom_rules: Optional[Sequence[_builtins.int]] = None,
1621
+ regular_rules: Optional[Sequence[_builtins.int]] = None,
1622
+ regular_types: Optional[Sequence[_builtins.str]] = None,
1623
+ skip: Optional[_builtins.str] = None,
1624
+ tags: Optional[Sequence[_builtins.str]] = None):
1625
+ """
1626
+ :param Sequence[_builtins.int] custom_rules: The IDs of custom rules to skip.
1627
+ :param Sequence[_builtins.int] regular_rules: The IDs of specific managed rules to skip.
1628
+ :param Sequence[_builtins.str] regular_types: The types of managed rules to skip.
1629
+ :param _builtins.str skip: The scope that is skipped when requests match conditions defined in the whitelist rule.
1630
+ :param Sequence[_builtins.str] tags: The rule categories that are skipped when requests match conditions defined in the whitelist rule.
1631
+ """
1632
+ if custom_rules is not None:
1633
+ pulumi.set(__self__, "custom_rules", custom_rules)
1634
+ if regular_rules is not None:
1635
+ pulumi.set(__self__, "regular_rules", regular_rules)
1636
+ if regular_types is not None:
1637
+ pulumi.set(__self__, "regular_types", regular_types)
1638
+ if skip is not None:
1639
+ pulumi.set(__self__, "skip", skip)
1640
+ if tags is not None:
1641
+ pulumi.set(__self__, "tags", tags)
1642
+
1643
+ @_builtins.property
1644
+ @pulumi.getter(name="customRules")
1645
+ def custom_rules(self) -> Optional[Sequence[_builtins.int]]:
1646
+ """
1647
+ The IDs of custom rules to skip.
1648
+ """
1649
+ return pulumi.get(self, "custom_rules")
1650
+
1651
+ @_builtins.property
1652
+ @pulumi.getter(name="regularRules")
1653
+ def regular_rules(self) -> Optional[Sequence[_builtins.int]]:
1654
+ """
1655
+ The IDs of specific managed rules to skip.
1656
+ """
1657
+ return pulumi.get(self, "regular_rules")
1658
+
1659
+ @_builtins.property
1660
+ @pulumi.getter(name="regularTypes")
1661
+ def regular_types(self) -> Optional[Sequence[_builtins.str]]:
1662
+ """
1663
+ The types of managed rules to skip.
1664
+ """
1665
+ return pulumi.get(self, "regular_types")
1666
+
1667
+ @_builtins.property
1668
+ @pulumi.getter
1669
+ def skip(self) -> Optional[_builtins.str]:
1670
+ """
1671
+ The scope that is skipped when requests match conditions defined in the whitelist rule.
1672
+ """
1673
+ return pulumi.get(self, "skip")
1674
+
1675
+ @_builtins.property
1676
+ @pulumi.getter
1677
+ def tags(self) -> Optional[Sequence[_builtins.str]]:
1678
+ """
1679
+ The rule categories that are skipped when requests match conditions defined in the whitelist rule.
1680
+ """
1681
+ return pulumi.get(self, "tags")
1682
+
1683
+
1684
+ @pulumi.output_type
1685
+ class WafRuleConfigActionsResponse(dict):
1686
+ def __init__(__self__, *,
1687
+ code: Optional[_builtins.int] = None,
1688
+ id: Optional[_builtins.int] = None):
1689
+ """
1690
+ :param _builtins.int id: The internal unique ID of the WAF rule.
1691
+ """
1692
+ if code is not None:
1693
+ pulumi.set(__self__, "code", code)
1694
+ if id is not None:
1695
+ pulumi.set(__self__, "id", id)
1696
+
1697
+ @_builtins.property
1698
+ @pulumi.getter
1699
+ def code(self) -> Optional[_builtins.int]:
1700
+ return pulumi.get(self, "code")
1701
+
1702
+ @_builtins.property
1703
+ @pulumi.getter
1704
+ def id(self) -> Optional[_builtins.int]:
1705
+ """
1706
+ The internal unique ID of the WAF rule.
1707
+ """
1708
+ return pulumi.get(self, "id")
1709
+
1710
+
1711
+ @pulumi.output_type
1712
+ class WafRuleConfigAppPackage(dict):
1713
+ @staticmethod
1714
+ def __key_warning(key: str):
1715
+ suggest = None
1716
+ if key == "packageSigns":
1717
+ suggest = "package_signs"
1718
+
1719
+ if suggest:
1720
+ pulumi.log.warn(f"Key '{key}' not found in WafRuleConfigAppPackage. Access the value via the '{suggest}' property getter instead.")
1721
+
1722
+ def __getitem__(self, key: str) -> Any:
1723
+ WafRuleConfigAppPackage.__key_warning(key)
1724
+ return super().__getitem__(key)
1725
+
1726
+ def get(self, key: str, default = None) -> Any:
1727
+ WafRuleConfigAppPackage.__key_warning(key)
1728
+ return super().get(key, default)
1729
+
1730
+ def __init__(__self__, *,
1731
+ package_signs: Optional[Sequence['outputs.WafRuleConfigAppPackagePackageSign']] = None):
1732
+ """
1733
+ :param Sequence['WafRuleConfigAppPackagePackageSignArgs'] package_signs: Security mechanism to prevent apps from being repackaged. See `package_signs` below.
1734
+ """
1735
+ if package_signs is not None:
1736
+ pulumi.set(__self__, "package_signs", package_signs)
1737
+
1738
+ @_builtins.property
1739
+ @pulumi.getter(name="packageSigns")
1740
+ def package_signs(self) -> Optional[Sequence['outputs.WafRuleConfigAppPackagePackageSign']]:
1741
+ """
1742
+ Security mechanism to prevent apps from being repackaged. See `package_signs` below.
1743
+ """
1744
+ return pulumi.get(self, "package_signs")
1745
+
1746
+
1747
+ @pulumi.output_type
1748
+ class WafRuleConfigAppPackagePackageSign(dict):
1749
+ def __init__(__self__, *,
1750
+ name: Optional[_builtins.str] = None,
1751
+ sign: Optional[_builtins.str] = None):
1752
+ """
1753
+ :param _builtins.str sign: The digital signature of a legitimate app package.
1754
+ """
1755
+ if name is not None:
1756
+ pulumi.set(__self__, "name", name)
1757
+ if sign is not None:
1758
+ pulumi.set(__self__, "sign", sign)
1759
+
1760
+ @_builtins.property
1761
+ @pulumi.getter
1762
+ def name(self) -> Optional[_builtins.str]:
1763
+ return pulumi.get(self, "name")
1764
+
1765
+ @_builtins.property
1766
+ @pulumi.getter
1767
+ def sign(self) -> Optional[_builtins.str]:
1768
+ """
1769
+ The digital signature of a legitimate app package.
1770
+ """
1771
+ return pulumi.get(self, "sign")
1772
+
1773
+
1774
+ @pulumi.output_type
1775
+ class WafRuleConfigAppSdk(dict):
1776
+ @staticmethod
1777
+ def __key_warning(key: str):
1778
+ suggest = None
1779
+ if key == "customSign":
1780
+ suggest = "custom_sign"
1781
+ elif key == "customSignStatus":
1782
+ suggest = "custom_sign_status"
1783
+ elif key == "featureAbnormals":
1784
+ suggest = "feature_abnormals"
1785
+
1786
+ if suggest:
1787
+ pulumi.log.warn(f"Key '{key}' not found in WafRuleConfigAppSdk. Access the value via the '{suggest}' property getter instead.")
1788
+
1789
+ def __getitem__(self, key: str) -> Any:
1790
+ WafRuleConfigAppSdk.__key_warning(key)
1791
+ return super().__getitem__(key)
1792
+
1793
+ def get(self, key: str, default = None) -> Any:
1794
+ WafRuleConfigAppSdk.__key_warning(key)
1795
+ return super().get(key, default)
1796
+
1797
+ def __init__(__self__, *,
1798
+ custom_sign: Optional['outputs.WafRuleConfigAppSdkCustomSign'] = None,
1799
+ custom_sign_status: Optional[_builtins.str] = None,
1800
+ feature_abnormals: Optional[Sequence[_builtins.str]] = None):
1801
+ """
1802
+ :param 'WafRuleConfigAppSdkCustomSignArgs' custom_sign: Custom fields used for mobile app signature validation. See `custom_sign` below.
1803
+ :param _builtins.str custom_sign_status: Indicates whether the custom signature field validation is enabled.
1804
+ :param Sequence[_builtins.str] feature_abnormals: Detected abnormal behaviors of the application.
1805
+ """
1806
+ if custom_sign is not None:
1807
+ pulumi.set(__self__, "custom_sign", custom_sign)
1808
+ if custom_sign_status is not None:
1809
+ pulumi.set(__self__, "custom_sign_status", custom_sign_status)
1810
+ if feature_abnormals is not None:
1811
+ pulumi.set(__self__, "feature_abnormals", feature_abnormals)
1812
+
1813
+ @_builtins.property
1814
+ @pulumi.getter(name="customSign")
1815
+ def custom_sign(self) -> Optional['outputs.WafRuleConfigAppSdkCustomSign']:
1816
+ """
1817
+ Custom fields used for mobile app signature validation. See `custom_sign` below.
1818
+ """
1819
+ return pulumi.get(self, "custom_sign")
1820
+
1821
+ @_builtins.property
1822
+ @pulumi.getter(name="customSignStatus")
1823
+ def custom_sign_status(self) -> Optional[_builtins.str]:
1824
+ """
1825
+ Indicates whether the custom signature field validation is enabled.
1826
+ """
1827
+ return pulumi.get(self, "custom_sign_status")
1828
+
1829
+ @_builtins.property
1830
+ @pulumi.getter(name="featureAbnormals")
1831
+ def feature_abnormals(self) -> Optional[Sequence[_builtins.str]]:
1832
+ """
1833
+ Detected abnormal behaviors of the application.
1834
+ """
1835
+ return pulumi.get(self, "feature_abnormals")
1836
+
1837
+
1838
+ @pulumi.output_type
1839
+ class WafRuleConfigAppSdkCustomSign(dict):
1840
+ def __init__(__self__, *,
1841
+ key: Optional[_builtins.str] = None,
1842
+ value: Optional[_builtins.str] = None):
1843
+ """
1844
+ :param _builtins.str key: The name of the custom signature field used for validation.
1845
+ :param _builtins.str value: The value of the custom signature field used for validation.
1846
+ """
1847
+ if key is not None:
1848
+ pulumi.set(__self__, "key", key)
1849
+ if value is not None:
1850
+ pulumi.set(__self__, "value", value)
1851
+
1852
+ @_builtins.property
1853
+ @pulumi.getter
1854
+ def key(self) -> Optional[_builtins.str]:
1855
+ """
1856
+ The name of the custom signature field used for validation.
1857
+ """
1858
+ return pulumi.get(self, "key")
1859
+
1860
+ @_builtins.property
1861
+ @pulumi.getter
1862
+ def value(self) -> Optional[_builtins.str]:
1863
+ """
1864
+ The value of the custom signature field used for validation.
1865
+ """
1866
+ return pulumi.get(self, "value")
1867
+
1868
+
1869
+ @pulumi.output_type
1870
+ class WafRuleConfigManagedRuleset(dict):
1871
+ @staticmethod
1872
+ def __key_warning(key: str):
1873
+ suggest = None
1874
+ if key == "attackType":
1875
+ suggest = "attack_type"
1876
+ elif key == "managedRules":
1877
+ suggest = "managed_rules"
1878
+ elif key == "numberEnabled":
1879
+ suggest = "number_enabled"
1880
+ elif key == "numberTotal":
1881
+ suggest = "number_total"
1882
+ elif key == "protectionLevel":
1883
+ suggest = "protection_level"
1884
+
1885
+ if suggest:
1886
+ pulumi.log.warn(f"Key '{key}' not found in WafRuleConfigManagedRuleset. Access the value via the '{suggest}' property getter instead.")
1887
+
1888
+ def __getitem__(self, key: str) -> Any:
1889
+ WafRuleConfigManagedRuleset.__key_warning(key)
1890
+ return super().__getitem__(key)
1891
+
1892
+ def get(self, key: str, default = None) -> Any:
1893
+ WafRuleConfigManagedRuleset.__key_warning(key)
1894
+ return super().get(key, default)
1895
+
1896
+ def __init__(__self__, *,
1897
+ action: Optional[_builtins.str] = None,
1898
+ attack_type: Optional[_builtins.int] = None,
1899
+ managed_rules: Optional[Sequence['outputs.WafRuleConfigManagedRulesetManagedRule']] = None,
1900
+ number_enabled: Optional[_builtins.int] = None,
1901
+ number_total: Optional[_builtins.int] = None,
1902
+ protection_level: Optional[_builtins.int] = None):
1903
+ """
1904
+ :param _builtins.int attack_type: The primary attack type targeted by this ruleset.
1905
+ :param Sequence['WafRuleConfigManagedRulesetManagedRuleArgs'] managed_rules: The individual managed rules included in this ruleset. See `managed_rules` below.
1906
+ :param _builtins.int number_enabled: Number of rules currently enabled.
1907
+ :param _builtins.int number_total: Total number of rules in this ruleset.
1908
+ :param _builtins.int protection_level: The protection strength level assigned to this ruleset.
1909
+ """
1910
+ if action is not None:
1911
+ pulumi.set(__self__, "action", action)
1912
+ if attack_type is not None:
1913
+ pulumi.set(__self__, "attack_type", attack_type)
1914
+ if managed_rules is not None:
1915
+ pulumi.set(__self__, "managed_rules", managed_rules)
1916
+ if number_enabled is not None:
1917
+ pulumi.set(__self__, "number_enabled", number_enabled)
1918
+ if number_total is not None:
1919
+ pulumi.set(__self__, "number_total", number_total)
1920
+ if protection_level is not None:
1921
+ pulumi.set(__self__, "protection_level", protection_level)
1922
+
1923
+ @_builtins.property
1924
+ @pulumi.getter
1925
+ def action(self) -> Optional[_builtins.str]:
1926
+ return pulumi.get(self, "action")
1927
+
1928
+ @_builtins.property
1929
+ @pulumi.getter(name="attackType")
1930
+ def attack_type(self) -> Optional[_builtins.int]:
1931
+ """
1932
+ The primary attack type targeted by this ruleset.
1933
+ """
1934
+ return pulumi.get(self, "attack_type")
1935
+
1936
+ @_builtins.property
1937
+ @pulumi.getter(name="managedRules")
1938
+ def managed_rules(self) -> Optional[Sequence['outputs.WafRuleConfigManagedRulesetManagedRule']]:
1939
+ """
1940
+ The individual managed rules included in this ruleset. See `managed_rules` below.
1941
+ """
1942
+ return pulumi.get(self, "managed_rules")
1943
+
1944
+ @_builtins.property
1945
+ @pulumi.getter(name="numberEnabled")
1946
+ def number_enabled(self) -> Optional[_builtins.int]:
1947
+ """
1948
+ Number of rules currently enabled.
1949
+ """
1950
+ return pulumi.get(self, "number_enabled")
1951
+
1952
+ @_builtins.property
1953
+ @pulumi.getter(name="numberTotal")
1954
+ def number_total(self) -> Optional[_builtins.int]:
1955
+ """
1956
+ Total number of rules in this ruleset.
1957
+ """
1958
+ return pulumi.get(self, "number_total")
1959
+
1960
+ @_builtins.property
1961
+ @pulumi.getter(name="protectionLevel")
1962
+ def protection_level(self) -> Optional[_builtins.int]:
1963
+ """
1964
+ The protection strength level assigned to this ruleset.
1965
+ """
1966
+ return pulumi.get(self, "protection_level")
1967
+
1968
+
1969
+ @pulumi.output_type
1970
+ class WafRuleConfigManagedRulesetManagedRule(dict):
1971
+ def __init__(__self__, *,
1972
+ action: Optional[_builtins.str] = None,
1973
+ id: Optional[_builtins.int] = None,
1974
+ status: Optional[_builtins.str] = None):
1975
+ """
1976
+ :param _builtins.int id: The internal unique ID of the WAF rule.
1977
+ :param _builtins.str status: The status of the managed rule: whether it is enabled or disabled.
1978
+ """
1979
+ if action is not None:
1980
+ pulumi.set(__self__, "action", action)
1981
+ if id is not None:
1982
+ pulumi.set(__self__, "id", id)
1983
+ if status is not None:
1984
+ pulumi.set(__self__, "status", status)
1985
+
1986
+ @_builtins.property
1987
+ @pulumi.getter
1988
+ def action(self) -> Optional[_builtins.str]:
1989
+ return pulumi.get(self, "action")
1990
+
1991
+ @_builtins.property
1992
+ @pulumi.getter
1993
+ def id(self) -> Optional[_builtins.int]:
1994
+ """
1995
+ The internal unique ID of the WAF rule.
1996
+ """
1997
+ return pulumi.get(self, "id")
1998
+
1999
+ @_builtins.property
2000
+ @pulumi.getter
2001
+ def status(self) -> Optional[_builtins.str]:
2002
+ """
2003
+ The status of the managed rule: whether it is enabled or disabled.
2004
+ """
2005
+ return pulumi.get(self, "status")
2006
+
2007
+
2008
+ @pulumi.output_type
2009
+ class WafRuleConfigRateLimit(dict):
2010
+ @staticmethod
2011
+ def __key_warning(key: str):
2012
+ suggest = None
2013
+ if key == "onHit":
2014
+ suggest = "on_hit"
2015
+
2016
+ if suggest:
2017
+ pulumi.log.warn(f"Key '{key}' not found in WafRuleConfigRateLimit. Access the value via the '{suggest}' property getter instead.")
2018
+
2019
+ def __getitem__(self, key: str) -> Any:
2020
+ WafRuleConfigRateLimit.__key_warning(key)
2021
+ return super().__getitem__(key)
2022
+
2023
+ def get(self, key: str, default = None) -> Any:
2024
+ WafRuleConfigRateLimit.__key_warning(key)
2025
+ return super().get(key, default)
2026
+
2027
+ def __init__(__self__, *,
2028
+ characteristics: Optional['outputs.WafRuleConfigRateLimitCharacteristics'] = None,
2029
+ interval: Optional[_builtins.int] = None,
2030
+ on_hit: Optional[_builtins.bool] = None,
2031
+ threshold: Optional['outputs.WafRuleConfigRateLimitThreshold'] = None,
2032
+ ttl: Optional[_builtins.int] = None):
2033
+ """
2034
+ :param 'WafRuleConfigRateLimitCharacteristicsArgs' characteristics: The statistical dimensions to which the rate limiting rule applies. See `characteristics` below.
2035
+ :param _builtins.int interval: The statistical interval.
2036
+ :param _builtins.bool on_hit: Indicates whether the rule applies to requests that hit the cache.
2037
+ :param 'WafRuleConfigRateLimitThresholdArgs' threshold: Threshold settings for the rate limiting rule. See `threshold` below.
2038
+ :param _builtins.int ttl: The timeout period for creating the stack used in rate limiting.
2039
+ """
2040
+ if characteristics is not None:
2041
+ pulumi.set(__self__, "characteristics", characteristics)
2042
+ if interval is not None:
2043
+ pulumi.set(__self__, "interval", interval)
2044
+ if on_hit is not None:
2045
+ pulumi.set(__self__, "on_hit", on_hit)
2046
+ if threshold is not None:
2047
+ pulumi.set(__self__, "threshold", threshold)
2048
+ if ttl is not None:
2049
+ pulumi.set(__self__, "ttl", ttl)
2050
+
2051
+ @_builtins.property
2052
+ @pulumi.getter
2053
+ def characteristics(self) -> Optional['outputs.WafRuleConfigRateLimitCharacteristics']:
2054
+ """
2055
+ The statistical dimensions to which the rate limiting rule applies. See `characteristics` below.
2056
+ """
2057
+ return pulumi.get(self, "characteristics")
2058
+
2059
+ @_builtins.property
2060
+ @pulumi.getter
2061
+ def interval(self) -> Optional[_builtins.int]:
2062
+ """
2063
+ The statistical interval.
2064
+ """
2065
+ return pulumi.get(self, "interval")
2066
+
2067
+ @_builtins.property
2068
+ @pulumi.getter(name="onHit")
2069
+ def on_hit(self) -> Optional[_builtins.bool]:
2070
+ """
2071
+ Indicates whether the rule applies to requests that hit the cache.
2072
+ """
2073
+ return pulumi.get(self, "on_hit")
2074
+
2075
+ @_builtins.property
2076
+ @pulumi.getter
2077
+ def threshold(self) -> Optional['outputs.WafRuleConfigRateLimitThreshold']:
2078
+ """
2079
+ Threshold settings for the rate limiting rule. See `threshold` below.
2080
+ """
2081
+ return pulumi.get(self, "threshold")
2082
+
2083
+ @_builtins.property
2084
+ @pulumi.getter
2085
+ def ttl(self) -> Optional[_builtins.int]:
2086
+ """
2087
+ The timeout period for creating the stack used in rate limiting.
2088
+ """
2089
+ return pulumi.get(self, "ttl")
2090
+
2091
+
2092
+ @pulumi.output_type
2093
+ class WafRuleConfigRateLimitCharacteristics(dict):
2094
+ def __init__(__self__, *,
2095
+ criterias: Optional[Sequence['outputs.WafRuleConfigRateLimitCharacteristicsCriteria']] = None,
2096
+ logic: Optional[_builtins.str] = None):
2097
+ if criterias is not None:
2098
+ pulumi.set(__self__, "criterias", criterias)
2099
+ if logic is not None:
2100
+ pulumi.set(__self__, "logic", logic)
2101
+
2102
+ @_builtins.property
2103
+ @pulumi.getter
2104
+ def criterias(self) -> Optional[Sequence['outputs.WafRuleConfigRateLimitCharacteristicsCriteria']]:
2105
+ return pulumi.get(self, "criterias")
2106
+
2107
+ @_builtins.property
2108
+ @pulumi.getter
2109
+ def logic(self) -> Optional[_builtins.str]:
2110
+ return pulumi.get(self, "logic")
2111
+
2112
+
2113
+ @pulumi.output_type
2114
+ class WafRuleConfigRateLimitCharacteristicsCriteria(dict):
2115
+ @staticmethod
2116
+ def __key_warning(key: str):
2117
+ suggest = None
2118
+ if key == "matchType":
2119
+ suggest = "match_type"
2120
+
2121
+ if suggest:
2122
+ pulumi.log.warn(f"Key '{key}' not found in WafRuleConfigRateLimitCharacteristicsCriteria. Access the value via the '{suggest}' property getter instead.")
2123
+
2124
+ def __getitem__(self, key: str) -> Any:
2125
+ WafRuleConfigRateLimitCharacteristicsCriteria.__key_warning(key)
2126
+ return super().__getitem__(key)
2127
+
2128
+ def get(self, key: str, default = None) -> Any:
2129
+ WafRuleConfigRateLimitCharacteristicsCriteria.__key_warning(key)
2130
+ return super().get(key, default)
2131
+
2132
+ def __init__(__self__, *,
2133
+ criterias: Optional[Sequence['outputs.WafRuleConfigRateLimitCharacteristicsCriteriaCriteria']] = None,
2134
+ logic: Optional[_builtins.str] = None,
2135
+ match_type: Optional[_builtins.str] = None):
2136
+ if criterias is not None:
2137
+ pulumi.set(__self__, "criterias", criterias)
2138
+ if logic is not None:
2139
+ pulumi.set(__self__, "logic", logic)
2140
+ if match_type is not None:
2141
+ pulumi.set(__self__, "match_type", match_type)
2142
+
2143
+ @_builtins.property
2144
+ @pulumi.getter
2145
+ def criterias(self) -> Optional[Sequence['outputs.WafRuleConfigRateLimitCharacteristicsCriteriaCriteria']]:
2146
+ return pulumi.get(self, "criterias")
2147
+
2148
+ @_builtins.property
2149
+ @pulumi.getter
2150
+ def logic(self) -> Optional[_builtins.str]:
2151
+ return pulumi.get(self, "logic")
2152
+
2153
+ @_builtins.property
2154
+ @pulumi.getter(name="matchType")
2155
+ def match_type(self) -> Optional[_builtins.str]:
2156
+ return pulumi.get(self, "match_type")
2157
+
2158
+
2159
+ @pulumi.output_type
2160
+ class WafRuleConfigRateLimitCharacteristicsCriteriaCriteria(dict):
2161
+ @staticmethod
2162
+ def __key_warning(key: str):
2163
+ suggest = None
2164
+ if key == "matchType":
2165
+ suggest = "match_type"
2166
+
2167
+ if suggest:
2168
+ pulumi.log.warn(f"Key '{key}' not found in WafRuleConfigRateLimitCharacteristicsCriteriaCriteria. Access the value via the '{suggest}' property getter instead.")
2169
+
2170
+ def __getitem__(self, key: str) -> Any:
2171
+ WafRuleConfigRateLimitCharacteristicsCriteriaCriteria.__key_warning(key)
2172
+ return super().__getitem__(key)
2173
+
2174
+ def get(self, key: str, default = None) -> Any:
2175
+ WafRuleConfigRateLimitCharacteristicsCriteriaCriteria.__key_warning(key)
2176
+ return super().get(key, default)
2177
+
2178
+ def __init__(__self__, *,
2179
+ criterias: Optional[Sequence['outputs.WafRuleConfigRateLimitCharacteristicsCriteriaCriteriaCriteria']] = None,
2180
+ logic: Optional[_builtins.str] = None,
2181
+ match_type: Optional[_builtins.str] = None):
2182
+ if criterias is not None:
2183
+ pulumi.set(__self__, "criterias", criterias)
2184
+ if logic is not None:
2185
+ pulumi.set(__self__, "logic", logic)
2186
+ if match_type is not None:
2187
+ pulumi.set(__self__, "match_type", match_type)
2188
+
2189
+ @_builtins.property
2190
+ @pulumi.getter
2191
+ def criterias(self) -> Optional[Sequence['outputs.WafRuleConfigRateLimitCharacteristicsCriteriaCriteriaCriteria']]:
2192
+ return pulumi.get(self, "criterias")
2193
+
2194
+ @_builtins.property
2195
+ @pulumi.getter
2196
+ def logic(self) -> Optional[_builtins.str]:
2197
+ return pulumi.get(self, "logic")
2198
+
2199
+ @_builtins.property
2200
+ @pulumi.getter(name="matchType")
2201
+ def match_type(self) -> Optional[_builtins.str]:
2202
+ return pulumi.get(self, "match_type")
2203
+
2204
+
2205
+ @pulumi.output_type
2206
+ class WafRuleConfigRateLimitCharacteristicsCriteriaCriteriaCriteria(dict):
2207
+ @staticmethod
2208
+ def __key_warning(key: str):
2209
+ suggest = None
2210
+ if key == "matchType":
2211
+ suggest = "match_type"
2212
+
2213
+ if suggest:
2214
+ pulumi.log.warn(f"Key '{key}' not found in WafRuleConfigRateLimitCharacteristicsCriteriaCriteriaCriteria. Access the value via the '{suggest}' property getter instead.")
2215
+
2216
+ def __getitem__(self, key: str) -> Any:
2217
+ WafRuleConfigRateLimitCharacteristicsCriteriaCriteriaCriteria.__key_warning(key)
2218
+ return super().__getitem__(key)
2219
+
2220
+ def get(self, key: str, default = None) -> Any:
2221
+ WafRuleConfigRateLimitCharacteristicsCriteriaCriteriaCriteria.__key_warning(key)
2222
+ return super().get(key, default)
2223
+
2224
+ def __init__(__self__, *,
2225
+ match_type: Optional[_builtins.str] = None):
2226
+ if match_type is not None:
2227
+ pulumi.set(__self__, "match_type", match_type)
2228
+
2229
+ @_builtins.property
2230
+ @pulumi.getter(name="matchType")
2231
+ def match_type(self) -> Optional[_builtins.str]:
2232
+ return pulumi.get(self, "match_type")
2233
+
2234
+
2235
+ @pulumi.output_type
2236
+ class WafRuleConfigRateLimitThreshold(dict):
2237
+ @staticmethod
2238
+ def __key_warning(key: str):
2239
+ suggest = None
2240
+ if key == "distinctManagedRules":
2241
+ suggest = "distinct_managed_rules"
2242
+ elif key == "managedRulesBlocked":
2243
+ suggest = "managed_rules_blocked"
2244
+ elif key == "responseStatus":
2245
+ suggest = "response_status"
2246
+
2247
+ if suggest:
2248
+ pulumi.log.warn(f"Key '{key}' not found in WafRuleConfigRateLimitThreshold. Access the value via the '{suggest}' property getter instead.")
2249
+
2250
+ def __getitem__(self, key: str) -> Any:
2251
+ WafRuleConfigRateLimitThreshold.__key_warning(key)
2252
+ return super().__getitem__(key)
2253
+
2254
+ def get(self, key: str, default = None) -> Any:
2255
+ WafRuleConfigRateLimitThreshold.__key_warning(key)
2256
+ return super().get(key, default)
2257
+
2258
+ def __init__(__self__, *,
2259
+ distinct_managed_rules: Optional[_builtins.int] = None,
2260
+ managed_rules_blocked: Optional[_builtins.int] = None,
2261
+ request: Optional[_builtins.int] = None,
2262
+ response_status: Optional['outputs.WafRuleConfigRateLimitThresholdResponseStatus'] = None,
2263
+ traffic: Optional[_builtins.str] = None):
2264
+ """
2265
+ :param _builtins.int distinct_managed_rules: The maximum number of distinct managed rules that can be triggered.
2266
+ :param _builtins.int managed_rules_blocked: The maximum number of times that managed rules can be triggered.
2267
+ :param _builtins.int request: The maximum number of allowed requests within a time interval.
2268
+ :param 'WafRuleConfigRateLimitThresholdResponseStatusArgs' response_status: Limits on the frequency of returning specific HTTP status codes. See `response_status` below.
2269
+ :param _builtins.str traffic: The maximum allowed traffic within a time interval (deprecated).
2270
+ """
2271
+ if distinct_managed_rules is not None:
2272
+ pulumi.set(__self__, "distinct_managed_rules", distinct_managed_rules)
2273
+ if managed_rules_blocked is not None:
2274
+ pulumi.set(__self__, "managed_rules_blocked", managed_rules_blocked)
2275
+ if request is not None:
2276
+ pulumi.set(__self__, "request", request)
2277
+ if response_status is not None:
2278
+ pulumi.set(__self__, "response_status", response_status)
2279
+ if traffic is not None:
2280
+ pulumi.set(__self__, "traffic", traffic)
2281
+
2282
+ @_builtins.property
2283
+ @pulumi.getter(name="distinctManagedRules")
2284
+ def distinct_managed_rules(self) -> Optional[_builtins.int]:
2285
+ """
2286
+ The maximum number of distinct managed rules that can be triggered.
2287
+ """
2288
+ return pulumi.get(self, "distinct_managed_rules")
2289
+
2290
+ @_builtins.property
2291
+ @pulumi.getter(name="managedRulesBlocked")
2292
+ def managed_rules_blocked(self) -> Optional[_builtins.int]:
2293
+ """
2294
+ The maximum number of times that managed rules can be triggered.
2295
+ """
2296
+ return pulumi.get(self, "managed_rules_blocked")
2297
+
2298
+ @_builtins.property
2299
+ @pulumi.getter
2300
+ def request(self) -> Optional[_builtins.int]:
2301
+ """
2302
+ The maximum number of allowed requests within a time interval.
2303
+ """
2304
+ return pulumi.get(self, "request")
2305
+
2306
+ @_builtins.property
2307
+ @pulumi.getter(name="responseStatus")
2308
+ def response_status(self) -> Optional['outputs.WafRuleConfigRateLimitThresholdResponseStatus']:
2309
+ """
2310
+ Limits on the frequency of returning specific HTTP status codes. See `response_status` below.
2311
+ """
2312
+ return pulumi.get(self, "response_status")
2313
+
2314
+ @_builtins.property
2315
+ @pulumi.getter
2316
+ def traffic(self) -> Optional[_builtins.str]:
2317
+ """
2318
+ The maximum allowed traffic within a time interval (deprecated).
2319
+ """
2320
+ return pulumi.get(self, "traffic")
2321
+
2322
+
2323
+ @pulumi.output_type
2324
+ class WafRuleConfigRateLimitThresholdResponseStatus(dict):
2325
+ def __init__(__self__, *,
2326
+ code: Optional[_builtins.int] = None,
2327
+ count: Optional[_builtins.int] = None,
2328
+ ratio: Optional[_builtins.int] = None):
2329
+ """
2330
+ :param _builtins.int count: The maximum number of times the specified status code can be returned.
2331
+ :param _builtins.int ratio: The upper limit of the percentage of occurrences of the specified status code among all responses.
2332
+ """
2333
+ if code is not None:
2334
+ pulumi.set(__self__, "code", code)
2335
+ if count is not None:
2336
+ pulumi.set(__self__, "count", count)
2337
+ if ratio is not None:
2338
+ pulumi.set(__self__, "ratio", ratio)
2339
+
2340
+ @_builtins.property
2341
+ @pulumi.getter
2342
+ def code(self) -> Optional[_builtins.int]:
2343
+ return pulumi.get(self, "code")
2344
+
2345
+ @_builtins.property
2346
+ @pulumi.getter
2347
+ def count(self) -> Optional[_builtins.int]:
2348
+ """
2349
+ The maximum number of times the specified status code can be returned.
2350
+ """
2351
+ return pulumi.get(self, "count")
2352
+
2353
+ @_builtins.property
2354
+ @pulumi.getter
2355
+ def ratio(self) -> Optional[_builtins.int]:
2356
+ """
2357
+ The upper limit of the percentage of occurrences of the specified status code among all responses.
2358
+ """
2359
+ return pulumi.get(self, "ratio")
2360
+
2361
+
2362
+ @pulumi.output_type
2363
+ class WafRuleConfigSecurityLevel(dict):
2364
+ def __init__(__self__, *,
2365
+ value: Optional[_builtins.str] = None):
2366
+ """
2367
+ :param _builtins.str value: The value of the custom signature field used for validation.
2368
+ """
2369
+ if value is not None:
2370
+ pulumi.set(__self__, "value", value)
2371
+
2372
+ @_builtins.property
2373
+ @pulumi.getter
2374
+ def value(self) -> Optional[_builtins.str]:
2375
+ """
2376
+ The value of the custom signature field used for validation.
2377
+ """
2378
+ return pulumi.get(self, "value")
2379
+
2380
+
2381
+ @pulumi.output_type
2382
+ class WafRuleConfigTimer(dict):
2383
+ @staticmethod
2384
+ def __key_warning(key: str):
2385
+ suggest = None
2386
+ if key == "weeklyPeriods":
2387
+ suggest = "weekly_periods"
2388
+
2389
+ if suggest:
2390
+ pulumi.log.warn(f"Key '{key}' not found in WafRuleConfigTimer. Access the value via the '{suggest}' property getter instead.")
2391
+
2392
+ def __getitem__(self, key: str) -> Any:
2393
+ WafRuleConfigTimer.__key_warning(key)
2394
+ return super().__getitem__(key)
2395
+
2396
+ def get(self, key: str, default = None) -> Any:
2397
+ WafRuleConfigTimer.__key_warning(key)
2398
+ return super().get(key, default)
2399
+
2400
+ def __init__(__self__, *,
2401
+ periods: Optional[Sequence['outputs.WafRuleConfigTimerPeriod']] = None,
2402
+ scopes: Optional[_builtins.str] = None,
2403
+ weekly_periods: Optional[Sequence['outputs.WafRuleConfigTimerWeeklyPeriod']] = None,
2404
+ zone: Optional[_builtins.int] = None):
2405
+ """
2406
+ :param _builtins.str scopes: Timing type:
2407
+ :param Sequence['WafRuleConfigTimerWeeklyPeriodArgs'] weekly_periods: Weekly recurring time schedules. See `weekly_periods` below.
2408
+ :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
2409
+ """
2410
+ if periods is not None:
2411
+ pulumi.set(__self__, "periods", periods)
2412
+ if scopes is not None:
2413
+ pulumi.set(__self__, "scopes", scopes)
2414
+ if weekly_periods is not None:
2415
+ pulumi.set(__self__, "weekly_periods", weekly_periods)
2416
+ if zone is not None:
2417
+ pulumi.set(__self__, "zone", zone)
2418
+
2419
+ @_builtins.property
2420
+ @pulumi.getter
2421
+ def periods(self) -> Optional[Sequence['outputs.WafRuleConfigTimerPeriod']]:
2422
+ return pulumi.get(self, "periods")
2423
+
2424
+ @_builtins.property
2425
+ @pulumi.getter
2426
+ def scopes(self) -> Optional[_builtins.str]:
2427
+ """
2428
+ Timing type:
2429
+ """
2430
+ return pulumi.get(self, "scopes")
2431
+
2432
+ @_builtins.property
2433
+ @pulumi.getter(name="weeklyPeriods")
2434
+ def weekly_periods(self) -> Optional[Sequence['outputs.WafRuleConfigTimerWeeklyPeriod']]:
2435
+ """
2436
+ Weekly recurring time schedules. See `weekly_periods` below.
2437
+ """
2438
+ return pulumi.get(self, "weekly_periods")
2439
+
2440
+ @_builtins.property
2441
+ @pulumi.getter
2442
+ def zone(self) -> Optional[_builtins.int]:
2443
+ """
2444
+ 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
2445
+ """
2446
+ return pulumi.get(self, "zone")
2447
+
2448
+
2449
+ @pulumi.output_type
2450
+ class WafRuleConfigTimerPeriod(dict):
2451
+ def __init__(__self__, *,
2452
+ end: Optional[_builtins.str] = None,
2453
+ start: Optional[_builtins.str] = None):
2454
+ """
2455
+ :param _builtins.str end: End time in HH:mm:ss format
2456
+ :param _builtins.str start: Start time in HH:mm:ss format
2457
+ """
2458
+ if end is not None:
2459
+ pulumi.set(__self__, "end", end)
2460
+ if start is not None:
2461
+ pulumi.set(__self__, "start", start)
2462
+
2463
+ @_builtins.property
2464
+ @pulumi.getter
2465
+ def end(self) -> Optional[_builtins.str]:
2466
+ """
2467
+ End time in HH:mm:ss format
2468
+ """
2469
+ return pulumi.get(self, "end")
2470
+
2471
+ @_builtins.property
2472
+ @pulumi.getter
2473
+ def start(self) -> Optional[_builtins.str]:
2474
+ """
2475
+ Start time in HH:mm:ss format
2476
+ """
2477
+ return pulumi.get(self, "start")
2478
+
2479
+
2480
+ @pulumi.output_type
2481
+ class WafRuleConfigTimerWeeklyPeriod(dict):
2482
+ @staticmethod
2483
+ def __key_warning(key: str):
2484
+ suggest = None
2485
+ if key == "dailyPeriods":
2486
+ suggest = "daily_periods"
2487
+
2488
+ if suggest:
2489
+ pulumi.log.warn(f"Key '{key}' not found in WafRuleConfigTimerWeeklyPeriod. Access the value via the '{suggest}' property getter instead.")
2490
+
2491
+ def __getitem__(self, key: str) -> Any:
2492
+ WafRuleConfigTimerWeeklyPeriod.__key_warning(key)
2493
+ return super().__getitem__(key)
2494
+
2495
+ def get(self, key: str, default = None) -> Any:
2496
+ WafRuleConfigTimerWeeklyPeriod.__key_warning(key)
2497
+ return super().get(key, default)
2498
+
2499
+ def __init__(__self__, *,
2500
+ daily_periods: Optional[Sequence['outputs.WafRuleConfigTimerWeeklyPeriodDailyPeriod']] = None,
2501
+ days: Optional[_builtins.str] = None):
2502
+ """
2503
+ :param Sequence['WafRuleConfigTimerWeeklyPeriodDailyPeriodArgs'] daily_periods: Daily effective time periods within a weekly schedule. See `daily_periods` below.
2504
+ :param _builtins.str days: Cycle, multiple use comma separated, 1-7 respectively represent Monday-Sunday. Example: Monday, Wednesday value is "1,3"
2505
+ """
2506
+ if daily_periods is not None:
2507
+ pulumi.set(__self__, "daily_periods", daily_periods)
2508
+ if days is not None:
2509
+ pulumi.set(__self__, "days", days)
2510
+
2511
+ @_builtins.property
2512
+ @pulumi.getter(name="dailyPeriods")
2513
+ def daily_periods(self) -> Optional[Sequence['outputs.WafRuleConfigTimerWeeklyPeriodDailyPeriod']]:
2514
+ """
2515
+ Daily effective time periods within a weekly schedule. See `daily_periods` below.
2516
+ """
2517
+ return pulumi.get(self, "daily_periods")
2518
+
2519
+ @_builtins.property
2520
+ @pulumi.getter
2521
+ def days(self) -> Optional[_builtins.str]:
2522
+ """
2523
+ Cycle, multiple use comma separated, 1-7 respectively represent Monday-Sunday. Example: Monday, Wednesday value is "1,3"
2524
+ """
2525
+ return pulumi.get(self, "days")
2526
+
2527
+
2528
+ @pulumi.output_type
2529
+ class WafRuleConfigTimerWeeklyPeriodDailyPeriod(dict):
2530
+ def __init__(__self__, *,
2531
+ end: Optional[_builtins.str] = None,
2532
+ start: Optional[_builtins.str] = None):
2533
+ """
2534
+ :param _builtins.str end: End time in HH:mm:ss format
2535
+ :param _builtins.str start: Start time in HH:mm:ss format
2536
+ """
2537
+ if end is not None:
2538
+ pulumi.set(__self__, "end", end)
2539
+ if start is not None:
2540
+ pulumi.set(__self__, "start", start)
2541
+
2542
+ @_builtins.property
2543
+ @pulumi.getter
2544
+ def end(self) -> Optional[_builtins.str]:
2545
+ """
2546
+ End time in HH:mm:ss format
2547
+ """
2548
+ return pulumi.get(self, "end")
2549
+
2550
+ @_builtins.property
2551
+ @pulumi.getter
2552
+ def start(self) -> Optional[_builtins.str]:
2553
+ """
2554
+ Start time in HH:mm:ss format
2555
+ """
2556
+ return pulumi.get(self, "start")
2557
+
2558
+
2559
+ @pulumi.output_type
2560
+ class WafRuleShared(dict):
2561
+ @staticmethod
2562
+ def __key_warning(key: str):
2563
+ suggest = None
2564
+ if key == "crossSiteId":
2565
+ suggest = "cross_site_id"
2566
+
2567
+ if suggest:
2568
+ pulumi.log.warn(f"Key '{key}' not found in WafRuleShared. Access the value via the '{suggest}' property getter instead.")
2569
+
2570
+ def __getitem__(self, key: str) -> Any:
2571
+ WafRuleShared.__key_warning(key)
2572
+ return super().__getitem__(key)
2573
+
2574
+ def get(self, key: str, default = None) -> Any:
2575
+ WafRuleShared.__key_warning(key)
2576
+ return super().get(key, default)
2577
+
2578
+ def __init__(__self__, *,
2579
+ action: Optional[_builtins.str] = None,
2580
+ actions: Optional['outputs.WafRuleSharedActions'] = None,
2581
+ cross_site_id: Optional[_builtins.int] = None,
2582
+ expression: Optional[_builtins.str] = None,
2583
+ match: Optional['outputs.WafRuleSharedMatch'] = None,
2584
+ mode: Optional[_builtins.str] = None,
2585
+ name: Optional[_builtins.str] = None,
2586
+ target: Optional[_builtins.str] = None):
2587
+ """
2588
+ :param _builtins.str action: The default action executed under shared configuration.
2589
+ :param 'WafRuleSharedActionsArgs' actions: Extended action configurations under shared settings. See `actions` below.
2590
+ :param _builtins.int cross_site_id: Specify the cross-domain site ID.
2591
+ :param _builtins.str expression: The match expression used in shared configuration.
2592
+ :param 'WafRuleSharedMatchArgs' match: Configuration of the request matching logic engine. See `match` below.
2593
+ :param _builtins.str mode: The integration mode of the Web SDK:
2594
+ :param _builtins.str name: The display name of the ruleset.
2595
+ :param _builtins.str target: The target type protected by this rule: web or app.
2596
+ """
2597
+ if action is not None:
2598
+ pulumi.set(__self__, "action", action)
2599
+ if actions is not None:
2600
+ pulumi.set(__self__, "actions", actions)
2601
+ if cross_site_id is not None:
2602
+ pulumi.set(__self__, "cross_site_id", cross_site_id)
2603
+ if expression is not None:
2604
+ pulumi.set(__self__, "expression", expression)
2605
+ if match is not None:
2606
+ pulumi.set(__self__, "match", match)
2607
+ if mode is not None:
2608
+ pulumi.set(__self__, "mode", mode)
2609
+ if name is not None:
2610
+ pulumi.set(__self__, "name", name)
2611
+ if target is not None:
2612
+ pulumi.set(__self__, "target", target)
2613
+
2614
+ @_builtins.property
2615
+ @pulumi.getter
2616
+ def action(self) -> Optional[_builtins.str]:
2617
+ """
2618
+ The default action executed under shared configuration.
2619
+ """
2620
+ return pulumi.get(self, "action")
2621
+
2622
+ @_builtins.property
2623
+ @pulumi.getter
2624
+ def actions(self) -> Optional['outputs.WafRuleSharedActions']:
2625
+ """
2626
+ Extended action configurations under shared settings. See `actions` below.
2627
+ """
2628
+ return pulumi.get(self, "actions")
2629
+
2630
+ @_builtins.property
2631
+ @pulumi.getter(name="crossSiteId")
2632
+ def cross_site_id(self) -> Optional[_builtins.int]:
2633
+ """
2634
+ Specify the cross-domain site ID.
2635
+ """
2636
+ return pulumi.get(self, "cross_site_id")
2637
+
2638
+ @_builtins.property
2639
+ @pulumi.getter
2640
+ def expression(self) -> Optional[_builtins.str]:
2641
+ """
2642
+ The match expression used in shared configuration.
2643
+ """
2644
+ return pulumi.get(self, "expression")
2645
+
2646
+ @_builtins.property
2647
+ @pulumi.getter
2648
+ def match(self) -> Optional['outputs.WafRuleSharedMatch']:
2649
+ """
2650
+ Configuration of the request matching logic engine. See `match` below.
2651
+ """
2652
+ return pulumi.get(self, "match")
2653
+
2654
+ @_builtins.property
2655
+ @pulumi.getter
2656
+ def mode(self) -> Optional[_builtins.str]:
2657
+ """
2658
+ The integration mode of the Web SDK:
2659
+ """
2660
+ return pulumi.get(self, "mode")
2661
+
2662
+ @_builtins.property
2663
+ @pulumi.getter
2664
+ def name(self) -> Optional[_builtins.str]:
2665
+ """
2666
+ The display name of the ruleset.
2667
+ """
2668
+ return pulumi.get(self, "name")
2669
+
2670
+ @_builtins.property
2671
+ @pulumi.getter
2672
+ def target(self) -> Optional[_builtins.str]:
2673
+ """
2674
+ The target type protected by this rule: web or app.
2675
+ """
2676
+ return pulumi.get(self, "target")
2677
+
2678
+
2679
+ @pulumi.output_type
2680
+ class WafRuleSharedActions(dict):
2681
+ def __init__(__self__, *,
2682
+ response: Optional['outputs.WafRuleSharedActionsResponse'] = None):
2683
+ if response is not None:
2684
+ pulumi.set(__self__, "response", response)
2685
+
2686
+ @_builtins.property
2687
+ @pulumi.getter
2688
+ def response(self) -> Optional['outputs.WafRuleSharedActionsResponse']:
2689
+ return pulumi.get(self, "response")
2690
+
2691
+
2692
+ @pulumi.output_type
2693
+ class WafRuleSharedActionsResponse(dict):
2694
+ def __init__(__self__, *,
2695
+ code: Optional[_builtins.int] = None,
2696
+ id: Optional[_builtins.int] = None):
2697
+ """
2698
+ :param _builtins.int id: The internal unique ID of the WAF rule.
2699
+ """
2700
+ if code is not None:
2701
+ pulumi.set(__self__, "code", code)
2702
+ if id is not None:
2703
+ pulumi.set(__self__, "id", id)
2704
+
2705
+ @_builtins.property
2706
+ @pulumi.getter
2707
+ def code(self) -> Optional[_builtins.int]:
2708
+ return pulumi.get(self, "code")
2709
+
2710
+ @_builtins.property
2711
+ @pulumi.getter
2712
+ def id(self) -> Optional[_builtins.int]:
2713
+ """
2714
+ The internal unique ID of the WAF rule.
2715
+ """
2716
+ return pulumi.get(self, "id")
2717
+
2718
+
2719
+ @pulumi.output_type
2720
+ class WafRuleSharedMatch(dict):
2721
+ @staticmethod
2722
+ def __key_warning(key: str):
2723
+ suggest = None
2724
+ if key == "matchType":
2725
+ suggest = "match_type"
2726
+
2727
+ if suggest:
2728
+ pulumi.log.warn(f"Key '{key}' not found in WafRuleSharedMatch. Access the value via the '{suggest}' property getter instead.")
2729
+
2730
+ def __getitem__(self, key: str) -> Any:
2731
+ WafRuleSharedMatch.__key_warning(key)
2732
+ return super().__getitem__(key)
2733
+
2734
+ def get(self, key: str, default = None) -> Any:
2735
+ WafRuleSharedMatch.__key_warning(key)
2736
+ return super().get(key, default)
2737
+
2738
+ def __init__(__self__, *,
2739
+ criterias: Optional[Sequence['outputs.WafRuleSharedMatchCriteria']] = None,
2740
+ logic: Optional[_builtins.str] = None,
2741
+ match_type: Optional[_builtins.str] = None):
2742
+ if criterias is not None:
2743
+ pulumi.set(__self__, "criterias", criterias)
2744
+ if logic is not None:
2745
+ pulumi.set(__self__, "logic", logic)
2746
+ if match_type is not None:
2747
+ pulumi.set(__self__, "match_type", match_type)
2748
+
2749
+ @_builtins.property
2750
+ @pulumi.getter
2751
+ def criterias(self) -> Optional[Sequence['outputs.WafRuleSharedMatchCriteria']]:
2752
+ return pulumi.get(self, "criterias")
2753
+
2754
+ @_builtins.property
2755
+ @pulumi.getter
2756
+ def logic(self) -> Optional[_builtins.str]:
2757
+ return pulumi.get(self, "logic")
2758
+
2759
+ @_builtins.property
2760
+ @pulumi.getter(name="matchType")
2761
+ def match_type(self) -> Optional[_builtins.str]:
2762
+ return pulumi.get(self, "match_type")
2763
+
2764
+
2765
+ @pulumi.output_type
2766
+ class WafRuleSharedMatchCriteria(dict):
2767
+ @staticmethod
2768
+ def __key_warning(key: str):
2769
+ suggest = None
2770
+ if key == "matchType":
2771
+ suggest = "match_type"
2772
+
2773
+ if suggest:
2774
+ pulumi.log.warn(f"Key '{key}' not found in WafRuleSharedMatchCriteria. Access the value via the '{suggest}' property getter instead.")
2775
+
2776
+ def __getitem__(self, key: str) -> Any:
2777
+ WafRuleSharedMatchCriteria.__key_warning(key)
2778
+ return super().__getitem__(key)
2779
+
2780
+ def get(self, key: str, default = None) -> Any:
2781
+ WafRuleSharedMatchCriteria.__key_warning(key)
2782
+ return super().get(key, default)
2783
+
2784
+ def __init__(__self__, *,
2785
+ criterias: Optional[Sequence['outputs.WafRuleSharedMatchCriteriaCriteria']] = None,
2786
+ logic: Optional[_builtins.str] = None,
2787
+ match_type: Optional[_builtins.str] = None):
2788
+ if criterias is not None:
2789
+ pulumi.set(__self__, "criterias", criterias)
2790
+ if logic is not None:
2791
+ pulumi.set(__self__, "logic", logic)
2792
+ if match_type is not None:
2793
+ pulumi.set(__self__, "match_type", match_type)
2794
+
2795
+ @_builtins.property
2796
+ @pulumi.getter
2797
+ def criterias(self) -> Optional[Sequence['outputs.WafRuleSharedMatchCriteriaCriteria']]:
2798
+ return pulumi.get(self, "criterias")
2799
+
2800
+ @_builtins.property
2801
+ @pulumi.getter
2802
+ def logic(self) -> Optional[_builtins.str]:
2803
+ return pulumi.get(self, "logic")
2804
+
2805
+ @_builtins.property
2806
+ @pulumi.getter(name="matchType")
2807
+ def match_type(self) -> Optional[_builtins.str]:
2808
+ return pulumi.get(self, "match_type")
2809
+
2810
+
2811
+ @pulumi.output_type
2812
+ class WafRuleSharedMatchCriteriaCriteria(dict):
2813
+ @staticmethod
2814
+ def __key_warning(key: str):
2815
+ suggest = None
2816
+ if key == "matchType":
2817
+ suggest = "match_type"
2818
+
2819
+ if suggest:
2820
+ pulumi.log.warn(f"Key '{key}' not found in WafRuleSharedMatchCriteriaCriteria. Access the value via the '{suggest}' property getter instead.")
2821
+
2822
+ def __getitem__(self, key: str) -> Any:
2823
+ WafRuleSharedMatchCriteriaCriteria.__key_warning(key)
2824
+ return super().__getitem__(key)
2825
+
2826
+ def get(self, key: str, default = None) -> Any:
2827
+ WafRuleSharedMatchCriteriaCriteria.__key_warning(key)
2828
+ return super().get(key, default)
2829
+
2830
+ def __init__(__self__, *,
2831
+ criterias: Optional[Sequence['outputs.WafRuleSharedMatchCriteriaCriteriaCriteria']] = None,
2832
+ logic: Optional[_builtins.str] = None,
2833
+ match_type: Optional[_builtins.str] = None):
2834
+ if criterias is not None:
2835
+ pulumi.set(__self__, "criterias", criterias)
2836
+ if logic is not None:
2837
+ pulumi.set(__self__, "logic", logic)
2838
+ if match_type is not None:
2839
+ pulumi.set(__self__, "match_type", match_type)
2840
+
2841
+ @_builtins.property
2842
+ @pulumi.getter
2843
+ def criterias(self) -> Optional[Sequence['outputs.WafRuleSharedMatchCriteriaCriteriaCriteria']]:
2844
+ return pulumi.get(self, "criterias")
2845
+
2846
+ @_builtins.property
2847
+ @pulumi.getter
2848
+ def logic(self) -> Optional[_builtins.str]:
2849
+ return pulumi.get(self, "logic")
2850
+
2851
+ @_builtins.property
2852
+ @pulumi.getter(name="matchType")
2853
+ def match_type(self) -> Optional[_builtins.str]:
2854
+ return pulumi.get(self, "match_type")
2855
+
2856
+
2857
+ @pulumi.output_type
2858
+ class WafRuleSharedMatchCriteriaCriteriaCriteria(dict):
2859
+ @staticmethod
2860
+ def __key_warning(key: str):
2861
+ suggest = None
2862
+ if key == "matchType":
2863
+ suggest = "match_type"
2864
+
2865
+ if suggest:
2866
+ pulumi.log.warn(f"Key '{key}' not found in WafRuleSharedMatchCriteriaCriteriaCriteria. Access the value via the '{suggest}' property getter instead.")
2867
+
2868
+ def __getitem__(self, key: str) -> Any:
2869
+ WafRuleSharedMatchCriteriaCriteriaCriteria.__key_warning(key)
2870
+ return super().__getitem__(key)
2871
+
2872
+ def get(self, key: str, default = None) -> Any:
2873
+ WafRuleSharedMatchCriteriaCriteriaCriteria.__key_warning(key)
2874
+ return super().get(key, default)
2875
+
2876
+ def __init__(__self__, *,
2877
+ match_type: Optional[_builtins.str] = None):
2878
+ if match_type is not None:
2879
+ pulumi.set(__self__, "match_type", match_type)
2880
+
2881
+ @_builtins.property
2882
+ @pulumi.getter(name="matchType")
2883
+ def match_type(self) -> Optional[_builtins.str]:
2884
+ return pulumi.get(self, "match_type")
2885
+
2886
+
1288
2887
  @pulumi.output_type
1289
2888
  class WaitingRoomHostNameAndPath(dict):
1290
2889
  def __init__(__self__, *,