pulumi-gcp 7.25.0__py3-none-any.whl → 7.25.0a1717097889__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 +0 -88
- pulumi_gcp/appengine/_inputs.py +0 -18
- pulumi_gcp/appengine/domain_mapping.py +1 -1
- pulumi_gcp/appengine/outputs.py +0 -16
- pulumi_gcp/bigquery/_inputs.py +2 -286
- pulumi_gcp/bigquery/outputs.py +2 -289
- pulumi_gcp/bigquery/table.py +35 -77
- pulumi_gcp/cloudfunctionsv2/function.py +4 -0
- pulumi_gcp/cloudrun/_inputs.py +4 -80
- pulumi_gcp/cloudrun/outputs.py +4 -137
- pulumi_gcp/composer/user_workloads_secret.py +4 -4
- pulumi_gcp/compute/__init__.py +0 -1
- pulumi_gcp/compute/_inputs.py +176 -398
- pulumi_gcp/compute/instance_group_membership.py +2 -2
- pulumi_gcp/compute/interconnect_attachment.py +0 -82
- pulumi_gcp/compute/network_endpoint.py +2 -2
- pulumi_gcp/compute/network_endpoint_list.py +2 -2
- pulumi_gcp/compute/outputs.py +161 -609
- pulumi_gcp/compute/region_ssl_policy.py +40 -39
- pulumi_gcp/compute/security_policy_rule.py +1 -55
- pulumi_gcp/container/_inputs.py +0 -560
- pulumi_gcp/container/outputs.py +51 -1106
- pulumi_gcp/dataplex/__init__.py +0 -10
- pulumi_gcp/dataplex/_inputs.py +0 -160
- pulumi_gcp/dataplex/outputs.py +0 -112
- pulumi_gcp/datastream/connection_profile.py +0 -47
- pulumi_gcp/datastream/private_connection.py +0 -47
- pulumi_gcp/datastream/stream.py +0 -47
- pulumi_gcp/dns/get_managed_zone.py +3 -3
- pulumi_gcp/dns/managed_zone.py +7 -7
- pulumi_gcp/dns/outputs.py +2 -2
- pulumi_gcp/kms/__init__.py +0 -2
- pulumi_gcp/networkservices/__init__.py +0 -1
- pulumi_gcp/networkservices/_inputs.py +27 -245
- pulumi_gcp/networkservices/lb_traffic_extension.py +14 -28
- pulumi_gcp/networkservices/outputs.py +20 -251
- pulumi_gcp/orgpolicy/policy.py +2 -2
- pulumi_gcp/pubsub/_inputs.py +0 -16
- pulumi_gcp/pubsub/outputs.py +0 -25
- pulumi_gcp/pubsub/subscription.py +4 -8
- pulumi_gcp/pulumi-plugin.json +1 -1
- pulumi_gcp/sql/user.py +4 -4
- pulumi_gcp/tpu/_inputs.py +2 -2
- pulumi_gcp/tpu/outputs.py +2 -2
- {pulumi_gcp-7.25.0.dist-info → pulumi_gcp-7.25.0a1717097889.dist-info}/METADATA +1 -1
- {pulumi_gcp-7.25.0.dist-info → pulumi_gcp-7.25.0a1717097889.dist-info}/RECORD +48 -62
- pulumi_gcp/compute/get_subnetworks.py +0 -157
- pulumi_gcp/dataplex/aspect_type.py +0 -1077
- pulumi_gcp/dataplex/aspect_type_iam_binding.py +0 -765
- pulumi_gcp/dataplex/aspect_type_iam_member.py +0 -765
- pulumi_gcp/dataplex/aspect_type_iam_policy.py +0 -604
- pulumi_gcp/dataplex/entry_group.py +0 -722
- pulumi_gcp/dataplex/entry_group_iam_binding.py +0 -765
- pulumi_gcp/dataplex/entry_group_iam_member.py +0 -765
- pulumi_gcp/dataplex/entry_group_iam_policy.py +0 -604
- pulumi_gcp/dataplex/get_aspect_type_iam_policy.py +0 -164
- pulumi_gcp/dataplex/get_entry_group_iam_policy.py +0 -164
- pulumi_gcp/kms/autokey_config.py +0 -366
- pulumi_gcp/kms/key_handle.py +0 -548
- pulumi_gcp/networkservices/lb_route_extension.py +0 -663
- {pulumi_gcp-7.25.0.dist-info → pulumi_gcp-7.25.0a1717097889.dist-info}/WHEEL +0 -0
- {pulumi_gcp-7.25.0.dist-info → pulumi_gcp-7.25.0a1717097889.dist-info}/top_level.txt +0 -0
pulumi_gcp/compute/_inputs.py
CHANGED
@@ -100,7 +100,6 @@ __all__ = [
|
|
100
100
|
'InstanceFromMachineImageSchedulingLocalSsdRecoveryTimeoutArgs',
|
101
101
|
'InstanceFromMachineImageSchedulingMaxRunDurationArgs',
|
102
102
|
'InstanceFromMachineImageSchedulingNodeAffinityArgs',
|
103
|
-
'InstanceFromMachineImageSchedulingOnInstanceStopActionArgs',
|
104
103
|
'InstanceFromMachineImageScratchDiskArgs',
|
105
104
|
'InstanceFromMachineImageServiceAccountArgs',
|
106
105
|
'InstanceFromMachineImageShieldedInstanceConfigArgs',
|
@@ -122,7 +121,6 @@ __all__ = [
|
|
122
121
|
'InstanceFromTemplateSchedulingLocalSsdRecoveryTimeoutArgs',
|
123
122
|
'InstanceFromTemplateSchedulingMaxRunDurationArgs',
|
124
123
|
'InstanceFromTemplateSchedulingNodeAffinityArgs',
|
125
|
-
'InstanceFromTemplateSchedulingOnInstanceStopActionArgs',
|
126
124
|
'InstanceFromTemplateScratchDiskArgs',
|
127
125
|
'InstanceFromTemplateServiceAccountArgs',
|
128
126
|
'InstanceFromTemplateShieldedInstanceConfigArgs',
|
@@ -158,7 +156,6 @@ __all__ = [
|
|
158
156
|
'InstanceSchedulingLocalSsdRecoveryTimeoutArgs',
|
159
157
|
'InstanceSchedulingMaxRunDurationArgs',
|
160
158
|
'InstanceSchedulingNodeAffinityArgs',
|
161
|
-
'InstanceSchedulingOnInstanceStopActionArgs',
|
162
159
|
'InstanceScratchDiskArgs',
|
163
160
|
'InstanceServiceAccountArgs',
|
164
161
|
'InstanceSettingsMetadataArgs',
|
@@ -181,7 +178,6 @@ __all__ = [
|
|
181
178
|
'InstanceTemplateSchedulingLocalSsdRecoveryTimeoutArgs',
|
182
179
|
'InstanceTemplateSchedulingMaxRunDurationArgs',
|
183
180
|
'InstanceTemplateSchedulingNodeAffinityArgs',
|
184
|
-
'InstanceTemplateSchedulingOnInstanceStopActionArgs',
|
185
181
|
'InstanceTemplateServiceAccountArgs',
|
186
182
|
'InstanceTemplateShieldedInstanceConfigArgs',
|
187
183
|
'InterconnectAttachmentPrivateInterconnectInfoArgs',
|
@@ -298,7 +294,6 @@ __all__ = [
|
|
298
294
|
'RegionInstanceTemplateSchedulingLocalSsdRecoveryTimeoutArgs',
|
299
295
|
'RegionInstanceTemplateSchedulingMaxRunDurationArgs',
|
300
296
|
'RegionInstanceTemplateSchedulingNodeAffinityArgs',
|
301
|
-
'RegionInstanceTemplateSchedulingOnInstanceStopActionArgs',
|
302
297
|
'RegionInstanceTemplateServiceAccountArgs',
|
303
298
|
'RegionInstanceTemplateShieldedInstanceConfigArgs',
|
304
299
|
'RegionNetworkEndpointGroupAppEngineArgs',
|
@@ -7447,7 +7442,6 @@ class InstanceFromMachineImageSchedulingArgs:
|
|
7447
7442
|
min_node_cpus: Optional[pulumi.Input[int]] = None,
|
7448
7443
|
node_affinities: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceFromMachineImageSchedulingNodeAffinityArgs']]]] = None,
|
7449
7444
|
on_host_maintenance: Optional[pulumi.Input[str]] = None,
|
7450
|
-
on_instance_stop_action: Optional[pulumi.Input['InstanceFromMachineImageSchedulingOnInstanceStopActionArgs']] = None,
|
7451
7445
|
preemptible: Optional[pulumi.Input[bool]] = None,
|
7452
7446
|
provisioning_model: Optional[pulumi.Input[str]] = None):
|
7453
7447
|
"""
|
@@ -7461,7 +7455,6 @@ class InstanceFromMachineImageSchedulingArgs:
|
|
7461
7455
|
:param pulumi.Input['InstanceFromMachineImageSchedulingMaxRunDurationArgs'] max_run_duration: The timeout for new network connections to hosts.
|
7462
7456
|
:param pulumi.Input[Sequence[pulumi.Input['InstanceFromMachineImageSchedulingNodeAffinityArgs']]] node_affinities: Specifies node affinities or anti-affinities to determine which sole-tenant nodes your instances and managed instance groups will use as host systems.
|
7463
7457
|
:param pulumi.Input[str] on_host_maintenance: Describes maintenance behavior for the instance. One of MIGRATE or TERMINATE,
|
7464
|
-
:param pulumi.Input['InstanceFromMachineImageSchedulingOnInstanceStopActionArgs'] on_instance_stop_action: Defines the behaviour for instances with the instance_termination_action.
|
7465
7458
|
:param pulumi.Input[bool] preemptible: Whether the instance is preemptible.
|
7466
7459
|
:param pulumi.Input[str] provisioning_model: Whether the instance is spot. If this is set as SPOT.
|
7467
7460
|
"""
|
@@ -7481,8 +7474,6 @@ class InstanceFromMachineImageSchedulingArgs:
|
|
7481
7474
|
pulumi.set(__self__, "node_affinities", node_affinities)
|
7482
7475
|
if on_host_maintenance is not None:
|
7483
7476
|
pulumi.set(__self__, "on_host_maintenance", on_host_maintenance)
|
7484
|
-
if on_instance_stop_action is not None:
|
7485
|
-
pulumi.set(__self__, "on_instance_stop_action", on_instance_stop_action)
|
7486
7477
|
if preemptible is not None:
|
7487
7478
|
pulumi.set(__self__, "preemptible", preemptible)
|
7488
7479
|
if provisioning_model is not None:
|
@@ -7584,18 +7575,6 @@ class InstanceFromMachineImageSchedulingArgs:
|
|
7584
7575
|
def on_host_maintenance(self, value: Optional[pulumi.Input[str]]):
|
7585
7576
|
pulumi.set(self, "on_host_maintenance", value)
|
7586
7577
|
|
7587
|
-
@property
|
7588
|
-
@pulumi.getter(name="onInstanceStopAction")
|
7589
|
-
def on_instance_stop_action(self) -> Optional[pulumi.Input['InstanceFromMachineImageSchedulingOnInstanceStopActionArgs']]:
|
7590
|
-
"""
|
7591
|
-
Defines the behaviour for instances with the instance_termination_action.
|
7592
|
-
"""
|
7593
|
-
return pulumi.get(self, "on_instance_stop_action")
|
7594
|
-
|
7595
|
-
@on_instance_stop_action.setter
|
7596
|
-
def on_instance_stop_action(self, value: Optional[pulumi.Input['InstanceFromMachineImageSchedulingOnInstanceStopActionArgs']]):
|
7597
|
-
pulumi.set(self, "on_instance_stop_action", value)
|
7598
|
-
|
7599
7578
|
@property
|
7600
7579
|
@pulumi.getter
|
7601
7580
|
def preemptible(self) -> Optional[pulumi.Input[bool]]:
|
@@ -7751,29 +7730,6 @@ class InstanceFromMachineImageSchedulingNodeAffinityArgs:
|
|
7751
7730
|
pulumi.set(self, "values", value)
|
7752
7731
|
|
7753
7732
|
|
7754
|
-
@pulumi.input_type
|
7755
|
-
class InstanceFromMachineImageSchedulingOnInstanceStopActionArgs:
|
7756
|
-
def __init__(__self__, *,
|
7757
|
-
discard_local_ssd: Optional[pulumi.Input[bool]] = None):
|
7758
|
-
"""
|
7759
|
-
:param pulumi.Input[bool] discard_local_ssd: If true, the contents of any attached Local SSD disks will be discarded.
|
7760
|
-
"""
|
7761
|
-
if discard_local_ssd is not None:
|
7762
|
-
pulumi.set(__self__, "discard_local_ssd", discard_local_ssd)
|
7763
|
-
|
7764
|
-
@property
|
7765
|
-
@pulumi.getter(name="discardLocalSsd")
|
7766
|
-
def discard_local_ssd(self) -> Optional[pulumi.Input[bool]]:
|
7767
|
-
"""
|
7768
|
-
If true, the contents of any attached Local SSD disks will be discarded.
|
7769
|
-
"""
|
7770
|
-
return pulumi.get(self, "discard_local_ssd")
|
7771
|
-
|
7772
|
-
@discard_local_ssd.setter
|
7773
|
-
def discard_local_ssd(self, value: Optional[pulumi.Input[bool]]):
|
7774
|
-
pulumi.set(self, "discard_local_ssd", value)
|
7775
|
-
|
7776
|
-
|
7777
7733
|
@pulumi.input_type
|
7778
7734
|
class InstanceFromMachineImageScratchDiskArgs:
|
7779
7735
|
def __init__(__self__, *,
|
@@ -9037,7 +8993,6 @@ class InstanceFromTemplateSchedulingArgs:
|
|
9037
8993
|
min_node_cpus: Optional[pulumi.Input[int]] = None,
|
9038
8994
|
node_affinities: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceFromTemplateSchedulingNodeAffinityArgs']]]] = None,
|
9039
8995
|
on_host_maintenance: Optional[pulumi.Input[str]] = None,
|
9040
|
-
on_instance_stop_action: Optional[pulumi.Input['InstanceFromTemplateSchedulingOnInstanceStopActionArgs']] = None,
|
9041
8996
|
preemptible: Optional[pulumi.Input[bool]] = None,
|
9042
8997
|
provisioning_model: Optional[pulumi.Input[str]] = None):
|
9043
8998
|
"""
|
@@ -9051,7 +9006,6 @@ class InstanceFromTemplateSchedulingArgs:
|
|
9051
9006
|
:param pulumi.Input['InstanceFromTemplateSchedulingMaxRunDurationArgs'] max_run_duration: The timeout for new network connections to hosts.
|
9052
9007
|
:param pulumi.Input[Sequence[pulumi.Input['InstanceFromTemplateSchedulingNodeAffinityArgs']]] node_affinities: Specifies node affinities or anti-affinities to determine which sole-tenant nodes your instances and managed instance groups will use as host systems.
|
9053
9008
|
:param pulumi.Input[str] on_host_maintenance: Describes maintenance behavior for the instance. One of MIGRATE or TERMINATE,
|
9054
|
-
:param pulumi.Input['InstanceFromTemplateSchedulingOnInstanceStopActionArgs'] on_instance_stop_action: Defines the behaviour for instances with the instance_termination_action.
|
9055
9009
|
:param pulumi.Input[bool] preemptible: Whether the instance is preemptible.
|
9056
9010
|
:param pulumi.Input[str] provisioning_model: Whether the instance is spot. If this is set as SPOT.
|
9057
9011
|
"""
|
@@ -9071,8 +9025,6 @@ class InstanceFromTemplateSchedulingArgs:
|
|
9071
9025
|
pulumi.set(__self__, "node_affinities", node_affinities)
|
9072
9026
|
if on_host_maintenance is not None:
|
9073
9027
|
pulumi.set(__self__, "on_host_maintenance", on_host_maintenance)
|
9074
|
-
if on_instance_stop_action is not None:
|
9075
|
-
pulumi.set(__self__, "on_instance_stop_action", on_instance_stop_action)
|
9076
9028
|
if preemptible is not None:
|
9077
9029
|
pulumi.set(__self__, "preemptible", preemptible)
|
9078
9030
|
if provisioning_model is not None:
|
@@ -9174,18 +9126,6 @@ class InstanceFromTemplateSchedulingArgs:
|
|
9174
9126
|
def on_host_maintenance(self, value: Optional[pulumi.Input[str]]):
|
9175
9127
|
pulumi.set(self, "on_host_maintenance", value)
|
9176
9128
|
|
9177
|
-
@property
|
9178
|
-
@pulumi.getter(name="onInstanceStopAction")
|
9179
|
-
def on_instance_stop_action(self) -> Optional[pulumi.Input['InstanceFromTemplateSchedulingOnInstanceStopActionArgs']]:
|
9180
|
-
"""
|
9181
|
-
Defines the behaviour for instances with the instance_termination_action.
|
9182
|
-
"""
|
9183
|
-
return pulumi.get(self, "on_instance_stop_action")
|
9184
|
-
|
9185
|
-
@on_instance_stop_action.setter
|
9186
|
-
def on_instance_stop_action(self, value: Optional[pulumi.Input['InstanceFromTemplateSchedulingOnInstanceStopActionArgs']]):
|
9187
|
-
pulumi.set(self, "on_instance_stop_action", value)
|
9188
|
-
|
9189
9129
|
@property
|
9190
9130
|
@pulumi.getter
|
9191
9131
|
def preemptible(self) -> Optional[pulumi.Input[bool]]:
|
@@ -9341,29 +9281,6 @@ class InstanceFromTemplateSchedulingNodeAffinityArgs:
|
|
9341
9281
|
pulumi.set(self, "values", value)
|
9342
9282
|
|
9343
9283
|
|
9344
|
-
@pulumi.input_type
|
9345
|
-
class InstanceFromTemplateSchedulingOnInstanceStopActionArgs:
|
9346
|
-
def __init__(__self__, *,
|
9347
|
-
discard_local_ssd: Optional[pulumi.Input[bool]] = None):
|
9348
|
-
"""
|
9349
|
-
:param pulumi.Input[bool] discard_local_ssd: If true, the contents of any attached Local SSD disks will be discarded.
|
9350
|
-
"""
|
9351
|
-
if discard_local_ssd is not None:
|
9352
|
-
pulumi.set(__self__, "discard_local_ssd", discard_local_ssd)
|
9353
|
-
|
9354
|
-
@property
|
9355
|
-
@pulumi.getter(name="discardLocalSsd")
|
9356
|
-
def discard_local_ssd(self) -> Optional[pulumi.Input[bool]]:
|
9357
|
-
"""
|
9358
|
-
If true, the contents of any attached Local SSD disks will be discarded.
|
9359
|
-
"""
|
9360
|
-
return pulumi.get(self, "discard_local_ssd")
|
9361
|
-
|
9362
|
-
@discard_local_ssd.setter
|
9363
|
-
def discard_local_ssd(self, value: Optional[pulumi.Input[bool]]):
|
9364
|
-
pulumi.set(self, "discard_local_ssd", value)
|
9365
|
-
|
9366
|
-
|
9367
9284
|
@pulumi.input_type
|
9368
9285
|
class InstanceFromTemplateScratchDiskArgs:
|
9369
9286
|
def __init__(__self__, *,
|
@@ -11124,7 +11041,6 @@ class InstanceSchedulingArgs:
|
|
11124
11041
|
min_node_cpus: Optional[pulumi.Input[int]] = None,
|
11125
11042
|
node_affinities: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceSchedulingNodeAffinityArgs']]]] = None,
|
11126
11043
|
on_host_maintenance: Optional[pulumi.Input[str]] = None,
|
11127
|
-
on_instance_stop_action: Optional[pulumi.Input['InstanceSchedulingOnInstanceStopActionArgs']] = None,
|
11128
11044
|
preemptible: Optional[pulumi.Input[bool]] = None,
|
11129
11045
|
provisioning_model: Optional[pulumi.Input[str]] = None):
|
11130
11046
|
"""
|
@@ -11137,7 +11053,8 @@ class InstanceSchedulingArgs:
|
|
11137
11053
|
between 0 and 168 hours with hour granularity and the default value being 1
|
11138
11054
|
hour.
|
11139
11055
|
:param pulumi.Input[str] maintenance_interval: Specifies the frequency of planned maintenance events. The accepted values are: `PERIODIC`.
|
11140
|
-
:param pulumi.Input['InstanceSchedulingMaxRunDurationArgs'] max_run_duration: The duration of the instance. Instance will run and be terminated after then, the termination action could be defined in `instance_termination_action`. Structure is documented below.
|
11056
|
+
:param pulumi.Input['InstanceSchedulingMaxRunDurationArgs'] max_run_duration: The duration of the instance. Instance will run and be terminated after then, the termination action could be defined in `instance_termination_action`. Only support `DELETE` `instance_termination_action` at this point. Structure is documented below.
|
11057
|
+
<a name="nested_max_run_duration"></a>The `max_run_duration` block supports:
|
11141
11058
|
:param pulumi.Input[int] min_node_cpus: The minimum number of virtual CPUs this instance will consume when running on a sole-tenant node.
|
11142
11059
|
:param pulumi.Input[Sequence[pulumi.Input['InstanceSchedulingNodeAffinityArgs']]] node_affinities: Specifies node affinities or anti-affinities
|
11143
11060
|
to determine which sole-tenant nodes your instances and managed instance
|
@@ -11147,7 +11064,6 @@ class InstanceSchedulingArgs:
|
|
11147
11064
|
:param pulumi.Input[str] on_host_maintenance: Describes maintenance behavior for the
|
11148
11065
|
instance. Can be MIGRATE or TERMINATE, for more info, read
|
11149
11066
|
[here](https://cloud.google.com/compute/docs/instances/setting-instance-scheduling-options).
|
11150
|
-
:param pulumi.Input['InstanceSchedulingOnInstanceStopActionArgs'] on_instance_stop_action: Specifies the action to be performed when the instance is terminated using `max_run_duration` and `STOP` `instance_termination_action`. Only support `true` `discard_local_ssd` at this point. Structure is documented below.
|
11151
11067
|
:param pulumi.Input[bool] preemptible: Specifies if the instance is preemptible.
|
11152
11068
|
If this field is set to true, then `automatic_restart` must be
|
11153
11069
|
set to false. Defaults to false.
|
@@ -11172,8 +11088,6 @@ class InstanceSchedulingArgs:
|
|
11172
11088
|
pulumi.set(__self__, "node_affinities", node_affinities)
|
11173
11089
|
if on_host_maintenance is not None:
|
11174
11090
|
pulumi.set(__self__, "on_host_maintenance", on_host_maintenance)
|
11175
|
-
if on_instance_stop_action is not None:
|
11176
|
-
pulumi.set(__self__, "on_instance_stop_action", on_instance_stop_action)
|
11177
11091
|
if preemptible is not None:
|
11178
11092
|
pulumi.set(__self__, "preemptible", preemptible)
|
11179
11093
|
if provisioning_model is not None:
|
@@ -11236,7 +11150,8 @@ class InstanceSchedulingArgs:
|
|
11236
11150
|
@pulumi.getter(name="maxRunDuration")
|
11237
11151
|
def max_run_duration(self) -> Optional[pulumi.Input['InstanceSchedulingMaxRunDurationArgs']]:
|
11238
11152
|
"""
|
11239
|
-
The duration of the instance. Instance will run and be terminated after then, the termination action could be defined in `instance_termination_action`. Structure is documented below.
|
11153
|
+
The duration of the instance. Instance will run and be terminated after then, the termination action could be defined in `instance_termination_action`. Only support `DELETE` `instance_termination_action` at this point. Structure is documented below.
|
11154
|
+
<a name="nested_max_run_duration"></a>The `max_run_duration` block supports:
|
11240
11155
|
"""
|
11241
11156
|
return pulumi.get(self, "max_run_duration")
|
11242
11157
|
|
@@ -11286,18 +11201,6 @@ class InstanceSchedulingArgs:
|
|
11286
11201
|
def on_host_maintenance(self, value: Optional[pulumi.Input[str]]):
|
11287
11202
|
pulumi.set(self, "on_host_maintenance", value)
|
11288
11203
|
|
11289
|
-
@property
|
11290
|
-
@pulumi.getter(name="onInstanceStopAction")
|
11291
|
-
def on_instance_stop_action(self) -> Optional[pulumi.Input['InstanceSchedulingOnInstanceStopActionArgs']]:
|
11292
|
-
"""
|
11293
|
-
Specifies the action to be performed when the instance is terminated using `max_run_duration` and `STOP` `instance_termination_action`. Only support `true` `discard_local_ssd` at this point. Structure is documented below.
|
11294
|
-
"""
|
11295
|
-
return pulumi.get(self, "on_instance_stop_action")
|
11296
|
-
|
11297
|
-
@on_instance_stop_action.setter
|
11298
|
-
def on_instance_stop_action(self, value: Optional[pulumi.Input['InstanceSchedulingOnInstanceStopActionArgs']]):
|
11299
|
-
pulumi.set(self, "on_instance_stop_action", value)
|
11300
|
-
|
11301
11204
|
@property
|
11302
11205
|
@pulumi.getter
|
11303
11206
|
def preemptible(self) -> Optional[pulumi.Input[bool]]:
|
@@ -11380,13 +11283,12 @@ class InstanceSchedulingMaxRunDurationArgs:
|
|
11380
11283
|
seconds: pulumi.Input[int],
|
11381
11284
|
nanos: Optional[pulumi.Input[int]] = None):
|
11382
11285
|
"""
|
11383
|
-
:param pulumi.Input[int] seconds: Span of time at a resolution of a second.
|
11384
|
-
315,576,000,000 inclusive.
|
11385
|
-
sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years.
|
11286
|
+
:param pulumi.Input[int] seconds: Span of time at a resolution of a second.
|
11287
|
+
Must be from 0 to 315,576,000,000 inclusive.
|
11386
11288
|
:param pulumi.Input[int] nanos: Span of time that's a fraction of a second at nanosecond
|
11387
|
-
resolution. Durations less than one second are represented
|
11388
|
-
|
11389
|
-
999,999,999 inclusive.
|
11289
|
+
resolution. Durations less than one second are represented
|
11290
|
+
with a 0 seconds field and a positive nanos field. Must
|
11291
|
+
be from 0 to 999,999,999 inclusive.
|
11390
11292
|
"""
|
11391
11293
|
pulumi.set(__self__, "seconds", seconds)
|
11392
11294
|
if nanos is not None:
|
@@ -11396,9 +11298,8 @@ class InstanceSchedulingMaxRunDurationArgs:
|
|
11396
11298
|
@pulumi.getter
|
11397
11299
|
def seconds(self) -> pulumi.Input[int]:
|
11398
11300
|
"""
|
11399
|
-
Span of time at a resolution of a second.
|
11400
|
-
315,576,000,000 inclusive.
|
11401
|
-
sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years.
|
11301
|
+
Span of time at a resolution of a second.
|
11302
|
+
Must be from 0 to 315,576,000,000 inclusive.
|
11402
11303
|
"""
|
11403
11304
|
return pulumi.get(self, "seconds")
|
11404
11305
|
|
@@ -11411,9 +11312,9 @@ class InstanceSchedulingMaxRunDurationArgs:
|
|
11411
11312
|
def nanos(self) -> Optional[pulumi.Input[int]]:
|
11412
11313
|
"""
|
11413
11314
|
Span of time that's a fraction of a second at nanosecond
|
11414
|
-
resolution. Durations less than one second are represented
|
11415
|
-
|
11416
|
-
999,999,999 inclusive.
|
11315
|
+
resolution. Durations less than one second are represented
|
11316
|
+
with a 0 seconds field and a positive nanos field. Must
|
11317
|
+
be from 0 to 999,999,999 inclusive.
|
11417
11318
|
"""
|
11418
11319
|
return pulumi.get(self, "nanos")
|
11419
11320
|
|
@@ -11476,29 +11377,6 @@ class InstanceSchedulingNodeAffinityArgs:
|
|
11476
11377
|
pulumi.set(self, "values", value)
|
11477
11378
|
|
11478
11379
|
|
11479
|
-
@pulumi.input_type
|
11480
|
-
class InstanceSchedulingOnInstanceStopActionArgs:
|
11481
|
-
def __init__(__self__, *,
|
11482
|
-
discard_local_ssd: Optional[pulumi.Input[bool]] = None):
|
11483
|
-
"""
|
11484
|
-
:param pulumi.Input[bool] discard_local_ssd: Whether to discard local SSDs attached to the VM while terminating using `max_run_duration`. Only supports `true` at this point.
|
11485
|
-
"""
|
11486
|
-
if discard_local_ssd is not None:
|
11487
|
-
pulumi.set(__self__, "discard_local_ssd", discard_local_ssd)
|
11488
|
-
|
11489
|
-
@property
|
11490
|
-
@pulumi.getter(name="discardLocalSsd")
|
11491
|
-
def discard_local_ssd(self) -> Optional[pulumi.Input[bool]]:
|
11492
|
-
"""
|
11493
|
-
Whether to discard local SSDs attached to the VM while terminating using `max_run_duration`. Only supports `true` at this point.
|
11494
|
-
"""
|
11495
|
-
return pulumi.get(self, "discard_local_ssd")
|
11496
|
-
|
11497
|
-
@discard_local_ssd.setter
|
11498
|
-
def discard_local_ssd(self, value: Optional[pulumi.Input[bool]]):
|
11499
|
-
pulumi.set(self, "discard_local_ssd", value)
|
11500
|
-
|
11501
|
-
|
11502
11380
|
@pulumi.input_type
|
11503
11381
|
class InstanceScratchDiskArgs:
|
11504
11382
|
def __init__(__self__, *,
|
@@ -12907,7 +12785,6 @@ class InstanceTemplateSchedulingArgs:
|
|
12907
12785
|
min_node_cpus: Optional[pulumi.Input[int]] = None,
|
12908
12786
|
node_affinities: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceTemplateSchedulingNodeAffinityArgs']]]] = None,
|
12909
12787
|
on_host_maintenance: Optional[pulumi.Input[str]] = None,
|
12910
|
-
on_instance_stop_action: Optional[pulumi.Input['InstanceTemplateSchedulingOnInstanceStopActionArgs']] = None,
|
12911
12788
|
preemptible: Optional[pulumi.Input[bool]] = None,
|
12912
12789
|
provisioning_model: Optional[pulumi.Input[str]] = None):
|
12913
12790
|
"""
|
@@ -12920,7 +12797,8 @@ class InstanceTemplateSchedulingArgs:
|
|
12920
12797
|
between 0 and 168 hours with hour granularity and the default value being 1
|
12921
12798
|
hour.
|
12922
12799
|
:param pulumi.Input[str] maintenance_interval: Specifies the frequency of planned maintenance events. The accepted values are: `PERIODIC`.
|
12923
|
-
:param pulumi.Input['InstanceTemplateSchedulingMaxRunDurationArgs'] max_run_duration: The duration of the instance. Instance will run and be terminated after then, the termination action could be defined in `instance_termination_action`. Structure is documented below.
|
12800
|
+
:param pulumi.Input['InstanceTemplateSchedulingMaxRunDurationArgs'] max_run_duration: The duration of the instance. Instance will run and be terminated after then, the termination action could be defined in `instance_termination_action`. Only support `DELETE` `instance_termination_action` at this point. Structure is documented below.
|
12801
|
+
<a name="nested_max_run_duration"></a>The `max_run_duration` block supports:
|
12924
12802
|
:param pulumi.Input[int] min_node_cpus: Minimum number of cpus for the instance.
|
12925
12803
|
:param pulumi.Input[Sequence[pulumi.Input['InstanceTemplateSchedulingNodeAffinityArgs']]] node_affinities: Specifies node affinities or anti-affinities
|
12926
12804
|
to determine which sole-tenant nodes your instances and managed instance
|
@@ -12929,7 +12807,6 @@ class InstanceTemplateSchedulingArgs:
|
|
12929
12807
|
Structure documented below.
|
12930
12808
|
:param pulumi.Input[str] on_host_maintenance: Defines the maintenance behavior for this
|
12931
12809
|
instance.
|
12932
|
-
:param pulumi.Input['InstanceTemplateSchedulingOnInstanceStopActionArgs'] on_instance_stop_action: Specifies the action to be performed when the instance is terminated using `max_run_duration` and `STOP` `instance_termination_action`. Only support `true` `discard_local_ssd` at this point. Structure is documented below.
|
12933
12810
|
:param pulumi.Input[bool] preemptible: Allows instance to be preempted. This defaults to
|
12934
12811
|
false. Read more on this
|
12935
12812
|
[here](https://cloud.google.com/compute/docs/instances/preemptible).
|
@@ -12954,8 +12831,6 @@ class InstanceTemplateSchedulingArgs:
|
|
12954
12831
|
pulumi.set(__self__, "node_affinities", node_affinities)
|
12955
12832
|
if on_host_maintenance is not None:
|
12956
12833
|
pulumi.set(__self__, "on_host_maintenance", on_host_maintenance)
|
12957
|
-
if on_instance_stop_action is not None:
|
12958
|
-
pulumi.set(__self__, "on_instance_stop_action", on_instance_stop_action)
|
12959
12834
|
if preemptible is not None:
|
12960
12835
|
pulumi.set(__self__, "preemptible", preemptible)
|
12961
12836
|
if provisioning_model is not None:
|
@@ -13018,7 +12893,8 @@ class InstanceTemplateSchedulingArgs:
|
|
13018
12893
|
@pulumi.getter(name="maxRunDuration")
|
13019
12894
|
def max_run_duration(self) -> Optional[pulumi.Input['InstanceTemplateSchedulingMaxRunDurationArgs']]:
|
13020
12895
|
"""
|
13021
|
-
The duration of the instance. Instance will run and be terminated after then, the termination action could be defined in `instance_termination_action`. Structure is documented below.
|
12896
|
+
The duration of the instance. Instance will run and be terminated after then, the termination action could be defined in `instance_termination_action`. Only support `DELETE` `instance_termination_action` at this point. Structure is documented below.
|
12897
|
+
<a name="nested_max_run_duration"></a>The `max_run_duration` block supports:
|
13022
12898
|
"""
|
13023
12899
|
return pulumi.get(self, "max_run_duration")
|
13024
12900
|
|
@@ -13067,18 +12943,6 @@ class InstanceTemplateSchedulingArgs:
|
|
13067
12943
|
def on_host_maintenance(self, value: Optional[pulumi.Input[str]]):
|
13068
12944
|
pulumi.set(self, "on_host_maintenance", value)
|
13069
12945
|
|
13070
|
-
@property
|
13071
|
-
@pulumi.getter(name="onInstanceStopAction")
|
13072
|
-
def on_instance_stop_action(self) -> Optional[pulumi.Input['InstanceTemplateSchedulingOnInstanceStopActionArgs']]:
|
13073
|
-
"""
|
13074
|
-
Specifies the action to be performed when the instance is terminated using `max_run_duration` and `STOP` `instance_termination_action`. Only support `true` `discard_local_ssd` at this point. Structure is documented below.
|
13075
|
-
"""
|
13076
|
-
return pulumi.get(self, "on_instance_stop_action")
|
13077
|
-
|
13078
|
-
@on_instance_stop_action.setter
|
13079
|
-
def on_instance_stop_action(self, value: Optional[pulumi.Input['InstanceTemplateSchedulingOnInstanceStopActionArgs']]):
|
13080
|
-
pulumi.set(self, "on_instance_stop_action", value)
|
13081
|
-
|
13082
12946
|
@property
|
13083
12947
|
@pulumi.getter
|
13084
12948
|
def preemptible(self) -> Optional[pulumi.Input[bool]]:
|
@@ -13161,13 +13025,12 @@ class InstanceTemplateSchedulingMaxRunDurationArgs:
|
|
13161
13025
|
seconds: pulumi.Input[int],
|
13162
13026
|
nanos: Optional[pulumi.Input[int]] = None):
|
13163
13027
|
"""
|
13164
|
-
:param pulumi.Input[int] seconds: Span of time at a resolution of a second.
|
13165
|
-
315,576,000,000 inclusive.
|
13166
|
-
sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years.
|
13028
|
+
:param pulumi.Input[int] seconds: Span of time at a resolution of a second.
|
13029
|
+
Must be from 0 to 315,576,000,000 inclusive.
|
13167
13030
|
:param pulumi.Input[int] nanos: Span of time that's a fraction of a second at nanosecond
|
13168
|
-
resolution. Durations less than one second are represented
|
13169
|
-
|
13170
|
-
999,999,999 inclusive.
|
13031
|
+
resolution. Durations less than one second are represented
|
13032
|
+
with a 0 seconds field and a positive nanos field. Must
|
13033
|
+
be from 0 to 999,999,999 inclusive.
|
13171
13034
|
"""
|
13172
13035
|
pulumi.set(__self__, "seconds", seconds)
|
13173
13036
|
if nanos is not None:
|
@@ -13177,9 +13040,8 @@ class InstanceTemplateSchedulingMaxRunDurationArgs:
|
|
13177
13040
|
@pulumi.getter
|
13178
13041
|
def seconds(self) -> pulumi.Input[int]:
|
13179
13042
|
"""
|
13180
|
-
Span of time at a resolution of a second.
|
13181
|
-
315,576,000,000 inclusive.
|
13182
|
-
sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years.
|
13043
|
+
Span of time at a resolution of a second.
|
13044
|
+
Must be from 0 to 315,576,000,000 inclusive.
|
13183
13045
|
"""
|
13184
13046
|
return pulumi.get(self, "seconds")
|
13185
13047
|
|
@@ -13192,9 +13054,9 @@ class InstanceTemplateSchedulingMaxRunDurationArgs:
|
|
13192
13054
|
def nanos(self) -> Optional[pulumi.Input[int]]:
|
13193
13055
|
"""
|
13194
13056
|
Span of time that's a fraction of a second at nanosecond
|
13195
|
-
resolution. Durations less than one second are represented
|
13196
|
-
|
13197
|
-
999,999,999 inclusive.
|
13057
|
+
resolution. Durations less than one second are represented
|
13058
|
+
with a 0 seconds field and a positive nanos field. Must
|
13059
|
+
be from 0 to 999,999,999 inclusive.
|
13198
13060
|
"""
|
13199
13061
|
return pulumi.get(self, "nanos")
|
13200
13062
|
|
@@ -13253,29 +13115,6 @@ class InstanceTemplateSchedulingNodeAffinityArgs:
|
|
13253
13115
|
pulumi.set(self, "values", value)
|
13254
13116
|
|
13255
13117
|
|
13256
|
-
@pulumi.input_type
|
13257
|
-
class InstanceTemplateSchedulingOnInstanceStopActionArgs:
|
13258
|
-
def __init__(__self__, *,
|
13259
|
-
discard_local_ssd: Optional[pulumi.Input[bool]] = None):
|
13260
|
-
"""
|
13261
|
-
:param pulumi.Input[bool] discard_local_ssd: Whether to discard local SSDs attached to the VM while terminating using `max_run_duration`. Only supports `true` at this point.
|
13262
|
-
"""
|
13263
|
-
if discard_local_ssd is not None:
|
13264
|
-
pulumi.set(__self__, "discard_local_ssd", discard_local_ssd)
|
13265
|
-
|
13266
|
-
@property
|
13267
|
-
@pulumi.getter(name="discardLocalSsd")
|
13268
|
-
def discard_local_ssd(self) -> Optional[pulumi.Input[bool]]:
|
13269
|
-
"""
|
13270
|
-
Whether to discard local SSDs attached to the VM while terminating using `max_run_duration`. Only supports `true` at this point.
|
13271
|
-
"""
|
13272
|
-
return pulumi.get(self, "discard_local_ssd")
|
13273
|
-
|
13274
|
-
@discard_local_ssd.setter
|
13275
|
-
def discard_local_ssd(self, value: Optional[pulumi.Input[bool]]):
|
13276
|
-
pulumi.set(self, "discard_local_ssd", value)
|
13277
|
-
|
13278
|
-
|
13279
13118
|
@pulumi.input_type
|
13280
13119
|
class InstanceTemplateServiceAccountArgs:
|
13281
13120
|
def __init__(__self__, *,
|
@@ -21252,7 +21091,6 @@ class RegionInstanceTemplateSchedulingArgs:
|
|
21252
21091
|
min_node_cpus: Optional[pulumi.Input[int]] = None,
|
21253
21092
|
node_affinities: Optional[pulumi.Input[Sequence[pulumi.Input['RegionInstanceTemplateSchedulingNodeAffinityArgs']]]] = None,
|
21254
21093
|
on_host_maintenance: Optional[pulumi.Input[str]] = None,
|
21255
|
-
on_instance_stop_action: Optional[pulumi.Input['RegionInstanceTemplateSchedulingOnInstanceStopActionArgs']] = None,
|
21256
21094
|
preemptible: Optional[pulumi.Input[bool]] = None,
|
21257
21095
|
provisioning_model: Optional[pulumi.Input[str]] = None):
|
21258
21096
|
"""
|
@@ -21274,7 +21112,6 @@ class RegionInstanceTemplateSchedulingArgs:
|
|
21274
21112
|
Structure documented below.
|
21275
21113
|
:param pulumi.Input[str] on_host_maintenance: Defines the maintenance behavior for this
|
21276
21114
|
instance.
|
21277
|
-
:param pulumi.Input['RegionInstanceTemplateSchedulingOnInstanceStopActionArgs'] on_instance_stop_action: Defines the behaviour for instances with the instance_termination_action.
|
21278
21115
|
:param pulumi.Input[bool] preemptible: Allows instance to be preempted. This defaults to
|
21279
21116
|
false. Read more on this
|
21280
21117
|
[here](https://cloud.google.com/compute/docs/instances/preemptible).
|
@@ -21299,8 +21136,6 @@ class RegionInstanceTemplateSchedulingArgs:
|
|
21299
21136
|
pulumi.set(__self__, "node_affinities", node_affinities)
|
21300
21137
|
if on_host_maintenance is not None:
|
21301
21138
|
pulumi.set(__self__, "on_host_maintenance", on_host_maintenance)
|
21302
|
-
if on_instance_stop_action is not None:
|
21303
|
-
pulumi.set(__self__, "on_instance_stop_action", on_instance_stop_action)
|
21304
21139
|
if preemptible is not None:
|
21305
21140
|
pulumi.set(__self__, "preemptible", preemptible)
|
21306
21141
|
if provisioning_model is not None:
|
@@ -21412,18 +21247,6 @@ class RegionInstanceTemplateSchedulingArgs:
|
|
21412
21247
|
def on_host_maintenance(self, value: Optional[pulumi.Input[str]]):
|
21413
21248
|
pulumi.set(self, "on_host_maintenance", value)
|
21414
21249
|
|
21415
|
-
@property
|
21416
|
-
@pulumi.getter(name="onInstanceStopAction")
|
21417
|
-
def on_instance_stop_action(self) -> Optional[pulumi.Input['RegionInstanceTemplateSchedulingOnInstanceStopActionArgs']]:
|
21418
|
-
"""
|
21419
|
-
Defines the behaviour for instances with the instance_termination_action.
|
21420
|
-
"""
|
21421
|
-
return pulumi.get(self, "on_instance_stop_action")
|
21422
|
-
|
21423
|
-
@on_instance_stop_action.setter
|
21424
|
-
def on_instance_stop_action(self, value: Optional[pulumi.Input['RegionInstanceTemplateSchedulingOnInstanceStopActionArgs']]):
|
21425
|
-
pulumi.set(self, "on_instance_stop_action", value)
|
21426
|
-
|
21427
21250
|
@property
|
21428
21251
|
@pulumi.getter
|
21429
21252
|
def preemptible(self) -> Optional[pulumi.Input[bool]]:
|
@@ -21598,29 +21421,6 @@ class RegionInstanceTemplateSchedulingNodeAffinityArgs:
|
|
21598
21421
|
pulumi.set(self, "values", value)
|
21599
21422
|
|
21600
21423
|
|
21601
|
-
@pulumi.input_type
|
21602
|
-
class RegionInstanceTemplateSchedulingOnInstanceStopActionArgs:
|
21603
|
-
def __init__(__self__, *,
|
21604
|
-
discard_local_ssd: Optional[pulumi.Input[bool]] = None):
|
21605
|
-
"""
|
21606
|
-
:param pulumi.Input[bool] discard_local_ssd: If true, the contents of any attached Local SSD disks will be discarded.
|
21607
|
-
"""
|
21608
|
-
if discard_local_ssd is not None:
|
21609
|
-
pulumi.set(__self__, "discard_local_ssd", discard_local_ssd)
|
21610
|
-
|
21611
|
-
@property
|
21612
|
-
@pulumi.getter(name="discardLocalSsd")
|
21613
|
-
def discard_local_ssd(self) -> Optional[pulumi.Input[bool]]:
|
21614
|
-
"""
|
21615
|
-
If true, the contents of any attached Local SSD disks will be discarded.
|
21616
|
-
"""
|
21617
|
-
return pulumi.get(self, "discard_local_ssd")
|
21618
|
-
|
21619
|
-
@discard_local_ssd.setter
|
21620
|
-
def discard_local_ssd(self, value: Optional[pulumi.Input[bool]]):
|
21621
|
-
pulumi.set(self, "discard_local_ssd", value)
|
21622
|
-
|
21623
|
-
|
21624
21424
|
@pulumi.input_type
|
21625
21425
|
class RegionInstanceTemplateServiceAccountArgs:
|
21626
21426
|
def __init__(__self__, *,
|
@@ -30404,7 +30204,6 @@ class SecurityPolicyAdvancedOptionsConfigArgs:
|
|
30404
30204
|
:param pulumi.Input[str] json_parsing: Whether or not to JSON parse the payload body. Defaults to `DISABLED`.
|
30405
30205
|
* `DISABLED` - Don't parse JSON payloads in POST bodies.
|
30406
30206
|
* `STANDARD` - Parse JSON payloads in POST bodies.
|
30407
|
-
* `STANDARD_WITH_GRAPHQL` - Parse JSON and GraphQL payloads in POST bodies.
|
30408
30207
|
:param pulumi.Input[str] log_level: Log level to use. Defaults to `NORMAL`.
|
30409
30208
|
* `NORMAL` - Normal log level.
|
30410
30209
|
* `VERBOSE` - Verbose log level.
|
@@ -30439,7 +30238,6 @@ class SecurityPolicyAdvancedOptionsConfigArgs:
|
|
30439
30238
|
Whether or not to JSON parse the payload body. Defaults to `DISABLED`.
|
30440
30239
|
* `DISABLED` - Don't parse JSON payloads in POST bodies.
|
30441
30240
|
* `STANDARD` - Parse JSON payloads in POST bodies.
|
30442
|
-
* `STANDARD_WITH_GRAPHQL` - Parse JSON and GraphQL payloads in POST bodies.
|
30443
30241
|
"""
|
30444
30242
|
return pulumi.get(self, "json_parsing")
|
30445
30243
|
|
@@ -31200,73 +30998,102 @@ class SecurityPolicyRulePreconfiguredWafConfigExclusionRequestUriArgs:
|
|
31200
30998
|
@pulumi.input_type
|
31201
30999
|
class SecurityPolicyRuleRateLimitOptionsArgs:
|
31202
31000
|
def __init__(__self__, *,
|
31001
|
+
conform_action: pulumi.Input[str],
|
31002
|
+
exceed_action: pulumi.Input[str],
|
31003
|
+
rate_limit_threshold: pulumi.Input['SecurityPolicyRuleRateLimitOptionsRateLimitThresholdArgs'],
|
31203
31004
|
ban_duration_sec: Optional[pulumi.Input[int]] = None,
|
31204
31005
|
ban_threshold: Optional[pulumi.Input['SecurityPolicyRuleRateLimitOptionsBanThresholdArgs']] = None,
|
31205
|
-
conform_action: Optional[pulumi.Input[str]] = None,
|
31206
31006
|
enforce_on_key: Optional[pulumi.Input[str]] = None,
|
31207
31007
|
enforce_on_key_configs: Optional[pulumi.Input[Sequence[pulumi.Input['SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfigArgs']]]] = None,
|
31208
31008
|
enforce_on_key_name: Optional[pulumi.Input[str]] = None,
|
31209
|
-
|
31210
|
-
exceed_redirect_options: Optional[pulumi.Input['SecurityPolicyRuleRateLimitOptionsExceedRedirectOptionsArgs']] = None,
|
31211
|
-
rate_limit_threshold: Optional[pulumi.Input['SecurityPolicyRuleRateLimitOptionsRateLimitThresholdArgs']] = None):
|
31009
|
+
exceed_redirect_options: Optional[pulumi.Input['SecurityPolicyRuleRateLimitOptionsExceedRedirectOptionsArgs']] = None):
|
31212
31010
|
"""
|
31213
|
-
:param pulumi.Input[
|
31011
|
+
:param pulumi.Input[str] conform_action: Action to take for requests that are under the configured rate limit threshold. Valid option is `allow` only.
|
31012
|
+
:param pulumi.Input[str] exceed_action: When a request is denied, returns the HTTP response code specified.
|
31013
|
+
Valid options are `deny()` where valid values for status are 403, 404, 429, and 502.
|
31014
|
+
:param pulumi.Input['SecurityPolicyRuleRateLimitOptionsRateLimitThresholdArgs'] rate_limit_threshold: Threshold at which to begin ratelimiting. Structure is documented below.
|
31015
|
+
:param pulumi.Input[int] ban_duration_sec: Can only be specified if the `action` for the rule is `rate_based_ban`.
|
31214
31016
|
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.
|
31215
|
-
:param pulumi.Input['SecurityPolicyRuleRateLimitOptionsBanThresholdArgs'] ban_threshold: Can only be specified if the action for the rule is
|
31216
|
-
If specified, the key will be banned for the configured
|
31217
|
-
Structure is documented below.
|
31218
|
-
:param pulumi.Input[str]
|
31219
|
-
|
31220
|
-
|
31221
|
-
*
|
31222
|
-
*
|
31223
|
-
*
|
31224
|
-
*
|
31225
|
-
*
|
31226
|
-
*
|
31227
|
-
*
|
31228
|
-
|
31229
|
-
|
31230
|
-
|
31231
|
-
Possible values are: `ALL`, `IP`, `HTTP_HEADER`, `XFF_IP`, `HTTP_COOKIE`, `HTTP_PATH`, `SNI`, `REGION_CODE`, `TLS_JA3_FINGERPRINT`, `USER_IP`.
|
31232
|
-
:param pulumi.Input[Sequence[pulumi.Input['SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfigArgs']]] enforce_on_key_configs: If specified, any combination of values of enforceOnKeyType/enforceOnKeyName is treated as the key on which ratelimit threshold/action is enforced.
|
31233
|
-
You can specify up to 3 enforceOnKeyConfigs.
|
31234
|
-
If enforceOnKeyConfigs is specified, enforceOnKey must not be specified.
|
31235
|
-
Structure is documented below.
|
31017
|
+
:param pulumi.Input['SecurityPolicyRuleRateLimitOptionsBanThresholdArgs'] ban_threshold: Can only be specified if the `action` for the rule is `rate_based_ban`.
|
31018
|
+
If specified, the key will be banned for the configured `ban_duration_sec` when the number of requests that exceed the `rate_limit_threshold` also
|
31019
|
+
exceed this `ban_threshold`. Structure is documented below.
|
31020
|
+
:param pulumi.Input[str] enforce_on_key: Determines the key to enforce the rate_limit_threshold on. If not specified, defaults to `ALL`.
|
31021
|
+
|
31022
|
+
* `ALL`: A single rate limit threshold is applied to all the requests matching this rule.
|
31023
|
+
* `IP`: The source IP address of the request is the key. Each IP has this limit enforced separately.
|
31024
|
+
* `HTTP_HEADER`: The value of the HTTP header whose name is configured under `enforce_on_key_name`. The key value is truncated to the first 128 bytes of the header value. If no such header is present in the request, the key type defaults to `ALL`.
|
31025
|
+
* `XFF_IP`: The first IP address (i.e. the originating client IP address) specified in the list of IPs under `X-Forwarded-For` HTTP header. If no such header is present or the value is not a valid IP, the key type defaults to `ALL`.
|
31026
|
+
* `HTTP_COOKIE`: The value of the HTTP cookie whose name is configured under `enforce_on_key_name`. The key value is truncated to the first 128 bytes of the cookie value. If no such cookie is present in the request, the key type defaults to `ALL`.
|
31027
|
+
* `HTTP_PATH`: The URL path of the HTTP request. The key value is truncated to the first 128 bytes
|
31028
|
+
* `SNI`: Server name indication in the TLS session of the HTTPS request. The key value is truncated to the first 128 bytes. The key type defaults to `ALL` on a HTTP session.
|
31029
|
+
* `REGION_CODE`: The country/region from which the request originates.
|
31030
|
+
:param pulumi.Input[Sequence[pulumi.Input['SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfigArgs']]] enforce_on_key_configs: If specified, any combination of values of enforce_on_key_type/enforce_on_key_name is treated as the key on which rate limit threshold/action is enforced. You can specify up to 3 enforce_on_key_configs. If `enforce_on_key_configs` is specified, `enforce_on_key` must be set to an empty string. Structure is documented below.
|
31031
|
+
|
31032
|
+
**Note:** To avoid the conflict between `enforce_on_key` and `enforce_on_key_configs`, the field `enforce_on_key` needs to be set to an empty string.
|
31236
31033
|
:param pulumi.Input[str] enforce_on_key_name: Rate limit key name applicable only for the following key types:
|
31237
|
-
|
31238
|
-
|
31239
|
-
|
31240
|
-
|
31241
|
-
:param pulumi.Input['SecurityPolicyRuleRateLimitOptionsExceedRedirectOptionsArgs'] 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. This field is only supported in Global Security Policies of type CLOUD_ARMOR.
|
31242
|
-
Structure is documented below.
|
31243
|
-
:param pulumi.Input['SecurityPolicyRuleRateLimitOptionsRateLimitThresholdArgs'] rate_limit_threshold: Threshold at which to begin ratelimiting.
|
31244
|
-
Structure is documented below.
|
31034
|
+
|
31035
|
+
* `HTTP_HEADER` -- Name of the HTTP header whose value is taken as the key value.
|
31036
|
+
* `HTTP_COOKIE` -- Name of the HTTP cookie whose value is taken as the key value.
|
31037
|
+
:param pulumi.Input['SecurityPolicyRuleRateLimitOptionsExceedRedirectOptionsArgs'] 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.
|
31245
31038
|
"""
|
31039
|
+
pulumi.set(__self__, "conform_action", conform_action)
|
31040
|
+
pulumi.set(__self__, "exceed_action", exceed_action)
|
31041
|
+
pulumi.set(__self__, "rate_limit_threshold", rate_limit_threshold)
|
31246
31042
|
if ban_duration_sec is not None:
|
31247
31043
|
pulumi.set(__self__, "ban_duration_sec", ban_duration_sec)
|
31248
31044
|
if ban_threshold is not None:
|
31249
31045
|
pulumi.set(__self__, "ban_threshold", ban_threshold)
|
31250
|
-
if conform_action is not None:
|
31251
|
-
pulumi.set(__self__, "conform_action", conform_action)
|
31252
31046
|
if enforce_on_key is not None:
|
31253
31047
|
pulumi.set(__self__, "enforce_on_key", enforce_on_key)
|
31254
31048
|
if enforce_on_key_configs is not None:
|
31255
31049
|
pulumi.set(__self__, "enforce_on_key_configs", enforce_on_key_configs)
|
31256
31050
|
if enforce_on_key_name is not None:
|
31257
31051
|
pulumi.set(__self__, "enforce_on_key_name", enforce_on_key_name)
|
31258
|
-
if exceed_action is not None:
|
31259
|
-
pulumi.set(__self__, "exceed_action", exceed_action)
|
31260
31052
|
if exceed_redirect_options is not None:
|
31261
31053
|
pulumi.set(__self__, "exceed_redirect_options", exceed_redirect_options)
|
31262
|
-
|
31263
|
-
|
31054
|
+
|
31055
|
+
@property
|
31056
|
+
@pulumi.getter(name="conformAction")
|
31057
|
+
def conform_action(self) -> pulumi.Input[str]:
|
31058
|
+
"""
|
31059
|
+
Action to take for requests that are under the configured rate limit threshold. Valid option is `allow` only.
|
31060
|
+
"""
|
31061
|
+
return pulumi.get(self, "conform_action")
|
31062
|
+
|
31063
|
+
@conform_action.setter
|
31064
|
+
def conform_action(self, value: pulumi.Input[str]):
|
31065
|
+
pulumi.set(self, "conform_action", value)
|
31066
|
+
|
31067
|
+
@property
|
31068
|
+
@pulumi.getter(name="exceedAction")
|
31069
|
+
def exceed_action(self) -> pulumi.Input[str]:
|
31070
|
+
"""
|
31071
|
+
When a request is denied, returns the HTTP response code specified.
|
31072
|
+
Valid options are `deny()` where valid values for status are 403, 404, 429, and 502.
|
31073
|
+
"""
|
31074
|
+
return pulumi.get(self, "exceed_action")
|
31075
|
+
|
31076
|
+
@exceed_action.setter
|
31077
|
+
def exceed_action(self, value: pulumi.Input[str]):
|
31078
|
+
pulumi.set(self, "exceed_action", value)
|
31079
|
+
|
31080
|
+
@property
|
31081
|
+
@pulumi.getter(name="rateLimitThreshold")
|
31082
|
+
def rate_limit_threshold(self) -> pulumi.Input['SecurityPolicyRuleRateLimitOptionsRateLimitThresholdArgs']:
|
31083
|
+
"""
|
31084
|
+
Threshold at which to begin ratelimiting. Structure is documented below.
|
31085
|
+
"""
|
31086
|
+
return pulumi.get(self, "rate_limit_threshold")
|
31087
|
+
|
31088
|
+
@rate_limit_threshold.setter
|
31089
|
+
def rate_limit_threshold(self, value: pulumi.Input['SecurityPolicyRuleRateLimitOptionsRateLimitThresholdArgs']):
|
31090
|
+
pulumi.set(self, "rate_limit_threshold", value)
|
31264
31091
|
|
31265
31092
|
@property
|
31266
31093
|
@pulumi.getter(name="banDurationSec")
|
31267
31094
|
def ban_duration_sec(self) -> Optional[pulumi.Input[int]]:
|
31268
31095
|
"""
|
31269
|
-
Can only be specified if the action for the rule is
|
31096
|
+
Can only be specified if the `action` for the rule is `rate_based_ban`.
|
31270
31097
|
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.
|
31271
31098
|
"""
|
31272
31099
|
return pulumi.get(self, "ban_duration_sec")
|
@@ -31279,9 +31106,9 @@ class SecurityPolicyRuleRateLimitOptionsArgs:
|
|
31279
31106
|
@pulumi.getter(name="banThreshold")
|
31280
31107
|
def ban_threshold(self) -> Optional[pulumi.Input['SecurityPolicyRuleRateLimitOptionsBanThresholdArgs']]:
|
31281
31108
|
"""
|
31282
|
-
Can only be specified if the action for the rule is
|
31283
|
-
If specified, the key will be banned for the configured
|
31284
|
-
Structure is documented below.
|
31109
|
+
Can only be specified if the `action` for the rule is `rate_based_ban`.
|
31110
|
+
If specified, the key will be banned for the configured `ban_duration_sec` when the number of requests that exceed the `rate_limit_threshold` also
|
31111
|
+
exceed this `ban_threshold`. Structure is documented below.
|
31285
31112
|
"""
|
31286
31113
|
return pulumi.get(self, "ban_threshold")
|
31287
31114
|
|
@@ -31289,35 +31116,20 @@ class SecurityPolicyRuleRateLimitOptionsArgs:
|
|
31289
31116
|
def ban_threshold(self, value: Optional[pulumi.Input['SecurityPolicyRuleRateLimitOptionsBanThresholdArgs']]):
|
31290
31117
|
pulumi.set(self, "ban_threshold", value)
|
31291
31118
|
|
31292
|
-
@property
|
31293
|
-
@pulumi.getter(name="conformAction")
|
31294
|
-
def conform_action(self) -> Optional[pulumi.Input[str]]:
|
31295
|
-
"""
|
31296
|
-
Action to take for requests that are under the configured rate limit threshold.
|
31297
|
-
Valid option is "allow" only.
|
31298
|
-
"""
|
31299
|
-
return pulumi.get(self, "conform_action")
|
31300
|
-
|
31301
|
-
@conform_action.setter
|
31302
|
-
def conform_action(self, value: Optional[pulumi.Input[str]]):
|
31303
|
-
pulumi.set(self, "conform_action", value)
|
31304
|
-
|
31305
31119
|
@property
|
31306
31120
|
@pulumi.getter(name="enforceOnKey")
|
31307
31121
|
def enforce_on_key(self) -> Optional[pulumi.Input[str]]:
|
31308
31122
|
"""
|
31309
|
-
Determines the key to enforce the
|
31310
|
-
|
31311
|
-
*
|
31312
|
-
*
|
31313
|
-
*
|
31314
|
-
*
|
31315
|
-
*
|
31316
|
-
*
|
31317
|
-
*
|
31318
|
-
*
|
31319
|
-
* USER_IP: The IP address of the originating client, which is resolved based on "userIpRequestHeaders" configured with the security policy. If there is no "userIpRequestHeaders" configuration or an IP address cannot be resolved from it, the key type defaults to IP.
|
31320
|
-
Possible values are: `ALL`, `IP`, `HTTP_HEADER`, `XFF_IP`, `HTTP_COOKIE`, `HTTP_PATH`, `SNI`, `REGION_CODE`, `TLS_JA3_FINGERPRINT`, `USER_IP`.
|
31123
|
+
Determines the key to enforce the rate_limit_threshold on. If not specified, defaults to `ALL`.
|
31124
|
+
|
31125
|
+
* `ALL`: A single rate limit threshold is applied to all the requests matching this rule.
|
31126
|
+
* `IP`: The source IP address of the request is the key. Each IP has this limit enforced separately.
|
31127
|
+
* `HTTP_HEADER`: The value of the HTTP header whose name is configured under `enforce_on_key_name`. The key value is truncated to the first 128 bytes of the header value. If no such header is present in the request, the key type defaults to `ALL`.
|
31128
|
+
* `XFF_IP`: The first IP address (i.e. the originating client IP address) specified in the list of IPs under `X-Forwarded-For` HTTP header. If no such header is present or the value is not a valid IP, the key type defaults to `ALL`.
|
31129
|
+
* `HTTP_COOKIE`: The value of the HTTP cookie whose name is configured under `enforce_on_key_name`. The key value is truncated to the first 128 bytes of the cookie value. If no such cookie is present in the request, the key type defaults to `ALL`.
|
31130
|
+
* `HTTP_PATH`: The URL path of the HTTP request. The key value is truncated to the first 128 bytes
|
31131
|
+
* `SNI`: Server name indication in the TLS session of the HTTPS request. The key value is truncated to the first 128 bytes. The key type defaults to `ALL` on a HTTP session.
|
31132
|
+
* `REGION_CODE`: The country/region from which the request originates.
|
31321
31133
|
"""
|
31322
31134
|
return pulumi.get(self, "enforce_on_key")
|
31323
31135
|
|
@@ -31329,10 +31141,9 @@ class SecurityPolicyRuleRateLimitOptionsArgs:
|
|
31329
31141
|
@pulumi.getter(name="enforceOnKeyConfigs")
|
31330
31142
|
def enforce_on_key_configs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfigArgs']]]]:
|
31331
31143
|
"""
|
31332
|
-
If specified, any combination of values of
|
31333
|
-
|
31334
|
-
|
31335
|
-
Structure is documented below.
|
31144
|
+
If specified, any combination of values of enforce_on_key_type/enforce_on_key_name is treated as the key on which rate limit threshold/action is enforced. You can specify up to 3 enforce_on_key_configs. If `enforce_on_key_configs` is specified, `enforce_on_key` must be set to an empty string. Structure is documented below.
|
31145
|
+
|
31146
|
+
**Note:** To avoid the conflict between `enforce_on_key` and `enforce_on_key_configs`, the field `enforce_on_key` needs to be set to an empty string.
|
31336
31147
|
"""
|
31337
31148
|
return pulumi.get(self, "enforce_on_key_configs")
|
31338
31149
|
|
@@ -31345,8 +31156,9 @@ class SecurityPolicyRuleRateLimitOptionsArgs:
|
|
31345
31156
|
def enforce_on_key_name(self) -> Optional[pulumi.Input[str]]:
|
31346
31157
|
"""
|
31347
31158
|
Rate limit key name applicable only for the following key types:
|
31348
|
-
|
31349
|
-
|
31159
|
+
|
31160
|
+
* `HTTP_HEADER` -- Name of the HTTP header whose value is taken as the key value.
|
31161
|
+
* `HTTP_COOKIE` -- Name of the HTTP cookie whose value is taken as the key value.
|
31350
31162
|
"""
|
31351
31163
|
return pulumi.get(self, "enforce_on_key_name")
|
31352
31164
|
|
@@ -31354,25 +31166,11 @@ class SecurityPolicyRuleRateLimitOptionsArgs:
|
|
31354
31166
|
def enforce_on_key_name(self, value: Optional[pulumi.Input[str]]):
|
31355
31167
|
pulumi.set(self, "enforce_on_key_name", value)
|
31356
31168
|
|
31357
|
-
@property
|
31358
|
-
@pulumi.getter(name="exceedAction")
|
31359
|
-
def exceed_action(self) -> Optional[pulumi.Input[str]]:
|
31360
|
-
"""
|
31361
|
-
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.
|
31362
|
-
Valid options are deny(STATUS), where valid values for STATUS are 403, 404, 429, and 502.
|
31363
|
-
"""
|
31364
|
-
return pulumi.get(self, "exceed_action")
|
31365
|
-
|
31366
|
-
@exceed_action.setter
|
31367
|
-
def exceed_action(self, value: Optional[pulumi.Input[str]]):
|
31368
|
-
pulumi.set(self, "exceed_action", value)
|
31369
|
-
|
31370
31169
|
@property
|
31371
31170
|
@pulumi.getter(name="exceedRedirectOptions")
|
31372
31171
|
def exceed_redirect_options(self) -> Optional[pulumi.Input['SecurityPolicyRuleRateLimitOptionsExceedRedirectOptionsArgs']]:
|
31373
31172
|
"""
|
31374
|
-
Parameters defining the redirect action that is used as the exceed action. Cannot be specified if the exceed action is not redirect.
|
31375
|
-
Structure is documented below.
|
31173
|
+
Parameters defining the redirect action that is used as the exceed action. Cannot be specified if the exceed action is not redirect.
|
31376
31174
|
"""
|
31377
31175
|
return pulumi.get(self, "exceed_redirect_options")
|
31378
31176
|
|
@@ -31380,56 +31178,41 @@ class SecurityPolicyRuleRateLimitOptionsArgs:
|
|
31380
31178
|
def exceed_redirect_options(self, value: Optional[pulumi.Input['SecurityPolicyRuleRateLimitOptionsExceedRedirectOptionsArgs']]):
|
31381
31179
|
pulumi.set(self, "exceed_redirect_options", value)
|
31382
31180
|
|
31383
|
-
@property
|
31384
|
-
@pulumi.getter(name="rateLimitThreshold")
|
31385
|
-
def rate_limit_threshold(self) -> Optional[pulumi.Input['SecurityPolicyRuleRateLimitOptionsRateLimitThresholdArgs']]:
|
31386
|
-
"""
|
31387
|
-
Threshold at which to begin ratelimiting.
|
31388
|
-
Structure is documented below.
|
31389
|
-
"""
|
31390
|
-
return pulumi.get(self, "rate_limit_threshold")
|
31391
|
-
|
31392
|
-
@rate_limit_threshold.setter
|
31393
|
-
def rate_limit_threshold(self, value: Optional[pulumi.Input['SecurityPolicyRuleRateLimitOptionsRateLimitThresholdArgs']]):
|
31394
|
-
pulumi.set(self, "rate_limit_threshold", value)
|
31395
|
-
|
31396
31181
|
|
31397
31182
|
@pulumi.input_type
|
31398
31183
|
class SecurityPolicyRuleRateLimitOptionsBanThresholdArgs:
|
31399
31184
|
def __init__(__self__, *,
|
31400
|
-
count:
|
31401
|
-
interval_sec:
|
31185
|
+
count: pulumi.Input[int],
|
31186
|
+
interval_sec: pulumi.Input[int]):
|
31402
31187
|
"""
|
31403
31188
|
:param pulumi.Input[int] count: Number of HTTP(S) requests for calculating the threshold.
|
31404
31189
|
:param pulumi.Input[int] interval_sec: Interval over which the threshold is computed.
|
31405
31190
|
"""
|
31406
|
-
|
31407
|
-
|
31408
|
-
if interval_sec is not None:
|
31409
|
-
pulumi.set(__self__, "interval_sec", interval_sec)
|
31191
|
+
pulumi.set(__self__, "count", count)
|
31192
|
+
pulumi.set(__self__, "interval_sec", interval_sec)
|
31410
31193
|
|
31411
31194
|
@property
|
31412
31195
|
@pulumi.getter
|
31413
|
-
def count(self) ->
|
31196
|
+
def count(self) -> pulumi.Input[int]:
|
31414
31197
|
"""
|
31415
31198
|
Number of HTTP(S) requests for calculating the threshold.
|
31416
31199
|
"""
|
31417
31200
|
return pulumi.get(self, "count")
|
31418
31201
|
|
31419
31202
|
@count.setter
|
31420
|
-
def count(self, value:
|
31203
|
+
def count(self, value: pulumi.Input[int]):
|
31421
31204
|
pulumi.set(self, "count", value)
|
31422
31205
|
|
31423
31206
|
@property
|
31424
31207
|
@pulumi.getter(name="intervalSec")
|
31425
|
-
def interval_sec(self) ->
|
31208
|
+
def interval_sec(self) -> pulumi.Input[int]:
|
31426
31209
|
"""
|
31427
31210
|
Interval over which the threshold is computed.
|
31428
31211
|
"""
|
31429
31212
|
return pulumi.get(self, "interval_sec")
|
31430
31213
|
|
31431
31214
|
@interval_sec.setter
|
31432
|
-
def interval_sec(self, value:
|
31215
|
+
def interval_sec(self, value: pulumi.Input[int]):
|
31433
31216
|
pulumi.set(self, "interval_sec", value)
|
31434
31217
|
|
31435
31218
|
|
@@ -31440,20 +31223,19 @@ class SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfigArgs:
|
|
31440
31223
|
enforce_on_key_type: Optional[pulumi.Input[str]] = None):
|
31441
31224
|
"""
|
31442
31225
|
:param pulumi.Input[str] enforce_on_key_name: Rate limit key name applicable only for the following key types:
|
31443
|
-
|
31444
|
-
|
31445
|
-
|
31446
|
-
|
31447
|
-
|
31448
|
-
*
|
31449
|
-
*
|
31450
|
-
*
|
31451
|
-
*
|
31452
|
-
*
|
31453
|
-
*
|
31454
|
-
*
|
31455
|
-
*
|
31456
|
-
Possible values are: `ALL`, `IP`, `HTTP_HEADER`, `XFF_IP`, `HTTP_COOKIE`, `HTTP_PATH`, `SNI`, `REGION_CODE`, `TLS_JA3_FINGERPRINT`, `USER_IP`.
|
31226
|
+
|
31227
|
+
* `HTTP_HEADER` -- Name of the HTTP header whose value is taken as the key value.
|
31228
|
+
* `HTTP_COOKIE` -- Name of the HTTP cookie whose value is taken as the key value.
|
31229
|
+
:param pulumi.Input[str] enforce_on_key_type: Determines the key to enforce the `rate_limit_threshold` on. If not specified, defaults to `ALL`.
|
31230
|
+
|
31231
|
+
* `ALL`: A single rate limit threshold is applied to all the requests matching this rule.
|
31232
|
+
* `IP`: The source IP address of the request is the key. Each IP has this limit enforced separately.
|
31233
|
+
* `HTTP_HEADER`: The value of the HTTP header whose name is configured on `enforce_on_key_name`. The key value is truncated to the first 128 bytes of the header value. If no such header is present in the request, the key type defaults to `ALL`.
|
31234
|
+
* `XFF_IP`: The first IP address (i.e. the originating client IP address) specified in the list of IPs under X-Forwarded-For HTTP header. If no such header is present or the value is not a valid IP, the key type defaults to `ALL`.
|
31235
|
+
* `HTTP_COOKIE`: The value of the HTTP cookie whose name is configured under `enforce_on_key_name`. The key value is truncated to the first 128 bytes of the cookie value. If no such cookie is present in the request, the key type defaults to `ALL`.
|
31236
|
+
* `HTTP_PATH`: The URL path of the HTTP request. The key value is truncated to the first 128 bytes
|
31237
|
+
* `SNI`: Server name indication in the TLS session of the HTTPS request. The key value is truncated to the first 128 bytes. The key type defaults to `ALL` on a HTTP session.
|
31238
|
+
* `REGION_CODE`: The country/region from which the request originates.
|
31457
31239
|
"""
|
31458
31240
|
if enforce_on_key_name is not None:
|
31459
31241
|
pulumi.set(__self__, "enforce_on_key_name", enforce_on_key_name)
|
@@ -31465,8 +31247,9 @@ class SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfigArgs:
|
|
31465
31247
|
def enforce_on_key_name(self) -> Optional[pulumi.Input[str]]:
|
31466
31248
|
"""
|
31467
31249
|
Rate limit key name applicable only for the following key types:
|
31468
|
-
|
31469
|
-
|
31250
|
+
|
31251
|
+
* `HTTP_HEADER` -- Name of the HTTP header whose value is taken as the key value.
|
31252
|
+
* `HTTP_COOKIE` -- Name of the HTTP cookie whose value is taken as the key value.
|
31470
31253
|
"""
|
31471
31254
|
return pulumi.get(self, "enforce_on_key_name")
|
31472
31255
|
|
@@ -31478,18 +31261,16 @@ class SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfigArgs:
|
|
31478
31261
|
@pulumi.getter(name="enforceOnKeyType")
|
31479
31262
|
def enforce_on_key_type(self) -> Optional[pulumi.Input[str]]:
|
31480
31263
|
"""
|
31481
|
-
Determines the key to enforce the
|
31482
|
-
|
31483
|
-
*
|
31484
|
-
*
|
31485
|
-
*
|
31486
|
-
*
|
31487
|
-
*
|
31488
|
-
*
|
31489
|
-
*
|
31490
|
-
*
|
31491
|
-
* USER_IP: The IP address of the originating client, which is resolved based on "userIpRequestHeaders" configured with the security policy. If there is no "userIpRequestHeaders" configuration or an IP address cannot be resolved from it, the key type defaults to IP.
|
31492
|
-
Possible values are: `ALL`, `IP`, `HTTP_HEADER`, `XFF_IP`, `HTTP_COOKIE`, `HTTP_PATH`, `SNI`, `REGION_CODE`, `TLS_JA3_FINGERPRINT`, `USER_IP`.
|
31264
|
+
Determines the key to enforce the `rate_limit_threshold` on. If not specified, defaults to `ALL`.
|
31265
|
+
|
31266
|
+
* `ALL`: A single rate limit threshold is applied to all the requests matching this rule.
|
31267
|
+
* `IP`: The source IP address of the request is the key. Each IP has this limit enforced separately.
|
31268
|
+
* `HTTP_HEADER`: The value of the HTTP header whose name is configured on `enforce_on_key_name`. The key value is truncated to the first 128 bytes of the header value. If no such header is present in the request, the key type defaults to `ALL`.
|
31269
|
+
* `XFF_IP`: The first IP address (i.e. the originating client IP address) specified in the list of IPs under X-Forwarded-For HTTP header. If no such header is present or the value is not a valid IP, the key type defaults to `ALL`.
|
31270
|
+
* `HTTP_COOKIE`: The value of the HTTP cookie whose name is configured under `enforce_on_key_name`. The key value is truncated to the first 128 bytes of the cookie value. If no such cookie is present in the request, the key type defaults to `ALL`.
|
31271
|
+
* `HTTP_PATH`: The URL path of the HTTP request. The key value is truncated to the first 128 bytes
|
31272
|
+
* `SNI`: Server name indication in the TLS session of the HTTPS request. The key value is truncated to the first 128 bytes. The key type defaults to `ALL` on a HTTP session.
|
31273
|
+
* `REGION_CODE`: The country/region from which the request originates.
|
31493
31274
|
"""
|
31494
31275
|
return pulumi.get(self, "enforce_on_key_type")
|
31495
31276
|
|
@@ -31501,78 +31282,75 @@ class SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfigArgs:
|
|
31501
31282
|
@pulumi.input_type
|
31502
31283
|
class SecurityPolicyRuleRateLimitOptionsExceedRedirectOptionsArgs:
|
31503
31284
|
def __init__(__self__, *,
|
31504
|
-
|
31505
|
-
|
31285
|
+
type: pulumi.Input[str],
|
31286
|
+
target: Optional[pulumi.Input[str]] = None):
|
31506
31287
|
"""
|
31507
|
-
:param pulumi.Input[str] target: Target for the redirect action. This is required if the type is EXTERNAL_302 and cannot be specified for GOOGLE_RECAPTCHA.
|
31508
31288
|
:param pulumi.Input[str] type: Type of the redirect action.
|
31289
|
+
:param pulumi.Input[str] target: Target for the redirect action. This is required if the type is `EXTERNAL_302` and cannot be specified for `GOOGLE_RECAPTCHA`.
|
31509
31290
|
"""
|
31291
|
+
pulumi.set(__self__, "type", type)
|
31510
31292
|
if target is not None:
|
31511
31293
|
pulumi.set(__self__, "target", target)
|
31512
|
-
if type is not None:
|
31513
|
-
pulumi.set(__self__, "type", type)
|
31514
31294
|
|
31515
31295
|
@property
|
31516
31296
|
@pulumi.getter
|
31517
|
-
def
|
31297
|
+
def type(self) -> pulumi.Input[str]:
|
31518
31298
|
"""
|
31519
|
-
|
31299
|
+
Type of the redirect action.
|
31520
31300
|
"""
|
31521
|
-
return pulumi.get(self, "
|
31301
|
+
return pulumi.get(self, "type")
|
31522
31302
|
|
31523
|
-
@
|
31524
|
-
def
|
31525
|
-
pulumi.set(self, "
|
31303
|
+
@type.setter
|
31304
|
+
def type(self, value: pulumi.Input[str]):
|
31305
|
+
pulumi.set(self, "type", value)
|
31526
31306
|
|
31527
31307
|
@property
|
31528
31308
|
@pulumi.getter
|
31529
|
-
def
|
31309
|
+
def target(self) -> Optional[pulumi.Input[str]]:
|
31530
31310
|
"""
|
31531
|
-
|
31311
|
+
Target for the redirect action. This is required if the type is `EXTERNAL_302` and cannot be specified for `GOOGLE_RECAPTCHA`.
|
31532
31312
|
"""
|
31533
|
-
return pulumi.get(self, "
|
31313
|
+
return pulumi.get(self, "target")
|
31534
31314
|
|
31535
|
-
@
|
31536
|
-
def
|
31537
|
-
pulumi.set(self, "
|
31315
|
+
@target.setter
|
31316
|
+
def target(self, value: Optional[pulumi.Input[str]]):
|
31317
|
+
pulumi.set(self, "target", value)
|
31538
31318
|
|
31539
31319
|
|
31540
31320
|
@pulumi.input_type
|
31541
31321
|
class SecurityPolicyRuleRateLimitOptionsRateLimitThresholdArgs:
|
31542
31322
|
def __init__(__self__, *,
|
31543
|
-
count:
|
31544
|
-
interval_sec:
|
31323
|
+
count: pulumi.Input[int],
|
31324
|
+
interval_sec: pulumi.Input[int]):
|
31545
31325
|
"""
|
31546
31326
|
:param pulumi.Input[int] count: Number of HTTP(S) requests for calculating the threshold.
|
31547
31327
|
:param pulumi.Input[int] interval_sec: Interval over which the threshold is computed.
|
31548
31328
|
"""
|
31549
|
-
|
31550
|
-
|
31551
|
-
if interval_sec is not None:
|
31552
|
-
pulumi.set(__self__, "interval_sec", interval_sec)
|
31329
|
+
pulumi.set(__self__, "count", count)
|
31330
|
+
pulumi.set(__self__, "interval_sec", interval_sec)
|
31553
31331
|
|
31554
31332
|
@property
|
31555
31333
|
@pulumi.getter
|
31556
|
-
def count(self) ->
|
31334
|
+
def count(self) -> pulumi.Input[int]:
|
31557
31335
|
"""
|
31558
31336
|
Number of HTTP(S) requests for calculating the threshold.
|
31559
31337
|
"""
|
31560
31338
|
return pulumi.get(self, "count")
|
31561
31339
|
|
31562
31340
|
@count.setter
|
31563
|
-
def count(self, value:
|
31341
|
+
def count(self, value: pulumi.Input[int]):
|
31564
31342
|
pulumi.set(self, "count", value)
|
31565
31343
|
|
31566
31344
|
@property
|
31567
31345
|
@pulumi.getter(name="intervalSec")
|
31568
|
-
def interval_sec(self) ->
|
31346
|
+
def interval_sec(self) -> pulumi.Input[int]:
|
31569
31347
|
"""
|
31570
31348
|
Interval over which the threshold is computed.
|
31571
31349
|
"""
|
31572
31350
|
return pulumi.get(self, "interval_sec")
|
31573
31351
|
|
31574
31352
|
@interval_sec.setter
|
31575
|
-
def interval_sec(self, value:
|
31353
|
+
def interval_sec(self, value: pulumi.Input[int]):
|
31576
31354
|
pulumi.set(self, "interval_sec", value)
|
31577
31355
|
|
31578
31356
|
|