pulumi-gcp 7.26.0a1717725112__py3-none-any.whl → 7.27.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- pulumi_gcp/__init__.py +32 -0
- pulumi_gcp/appengine/_inputs.py +40 -0
- pulumi_gcp/appengine/flexible_app_version.py +47 -0
- pulumi_gcp/appengine/outputs.py +51 -0
- pulumi_gcp/bigtable/instance.py +47 -0
- pulumi_gcp/clouddeploy/_inputs.py +16 -0
- pulumi_gcp/clouddeploy/outputs.py +12 -0
- pulumi_gcp/compute/__init__.py +2 -0
- pulumi_gcp/compute/_inputs.py +84 -0
- pulumi_gcp/compute/backend_service.py +54 -0
- pulumi_gcp/compute/disk.py +68 -0
- pulumi_gcp/compute/get_backend_service.py +11 -1
- pulumi_gcp/compute/get_disk.py +11 -1
- pulumi_gcp/compute/get_instance.py +11 -1
- pulumi_gcp/compute/get_instance_group_manager.py +31 -1
- pulumi_gcp/compute/get_instance_template.py +11 -1
- pulumi_gcp/compute/get_region_instance_template.py +11 -1
- pulumi_gcp/compute/get_security_policy.py +214 -0
- pulumi_gcp/compute/instance.py +47 -0
- pulumi_gcp/compute/instance_from_machine_image.py +47 -0
- pulumi_gcp/compute/instance_from_template.py +47 -0
- pulumi_gcp/compute/instance_group_manager.py +185 -0
- pulumi_gcp/compute/instance_template.py +47 -0
- pulumi_gcp/compute/outputs.py +1039 -0
- pulumi_gcp/compute/project_cloud_armor_tier.py +336 -0
- pulumi_gcp/compute/region_instance_group_manager.py +185 -0
- pulumi_gcp/compute/region_instance_template.py +47 -0
- pulumi_gcp/config/__init__.pyi +2 -0
- pulumi_gcp/config/vars.py +4 -0
- pulumi_gcp/container/_inputs.py +33 -4
- pulumi_gcp/container/cluster.py +61 -0
- pulumi_gcp/container/get_cluster.py +11 -1
- pulumi_gcp/container/outputs.py +48 -4
- pulumi_gcp/dataloss/_inputs.py +185 -19
- pulumi_gcp/dataloss/outputs.py +206 -17
- pulumi_gcp/dataloss/prevention_inspect_template.py +54 -0
- pulumi_gcp/gkebackup/_inputs.py +282 -7
- pulumi_gcp/gkebackup/backup_plan.py +100 -0
- pulumi_gcp/gkebackup/outputs.py +312 -7
- pulumi_gcp/gkebackup/restore_plan.py +326 -0
- pulumi_gcp/gkebackup/restore_plan_iam_binding.py +326 -0
- pulumi_gcp/gkebackup/restore_plan_iam_member.py +326 -0
- pulumi_gcp/gkebackup/restore_plan_iam_policy.py +326 -0
- pulumi_gcp/healthcare/_inputs.py +17 -1
- pulumi_gcp/healthcare/dicom_store.py +2 -0
- pulumi_gcp/healthcare/fhir_store.py +44 -60
- pulumi_gcp/healthcare/outputs.py +15 -1
- pulumi_gcp/integrationconnectors/endpoint_attachment.py +47 -0
- pulumi_gcp/kms/crypto_key.py +14 -7
- pulumi_gcp/netapp/_inputs.py +58 -0
- pulumi_gcp/netapp/outputs.py +67 -0
- pulumi_gcp/netapp/volume.py +54 -0
- pulumi_gcp/networkservices/__init__.py +1 -0
- pulumi_gcp/networkservices/_inputs.py +47 -0
- pulumi_gcp/networkservices/outputs.py +56 -0
- pulumi_gcp/networkservices/service_lb_policies.py +782 -0
- pulumi_gcp/provider.py +20 -0
- pulumi_gcp/pulumi-plugin.json +1 -1
- pulumi_gcp/redis/_inputs.py +44 -0
- pulumi_gcp/redis/cluster.py +128 -3
- pulumi_gcp/redis/outputs.py +36 -0
- pulumi_gcp/secretmanager/_inputs.py +20 -0
- pulumi_gcp/secretmanager/outputs.py +20 -0
- pulumi_gcp/secretmanager/secret_iam_binding.py +244 -0
- pulumi_gcp/secretmanager/secret_iam_member.py +244 -0
- pulumi_gcp/secretmanager/secret_iam_policy.py +224 -0
- pulumi_gcp/securitycenter/__init__.py +1 -0
- pulumi_gcp/securitycenter/management_organization_event_threat_detection_custom_module.py +568 -0
- pulumi_gcp/spanner/__init__.py +1 -0
- pulumi_gcp/spanner/_inputs.py +68 -0
- pulumi_gcp/spanner/instance_config.py +569 -0
- pulumi_gcp/spanner/outputs.py +73 -0
- pulumi_gcp/sql/_inputs.py +8 -2
- pulumi_gcp/sql/outputs.py +9 -6
- pulumi_gcp/workstations/_inputs.py +51 -1
- pulumi_gcp/workstations/outputs.py +46 -2
- pulumi_gcp/workstations/workstation_config.py +10 -4
- {pulumi_gcp-7.26.0a1717725112.dist-info → pulumi_gcp-7.27.0.dist-info}/METADATA +1 -1
- {pulumi_gcp-7.26.0a1717725112.dist-info → pulumi_gcp-7.27.0.dist-info}/RECORD +81 -76
- {pulumi_gcp-7.26.0a1717725112.dist-info → pulumi_gcp-7.27.0.dist-info}/WHEEL +0 -0
- {pulumi_gcp-7.26.0a1717725112.dist-info → pulumi_gcp-7.27.0.dist-info}/top_level.txt +0 -0
pulumi_gcp/compute/outputs.py
CHANGED
@@ -132,6 +132,7 @@ __all__ = [
|
|
132
132
|
'InstanceGroupManagerInstanceLifecyclePolicy',
|
133
133
|
'InstanceGroupManagerNamedPort',
|
134
134
|
'InstanceGroupManagerParams',
|
135
|
+
'InstanceGroupManagerStandbyPolicy',
|
135
136
|
'InstanceGroupManagerStatefulDisk',
|
136
137
|
'InstanceGroupManagerStatefulExternalIp',
|
137
138
|
'InstanceGroupManagerStatefulInternalIp',
|
@@ -270,6 +271,7 @@ __all__ = [
|
|
270
271
|
'RegionInstanceGroupManagerInstanceLifecyclePolicy',
|
271
272
|
'RegionInstanceGroupManagerNamedPort',
|
272
273
|
'RegionInstanceGroupManagerParams',
|
274
|
+
'RegionInstanceGroupManagerStandbyPolicy',
|
273
275
|
'RegionInstanceGroupManagerStatefulDisk',
|
274
276
|
'RegionInstanceGroupManagerStatefulExternalIp',
|
275
277
|
'RegionInstanceGroupManagerStatefulInternalIp',
|
@@ -601,6 +603,7 @@ __all__ = [
|
|
601
603
|
'GetInstanceGroupManagerInstanceLifecyclePolicyResult',
|
602
604
|
'GetInstanceGroupManagerNamedPortResult',
|
603
605
|
'GetInstanceGroupManagerParamResult',
|
606
|
+
'GetInstanceGroupManagerStandbyPolicyResult',
|
604
607
|
'GetInstanceGroupManagerStatefulDiskResult',
|
605
608
|
'GetInstanceGroupManagerStatefulExternalIpResult',
|
606
609
|
'GetInstanceGroupManagerStatefulInternalIpResult',
|
@@ -713,6 +716,30 @@ __all__ = [
|
|
713
716
|
'GetRouterNatSubnetworkResult',
|
714
717
|
'GetRouterStatusBestRouteResult',
|
715
718
|
'GetRouterStatusBestRoutesForRouterResult',
|
719
|
+
'GetSecurityPolicyAdaptiveProtectionConfigResult',
|
720
|
+
'GetSecurityPolicyAdaptiveProtectionConfigAutoDeployConfigResult',
|
721
|
+
'GetSecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigResult',
|
722
|
+
'GetSecurityPolicyAdvancedOptionsConfigResult',
|
723
|
+
'GetSecurityPolicyAdvancedOptionsConfigJsonCustomConfigResult',
|
724
|
+
'GetSecurityPolicyRecaptchaOptionsConfigResult',
|
725
|
+
'GetSecurityPolicyRuleResult',
|
726
|
+
'GetSecurityPolicyRuleHeaderActionResult',
|
727
|
+
'GetSecurityPolicyRuleHeaderActionRequestHeadersToAddResult',
|
728
|
+
'GetSecurityPolicyRuleMatchResult',
|
729
|
+
'GetSecurityPolicyRuleMatchConfigResult',
|
730
|
+
'GetSecurityPolicyRuleMatchExprResult',
|
731
|
+
'GetSecurityPolicyRulePreconfiguredWafConfigResult',
|
732
|
+
'GetSecurityPolicyRulePreconfiguredWafConfigExclusionResult',
|
733
|
+
'GetSecurityPolicyRulePreconfiguredWafConfigExclusionRequestCookyResult',
|
734
|
+
'GetSecurityPolicyRulePreconfiguredWafConfigExclusionRequestHeaderResult',
|
735
|
+
'GetSecurityPolicyRulePreconfiguredWafConfigExclusionRequestQueryParamResult',
|
736
|
+
'GetSecurityPolicyRulePreconfiguredWafConfigExclusionRequestUriResult',
|
737
|
+
'GetSecurityPolicyRuleRateLimitOptionResult',
|
738
|
+
'GetSecurityPolicyRuleRateLimitOptionBanThresholdResult',
|
739
|
+
'GetSecurityPolicyRuleRateLimitOptionEnforceOnKeyConfigResult',
|
740
|
+
'GetSecurityPolicyRuleRateLimitOptionExceedRedirectOptionResult',
|
741
|
+
'GetSecurityPolicyRuleRateLimitOptionRateLimitThresholdResult',
|
742
|
+
'GetSecurityPolicyRuleRedirectOptionResult',
|
716
743
|
'GetSnapshotSnapshotEncryptionKeyResult',
|
717
744
|
'GetSnapshotSourceDiskEncryptionKeyResult',
|
718
745
|
'GetSubnetworkSecondaryIpRangeResult',
|
@@ -9767,6 +9794,56 @@ class InstanceGroupManagerParams(dict):
|
|
9767
9794
|
return pulumi.get(self, "resource_manager_tags")
|
9768
9795
|
|
9769
9796
|
|
9797
|
+
@pulumi.output_type
|
9798
|
+
class InstanceGroupManagerStandbyPolicy(dict):
|
9799
|
+
@staticmethod
|
9800
|
+
def __key_warning(key: str):
|
9801
|
+
suggest = None
|
9802
|
+
if key == "initialDelaySec":
|
9803
|
+
suggest = "initial_delay_sec"
|
9804
|
+
|
9805
|
+
if suggest:
|
9806
|
+
pulumi.log.warn(f"Key '{key}' not found in InstanceGroupManagerStandbyPolicy. Access the value via the '{suggest}' property getter instead.")
|
9807
|
+
|
9808
|
+
def __getitem__(self, key: str) -> Any:
|
9809
|
+
InstanceGroupManagerStandbyPolicy.__key_warning(key)
|
9810
|
+
return super().__getitem__(key)
|
9811
|
+
|
9812
|
+
def get(self, key: str, default = None) -> Any:
|
9813
|
+
InstanceGroupManagerStandbyPolicy.__key_warning(key)
|
9814
|
+
return super().get(key, default)
|
9815
|
+
|
9816
|
+
def __init__(__self__, *,
|
9817
|
+
initial_delay_sec: Optional[int] = None,
|
9818
|
+
mode: Optional[str] = None):
|
9819
|
+
"""
|
9820
|
+
:param int initial_delay_sec: Specifies the number of seconds that the MIG should wait to suspend or stop a VM after that VM was created. The initial delay gives the initialization script the time to prepare your VM for a quick scale out. The value of initial delay must be between 0 and 3600 seconds. The default value is 0.
|
9821
|
+
:param str mode: Defines how a MIG resumes or starts VMs from a standby pool when the group scales out. Valid options are: `MANUAL`, `SCALE_OUT_POOL`. If `MANUAL`(default), you have full control over which VMs are stopped and suspended in the MIG. If `SCALE_OUT_POOL`, the MIG uses the VMs from the standby pools to accelerate the scale out by resuming or starting them and then automatically replenishes the standby pool with new VMs to maintain the target sizes.
|
9822
|
+
- - -
|
9823
|
+
"""
|
9824
|
+
if initial_delay_sec is not None:
|
9825
|
+
pulumi.set(__self__, "initial_delay_sec", initial_delay_sec)
|
9826
|
+
if mode is not None:
|
9827
|
+
pulumi.set(__self__, "mode", mode)
|
9828
|
+
|
9829
|
+
@property
|
9830
|
+
@pulumi.getter(name="initialDelaySec")
|
9831
|
+
def initial_delay_sec(self) -> Optional[int]:
|
9832
|
+
"""
|
9833
|
+
Specifies the number of seconds that the MIG should wait to suspend or stop a VM after that VM was created. The initial delay gives the initialization script the time to prepare your VM for a quick scale out. The value of initial delay must be between 0 and 3600 seconds. The default value is 0.
|
9834
|
+
"""
|
9835
|
+
return pulumi.get(self, "initial_delay_sec")
|
9836
|
+
|
9837
|
+
@property
|
9838
|
+
@pulumi.getter
|
9839
|
+
def mode(self) -> Optional[str]:
|
9840
|
+
"""
|
9841
|
+
Defines how a MIG resumes or starts VMs from a standby pool when the group scales out. Valid options are: `MANUAL`, `SCALE_OUT_POOL`. If `MANUAL`(default), you have full control over which VMs are stopped and suspended in the MIG. If `SCALE_OUT_POOL`, the MIG uses the VMs from the standby pools to accelerate the scale out by resuming or starting them and then automatically replenishes the standby pool with new VMs to maintain the target sizes.
|
9842
|
+
- - -
|
9843
|
+
"""
|
9844
|
+
return pulumi.get(self, "mode")
|
9845
|
+
|
9846
|
+
|
9770
9847
|
@pulumi.output_type
|
9771
9848
|
class InstanceGroupManagerStatefulDisk(dict):
|
9772
9849
|
@staticmethod
|
@@ -19555,6 +19632,56 @@ class RegionInstanceGroupManagerParams(dict):
|
|
19555
19632
|
return pulumi.get(self, "resource_manager_tags")
|
19556
19633
|
|
19557
19634
|
|
19635
|
+
@pulumi.output_type
|
19636
|
+
class RegionInstanceGroupManagerStandbyPolicy(dict):
|
19637
|
+
@staticmethod
|
19638
|
+
def __key_warning(key: str):
|
19639
|
+
suggest = None
|
19640
|
+
if key == "initialDelaySec":
|
19641
|
+
suggest = "initial_delay_sec"
|
19642
|
+
|
19643
|
+
if suggest:
|
19644
|
+
pulumi.log.warn(f"Key '{key}' not found in RegionInstanceGroupManagerStandbyPolicy. Access the value via the '{suggest}' property getter instead.")
|
19645
|
+
|
19646
|
+
def __getitem__(self, key: str) -> Any:
|
19647
|
+
RegionInstanceGroupManagerStandbyPolicy.__key_warning(key)
|
19648
|
+
return super().__getitem__(key)
|
19649
|
+
|
19650
|
+
def get(self, key: str, default = None) -> Any:
|
19651
|
+
RegionInstanceGroupManagerStandbyPolicy.__key_warning(key)
|
19652
|
+
return super().get(key, default)
|
19653
|
+
|
19654
|
+
def __init__(__self__, *,
|
19655
|
+
initial_delay_sec: Optional[int] = None,
|
19656
|
+
mode: Optional[str] = None):
|
19657
|
+
"""
|
19658
|
+
:param int initial_delay_sec: Specifies the number of seconds that the MIG should wait to suspend or stop a VM after that VM was created. The initial delay gives the initialization script the time to prepare your VM for a quick scale out. The value of initial delay must be between 0 and 3600 seconds. The default value is 0.
|
19659
|
+
:param str mode: Defines how a MIG resumes or starts VMs from a standby pool when the group scales out. Valid options are: `MANUAL`, `SCALE_OUT_POOL`. If `MANUAL`(default), you have full control over which VMs are stopped and suspended in the MIG. If `SCALE_OUT_POOL`, the MIG uses the VMs from the standby pools to accelerate the scale out by resuming or starting them and then automatically replenishes the standby pool with new VMs to maintain the target sizes.
|
19660
|
+
- - -
|
19661
|
+
"""
|
19662
|
+
if initial_delay_sec is not None:
|
19663
|
+
pulumi.set(__self__, "initial_delay_sec", initial_delay_sec)
|
19664
|
+
if mode is not None:
|
19665
|
+
pulumi.set(__self__, "mode", mode)
|
19666
|
+
|
19667
|
+
@property
|
19668
|
+
@pulumi.getter(name="initialDelaySec")
|
19669
|
+
def initial_delay_sec(self) -> Optional[int]:
|
19670
|
+
"""
|
19671
|
+
Specifies the number of seconds that the MIG should wait to suspend or stop a VM after that VM was created. The initial delay gives the initialization script the time to prepare your VM for a quick scale out. The value of initial delay must be between 0 and 3600 seconds. The default value is 0.
|
19672
|
+
"""
|
19673
|
+
return pulumi.get(self, "initial_delay_sec")
|
19674
|
+
|
19675
|
+
@property
|
19676
|
+
@pulumi.getter
|
19677
|
+
def mode(self) -> Optional[str]:
|
19678
|
+
"""
|
19679
|
+
Defines how a MIG resumes or starts VMs from a standby pool when the group scales out. Valid options are: `MANUAL`, `SCALE_OUT_POOL`. If `MANUAL`(default), you have full control over which VMs are stopped and suspended in the MIG. If `SCALE_OUT_POOL`, the MIG uses the VMs from the standby pools to accelerate the scale out by resuming or starting them and then automatically replenishes the standby pool with new VMs to maintain the target sizes.
|
19680
|
+
- - -
|
19681
|
+
"""
|
19682
|
+
return pulumi.get(self, "mode")
|
19683
|
+
|
19684
|
+
|
19558
19685
|
@pulumi.output_type
|
19559
19686
|
class RegionInstanceGroupManagerStatefulDisk(dict):
|
19560
19687
|
@staticmethod
|
@@ -44009,6 +44136,35 @@ class GetInstanceGroupManagerParamResult(dict):
|
|
44009
44136
|
return pulumi.get(self, "resource_manager_tags")
|
44010
44137
|
|
44011
44138
|
|
44139
|
+
@pulumi.output_type
|
44140
|
+
class GetInstanceGroupManagerStandbyPolicyResult(dict):
|
44141
|
+
def __init__(__self__, *,
|
44142
|
+
initial_delay_sec: int,
|
44143
|
+
mode: str):
|
44144
|
+
"""
|
44145
|
+
:param int initial_delay_sec: Specifies the number of seconds that the MIG should wait to suspend or stop a VM after that VM was created. The initial delay gives the initialization script the time to prepare your VM for a quick scale out. The value of initial delay must be between 0 and 3600 seconds. The default value is 0.
|
44146
|
+
:param str mode: Defines how a MIG resumes or starts VMs from a standby pool when the group scales out. The default mode is "MANUAL".
|
44147
|
+
"""
|
44148
|
+
pulumi.set(__self__, "initial_delay_sec", initial_delay_sec)
|
44149
|
+
pulumi.set(__self__, "mode", mode)
|
44150
|
+
|
44151
|
+
@property
|
44152
|
+
@pulumi.getter(name="initialDelaySec")
|
44153
|
+
def initial_delay_sec(self) -> int:
|
44154
|
+
"""
|
44155
|
+
Specifies the number of seconds that the MIG should wait to suspend or stop a VM after that VM was created. The initial delay gives the initialization script the time to prepare your VM for a quick scale out. The value of initial delay must be between 0 and 3600 seconds. The default value is 0.
|
44156
|
+
"""
|
44157
|
+
return pulumi.get(self, "initial_delay_sec")
|
44158
|
+
|
44159
|
+
@property
|
44160
|
+
@pulumi.getter
|
44161
|
+
def mode(self) -> str:
|
44162
|
+
"""
|
44163
|
+
Defines how a MIG resumes or starts VMs from a standby pool when the group scales out. The default mode is "MANUAL".
|
44164
|
+
"""
|
44165
|
+
return pulumi.get(self, "mode")
|
44166
|
+
|
44167
|
+
|
44012
44168
|
@pulumi.output_type
|
44013
44169
|
class GetInstanceGroupManagerStatefulDiskResult(dict):
|
44014
44170
|
def __init__(__self__, *,
|
@@ -49948,6 +50104,889 @@ class GetRouterStatusBestRoutesForRouterResult(dict):
|
|
49948
50104
|
return pulumi.get(self, "tags")
|
49949
50105
|
|
49950
50106
|
|
50107
|
+
@pulumi.output_type
|
50108
|
+
class GetSecurityPolicyAdaptiveProtectionConfigResult(dict):
|
50109
|
+
def __init__(__self__, *,
|
50110
|
+
auto_deploy_configs: Sequence['outputs.GetSecurityPolicyAdaptiveProtectionConfigAutoDeployConfigResult'],
|
50111
|
+
layer7_ddos_defense_configs: Sequence['outputs.GetSecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigResult']):
|
50112
|
+
"""
|
50113
|
+
:param Sequence['GetSecurityPolicyAdaptiveProtectionConfigAutoDeployConfigArgs'] auto_deploy_configs: Auto Deploy Config of this security policy
|
50114
|
+
:param Sequence['GetSecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigArgs'] layer7_ddos_defense_configs: Layer 7 DDoS Defense Config of this security policy
|
50115
|
+
"""
|
50116
|
+
pulumi.set(__self__, "auto_deploy_configs", auto_deploy_configs)
|
50117
|
+
pulumi.set(__self__, "layer7_ddos_defense_configs", layer7_ddos_defense_configs)
|
50118
|
+
|
50119
|
+
@property
|
50120
|
+
@pulumi.getter(name="autoDeployConfigs")
|
50121
|
+
def auto_deploy_configs(self) -> Sequence['outputs.GetSecurityPolicyAdaptiveProtectionConfigAutoDeployConfigResult']:
|
50122
|
+
"""
|
50123
|
+
Auto Deploy Config of this security policy
|
50124
|
+
"""
|
50125
|
+
return pulumi.get(self, "auto_deploy_configs")
|
50126
|
+
|
50127
|
+
@property
|
50128
|
+
@pulumi.getter(name="layer7DdosDefenseConfigs")
|
50129
|
+
def layer7_ddos_defense_configs(self) -> Sequence['outputs.GetSecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigResult']:
|
50130
|
+
"""
|
50131
|
+
Layer 7 DDoS Defense Config of this security policy
|
50132
|
+
"""
|
50133
|
+
return pulumi.get(self, "layer7_ddos_defense_configs")
|
50134
|
+
|
50135
|
+
|
50136
|
+
@pulumi.output_type
|
50137
|
+
class GetSecurityPolicyAdaptiveProtectionConfigAutoDeployConfigResult(dict):
|
50138
|
+
def __init__(__self__, *,
|
50139
|
+
confidence_threshold: float,
|
50140
|
+
expiration_sec: int,
|
50141
|
+
impacted_baseline_threshold: float,
|
50142
|
+
load_threshold: float):
|
50143
|
+
"""
|
50144
|
+
:param float confidence_threshold: Rules are only automatically deployed for alerts on potential attacks with confidence scores greater than this threshold.
|
50145
|
+
:param int expiration_sec: Google Cloud Armor stops applying the action in the automatically deployed rule to an identified attacker after this duration. The rule continues to operate against new requests.
|
50146
|
+
:param float impacted_baseline_threshold: Rules are only automatically deployed when the estimated impact to baseline traffic from the suggested mitigation is below this threshold.
|
50147
|
+
:param float load_threshold: Identifies new attackers only when the load to the backend service that is under attack exceeds this threshold.
|
50148
|
+
"""
|
50149
|
+
pulumi.set(__self__, "confidence_threshold", confidence_threshold)
|
50150
|
+
pulumi.set(__self__, "expiration_sec", expiration_sec)
|
50151
|
+
pulumi.set(__self__, "impacted_baseline_threshold", impacted_baseline_threshold)
|
50152
|
+
pulumi.set(__self__, "load_threshold", load_threshold)
|
50153
|
+
|
50154
|
+
@property
|
50155
|
+
@pulumi.getter(name="confidenceThreshold")
|
50156
|
+
def confidence_threshold(self) -> float:
|
50157
|
+
"""
|
50158
|
+
Rules are only automatically deployed for alerts on potential attacks with confidence scores greater than this threshold.
|
50159
|
+
"""
|
50160
|
+
return pulumi.get(self, "confidence_threshold")
|
50161
|
+
|
50162
|
+
@property
|
50163
|
+
@pulumi.getter(name="expirationSec")
|
50164
|
+
def expiration_sec(self) -> int:
|
50165
|
+
"""
|
50166
|
+
Google Cloud Armor stops applying the action in the automatically deployed rule to an identified attacker after this duration. The rule continues to operate against new requests.
|
50167
|
+
"""
|
50168
|
+
return pulumi.get(self, "expiration_sec")
|
50169
|
+
|
50170
|
+
@property
|
50171
|
+
@pulumi.getter(name="impactedBaselineThreshold")
|
50172
|
+
def impacted_baseline_threshold(self) -> float:
|
50173
|
+
"""
|
50174
|
+
Rules are only automatically deployed when the estimated impact to baseline traffic from the suggested mitigation is below this threshold.
|
50175
|
+
"""
|
50176
|
+
return pulumi.get(self, "impacted_baseline_threshold")
|
50177
|
+
|
50178
|
+
@property
|
50179
|
+
@pulumi.getter(name="loadThreshold")
|
50180
|
+
def load_threshold(self) -> float:
|
50181
|
+
"""
|
50182
|
+
Identifies new attackers only when the load to the backend service that is under attack exceeds this threshold.
|
50183
|
+
"""
|
50184
|
+
return pulumi.get(self, "load_threshold")
|
50185
|
+
|
50186
|
+
|
50187
|
+
@pulumi.output_type
|
50188
|
+
class GetSecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigResult(dict):
|
50189
|
+
def __init__(__self__, *,
|
50190
|
+
enable: bool,
|
50191
|
+
rule_visibility: str):
|
50192
|
+
"""
|
50193
|
+
:param bool enable: If set to true, enables CAAP for L7 DDoS detection.
|
50194
|
+
:param str rule_visibility: Rule visibility. Supported values include: "STANDARD", "PREMIUM".
|
50195
|
+
"""
|
50196
|
+
pulumi.set(__self__, "enable", enable)
|
50197
|
+
pulumi.set(__self__, "rule_visibility", rule_visibility)
|
50198
|
+
|
50199
|
+
@property
|
50200
|
+
@pulumi.getter
|
50201
|
+
def enable(self) -> bool:
|
50202
|
+
"""
|
50203
|
+
If set to true, enables CAAP for L7 DDoS detection.
|
50204
|
+
"""
|
50205
|
+
return pulumi.get(self, "enable")
|
50206
|
+
|
50207
|
+
@property
|
50208
|
+
@pulumi.getter(name="ruleVisibility")
|
50209
|
+
def rule_visibility(self) -> str:
|
50210
|
+
"""
|
50211
|
+
Rule visibility. Supported values include: "STANDARD", "PREMIUM".
|
50212
|
+
"""
|
50213
|
+
return pulumi.get(self, "rule_visibility")
|
50214
|
+
|
50215
|
+
|
50216
|
+
@pulumi.output_type
|
50217
|
+
class GetSecurityPolicyAdvancedOptionsConfigResult(dict):
|
50218
|
+
def __init__(__self__, *,
|
50219
|
+
json_custom_configs: Sequence['outputs.GetSecurityPolicyAdvancedOptionsConfigJsonCustomConfigResult'],
|
50220
|
+
json_parsing: str,
|
50221
|
+
log_level: str,
|
50222
|
+
user_ip_request_headers: Sequence[str]):
|
50223
|
+
"""
|
50224
|
+
:param Sequence['GetSecurityPolicyAdvancedOptionsConfigJsonCustomConfigArgs'] json_custom_configs: Custom configuration to apply the JSON parsing. Only applicable when JSON parsing is set to STANDARD.
|
50225
|
+
:param str json_parsing: JSON body parsing. Supported values include: "DISABLED", "STANDARD".
|
50226
|
+
:param str log_level: Logging level. Supported values include: "NORMAL", "VERBOSE".
|
50227
|
+
:param Sequence[str] user_ip_request_headers: An optional list of case-insensitive request header names to use for resolving the callers client IP address.
|
50228
|
+
"""
|
50229
|
+
pulumi.set(__self__, "json_custom_configs", json_custom_configs)
|
50230
|
+
pulumi.set(__self__, "json_parsing", json_parsing)
|
50231
|
+
pulumi.set(__self__, "log_level", log_level)
|
50232
|
+
pulumi.set(__self__, "user_ip_request_headers", user_ip_request_headers)
|
50233
|
+
|
50234
|
+
@property
|
50235
|
+
@pulumi.getter(name="jsonCustomConfigs")
|
50236
|
+
def json_custom_configs(self) -> Sequence['outputs.GetSecurityPolicyAdvancedOptionsConfigJsonCustomConfigResult']:
|
50237
|
+
"""
|
50238
|
+
Custom configuration to apply the JSON parsing. Only applicable when JSON parsing is set to STANDARD.
|
50239
|
+
"""
|
50240
|
+
return pulumi.get(self, "json_custom_configs")
|
50241
|
+
|
50242
|
+
@property
|
50243
|
+
@pulumi.getter(name="jsonParsing")
|
50244
|
+
def json_parsing(self) -> str:
|
50245
|
+
"""
|
50246
|
+
JSON body parsing. Supported values include: "DISABLED", "STANDARD".
|
50247
|
+
"""
|
50248
|
+
return pulumi.get(self, "json_parsing")
|
50249
|
+
|
50250
|
+
@property
|
50251
|
+
@pulumi.getter(name="logLevel")
|
50252
|
+
def log_level(self) -> str:
|
50253
|
+
"""
|
50254
|
+
Logging level. Supported values include: "NORMAL", "VERBOSE".
|
50255
|
+
"""
|
50256
|
+
return pulumi.get(self, "log_level")
|
50257
|
+
|
50258
|
+
@property
|
50259
|
+
@pulumi.getter(name="userIpRequestHeaders")
|
50260
|
+
def user_ip_request_headers(self) -> Sequence[str]:
|
50261
|
+
"""
|
50262
|
+
An optional list of case-insensitive request header names to use for resolving the callers client IP address.
|
50263
|
+
"""
|
50264
|
+
return pulumi.get(self, "user_ip_request_headers")
|
50265
|
+
|
50266
|
+
|
50267
|
+
@pulumi.output_type
|
50268
|
+
class GetSecurityPolicyAdvancedOptionsConfigJsonCustomConfigResult(dict):
|
50269
|
+
def __init__(__self__, *,
|
50270
|
+
content_types: Sequence[str]):
|
50271
|
+
"""
|
50272
|
+
:param Sequence[str] content_types: A list of custom Content-Type header values to apply the JSON parsing.
|
50273
|
+
"""
|
50274
|
+
pulumi.set(__self__, "content_types", content_types)
|
50275
|
+
|
50276
|
+
@property
|
50277
|
+
@pulumi.getter(name="contentTypes")
|
50278
|
+
def content_types(self) -> Sequence[str]:
|
50279
|
+
"""
|
50280
|
+
A list of custom Content-Type header values to apply the JSON parsing.
|
50281
|
+
"""
|
50282
|
+
return pulumi.get(self, "content_types")
|
50283
|
+
|
50284
|
+
|
50285
|
+
@pulumi.output_type
|
50286
|
+
class GetSecurityPolicyRecaptchaOptionsConfigResult(dict):
|
50287
|
+
def __init__(__self__, *,
|
50288
|
+
redirect_site_key: str):
|
50289
|
+
"""
|
50290
|
+
:param str redirect_site_key: A field to supply a reCAPTCHA site key to be used for all the rules using the redirect action with the type of GOOGLE_RECAPTCHA under the security policy. The specified site key needs to be created from the reCAPTCHA API. The user is responsible for the validity of the specified site key. If not specified, a Google-managed site key is used.
|
50291
|
+
"""
|
50292
|
+
pulumi.set(__self__, "redirect_site_key", redirect_site_key)
|
50293
|
+
|
50294
|
+
@property
|
50295
|
+
@pulumi.getter(name="redirectSiteKey")
|
50296
|
+
def redirect_site_key(self) -> str:
|
50297
|
+
"""
|
50298
|
+
A field to supply a reCAPTCHA site key to be used for all the rules using the redirect action with the type of GOOGLE_RECAPTCHA under the security policy. The specified site key needs to be created from the reCAPTCHA API. The user is responsible for the validity of the specified site key. If not specified, a Google-managed site key is used.
|
50299
|
+
"""
|
50300
|
+
return pulumi.get(self, "redirect_site_key")
|
50301
|
+
|
50302
|
+
|
50303
|
+
@pulumi.output_type
|
50304
|
+
class GetSecurityPolicyRuleResult(dict):
|
50305
|
+
def __init__(__self__, *,
|
50306
|
+
action: str,
|
50307
|
+
description: str,
|
50308
|
+
header_actions: Sequence['outputs.GetSecurityPolicyRuleHeaderActionResult'],
|
50309
|
+
matches: Sequence['outputs.GetSecurityPolicyRuleMatchResult'],
|
50310
|
+
preconfigured_waf_configs: Sequence['outputs.GetSecurityPolicyRulePreconfiguredWafConfigResult'],
|
50311
|
+
preview: bool,
|
50312
|
+
priority: int,
|
50313
|
+
rate_limit_options: Sequence['outputs.GetSecurityPolicyRuleRateLimitOptionResult'],
|
50314
|
+
redirect_options: Sequence['outputs.GetSecurityPolicyRuleRedirectOptionResult']):
|
50315
|
+
"""
|
50316
|
+
:param str action: Action to take when match matches the request.
|
50317
|
+
:param str description: An optional description of this rule. Max size is 64.
|
50318
|
+
:param Sequence['GetSecurityPolicyRuleHeaderActionArgs'] header_actions: Additional actions that are performed on headers.
|
50319
|
+
:param Sequence['GetSecurityPolicyRuleMatchArgs'] matches: A match condition that incoming traffic is evaluated against. If it evaluates to true, the corresponding action is enforced.
|
50320
|
+
:param Sequence['GetSecurityPolicyRulePreconfiguredWafConfigArgs'] preconfigured_waf_configs: Preconfigured WAF configuration to be applied for the rule. If the rule does not evaluate preconfigured WAF rules, i.e., if evaluatePreconfiguredWaf() is not used, this field will have no effect.
|
50321
|
+
:param bool preview: When set to true, the action specified above is not enforced. Stackdriver logs for requests that trigger a preview action are annotated as such.
|
50322
|
+
:param int priority: An unique positive integer indicating the priority of evaluation for a rule. Rules are evaluated from highest priority (lowest numerically) to lowest priority (highest numerically) in order.
|
50323
|
+
:param Sequence['GetSecurityPolicyRuleRateLimitOptionArgs'] rate_limit_options: Rate limit threshold for this security policy. Must be specified if the action is "rate_based_ban" or "throttle". Cannot be specified for any other actions.
|
50324
|
+
:param Sequence['GetSecurityPolicyRuleRedirectOptionArgs'] redirect_options: Parameters defining the redirect action. Cannot be specified for any other actions.
|
50325
|
+
"""
|
50326
|
+
pulumi.set(__self__, "action", action)
|
50327
|
+
pulumi.set(__self__, "description", description)
|
50328
|
+
pulumi.set(__self__, "header_actions", header_actions)
|
50329
|
+
pulumi.set(__self__, "matches", matches)
|
50330
|
+
pulumi.set(__self__, "preconfigured_waf_configs", preconfigured_waf_configs)
|
50331
|
+
pulumi.set(__self__, "preview", preview)
|
50332
|
+
pulumi.set(__self__, "priority", priority)
|
50333
|
+
pulumi.set(__self__, "rate_limit_options", rate_limit_options)
|
50334
|
+
pulumi.set(__self__, "redirect_options", redirect_options)
|
50335
|
+
|
50336
|
+
@property
|
50337
|
+
@pulumi.getter
|
50338
|
+
def action(self) -> str:
|
50339
|
+
"""
|
50340
|
+
Action to take when match matches the request.
|
50341
|
+
"""
|
50342
|
+
return pulumi.get(self, "action")
|
50343
|
+
|
50344
|
+
@property
|
50345
|
+
@pulumi.getter
|
50346
|
+
def description(self) -> str:
|
50347
|
+
"""
|
50348
|
+
An optional description of this rule. Max size is 64.
|
50349
|
+
"""
|
50350
|
+
return pulumi.get(self, "description")
|
50351
|
+
|
50352
|
+
@property
|
50353
|
+
@pulumi.getter(name="headerActions")
|
50354
|
+
def header_actions(self) -> Sequence['outputs.GetSecurityPolicyRuleHeaderActionResult']:
|
50355
|
+
"""
|
50356
|
+
Additional actions that are performed on headers.
|
50357
|
+
"""
|
50358
|
+
return pulumi.get(self, "header_actions")
|
50359
|
+
|
50360
|
+
@property
|
50361
|
+
@pulumi.getter
|
50362
|
+
def matches(self) -> Sequence['outputs.GetSecurityPolicyRuleMatchResult']:
|
50363
|
+
"""
|
50364
|
+
A match condition that incoming traffic is evaluated against. If it evaluates to true, the corresponding action is enforced.
|
50365
|
+
"""
|
50366
|
+
return pulumi.get(self, "matches")
|
50367
|
+
|
50368
|
+
@property
|
50369
|
+
@pulumi.getter(name="preconfiguredWafConfigs")
|
50370
|
+
def preconfigured_waf_configs(self) -> Sequence['outputs.GetSecurityPolicyRulePreconfiguredWafConfigResult']:
|
50371
|
+
"""
|
50372
|
+
Preconfigured WAF configuration to be applied for the rule. If the rule does not evaluate preconfigured WAF rules, i.e., if evaluatePreconfiguredWaf() is not used, this field will have no effect.
|
50373
|
+
"""
|
50374
|
+
return pulumi.get(self, "preconfigured_waf_configs")
|
50375
|
+
|
50376
|
+
@property
|
50377
|
+
@pulumi.getter
|
50378
|
+
def preview(self) -> bool:
|
50379
|
+
"""
|
50380
|
+
When set to true, the action specified above is not enforced. Stackdriver logs for requests that trigger a preview action are annotated as such.
|
50381
|
+
"""
|
50382
|
+
return pulumi.get(self, "preview")
|
50383
|
+
|
50384
|
+
@property
|
50385
|
+
@pulumi.getter
|
50386
|
+
def priority(self) -> int:
|
50387
|
+
"""
|
50388
|
+
An unique positive integer indicating the priority of evaluation for a rule. Rules are evaluated from highest priority (lowest numerically) to lowest priority (highest numerically) in order.
|
50389
|
+
"""
|
50390
|
+
return pulumi.get(self, "priority")
|
50391
|
+
|
50392
|
+
@property
|
50393
|
+
@pulumi.getter(name="rateLimitOptions")
|
50394
|
+
def rate_limit_options(self) -> Sequence['outputs.GetSecurityPolicyRuleRateLimitOptionResult']:
|
50395
|
+
"""
|
50396
|
+
Rate limit threshold for this security policy. Must be specified if the action is "rate_based_ban" or "throttle". Cannot be specified for any other actions.
|
50397
|
+
"""
|
50398
|
+
return pulumi.get(self, "rate_limit_options")
|
50399
|
+
|
50400
|
+
@property
|
50401
|
+
@pulumi.getter(name="redirectOptions")
|
50402
|
+
def redirect_options(self) -> Sequence['outputs.GetSecurityPolicyRuleRedirectOptionResult']:
|
50403
|
+
"""
|
50404
|
+
Parameters defining the redirect action. Cannot be specified for any other actions.
|
50405
|
+
"""
|
50406
|
+
return pulumi.get(self, "redirect_options")
|
50407
|
+
|
50408
|
+
|
50409
|
+
@pulumi.output_type
|
50410
|
+
class GetSecurityPolicyRuleHeaderActionResult(dict):
|
50411
|
+
def __init__(__self__, *,
|
50412
|
+
request_headers_to_adds: Sequence['outputs.GetSecurityPolicyRuleHeaderActionRequestHeadersToAddResult']):
|
50413
|
+
"""
|
50414
|
+
:param Sequence['GetSecurityPolicyRuleHeaderActionRequestHeadersToAddArgs'] request_headers_to_adds: The list of request headers to add or overwrite if they're already present.
|
50415
|
+
"""
|
50416
|
+
pulumi.set(__self__, "request_headers_to_adds", request_headers_to_adds)
|
50417
|
+
|
50418
|
+
@property
|
50419
|
+
@pulumi.getter(name="requestHeadersToAdds")
|
50420
|
+
def request_headers_to_adds(self) -> Sequence['outputs.GetSecurityPolicyRuleHeaderActionRequestHeadersToAddResult']:
|
50421
|
+
"""
|
50422
|
+
The list of request headers to add or overwrite if they're already present.
|
50423
|
+
"""
|
50424
|
+
return pulumi.get(self, "request_headers_to_adds")
|
50425
|
+
|
50426
|
+
|
50427
|
+
@pulumi.output_type
|
50428
|
+
class GetSecurityPolicyRuleHeaderActionRequestHeadersToAddResult(dict):
|
50429
|
+
def __init__(__self__, *,
|
50430
|
+
header_name: str,
|
50431
|
+
header_value: str):
|
50432
|
+
"""
|
50433
|
+
:param str header_name: The name of the header to set.
|
50434
|
+
:param str header_value: The value to set the named header to.
|
50435
|
+
"""
|
50436
|
+
pulumi.set(__self__, "header_name", header_name)
|
50437
|
+
pulumi.set(__self__, "header_value", header_value)
|
50438
|
+
|
50439
|
+
@property
|
50440
|
+
@pulumi.getter(name="headerName")
|
50441
|
+
def header_name(self) -> str:
|
50442
|
+
"""
|
50443
|
+
The name of the header to set.
|
50444
|
+
"""
|
50445
|
+
return pulumi.get(self, "header_name")
|
50446
|
+
|
50447
|
+
@property
|
50448
|
+
@pulumi.getter(name="headerValue")
|
50449
|
+
def header_value(self) -> str:
|
50450
|
+
"""
|
50451
|
+
The value to set the named header to.
|
50452
|
+
"""
|
50453
|
+
return pulumi.get(self, "header_value")
|
50454
|
+
|
50455
|
+
|
50456
|
+
@pulumi.output_type
|
50457
|
+
class GetSecurityPolicyRuleMatchResult(dict):
|
50458
|
+
def __init__(__self__, *,
|
50459
|
+
configs: Sequence['outputs.GetSecurityPolicyRuleMatchConfigResult'],
|
50460
|
+
exprs: Sequence['outputs.GetSecurityPolicyRuleMatchExprResult'],
|
50461
|
+
versioned_expr: str):
|
50462
|
+
"""
|
50463
|
+
:param Sequence['GetSecurityPolicyRuleMatchConfigArgs'] configs: The configuration options available when specifying versioned_expr. This field must be specified if versioned_expr is specified and cannot be specified if versioned_expr is not specified.
|
50464
|
+
:param Sequence['GetSecurityPolicyRuleMatchExprArgs'] exprs: User defined CEVAL expression. A CEVAL expression is used to specify match criteria such as origin.ip, source.region_code and contents in the request header.
|
50465
|
+
:param str versioned_expr: Predefined rule expression. If this field is specified, config must also be specified. Available options: SRC_IPS_V1: Must specify the corresponding src_ip_ranges field in config.
|
50466
|
+
"""
|
50467
|
+
pulumi.set(__self__, "configs", configs)
|
50468
|
+
pulumi.set(__self__, "exprs", exprs)
|
50469
|
+
pulumi.set(__self__, "versioned_expr", versioned_expr)
|
50470
|
+
|
50471
|
+
@property
|
50472
|
+
@pulumi.getter
|
50473
|
+
def configs(self) -> Sequence['outputs.GetSecurityPolicyRuleMatchConfigResult']:
|
50474
|
+
"""
|
50475
|
+
The configuration options available when specifying versioned_expr. This field must be specified if versioned_expr is specified and cannot be specified if versioned_expr is not specified.
|
50476
|
+
"""
|
50477
|
+
return pulumi.get(self, "configs")
|
50478
|
+
|
50479
|
+
@property
|
50480
|
+
@pulumi.getter
|
50481
|
+
def exprs(self) -> Sequence['outputs.GetSecurityPolicyRuleMatchExprResult']:
|
50482
|
+
"""
|
50483
|
+
User defined CEVAL expression. A CEVAL expression is used to specify match criteria such as origin.ip, source.region_code and contents in the request header.
|
50484
|
+
"""
|
50485
|
+
return pulumi.get(self, "exprs")
|
50486
|
+
|
50487
|
+
@property
|
50488
|
+
@pulumi.getter(name="versionedExpr")
|
50489
|
+
def versioned_expr(self) -> str:
|
50490
|
+
"""
|
50491
|
+
Predefined rule expression. If this field is specified, config must also be specified. Available options: SRC_IPS_V1: Must specify the corresponding src_ip_ranges field in config.
|
50492
|
+
"""
|
50493
|
+
return pulumi.get(self, "versioned_expr")
|
50494
|
+
|
50495
|
+
|
50496
|
+
@pulumi.output_type
|
50497
|
+
class GetSecurityPolicyRuleMatchConfigResult(dict):
|
50498
|
+
def __init__(__self__, *,
|
50499
|
+
src_ip_ranges: Sequence[str]):
|
50500
|
+
"""
|
50501
|
+
:param Sequence[str] src_ip_ranges: Set of IP addresses or ranges (IPV4 or IPV6) in CIDR notation to match against inbound traffic. There is a limit of 10 IP ranges per rule. A value of '*' matches all IPs (can be used to override the default behavior).
|
50502
|
+
"""
|
50503
|
+
pulumi.set(__self__, "src_ip_ranges", src_ip_ranges)
|
50504
|
+
|
50505
|
+
@property
|
50506
|
+
@pulumi.getter(name="srcIpRanges")
|
50507
|
+
def src_ip_ranges(self) -> Sequence[str]:
|
50508
|
+
"""
|
50509
|
+
Set of IP addresses or ranges (IPV4 or IPV6) in CIDR notation to match against inbound traffic. There is a limit of 10 IP ranges per rule. A value of '*' matches all IPs (can be used to override the default behavior).
|
50510
|
+
"""
|
50511
|
+
return pulumi.get(self, "src_ip_ranges")
|
50512
|
+
|
50513
|
+
|
50514
|
+
@pulumi.output_type
|
50515
|
+
class GetSecurityPolicyRuleMatchExprResult(dict):
|
50516
|
+
def __init__(__self__, *,
|
50517
|
+
expression: str):
|
50518
|
+
"""
|
50519
|
+
:param str expression: Textual representation of an expression in Common Expression Language syntax. The application context of the containing message determines which well-known feature set of CEL is supported.
|
50520
|
+
"""
|
50521
|
+
pulumi.set(__self__, "expression", expression)
|
50522
|
+
|
50523
|
+
@property
|
50524
|
+
@pulumi.getter
|
50525
|
+
def expression(self) -> str:
|
50526
|
+
"""
|
50527
|
+
Textual representation of an expression in Common Expression Language syntax. The application context of the containing message determines which well-known feature set of CEL is supported.
|
50528
|
+
"""
|
50529
|
+
return pulumi.get(self, "expression")
|
50530
|
+
|
50531
|
+
|
50532
|
+
@pulumi.output_type
|
50533
|
+
class GetSecurityPolicyRulePreconfiguredWafConfigResult(dict):
|
50534
|
+
def __init__(__self__, *,
|
50535
|
+
exclusions: Sequence['outputs.GetSecurityPolicyRulePreconfiguredWafConfigExclusionResult']):
|
50536
|
+
"""
|
50537
|
+
:param Sequence['GetSecurityPolicyRulePreconfiguredWafConfigExclusionArgs'] exclusions: An exclusion to apply during preconfigured WAF evaluation.
|
50538
|
+
"""
|
50539
|
+
pulumi.set(__self__, "exclusions", exclusions)
|
50540
|
+
|
50541
|
+
@property
|
50542
|
+
@pulumi.getter
|
50543
|
+
def exclusions(self) -> Sequence['outputs.GetSecurityPolicyRulePreconfiguredWafConfigExclusionResult']:
|
50544
|
+
"""
|
50545
|
+
An exclusion to apply during preconfigured WAF evaluation.
|
50546
|
+
"""
|
50547
|
+
return pulumi.get(self, "exclusions")
|
50548
|
+
|
50549
|
+
|
50550
|
+
@pulumi.output_type
|
50551
|
+
class GetSecurityPolicyRulePreconfiguredWafConfigExclusionResult(dict):
|
50552
|
+
def __init__(__self__, *,
|
50553
|
+
request_cookies: Sequence['outputs.GetSecurityPolicyRulePreconfiguredWafConfigExclusionRequestCookyResult'],
|
50554
|
+
request_headers: Sequence['outputs.GetSecurityPolicyRulePreconfiguredWafConfigExclusionRequestHeaderResult'],
|
50555
|
+
request_query_params: Sequence['outputs.GetSecurityPolicyRulePreconfiguredWafConfigExclusionRequestQueryParamResult'],
|
50556
|
+
request_uris: Sequence['outputs.GetSecurityPolicyRulePreconfiguredWafConfigExclusionRequestUriResult'],
|
50557
|
+
target_rule_ids: Sequence[str],
|
50558
|
+
target_rule_set: str):
|
50559
|
+
"""
|
50560
|
+
:param Sequence['GetSecurityPolicyRulePreconfiguredWafConfigExclusionRequestCookyArgs'] request_cookies: Request cookie whose value will be excluded from inspection during preconfigured WAF evaluation.
|
50561
|
+
:param Sequence['GetSecurityPolicyRulePreconfiguredWafConfigExclusionRequestHeaderArgs'] request_headers: Request header whose value will be excluded from inspection during preconfigured WAF evaluation.
|
50562
|
+
:param Sequence['GetSecurityPolicyRulePreconfiguredWafConfigExclusionRequestQueryParamArgs'] request_query_params: Request query parameter whose value will be excluded from inspection during preconfigured WAF evaluation. Note that the parameter can be in the query string or in the POST body.
|
50563
|
+
:param Sequence['GetSecurityPolicyRulePreconfiguredWafConfigExclusionRequestUriArgs'] request_uris: Request URI from the request line to be excluded from inspection during preconfigured WAF evaluation. When specifying this field, the query or fragment part should be excluded.
|
50564
|
+
:param Sequence[str] target_rule_ids: A list of target rule IDs under the WAF rule set to apply the preconfigured WAF exclusion. If omitted, it refers to all the rule IDs under the WAF rule set.
|
50565
|
+
:param str target_rule_set: Target WAF rule set to apply the preconfigured WAF exclusion.
|
50566
|
+
"""
|
50567
|
+
pulumi.set(__self__, "request_cookies", request_cookies)
|
50568
|
+
pulumi.set(__self__, "request_headers", request_headers)
|
50569
|
+
pulumi.set(__self__, "request_query_params", request_query_params)
|
50570
|
+
pulumi.set(__self__, "request_uris", request_uris)
|
50571
|
+
pulumi.set(__self__, "target_rule_ids", target_rule_ids)
|
50572
|
+
pulumi.set(__self__, "target_rule_set", target_rule_set)
|
50573
|
+
|
50574
|
+
@property
|
50575
|
+
@pulumi.getter(name="requestCookies")
|
50576
|
+
def request_cookies(self) -> Sequence['outputs.GetSecurityPolicyRulePreconfiguredWafConfigExclusionRequestCookyResult']:
|
50577
|
+
"""
|
50578
|
+
Request cookie whose value will be excluded from inspection during preconfigured WAF evaluation.
|
50579
|
+
"""
|
50580
|
+
return pulumi.get(self, "request_cookies")
|
50581
|
+
|
50582
|
+
@property
|
50583
|
+
@pulumi.getter(name="requestHeaders")
|
50584
|
+
def request_headers(self) -> Sequence['outputs.GetSecurityPolicyRulePreconfiguredWafConfigExclusionRequestHeaderResult']:
|
50585
|
+
"""
|
50586
|
+
Request header whose value will be excluded from inspection during preconfigured WAF evaluation.
|
50587
|
+
"""
|
50588
|
+
return pulumi.get(self, "request_headers")
|
50589
|
+
|
50590
|
+
@property
|
50591
|
+
@pulumi.getter(name="requestQueryParams")
|
50592
|
+
def request_query_params(self) -> Sequence['outputs.GetSecurityPolicyRulePreconfiguredWafConfigExclusionRequestQueryParamResult']:
|
50593
|
+
"""
|
50594
|
+
Request query parameter whose value will be excluded from inspection during preconfigured WAF evaluation. Note that the parameter can be in the query string or in the POST body.
|
50595
|
+
"""
|
50596
|
+
return pulumi.get(self, "request_query_params")
|
50597
|
+
|
50598
|
+
@property
|
50599
|
+
@pulumi.getter(name="requestUris")
|
50600
|
+
def request_uris(self) -> Sequence['outputs.GetSecurityPolicyRulePreconfiguredWafConfigExclusionRequestUriResult']:
|
50601
|
+
"""
|
50602
|
+
Request URI from the request line to be excluded from inspection during preconfigured WAF evaluation. When specifying this field, the query or fragment part should be excluded.
|
50603
|
+
"""
|
50604
|
+
return pulumi.get(self, "request_uris")
|
50605
|
+
|
50606
|
+
@property
|
50607
|
+
@pulumi.getter(name="targetRuleIds")
|
50608
|
+
def target_rule_ids(self) -> Sequence[str]:
|
50609
|
+
"""
|
50610
|
+
A list of target rule IDs under the WAF rule set to apply the preconfigured WAF exclusion. If omitted, it refers to all the rule IDs under the WAF rule set.
|
50611
|
+
"""
|
50612
|
+
return pulumi.get(self, "target_rule_ids")
|
50613
|
+
|
50614
|
+
@property
|
50615
|
+
@pulumi.getter(name="targetRuleSet")
|
50616
|
+
def target_rule_set(self) -> str:
|
50617
|
+
"""
|
50618
|
+
Target WAF rule set to apply the preconfigured WAF exclusion.
|
50619
|
+
"""
|
50620
|
+
return pulumi.get(self, "target_rule_set")
|
50621
|
+
|
50622
|
+
|
50623
|
+
@pulumi.output_type
|
50624
|
+
class GetSecurityPolicyRulePreconfiguredWafConfigExclusionRequestCookyResult(dict):
|
50625
|
+
def __init__(__self__, *,
|
50626
|
+
operator: str,
|
50627
|
+
value: str):
|
50628
|
+
"""
|
50629
|
+
:param str operator: You can specify an exact match or a partial match by using a field operator and a field value. Available options: EQUALS: The operator matches if the field value equals the specified value. STARTS_WITH: The operator matches if the field value starts with the specified value. ENDS_WITH: The operator matches if the field value ends with the specified value. CONTAINS: The operator matches if the field value contains the specified value. EQUALS_ANY: The operator matches if the field value is any value.
|
50630
|
+
:param str value: A request field matching the specified value will be excluded from inspection during preconfigured WAF evaluation. The field value must be given if the field operator is not EQUALS_ANY, and cannot be given if the field operator is EQUALS_ANY.
|
50631
|
+
"""
|
50632
|
+
pulumi.set(__self__, "operator", operator)
|
50633
|
+
pulumi.set(__self__, "value", value)
|
50634
|
+
|
50635
|
+
@property
|
50636
|
+
@pulumi.getter
|
50637
|
+
def operator(self) -> str:
|
50638
|
+
"""
|
50639
|
+
You can specify an exact match or a partial match by using a field operator and a field value. Available options: EQUALS: The operator matches if the field value equals the specified value. STARTS_WITH: The operator matches if the field value starts with the specified value. ENDS_WITH: The operator matches if the field value ends with the specified value. CONTAINS: The operator matches if the field value contains the specified value. EQUALS_ANY: The operator matches if the field value is any value.
|
50640
|
+
"""
|
50641
|
+
return pulumi.get(self, "operator")
|
50642
|
+
|
50643
|
+
@property
|
50644
|
+
@pulumi.getter
|
50645
|
+
def value(self) -> str:
|
50646
|
+
"""
|
50647
|
+
A request field matching the specified value will be excluded from inspection during preconfigured WAF evaluation. The field value must be given if the field operator is not EQUALS_ANY, and cannot be given if the field operator is EQUALS_ANY.
|
50648
|
+
"""
|
50649
|
+
return pulumi.get(self, "value")
|
50650
|
+
|
50651
|
+
|
50652
|
+
@pulumi.output_type
|
50653
|
+
class GetSecurityPolicyRulePreconfiguredWafConfigExclusionRequestHeaderResult(dict):
|
50654
|
+
def __init__(__self__, *,
|
50655
|
+
operator: str,
|
50656
|
+
value: str):
|
50657
|
+
"""
|
50658
|
+
:param str operator: You can specify an exact match or a partial match by using a field operator and a field value. Available options: EQUALS: The operator matches if the field value equals the specified value. STARTS_WITH: The operator matches if the field value starts with the specified value. ENDS_WITH: The operator matches if the field value ends with the specified value. CONTAINS: The operator matches if the field value contains the specified value. EQUALS_ANY: The operator matches if the field value is any value.
|
50659
|
+
:param str value: A request field matching the specified value will be excluded from inspection during preconfigured WAF evaluation. The field value must be given if the field operator is not EQUALS_ANY, and cannot be given if the field operator is EQUALS_ANY.
|
50660
|
+
"""
|
50661
|
+
pulumi.set(__self__, "operator", operator)
|
50662
|
+
pulumi.set(__self__, "value", value)
|
50663
|
+
|
50664
|
+
@property
|
50665
|
+
@pulumi.getter
|
50666
|
+
def operator(self) -> str:
|
50667
|
+
"""
|
50668
|
+
You can specify an exact match or a partial match by using a field operator and a field value. Available options: EQUALS: The operator matches if the field value equals the specified value. STARTS_WITH: The operator matches if the field value starts with the specified value. ENDS_WITH: The operator matches if the field value ends with the specified value. CONTAINS: The operator matches if the field value contains the specified value. EQUALS_ANY: The operator matches if the field value is any value.
|
50669
|
+
"""
|
50670
|
+
return pulumi.get(self, "operator")
|
50671
|
+
|
50672
|
+
@property
|
50673
|
+
@pulumi.getter
|
50674
|
+
def value(self) -> str:
|
50675
|
+
"""
|
50676
|
+
A request field matching the specified value will be excluded from inspection during preconfigured WAF evaluation. The field value must be given if the field operator is not EQUALS_ANY, and cannot be given if the field operator is EQUALS_ANY.
|
50677
|
+
"""
|
50678
|
+
return pulumi.get(self, "value")
|
50679
|
+
|
50680
|
+
|
50681
|
+
@pulumi.output_type
|
50682
|
+
class GetSecurityPolicyRulePreconfiguredWafConfigExclusionRequestQueryParamResult(dict):
|
50683
|
+
def __init__(__self__, *,
|
50684
|
+
operator: str,
|
50685
|
+
value: str):
|
50686
|
+
"""
|
50687
|
+
:param str operator: You can specify an exact match or a partial match by using a field operator and a field value. Available options: EQUALS: The operator matches if the field value equals the specified value. STARTS_WITH: The operator matches if the field value starts with the specified value. ENDS_WITH: The operator matches if the field value ends with the specified value. CONTAINS: The operator matches if the field value contains the specified value. EQUALS_ANY: The operator matches if the field value is any value.
|
50688
|
+
:param str value: A request field matching the specified value will be excluded from inspection during preconfigured WAF evaluation. The field value must be given if the field operator is not EQUALS_ANY, and cannot be given if the field operator is EQUALS_ANY.
|
50689
|
+
"""
|
50690
|
+
pulumi.set(__self__, "operator", operator)
|
50691
|
+
pulumi.set(__self__, "value", value)
|
50692
|
+
|
50693
|
+
@property
|
50694
|
+
@pulumi.getter
|
50695
|
+
def operator(self) -> str:
|
50696
|
+
"""
|
50697
|
+
You can specify an exact match or a partial match by using a field operator and a field value. Available options: EQUALS: The operator matches if the field value equals the specified value. STARTS_WITH: The operator matches if the field value starts with the specified value. ENDS_WITH: The operator matches if the field value ends with the specified value. CONTAINS: The operator matches if the field value contains the specified value. EQUALS_ANY: The operator matches if the field value is any value.
|
50698
|
+
"""
|
50699
|
+
return pulumi.get(self, "operator")
|
50700
|
+
|
50701
|
+
@property
|
50702
|
+
@pulumi.getter
|
50703
|
+
def value(self) -> str:
|
50704
|
+
"""
|
50705
|
+
A request field matching the specified value will be excluded from inspection during preconfigured WAF evaluation. The field value must be given if the field operator is not EQUALS_ANY, and cannot be given if the field operator is EQUALS_ANY.
|
50706
|
+
"""
|
50707
|
+
return pulumi.get(self, "value")
|
50708
|
+
|
50709
|
+
|
50710
|
+
@pulumi.output_type
|
50711
|
+
class GetSecurityPolicyRulePreconfiguredWafConfigExclusionRequestUriResult(dict):
|
50712
|
+
def __init__(__self__, *,
|
50713
|
+
operator: str,
|
50714
|
+
value: str):
|
50715
|
+
"""
|
50716
|
+
:param str operator: You can specify an exact match or a partial match by using a field operator and a field value. Available options: EQUALS: The operator matches if the field value equals the specified value. STARTS_WITH: The operator matches if the field value starts with the specified value. ENDS_WITH: The operator matches if the field value ends with the specified value. CONTAINS: The operator matches if the field value contains the specified value. EQUALS_ANY: The operator matches if the field value is any value.
|
50717
|
+
:param str value: A request field matching the specified value will be excluded from inspection during preconfigured WAF evaluation. The field value must be given if the field operator is not EQUALS_ANY, and cannot be given if the field operator is EQUALS_ANY.
|
50718
|
+
"""
|
50719
|
+
pulumi.set(__self__, "operator", operator)
|
50720
|
+
pulumi.set(__self__, "value", value)
|
50721
|
+
|
50722
|
+
@property
|
50723
|
+
@pulumi.getter
|
50724
|
+
def operator(self) -> str:
|
50725
|
+
"""
|
50726
|
+
You can specify an exact match or a partial match by using a field operator and a field value. Available options: EQUALS: The operator matches if the field value equals the specified value. STARTS_WITH: The operator matches if the field value starts with the specified value. ENDS_WITH: The operator matches if the field value ends with the specified value. CONTAINS: The operator matches if the field value contains the specified value. EQUALS_ANY: The operator matches if the field value is any value.
|
50727
|
+
"""
|
50728
|
+
return pulumi.get(self, "operator")
|
50729
|
+
|
50730
|
+
@property
|
50731
|
+
@pulumi.getter
|
50732
|
+
def value(self) -> str:
|
50733
|
+
"""
|
50734
|
+
A request field matching the specified value will be excluded from inspection during preconfigured WAF evaluation. The field value must be given if the field operator is not EQUALS_ANY, and cannot be given if the field operator is EQUALS_ANY.
|
50735
|
+
"""
|
50736
|
+
return pulumi.get(self, "value")
|
50737
|
+
|
50738
|
+
|
50739
|
+
@pulumi.output_type
|
50740
|
+
class GetSecurityPolicyRuleRateLimitOptionResult(dict):
|
50741
|
+
def __init__(__self__, *,
|
50742
|
+
ban_duration_sec: int,
|
50743
|
+
ban_thresholds: Sequence['outputs.GetSecurityPolicyRuleRateLimitOptionBanThresholdResult'],
|
50744
|
+
conform_action: str,
|
50745
|
+
enforce_on_key: str,
|
50746
|
+
enforce_on_key_configs: Sequence['outputs.GetSecurityPolicyRuleRateLimitOptionEnforceOnKeyConfigResult'],
|
50747
|
+
enforce_on_key_name: str,
|
50748
|
+
exceed_action: str,
|
50749
|
+
exceed_redirect_options: Sequence['outputs.GetSecurityPolicyRuleRateLimitOptionExceedRedirectOptionResult'],
|
50750
|
+
rate_limit_thresholds: Sequence['outputs.GetSecurityPolicyRuleRateLimitOptionRateLimitThresholdResult']):
|
50751
|
+
"""
|
50752
|
+
:param int ban_duration_sec: Can only be specified if the action for the rule is "rate_based_ban". If specified, determines the time (in seconds) the traffic will continue to be banned by the rate limit after the rate falls below the threshold.
|
50753
|
+
:param Sequence['GetSecurityPolicyRuleRateLimitOptionBanThresholdArgs'] ban_thresholds: Can only be specified if the action for the rule is "rate_based_ban". If specified, the key will be banned for the configured 'banDurationSec' when the number of requests that exceed the 'rateLimitThreshold' also exceed this 'banThreshold'.
|
50754
|
+
:param str conform_action: Action to take for requests that are under the configured rate limit threshold. Valid option is "allow" only.
|
50755
|
+
:param str enforce_on_key: Determines the key to enforce the rateLimitThreshold on
|
50756
|
+
:param Sequence['GetSecurityPolicyRuleRateLimitOptionEnforceOnKeyConfigArgs'] enforce_on_key_configs: Enforce On Key Config of this security policy
|
50757
|
+
:param str enforce_on_key_name: Rate limit key name applicable only for the following key types: HTTP_HEADER -- Name of the HTTP header whose value is taken as the key value. HTTP_COOKIE -- Name of the HTTP cookie whose value is taken as the key value.
|
50758
|
+
:param str exceed_action: Action to take for requests that are above the configured rate limit threshold, to either deny with a specified HTTP response code, or redirect to a different endpoint. Valid options are "deny()" where valid values for status are 403, 404, 429, and 502, and "redirect" where the redirect parameters come from exceedRedirectOptions below.
|
50759
|
+
:param Sequence['GetSecurityPolicyRuleRateLimitOptionExceedRedirectOptionArgs'] exceed_redirect_options: Parameters defining the redirect action that is used as the exceed action. Cannot be specified if the exceed action is not redirect.
|
50760
|
+
:param Sequence['GetSecurityPolicyRuleRateLimitOptionRateLimitThresholdArgs'] rate_limit_thresholds: Threshold at which to begin ratelimiting.
|
50761
|
+
"""
|
50762
|
+
pulumi.set(__self__, "ban_duration_sec", ban_duration_sec)
|
50763
|
+
pulumi.set(__self__, "ban_thresholds", ban_thresholds)
|
50764
|
+
pulumi.set(__self__, "conform_action", conform_action)
|
50765
|
+
pulumi.set(__self__, "enforce_on_key", enforce_on_key)
|
50766
|
+
pulumi.set(__self__, "enforce_on_key_configs", enforce_on_key_configs)
|
50767
|
+
pulumi.set(__self__, "enforce_on_key_name", enforce_on_key_name)
|
50768
|
+
pulumi.set(__self__, "exceed_action", exceed_action)
|
50769
|
+
pulumi.set(__self__, "exceed_redirect_options", exceed_redirect_options)
|
50770
|
+
pulumi.set(__self__, "rate_limit_thresholds", rate_limit_thresholds)
|
50771
|
+
|
50772
|
+
@property
|
50773
|
+
@pulumi.getter(name="banDurationSec")
|
50774
|
+
def ban_duration_sec(self) -> int:
|
50775
|
+
"""
|
50776
|
+
Can only be specified if the action for the rule is "rate_based_ban". If specified, determines the time (in seconds) the traffic will continue to be banned by the rate limit after the rate falls below the threshold.
|
50777
|
+
"""
|
50778
|
+
return pulumi.get(self, "ban_duration_sec")
|
50779
|
+
|
50780
|
+
@property
|
50781
|
+
@pulumi.getter(name="banThresholds")
|
50782
|
+
def ban_thresholds(self) -> Sequence['outputs.GetSecurityPolicyRuleRateLimitOptionBanThresholdResult']:
|
50783
|
+
"""
|
50784
|
+
Can only be specified if the action for the rule is "rate_based_ban". If specified, the key will be banned for the configured 'banDurationSec' when the number of requests that exceed the 'rateLimitThreshold' also exceed this 'banThreshold'.
|
50785
|
+
"""
|
50786
|
+
return pulumi.get(self, "ban_thresholds")
|
50787
|
+
|
50788
|
+
@property
|
50789
|
+
@pulumi.getter(name="conformAction")
|
50790
|
+
def conform_action(self) -> str:
|
50791
|
+
"""
|
50792
|
+
Action to take for requests that are under the configured rate limit threshold. Valid option is "allow" only.
|
50793
|
+
"""
|
50794
|
+
return pulumi.get(self, "conform_action")
|
50795
|
+
|
50796
|
+
@property
|
50797
|
+
@pulumi.getter(name="enforceOnKey")
|
50798
|
+
def enforce_on_key(self) -> str:
|
50799
|
+
"""
|
50800
|
+
Determines the key to enforce the rateLimitThreshold on
|
50801
|
+
"""
|
50802
|
+
return pulumi.get(self, "enforce_on_key")
|
50803
|
+
|
50804
|
+
@property
|
50805
|
+
@pulumi.getter(name="enforceOnKeyConfigs")
|
50806
|
+
def enforce_on_key_configs(self) -> Sequence['outputs.GetSecurityPolicyRuleRateLimitOptionEnforceOnKeyConfigResult']:
|
50807
|
+
"""
|
50808
|
+
Enforce On Key Config of this security policy
|
50809
|
+
"""
|
50810
|
+
return pulumi.get(self, "enforce_on_key_configs")
|
50811
|
+
|
50812
|
+
@property
|
50813
|
+
@pulumi.getter(name="enforceOnKeyName")
|
50814
|
+
def enforce_on_key_name(self) -> str:
|
50815
|
+
"""
|
50816
|
+
Rate limit key name applicable only for the following key types: HTTP_HEADER -- Name of the HTTP header whose value is taken as the key value. HTTP_COOKIE -- Name of the HTTP cookie whose value is taken as the key value.
|
50817
|
+
"""
|
50818
|
+
return pulumi.get(self, "enforce_on_key_name")
|
50819
|
+
|
50820
|
+
@property
|
50821
|
+
@pulumi.getter(name="exceedAction")
|
50822
|
+
def exceed_action(self) -> str:
|
50823
|
+
"""
|
50824
|
+
Action to take for requests that are above the configured rate limit threshold, to either deny with a specified HTTP response code, or redirect to a different endpoint. Valid options are "deny()" where valid values for status are 403, 404, 429, and 502, and "redirect" where the redirect parameters come from exceedRedirectOptions below.
|
50825
|
+
"""
|
50826
|
+
return pulumi.get(self, "exceed_action")
|
50827
|
+
|
50828
|
+
@property
|
50829
|
+
@pulumi.getter(name="exceedRedirectOptions")
|
50830
|
+
def exceed_redirect_options(self) -> Sequence['outputs.GetSecurityPolicyRuleRateLimitOptionExceedRedirectOptionResult']:
|
50831
|
+
"""
|
50832
|
+
Parameters defining the redirect action that is used as the exceed action. Cannot be specified if the exceed action is not redirect.
|
50833
|
+
"""
|
50834
|
+
return pulumi.get(self, "exceed_redirect_options")
|
50835
|
+
|
50836
|
+
@property
|
50837
|
+
@pulumi.getter(name="rateLimitThresholds")
|
50838
|
+
def rate_limit_thresholds(self) -> Sequence['outputs.GetSecurityPolicyRuleRateLimitOptionRateLimitThresholdResult']:
|
50839
|
+
"""
|
50840
|
+
Threshold at which to begin ratelimiting.
|
50841
|
+
"""
|
50842
|
+
return pulumi.get(self, "rate_limit_thresholds")
|
50843
|
+
|
50844
|
+
|
50845
|
+
@pulumi.output_type
|
50846
|
+
class GetSecurityPolicyRuleRateLimitOptionBanThresholdResult(dict):
|
50847
|
+
def __init__(__self__, *,
|
50848
|
+
count: int,
|
50849
|
+
interval_sec: int):
|
50850
|
+
"""
|
50851
|
+
:param int count: Number of HTTP(S) requests for calculating the threshold.
|
50852
|
+
:param int interval_sec: Interval over which the threshold is computed.
|
50853
|
+
"""
|
50854
|
+
pulumi.set(__self__, "count", count)
|
50855
|
+
pulumi.set(__self__, "interval_sec", interval_sec)
|
50856
|
+
|
50857
|
+
@property
|
50858
|
+
@pulumi.getter
|
50859
|
+
def count(self) -> int:
|
50860
|
+
"""
|
50861
|
+
Number of HTTP(S) requests for calculating the threshold.
|
50862
|
+
"""
|
50863
|
+
return pulumi.get(self, "count")
|
50864
|
+
|
50865
|
+
@property
|
50866
|
+
@pulumi.getter(name="intervalSec")
|
50867
|
+
def interval_sec(self) -> int:
|
50868
|
+
"""
|
50869
|
+
Interval over which the threshold is computed.
|
50870
|
+
"""
|
50871
|
+
return pulumi.get(self, "interval_sec")
|
50872
|
+
|
50873
|
+
|
50874
|
+
@pulumi.output_type
|
50875
|
+
class GetSecurityPolicyRuleRateLimitOptionEnforceOnKeyConfigResult(dict):
|
50876
|
+
def __init__(__self__, *,
|
50877
|
+
enforce_on_key_name: str,
|
50878
|
+
enforce_on_key_type: str):
|
50879
|
+
"""
|
50880
|
+
:param str enforce_on_key_name: Rate limit key name applicable only for the following key types: HTTP_HEADER -- Name of the HTTP header whose value is taken as the key value. HTTP_COOKIE -- Name of the HTTP cookie whose value is taken as the key value.
|
50881
|
+
:param str enforce_on_key_type: Determines the key to enforce the rate_limit_threshold on
|
50882
|
+
"""
|
50883
|
+
pulumi.set(__self__, "enforce_on_key_name", enforce_on_key_name)
|
50884
|
+
pulumi.set(__self__, "enforce_on_key_type", enforce_on_key_type)
|
50885
|
+
|
50886
|
+
@property
|
50887
|
+
@pulumi.getter(name="enforceOnKeyName")
|
50888
|
+
def enforce_on_key_name(self) -> str:
|
50889
|
+
"""
|
50890
|
+
Rate limit key name applicable only for the following key types: HTTP_HEADER -- Name of the HTTP header whose value is taken as the key value. HTTP_COOKIE -- Name of the HTTP cookie whose value is taken as the key value.
|
50891
|
+
"""
|
50892
|
+
return pulumi.get(self, "enforce_on_key_name")
|
50893
|
+
|
50894
|
+
@property
|
50895
|
+
@pulumi.getter(name="enforceOnKeyType")
|
50896
|
+
def enforce_on_key_type(self) -> str:
|
50897
|
+
"""
|
50898
|
+
Determines the key to enforce the rate_limit_threshold on
|
50899
|
+
"""
|
50900
|
+
return pulumi.get(self, "enforce_on_key_type")
|
50901
|
+
|
50902
|
+
|
50903
|
+
@pulumi.output_type
|
50904
|
+
class GetSecurityPolicyRuleRateLimitOptionExceedRedirectOptionResult(dict):
|
50905
|
+
def __init__(__self__, *,
|
50906
|
+
target: str,
|
50907
|
+
type: str):
|
50908
|
+
"""
|
50909
|
+
:param str target: Target for the redirect action. This is required if the type is EXTERNAL_302 and cannot be specified for GOOGLE_RECAPTCHA.
|
50910
|
+
:param str type: Type of the redirect action.
|
50911
|
+
"""
|
50912
|
+
pulumi.set(__self__, "target", target)
|
50913
|
+
pulumi.set(__self__, "type", type)
|
50914
|
+
|
50915
|
+
@property
|
50916
|
+
@pulumi.getter
|
50917
|
+
def target(self) -> str:
|
50918
|
+
"""
|
50919
|
+
Target for the redirect action. This is required if the type is EXTERNAL_302 and cannot be specified for GOOGLE_RECAPTCHA.
|
50920
|
+
"""
|
50921
|
+
return pulumi.get(self, "target")
|
50922
|
+
|
50923
|
+
@property
|
50924
|
+
@pulumi.getter
|
50925
|
+
def type(self) -> str:
|
50926
|
+
"""
|
50927
|
+
Type of the redirect action.
|
50928
|
+
"""
|
50929
|
+
return pulumi.get(self, "type")
|
50930
|
+
|
50931
|
+
|
50932
|
+
@pulumi.output_type
|
50933
|
+
class GetSecurityPolicyRuleRateLimitOptionRateLimitThresholdResult(dict):
|
50934
|
+
def __init__(__self__, *,
|
50935
|
+
count: int,
|
50936
|
+
interval_sec: int):
|
50937
|
+
"""
|
50938
|
+
:param int count: Number of HTTP(S) requests for calculating the threshold.
|
50939
|
+
:param int interval_sec: Interval over which the threshold is computed.
|
50940
|
+
"""
|
50941
|
+
pulumi.set(__self__, "count", count)
|
50942
|
+
pulumi.set(__self__, "interval_sec", interval_sec)
|
50943
|
+
|
50944
|
+
@property
|
50945
|
+
@pulumi.getter
|
50946
|
+
def count(self) -> int:
|
50947
|
+
"""
|
50948
|
+
Number of HTTP(S) requests for calculating the threshold.
|
50949
|
+
"""
|
50950
|
+
return pulumi.get(self, "count")
|
50951
|
+
|
50952
|
+
@property
|
50953
|
+
@pulumi.getter(name="intervalSec")
|
50954
|
+
def interval_sec(self) -> int:
|
50955
|
+
"""
|
50956
|
+
Interval over which the threshold is computed.
|
50957
|
+
"""
|
50958
|
+
return pulumi.get(self, "interval_sec")
|
50959
|
+
|
50960
|
+
|
50961
|
+
@pulumi.output_type
|
50962
|
+
class GetSecurityPolicyRuleRedirectOptionResult(dict):
|
50963
|
+
def __init__(__self__, *,
|
50964
|
+
target: str,
|
50965
|
+
type: str):
|
50966
|
+
"""
|
50967
|
+
:param str target: Target for the redirect action. This is required if the type is EXTERNAL_302 and cannot be specified for GOOGLE_RECAPTCHA.
|
50968
|
+
:param str type: Type of the redirect action. Available options: EXTERNAL_302: Must specify the corresponding target field in config. GOOGLE_RECAPTCHA: Cannot specify target field in config.
|
50969
|
+
"""
|
50970
|
+
pulumi.set(__self__, "target", target)
|
50971
|
+
pulumi.set(__self__, "type", type)
|
50972
|
+
|
50973
|
+
@property
|
50974
|
+
@pulumi.getter
|
50975
|
+
def target(self) -> str:
|
50976
|
+
"""
|
50977
|
+
Target for the redirect action. This is required if the type is EXTERNAL_302 and cannot be specified for GOOGLE_RECAPTCHA.
|
50978
|
+
"""
|
50979
|
+
return pulumi.get(self, "target")
|
50980
|
+
|
50981
|
+
@property
|
50982
|
+
@pulumi.getter
|
50983
|
+
def type(self) -> str:
|
50984
|
+
"""
|
50985
|
+
Type of the redirect action. Available options: EXTERNAL_302: Must specify the corresponding target field in config. GOOGLE_RECAPTCHA: Cannot specify target field in config.
|
50986
|
+
"""
|
50987
|
+
return pulumi.get(self, "type")
|
50988
|
+
|
50989
|
+
|
49951
50990
|
@pulumi.output_type
|
49952
50991
|
class GetSnapshotSnapshotEncryptionKeyResult(dict):
|
49953
50992
|
def __init__(__self__, *,
|