pulumi-alicloud 3.87.0a1760678219__py3-none-any.whl → 3.87.0a1760759066__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.87.0a1760759066.dist-info}/METADATA +1 -1
  37. {pulumi_alicloud-3.87.0a1760678219.dist-info → pulumi_alicloud-3.87.0a1760759066.dist-info}/RECORD +39 -35
  38. {pulumi_alicloud-3.87.0a1760678219.dist-info → pulumi_alicloud-3.87.0a1760759066.dist-info}/WHEEL +0 -0
  39. {pulumi_alicloud-3.87.0a1760678219.dist-info → pulumi_alicloud-3.87.0a1760759066.dist-info}/top_level.txt +0 -0
@@ -41,6 +41,64 @@ __all__ = [
41
41
  'SiteDeliveryTaskSlsDeliveryArgsDict',
42
42
  'TransportLayerApplicationRuleArgs',
43
43
  'TransportLayerApplicationRuleArgsDict',
44
+ 'WafRuleConfigArgs',
45
+ 'WafRuleConfigArgsDict',
46
+ 'WafRuleConfigActionsArgs',
47
+ 'WafRuleConfigActionsArgsDict',
48
+ 'WafRuleConfigActionsBypassArgs',
49
+ 'WafRuleConfigActionsBypassArgsDict',
50
+ 'WafRuleConfigActionsResponseArgs',
51
+ 'WafRuleConfigActionsResponseArgsDict',
52
+ 'WafRuleConfigAppPackageArgs',
53
+ 'WafRuleConfigAppPackageArgsDict',
54
+ 'WafRuleConfigAppPackagePackageSignArgs',
55
+ 'WafRuleConfigAppPackagePackageSignArgsDict',
56
+ 'WafRuleConfigAppSdkArgs',
57
+ 'WafRuleConfigAppSdkArgsDict',
58
+ 'WafRuleConfigAppSdkCustomSignArgs',
59
+ 'WafRuleConfigAppSdkCustomSignArgsDict',
60
+ 'WafRuleConfigManagedRulesetArgs',
61
+ 'WafRuleConfigManagedRulesetArgsDict',
62
+ 'WafRuleConfigManagedRulesetManagedRuleArgs',
63
+ 'WafRuleConfigManagedRulesetManagedRuleArgsDict',
64
+ 'WafRuleConfigRateLimitArgs',
65
+ 'WafRuleConfigRateLimitArgsDict',
66
+ 'WafRuleConfigRateLimitCharacteristicsArgs',
67
+ 'WafRuleConfigRateLimitCharacteristicsArgsDict',
68
+ 'WafRuleConfigRateLimitCharacteristicsCriteriaArgs',
69
+ 'WafRuleConfigRateLimitCharacteristicsCriteriaArgsDict',
70
+ 'WafRuleConfigRateLimitCharacteristicsCriteriaCriteriaArgs',
71
+ 'WafRuleConfigRateLimitCharacteristicsCriteriaCriteriaArgsDict',
72
+ 'WafRuleConfigRateLimitCharacteristicsCriteriaCriteriaCriteriaArgs',
73
+ 'WafRuleConfigRateLimitCharacteristicsCriteriaCriteriaCriteriaArgsDict',
74
+ 'WafRuleConfigRateLimitThresholdArgs',
75
+ 'WafRuleConfigRateLimitThresholdArgsDict',
76
+ 'WafRuleConfigRateLimitThresholdResponseStatusArgs',
77
+ 'WafRuleConfigRateLimitThresholdResponseStatusArgsDict',
78
+ 'WafRuleConfigSecurityLevelArgs',
79
+ 'WafRuleConfigSecurityLevelArgsDict',
80
+ 'WafRuleConfigTimerArgs',
81
+ 'WafRuleConfigTimerArgsDict',
82
+ 'WafRuleConfigTimerPeriodArgs',
83
+ 'WafRuleConfigTimerPeriodArgsDict',
84
+ 'WafRuleConfigTimerWeeklyPeriodArgs',
85
+ 'WafRuleConfigTimerWeeklyPeriodArgsDict',
86
+ 'WafRuleConfigTimerWeeklyPeriodDailyPeriodArgs',
87
+ 'WafRuleConfigTimerWeeklyPeriodDailyPeriodArgsDict',
88
+ 'WafRuleSharedArgs',
89
+ 'WafRuleSharedArgsDict',
90
+ 'WafRuleSharedActionsArgs',
91
+ 'WafRuleSharedActionsArgsDict',
92
+ 'WafRuleSharedActionsResponseArgs',
93
+ 'WafRuleSharedActionsResponseArgsDict',
94
+ 'WafRuleSharedMatchArgs',
95
+ 'WafRuleSharedMatchArgsDict',
96
+ 'WafRuleSharedMatchCriteriaArgs',
97
+ 'WafRuleSharedMatchCriteriaArgsDict',
98
+ 'WafRuleSharedMatchCriteriaCriteriaArgs',
99
+ 'WafRuleSharedMatchCriteriaCriteriaArgsDict',
100
+ 'WafRuleSharedMatchCriteriaCriteriaCriteriaArgs',
101
+ 'WafRuleSharedMatchCriteriaCriteriaCriteriaArgsDict',
44
102
  'WaitingRoomHostNameAndPathArgs',
45
103
  'WaitingRoomHostNameAndPathArgsDict',
46
104
  ]
@@ -1708,6 +1766,2100 @@ class TransportLayerApplicationRuleArgs:
1708
1766
  pulumi.set(self, "rule_id", value)
1709
1767
 
1710
1768
 
1769
+ if not MYPY:
1770
+ class WafRuleConfigArgsDict(TypedDict):
1771
+ action: NotRequired[pulumi.Input[_builtins.str]]
1772
+ """
1773
+ The action performed on requests that match the managed rule.
1774
+ """
1775
+ actions: NotRequired[pulumi.Input['WafRuleConfigActionsArgsDict']]
1776
+ """
1777
+ Extended action configurations, including custom responses and bypass settings. See `actions` below.
1778
+ """
1779
+ app_package: NotRequired[pulumi.Input['WafRuleConfigAppPackageArgsDict']]
1780
+ """
1781
+ Security mechanism to prevent apps from being repackaged. See `app_package` below.
1782
+ """
1783
+ app_sdk: NotRequired[pulumi.Input['WafRuleConfigAppSdkArgsDict']]
1784
+ """
1785
+ Mobile app SDK-related configurations. See `app_sdk` below.
1786
+ """
1787
+ expression: NotRequired[pulumi.Input[_builtins.str]]
1788
+ """
1789
+ The match expression used to evaluate incoming requests.
1790
+ """
1791
+ id: NotRequired[pulumi.Input[_builtins.int]]
1792
+ """
1793
+ The ID of the custom error page, which can be obtained by calling the ListPages operation.
1794
+ """
1795
+ managed_group_id: NotRequired[pulumi.Input[_builtins.int]]
1796
+ """
1797
+ The ID of the managed rule group (deprecated).
1798
+ """
1799
+ managed_list: NotRequired[pulumi.Input[_builtins.str]]
1800
+ """
1801
+ The name of the managed list applied to this rule.
1802
+ """
1803
+ managed_rulesets: NotRequired[pulumi.Input[Sequence[pulumi.Input['WafRuleConfigManagedRulesetArgsDict']]]]
1804
+ """
1805
+ The managed rulesets referenced by this rule and their configurations. See `managed_rulesets` below.
1806
+ """
1807
+ name: NotRequired[pulumi.Input[_builtins.str]]
1808
+ """
1809
+ The package name of an authorized application.
1810
+ """
1811
+ notes: NotRequired[pulumi.Input[_builtins.str]]
1812
+ """
1813
+ Additional notes about this rule.
1814
+ """
1815
+ rate_limit: NotRequired[pulumi.Input['WafRuleConfigRateLimitArgsDict']]
1816
+ """
1817
+ Configuration of the rate limiting rule. See `rate_limit` below.
1818
+ """
1819
+ security_level: NotRequired[pulumi.Input['WafRuleConfigSecurityLevelArgsDict']]
1820
+ """
1821
+ The overall security protection level of WAF. See `security_level` below.
1822
+ """
1823
+ sigchls: NotRequired[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]
1824
+ """
1825
+ Configuration items for token verification mechanisms.
1826
+ """
1827
+ status: NotRequired[pulumi.Input[_builtins.str]]
1828
+ """
1829
+ The status of the managed rule: whether it is enabled or disabled.
1830
+ """
1831
+ timer: NotRequired[pulumi.Input['WafRuleConfigTimerArgsDict']]
1832
+ """
1833
+ Configuration for the time schedule when the rule takes effect. See `timer` below.
1834
+ """
1835
+ type: NotRequired[pulumi.Input[_builtins.str]]
1836
+ """
1837
+ The type category of the WAF rule.
1838
+ """
1839
+ value: NotRequired[pulumi.Input[_builtins.str]]
1840
+ """
1841
+ The value of the custom signature field used for validation.
1842
+ """
1843
+ elif False:
1844
+ WafRuleConfigArgsDict: TypeAlias = Mapping[str, Any]
1845
+
1846
+ @pulumi.input_type
1847
+ class WafRuleConfigArgs:
1848
+ def __init__(__self__, *,
1849
+ action: Optional[pulumi.Input[_builtins.str]] = None,
1850
+ actions: Optional[pulumi.Input['WafRuleConfigActionsArgs']] = None,
1851
+ app_package: Optional[pulumi.Input['WafRuleConfigAppPackageArgs']] = None,
1852
+ app_sdk: Optional[pulumi.Input['WafRuleConfigAppSdkArgs']] = None,
1853
+ expression: Optional[pulumi.Input[_builtins.str]] = None,
1854
+ id: Optional[pulumi.Input[_builtins.int]] = None,
1855
+ managed_group_id: Optional[pulumi.Input[_builtins.int]] = None,
1856
+ managed_list: Optional[pulumi.Input[_builtins.str]] = None,
1857
+ managed_rulesets: Optional[pulumi.Input[Sequence[pulumi.Input['WafRuleConfigManagedRulesetArgs']]]] = None,
1858
+ name: Optional[pulumi.Input[_builtins.str]] = None,
1859
+ notes: Optional[pulumi.Input[_builtins.str]] = None,
1860
+ rate_limit: Optional[pulumi.Input['WafRuleConfigRateLimitArgs']] = None,
1861
+ security_level: Optional[pulumi.Input['WafRuleConfigSecurityLevelArgs']] = None,
1862
+ sigchls: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1863
+ status: Optional[pulumi.Input[_builtins.str]] = None,
1864
+ timer: Optional[pulumi.Input['WafRuleConfigTimerArgs']] = None,
1865
+ type: Optional[pulumi.Input[_builtins.str]] = None,
1866
+ value: Optional[pulumi.Input[_builtins.str]] = None):
1867
+ """
1868
+ :param pulumi.Input[_builtins.str] action: The action performed on requests that match the managed rule.
1869
+ :param pulumi.Input['WafRuleConfigActionsArgs'] actions: Extended action configurations, including custom responses and bypass settings. See `actions` below.
1870
+ :param pulumi.Input['WafRuleConfigAppPackageArgs'] app_package: Security mechanism to prevent apps from being repackaged. See `app_package` below.
1871
+ :param pulumi.Input['WafRuleConfigAppSdkArgs'] app_sdk: Mobile app SDK-related configurations. See `app_sdk` below.
1872
+ :param pulumi.Input[_builtins.str] expression: The match expression used to evaluate incoming requests.
1873
+ :param pulumi.Input[_builtins.int] id: The ID of the custom error page, which can be obtained by calling the ListPages operation.
1874
+ :param pulumi.Input[_builtins.int] managed_group_id: The ID of the managed rule group (deprecated).
1875
+ :param pulumi.Input[_builtins.str] managed_list: The name of the managed list applied to this rule.
1876
+ :param pulumi.Input[Sequence[pulumi.Input['WafRuleConfigManagedRulesetArgs']]] managed_rulesets: The managed rulesets referenced by this rule and their configurations. See `managed_rulesets` below.
1877
+ :param pulumi.Input[_builtins.str] name: The package name of an authorized application.
1878
+ :param pulumi.Input[_builtins.str] notes: Additional notes about this rule.
1879
+ :param pulumi.Input['WafRuleConfigRateLimitArgs'] rate_limit: Configuration of the rate limiting rule. See `rate_limit` below.
1880
+ :param pulumi.Input['WafRuleConfigSecurityLevelArgs'] security_level: The overall security protection level of WAF. See `security_level` below.
1881
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] sigchls: Configuration items for token verification mechanisms.
1882
+ :param pulumi.Input[_builtins.str] status: The status of the managed rule: whether it is enabled or disabled.
1883
+ :param pulumi.Input['WafRuleConfigTimerArgs'] timer: Configuration for the time schedule when the rule takes effect. See `timer` below.
1884
+ :param pulumi.Input[_builtins.str] type: The type category of the WAF rule.
1885
+ :param pulumi.Input[_builtins.str] value: The value of the custom signature field used for validation.
1886
+ """
1887
+ if action is not None:
1888
+ pulumi.set(__self__, "action", action)
1889
+ if actions is not None:
1890
+ pulumi.set(__self__, "actions", actions)
1891
+ if app_package is not None:
1892
+ pulumi.set(__self__, "app_package", app_package)
1893
+ if app_sdk is not None:
1894
+ pulumi.set(__self__, "app_sdk", app_sdk)
1895
+ if expression is not None:
1896
+ pulumi.set(__self__, "expression", expression)
1897
+ if id is not None:
1898
+ pulumi.set(__self__, "id", id)
1899
+ if managed_group_id is not None:
1900
+ pulumi.set(__self__, "managed_group_id", managed_group_id)
1901
+ if managed_list is not None:
1902
+ pulumi.set(__self__, "managed_list", managed_list)
1903
+ if managed_rulesets is not None:
1904
+ pulumi.set(__self__, "managed_rulesets", managed_rulesets)
1905
+ if name is not None:
1906
+ pulumi.set(__self__, "name", name)
1907
+ if notes is not None:
1908
+ pulumi.set(__self__, "notes", notes)
1909
+ if rate_limit is not None:
1910
+ pulumi.set(__self__, "rate_limit", rate_limit)
1911
+ if security_level is not None:
1912
+ pulumi.set(__self__, "security_level", security_level)
1913
+ if sigchls is not None:
1914
+ pulumi.set(__self__, "sigchls", sigchls)
1915
+ if status is not None:
1916
+ pulumi.set(__self__, "status", status)
1917
+ if timer is not None:
1918
+ pulumi.set(__self__, "timer", timer)
1919
+ if type is not None:
1920
+ pulumi.set(__self__, "type", type)
1921
+ if value is not None:
1922
+ pulumi.set(__self__, "value", value)
1923
+
1924
+ @_builtins.property
1925
+ @pulumi.getter
1926
+ def action(self) -> Optional[pulumi.Input[_builtins.str]]:
1927
+ """
1928
+ The action performed on requests that match the managed rule.
1929
+ """
1930
+ return pulumi.get(self, "action")
1931
+
1932
+ @action.setter
1933
+ def action(self, value: Optional[pulumi.Input[_builtins.str]]):
1934
+ pulumi.set(self, "action", value)
1935
+
1936
+ @_builtins.property
1937
+ @pulumi.getter
1938
+ def actions(self) -> Optional[pulumi.Input['WafRuleConfigActionsArgs']]:
1939
+ """
1940
+ Extended action configurations, including custom responses and bypass settings. See `actions` below.
1941
+ """
1942
+ return pulumi.get(self, "actions")
1943
+
1944
+ @actions.setter
1945
+ def actions(self, value: Optional[pulumi.Input['WafRuleConfigActionsArgs']]):
1946
+ pulumi.set(self, "actions", value)
1947
+
1948
+ @_builtins.property
1949
+ @pulumi.getter(name="appPackage")
1950
+ def app_package(self) -> Optional[pulumi.Input['WafRuleConfigAppPackageArgs']]:
1951
+ """
1952
+ Security mechanism to prevent apps from being repackaged. See `app_package` below.
1953
+ """
1954
+ return pulumi.get(self, "app_package")
1955
+
1956
+ @app_package.setter
1957
+ def app_package(self, value: Optional[pulumi.Input['WafRuleConfigAppPackageArgs']]):
1958
+ pulumi.set(self, "app_package", value)
1959
+
1960
+ @_builtins.property
1961
+ @pulumi.getter(name="appSdk")
1962
+ def app_sdk(self) -> Optional[pulumi.Input['WafRuleConfigAppSdkArgs']]:
1963
+ """
1964
+ Mobile app SDK-related configurations. See `app_sdk` below.
1965
+ """
1966
+ return pulumi.get(self, "app_sdk")
1967
+
1968
+ @app_sdk.setter
1969
+ def app_sdk(self, value: Optional[pulumi.Input['WafRuleConfigAppSdkArgs']]):
1970
+ pulumi.set(self, "app_sdk", value)
1971
+
1972
+ @_builtins.property
1973
+ @pulumi.getter
1974
+ def expression(self) -> Optional[pulumi.Input[_builtins.str]]:
1975
+ """
1976
+ The match expression used to evaluate incoming requests.
1977
+ """
1978
+ return pulumi.get(self, "expression")
1979
+
1980
+ @expression.setter
1981
+ def expression(self, value: Optional[pulumi.Input[_builtins.str]]):
1982
+ pulumi.set(self, "expression", value)
1983
+
1984
+ @_builtins.property
1985
+ @pulumi.getter
1986
+ def id(self) -> Optional[pulumi.Input[_builtins.int]]:
1987
+ """
1988
+ The ID of the custom error page, which can be obtained by calling the ListPages operation.
1989
+ """
1990
+ return pulumi.get(self, "id")
1991
+
1992
+ @id.setter
1993
+ def id(self, value: Optional[pulumi.Input[_builtins.int]]):
1994
+ pulumi.set(self, "id", value)
1995
+
1996
+ @_builtins.property
1997
+ @pulumi.getter(name="managedGroupId")
1998
+ def managed_group_id(self) -> Optional[pulumi.Input[_builtins.int]]:
1999
+ """
2000
+ The ID of the managed rule group (deprecated).
2001
+ """
2002
+ return pulumi.get(self, "managed_group_id")
2003
+
2004
+ @managed_group_id.setter
2005
+ def managed_group_id(self, value: Optional[pulumi.Input[_builtins.int]]):
2006
+ pulumi.set(self, "managed_group_id", value)
2007
+
2008
+ @_builtins.property
2009
+ @pulumi.getter(name="managedList")
2010
+ def managed_list(self) -> Optional[pulumi.Input[_builtins.str]]:
2011
+ """
2012
+ The name of the managed list applied to this rule.
2013
+ """
2014
+ return pulumi.get(self, "managed_list")
2015
+
2016
+ @managed_list.setter
2017
+ def managed_list(self, value: Optional[pulumi.Input[_builtins.str]]):
2018
+ pulumi.set(self, "managed_list", value)
2019
+
2020
+ @_builtins.property
2021
+ @pulumi.getter(name="managedRulesets")
2022
+ def managed_rulesets(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['WafRuleConfigManagedRulesetArgs']]]]:
2023
+ """
2024
+ The managed rulesets referenced by this rule and their configurations. See `managed_rulesets` below.
2025
+ """
2026
+ return pulumi.get(self, "managed_rulesets")
2027
+
2028
+ @managed_rulesets.setter
2029
+ def managed_rulesets(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['WafRuleConfigManagedRulesetArgs']]]]):
2030
+ pulumi.set(self, "managed_rulesets", value)
2031
+
2032
+ @_builtins.property
2033
+ @pulumi.getter
2034
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
2035
+ """
2036
+ The package name of an authorized application.
2037
+ """
2038
+ return pulumi.get(self, "name")
2039
+
2040
+ @name.setter
2041
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
2042
+ pulumi.set(self, "name", value)
2043
+
2044
+ @_builtins.property
2045
+ @pulumi.getter
2046
+ def notes(self) -> Optional[pulumi.Input[_builtins.str]]:
2047
+ """
2048
+ Additional notes about this rule.
2049
+ """
2050
+ return pulumi.get(self, "notes")
2051
+
2052
+ @notes.setter
2053
+ def notes(self, value: Optional[pulumi.Input[_builtins.str]]):
2054
+ pulumi.set(self, "notes", value)
2055
+
2056
+ @_builtins.property
2057
+ @pulumi.getter(name="rateLimit")
2058
+ def rate_limit(self) -> Optional[pulumi.Input['WafRuleConfigRateLimitArgs']]:
2059
+ """
2060
+ Configuration of the rate limiting rule. See `rate_limit` below.
2061
+ """
2062
+ return pulumi.get(self, "rate_limit")
2063
+
2064
+ @rate_limit.setter
2065
+ def rate_limit(self, value: Optional[pulumi.Input['WafRuleConfigRateLimitArgs']]):
2066
+ pulumi.set(self, "rate_limit", value)
2067
+
2068
+ @_builtins.property
2069
+ @pulumi.getter(name="securityLevel")
2070
+ def security_level(self) -> Optional[pulumi.Input['WafRuleConfigSecurityLevelArgs']]:
2071
+ """
2072
+ The overall security protection level of WAF. See `security_level` below.
2073
+ """
2074
+ return pulumi.get(self, "security_level")
2075
+
2076
+ @security_level.setter
2077
+ def security_level(self, value: Optional[pulumi.Input['WafRuleConfigSecurityLevelArgs']]):
2078
+ pulumi.set(self, "security_level", value)
2079
+
2080
+ @_builtins.property
2081
+ @pulumi.getter
2082
+ def sigchls(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
2083
+ """
2084
+ Configuration items for token verification mechanisms.
2085
+ """
2086
+ return pulumi.get(self, "sigchls")
2087
+
2088
+ @sigchls.setter
2089
+ def sigchls(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
2090
+ pulumi.set(self, "sigchls", value)
2091
+
2092
+ @_builtins.property
2093
+ @pulumi.getter
2094
+ def status(self) -> Optional[pulumi.Input[_builtins.str]]:
2095
+ """
2096
+ The status of the managed rule: whether it is enabled or disabled.
2097
+ """
2098
+ return pulumi.get(self, "status")
2099
+
2100
+ @status.setter
2101
+ def status(self, value: Optional[pulumi.Input[_builtins.str]]):
2102
+ pulumi.set(self, "status", value)
2103
+
2104
+ @_builtins.property
2105
+ @pulumi.getter
2106
+ def timer(self) -> Optional[pulumi.Input['WafRuleConfigTimerArgs']]:
2107
+ """
2108
+ Configuration for the time schedule when the rule takes effect. See `timer` below.
2109
+ """
2110
+ return pulumi.get(self, "timer")
2111
+
2112
+ @timer.setter
2113
+ def timer(self, value: Optional[pulumi.Input['WafRuleConfigTimerArgs']]):
2114
+ pulumi.set(self, "timer", value)
2115
+
2116
+ @_builtins.property
2117
+ @pulumi.getter
2118
+ def type(self) -> Optional[pulumi.Input[_builtins.str]]:
2119
+ """
2120
+ The type category of the WAF rule.
2121
+ """
2122
+ return pulumi.get(self, "type")
2123
+
2124
+ @type.setter
2125
+ def type(self, value: Optional[pulumi.Input[_builtins.str]]):
2126
+ pulumi.set(self, "type", value)
2127
+
2128
+ @_builtins.property
2129
+ @pulumi.getter
2130
+ def value(self) -> Optional[pulumi.Input[_builtins.str]]:
2131
+ """
2132
+ The value of the custom signature field used for validation.
2133
+ """
2134
+ return pulumi.get(self, "value")
2135
+
2136
+ @value.setter
2137
+ def value(self, value: Optional[pulumi.Input[_builtins.str]]):
2138
+ pulumi.set(self, "value", value)
2139
+
2140
+
2141
+ if not MYPY:
2142
+ class WafRuleConfigActionsArgsDict(TypedDict):
2143
+ bypass: NotRequired[pulumi.Input['WafRuleConfigActionsBypassArgsDict']]
2144
+ """
2145
+ The skip configuration specified by the whitelist rule. See `bypass` below.
2146
+ """
2147
+ response: NotRequired[pulumi.Input['WafRuleConfigActionsResponseArgsDict']]
2148
+ elif False:
2149
+ WafRuleConfigActionsArgsDict: TypeAlias = Mapping[str, Any]
2150
+
2151
+ @pulumi.input_type
2152
+ class WafRuleConfigActionsArgs:
2153
+ def __init__(__self__, *,
2154
+ bypass: Optional[pulumi.Input['WafRuleConfigActionsBypassArgs']] = None,
2155
+ response: Optional[pulumi.Input['WafRuleConfigActionsResponseArgs']] = None):
2156
+ """
2157
+ :param pulumi.Input['WafRuleConfigActionsBypassArgs'] bypass: The skip configuration specified by the whitelist rule. See `bypass` below.
2158
+ """
2159
+ if bypass is not None:
2160
+ pulumi.set(__self__, "bypass", bypass)
2161
+ if response is not None:
2162
+ pulumi.set(__self__, "response", response)
2163
+
2164
+ @_builtins.property
2165
+ @pulumi.getter
2166
+ def bypass(self) -> Optional[pulumi.Input['WafRuleConfigActionsBypassArgs']]:
2167
+ """
2168
+ The skip configuration specified by the whitelist rule. See `bypass` below.
2169
+ """
2170
+ return pulumi.get(self, "bypass")
2171
+
2172
+ @bypass.setter
2173
+ def bypass(self, value: Optional[pulumi.Input['WafRuleConfigActionsBypassArgs']]):
2174
+ pulumi.set(self, "bypass", value)
2175
+
2176
+ @_builtins.property
2177
+ @pulumi.getter
2178
+ def response(self) -> Optional[pulumi.Input['WafRuleConfigActionsResponseArgs']]:
2179
+ return pulumi.get(self, "response")
2180
+
2181
+ @response.setter
2182
+ def response(self, value: Optional[pulumi.Input['WafRuleConfigActionsResponseArgs']]):
2183
+ pulumi.set(self, "response", value)
2184
+
2185
+
2186
+ if not MYPY:
2187
+ class WafRuleConfigActionsBypassArgsDict(TypedDict):
2188
+ custom_rules: NotRequired[pulumi.Input[Sequence[pulumi.Input[_builtins.int]]]]
2189
+ """
2190
+ The IDs of custom rules to skip.
2191
+ """
2192
+ regular_rules: NotRequired[pulumi.Input[Sequence[pulumi.Input[_builtins.int]]]]
2193
+ """
2194
+ The IDs of specific managed rules to skip.
2195
+ """
2196
+ regular_types: NotRequired[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]
2197
+ """
2198
+ The types of managed rules to skip.
2199
+ """
2200
+ skip: NotRequired[pulumi.Input[_builtins.str]]
2201
+ """
2202
+ The scope that is skipped when requests match conditions defined in the whitelist rule.
2203
+ """
2204
+ tags: NotRequired[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]
2205
+ """
2206
+ The rule categories that are skipped when requests match conditions defined in the whitelist rule.
2207
+ """
2208
+ elif False:
2209
+ WafRuleConfigActionsBypassArgsDict: TypeAlias = Mapping[str, Any]
2210
+
2211
+ @pulumi.input_type
2212
+ class WafRuleConfigActionsBypassArgs:
2213
+ def __init__(__self__, *,
2214
+ custom_rules: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.int]]]] = None,
2215
+ regular_rules: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.int]]]] = None,
2216
+ regular_types: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
2217
+ skip: Optional[pulumi.Input[_builtins.str]] = None,
2218
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None):
2219
+ """
2220
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.int]]] custom_rules: The IDs of custom rules to skip.
2221
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.int]]] regular_rules: The IDs of specific managed rules to skip.
2222
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] regular_types: The types of managed rules to skip.
2223
+ :param pulumi.Input[_builtins.str] skip: The scope that is skipped when requests match conditions defined in the whitelist rule.
2224
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] tags: The rule categories that are skipped when requests match conditions defined in the whitelist rule.
2225
+ """
2226
+ if custom_rules is not None:
2227
+ pulumi.set(__self__, "custom_rules", custom_rules)
2228
+ if regular_rules is not None:
2229
+ pulumi.set(__self__, "regular_rules", regular_rules)
2230
+ if regular_types is not None:
2231
+ pulumi.set(__self__, "regular_types", regular_types)
2232
+ if skip is not None:
2233
+ pulumi.set(__self__, "skip", skip)
2234
+ if tags is not None:
2235
+ pulumi.set(__self__, "tags", tags)
2236
+
2237
+ @_builtins.property
2238
+ @pulumi.getter(name="customRules")
2239
+ def custom_rules(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.int]]]]:
2240
+ """
2241
+ The IDs of custom rules to skip.
2242
+ """
2243
+ return pulumi.get(self, "custom_rules")
2244
+
2245
+ @custom_rules.setter
2246
+ def custom_rules(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.int]]]]):
2247
+ pulumi.set(self, "custom_rules", value)
2248
+
2249
+ @_builtins.property
2250
+ @pulumi.getter(name="regularRules")
2251
+ def regular_rules(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.int]]]]:
2252
+ """
2253
+ The IDs of specific managed rules to skip.
2254
+ """
2255
+ return pulumi.get(self, "regular_rules")
2256
+
2257
+ @regular_rules.setter
2258
+ def regular_rules(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.int]]]]):
2259
+ pulumi.set(self, "regular_rules", value)
2260
+
2261
+ @_builtins.property
2262
+ @pulumi.getter(name="regularTypes")
2263
+ def regular_types(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
2264
+ """
2265
+ The types of managed rules to skip.
2266
+ """
2267
+ return pulumi.get(self, "regular_types")
2268
+
2269
+ @regular_types.setter
2270
+ def regular_types(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
2271
+ pulumi.set(self, "regular_types", value)
2272
+
2273
+ @_builtins.property
2274
+ @pulumi.getter
2275
+ def skip(self) -> Optional[pulumi.Input[_builtins.str]]:
2276
+ """
2277
+ The scope that is skipped when requests match conditions defined in the whitelist rule.
2278
+ """
2279
+ return pulumi.get(self, "skip")
2280
+
2281
+ @skip.setter
2282
+ def skip(self, value: Optional[pulumi.Input[_builtins.str]]):
2283
+ pulumi.set(self, "skip", value)
2284
+
2285
+ @_builtins.property
2286
+ @pulumi.getter
2287
+ def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
2288
+ """
2289
+ The rule categories that are skipped when requests match conditions defined in the whitelist rule.
2290
+ """
2291
+ return pulumi.get(self, "tags")
2292
+
2293
+ @tags.setter
2294
+ def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
2295
+ pulumi.set(self, "tags", value)
2296
+
2297
+
2298
+ if not MYPY:
2299
+ class WafRuleConfigActionsResponseArgsDict(TypedDict):
2300
+ code: NotRequired[pulumi.Input[_builtins.int]]
2301
+ id: NotRequired[pulumi.Input[_builtins.int]]
2302
+ """
2303
+ The internal unique ID of the WAF rule.
2304
+ """
2305
+ elif False:
2306
+ WafRuleConfigActionsResponseArgsDict: TypeAlias = Mapping[str, Any]
2307
+
2308
+ @pulumi.input_type
2309
+ class WafRuleConfigActionsResponseArgs:
2310
+ def __init__(__self__, *,
2311
+ code: Optional[pulumi.Input[_builtins.int]] = None,
2312
+ id: Optional[pulumi.Input[_builtins.int]] = None):
2313
+ """
2314
+ :param pulumi.Input[_builtins.int] id: The internal unique ID of the WAF rule.
2315
+ """
2316
+ if code is not None:
2317
+ pulumi.set(__self__, "code", code)
2318
+ if id is not None:
2319
+ pulumi.set(__self__, "id", id)
2320
+
2321
+ @_builtins.property
2322
+ @pulumi.getter
2323
+ def code(self) -> Optional[pulumi.Input[_builtins.int]]:
2324
+ return pulumi.get(self, "code")
2325
+
2326
+ @code.setter
2327
+ def code(self, value: Optional[pulumi.Input[_builtins.int]]):
2328
+ pulumi.set(self, "code", value)
2329
+
2330
+ @_builtins.property
2331
+ @pulumi.getter
2332
+ def id(self) -> Optional[pulumi.Input[_builtins.int]]:
2333
+ """
2334
+ The internal unique ID of the WAF rule.
2335
+ """
2336
+ return pulumi.get(self, "id")
2337
+
2338
+ @id.setter
2339
+ def id(self, value: Optional[pulumi.Input[_builtins.int]]):
2340
+ pulumi.set(self, "id", value)
2341
+
2342
+
2343
+ if not MYPY:
2344
+ class WafRuleConfigAppPackageArgsDict(TypedDict):
2345
+ package_signs: NotRequired[pulumi.Input[Sequence[pulumi.Input['WafRuleConfigAppPackagePackageSignArgsDict']]]]
2346
+ """
2347
+ Security mechanism to prevent apps from being repackaged. See `package_signs` below.
2348
+ """
2349
+ elif False:
2350
+ WafRuleConfigAppPackageArgsDict: TypeAlias = Mapping[str, Any]
2351
+
2352
+ @pulumi.input_type
2353
+ class WafRuleConfigAppPackageArgs:
2354
+ def __init__(__self__, *,
2355
+ package_signs: Optional[pulumi.Input[Sequence[pulumi.Input['WafRuleConfigAppPackagePackageSignArgs']]]] = None):
2356
+ """
2357
+ :param pulumi.Input[Sequence[pulumi.Input['WafRuleConfigAppPackagePackageSignArgs']]] package_signs: Security mechanism to prevent apps from being repackaged. See `package_signs` below.
2358
+ """
2359
+ if package_signs is not None:
2360
+ pulumi.set(__self__, "package_signs", package_signs)
2361
+
2362
+ @_builtins.property
2363
+ @pulumi.getter(name="packageSigns")
2364
+ def package_signs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['WafRuleConfigAppPackagePackageSignArgs']]]]:
2365
+ """
2366
+ Security mechanism to prevent apps from being repackaged. See `package_signs` below.
2367
+ """
2368
+ return pulumi.get(self, "package_signs")
2369
+
2370
+ @package_signs.setter
2371
+ def package_signs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['WafRuleConfigAppPackagePackageSignArgs']]]]):
2372
+ pulumi.set(self, "package_signs", value)
2373
+
2374
+
2375
+ if not MYPY:
2376
+ class WafRuleConfigAppPackagePackageSignArgsDict(TypedDict):
2377
+ name: NotRequired[pulumi.Input[_builtins.str]]
2378
+ sign: NotRequired[pulumi.Input[_builtins.str]]
2379
+ """
2380
+ The digital signature of a legitimate app package.
2381
+ """
2382
+ elif False:
2383
+ WafRuleConfigAppPackagePackageSignArgsDict: TypeAlias = Mapping[str, Any]
2384
+
2385
+ @pulumi.input_type
2386
+ class WafRuleConfigAppPackagePackageSignArgs:
2387
+ def __init__(__self__, *,
2388
+ name: Optional[pulumi.Input[_builtins.str]] = None,
2389
+ sign: Optional[pulumi.Input[_builtins.str]] = None):
2390
+ """
2391
+ :param pulumi.Input[_builtins.str] sign: The digital signature of a legitimate app package.
2392
+ """
2393
+ if name is not None:
2394
+ pulumi.set(__self__, "name", name)
2395
+ if sign is not None:
2396
+ pulumi.set(__self__, "sign", sign)
2397
+
2398
+ @_builtins.property
2399
+ @pulumi.getter
2400
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
2401
+ return pulumi.get(self, "name")
2402
+
2403
+ @name.setter
2404
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
2405
+ pulumi.set(self, "name", value)
2406
+
2407
+ @_builtins.property
2408
+ @pulumi.getter
2409
+ def sign(self) -> Optional[pulumi.Input[_builtins.str]]:
2410
+ """
2411
+ The digital signature of a legitimate app package.
2412
+ """
2413
+ return pulumi.get(self, "sign")
2414
+
2415
+ @sign.setter
2416
+ def sign(self, value: Optional[pulumi.Input[_builtins.str]]):
2417
+ pulumi.set(self, "sign", value)
2418
+
2419
+
2420
+ if not MYPY:
2421
+ class WafRuleConfigAppSdkArgsDict(TypedDict):
2422
+ custom_sign: NotRequired[pulumi.Input['WafRuleConfigAppSdkCustomSignArgsDict']]
2423
+ """
2424
+ Custom fields used for mobile app signature validation. See `custom_sign` below.
2425
+ """
2426
+ custom_sign_status: NotRequired[pulumi.Input[_builtins.str]]
2427
+ """
2428
+ Indicates whether the custom signature field validation is enabled.
2429
+ """
2430
+ feature_abnormals: NotRequired[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]
2431
+ """
2432
+ Detected abnormal behaviors of the application.
2433
+ """
2434
+ elif False:
2435
+ WafRuleConfigAppSdkArgsDict: TypeAlias = Mapping[str, Any]
2436
+
2437
+ @pulumi.input_type
2438
+ class WafRuleConfigAppSdkArgs:
2439
+ def __init__(__self__, *,
2440
+ custom_sign: Optional[pulumi.Input['WafRuleConfigAppSdkCustomSignArgs']] = None,
2441
+ custom_sign_status: Optional[pulumi.Input[_builtins.str]] = None,
2442
+ feature_abnormals: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None):
2443
+ """
2444
+ :param pulumi.Input['WafRuleConfigAppSdkCustomSignArgs'] custom_sign: Custom fields used for mobile app signature validation. See `custom_sign` below.
2445
+ :param pulumi.Input[_builtins.str] custom_sign_status: Indicates whether the custom signature field validation is enabled.
2446
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] feature_abnormals: Detected abnormal behaviors of the application.
2447
+ """
2448
+ if custom_sign is not None:
2449
+ pulumi.set(__self__, "custom_sign", custom_sign)
2450
+ if custom_sign_status is not None:
2451
+ pulumi.set(__self__, "custom_sign_status", custom_sign_status)
2452
+ if feature_abnormals is not None:
2453
+ pulumi.set(__self__, "feature_abnormals", feature_abnormals)
2454
+
2455
+ @_builtins.property
2456
+ @pulumi.getter(name="customSign")
2457
+ def custom_sign(self) -> Optional[pulumi.Input['WafRuleConfigAppSdkCustomSignArgs']]:
2458
+ """
2459
+ Custom fields used for mobile app signature validation. See `custom_sign` below.
2460
+ """
2461
+ return pulumi.get(self, "custom_sign")
2462
+
2463
+ @custom_sign.setter
2464
+ def custom_sign(self, value: Optional[pulumi.Input['WafRuleConfigAppSdkCustomSignArgs']]):
2465
+ pulumi.set(self, "custom_sign", value)
2466
+
2467
+ @_builtins.property
2468
+ @pulumi.getter(name="customSignStatus")
2469
+ def custom_sign_status(self) -> Optional[pulumi.Input[_builtins.str]]:
2470
+ """
2471
+ Indicates whether the custom signature field validation is enabled.
2472
+ """
2473
+ return pulumi.get(self, "custom_sign_status")
2474
+
2475
+ @custom_sign_status.setter
2476
+ def custom_sign_status(self, value: Optional[pulumi.Input[_builtins.str]]):
2477
+ pulumi.set(self, "custom_sign_status", value)
2478
+
2479
+ @_builtins.property
2480
+ @pulumi.getter(name="featureAbnormals")
2481
+ def feature_abnormals(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
2482
+ """
2483
+ Detected abnormal behaviors of the application.
2484
+ """
2485
+ return pulumi.get(self, "feature_abnormals")
2486
+
2487
+ @feature_abnormals.setter
2488
+ def feature_abnormals(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
2489
+ pulumi.set(self, "feature_abnormals", value)
2490
+
2491
+
2492
+ if not MYPY:
2493
+ class WafRuleConfigAppSdkCustomSignArgsDict(TypedDict):
2494
+ key: NotRequired[pulumi.Input[_builtins.str]]
2495
+ """
2496
+ The name of the custom signature field used for validation.
2497
+ """
2498
+ value: NotRequired[pulumi.Input[_builtins.str]]
2499
+ """
2500
+ The value of the custom signature field used for validation.
2501
+ """
2502
+ elif False:
2503
+ WafRuleConfigAppSdkCustomSignArgsDict: TypeAlias = Mapping[str, Any]
2504
+
2505
+ @pulumi.input_type
2506
+ class WafRuleConfigAppSdkCustomSignArgs:
2507
+ def __init__(__self__, *,
2508
+ key: Optional[pulumi.Input[_builtins.str]] = None,
2509
+ value: Optional[pulumi.Input[_builtins.str]] = None):
2510
+ """
2511
+ :param pulumi.Input[_builtins.str] key: The name of the custom signature field used for validation.
2512
+ :param pulumi.Input[_builtins.str] value: The value of the custom signature field used for validation.
2513
+ """
2514
+ if key is not None:
2515
+ pulumi.set(__self__, "key", key)
2516
+ if value is not None:
2517
+ pulumi.set(__self__, "value", value)
2518
+
2519
+ @_builtins.property
2520
+ @pulumi.getter
2521
+ def key(self) -> Optional[pulumi.Input[_builtins.str]]:
2522
+ """
2523
+ The name of the custom signature field used for validation.
2524
+ """
2525
+ return pulumi.get(self, "key")
2526
+
2527
+ @key.setter
2528
+ def key(self, value: Optional[pulumi.Input[_builtins.str]]):
2529
+ pulumi.set(self, "key", value)
2530
+
2531
+ @_builtins.property
2532
+ @pulumi.getter
2533
+ def value(self) -> Optional[pulumi.Input[_builtins.str]]:
2534
+ """
2535
+ The value of the custom signature field used for validation.
2536
+ """
2537
+ return pulumi.get(self, "value")
2538
+
2539
+ @value.setter
2540
+ def value(self, value: Optional[pulumi.Input[_builtins.str]]):
2541
+ pulumi.set(self, "value", value)
2542
+
2543
+
2544
+ if not MYPY:
2545
+ class WafRuleConfigManagedRulesetArgsDict(TypedDict):
2546
+ action: NotRequired[pulumi.Input[_builtins.str]]
2547
+ attack_type: NotRequired[pulumi.Input[_builtins.int]]
2548
+ """
2549
+ The primary attack type targeted by this ruleset.
2550
+ """
2551
+ managed_rules: NotRequired[pulumi.Input[Sequence[pulumi.Input['WafRuleConfigManagedRulesetManagedRuleArgsDict']]]]
2552
+ """
2553
+ The individual managed rules included in this ruleset. See `managed_rules` below.
2554
+ """
2555
+ number_enabled: NotRequired[pulumi.Input[_builtins.int]]
2556
+ """
2557
+ Number of rules currently enabled.
2558
+ """
2559
+ number_total: NotRequired[pulumi.Input[_builtins.int]]
2560
+ """
2561
+ Total number of rules in this ruleset.
2562
+ """
2563
+ protection_level: NotRequired[pulumi.Input[_builtins.int]]
2564
+ """
2565
+ The protection strength level assigned to this ruleset.
2566
+ """
2567
+ elif False:
2568
+ WafRuleConfigManagedRulesetArgsDict: TypeAlias = Mapping[str, Any]
2569
+
2570
+ @pulumi.input_type
2571
+ class WafRuleConfigManagedRulesetArgs:
2572
+ def __init__(__self__, *,
2573
+ action: Optional[pulumi.Input[_builtins.str]] = None,
2574
+ attack_type: Optional[pulumi.Input[_builtins.int]] = None,
2575
+ managed_rules: Optional[pulumi.Input[Sequence[pulumi.Input['WafRuleConfigManagedRulesetManagedRuleArgs']]]] = None,
2576
+ number_enabled: Optional[pulumi.Input[_builtins.int]] = None,
2577
+ number_total: Optional[pulumi.Input[_builtins.int]] = None,
2578
+ protection_level: Optional[pulumi.Input[_builtins.int]] = None):
2579
+ """
2580
+ :param pulumi.Input[_builtins.int] attack_type: The primary attack type targeted by this ruleset.
2581
+ :param pulumi.Input[Sequence[pulumi.Input['WafRuleConfigManagedRulesetManagedRuleArgs']]] managed_rules: The individual managed rules included in this ruleset. See `managed_rules` below.
2582
+ :param pulumi.Input[_builtins.int] number_enabled: Number of rules currently enabled.
2583
+ :param pulumi.Input[_builtins.int] number_total: Total number of rules in this ruleset.
2584
+ :param pulumi.Input[_builtins.int] protection_level: The protection strength level assigned to this ruleset.
2585
+ """
2586
+ if action is not None:
2587
+ pulumi.set(__self__, "action", action)
2588
+ if attack_type is not None:
2589
+ pulumi.set(__self__, "attack_type", attack_type)
2590
+ if managed_rules is not None:
2591
+ pulumi.set(__self__, "managed_rules", managed_rules)
2592
+ if number_enabled is not None:
2593
+ pulumi.set(__self__, "number_enabled", number_enabled)
2594
+ if number_total is not None:
2595
+ pulumi.set(__self__, "number_total", number_total)
2596
+ if protection_level is not None:
2597
+ pulumi.set(__self__, "protection_level", protection_level)
2598
+
2599
+ @_builtins.property
2600
+ @pulumi.getter
2601
+ def action(self) -> Optional[pulumi.Input[_builtins.str]]:
2602
+ return pulumi.get(self, "action")
2603
+
2604
+ @action.setter
2605
+ def action(self, value: Optional[pulumi.Input[_builtins.str]]):
2606
+ pulumi.set(self, "action", value)
2607
+
2608
+ @_builtins.property
2609
+ @pulumi.getter(name="attackType")
2610
+ def attack_type(self) -> Optional[pulumi.Input[_builtins.int]]:
2611
+ """
2612
+ The primary attack type targeted by this ruleset.
2613
+ """
2614
+ return pulumi.get(self, "attack_type")
2615
+
2616
+ @attack_type.setter
2617
+ def attack_type(self, value: Optional[pulumi.Input[_builtins.int]]):
2618
+ pulumi.set(self, "attack_type", value)
2619
+
2620
+ @_builtins.property
2621
+ @pulumi.getter(name="managedRules")
2622
+ def managed_rules(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['WafRuleConfigManagedRulesetManagedRuleArgs']]]]:
2623
+ """
2624
+ The individual managed rules included in this ruleset. See `managed_rules` below.
2625
+ """
2626
+ return pulumi.get(self, "managed_rules")
2627
+
2628
+ @managed_rules.setter
2629
+ def managed_rules(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['WafRuleConfigManagedRulesetManagedRuleArgs']]]]):
2630
+ pulumi.set(self, "managed_rules", value)
2631
+
2632
+ @_builtins.property
2633
+ @pulumi.getter(name="numberEnabled")
2634
+ def number_enabled(self) -> Optional[pulumi.Input[_builtins.int]]:
2635
+ """
2636
+ Number of rules currently enabled.
2637
+ """
2638
+ return pulumi.get(self, "number_enabled")
2639
+
2640
+ @number_enabled.setter
2641
+ def number_enabled(self, value: Optional[pulumi.Input[_builtins.int]]):
2642
+ pulumi.set(self, "number_enabled", value)
2643
+
2644
+ @_builtins.property
2645
+ @pulumi.getter(name="numberTotal")
2646
+ def number_total(self) -> Optional[pulumi.Input[_builtins.int]]:
2647
+ """
2648
+ Total number of rules in this ruleset.
2649
+ """
2650
+ return pulumi.get(self, "number_total")
2651
+
2652
+ @number_total.setter
2653
+ def number_total(self, value: Optional[pulumi.Input[_builtins.int]]):
2654
+ pulumi.set(self, "number_total", value)
2655
+
2656
+ @_builtins.property
2657
+ @pulumi.getter(name="protectionLevel")
2658
+ def protection_level(self) -> Optional[pulumi.Input[_builtins.int]]:
2659
+ """
2660
+ The protection strength level assigned to this ruleset.
2661
+ """
2662
+ return pulumi.get(self, "protection_level")
2663
+
2664
+ @protection_level.setter
2665
+ def protection_level(self, value: Optional[pulumi.Input[_builtins.int]]):
2666
+ pulumi.set(self, "protection_level", value)
2667
+
2668
+
2669
+ if not MYPY:
2670
+ class WafRuleConfigManagedRulesetManagedRuleArgsDict(TypedDict):
2671
+ action: NotRequired[pulumi.Input[_builtins.str]]
2672
+ id: NotRequired[pulumi.Input[_builtins.int]]
2673
+ """
2674
+ The internal unique ID of the WAF rule.
2675
+ """
2676
+ status: NotRequired[pulumi.Input[_builtins.str]]
2677
+ """
2678
+ The status of the managed rule: whether it is enabled or disabled.
2679
+ """
2680
+ elif False:
2681
+ WafRuleConfigManagedRulesetManagedRuleArgsDict: TypeAlias = Mapping[str, Any]
2682
+
2683
+ @pulumi.input_type
2684
+ class WafRuleConfigManagedRulesetManagedRuleArgs:
2685
+ def __init__(__self__, *,
2686
+ action: Optional[pulumi.Input[_builtins.str]] = None,
2687
+ id: Optional[pulumi.Input[_builtins.int]] = None,
2688
+ status: Optional[pulumi.Input[_builtins.str]] = None):
2689
+ """
2690
+ :param pulumi.Input[_builtins.int] id: The internal unique ID of the WAF rule.
2691
+ :param pulumi.Input[_builtins.str] status: The status of the managed rule: whether it is enabled or disabled.
2692
+ """
2693
+ if action is not None:
2694
+ pulumi.set(__self__, "action", action)
2695
+ if id is not None:
2696
+ pulumi.set(__self__, "id", id)
2697
+ if status is not None:
2698
+ pulumi.set(__self__, "status", status)
2699
+
2700
+ @_builtins.property
2701
+ @pulumi.getter
2702
+ def action(self) -> Optional[pulumi.Input[_builtins.str]]:
2703
+ return pulumi.get(self, "action")
2704
+
2705
+ @action.setter
2706
+ def action(self, value: Optional[pulumi.Input[_builtins.str]]):
2707
+ pulumi.set(self, "action", value)
2708
+
2709
+ @_builtins.property
2710
+ @pulumi.getter
2711
+ def id(self) -> Optional[pulumi.Input[_builtins.int]]:
2712
+ """
2713
+ The internal unique ID of the WAF rule.
2714
+ """
2715
+ return pulumi.get(self, "id")
2716
+
2717
+ @id.setter
2718
+ def id(self, value: Optional[pulumi.Input[_builtins.int]]):
2719
+ pulumi.set(self, "id", value)
2720
+
2721
+ @_builtins.property
2722
+ @pulumi.getter
2723
+ def status(self) -> Optional[pulumi.Input[_builtins.str]]:
2724
+ """
2725
+ The status of the managed rule: whether it is enabled or disabled.
2726
+ """
2727
+ return pulumi.get(self, "status")
2728
+
2729
+ @status.setter
2730
+ def status(self, value: Optional[pulumi.Input[_builtins.str]]):
2731
+ pulumi.set(self, "status", value)
2732
+
2733
+
2734
+ if not MYPY:
2735
+ class WafRuleConfigRateLimitArgsDict(TypedDict):
2736
+ characteristics: NotRequired[pulumi.Input['WafRuleConfigRateLimitCharacteristicsArgsDict']]
2737
+ """
2738
+ The statistical dimensions to which the rate limiting rule applies. See `characteristics` below.
2739
+ """
2740
+ interval: NotRequired[pulumi.Input[_builtins.int]]
2741
+ """
2742
+ The statistical interval.
2743
+ """
2744
+ on_hit: NotRequired[pulumi.Input[_builtins.bool]]
2745
+ """
2746
+ Indicates whether the rule applies to requests that hit the cache.
2747
+ """
2748
+ threshold: NotRequired[pulumi.Input['WafRuleConfigRateLimitThresholdArgsDict']]
2749
+ """
2750
+ Threshold settings for the rate limiting rule. See `threshold` below.
2751
+ """
2752
+ ttl: NotRequired[pulumi.Input[_builtins.int]]
2753
+ """
2754
+ The timeout period for creating the stack used in rate limiting.
2755
+ """
2756
+ elif False:
2757
+ WafRuleConfigRateLimitArgsDict: TypeAlias = Mapping[str, Any]
2758
+
2759
+ @pulumi.input_type
2760
+ class WafRuleConfigRateLimitArgs:
2761
+ def __init__(__self__, *,
2762
+ characteristics: Optional[pulumi.Input['WafRuleConfigRateLimitCharacteristicsArgs']] = None,
2763
+ interval: Optional[pulumi.Input[_builtins.int]] = None,
2764
+ on_hit: Optional[pulumi.Input[_builtins.bool]] = None,
2765
+ threshold: Optional[pulumi.Input['WafRuleConfigRateLimitThresholdArgs']] = None,
2766
+ ttl: Optional[pulumi.Input[_builtins.int]] = None):
2767
+ """
2768
+ :param pulumi.Input['WafRuleConfigRateLimitCharacteristicsArgs'] characteristics: The statistical dimensions to which the rate limiting rule applies. See `characteristics` below.
2769
+ :param pulumi.Input[_builtins.int] interval: The statistical interval.
2770
+ :param pulumi.Input[_builtins.bool] on_hit: Indicates whether the rule applies to requests that hit the cache.
2771
+ :param pulumi.Input['WafRuleConfigRateLimitThresholdArgs'] threshold: Threshold settings for the rate limiting rule. See `threshold` below.
2772
+ :param pulumi.Input[_builtins.int] ttl: The timeout period for creating the stack used in rate limiting.
2773
+ """
2774
+ if characteristics is not None:
2775
+ pulumi.set(__self__, "characteristics", characteristics)
2776
+ if interval is not None:
2777
+ pulumi.set(__self__, "interval", interval)
2778
+ if on_hit is not None:
2779
+ pulumi.set(__self__, "on_hit", on_hit)
2780
+ if threshold is not None:
2781
+ pulumi.set(__self__, "threshold", threshold)
2782
+ if ttl is not None:
2783
+ pulumi.set(__self__, "ttl", ttl)
2784
+
2785
+ @_builtins.property
2786
+ @pulumi.getter
2787
+ def characteristics(self) -> Optional[pulumi.Input['WafRuleConfigRateLimitCharacteristicsArgs']]:
2788
+ """
2789
+ The statistical dimensions to which the rate limiting rule applies. See `characteristics` below.
2790
+ """
2791
+ return pulumi.get(self, "characteristics")
2792
+
2793
+ @characteristics.setter
2794
+ def characteristics(self, value: Optional[pulumi.Input['WafRuleConfigRateLimitCharacteristicsArgs']]):
2795
+ pulumi.set(self, "characteristics", value)
2796
+
2797
+ @_builtins.property
2798
+ @pulumi.getter
2799
+ def interval(self) -> Optional[pulumi.Input[_builtins.int]]:
2800
+ """
2801
+ The statistical interval.
2802
+ """
2803
+ return pulumi.get(self, "interval")
2804
+
2805
+ @interval.setter
2806
+ def interval(self, value: Optional[pulumi.Input[_builtins.int]]):
2807
+ pulumi.set(self, "interval", value)
2808
+
2809
+ @_builtins.property
2810
+ @pulumi.getter(name="onHit")
2811
+ def on_hit(self) -> Optional[pulumi.Input[_builtins.bool]]:
2812
+ """
2813
+ Indicates whether the rule applies to requests that hit the cache.
2814
+ """
2815
+ return pulumi.get(self, "on_hit")
2816
+
2817
+ @on_hit.setter
2818
+ def on_hit(self, value: Optional[pulumi.Input[_builtins.bool]]):
2819
+ pulumi.set(self, "on_hit", value)
2820
+
2821
+ @_builtins.property
2822
+ @pulumi.getter
2823
+ def threshold(self) -> Optional[pulumi.Input['WafRuleConfigRateLimitThresholdArgs']]:
2824
+ """
2825
+ Threshold settings for the rate limiting rule. See `threshold` below.
2826
+ """
2827
+ return pulumi.get(self, "threshold")
2828
+
2829
+ @threshold.setter
2830
+ def threshold(self, value: Optional[pulumi.Input['WafRuleConfigRateLimitThresholdArgs']]):
2831
+ pulumi.set(self, "threshold", value)
2832
+
2833
+ @_builtins.property
2834
+ @pulumi.getter
2835
+ def ttl(self) -> Optional[pulumi.Input[_builtins.int]]:
2836
+ """
2837
+ The timeout period for creating the stack used in rate limiting.
2838
+ """
2839
+ return pulumi.get(self, "ttl")
2840
+
2841
+ @ttl.setter
2842
+ def ttl(self, value: Optional[pulumi.Input[_builtins.int]]):
2843
+ pulumi.set(self, "ttl", value)
2844
+
2845
+
2846
+ if not MYPY:
2847
+ class WafRuleConfigRateLimitCharacteristicsArgsDict(TypedDict):
2848
+ criterias: NotRequired[pulumi.Input[Sequence[pulumi.Input['WafRuleConfigRateLimitCharacteristicsCriteriaArgsDict']]]]
2849
+ logic: NotRequired[pulumi.Input[_builtins.str]]
2850
+ elif False:
2851
+ WafRuleConfigRateLimitCharacteristicsArgsDict: TypeAlias = Mapping[str, Any]
2852
+
2853
+ @pulumi.input_type
2854
+ class WafRuleConfigRateLimitCharacteristicsArgs:
2855
+ def __init__(__self__, *,
2856
+ criterias: Optional[pulumi.Input[Sequence[pulumi.Input['WafRuleConfigRateLimitCharacteristicsCriteriaArgs']]]] = None,
2857
+ logic: Optional[pulumi.Input[_builtins.str]] = None):
2858
+ if criterias is not None:
2859
+ pulumi.set(__self__, "criterias", criterias)
2860
+ if logic is not None:
2861
+ pulumi.set(__self__, "logic", logic)
2862
+
2863
+ @_builtins.property
2864
+ @pulumi.getter
2865
+ def criterias(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['WafRuleConfigRateLimitCharacteristicsCriteriaArgs']]]]:
2866
+ return pulumi.get(self, "criterias")
2867
+
2868
+ @criterias.setter
2869
+ def criterias(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['WafRuleConfigRateLimitCharacteristicsCriteriaArgs']]]]):
2870
+ pulumi.set(self, "criterias", value)
2871
+
2872
+ @_builtins.property
2873
+ @pulumi.getter
2874
+ def logic(self) -> Optional[pulumi.Input[_builtins.str]]:
2875
+ return pulumi.get(self, "logic")
2876
+
2877
+ @logic.setter
2878
+ def logic(self, value: Optional[pulumi.Input[_builtins.str]]):
2879
+ pulumi.set(self, "logic", value)
2880
+
2881
+
2882
+ if not MYPY:
2883
+ class WafRuleConfigRateLimitCharacteristicsCriteriaArgsDict(TypedDict):
2884
+ criterias: NotRequired[pulumi.Input[Sequence[pulumi.Input['WafRuleConfigRateLimitCharacteristicsCriteriaCriteriaArgsDict']]]]
2885
+ logic: NotRequired[pulumi.Input[_builtins.str]]
2886
+ match_type: NotRequired[pulumi.Input[_builtins.str]]
2887
+ elif False:
2888
+ WafRuleConfigRateLimitCharacteristicsCriteriaArgsDict: TypeAlias = Mapping[str, Any]
2889
+
2890
+ @pulumi.input_type
2891
+ class WafRuleConfigRateLimitCharacteristicsCriteriaArgs:
2892
+ def __init__(__self__, *,
2893
+ criterias: Optional[pulumi.Input[Sequence[pulumi.Input['WafRuleConfigRateLimitCharacteristicsCriteriaCriteriaArgs']]]] = None,
2894
+ logic: Optional[pulumi.Input[_builtins.str]] = None,
2895
+ match_type: Optional[pulumi.Input[_builtins.str]] = None):
2896
+ if criterias is not None:
2897
+ pulumi.set(__self__, "criterias", criterias)
2898
+ if logic is not None:
2899
+ pulumi.set(__self__, "logic", logic)
2900
+ if match_type is not None:
2901
+ pulumi.set(__self__, "match_type", match_type)
2902
+
2903
+ @_builtins.property
2904
+ @pulumi.getter
2905
+ def criterias(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['WafRuleConfigRateLimitCharacteristicsCriteriaCriteriaArgs']]]]:
2906
+ return pulumi.get(self, "criterias")
2907
+
2908
+ @criterias.setter
2909
+ def criterias(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['WafRuleConfigRateLimitCharacteristicsCriteriaCriteriaArgs']]]]):
2910
+ pulumi.set(self, "criterias", value)
2911
+
2912
+ @_builtins.property
2913
+ @pulumi.getter
2914
+ def logic(self) -> Optional[pulumi.Input[_builtins.str]]:
2915
+ return pulumi.get(self, "logic")
2916
+
2917
+ @logic.setter
2918
+ def logic(self, value: Optional[pulumi.Input[_builtins.str]]):
2919
+ pulumi.set(self, "logic", value)
2920
+
2921
+ @_builtins.property
2922
+ @pulumi.getter(name="matchType")
2923
+ def match_type(self) -> Optional[pulumi.Input[_builtins.str]]:
2924
+ return pulumi.get(self, "match_type")
2925
+
2926
+ @match_type.setter
2927
+ def match_type(self, value: Optional[pulumi.Input[_builtins.str]]):
2928
+ pulumi.set(self, "match_type", value)
2929
+
2930
+
2931
+ if not MYPY:
2932
+ class WafRuleConfigRateLimitCharacteristicsCriteriaCriteriaArgsDict(TypedDict):
2933
+ criterias: NotRequired[pulumi.Input[Sequence[pulumi.Input['WafRuleConfigRateLimitCharacteristicsCriteriaCriteriaCriteriaArgsDict']]]]
2934
+ logic: NotRequired[pulumi.Input[_builtins.str]]
2935
+ match_type: NotRequired[pulumi.Input[_builtins.str]]
2936
+ elif False:
2937
+ WafRuleConfigRateLimitCharacteristicsCriteriaCriteriaArgsDict: TypeAlias = Mapping[str, Any]
2938
+
2939
+ @pulumi.input_type
2940
+ class WafRuleConfigRateLimitCharacteristicsCriteriaCriteriaArgs:
2941
+ def __init__(__self__, *,
2942
+ criterias: Optional[pulumi.Input[Sequence[pulumi.Input['WafRuleConfigRateLimitCharacteristicsCriteriaCriteriaCriteriaArgs']]]] = None,
2943
+ logic: Optional[pulumi.Input[_builtins.str]] = None,
2944
+ match_type: Optional[pulumi.Input[_builtins.str]] = None):
2945
+ if criterias is not None:
2946
+ pulumi.set(__self__, "criterias", criterias)
2947
+ if logic is not None:
2948
+ pulumi.set(__self__, "logic", logic)
2949
+ if match_type is not None:
2950
+ pulumi.set(__self__, "match_type", match_type)
2951
+
2952
+ @_builtins.property
2953
+ @pulumi.getter
2954
+ def criterias(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['WafRuleConfigRateLimitCharacteristicsCriteriaCriteriaCriteriaArgs']]]]:
2955
+ return pulumi.get(self, "criterias")
2956
+
2957
+ @criterias.setter
2958
+ def criterias(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['WafRuleConfigRateLimitCharacteristicsCriteriaCriteriaCriteriaArgs']]]]):
2959
+ pulumi.set(self, "criterias", value)
2960
+
2961
+ @_builtins.property
2962
+ @pulumi.getter
2963
+ def logic(self) -> Optional[pulumi.Input[_builtins.str]]:
2964
+ return pulumi.get(self, "logic")
2965
+
2966
+ @logic.setter
2967
+ def logic(self, value: Optional[pulumi.Input[_builtins.str]]):
2968
+ pulumi.set(self, "logic", value)
2969
+
2970
+ @_builtins.property
2971
+ @pulumi.getter(name="matchType")
2972
+ def match_type(self) -> Optional[pulumi.Input[_builtins.str]]:
2973
+ return pulumi.get(self, "match_type")
2974
+
2975
+ @match_type.setter
2976
+ def match_type(self, value: Optional[pulumi.Input[_builtins.str]]):
2977
+ pulumi.set(self, "match_type", value)
2978
+
2979
+
2980
+ if not MYPY:
2981
+ class WafRuleConfigRateLimitCharacteristicsCriteriaCriteriaCriteriaArgsDict(TypedDict):
2982
+ match_type: NotRequired[pulumi.Input[_builtins.str]]
2983
+ elif False:
2984
+ WafRuleConfigRateLimitCharacteristicsCriteriaCriteriaCriteriaArgsDict: TypeAlias = Mapping[str, Any]
2985
+
2986
+ @pulumi.input_type
2987
+ class WafRuleConfigRateLimitCharacteristicsCriteriaCriteriaCriteriaArgs:
2988
+ def __init__(__self__, *,
2989
+ match_type: Optional[pulumi.Input[_builtins.str]] = None):
2990
+ if match_type is not None:
2991
+ pulumi.set(__self__, "match_type", match_type)
2992
+
2993
+ @_builtins.property
2994
+ @pulumi.getter(name="matchType")
2995
+ def match_type(self) -> Optional[pulumi.Input[_builtins.str]]:
2996
+ return pulumi.get(self, "match_type")
2997
+
2998
+ @match_type.setter
2999
+ def match_type(self, value: Optional[pulumi.Input[_builtins.str]]):
3000
+ pulumi.set(self, "match_type", value)
3001
+
3002
+
3003
+ if not MYPY:
3004
+ class WafRuleConfigRateLimitThresholdArgsDict(TypedDict):
3005
+ distinct_managed_rules: NotRequired[pulumi.Input[_builtins.int]]
3006
+ """
3007
+ The maximum number of distinct managed rules that can be triggered.
3008
+ """
3009
+ managed_rules_blocked: NotRequired[pulumi.Input[_builtins.int]]
3010
+ """
3011
+ The maximum number of times that managed rules can be triggered.
3012
+ """
3013
+ request: NotRequired[pulumi.Input[_builtins.int]]
3014
+ """
3015
+ The maximum number of allowed requests within a time interval.
3016
+ """
3017
+ response_status: NotRequired[pulumi.Input['WafRuleConfigRateLimitThresholdResponseStatusArgsDict']]
3018
+ """
3019
+ Limits on the frequency of returning specific HTTP status codes. See `response_status` below.
3020
+ """
3021
+ traffic: NotRequired[pulumi.Input[_builtins.str]]
3022
+ """
3023
+ The maximum allowed traffic within a time interval (deprecated).
3024
+ """
3025
+ elif False:
3026
+ WafRuleConfigRateLimitThresholdArgsDict: TypeAlias = Mapping[str, Any]
3027
+
3028
+ @pulumi.input_type
3029
+ class WafRuleConfigRateLimitThresholdArgs:
3030
+ def __init__(__self__, *,
3031
+ distinct_managed_rules: Optional[pulumi.Input[_builtins.int]] = None,
3032
+ managed_rules_blocked: Optional[pulumi.Input[_builtins.int]] = None,
3033
+ request: Optional[pulumi.Input[_builtins.int]] = None,
3034
+ response_status: Optional[pulumi.Input['WafRuleConfigRateLimitThresholdResponseStatusArgs']] = None,
3035
+ traffic: Optional[pulumi.Input[_builtins.str]] = None):
3036
+ """
3037
+ :param pulumi.Input[_builtins.int] distinct_managed_rules: The maximum number of distinct managed rules that can be triggered.
3038
+ :param pulumi.Input[_builtins.int] managed_rules_blocked: The maximum number of times that managed rules can be triggered.
3039
+ :param pulumi.Input[_builtins.int] request: The maximum number of allowed requests within a time interval.
3040
+ :param pulumi.Input['WafRuleConfigRateLimitThresholdResponseStatusArgs'] response_status: Limits on the frequency of returning specific HTTP status codes. See `response_status` below.
3041
+ :param pulumi.Input[_builtins.str] traffic: The maximum allowed traffic within a time interval (deprecated).
3042
+ """
3043
+ if distinct_managed_rules is not None:
3044
+ pulumi.set(__self__, "distinct_managed_rules", distinct_managed_rules)
3045
+ if managed_rules_blocked is not None:
3046
+ pulumi.set(__self__, "managed_rules_blocked", managed_rules_blocked)
3047
+ if request is not None:
3048
+ pulumi.set(__self__, "request", request)
3049
+ if response_status is not None:
3050
+ pulumi.set(__self__, "response_status", response_status)
3051
+ if traffic is not None:
3052
+ pulumi.set(__self__, "traffic", traffic)
3053
+
3054
+ @_builtins.property
3055
+ @pulumi.getter(name="distinctManagedRules")
3056
+ def distinct_managed_rules(self) -> Optional[pulumi.Input[_builtins.int]]:
3057
+ """
3058
+ The maximum number of distinct managed rules that can be triggered.
3059
+ """
3060
+ return pulumi.get(self, "distinct_managed_rules")
3061
+
3062
+ @distinct_managed_rules.setter
3063
+ def distinct_managed_rules(self, value: Optional[pulumi.Input[_builtins.int]]):
3064
+ pulumi.set(self, "distinct_managed_rules", value)
3065
+
3066
+ @_builtins.property
3067
+ @pulumi.getter(name="managedRulesBlocked")
3068
+ def managed_rules_blocked(self) -> Optional[pulumi.Input[_builtins.int]]:
3069
+ """
3070
+ The maximum number of times that managed rules can be triggered.
3071
+ """
3072
+ return pulumi.get(self, "managed_rules_blocked")
3073
+
3074
+ @managed_rules_blocked.setter
3075
+ def managed_rules_blocked(self, value: Optional[pulumi.Input[_builtins.int]]):
3076
+ pulumi.set(self, "managed_rules_blocked", value)
3077
+
3078
+ @_builtins.property
3079
+ @pulumi.getter
3080
+ def request(self) -> Optional[pulumi.Input[_builtins.int]]:
3081
+ """
3082
+ The maximum number of allowed requests within a time interval.
3083
+ """
3084
+ return pulumi.get(self, "request")
3085
+
3086
+ @request.setter
3087
+ def request(self, value: Optional[pulumi.Input[_builtins.int]]):
3088
+ pulumi.set(self, "request", value)
3089
+
3090
+ @_builtins.property
3091
+ @pulumi.getter(name="responseStatus")
3092
+ def response_status(self) -> Optional[pulumi.Input['WafRuleConfigRateLimitThresholdResponseStatusArgs']]:
3093
+ """
3094
+ Limits on the frequency of returning specific HTTP status codes. See `response_status` below.
3095
+ """
3096
+ return pulumi.get(self, "response_status")
3097
+
3098
+ @response_status.setter
3099
+ def response_status(self, value: Optional[pulumi.Input['WafRuleConfigRateLimitThresholdResponseStatusArgs']]):
3100
+ pulumi.set(self, "response_status", value)
3101
+
3102
+ @_builtins.property
3103
+ @pulumi.getter
3104
+ def traffic(self) -> Optional[pulumi.Input[_builtins.str]]:
3105
+ """
3106
+ The maximum allowed traffic within a time interval (deprecated).
3107
+ """
3108
+ return pulumi.get(self, "traffic")
3109
+
3110
+ @traffic.setter
3111
+ def traffic(self, value: Optional[pulumi.Input[_builtins.str]]):
3112
+ pulumi.set(self, "traffic", value)
3113
+
3114
+
3115
+ if not MYPY:
3116
+ class WafRuleConfigRateLimitThresholdResponseStatusArgsDict(TypedDict):
3117
+ code: NotRequired[pulumi.Input[_builtins.int]]
3118
+ count: NotRequired[pulumi.Input[_builtins.int]]
3119
+ """
3120
+ The maximum number of times the specified status code can be returned.
3121
+ """
3122
+ ratio: NotRequired[pulumi.Input[_builtins.int]]
3123
+ """
3124
+ The upper limit of the percentage of occurrences of the specified status code among all responses.
3125
+ """
3126
+ elif False:
3127
+ WafRuleConfigRateLimitThresholdResponseStatusArgsDict: TypeAlias = Mapping[str, Any]
3128
+
3129
+ @pulumi.input_type
3130
+ class WafRuleConfigRateLimitThresholdResponseStatusArgs:
3131
+ def __init__(__self__, *,
3132
+ code: Optional[pulumi.Input[_builtins.int]] = None,
3133
+ count: Optional[pulumi.Input[_builtins.int]] = None,
3134
+ ratio: Optional[pulumi.Input[_builtins.int]] = None):
3135
+ """
3136
+ :param pulumi.Input[_builtins.int] count: The maximum number of times the specified status code can be returned.
3137
+ :param pulumi.Input[_builtins.int] ratio: The upper limit of the percentage of occurrences of the specified status code among all responses.
3138
+ """
3139
+ if code is not None:
3140
+ pulumi.set(__self__, "code", code)
3141
+ if count is not None:
3142
+ pulumi.set(__self__, "count", count)
3143
+ if ratio is not None:
3144
+ pulumi.set(__self__, "ratio", ratio)
3145
+
3146
+ @_builtins.property
3147
+ @pulumi.getter
3148
+ def code(self) -> Optional[pulumi.Input[_builtins.int]]:
3149
+ return pulumi.get(self, "code")
3150
+
3151
+ @code.setter
3152
+ def code(self, value: Optional[pulumi.Input[_builtins.int]]):
3153
+ pulumi.set(self, "code", value)
3154
+
3155
+ @_builtins.property
3156
+ @pulumi.getter
3157
+ def count(self) -> Optional[pulumi.Input[_builtins.int]]:
3158
+ """
3159
+ The maximum number of times the specified status code can be returned.
3160
+ """
3161
+ return pulumi.get(self, "count")
3162
+
3163
+ @count.setter
3164
+ def count(self, value: Optional[pulumi.Input[_builtins.int]]):
3165
+ pulumi.set(self, "count", value)
3166
+
3167
+ @_builtins.property
3168
+ @pulumi.getter
3169
+ def ratio(self) -> Optional[pulumi.Input[_builtins.int]]:
3170
+ """
3171
+ The upper limit of the percentage of occurrences of the specified status code among all responses.
3172
+ """
3173
+ return pulumi.get(self, "ratio")
3174
+
3175
+ @ratio.setter
3176
+ def ratio(self, value: Optional[pulumi.Input[_builtins.int]]):
3177
+ pulumi.set(self, "ratio", value)
3178
+
3179
+
3180
+ if not MYPY:
3181
+ class WafRuleConfigSecurityLevelArgsDict(TypedDict):
3182
+ value: NotRequired[pulumi.Input[_builtins.str]]
3183
+ """
3184
+ The value of the custom signature field used for validation.
3185
+ """
3186
+ elif False:
3187
+ WafRuleConfigSecurityLevelArgsDict: TypeAlias = Mapping[str, Any]
3188
+
3189
+ @pulumi.input_type
3190
+ class WafRuleConfigSecurityLevelArgs:
3191
+ def __init__(__self__, *,
3192
+ value: Optional[pulumi.Input[_builtins.str]] = None):
3193
+ """
3194
+ :param pulumi.Input[_builtins.str] value: The value of the custom signature field used for validation.
3195
+ """
3196
+ if value is not None:
3197
+ pulumi.set(__self__, "value", value)
3198
+
3199
+ @_builtins.property
3200
+ @pulumi.getter
3201
+ def value(self) -> Optional[pulumi.Input[_builtins.str]]:
3202
+ """
3203
+ The value of the custom signature field used for validation.
3204
+ """
3205
+ return pulumi.get(self, "value")
3206
+
3207
+ @value.setter
3208
+ def value(self, value: Optional[pulumi.Input[_builtins.str]]):
3209
+ pulumi.set(self, "value", value)
3210
+
3211
+
3212
+ if not MYPY:
3213
+ class WafRuleConfigTimerArgsDict(TypedDict):
3214
+ periods: NotRequired[pulumi.Input[Sequence[pulumi.Input['WafRuleConfigTimerPeriodArgsDict']]]]
3215
+ scopes: NotRequired[pulumi.Input[_builtins.str]]
3216
+ """
3217
+ Timing type:
3218
+ """
3219
+ weekly_periods: NotRequired[pulumi.Input[Sequence[pulumi.Input['WafRuleConfigTimerWeeklyPeriodArgsDict']]]]
3220
+ """
3221
+ Weekly recurring time schedules. See `weekly_periods` below.
3222
+ """
3223
+ zone: NotRequired[pulumi.Input[_builtins.int]]
3224
+ """
3225
+ 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
3226
+ """
3227
+ elif False:
3228
+ WafRuleConfigTimerArgsDict: TypeAlias = Mapping[str, Any]
3229
+
3230
+ @pulumi.input_type
3231
+ class WafRuleConfigTimerArgs:
3232
+ def __init__(__self__, *,
3233
+ periods: Optional[pulumi.Input[Sequence[pulumi.Input['WafRuleConfigTimerPeriodArgs']]]] = None,
3234
+ scopes: Optional[pulumi.Input[_builtins.str]] = None,
3235
+ weekly_periods: Optional[pulumi.Input[Sequence[pulumi.Input['WafRuleConfigTimerWeeklyPeriodArgs']]]] = None,
3236
+ zone: Optional[pulumi.Input[_builtins.int]] = None):
3237
+ """
3238
+ :param pulumi.Input[_builtins.str] scopes: Timing type:
3239
+ :param pulumi.Input[Sequence[pulumi.Input['WafRuleConfigTimerWeeklyPeriodArgs']]] weekly_periods: Weekly recurring time schedules. See `weekly_periods` below.
3240
+ :param pulumi.Input[_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
3241
+ """
3242
+ if periods is not None:
3243
+ pulumi.set(__self__, "periods", periods)
3244
+ if scopes is not None:
3245
+ pulumi.set(__self__, "scopes", scopes)
3246
+ if weekly_periods is not None:
3247
+ pulumi.set(__self__, "weekly_periods", weekly_periods)
3248
+ if zone is not None:
3249
+ pulumi.set(__self__, "zone", zone)
3250
+
3251
+ @_builtins.property
3252
+ @pulumi.getter
3253
+ def periods(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['WafRuleConfigTimerPeriodArgs']]]]:
3254
+ return pulumi.get(self, "periods")
3255
+
3256
+ @periods.setter
3257
+ def periods(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['WafRuleConfigTimerPeriodArgs']]]]):
3258
+ pulumi.set(self, "periods", value)
3259
+
3260
+ @_builtins.property
3261
+ @pulumi.getter
3262
+ def scopes(self) -> Optional[pulumi.Input[_builtins.str]]:
3263
+ """
3264
+ Timing type:
3265
+ """
3266
+ return pulumi.get(self, "scopes")
3267
+
3268
+ @scopes.setter
3269
+ def scopes(self, value: Optional[pulumi.Input[_builtins.str]]):
3270
+ pulumi.set(self, "scopes", value)
3271
+
3272
+ @_builtins.property
3273
+ @pulumi.getter(name="weeklyPeriods")
3274
+ def weekly_periods(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['WafRuleConfigTimerWeeklyPeriodArgs']]]]:
3275
+ """
3276
+ Weekly recurring time schedules. See `weekly_periods` below.
3277
+ """
3278
+ return pulumi.get(self, "weekly_periods")
3279
+
3280
+ @weekly_periods.setter
3281
+ def weekly_periods(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['WafRuleConfigTimerWeeklyPeriodArgs']]]]):
3282
+ pulumi.set(self, "weekly_periods", value)
3283
+
3284
+ @_builtins.property
3285
+ @pulumi.getter
3286
+ def zone(self) -> Optional[pulumi.Input[_builtins.int]]:
3287
+ """
3288
+ 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
3289
+ """
3290
+ return pulumi.get(self, "zone")
3291
+
3292
+ @zone.setter
3293
+ def zone(self, value: Optional[pulumi.Input[_builtins.int]]):
3294
+ pulumi.set(self, "zone", value)
3295
+
3296
+
3297
+ if not MYPY:
3298
+ class WafRuleConfigTimerPeriodArgsDict(TypedDict):
3299
+ end: NotRequired[pulumi.Input[_builtins.str]]
3300
+ """
3301
+ End time in HH:mm:ss format
3302
+ """
3303
+ start: NotRequired[pulumi.Input[_builtins.str]]
3304
+ """
3305
+ Start time in HH:mm:ss format
3306
+ """
3307
+ elif False:
3308
+ WafRuleConfigTimerPeriodArgsDict: TypeAlias = Mapping[str, Any]
3309
+
3310
+ @pulumi.input_type
3311
+ class WafRuleConfigTimerPeriodArgs:
3312
+ def __init__(__self__, *,
3313
+ end: Optional[pulumi.Input[_builtins.str]] = None,
3314
+ start: Optional[pulumi.Input[_builtins.str]] = None):
3315
+ """
3316
+ :param pulumi.Input[_builtins.str] end: End time in HH:mm:ss format
3317
+ :param pulumi.Input[_builtins.str] start: Start time in HH:mm:ss format
3318
+ """
3319
+ if end is not None:
3320
+ pulumi.set(__self__, "end", end)
3321
+ if start is not None:
3322
+ pulumi.set(__self__, "start", start)
3323
+
3324
+ @_builtins.property
3325
+ @pulumi.getter
3326
+ def end(self) -> Optional[pulumi.Input[_builtins.str]]:
3327
+ """
3328
+ End time in HH:mm:ss format
3329
+ """
3330
+ return pulumi.get(self, "end")
3331
+
3332
+ @end.setter
3333
+ def end(self, value: Optional[pulumi.Input[_builtins.str]]):
3334
+ pulumi.set(self, "end", value)
3335
+
3336
+ @_builtins.property
3337
+ @pulumi.getter
3338
+ def start(self) -> Optional[pulumi.Input[_builtins.str]]:
3339
+ """
3340
+ Start time in HH:mm:ss format
3341
+ """
3342
+ return pulumi.get(self, "start")
3343
+
3344
+ @start.setter
3345
+ def start(self, value: Optional[pulumi.Input[_builtins.str]]):
3346
+ pulumi.set(self, "start", value)
3347
+
3348
+
3349
+ if not MYPY:
3350
+ class WafRuleConfigTimerWeeklyPeriodArgsDict(TypedDict):
3351
+ daily_periods: NotRequired[pulumi.Input[Sequence[pulumi.Input['WafRuleConfigTimerWeeklyPeriodDailyPeriodArgsDict']]]]
3352
+ """
3353
+ Daily effective time periods within a weekly schedule. See `daily_periods` below.
3354
+ """
3355
+ days: NotRequired[pulumi.Input[_builtins.str]]
3356
+ """
3357
+ Cycle, multiple use comma separated, 1-7 respectively represent Monday-Sunday. Example: Monday, Wednesday value is "1,3"
3358
+ """
3359
+ elif False:
3360
+ WafRuleConfigTimerWeeklyPeriodArgsDict: TypeAlias = Mapping[str, Any]
3361
+
3362
+ @pulumi.input_type
3363
+ class WafRuleConfigTimerWeeklyPeriodArgs:
3364
+ def __init__(__self__, *,
3365
+ daily_periods: Optional[pulumi.Input[Sequence[pulumi.Input['WafRuleConfigTimerWeeklyPeriodDailyPeriodArgs']]]] = None,
3366
+ days: Optional[pulumi.Input[_builtins.str]] = None):
3367
+ """
3368
+ :param pulumi.Input[Sequence[pulumi.Input['WafRuleConfigTimerWeeklyPeriodDailyPeriodArgs']]] daily_periods: Daily effective time periods within a weekly schedule. See `daily_periods` below.
3369
+ :param pulumi.Input[_builtins.str] days: Cycle, multiple use comma separated, 1-7 respectively represent Monday-Sunday. Example: Monday, Wednesday value is "1,3"
3370
+ """
3371
+ if daily_periods is not None:
3372
+ pulumi.set(__self__, "daily_periods", daily_periods)
3373
+ if days is not None:
3374
+ pulumi.set(__self__, "days", days)
3375
+
3376
+ @_builtins.property
3377
+ @pulumi.getter(name="dailyPeriods")
3378
+ def daily_periods(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['WafRuleConfigTimerWeeklyPeriodDailyPeriodArgs']]]]:
3379
+ """
3380
+ Daily effective time periods within a weekly schedule. See `daily_periods` below.
3381
+ """
3382
+ return pulumi.get(self, "daily_periods")
3383
+
3384
+ @daily_periods.setter
3385
+ def daily_periods(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['WafRuleConfigTimerWeeklyPeriodDailyPeriodArgs']]]]):
3386
+ pulumi.set(self, "daily_periods", value)
3387
+
3388
+ @_builtins.property
3389
+ @pulumi.getter
3390
+ def days(self) -> Optional[pulumi.Input[_builtins.str]]:
3391
+ """
3392
+ Cycle, multiple use comma separated, 1-7 respectively represent Monday-Sunday. Example: Monday, Wednesday value is "1,3"
3393
+ """
3394
+ return pulumi.get(self, "days")
3395
+
3396
+ @days.setter
3397
+ def days(self, value: Optional[pulumi.Input[_builtins.str]]):
3398
+ pulumi.set(self, "days", value)
3399
+
3400
+
3401
+ if not MYPY:
3402
+ class WafRuleConfigTimerWeeklyPeriodDailyPeriodArgsDict(TypedDict):
3403
+ end: NotRequired[pulumi.Input[_builtins.str]]
3404
+ """
3405
+ End time in HH:mm:ss format
3406
+ """
3407
+ start: NotRequired[pulumi.Input[_builtins.str]]
3408
+ """
3409
+ Start time in HH:mm:ss format
3410
+ """
3411
+ elif False:
3412
+ WafRuleConfigTimerWeeklyPeriodDailyPeriodArgsDict: TypeAlias = Mapping[str, Any]
3413
+
3414
+ @pulumi.input_type
3415
+ class WafRuleConfigTimerWeeklyPeriodDailyPeriodArgs:
3416
+ def __init__(__self__, *,
3417
+ end: Optional[pulumi.Input[_builtins.str]] = None,
3418
+ start: Optional[pulumi.Input[_builtins.str]] = None):
3419
+ """
3420
+ :param pulumi.Input[_builtins.str] end: End time in HH:mm:ss format
3421
+ :param pulumi.Input[_builtins.str] start: Start time in HH:mm:ss format
3422
+ """
3423
+ if end is not None:
3424
+ pulumi.set(__self__, "end", end)
3425
+ if start is not None:
3426
+ pulumi.set(__self__, "start", start)
3427
+
3428
+ @_builtins.property
3429
+ @pulumi.getter
3430
+ def end(self) -> Optional[pulumi.Input[_builtins.str]]:
3431
+ """
3432
+ End time in HH:mm:ss format
3433
+ """
3434
+ return pulumi.get(self, "end")
3435
+
3436
+ @end.setter
3437
+ def end(self, value: Optional[pulumi.Input[_builtins.str]]):
3438
+ pulumi.set(self, "end", value)
3439
+
3440
+ @_builtins.property
3441
+ @pulumi.getter
3442
+ def start(self) -> Optional[pulumi.Input[_builtins.str]]:
3443
+ """
3444
+ Start time in HH:mm:ss format
3445
+ """
3446
+ return pulumi.get(self, "start")
3447
+
3448
+ @start.setter
3449
+ def start(self, value: Optional[pulumi.Input[_builtins.str]]):
3450
+ pulumi.set(self, "start", value)
3451
+
3452
+
3453
+ if not MYPY:
3454
+ class WafRuleSharedArgsDict(TypedDict):
3455
+ action: NotRequired[pulumi.Input[_builtins.str]]
3456
+ """
3457
+ The default action executed under shared configuration.
3458
+ """
3459
+ actions: NotRequired[pulumi.Input['WafRuleSharedActionsArgsDict']]
3460
+ """
3461
+ Extended action configurations under shared settings. See `actions` below.
3462
+ """
3463
+ cross_site_id: NotRequired[pulumi.Input[_builtins.int]]
3464
+ """
3465
+ Specify the cross-domain site ID.
3466
+ """
3467
+ expression: NotRequired[pulumi.Input[_builtins.str]]
3468
+ """
3469
+ The match expression used in shared configuration.
3470
+ """
3471
+ match: NotRequired[pulumi.Input['WafRuleSharedMatchArgsDict']]
3472
+ """
3473
+ Configuration of the request matching logic engine. See `match` below.
3474
+ """
3475
+ mode: NotRequired[pulumi.Input[_builtins.str]]
3476
+ """
3477
+ The integration mode of the Web SDK:
3478
+ """
3479
+ name: NotRequired[pulumi.Input[_builtins.str]]
3480
+ """
3481
+ The display name of the ruleset.
3482
+ """
3483
+ target: NotRequired[pulumi.Input[_builtins.str]]
3484
+ """
3485
+ The target type protected by this rule: web or app.
3486
+ """
3487
+ elif False:
3488
+ WafRuleSharedArgsDict: TypeAlias = Mapping[str, Any]
3489
+
3490
+ @pulumi.input_type
3491
+ class WafRuleSharedArgs:
3492
+ def __init__(__self__, *,
3493
+ action: Optional[pulumi.Input[_builtins.str]] = None,
3494
+ actions: Optional[pulumi.Input['WafRuleSharedActionsArgs']] = None,
3495
+ cross_site_id: Optional[pulumi.Input[_builtins.int]] = None,
3496
+ expression: Optional[pulumi.Input[_builtins.str]] = None,
3497
+ match: Optional[pulumi.Input['WafRuleSharedMatchArgs']] = None,
3498
+ mode: Optional[pulumi.Input[_builtins.str]] = None,
3499
+ name: Optional[pulumi.Input[_builtins.str]] = None,
3500
+ target: Optional[pulumi.Input[_builtins.str]] = None):
3501
+ """
3502
+ :param pulumi.Input[_builtins.str] action: The default action executed under shared configuration.
3503
+ :param pulumi.Input['WafRuleSharedActionsArgs'] actions: Extended action configurations under shared settings. See `actions` below.
3504
+ :param pulumi.Input[_builtins.int] cross_site_id: Specify the cross-domain site ID.
3505
+ :param pulumi.Input[_builtins.str] expression: The match expression used in shared configuration.
3506
+ :param pulumi.Input['WafRuleSharedMatchArgs'] match: Configuration of the request matching logic engine. See `match` below.
3507
+ :param pulumi.Input[_builtins.str] mode: The integration mode of the Web SDK:
3508
+ :param pulumi.Input[_builtins.str] name: The display name of the ruleset.
3509
+ :param pulumi.Input[_builtins.str] target: The target type protected by this rule: web or app.
3510
+ """
3511
+ if action is not None:
3512
+ pulumi.set(__self__, "action", action)
3513
+ if actions is not None:
3514
+ pulumi.set(__self__, "actions", actions)
3515
+ if cross_site_id is not None:
3516
+ pulumi.set(__self__, "cross_site_id", cross_site_id)
3517
+ if expression is not None:
3518
+ pulumi.set(__self__, "expression", expression)
3519
+ if match is not None:
3520
+ pulumi.set(__self__, "match", match)
3521
+ if mode is not None:
3522
+ pulumi.set(__self__, "mode", mode)
3523
+ if name is not None:
3524
+ pulumi.set(__self__, "name", name)
3525
+ if target is not None:
3526
+ pulumi.set(__self__, "target", target)
3527
+
3528
+ @_builtins.property
3529
+ @pulumi.getter
3530
+ def action(self) -> Optional[pulumi.Input[_builtins.str]]:
3531
+ """
3532
+ The default action executed under shared configuration.
3533
+ """
3534
+ return pulumi.get(self, "action")
3535
+
3536
+ @action.setter
3537
+ def action(self, value: Optional[pulumi.Input[_builtins.str]]):
3538
+ pulumi.set(self, "action", value)
3539
+
3540
+ @_builtins.property
3541
+ @pulumi.getter
3542
+ def actions(self) -> Optional[pulumi.Input['WafRuleSharedActionsArgs']]:
3543
+ """
3544
+ Extended action configurations under shared settings. See `actions` below.
3545
+ """
3546
+ return pulumi.get(self, "actions")
3547
+
3548
+ @actions.setter
3549
+ def actions(self, value: Optional[pulumi.Input['WafRuleSharedActionsArgs']]):
3550
+ pulumi.set(self, "actions", value)
3551
+
3552
+ @_builtins.property
3553
+ @pulumi.getter(name="crossSiteId")
3554
+ def cross_site_id(self) -> Optional[pulumi.Input[_builtins.int]]:
3555
+ """
3556
+ Specify the cross-domain site ID.
3557
+ """
3558
+ return pulumi.get(self, "cross_site_id")
3559
+
3560
+ @cross_site_id.setter
3561
+ def cross_site_id(self, value: Optional[pulumi.Input[_builtins.int]]):
3562
+ pulumi.set(self, "cross_site_id", value)
3563
+
3564
+ @_builtins.property
3565
+ @pulumi.getter
3566
+ def expression(self) -> Optional[pulumi.Input[_builtins.str]]:
3567
+ """
3568
+ The match expression used in shared configuration.
3569
+ """
3570
+ return pulumi.get(self, "expression")
3571
+
3572
+ @expression.setter
3573
+ def expression(self, value: Optional[pulumi.Input[_builtins.str]]):
3574
+ pulumi.set(self, "expression", value)
3575
+
3576
+ @_builtins.property
3577
+ @pulumi.getter
3578
+ def match(self) -> Optional[pulumi.Input['WafRuleSharedMatchArgs']]:
3579
+ """
3580
+ Configuration of the request matching logic engine. See `match` below.
3581
+ """
3582
+ return pulumi.get(self, "match")
3583
+
3584
+ @match.setter
3585
+ def match(self, value: Optional[pulumi.Input['WafRuleSharedMatchArgs']]):
3586
+ pulumi.set(self, "match", value)
3587
+
3588
+ @_builtins.property
3589
+ @pulumi.getter
3590
+ def mode(self) -> Optional[pulumi.Input[_builtins.str]]:
3591
+ """
3592
+ The integration mode of the Web SDK:
3593
+ """
3594
+ return pulumi.get(self, "mode")
3595
+
3596
+ @mode.setter
3597
+ def mode(self, value: Optional[pulumi.Input[_builtins.str]]):
3598
+ pulumi.set(self, "mode", value)
3599
+
3600
+ @_builtins.property
3601
+ @pulumi.getter
3602
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
3603
+ """
3604
+ The display name of the ruleset.
3605
+ """
3606
+ return pulumi.get(self, "name")
3607
+
3608
+ @name.setter
3609
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
3610
+ pulumi.set(self, "name", value)
3611
+
3612
+ @_builtins.property
3613
+ @pulumi.getter
3614
+ def target(self) -> Optional[pulumi.Input[_builtins.str]]:
3615
+ """
3616
+ The target type protected by this rule: web or app.
3617
+ """
3618
+ return pulumi.get(self, "target")
3619
+
3620
+ @target.setter
3621
+ def target(self, value: Optional[pulumi.Input[_builtins.str]]):
3622
+ pulumi.set(self, "target", value)
3623
+
3624
+
3625
+ if not MYPY:
3626
+ class WafRuleSharedActionsArgsDict(TypedDict):
3627
+ response: NotRequired[pulumi.Input['WafRuleSharedActionsResponseArgsDict']]
3628
+ elif False:
3629
+ WafRuleSharedActionsArgsDict: TypeAlias = Mapping[str, Any]
3630
+
3631
+ @pulumi.input_type
3632
+ class WafRuleSharedActionsArgs:
3633
+ def __init__(__self__, *,
3634
+ response: Optional[pulumi.Input['WafRuleSharedActionsResponseArgs']] = None):
3635
+ if response is not None:
3636
+ pulumi.set(__self__, "response", response)
3637
+
3638
+ @_builtins.property
3639
+ @pulumi.getter
3640
+ def response(self) -> Optional[pulumi.Input['WafRuleSharedActionsResponseArgs']]:
3641
+ return pulumi.get(self, "response")
3642
+
3643
+ @response.setter
3644
+ def response(self, value: Optional[pulumi.Input['WafRuleSharedActionsResponseArgs']]):
3645
+ pulumi.set(self, "response", value)
3646
+
3647
+
3648
+ if not MYPY:
3649
+ class WafRuleSharedActionsResponseArgsDict(TypedDict):
3650
+ code: NotRequired[pulumi.Input[_builtins.int]]
3651
+ id: NotRequired[pulumi.Input[_builtins.int]]
3652
+ """
3653
+ The internal unique ID of the WAF rule.
3654
+ """
3655
+ elif False:
3656
+ WafRuleSharedActionsResponseArgsDict: TypeAlias = Mapping[str, Any]
3657
+
3658
+ @pulumi.input_type
3659
+ class WafRuleSharedActionsResponseArgs:
3660
+ def __init__(__self__, *,
3661
+ code: Optional[pulumi.Input[_builtins.int]] = None,
3662
+ id: Optional[pulumi.Input[_builtins.int]] = None):
3663
+ """
3664
+ :param pulumi.Input[_builtins.int] id: The internal unique ID of the WAF rule.
3665
+ """
3666
+ if code is not None:
3667
+ pulumi.set(__self__, "code", code)
3668
+ if id is not None:
3669
+ pulumi.set(__self__, "id", id)
3670
+
3671
+ @_builtins.property
3672
+ @pulumi.getter
3673
+ def code(self) -> Optional[pulumi.Input[_builtins.int]]:
3674
+ return pulumi.get(self, "code")
3675
+
3676
+ @code.setter
3677
+ def code(self, value: Optional[pulumi.Input[_builtins.int]]):
3678
+ pulumi.set(self, "code", value)
3679
+
3680
+ @_builtins.property
3681
+ @pulumi.getter
3682
+ def id(self) -> Optional[pulumi.Input[_builtins.int]]:
3683
+ """
3684
+ The internal unique ID of the WAF rule.
3685
+ """
3686
+ return pulumi.get(self, "id")
3687
+
3688
+ @id.setter
3689
+ def id(self, value: Optional[pulumi.Input[_builtins.int]]):
3690
+ pulumi.set(self, "id", value)
3691
+
3692
+
3693
+ if not MYPY:
3694
+ class WafRuleSharedMatchArgsDict(TypedDict):
3695
+ criterias: NotRequired[pulumi.Input[Sequence[pulumi.Input['WafRuleSharedMatchCriteriaArgsDict']]]]
3696
+ logic: NotRequired[pulumi.Input[_builtins.str]]
3697
+ match_type: NotRequired[pulumi.Input[_builtins.str]]
3698
+ elif False:
3699
+ WafRuleSharedMatchArgsDict: TypeAlias = Mapping[str, Any]
3700
+
3701
+ @pulumi.input_type
3702
+ class WafRuleSharedMatchArgs:
3703
+ def __init__(__self__, *,
3704
+ criterias: Optional[pulumi.Input[Sequence[pulumi.Input['WafRuleSharedMatchCriteriaArgs']]]] = None,
3705
+ logic: Optional[pulumi.Input[_builtins.str]] = None,
3706
+ match_type: Optional[pulumi.Input[_builtins.str]] = None):
3707
+ if criterias is not None:
3708
+ pulumi.set(__self__, "criterias", criterias)
3709
+ if logic is not None:
3710
+ pulumi.set(__self__, "logic", logic)
3711
+ if match_type is not None:
3712
+ pulumi.set(__self__, "match_type", match_type)
3713
+
3714
+ @_builtins.property
3715
+ @pulumi.getter
3716
+ def criterias(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['WafRuleSharedMatchCriteriaArgs']]]]:
3717
+ return pulumi.get(self, "criterias")
3718
+
3719
+ @criterias.setter
3720
+ def criterias(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['WafRuleSharedMatchCriteriaArgs']]]]):
3721
+ pulumi.set(self, "criterias", value)
3722
+
3723
+ @_builtins.property
3724
+ @pulumi.getter
3725
+ def logic(self) -> Optional[pulumi.Input[_builtins.str]]:
3726
+ return pulumi.get(self, "logic")
3727
+
3728
+ @logic.setter
3729
+ def logic(self, value: Optional[pulumi.Input[_builtins.str]]):
3730
+ pulumi.set(self, "logic", value)
3731
+
3732
+ @_builtins.property
3733
+ @pulumi.getter(name="matchType")
3734
+ def match_type(self) -> Optional[pulumi.Input[_builtins.str]]:
3735
+ return pulumi.get(self, "match_type")
3736
+
3737
+ @match_type.setter
3738
+ def match_type(self, value: Optional[pulumi.Input[_builtins.str]]):
3739
+ pulumi.set(self, "match_type", value)
3740
+
3741
+
3742
+ if not MYPY:
3743
+ class WafRuleSharedMatchCriteriaArgsDict(TypedDict):
3744
+ criterias: NotRequired[pulumi.Input[Sequence[pulumi.Input['WafRuleSharedMatchCriteriaCriteriaArgsDict']]]]
3745
+ logic: NotRequired[pulumi.Input[_builtins.str]]
3746
+ match_type: NotRequired[pulumi.Input[_builtins.str]]
3747
+ elif False:
3748
+ WafRuleSharedMatchCriteriaArgsDict: TypeAlias = Mapping[str, Any]
3749
+
3750
+ @pulumi.input_type
3751
+ class WafRuleSharedMatchCriteriaArgs:
3752
+ def __init__(__self__, *,
3753
+ criterias: Optional[pulumi.Input[Sequence[pulumi.Input['WafRuleSharedMatchCriteriaCriteriaArgs']]]] = None,
3754
+ logic: Optional[pulumi.Input[_builtins.str]] = None,
3755
+ match_type: Optional[pulumi.Input[_builtins.str]] = None):
3756
+ if criterias is not None:
3757
+ pulumi.set(__self__, "criterias", criterias)
3758
+ if logic is not None:
3759
+ pulumi.set(__self__, "logic", logic)
3760
+ if match_type is not None:
3761
+ pulumi.set(__self__, "match_type", match_type)
3762
+
3763
+ @_builtins.property
3764
+ @pulumi.getter
3765
+ def criterias(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['WafRuleSharedMatchCriteriaCriteriaArgs']]]]:
3766
+ return pulumi.get(self, "criterias")
3767
+
3768
+ @criterias.setter
3769
+ def criterias(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['WafRuleSharedMatchCriteriaCriteriaArgs']]]]):
3770
+ pulumi.set(self, "criterias", value)
3771
+
3772
+ @_builtins.property
3773
+ @pulumi.getter
3774
+ def logic(self) -> Optional[pulumi.Input[_builtins.str]]:
3775
+ return pulumi.get(self, "logic")
3776
+
3777
+ @logic.setter
3778
+ def logic(self, value: Optional[pulumi.Input[_builtins.str]]):
3779
+ pulumi.set(self, "logic", value)
3780
+
3781
+ @_builtins.property
3782
+ @pulumi.getter(name="matchType")
3783
+ def match_type(self) -> Optional[pulumi.Input[_builtins.str]]:
3784
+ return pulumi.get(self, "match_type")
3785
+
3786
+ @match_type.setter
3787
+ def match_type(self, value: Optional[pulumi.Input[_builtins.str]]):
3788
+ pulumi.set(self, "match_type", value)
3789
+
3790
+
3791
+ if not MYPY:
3792
+ class WafRuleSharedMatchCriteriaCriteriaArgsDict(TypedDict):
3793
+ criterias: NotRequired[pulumi.Input[Sequence[pulumi.Input['WafRuleSharedMatchCriteriaCriteriaCriteriaArgsDict']]]]
3794
+ logic: NotRequired[pulumi.Input[_builtins.str]]
3795
+ match_type: NotRequired[pulumi.Input[_builtins.str]]
3796
+ elif False:
3797
+ WafRuleSharedMatchCriteriaCriteriaArgsDict: TypeAlias = Mapping[str, Any]
3798
+
3799
+ @pulumi.input_type
3800
+ class WafRuleSharedMatchCriteriaCriteriaArgs:
3801
+ def __init__(__self__, *,
3802
+ criterias: Optional[pulumi.Input[Sequence[pulumi.Input['WafRuleSharedMatchCriteriaCriteriaCriteriaArgs']]]] = None,
3803
+ logic: Optional[pulumi.Input[_builtins.str]] = None,
3804
+ match_type: Optional[pulumi.Input[_builtins.str]] = None):
3805
+ if criterias is not None:
3806
+ pulumi.set(__self__, "criterias", criterias)
3807
+ if logic is not None:
3808
+ pulumi.set(__self__, "logic", logic)
3809
+ if match_type is not None:
3810
+ pulumi.set(__self__, "match_type", match_type)
3811
+
3812
+ @_builtins.property
3813
+ @pulumi.getter
3814
+ def criterias(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['WafRuleSharedMatchCriteriaCriteriaCriteriaArgs']]]]:
3815
+ return pulumi.get(self, "criterias")
3816
+
3817
+ @criterias.setter
3818
+ def criterias(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['WafRuleSharedMatchCriteriaCriteriaCriteriaArgs']]]]):
3819
+ pulumi.set(self, "criterias", value)
3820
+
3821
+ @_builtins.property
3822
+ @pulumi.getter
3823
+ def logic(self) -> Optional[pulumi.Input[_builtins.str]]:
3824
+ return pulumi.get(self, "logic")
3825
+
3826
+ @logic.setter
3827
+ def logic(self, value: Optional[pulumi.Input[_builtins.str]]):
3828
+ pulumi.set(self, "logic", value)
3829
+
3830
+ @_builtins.property
3831
+ @pulumi.getter(name="matchType")
3832
+ def match_type(self) -> Optional[pulumi.Input[_builtins.str]]:
3833
+ return pulumi.get(self, "match_type")
3834
+
3835
+ @match_type.setter
3836
+ def match_type(self, value: Optional[pulumi.Input[_builtins.str]]):
3837
+ pulumi.set(self, "match_type", value)
3838
+
3839
+
3840
+ if not MYPY:
3841
+ class WafRuleSharedMatchCriteriaCriteriaCriteriaArgsDict(TypedDict):
3842
+ match_type: NotRequired[pulumi.Input[_builtins.str]]
3843
+ elif False:
3844
+ WafRuleSharedMatchCriteriaCriteriaCriteriaArgsDict: TypeAlias = Mapping[str, Any]
3845
+
3846
+ @pulumi.input_type
3847
+ class WafRuleSharedMatchCriteriaCriteriaCriteriaArgs:
3848
+ def __init__(__self__, *,
3849
+ match_type: Optional[pulumi.Input[_builtins.str]] = None):
3850
+ if match_type is not None:
3851
+ pulumi.set(__self__, "match_type", match_type)
3852
+
3853
+ @_builtins.property
3854
+ @pulumi.getter(name="matchType")
3855
+ def match_type(self) -> Optional[pulumi.Input[_builtins.str]]:
3856
+ return pulumi.get(self, "match_type")
3857
+
3858
+ @match_type.setter
3859
+ def match_type(self, value: Optional[pulumi.Input[_builtins.str]]):
3860
+ pulumi.set(self, "match_type", value)
3861
+
3862
+
1711
3863
  if not MYPY:
1712
3864
  class WaitingRoomHostNameAndPathArgsDict(TypedDict):
1713
3865
  domain: pulumi.Input[_builtins.str]