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.
Files changed (62) hide show
  1. pulumi_gcp/__init__.py +0 -88
  2. pulumi_gcp/appengine/_inputs.py +0 -18
  3. pulumi_gcp/appengine/domain_mapping.py +1 -1
  4. pulumi_gcp/appengine/outputs.py +0 -16
  5. pulumi_gcp/bigquery/_inputs.py +2 -286
  6. pulumi_gcp/bigquery/outputs.py +2 -289
  7. pulumi_gcp/bigquery/table.py +35 -77
  8. pulumi_gcp/cloudfunctionsv2/function.py +4 -0
  9. pulumi_gcp/cloudrun/_inputs.py +4 -80
  10. pulumi_gcp/cloudrun/outputs.py +4 -137
  11. pulumi_gcp/composer/user_workloads_secret.py +4 -4
  12. pulumi_gcp/compute/__init__.py +0 -1
  13. pulumi_gcp/compute/_inputs.py +176 -398
  14. pulumi_gcp/compute/instance_group_membership.py +2 -2
  15. pulumi_gcp/compute/interconnect_attachment.py +0 -82
  16. pulumi_gcp/compute/network_endpoint.py +2 -2
  17. pulumi_gcp/compute/network_endpoint_list.py +2 -2
  18. pulumi_gcp/compute/outputs.py +161 -609
  19. pulumi_gcp/compute/region_ssl_policy.py +40 -39
  20. pulumi_gcp/compute/security_policy_rule.py +1 -55
  21. pulumi_gcp/container/_inputs.py +0 -560
  22. pulumi_gcp/container/outputs.py +51 -1106
  23. pulumi_gcp/dataplex/__init__.py +0 -10
  24. pulumi_gcp/dataplex/_inputs.py +0 -160
  25. pulumi_gcp/dataplex/outputs.py +0 -112
  26. pulumi_gcp/datastream/connection_profile.py +0 -47
  27. pulumi_gcp/datastream/private_connection.py +0 -47
  28. pulumi_gcp/datastream/stream.py +0 -47
  29. pulumi_gcp/dns/get_managed_zone.py +3 -3
  30. pulumi_gcp/dns/managed_zone.py +7 -7
  31. pulumi_gcp/dns/outputs.py +2 -2
  32. pulumi_gcp/kms/__init__.py +0 -2
  33. pulumi_gcp/networkservices/__init__.py +0 -1
  34. pulumi_gcp/networkservices/_inputs.py +27 -245
  35. pulumi_gcp/networkservices/lb_traffic_extension.py +14 -28
  36. pulumi_gcp/networkservices/outputs.py +20 -251
  37. pulumi_gcp/orgpolicy/policy.py +2 -2
  38. pulumi_gcp/pubsub/_inputs.py +0 -16
  39. pulumi_gcp/pubsub/outputs.py +0 -25
  40. pulumi_gcp/pubsub/subscription.py +4 -8
  41. pulumi_gcp/pulumi-plugin.json +1 -1
  42. pulumi_gcp/sql/user.py +4 -4
  43. pulumi_gcp/tpu/_inputs.py +2 -2
  44. pulumi_gcp/tpu/outputs.py +2 -2
  45. {pulumi_gcp-7.25.0.dist-info → pulumi_gcp-7.25.0a1717097889.dist-info}/METADATA +1 -1
  46. {pulumi_gcp-7.25.0.dist-info → pulumi_gcp-7.25.0a1717097889.dist-info}/RECORD +48 -62
  47. pulumi_gcp/compute/get_subnetworks.py +0 -157
  48. pulumi_gcp/dataplex/aspect_type.py +0 -1077
  49. pulumi_gcp/dataplex/aspect_type_iam_binding.py +0 -765
  50. pulumi_gcp/dataplex/aspect_type_iam_member.py +0 -765
  51. pulumi_gcp/dataplex/aspect_type_iam_policy.py +0 -604
  52. pulumi_gcp/dataplex/entry_group.py +0 -722
  53. pulumi_gcp/dataplex/entry_group_iam_binding.py +0 -765
  54. pulumi_gcp/dataplex/entry_group_iam_member.py +0 -765
  55. pulumi_gcp/dataplex/entry_group_iam_policy.py +0 -604
  56. pulumi_gcp/dataplex/get_aspect_type_iam_policy.py +0 -164
  57. pulumi_gcp/dataplex/get_entry_group_iam_policy.py +0 -164
  58. pulumi_gcp/kms/autokey_config.py +0 -366
  59. pulumi_gcp/kms/key_handle.py +0 -548
  60. pulumi_gcp/networkservices/lb_route_extension.py +0 -663
  61. {pulumi_gcp-7.25.0.dist-info → pulumi_gcp-7.25.0a1717097889.dist-info}/WHEEL +0 -0
  62. {pulumi_gcp-7.25.0.dist-info → pulumi_gcp-7.25.0a1717097889.dist-info}/top_level.txt +0 -0
@@ -101,7 +101,6 @@ __all__ = [
101
101
  'InstanceFromMachineImageSchedulingLocalSsdRecoveryTimeout',
102
102
  'InstanceFromMachineImageSchedulingMaxRunDuration',
103
103
  'InstanceFromMachineImageSchedulingNodeAffinity',
104
- 'InstanceFromMachineImageSchedulingOnInstanceStopAction',
105
104
  'InstanceFromMachineImageScratchDisk',
106
105
  'InstanceFromMachineImageServiceAccount',
107
106
  'InstanceFromMachineImageShieldedInstanceConfig',
@@ -123,7 +122,6 @@ __all__ = [
123
122
  'InstanceFromTemplateSchedulingLocalSsdRecoveryTimeout',
124
123
  'InstanceFromTemplateSchedulingMaxRunDuration',
125
124
  'InstanceFromTemplateSchedulingNodeAffinity',
126
- 'InstanceFromTemplateSchedulingOnInstanceStopAction',
127
125
  'InstanceFromTemplateScratchDisk',
128
126
  'InstanceFromTemplateServiceAccount',
129
127
  'InstanceFromTemplateShieldedInstanceConfig',
@@ -159,7 +157,6 @@ __all__ = [
159
157
  'InstanceSchedulingLocalSsdRecoveryTimeout',
160
158
  'InstanceSchedulingMaxRunDuration',
161
159
  'InstanceSchedulingNodeAffinity',
162
- 'InstanceSchedulingOnInstanceStopAction',
163
160
  'InstanceScratchDisk',
164
161
  'InstanceServiceAccount',
165
162
  'InstanceSettingsMetadata',
@@ -182,7 +179,6 @@ __all__ = [
182
179
  'InstanceTemplateSchedulingLocalSsdRecoveryTimeout',
183
180
  'InstanceTemplateSchedulingMaxRunDuration',
184
181
  'InstanceTemplateSchedulingNodeAffinity',
185
- 'InstanceTemplateSchedulingOnInstanceStopAction',
186
182
  'InstanceTemplateServiceAccount',
187
183
  'InstanceTemplateShieldedInstanceConfig',
188
184
  'InterconnectAttachmentPrivateInterconnectInfo',
@@ -299,7 +295,6 @@ __all__ = [
299
295
  'RegionInstanceTemplateSchedulingLocalSsdRecoveryTimeout',
300
296
  'RegionInstanceTemplateSchedulingMaxRunDuration',
301
297
  'RegionInstanceTemplateSchedulingNodeAffinity',
302
- 'RegionInstanceTemplateSchedulingOnInstanceStopAction',
303
298
  'RegionInstanceTemplateServiceAccount',
304
299
  'RegionInstanceTemplateShieldedInstanceConfig',
305
300
  'RegionNetworkEndpointGroupAppEngine',
@@ -626,7 +621,6 @@ __all__ = [
626
621
  'GetInstanceSchedulingLocalSsdRecoveryTimeoutResult',
627
622
  'GetInstanceSchedulingMaxRunDurationResult',
628
623
  'GetInstanceSchedulingNodeAffinityResult',
629
- 'GetInstanceSchedulingOnInstanceStopActionResult',
630
624
  'GetInstanceScratchDiskResult',
631
625
  'GetInstanceServiceAccountResult',
632
626
  'GetInstanceShieldedInstanceConfigResult',
@@ -648,7 +642,6 @@ __all__ = [
648
642
  'GetInstanceTemplateSchedulingLocalSsdRecoveryTimeoutResult',
649
643
  'GetInstanceTemplateSchedulingMaxRunDurationResult',
650
644
  'GetInstanceTemplateSchedulingNodeAffinityResult',
651
- 'GetInstanceTemplateSchedulingOnInstanceStopActionResult',
652
645
  'GetInstanceTemplateServiceAccountResult',
653
646
  'GetInstanceTemplateShieldedInstanceConfigResult',
654
647
  'GetMachineTypesMachineTypeResult',
@@ -679,7 +672,6 @@ __all__ = [
679
672
  'GetRegionInstanceTemplateSchedulingLocalSsdRecoveryTimeoutResult',
680
673
  'GetRegionInstanceTemplateSchedulingMaxRunDurationResult',
681
674
  'GetRegionInstanceTemplateSchedulingNodeAffinityResult',
682
- 'GetRegionInstanceTemplateSchedulingOnInstanceStopActionResult',
683
675
  'GetRegionInstanceTemplateServiceAccountResult',
684
676
  'GetRegionInstanceTemplateShieldedInstanceConfigResult',
685
677
  'GetRegionNetworkEndpointGroupAppEngineResult',
@@ -716,7 +708,6 @@ __all__ = [
716
708
  'GetSnapshotSnapshotEncryptionKeyResult',
717
709
  'GetSnapshotSourceDiskEncryptionKeyResult',
718
710
  'GetSubnetworkSecondaryIpRangeResult',
719
- 'GetSubnetworksSubnetworkResult',
720
711
  ]
721
712
 
722
713
  @pulumi.output_type
@@ -7525,8 +7516,6 @@ class InstanceFromMachineImageScheduling(dict):
7525
7516
  suggest = "node_affinities"
7526
7517
  elif key == "onHostMaintenance":
7527
7518
  suggest = "on_host_maintenance"
7528
- elif key == "onInstanceStopAction":
7529
- suggest = "on_instance_stop_action"
7530
7519
  elif key == "provisioningModel":
7531
7520
  suggest = "provisioning_model"
7532
7521
 
@@ -7550,7 +7539,6 @@ class InstanceFromMachineImageScheduling(dict):
7550
7539
  min_node_cpus: Optional[int] = None,
7551
7540
  node_affinities: Optional[Sequence['outputs.InstanceFromMachineImageSchedulingNodeAffinity']] = None,
7552
7541
  on_host_maintenance: Optional[str] = None,
7553
- on_instance_stop_action: Optional['outputs.InstanceFromMachineImageSchedulingOnInstanceStopAction'] = None,
7554
7542
  preemptible: Optional[bool] = None,
7555
7543
  provisioning_model: Optional[str] = None):
7556
7544
  """
@@ -7564,7 +7552,6 @@ class InstanceFromMachineImageScheduling(dict):
7564
7552
  :param 'InstanceFromMachineImageSchedulingMaxRunDurationArgs' max_run_duration: The timeout for new network connections to hosts.
7565
7553
  :param Sequence['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.
7566
7554
  :param str on_host_maintenance: Describes maintenance behavior for the instance. One of MIGRATE or TERMINATE,
7567
- :param 'InstanceFromMachineImageSchedulingOnInstanceStopActionArgs' on_instance_stop_action: Defines the behaviour for instances with the instance_termination_action.
7568
7555
  :param bool preemptible: Whether the instance is preemptible.
7569
7556
  :param str provisioning_model: Whether the instance is spot. If this is set as SPOT.
7570
7557
  """
@@ -7584,8 +7571,6 @@ class InstanceFromMachineImageScheduling(dict):
7584
7571
  pulumi.set(__self__, "node_affinities", node_affinities)
7585
7572
  if on_host_maintenance is not None:
7586
7573
  pulumi.set(__self__, "on_host_maintenance", on_host_maintenance)
7587
- if on_instance_stop_action is not None:
7588
- pulumi.set(__self__, "on_instance_stop_action", on_instance_stop_action)
7589
7574
  if preemptible is not None:
7590
7575
  pulumi.set(__self__, "preemptible", preemptible)
7591
7576
  if provisioning_model is not None:
@@ -7655,14 +7640,6 @@ class InstanceFromMachineImageScheduling(dict):
7655
7640
  """
7656
7641
  return pulumi.get(self, "on_host_maintenance")
7657
7642
 
7658
- @property
7659
- @pulumi.getter(name="onInstanceStopAction")
7660
- def on_instance_stop_action(self) -> Optional['outputs.InstanceFromMachineImageSchedulingOnInstanceStopAction']:
7661
- """
7662
- Defines the behaviour for instances with the instance_termination_action.
7663
- """
7664
- return pulumi.get(self, "on_instance_stop_action")
7665
-
7666
7643
  @property
7667
7644
  @pulumi.getter
7668
7645
  def preemptible(self) -> Optional[bool]:
@@ -7782,42 +7759,6 @@ class InstanceFromMachineImageSchedulingNodeAffinity(dict):
7782
7759
  return pulumi.get(self, "values")
7783
7760
 
7784
7761
 
7785
- @pulumi.output_type
7786
- class InstanceFromMachineImageSchedulingOnInstanceStopAction(dict):
7787
- @staticmethod
7788
- def __key_warning(key: str):
7789
- suggest = None
7790
- if key == "discardLocalSsd":
7791
- suggest = "discard_local_ssd"
7792
-
7793
- if suggest:
7794
- pulumi.log.warn(f"Key '{key}' not found in InstanceFromMachineImageSchedulingOnInstanceStopAction. Access the value via the '{suggest}' property getter instead.")
7795
-
7796
- def __getitem__(self, key: str) -> Any:
7797
- InstanceFromMachineImageSchedulingOnInstanceStopAction.__key_warning(key)
7798
- return super().__getitem__(key)
7799
-
7800
- def get(self, key: str, default = None) -> Any:
7801
- InstanceFromMachineImageSchedulingOnInstanceStopAction.__key_warning(key)
7802
- return super().get(key, default)
7803
-
7804
- def __init__(__self__, *,
7805
- discard_local_ssd: Optional[bool] = None):
7806
- """
7807
- :param bool discard_local_ssd: If true, the contents of any attached Local SSD disks will be discarded.
7808
- """
7809
- if discard_local_ssd is not None:
7810
- pulumi.set(__self__, "discard_local_ssd", discard_local_ssd)
7811
-
7812
- @property
7813
- @pulumi.getter(name="discardLocalSsd")
7814
- def discard_local_ssd(self) -> Optional[bool]:
7815
- """
7816
- If true, the contents of any attached Local SSD disks will be discarded.
7817
- """
7818
- return pulumi.get(self, "discard_local_ssd")
7819
-
7820
-
7821
7762
  @pulumi.output_type
7822
7763
  class InstanceFromMachineImageScratchDisk(dict):
7823
7764
  @staticmethod
@@ -9117,8 +9058,6 @@ class InstanceFromTemplateScheduling(dict):
9117
9058
  suggest = "node_affinities"
9118
9059
  elif key == "onHostMaintenance":
9119
9060
  suggest = "on_host_maintenance"
9120
- elif key == "onInstanceStopAction":
9121
- suggest = "on_instance_stop_action"
9122
9061
  elif key == "provisioningModel":
9123
9062
  suggest = "provisioning_model"
9124
9063
 
@@ -9142,7 +9081,6 @@ class InstanceFromTemplateScheduling(dict):
9142
9081
  min_node_cpus: Optional[int] = None,
9143
9082
  node_affinities: Optional[Sequence['outputs.InstanceFromTemplateSchedulingNodeAffinity']] = None,
9144
9083
  on_host_maintenance: Optional[str] = None,
9145
- on_instance_stop_action: Optional['outputs.InstanceFromTemplateSchedulingOnInstanceStopAction'] = None,
9146
9084
  preemptible: Optional[bool] = None,
9147
9085
  provisioning_model: Optional[str] = None):
9148
9086
  """
@@ -9156,7 +9094,6 @@ class InstanceFromTemplateScheduling(dict):
9156
9094
  :param 'InstanceFromTemplateSchedulingMaxRunDurationArgs' max_run_duration: The timeout for new network connections to hosts.
9157
9095
  :param Sequence['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.
9158
9096
  :param str on_host_maintenance: Describes maintenance behavior for the instance. One of MIGRATE or TERMINATE,
9159
- :param 'InstanceFromTemplateSchedulingOnInstanceStopActionArgs' on_instance_stop_action: Defines the behaviour for instances with the instance_termination_action.
9160
9097
  :param bool preemptible: Whether the instance is preemptible.
9161
9098
  :param str provisioning_model: Whether the instance is spot. If this is set as SPOT.
9162
9099
  """
@@ -9176,8 +9113,6 @@ class InstanceFromTemplateScheduling(dict):
9176
9113
  pulumi.set(__self__, "node_affinities", node_affinities)
9177
9114
  if on_host_maintenance is not None:
9178
9115
  pulumi.set(__self__, "on_host_maintenance", on_host_maintenance)
9179
- if on_instance_stop_action is not None:
9180
- pulumi.set(__self__, "on_instance_stop_action", on_instance_stop_action)
9181
9116
  if preemptible is not None:
9182
9117
  pulumi.set(__self__, "preemptible", preemptible)
9183
9118
  if provisioning_model is not None:
@@ -9247,14 +9182,6 @@ class InstanceFromTemplateScheduling(dict):
9247
9182
  """
9248
9183
  return pulumi.get(self, "on_host_maintenance")
9249
9184
 
9250
- @property
9251
- @pulumi.getter(name="onInstanceStopAction")
9252
- def on_instance_stop_action(self) -> Optional['outputs.InstanceFromTemplateSchedulingOnInstanceStopAction']:
9253
- """
9254
- Defines the behaviour for instances with the instance_termination_action.
9255
- """
9256
- return pulumi.get(self, "on_instance_stop_action")
9257
-
9258
9185
  @property
9259
9186
  @pulumi.getter
9260
9187
  def preemptible(self) -> Optional[bool]:
@@ -9374,42 +9301,6 @@ class InstanceFromTemplateSchedulingNodeAffinity(dict):
9374
9301
  return pulumi.get(self, "values")
9375
9302
 
9376
9303
 
9377
- @pulumi.output_type
9378
- class InstanceFromTemplateSchedulingOnInstanceStopAction(dict):
9379
- @staticmethod
9380
- def __key_warning(key: str):
9381
- suggest = None
9382
- if key == "discardLocalSsd":
9383
- suggest = "discard_local_ssd"
9384
-
9385
- if suggest:
9386
- pulumi.log.warn(f"Key '{key}' not found in InstanceFromTemplateSchedulingOnInstanceStopAction. Access the value via the '{suggest}' property getter instead.")
9387
-
9388
- def __getitem__(self, key: str) -> Any:
9389
- InstanceFromTemplateSchedulingOnInstanceStopAction.__key_warning(key)
9390
- return super().__getitem__(key)
9391
-
9392
- def get(self, key: str, default = None) -> Any:
9393
- InstanceFromTemplateSchedulingOnInstanceStopAction.__key_warning(key)
9394
- return super().get(key, default)
9395
-
9396
- def __init__(__self__, *,
9397
- discard_local_ssd: Optional[bool] = None):
9398
- """
9399
- :param bool discard_local_ssd: If true, the contents of any attached Local SSD disks will be discarded.
9400
- """
9401
- if discard_local_ssd is not None:
9402
- pulumi.set(__self__, "discard_local_ssd", discard_local_ssd)
9403
-
9404
- @property
9405
- @pulumi.getter(name="discardLocalSsd")
9406
- def discard_local_ssd(self) -> Optional[bool]:
9407
- """
9408
- If true, the contents of any attached Local SSD disks will be discarded.
9409
- """
9410
- return pulumi.get(self, "discard_local_ssd")
9411
-
9412
-
9413
9304
  @pulumi.output_type
9414
9305
  class InstanceFromTemplateScratchDisk(dict):
9415
9306
  @staticmethod
@@ -11266,8 +11157,6 @@ class InstanceScheduling(dict):
11266
11157
  suggest = "node_affinities"
11267
11158
  elif key == "onHostMaintenance":
11268
11159
  suggest = "on_host_maintenance"
11269
- elif key == "onInstanceStopAction":
11270
- suggest = "on_instance_stop_action"
11271
11160
  elif key == "provisioningModel":
11272
11161
  suggest = "provisioning_model"
11273
11162
 
@@ -11291,7 +11180,6 @@ class InstanceScheduling(dict):
11291
11180
  min_node_cpus: Optional[int] = None,
11292
11181
  node_affinities: Optional[Sequence['outputs.InstanceSchedulingNodeAffinity']] = None,
11293
11182
  on_host_maintenance: Optional[str] = None,
11294
- on_instance_stop_action: Optional['outputs.InstanceSchedulingOnInstanceStopAction'] = None,
11295
11183
  preemptible: Optional[bool] = None,
11296
11184
  provisioning_model: Optional[str] = None):
11297
11185
  """
@@ -11304,7 +11192,8 @@ class InstanceScheduling(dict):
11304
11192
  between 0 and 168 hours with hour granularity and the default value being 1
11305
11193
  hour.
11306
11194
  :param str maintenance_interval: Specifies the frequency of planned maintenance events. The accepted values are: `PERIODIC`.
11307
- :param '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.
11195
+ :param '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.
11196
+ <a name="nested_max_run_duration"></a>The `max_run_duration` block supports:
11308
11197
  :param int min_node_cpus: The minimum number of virtual CPUs this instance will consume when running on a sole-tenant node.
11309
11198
  :param Sequence['InstanceSchedulingNodeAffinityArgs'] node_affinities: Specifies node affinities or anti-affinities
11310
11199
  to determine which sole-tenant nodes your instances and managed instance
@@ -11314,7 +11203,6 @@ class InstanceScheduling(dict):
11314
11203
  :param str on_host_maintenance: Describes maintenance behavior for the
11315
11204
  instance. Can be MIGRATE or TERMINATE, for more info, read
11316
11205
  [here](https://cloud.google.com/compute/docs/instances/setting-instance-scheduling-options).
11317
- :param '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.
11318
11206
  :param bool preemptible: Specifies if the instance is preemptible.
11319
11207
  If this field is set to true, then `automatic_restart` must be
11320
11208
  set to false. Defaults to false.
@@ -11339,8 +11227,6 @@ class InstanceScheduling(dict):
11339
11227
  pulumi.set(__self__, "node_affinities", node_affinities)
11340
11228
  if on_host_maintenance is not None:
11341
11229
  pulumi.set(__self__, "on_host_maintenance", on_host_maintenance)
11342
- if on_instance_stop_action is not None:
11343
- pulumi.set(__self__, "on_instance_stop_action", on_instance_stop_action)
11344
11230
  if preemptible is not None:
11345
11231
  pulumi.set(__self__, "preemptible", preemptible)
11346
11232
  if provisioning_model is not None:
@@ -11387,7 +11273,8 @@ class InstanceScheduling(dict):
11387
11273
  @pulumi.getter(name="maxRunDuration")
11388
11274
  def max_run_duration(self) -> Optional['outputs.InstanceSchedulingMaxRunDuration']:
11389
11275
  """
11390
- 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.
11276
+ 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.
11277
+ <a name="nested_max_run_duration"></a>The `max_run_duration` block supports:
11391
11278
  """
11392
11279
  return pulumi.get(self, "max_run_duration")
11393
11280
 
@@ -11421,14 +11308,6 @@ class InstanceScheduling(dict):
11421
11308
  """
11422
11309
  return pulumi.get(self, "on_host_maintenance")
11423
11310
 
11424
- @property
11425
- @pulumi.getter(name="onInstanceStopAction")
11426
- def on_instance_stop_action(self) -> Optional['outputs.InstanceSchedulingOnInstanceStopAction']:
11427
- """
11428
- 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.
11429
- """
11430
- return pulumi.get(self, "on_instance_stop_action")
11431
-
11432
11311
  @property
11433
11312
  @pulumi.getter
11434
11313
  def preemptible(self) -> Optional[bool]:
@@ -11495,13 +11374,12 @@ class InstanceSchedulingMaxRunDuration(dict):
11495
11374
  seconds: int,
11496
11375
  nanos: Optional[int] = None):
11497
11376
  """
11498
- :param int seconds: Span of time at a resolution of a second. Must be from 0 to
11499
- 315,576,000,000 inclusive. Note: these bounds are computed from: 60
11500
- sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years.
11377
+ :param int seconds: Span of time at a resolution of a second.
11378
+ Must be from 0 to 315,576,000,000 inclusive.
11501
11379
  :param int nanos: Span of time that's a fraction of a second at nanosecond
11502
- resolution. Durations less than one second are represented with a 0
11503
- `seconds` field and a positive `nanos` field. Must be from 0 to
11504
- 999,999,999 inclusive.
11380
+ resolution. Durations less than one second are represented
11381
+ with a 0 seconds field and a positive nanos field. Must
11382
+ be from 0 to 999,999,999 inclusive.
11505
11383
  """
11506
11384
  pulumi.set(__self__, "seconds", seconds)
11507
11385
  if nanos is not None:
@@ -11511,9 +11389,8 @@ class InstanceSchedulingMaxRunDuration(dict):
11511
11389
  @pulumi.getter
11512
11390
  def seconds(self) -> int:
11513
11391
  """
11514
- Span of time at a resolution of a second. Must be from 0 to
11515
- 315,576,000,000 inclusive. Note: these bounds are computed from: 60
11516
- sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years.
11392
+ Span of time at a resolution of a second.
11393
+ Must be from 0 to 315,576,000,000 inclusive.
11517
11394
  """
11518
11395
  return pulumi.get(self, "seconds")
11519
11396
 
@@ -11522,9 +11399,9 @@ class InstanceSchedulingMaxRunDuration(dict):
11522
11399
  def nanos(self) -> Optional[int]:
11523
11400
  """
11524
11401
  Span of time that's a fraction of a second at nanosecond
11525
- resolution. Durations less than one second are represented with a 0
11526
- `seconds` field and a positive `nanos` field. Must be from 0 to
11527
- 999,999,999 inclusive.
11402
+ resolution. Durations less than one second are represented
11403
+ with a 0 seconds field and a positive nanos field. Must
11404
+ be from 0 to 999,999,999 inclusive.
11528
11405
  """
11529
11406
  return pulumi.get(self, "nanos")
11530
11407
 
@@ -11571,42 +11448,6 @@ class InstanceSchedulingNodeAffinity(dict):
11571
11448
  return pulumi.get(self, "values")
11572
11449
 
11573
11450
 
11574
- @pulumi.output_type
11575
- class InstanceSchedulingOnInstanceStopAction(dict):
11576
- @staticmethod
11577
- def __key_warning(key: str):
11578
- suggest = None
11579
- if key == "discardLocalSsd":
11580
- suggest = "discard_local_ssd"
11581
-
11582
- if suggest:
11583
- pulumi.log.warn(f"Key '{key}' not found in InstanceSchedulingOnInstanceStopAction. Access the value via the '{suggest}' property getter instead.")
11584
-
11585
- def __getitem__(self, key: str) -> Any:
11586
- InstanceSchedulingOnInstanceStopAction.__key_warning(key)
11587
- return super().__getitem__(key)
11588
-
11589
- def get(self, key: str, default = None) -> Any:
11590
- InstanceSchedulingOnInstanceStopAction.__key_warning(key)
11591
- return super().get(key, default)
11592
-
11593
- def __init__(__self__, *,
11594
- discard_local_ssd: Optional[bool] = None):
11595
- """
11596
- :param 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.
11597
- """
11598
- if discard_local_ssd is not None:
11599
- pulumi.set(__self__, "discard_local_ssd", discard_local_ssd)
11600
-
11601
- @property
11602
- @pulumi.getter(name="discardLocalSsd")
11603
- def discard_local_ssd(self) -> Optional[bool]:
11604
- """
11605
- Whether to discard local SSDs attached to the VM while terminating using `max_run_duration`. Only supports `true` at this point.
11606
- """
11607
- return pulumi.get(self, "discard_local_ssd")
11608
-
11609
-
11610
11451
  @pulumi.output_type
11611
11452
  class InstanceScratchDisk(dict):
11612
11453
  @staticmethod
@@ -13055,8 +12896,6 @@ class InstanceTemplateScheduling(dict):
13055
12896
  suggest = "node_affinities"
13056
12897
  elif key == "onHostMaintenance":
13057
12898
  suggest = "on_host_maintenance"
13058
- elif key == "onInstanceStopAction":
13059
- suggest = "on_instance_stop_action"
13060
12899
  elif key == "provisioningModel":
13061
12900
  suggest = "provisioning_model"
13062
12901
 
@@ -13080,7 +12919,6 @@ class InstanceTemplateScheduling(dict):
13080
12919
  min_node_cpus: Optional[int] = None,
13081
12920
  node_affinities: Optional[Sequence['outputs.InstanceTemplateSchedulingNodeAffinity']] = None,
13082
12921
  on_host_maintenance: Optional[str] = None,
13083
- on_instance_stop_action: Optional['outputs.InstanceTemplateSchedulingOnInstanceStopAction'] = None,
13084
12922
  preemptible: Optional[bool] = None,
13085
12923
  provisioning_model: Optional[str] = None):
13086
12924
  """
@@ -13093,7 +12931,8 @@ class InstanceTemplateScheduling(dict):
13093
12931
  between 0 and 168 hours with hour granularity and the default value being 1
13094
12932
  hour.
13095
12933
  :param str maintenance_interval: Specifies the frequency of planned maintenance events. The accepted values are: `PERIODIC`.
13096
- :param '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.
12934
+ :param '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.
12935
+ <a name="nested_max_run_duration"></a>The `max_run_duration` block supports:
13097
12936
  :param int min_node_cpus: Minimum number of cpus for the instance.
13098
12937
  :param Sequence['InstanceTemplateSchedulingNodeAffinityArgs'] node_affinities: Specifies node affinities or anti-affinities
13099
12938
  to determine which sole-tenant nodes your instances and managed instance
@@ -13102,7 +12941,6 @@ class InstanceTemplateScheduling(dict):
13102
12941
  Structure documented below.
13103
12942
  :param str on_host_maintenance: Defines the maintenance behavior for this
13104
12943
  instance.
13105
- :param '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.
13106
12944
  :param bool preemptible: Allows instance to be preempted. This defaults to
13107
12945
  false. Read more on this
13108
12946
  [here](https://cloud.google.com/compute/docs/instances/preemptible).
@@ -13127,8 +12965,6 @@ class InstanceTemplateScheduling(dict):
13127
12965
  pulumi.set(__self__, "node_affinities", node_affinities)
13128
12966
  if on_host_maintenance is not None:
13129
12967
  pulumi.set(__self__, "on_host_maintenance", on_host_maintenance)
13130
- if on_instance_stop_action is not None:
13131
- pulumi.set(__self__, "on_instance_stop_action", on_instance_stop_action)
13132
12968
  if preemptible is not None:
13133
12969
  pulumi.set(__self__, "preemptible", preemptible)
13134
12970
  if provisioning_model is not None:
@@ -13175,7 +13011,8 @@ class InstanceTemplateScheduling(dict):
13175
13011
  @pulumi.getter(name="maxRunDuration")
13176
13012
  def max_run_duration(self) -> Optional['outputs.InstanceTemplateSchedulingMaxRunDuration']:
13177
13013
  """
13178
- 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.
13014
+ 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.
13015
+ <a name="nested_max_run_duration"></a>The `max_run_duration` block supports:
13179
13016
  """
13180
13017
  return pulumi.get(self, "max_run_duration")
13181
13018
 
@@ -13208,14 +13045,6 @@ class InstanceTemplateScheduling(dict):
13208
13045
  """
13209
13046
  return pulumi.get(self, "on_host_maintenance")
13210
13047
 
13211
- @property
13212
- @pulumi.getter(name="onInstanceStopAction")
13213
- def on_instance_stop_action(self) -> Optional['outputs.InstanceTemplateSchedulingOnInstanceStopAction']:
13214
- """
13215
- 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.
13216
- """
13217
- return pulumi.get(self, "on_instance_stop_action")
13218
-
13219
13048
  @property
13220
13049
  @pulumi.getter
13221
13050
  def preemptible(self) -> Optional[bool]:
@@ -13282,13 +13111,12 @@ class InstanceTemplateSchedulingMaxRunDuration(dict):
13282
13111
  seconds: int,
13283
13112
  nanos: Optional[int] = None):
13284
13113
  """
13285
- :param int seconds: Span of time at a resolution of a second. Must be from 0 to
13286
- 315,576,000,000 inclusive. Note: these bounds are computed from: 60
13287
- sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years.
13114
+ :param int seconds: Span of time at a resolution of a second.
13115
+ Must be from 0 to 315,576,000,000 inclusive.
13288
13116
  :param int nanos: Span of time that's a fraction of a second at nanosecond
13289
- resolution. Durations less than one second are represented with a 0
13290
- `seconds` field and a positive `nanos` field. Must be from 0 to
13291
- 999,999,999 inclusive.
13117
+ resolution. Durations less than one second are represented
13118
+ with a 0 seconds field and a positive nanos field. Must
13119
+ be from 0 to 999,999,999 inclusive.
13292
13120
  """
13293
13121
  pulumi.set(__self__, "seconds", seconds)
13294
13122
  if nanos is not None:
@@ -13298,9 +13126,8 @@ class InstanceTemplateSchedulingMaxRunDuration(dict):
13298
13126
  @pulumi.getter
13299
13127
  def seconds(self) -> int:
13300
13128
  """
13301
- Span of time at a resolution of a second. Must be from 0 to
13302
- 315,576,000,000 inclusive. Note: these bounds are computed from: 60
13303
- sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years.
13129
+ Span of time at a resolution of a second.
13130
+ Must be from 0 to 315,576,000,000 inclusive.
13304
13131
  """
13305
13132
  return pulumi.get(self, "seconds")
13306
13133
 
@@ -13309,9 +13136,9 @@ class InstanceTemplateSchedulingMaxRunDuration(dict):
13309
13136
  def nanos(self) -> Optional[int]:
13310
13137
  """
13311
13138
  Span of time that's a fraction of a second at nanosecond
13312
- resolution. Durations less than one second are represented with a 0
13313
- `seconds` field and a positive `nanos` field. Must be from 0 to
13314
- 999,999,999 inclusive.
13139
+ resolution. Durations less than one second are represented
13140
+ with a 0 seconds field and a positive nanos field. Must
13141
+ be from 0 to 999,999,999 inclusive.
13315
13142
  """
13316
13143
  return pulumi.get(self, "nanos")
13317
13144
 
@@ -13354,42 +13181,6 @@ class InstanceTemplateSchedulingNodeAffinity(dict):
13354
13181
  return pulumi.get(self, "values")
13355
13182
 
13356
13183
 
13357
- @pulumi.output_type
13358
- class InstanceTemplateSchedulingOnInstanceStopAction(dict):
13359
- @staticmethod
13360
- def __key_warning(key: str):
13361
- suggest = None
13362
- if key == "discardLocalSsd":
13363
- suggest = "discard_local_ssd"
13364
-
13365
- if suggest:
13366
- pulumi.log.warn(f"Key '{key}' not found in InstanceTemplateSchedulingOnInstanceStopAction. Access the value via the '{suggest}' property getter instead.")
13367
-
13368
- def __getitem__(self, key: str) -> Any:
13369
- InstanceTemplateSchedulingOnInstanceStopAction.__key_warning(key)
13370
- return super().__getitem__(key)
13371
-
13372
- def get(self, key: str, default = None) -> Any:
13373
- InstanceTemplateSchedulingOnInstanceStopAction.__key_warning(key)
13374
- return super().get(key, default)
13375
-
13376
- def __init__(__self__, *,
13377
- discard_local_ssd: Optional[bool] = None):
13378
- """
13379
- :param 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.
13380
- """
13381
- if discard_local_ssd is not None:
13382
- pulumi.set(__self__, "discard_local_ssd", discard_local_ssd)
13383
-
13384
- @property
13385
- @pulumi.getter(name="discardLocalSsd")
13386
- def discard_local_ssd(self) -> Optional[bool]:
13387
- """
13388
- Whether to discard local SSDs attached to the VM while terminating using `max_run_duration`. Only supports `true` at this point.
13389
- """
13390
- return pulumi.get(self, "discard_local_ssd")
13391
-
13392
-
13393
13184
  @pulumi.output_type
13394
13185
  class InstanceTemplateServiceAccount(dict):
13395
13186
  def __init__(__self__, *,
@@ -21446,8 +21237,6 @@ class RegionInstanceTemplateScheduling(dict):
21446
21237
  suggest = "node_affinities"
21447
21238
  elif key == "onHostMaintenance":
21448
21239
  suggest = "on_host_maintenance"
21449
- elif key == "onInstanceStopAction":
21450
- suggest = "on_instance_stop_action"
21451
21240
  elif key == "provisioningModel":
21452
21241
  suggest = "provisioning_model"
21453
21242
 
@@ -21471,7 +21260,6 @@ class RegionInstanceTemplateScheduling(dict):
21471
21260
  min_node_cpus: Optional[int] = None,
21472
21261
  node_affinities: Optional[Sequence['outputs.RegionInstanceTemplateSchedulingNodeAffinity']] = None,
21473
21262
  on_host_maintenance: Optional[str] = None,
21474
- on_instance_stop_action: Optional['outputs.RegionInstanceTemplateSchedulingOnInstanceStopAction'] = None,
21475
21263
  preemptible: Optional[bool] = None,
21476
21264
  provisioning_model: Optional[str] = None):
21477
21265
  """
@@ -21493,7 +21281,6 @@ class RegionInstanceTemplateScheduling(dict):
21493
21281
  Structure documented below.
21494
21282
  :param str on_host_maintenance: Defines the maintenance behavior for this
21495
21283
  instance.
21496
- :param 'RegionInstanceTemplateSchedulingOnInstanceStopActionArgs' on_instance_stop_action: Defines the behaviour for instances with the instance_termination_action.
21497
21284
  :param bool preemptible: Allows instance to be preempted. This defaults to
21498
21285
  false. Read more on this
21499
21286
  [here](https://cloud.google.com/compute/docs/instances/preemptible).
@@ -21518,8 +21305,6 @@ class RegionInstanceTemplateScheduling(dict):
21518
21305
  pulumi.set(__self__, "node_affinities", node_affinities)
21519
21306
  if on_host_maintenance is not None:
21520
21307
  pulumi.set(__self__, "on_host_maintenance", on_host_maintenance)
21521
- if on_instance_stop_action is not None:
21522
- pulumi.set(__self__, "on_instance_stop_action", on_instance_stop_action)
21523
21308
  if preemptible is not None:
21524
21309
  pulumi.set(__self__, "preemptible", preemptible)
21525
21310
  if provisioning_model is not None:
@@ -21599,14 +21384,6 @@ class RegionInstanceTemplateScheduling(dict):
21599
21384
  """
21600
21385
  return pulumi.get(self, "on_host_maintenance")
21601
21386
 
21602
- @property
21603
- @pulumi.getter(name="onInstanceStopAction")
21604
- def on_instance_stop_action(self) -> Optional['outputs.RegionInstanceTemplateSchedulingOnInstanceStopAction']:
21605
- """
21606
- Defines the behaviour for instances with the instance_termination_action.
21607
- """
21608
- return pulumi.get(self, "on_instance_stop_action")
21609
-
21610
21387
  @property
21611
21388
  @pulumi.getter
21612
21389
  def preemptible(self) -> Optional[bool]:
@@ -21745,42 +21522,6 @@ class RegionInstanceTemplateSchedulingNodeAffinity(dict):
21745
21522
  return pulumi.get(self, "values")
21746
21523
 
21747
21524
 
21748
- @pulumi.output_type
21749
- class RegionInstanceTemplateSchedulingOnInstanceStopAction(dict):
21750
- @staticmethod
21751
- def __key_warning(key: str):
21752
- suggest = None
21753
- if key == "discardLocalSsd":
21754
- suggest = "discard_local_ssd"
21755
-
21756
- if suggest:
21757
- pulumi.log.warn(f"Key '{key}' not found in RegionInstanceTemplateSchedulingOnInstanceStopAction. Access the value via the '{suggest}' property getter instead.")
21758
-
21759
- def __getitem__(self, key: str) -> Any:
21760
- RegionInstanceTemplateSchedulingOnInstanceStopAction.__key_warning(key)
21761
- return super().__getitem__(key)
21762
-
21763
- def get(self, key: str, default = None) -> Any:
21764
- RegionInstanceTemplateSchedulingOnInstanceStopAction.__key_warning(key)
21765
- return super().get(key, default)
21766
-
21767
- def __init__(__self__, *,
21768
- discard_local_ssd: Optional[bool] = None):
21769
- """
21770
- :param bool discard_local_ssd: If true, the contents of any attached Local SSD disks will be discarded.
21771
- """
21772
- if discard_local_ssd is not None:
21773
- pulumi.set(__self__, "discard_local_ssd", discard_local_ssd)
21774
-
21775
- @property
21776
- @pulumi.getter(name="discardLocalSsd")
21777
- def discard_local_ssd(self) -> Optional[bool]:
21778
- """
21779
- If true, the contents of any attached Local SSD disks will be discarded.
21780
- """
21781
- return pulumi.get(self, "discard_local_ssd")
21782
-
21783
-
21784
21525
  @pulumi.output_type
21785
21526
  class RegionInstanceTemplateServiceAccount(dict):
21786
21527
  def __init__(__self__, *,
@@ -31392,7 +31133,6 @@ class SecurityPolicyAdvancedOptionsConfig(dict):
31392
31133
  :param str json_parsing: Whether or not to JSON parse the payload body. Defaults to `DISABLED`.
31393
31134
  * `DISABLED` - Don't parse JSON payloads in POST bodies.
31394
31135
  * `STANDARD` - Parse JSON payloads in POST bodies.
31395
- * `STANDARD_WITH_GRAPHQL` - Parse JSON and GraphQL payloads in POST bodies.
31396
31136
  :param str log_level: Log level to use. Defaults to `NORMAL`.
31397
31137
  * `NORMAL` - Normal log level.
31398
31138
  * `VERBOSE` - Verbose log level.
@@ -31423,7 +31163,6 @@ class SecurityPolicyAdvancedOptionsConfig(dict):
31423
31163
  Whether or not to JSON parse the payload body. Defaults to `DISABLED`.
31424
31164
  * `DISABLED` - Don't parse JSON payloads in POST bodies.
31425
31165
  * `STANDARD` - Parse JSON payloads in POST bodies.
31426
- * `STANDARD_WITH_GRAPHQL` - Parse JSON and GraphQL payloads in POST bodies.
31427
31166
  """
31428
31167
  return pulumi.get(self, "json_parsing")
31429
31168
 
@@ -32192,24 +31931,24 @@ class SecurityPolicyRuleRateLimitOptions(dict):
32192
31931
  @staticmethod
32193
31932
  def __key_warning(key: str):
32194
31933
  suggest = None
32195
- if key == "banDurationSec":
31934
+ if key == "conformAction":
31935
+ suggest = "conform_action"
31936
+ elif key == "exceedAction":
31937
+ suggest = "exceed_action"
31938
+ elif key == "rateLimitThreshold":
31939
+ suggest = "rate_limit_threshold"
31940
+ elif key == "banDurationSec":
32196
31941
  suggest = "ban_duration_sec"
32197
31942
  elif key == "banThreshold":
32198
31943
  suggest = "ban_threshold"
32199
- elif key == "conformAction":
32200
- suggest = "conform_action"
32201
31944
  elif key == "enforceOnKey":
32202
31945
  suggest = "enforce_on_key"
32203
31946
  elif key == "enforceOnKeyConfigs":
32204
31947
  suggest = "enforce_on_key_configs"
32205
31948
  elif key == "enforceOnKeyName":
32206
31949
  suggest = "enforce_on_key_name"
32207
- elif key == "exceedAction":
32208
- suggest = "exceed_action"
32209
31950
  elif key == "exceedRedirectOptions":
32210
31951
  suggest = "exceed_redirect_options"
32211
- elif key == "rateLimitThreshold":
32212
- suggest = "rate_limit_threshold"
32213
31952
 
32214
31953
  if suggest:
32215
31954
  pulumi.log.warn(f"Key '{key}' not found in SecurityPolicyRuleRateLimitOptions. Access the value via the '{suggest}' property getter instead.")
@@ -32223,73 +31962,90 @@ class SecurityPolicyRuleRateLimitOptions(dict):
32223
31962
  return super().get(key, default)
32224
31963
 
32225
31964
  def __init__(__self__, *,
31965
+ conform_action: str,
31966
+ exceed_action: str,
31967
+ rate_limit_threshold: 'outputs.SecurityPolicyRuleRateLimitOptionsRateLimitThreshold',
32226
31968
  ban_duration_sec: Optional[int] = None,
32227
31969
  ban_threshold: Optional['outputs.SecurityPolicyRuleRateLimitOptionsBanThreshold'] = None,
32228
- conform_action: Optional[str] = None,
32229
31970
  enforce_on_key: Optional[str] = None,
32230
31971
  enforce_on_key_configs: Optional[Sequence['outputs.SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig']] = None,
32231
31972
  enforce_on_key_name: Optional[str] = None,
32232
- exceed_action: Optional[str] = None,
32233
- exceed_redirect_options: Optional['outputs.SecurityPolicyRuleRateLimitOptionsExceedRedirectOptions'] = None,
32234
- rate_limit_threshold: Optional['outputs.SecurityPolicyRuleRateLimitOptionsRateLimitThreshold'] = None):
31973
+ exceed_redirect_options: Optional['outputs.SecurityPolicyRuleRateLimitOptionsExceedRedirectOptions'] = None):
32235
31974
  """
32236
- :param int ban_duration_sec: Can only be specified if the action for the rule is "rate_based_ban".
31975
+ :param str conform_action: Action to take for requests that are under the configured rate limit threshold. Valid option is `allow` only.
31976
+ :param str exceed_action: When a request is denied, returns the HTTP response code specified.
31977
+ Valid options are `deny()` where valid values for status are 403, 404, 429, and 502.
31978
+ :param 'SecurityPolicyRuleRateLimitOptionsRateLimitThresholdArgs' rate_limit_threshold: Threshold at which to begin ratelimiting. Structure is documented below.
31979
+ :param int ban_duration_sec: Can only be specified if the `action` for the rule is `rate_based_ban`.
32237
31980
  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.
32238
- :param 'SecurityPolicyRuleRateLimitOptionsBanThresholdArgs' ban_threshold: Can only be specified if the action for the rule is "rate_based_ban".
32239
- If specified, the key will be banned for the configured 'banDurationSec' when the number of requests that exceed the 'rateLimitThreshold' also exceed this 'banThreshold'.
32240
- Structure is documented below.
32241
- :param str conform_action: Action to take for requests that are under the configured rate limit threshold.
32242
- Valid option is "allow" only.
32243
- :param str enforce_on_key: Determines the key to enforce the rateLimitThreshold on. Possible values are:
32244
- * ALL: A single rate limit threshold is applied to all the requests matching this rule. This is the default value if "enforceOnKey" is not configured.
32245
- * IP: The source IP address of the request is the key. Each IP has this limit enforced separately.
32246
- * HTTP_HEADER: The value of the HTTP header whose name is configured under "enforceOnKeyName". 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.
32247
- * 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 defaults to the source IP address of the request i.e. key type IP.
32248
- * HTTP_COOKIE: The value of the HTTP cookie whose name is configured under "enforceOnKeyName". 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.
32249
- * HTTP_PATH: The URL path of the HTTP request. The key value is truncated to the first 128 bytes.
32250
- * 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.
32251
- * REGION_CODE: The country/region from which the request originates.
32252
- * TLS_JA3_FINGERPRINT: JA3 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL.
32253
- * 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.
32254
- Possible values are: `ALL`, `IP`, `HTTP_HEADER`, `XFF_IP`, `HTTP_COOKIE`, `HTTP_PATH`, `SNI`, `REGION_CODE`, `TLS_JA3_FINGERPRINT`, `USER_IP`.
32255
- :param Sequence['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.
32256
- You can specify up to 3 enforceOnKeyConfigs.
32257
- If enforceOnKeyConfigs is specified, enforceOnKey must not be specified.
32258
- Structure is documented below.
31981
+ :param 'SecurityPolicyRuleRateLimitOptionsBanThresholdArgs' ban_threshold: Can only be specified if the `action` for the rule is `rate_based_ban`.
31982
+ 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
31983
+ exceed this `ban_threshold`. Structure is documented below.
31984
+ :param str enforce_on_key: Determines the key to enforce the rate_limit_threshold on. If not specified, defaults to `ALL`.
31985
+
31986
+ * `ALL`: A single rate limit threshold is applied to all the requests matching this rule.
31987
+ * `IP`: The source IP address of the request is the key. Each IP has this limit enforced separately.
31988
+ * `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`.
31989
+ * `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`.
31990
+ * `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`.
31991
+ * `HTTP_PATH`: The URL path of the HTTP request. The key value is truncated to the first 128 bytes
31992
+ * `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.
31993
+ * `REGION_CODE`: The country/region from which the request originates.
31994
+ :param Sequence['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.
31995
+
31996
+ **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.
32259
31997
  :param str enforce_on_key_name: Rate limit key name applicable only for the following key types:
32260
- HTTP_HEADER -- Name of the HTTP header whose value is taken as the key value.
32261
- HTTP_COOKIE -- Name of the HTTP cookie whose value is taken as the key value.
32262
- :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.
32263
- Valid options are deny(STATUS), where valid values for STATUS are 403, 404, 429, and 502.
32264
- :param '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.
32265
- Structure is documented below.
32266
- :param 'SecurityPolicyRuleRateLimitOptionsRateLimitThresholdArgs' rate_limit_threshold: Threshold at which to begin ratelimiting.
32267
- Structure is documented below.
31998
+
31999
+ * `HTTP_HEADER` -- Name of the HTTP header whose value is taken as the key value.
32000
+ * `HTTP_COOKIE` -- Name of the HTTP cookie whose value is taken as the key value.
32001
+ :param '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.
32268
32002
  """
32003
+ pulumi.set(__self__, "conform_action", conform_action)
32004
+ pulumi.set(__self__, "exceed_action", exceed_action)
32005
+ pulumi.set(__self__, "rate_limit_threshold", rate_limit_threshold)
32269
32006
  if ban_duration_sec is not None:
32270
32007
  pulumi.set(__self__, "ban_duration_sec", ban_duration_sec)
32271
32008
  if ban_threshold is not None:
32272
32009
  pulumi.set(__self__, "ban_threshold", ban_threshold)
32273
- if conform_action is not None:
32274
- pulumi.set(__self__, "conform_action", conform_action)
32275
32010
  if enforce_on_key is not None:
32276
32011
  pulumi.set(__self__, "enforce_on_key", enforce_on_key)
32277
32012
  if enforce_on_key_configs is not None:
32278
32013
  pulumi.set(__self__, "enforce_on_key_configs", enforce_on_key_configs)
32279
32014
  if enforce_on_key_name is not None:
32280
32015
  pulumi.set(__self__, "enforce_on_key_name", enforce_on_key_name)
32281
- if exceed_action is not None:
32282
- pulumi.set(__self__, "exceed_action", exceed_action)
32283
32016
  if exceed_redirect_options is not None:
32284
32017
  pulumi.set(__self__, "exceed_redirect_options", exceed_redirect_options)
32285
- if rate_limit_threshold is not None:
32286
- pulumi.set(__self__, "rate_limit_threshold", rate_limit_threshold)
32018
+
32019
+ @property
32020
+ @pulumi.getter(name="conformAction")
32021
+ def conform_action(self) -> str:
32022
+ """
32023
+ Action to take for requests that are under the configured rate limit threshold. Valid option is `allow` only.
32024
+ """
32025
+ return pulumi.get(self, "conform_action")
32026
+
32027
+ @property
32028
+ @pulumi.getter(name="exceedAction")
32029
+ def exceed_action(self) -> str:
32030
+ """
32031
+ When a request is denied, returns the HTTP response code specified.
32032
+ Valid options are `deny()` where valid values for status are 403, 404, 429, and 502.
32033
+ """
32034
+ return pulumi.get(self, "exceed_action")
32035
+
32036
+ @property
32037
+ @pulumi.getter(name="rateLimitThreshold")
32038
+ def rate_limit_threshold(self) -> 'outputs.SecurityPolicyRuleRateLimitOptionsRateLimitThreshold':
32039
+ """
32040
+ Threshold at which to begin ratelimiting. Structure is documented below.
32041
+ """
32042
+ return pulumi.get(self, "rate_limit_threshold")
32287
32043
 
32288
32044
  @property
32289
32045
  @pulumi.getter(name="banDurationSec")
32290
32046
  def ban_duration_sec(self) -> Optional[int]:
32291
32047
  """
32292
- Can only be specified if the action for the rule is "rate_based_ban".
32048
+ Can only be specified if the `action` for the rule is `rate_based_ban`.
32293
32049
  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.
32294
32050
  """
32295
32051
  return pulumi.get(self, "ban_duration_sec")
@@ -32298,37 +32054,26 @@ class SecurityPolicyRuleRateLimitOptions(dict):
32298
32054
  @pulumi.getter(name="banThreshold")
32299
32055
  def ban_threshold(self) -> Optional['outputs.SecurityPolicyRuleRateLimitOptionsBanThreshold']:
32300
32056
  """
32301
- Can only be specified if the action for the rule is "rate_based_ban".
32302
- If specified, the key will be banned for the configured 'banDurationSec' when the number of requests that exceed the 'rateLimitThreshold' also exceed this 'banThreshold'.
32303
- Structure is documented below.
32057
+ Can only be specified if the `action` for the rule is `rate_based_ban`.
32058
+ 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
32059
+ exceed this `ban_threshold`. Structure is documented below.
32304
32060
  """
32305
32061
  return pulumi.get(self, "ban_threshold")
32306
32062
 
32307
- @property
32308
- @pulumi.getter(name="conformAction")
32309
- def conform_action(self) -> Optional[str]:
32310
- """
32311
- Action to take for requests that are under the configured rate limit threshold.
32312
- Valid option is "allow" only.
32313
- """
32314
- return pulumi.get(self, "conform_action")
32315
-
32316
32063
  @property
32317
32064
  @pulumi.getter(name="enforceOnKey")
32318
32065
  def enforce_on_key(self) -> Optional[str]:
32319
32066
  """
32320
- Determines the key to enforce the rateLimitThreshold on. Possible values are:
32321
- * ALL: A single rate limit threshold is applied to all the requests matching this rule. This is the default value if "enforceOnKey" is not configured.
32322
- * IP: The source IP address of the request is the key. Each IP has this limit enforced separately.
32323
- * HTTP_HEADER: The value of the HTTP header whose name is configured under "enforceOnKeyName". 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.
32324
- * 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 defaults to the source IP address of the request i.e. key type IP.
32325
- * HTTP_COOKIE: The value of the HTTP cookie whose name is configured under "enforceOnKeyName". 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.
32326
- * HTTP_PATH: The URL path of the HTTP request. The key value is truncated to the first 128 bytes.
32327
- * 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.
32328
- * REGION_CODE: The country/region from which the request originates.
32329
- * TLS_JA3_FINGERPRINT: JA3 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL.
32330
- * 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.
32331
- Possible values are: `ALL`, `IP`, `HTTP_HEADER`, `XFF_IP`, `HTTP_COOKIE`, `HTTP_PATH`, `SNI`, `REGION_CODE`, `TLS_JA3_FINGERPRINT`, `USER_IP`.
32067
+ Determines the key to enforce the rate_limit_threshold on. If not specified, defaults to `ALL`.
32068
+
32069
+ * `ALL`: A single rate limit threshold is applied to all the requests matching this rule.
32070
+ * `IP`: The source IP address of the request is the key. Each IP has this limit enforced separately.
32071
+ * `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`.
32072
+ * `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`.
32073
+ * `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`.
32074
+ * `HTTP_PATH`: The URL path of the HTTP request. The key value is truncated to the first 128 bytes
32075
+ * `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.
32076
+ * `REGION_CODE`: The country/region from which the request originates.
32332
32077
  """
32333
32078
  return pulumi.get(self, "enforce_on_key")
32334
32079
 
@@ -32336,10 +32081,9 @@ class SecurityPolicyRuleRateLimitOptions(dict):
32336
32081
  @pulumi.getter(name="enforceOnKeyConfigs")
32337
32082
  def enforce_on_key_configs(self) -> Optional[Sequence['outputs.SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig']]:
32338
32083
  """
32339
- If specified, any combination of values of enforceOnKeyType/enforceOnKeyName is treated as the key on which ratelimit threshold/action is enforced.
32340
- You can specify up to 3 enforceOnKeyConfigs.
32341
- If enforceOnKeyConfigs is specified, enforceOnKey must not be specified.
32342
- Structure is documented below.
32084
+ 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.
32085
+
32086
+ **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.
32343
32087
  """
32344
32088
  return pulumi.get(self, "enforce_on_key_configs")
32345
32089
 
@@ -32348,38 +32092,20 @@ class SecurityPolicyRuleRateLimitOptions(dict):
32348
32092
  def enforce_on_key_name(self) -> Optional[str]:
32349
32093
  """
32350
32094
  Rate limit key name applicable only for the following key types:
32351
- HTTP_HEADER -- Name of the HTTP header whose value is taken as the key value.
32352
- HTTP_COOKIE -- Name of the HTTP cookie whose value is taken as the key value.
32353
- """
32354
- return pulumi.get(self, "enforce_on_key_name")
32355
32095
 
32356
- @property
32357
- @pulumi.getter(name="exceedAction")
32358
- def exceed_action(self) -> Optional[str]:
32359
- """
32360
- 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.
32361
- Valid options are deny(STATUS), where valid values for STATUS are 403, 404, 429, and 502.
32096
+ * `HTTP_HEADER` -- Name of the HTTP header whose value is taken as the key value.
32097
+ * `HTTP_COOKIE` -- Name of the HTTP cookie whose value is taken as the key value.
32362
32098
  """
32363
- return pulumi.get(self, "exceed_action")
32099
+ return pulumi.get(self, "enforce_on_key_name")
32364
32100
 
32365
32101
  @property
32366
32102
  @pulumi.getter(name="exceedRedirectOptions")
32367
32103
  def exceed_redirect_options(self) -> Optional['outputs.SecurityPolicyRuleRateLimitOptionsExceedRedirectOptions']:
32368
32104
  """
32369
- 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.
32370
- Structure is documented below.
32105
+ Parameters defining the redirect action that is used as the exceed action. Cannot be specified if the exceed action is not redirect.
32371
32106
  """
32372
32107
  return pulumi.get(self, "exceed_redirect_options")
32373
32108
 
32374
- @property
32375
- @pulumi.getter(name="rateLimitThreshold")
32376
- def rate_limit_threshold(self) -> Optional['outputs.SecurityPolicyRuleRateLimitOptionsRateLimitThreshold']:
32377
- """
32378
- Threshold at which to begin ratelimiting.
32379
- Structure is documented below.
32380
- """
32381
- return pulumi.get(self, "rate_limit_threshold")
32382
-
32383
32109
 
32384
32110
  @pulumi.output_type
32385
32111
  class SecurityPolicyRuleRateLimitOptionsBanThreshold(dict):
@@ -32401,20 +32127,18 @@ class SecurityPolicyRuleRateLimitOptionsBanThreshold(dict):
32401
32127
  return super().get(key, default)
32402
32128
 
32403
32129
  def __init__(__self__, *,
32404
- count: Optional[int] = None,
32405
- interval_sec: Optional[int] = None):
32130
+ count: int,
32131
+ interval_sec: int):
32406
32132
  """
32407
32133
  :param int count: Number of HTTP(S) requests for calculating the threshold.
32408
32134
  :param int interval_sec: Interval over which the threshold is computed.
32409
32135
  """
32410
- if count is not None:
32411
- pulumi.set(__self__, "count", count)
32412
- if interval_sec is not None:
32413
- pulumi.set(__self__, "interval_sec", interval_sec)
32136
+ pulumi.set(__self__, "count", count)
32137
+ pulumi.set(__self__, "interval_sec", interval_sec)
32414
32138
 
32415
32139
  @property
32416
32140
  @pulumi.getter
32417
- def count(self) -> Optional[int]:
32141
+ def count(self) -> int:
32418
32142
  """
32419
32143
  Number of HTTP(S) requests for calculating the threshold.
32420
32144
  """
@@ -32422,7 +32146,7 @@ class SecurityPolicyRuleRateLimitOptionsBanThreshold(dict):
32422
32146
 
32423
32147
  @property
32424
32148
  @pulumi.getter(name="intervalSec")
32425
- def interval_sec(self) -> Optional[int]:
32149
+ def interval_sec(self) -> int:
32426
32150
  """
32427
32151
  Interval over which the threshold is computed.
32428
32152
  """
@@ -32455,20 +32179,19 @@ class SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig(dict):
32455
32179
  enforce_on_key_type: Optional[str] = None):
32456
32180
  """
32457
32181
  :param str enforce_on_key_name: Rate limit key name applicable only for the following key types:
32458
- HTTP_HEADER -- Name of the HTTP header whose value is taken as the key value.
32459
- HTTP_COOKIE -- Name of the HTTP cookie whose value is taken as the key value.
32460
- :param str enforce_on_key_type: Determines the key to enforce the rateLimitThreshold on. Possible values are:
32461
- * ALL: A single rate limit threshold is applied to all the requests matching this rule. This is the default value if "enforceOnKeyConfigs" is not configured.
32462
- * IP: The source IP address of the request is the key. Each IP has this limit enforced separately.
32463
- * HTTP_HEADER: The value of the HTTP header whose name is configured under "enforceOnKeyName". 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.
32464
- * 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 defaults to the source IP address of the request i.e. key type IP.
32465
- * HTTP_COOKIE: The value of the HTTP cookie whose name is configured under "enforceOnKeyName". 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.
32466
- * HTTP_PATH: The URL path of the HTTP request. The key value is truncated to the first 128 bytes.
32467
- * 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.
32468
- * REGION_CODE: The country/region from which the request originates.
32469
- * TLS_JA3_FINGERPRINT: JA3 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL.
32470
- * 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.
32471
- Possible values are: `ALL`, `IP`, `HTTP_HEADER`, `XFF_IP`, `HTTP_COOKIE`, `HTTP_PATH`, `SNI`, `REGION_CODE`, `TLS_JA3_FINGERPRINT`, `USER_IP`.
32182
+
32183
+ * `HTTP_HEADER` -- Name of the HTTP header whose value is taken as the key value.
32184
+ * `HTTP_COOKIE` -- Name of the HTTP cookie whose value is taken as the key value.
32185
+ :param str enforce_on_key_type: Determines the key to enforce the `rate_limit_threshold` on. If not specified, defaults to `ALL`.
32186
+
32187
+ * `ALL`: A single rate limit threshold is applied to all the requests matching this rule.
32188
+ * `IP`: The source IP address of the request is the key. Each IP has this limit enforced separately.
32189
+ * `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`.
32190
+ * `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`.
32191
+ * `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`.
32192
+ * `HTTP_PATH`: The URL path of the HTTP request. The key value is truncated to the first 128 bytes
32193
+ * `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.
32194
+ * `REGION_CODE`: The country/region from which the request originates.
32472
32195
  """
32473
32196
  if enforce_on_key_name is not None:
32474
32197
  pulumi.set(__self__, "enforce_on_key_name", enforce_on_key_name)
@@ -32480,8 +32203,9 @@ class SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig(dict):
32480
32203
  def enforce_on_key_name(self) -> Optional[str]:
32481
32204
  """
32482
32205
  Rate limit key name applicable only for the following key types:
32483
- HTTP_HEADER -- Name of the HTTP header whose value is taken as the key value.
32484
- HTTP_COOKIE -- Name of the HTTP cookie whose value is taken as the key value.
32206
+
32207
+ * `HTTP_HEADER` -- Name of the HTTP header whose value is taken as the key value.
32208
+ * `HTTP_COOKIE` -- Name of the HTTP cookie whose value is taken as the key value.
32485
32209
  """
32486
32210
  return pulumi.get(self, "enforce_on_key_name")
32487
32211
 
@@ -32489,18 +32213,16 @@ class SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig(dict):
32489
32213
  @pulumi.getter(name="enforceOnKeyType")
32490
32214
  def enforce_on_key_type(self) -> Optional[str]:
32491
32215
  """
32492
- Determines the key to enforce the rateLimitThreshold on. Possible values are:
32493
- * ALL: A single rate limit threshold is applied to all the requests matching this rule. This is the default value if "enforceOnKeyConfigs" is not configured.
32494
- * IP: The source IP address of the request is the key. Each IP has this limit enforced separately.
32495
- * HTTP_HEADER: The value of the HTTP header whose name is configured under "enforceOnKeyName". 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.
32496
- * 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 defaults to the source IP address of the request i.e. key type IP.
32497
- * HTTP_COOKIE: The value of the HTTP cookie whose name is configured under "enforceOnKeyName". 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.
32498
- * HTTP_PATH: The URL path of the HTTP request. The key value is truncated to the first 128 bytes.
32499
- * 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.
32500
- * REGION_CODE: The country/region from which the request originates.
32501
- * TLS_JA3_FINGERPRINT: JA3 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL.
32502
- * 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.
32503
- Possible values are: `ALL`, `IP`, `HTTP_HEADER`, `XFF_IP`, `HTTP_COOKIE`, `HTTP_PATH`, `SNI`, `REGION_CODE`, `TLS_JA3_FINGERPRINT`, `USER_IP`.
32216
+ Determines the key to enforce the `rate_limit_threshold` on. If not specified, defaults to `ALL`.
32217
+
32218
+ * `ALL`: A single rate limit threshold is applied to all the requests matching this rule.
32219
+ * `IP`: The source IP address of the request is the key. Each IP has this limit enforced separately.
32220
+ * `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`.
32221
+ * `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`.
32222
+ * `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`.
32223
+ * `HTTP_PATH`: The URL path of the HTTP request. The key value is truncated to the first 128 bytes
32224
+ * `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.
32225
+ * `REGION_CODE`: The country/region from which the request originates.
32504
32226
  """
32505
32227
  return pulumi.get(self, "enforce_on_key_type")
32506
32228
 
@@ -32508,32 +32230,31 @@ class SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig(dict):
32508
32230
  @pulumi.output_type
32509
32231
  class SecurityPolicyRuleRateLimitOptionsExceedRedirectOptions(dict):
32510
32232
  def __init__(__self__, *,
32511
- target: Optional[str] = None,
32512
- type: Optional[str] = None):
32233
+ type: str,
32234
+ target: Optional[str] = None):
32513
32235
  """
32514
- :param str target: Target for the redirect action. This is required if the type is EXTERNAL_302 and cannot be specified for GOOGLE_RECAPTCHA.
32515
32236
  :param str type: Type of the redirect action.
32237
+ :param str target: Target for the redirect action. This is required if the type is `EXTERNAL_302` and cannot be specified for `GOOGLE_RECAPTCHA`.
32516
32238
  """
32239
+ pulumi.set(__self__, "type", type)
32517
32240
  if target is not None:
32518
32241
  pulumi.set(__self__, "target", target)
32519
- if type is not None:
32520
- pulumi.set(__self__, "type", type)
32521
32242
 
32522
32243
  @property
32523
32244
  @pulumi.getter
32524
- def target(self) -> Optional[str]:
32245
+ def type(self) -> str:
32525
32246
  """
32526
- Target for the redirect action. This is required if the type is EXTERNAL_302 and cannot be specified for GOOGLE_RECAPTCHA.
32247
+ Type of the redirect action.
32527
32248
  """
32528
- return pulumi.get(self, "target")
32249
+ return pulumi.get(self, "type")
32529
32250
 
32530
32251
  @property
32531
32252
  @pulumi.getter
32532
- def type(self) -> Optional[str]:
32253
+ def target(self) -> Optional[str]:
32533
32254
  """
32534
- Type of the redirect action.
32255
+ Target for the redirect action. This is required if the type is `EXTERNAL_302` and cannot be specified for `GOOGLE_RECAPTCHA`.
32535
32256
  """
32536
- return pulumi.get(self, "type")
32257
+ return pulumi.get(self, "target")
32537
32258
 
32538
32259
 
32539
32260
  @pulumi.output_type
@@ -32556,20 +32277,18 @@ class SecurityPolicyRuleRateLimitOptionsRateLimitThreshold(dict):
32556
32277
  return super().get(key, default)
32557
32278
 
32558
32279
  def __init__(__self__, *,
32559
- count: Optional[int] = None,
32560
- interval_sec: Optional[int] = None):
32280
+ count: int,
32281
+ interval_sec: int):
32561
32282
  """
32562
32283
  :param int count: Number of HTTP(S) requests for calculating the threshold.
32563
32284
  :param int interval_sec: Interval over which the threshold is computed.
32564
32285
  """
32565
- if count is not None:
32566
- pulumi.set(__self__, "count", count)
32567
- if interval_sec is not None:
32568
- pulumi.set(__self__, "interval_sec", interval_sec)
32286
+ pulumi.set(__self__, "count", count)
32287
+ pulumi.set(__self__, "interval_sec", interval_sec)
32569
32288
 
32570
32289
  @property
32571
32290
  @pulumi.getter
32572
- def count(self) -> Optional[int]:
32291
+ def count(self) -> int:
32573
32292
  """
32574
32293
  Number of HTTP(S) requests for calculating the threshold.
32575
32294
  """
@@ -32577,7 +32296,7 @@ class SecurityPolicyRuleRateLimitOptionsRateLimitThreshold(dict):
32577
32296
 
32578
32297
  @property
32579
32298
  @pulumi.getter(name="intervalSec")
32580
- def interval_sec(self) -> Optional[int]:
32299
+ def interval_sec(self) -> int:
32581
32300
  """
32582
32301
  Interval over which the threshold is computed.
32583
32302
  """
@@ -44917,7 +44636,6 @@ class GetInstanceSchedulingResult(dict):
44917
44636
  min_node_cpus: int,
44918
44637
  node_affinities: Sequence['outputs.GetInstanceSchedulingNodeAffinityResult'],
44919
44638
  on_host_maintenance: str,
44920
- on_instance_stop_actions: Sequence['outputs.GetInstanceSchedulingOnInstanceStopActionResult'],
44921
44639
  preemptible: bool,
44922
44640
  provisioning_model: str):
44923
44641
  """
@@ -44934,7 +44652,6 @@ class GetInstanceSchedulingResult(dict):
44934
44652
  :param str on_host_maintenance: Describes maintenance behavior for the
44935
44653
  instance. One of `MIGRATE` or `TERMINATE`, for more info, read
44936
44654
  [here](https://cloud.google.com/compute/docs/instances/setting-instance-scheduling-options)
44937
- :param Sequence['GetInstanceSchedulingOnInstanceStopActionArgs'] on_instance_stop_actions: Defines the behaviour for instances with the instance_termination_action.
44938
44655
  :param bool preemptible: Whether the instance is preemptible.
44939
44656
  :param str provisioning_model: Describe the type of preemptible VM.
44940
44657
  """
@@ -44946,7 +44663,6 @@ class GetInstanceSchedulingResult(dict):
44946
44663
  pulumi.set(__self__, "min_node_cpus", min_node_cpus)
44947
44664
  pulumi.set(__self__, "node_affinities", node_affinities)
44948
44665
  pulumi.set(__self__, "on_host_maintenance", on_host_maintenance)
44949
- pulumi.set(__self__, "on_instance_stop_actions", on_instance_stop_actions)
44950
44666
  pulumi.set(__self__, "preemptible", preemptible)
44951
44667
  pulumi.set(__self__, "provisioning_model", provisioning_model)
44952
44668
 
@@ -45017,14 +44733,6 @@ class GetInstanceSchedulingResult(dict):
45017
44733
  """
45018
44734
  return pulumi.get(self, "on_host_maintenance")
45019
44735
 
45020
- @property
45021
- @pulumi.getter(name="onInstanceStopActions")
45022
- def on_instance_stop_actions(self) -> Sequence['outputs.GetInstanceSchedulingOnInstanceStopActionResult']:
45023
- """
45024
- Defines the behaviour for instances with the instance_termination_action.
45025
- """
45026
- return pulumi.get(self, "on_instance_stop_actions")
45027
-
45028
44736
  @property
45029
44737
  @pulumi.getter
45030
44738
  def preemptible(self) -> bool:
@@ -45142,24 +44850,6 @@ class GetInstanceSchedulingNodeAffinityResult(dict):
45142
44850
  return pulumi.get(self, "values")
45143
44851
 
45144
44852
 
45145
- @pulumi.output_type
45146
- class GetInstanceSchedulingOnInstanceStopActionResult(dict):
45147
- def __init__(__self__, *,
45148
- discard_local_ssd: bool):
45149
- """
45150
- :param bool discard_local_ssd: If true, the contents of any attached Local SSD disks will be discarded.
45151
- """
45152
- pulumi.set(__self__, "discard_local_ssd", discard_local_ssd)
45153
-
45154
- @property
45155
- @pulumi.getter(name="discardLocalSsd")
45156
- def discard_local_ssd(self) -> bool:
45157
- """
45158
- If true, the contents of any attached Local SSD disks will be discarded.
45159
- """
45160
- return pulumi.get(self, "discard_local_ssd")
45161
-
45162
-
45163
44853
  @pulumi.output_type
45164
44854
  class GetInstanceScratchDiskResult(dict):
45165
44855
  def __init__(__self__, *,
@@ -46179,7 +45869,6 @@ class GetInstanceTemplateSchedulingResult(dict):
46179
45869
  min_node_cpus: int,
46180
45870
  node_affinities: Sequence['outputs.GetInstanceTemplateSchedulingNodeAffinityResult'],
46181
45871
  on_host_maintenance: str,
46182
- on_instance_stop_actions: Sequence['outputs.GetInstanceTemplateSchedulingOnInstanceStopActionResult'],
46183
45872
  preemptible: bool,
46184
45873
  provisioning_model: str):
46185
45874
  """
@@ -46201,7 +45890,6 @@ class GetInstanceTemplateSchedulingResult(dict):
46201
45890
  Structure documented below.
46202
45891
  :param str on_host_maintenance: Defines the maintenance behavior for this
46203
45892
  instance.
46204
- :param Sequence['GetInstanceTemplateSchedulingOnInstanceStopActionArgs'] on_instance_stop_actions: Defines the behaviour for instances with the instance_termination_action.
46205
45893
  :param bool preemptible: Allows instance to be preempted. This defaults to
46206
45894
  false. Read more on this
46207
45895
  [here](https://cloud.google.com/compute/docs/instances/preemptible).
@@ -46215,7 +45903,6 @@ class GetInstanceTemplateSchedulingResult(dict):
46215
45903
  pulumi.set(__self__, "min_node_cpus", min_node_cpus)
46216
45904
  pulumi.set(__self__, "node_affinities", node_affinities)
46217
45905
  pulumi.set(__self__, "on_host_maintenance", on_host_maintenance)
46218
- pulumi.set(__self__, "on_instance_stop_actions", on_instance_stop_actions)
46219
45906
  pulumi.set(__self__, "preemptible", preemptible)
46220
45907
  pulumi.set(__self__, "provisioning_model", provisioning_model)
46221
45908
 
@@ -46293,14 +45980,6 @@ class GetInstanceTemplateSchedulingResult(dict):
46293
45980
  """
46294
45981
  return pulumi.get(self, "on_host_maintenance")
46295
45982
 
46296
- @property
46297
- @pulumi.getter(name="onInstanceStopActions")
46298
- def on_instance_stop_actions(self) -> Sequence['outputs.GetInstanceTemplateSchedulingOnInstanceStopActionResult']:
46299
- """
46300
- Defines the behaviour for instances with the instance_termination_action.
46301
- """
46302
- return pulumi.get(self, "on_instance_stop_actions")
46303
-
46304
45983
  @property
46305
45984
  @pulumi.getter
46306
45985
  def preemptible(self) -> bool:
@@ -46432,24 +46111,6 @@ class GetInstanceTemplateSchedulingNodeAffinityResult(dict):
46432
46111
  return pulumi.get(self, "values")
46433
46112
 
46434
46113
 
46435
- @pulumi.output_type
46436
- class GetInstanceTemplateSchedulingOnInstanceStopActionResult(dict):
46437
- def __init__(__self__, *,
46438
- discard_local_ssd: bool):
46439
- """
46440
- :param bool discard_local_ssd: If true, the contents of any attached Local SSD disks will be discarded.
46441
- """
46442
- pulumi.set(__self__, "discard_local_ssd", discard_local_ssd)
46443
-
46444
- @property
46445
- @pulumi.getter(name="discardLocalSsd")
46446
- def discard_local_ssd(self) -> bool:
46447
- """
46448
- If true, the contents of any attached Local SSD disks will be discarded.
46449
- """
46450
- return pulumi.get(self, "discard_local_ssd")
46451
-
46452
-
46453
46114
  @pulumi.output_type
46454
46115
  class GetInstanceTemplateServiceAccountResult(dict):
46455
46116
  def __init__(__self__, *,
@@ -47816,7 +47477,6 @@ class GetRegionInstanceTemplateSchedulingResult(dict):
47816
47477
  min_node_cpus: int,
47817
47478
  node_affinities: Sequence['outputs.GetRegionInstanceTemplateSchedulingNodeAffinityResult'],
47818
47479
  on_host_maintenance: str,
47819
- on_instance_stop_actions: Sequence['outputs.GetRegionInstanceTemplateSchedulingOnInstanceStopActionResult'],
47820
47480
  preemptible: bool,
47821
47481
  provisioning_model: str):
47822
47482
  """
@@ -47838,7 +47498,6 @@ class GetRegionInstanceTemplateSchedulingResult(dict):
47838
47498
  Structure documented below.
47839
47499
  :param str on_host_maintenance: Defines the maintenance behavior for this
47840
47500
  instance.
47841
- :param Sequence['GetRegionInstanceTemplateSchedulingOnInstanceStopActionArgs'] on_instance_stop_actions: Defines the behaviour for instances with the instance_termination_action.
47842
47501
  :param bool preemptible: Allows instance to be preempted. This defaults to
47843
47502
  false. Read more on this
47844
47503
  [here](https://cloud.google.com/compute/docs/instances/preemptible).
@@ -47852,7 +47511,6 @@ class GetRegionInstanceTemplateSchedulingResult(dict):
47852
47511
  pulumi.set(__self__, "min_node_cpus", min_node_cpus)
47853
47512
  pulumi.set(__self__, "node_affinities", node_affinities)
47854
47513
  pulumi.set(__self__, "on_host_maintenance", on_host_maintenance)
47855
- pulumi.set(__self__, "on_instance_stop_actions", on_instance_stop_actions)
47856
47514
  pulumi.set(__self__, "preemptible", preemptible)
47857
47515
  pulumi.set(__self__, "provisioning_model", provisioning_model)
47858
47516
 
@@ -47930,14 +47588,6 @@ class GetRegionInstanceTemplateSchedulingResult(dict):
47930
47588
  """
47931
47589
  return pulumi.get(self, "on_host_maintenance")
47932
47590
 
47933
- @property
47934
- @pulumi.getter(name="onInstanceStopActions")
47935
- def on_instance_stop_actions(self) -> Sequence['outputs.GetRegionInstanceTemplateSchedulingOnInstanceStopActionResult']:
47936
- """
47937
- Defines the behaviour for instances with the instance_termination_action.
47938
- """
47939
- return pulumi.get(self, "on_instance_stop_actions")
47940
-
47941
47591
  @property
47942
47592
  @pulumi.getter
47943
47593
  def preemptible(self) -> bool:
@@ -48069,24 +47719,6 @@ class GetRegionInstanceTemplateSchedulingNodeAffinityResult(dict):
48069
47719
  return pulumi.get(self, "values")
48070
47720
 
48071
47721
 
48072
- @pulumi.output_type
48073
- class GetRegionInstanceTemplateSchedulingOnInstanceStopActionResult(dict):
48074
- def __init__(__self__, *,
48075
- discard_local_ssd: bool):
48076
- """
48077
- :param bool discard_local_ssd: If true, the contents of any attached Local SSD disks will be discarded.
48078
- """
48079
- pulumi.set(__self__, "discard_local_ssd", discard_local_ssd)
48080
-
48081
- @property
48082
- @pulumi.getter(name="discardLocalSsd")
48083
- def discard_local_ssd(self) -> bool:
48084
- """
48085
- If true, the contents of any attached Local SSD disks will be discarded.
48086
- """
48087
- return pulumi.get(self, "discard_local_ssd")
48088
-
48089
-
48090
47722
  @pulumi.output_type
48091
47723
  class GetRegionInstanceTemplateServiceAccountResult(dict):
48092
47724
  def __init__(__self__, *,
@@ -50071,83 +49703,3 @@ class GetSubnetworkSecondaryIpRangeResult(dict):
50071
49703
  return pulumi.get(self, "range_name")
50072
49704
 
50073
49705
 
50074
- @pulumi.output_type
50075
- class GetSubnetworksSubnetworkResult(dict):
50076
- def __init__(__self__, *,
50077
- description: str,
50078
- ip_cidr_range: str,
50079
- name: str,
50080
- network: str,
50081
- network_self_link: str,
50082
- private_ip_google_access: bool,
50083
- self_link: str):
50084
- """
50085
- :param str description: Description of the subnetwork.
50086
- :param str ip_cidr_range: The IP address range represented as a CIDR block.
50087
- :param str name: The name of the subnetwork.
50088
- :param str network: The self link of the parent network.
50089
- :param bool private_ip_google_access: Whether the VMs in the subnet can access Google services without assigned external IP addresses.
50090
- :param str self_link: The self link of the subnetwork.
50091
- """
50092
- pulumi.set(__self__, "description", description)
50093
- pulumi.set(__self__, "ip_cidr_range", ip_cidr_range)
50094
- pulumi.set(__self__, "name", name)
50095
- pulumi.set(__self__, "network", network)
50096
- pulumi.set(__self__, "network_self_link", network_self_link)
50097
- pulumi.set(__self__, "private_ip_google_access", private_ip_google_access)
50098
- pulumi.set(__self__, "self_link", self_link)
50099
-
50100
- @property
50101
- @pulumi.getter
50102
- def description(self) -> str:
50103
- """
50104
- Description of the subnetwork.
50105
- """
50106
- return pulumi.get(self, "description")
50107
-
50108
- @property
50109
- @pulumi.getter(name="ipCidrRange")
50110
- def ip_cidr_range(self) -> str:
50111
- """
50112
- The IP address range represented as a CIDR block.
50113
- """
50114
- return pulumi.get(self, "ip_cidr_range")
50115
-
50116
- @property
50117
- @pulumi.getter
50118
- def name(self) -> str:
50119
- """
50120
- The name of the subnetwork.
50121
- """
50122
- return pulumi.get(self, "name")
50123
-
50124
- @property
50125
- @pulumi.getter
50126
- def network(self) -> str:
50127
- """
50128
- The self link of the parent network.
50129
- """
50130
- return pulumi.get(self, "network")
50131
-
50132
- @property
50133
- @pulumi.getter(name="networkSelfLink")
50134
- def network_self_link(self) -> str:
50135
- return pulumi.get(self, "network_self_link")
50136
-
50137
- @property
50138
- @pulumi.getter(name="privateIpGoogleAccess")
50139
- def private_ip_google_access(self) -> bool:
50140
- """
50141
- Whether the VMs in the subnet can access Google services without assigned external IP addresses.
50142
- """
50143
- return pulumi.get(self, "private_ip_google_access")
50144
-
50145
- @property
50146
- @pulumi.getter(name="selfLink")
50147
- def self_link(self) -> str:
50148
- """
50149
- The self link of the subnetwork.
50150
- """
50151
- return pulumi.get(self, "self_link")
50152
-
50153
-