pulumi-gcp 7.25.0a1717104660__py3-none-any.whl → 7.25.0a1717407024__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 +88 -0
- pulumi_gcp/appengine/_inputs.py +18 -0
- pulumi_gcp/appengine/domain_mapping.py +1 -1
- pulumi_gcp/appengine/outputs.py +16 -0
- pulumi_gcp/bigquery/_inputs.py +286 -2
- pulumi_gcp/bigquery/outputs.py +289 -2
- pulumi_gcp/bigquery/table.py +77 -35
- pulumi_gcp/cloudfunctionsv2/function.py +0 -4
- pulumi_gcp/cloudrun/_inputs.py +80 -4
- pulumi_gcp/cloudrun/outputs.py +137 -4
- pulumi_gcp/composer/user_workloads_secret.py +4 -4
- pulumi_gcp/compute/__init__.py +1 -0
- pulumi_gcp/compute/_inputs.py +398 -176
- pulumi_gcp/compute/get_subnetworks.py +157 -0
- pulumi_gcp/compute/instance_group_membership.py +2 -2
- pulumi_gcp/compute/interconnect_attachment.py +82 -0
- pulumi_gcp/compute/network_endpoint.py +2 -2
- pulumi_gcp/compute/network_endpoint_list.py +2 -2
- pulumi_gcp/compute/outputs.py +609 -161
- pulumi_gcp/compute/region_ssl_policy.py +39 -40
- pulumi_gcp/compute/security_policy_rule.py +55 -1
- pulumi_gcp/container/_inputs.py +560 -0
- pulumi_gcp/container/outputs.py +1106 -51
- pulumi_gcp/dataplex/__init__.py +10 -0
- pulumi_gcp/dataplex/_inputs.py +160 -0
- pulumi_gcp/dataplex/aspect_type.py +1077 -0
- pulumi_gcp/dataplex/aspect_type_iam_binding.py +765 -0
- pulumi_gcp/dataplex/aspect_type_iam_member.py +765 -0
- pulumi_gcp/dataplex/aspect_type_iam_policy.py +604 -0
- pulumi_gcp/dataplex/entry_group.py +722 -0
- pulumi_gcp/dataplex/entry_group_iam_binding.py +765 -0
- pulumi_gcp/dataplex/entry_group_iam_member.py +765 -0
- pulumi_gcp/dataplex/entry_group_iam_policy.py +604 -0
- pulumi_gcp/dataplex/get_aspect_type_iam_policy.py +164 -0
- pulumi_gcp/dataplex/get_entry_group_iam_policy.py +164 -0
- pulumi_gcp/dataplex/outputs.py +112 -0
- pulumi_gcp/datastream/connection_profile.py +47 -0
- pulumi_gcp/datastream/private_connection.py +47 -0
- pulumi_gcp/datastream/stream.py +47 -0
- pulumi_gcp/kms/__init__.py +2 -0
- pulumi_gcp/kms/autokey_config.py +366 -0
- pulumi_gcp/kms/key_handle.py +548 -0
- pulumi_gcp/networkservices/__init__.py +1 -0
- pulumi_gcp/networkservices/_inputs.py +245 -27
- pulumi_gcp/networkservices/lb_route_extension.py +663 -0
- pulumi_gcp/networkservices/lb_traffic_extension.py +28 -14
- pulumi_gcp/networkservices/outputs.py +251 -20
- pulumi_gcp/orgpolicy/policy.py +2 -2
- pulumi_gcp/pubsub/_inputs.py +16 -0
- pulumi_gcp/pubsub/outputs.py +25 -0
- pulumi_gcp/pubsub/subscription.py +8 -4
- 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.0a1717104660.dist-info → pulumi_gcp-7.25.0a1717407024.dist-info}/METADATA +1 -1
- {pulumi_gcp-7.25.0a1717104660.dist-info → pulumi_gcp-7.25.0a1717407024.dist-info}/RECORD +59 -45
- {pulumi_gcp-7.25.0a1717104660.dist-info → pulumi_gcp-7.25.0a1717407024.dist-info}/WHEEL +0 -0
- {pulumi_gcp-7.25.0a1717104660.dist-info → pulumi_gcp-7.25.0a1717407024.dist-info}/top_level.txt +0 -0
pulumi_gcp/compute/outputs.py
CHANGED
@@ -101,6 +101,7 @@ __all__ = [
|
|
101
101
|
'InstanceFromMachineImageSchedulingLocalSsdRecoveryTimeout',
|
102
102
|
'InstanceFromMachineImageSchedulingMaxRunDuration',
|
103
103
|
'InstanceFromMachineImageSchedulingNodeAffinity',
|
104
|
+
'InstanceFromMachineImageSchedulingOnInstanceStopAction',
|
104
105
|
'InstanceFromMachineImageScratchDisk',
|
105
106
|
'InstanceFromMachineImageServiceAccount',
|
106
107
|
'InstanceFromMachineImageShieldedInstanceConfig',
|
@@ -122,6 +123,7 @@ __all__ = [
|
|
122
123
|
'InstanceFromTemplateSchedulingLocalSsdRecoveryTimeout',
|
123
124
|
'InstanceFromTemplateSchedulingMaxRunDuration',
|
124
125
|
'InstanceFromTemplateSchedulingNodeAffinity',
|
126
|
+
'InstanceFromTemplateSchedulingOnInstanceStopAction',
|
125
127
|
'InstanceFromTemplateScratchDisk',
|
126
128
|
'InstanceFromTemplateServiceAccount',
|
127
129
|
'InstanceFromTemplateShieldedInstanceConfig',
|
@@ -157,6 +159,7 @@ __all__ = [
|
|
157
159
|
'InstanceSchedulingLocalSsdRecoveryTimeout',
|
158
160
|
'InstanceSchedulingMaxRunDuration',
|
159
161
|
'InstanceSchedulingNodeAffinity',
|
162
|
+
'InstanceSchedulingOnInstanceStopAction',
|
160
163
|
'InstanceScratchDisk',
|
161
164
|
'InstanceServiceAccount',
|
162
165
|
'InstanceSettingsMetadata',
|
@@ -179,6 +182,7 @@ __all__ = [
|
|
179
182
|
'InstanceTemplateSchedulingLocalSsdRecoveryTimeout',
|
180
183
|
'InstanceTemplateSchedulingMaxRunDuration',
|
181
184
|
'InstanceTemplateSchedulingNodeAffinity',
|
185
|
+
'InstanceTemplateSchedulingOnInstanceStopAction',
|
182
186
|
'InstanceTemplateServiceAccount',
|
183
187
|
'InstanceTemplateShieldedInstanceConfig',
|
184
188
|
'InterconnectAttachmentPrivateInterconnectInfo',
|
@@ -295,6 +299,7 @@ __all__ = [
|
|
295
299
|
'RegionInstanceTemplateSchedulingLocalSsdRecoveryTimeout',
|
296
300
|
'RegionInstanceTemplateSchedulingMaxRunDuration',
|
297
301
|
'RegionInstanceTemplateSchedulingNodeAffinity',
|
302
|
+
'RegionInstanceTemplateSchedulingOnInstanceStopAction',
|
298
303
|
'RegionInstanceTemplateServiceAccount',
|
299
304
|
'RegionInstanceTemplateShieldedInstanceConfig',
|
300
305
|
'RegionNetworkEndpointGroupAppEngine',
|
@@ -621,6 +626,7 @@ __all__ = [
|
|
621
626
|
'GetInstanceSchedulingLocalSsdRecoveryTimeoutResult',
|
622
627
|
'GetInstanceSchedulingMaxRunDurationResult',
|
623
628
|
'GetInstanceSchedulingNodeAffinityResult',
|
629
|
+
'GetInstanceSchedulingOnInstanceStopActionResult',
|
624
630
|
'GetInstanceScratchDiskResult',
|
625
631
|
'GetInstanceServiceAccountResult',
|
626
632
|
'GetInstanceShieldedInstanceConfigResult',
|
@@ -642,6 +648,7 @@ __all__ = [
|
|
642
648
|
'GetInstanceTemplateSchedulingLocalSsdRecoveryTimeoutResult',
|
643
649
|
'GetInstanceTemplateSchedulingMaxRunDurationResult',
|
644
650
|
'GetInstanceTemplateSchedulingNodeAffinityResult',
|
651
|
+
'GetInstanceTemplateSchedulingOnInstanceStopActionResult',
|
645
652
|
'GetInstanceTemplateServiceAccountResult',
|
646
653
|
'GetInstanceTemplateShieldedInstanceConfigResult',
|
647
654
|
'GetMachineTypesMachineTypeResult',
|
@@ -672,6 +679,7 @@ __all__ = [
|
|
672
679
|
'GetRegionInstanceTemplateSchedulingLocalSsdRecoveryTimeoutResult',
|
673
680
|
'GetRegionInstanceTemplateSchedulingMaxRunDurationResult',
|
674
681
|
'GetRegionInstanceTemplateSchedulingNodeAffinityResult',
|
682
|
+
'GetRegionInstanceTemplateSchedulingOnInstanceStopActionResult',
|
675
683
|
'GetRegionInstanceTemplateServiceAccountResult',
|
676
684
|
'GetRegionInstanceTemplateShieldedInstanceConfigResult',
|
677
685
|
'GetRegionNetworkEndpointGroupAppEngineResult',
|
@@ -708,6 +716,7 @@ __all__ = [
|
|
708
716
|
'GetSnapshotSnapshotEncryptionKeyResult',
|
709
717
|
'GetSnapshotSourceDiskEncryptionKeyResult',
|
710
718
|
'GetSubnetworkSecondaryIpRangeResult',
|
719
|
+
'GetSubnetworksSubnetworkResult',
|
711
720
|
]
|
712
721
|
|
713
722
|
@pulumi.output_type
|
@@ -7516,6 +7525,8 @@ class InstanceFromMachineImageScheduling(dict):
|
|
7516
7525
|
suggest = "node_affinities"
|
7517
7526
|
elif key == "onHostMaintenance":
|
7518
7527
|
suggest = "on_host_maintenance"
|
7528
|
+
elif key == "onInstanceStopAction":
|
7529
|
+
suggest = "on_instance_stop_action"
|
7519
7530
|
elif key == "provisioningModel":
|
7520
7531
|
suggest = "provisioning_model"
|
7521
7532
|
|
@@ -7539,6 +7550,7 @@ class InstanceFromMachineImageScheduling(dict):
|
|
7539
7550
|
min_node_cpus: Optional[int] = None,
|
7540
7551
|
node_affinities: Optional[Sequence['outputs.InstanceFromMachineImageSchedulingNodeAffinity']] = None,
|
7541
7552
|
on_host_maintenance: Optional[str] = None,
|
7553
|
+
on_instance_stop_action: Optional['outputs.InstanceFromMachineImageSchedulingOnInstanceStopAction'] = None,
|
7542
7554
|
preemptible: Optional[bool] = None,
|
7543
7555
|
provisioning_model: Optional[str] = None):
|
7544
7556
|
"""
|
@@ -7552,6 +7564,7 @@ class InstanceFromMachineImageScheduling(dict):
|
|
7552
7564
|
:param 'InstanceFromMachineImageSchedulingMaxRunDurationArgs' max_run_duration: The timeout for new network connections to hosts.
|
7553
7565
|
: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.
|
7554
7566
|
: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.
|
7555
7568
|
:param bool preemptible: Whether the instance is preemptible.
|
7556
7569
|
:param str provisioning_model: Whether the instance is spot. If this is set as SPOT.
|
7557
7570
|
"""
|
@@ -7571,6 +7584,8 @@ class InstanceFromMachineImageScheduling(dict):
|
|
7571
7584
|
pulumi.set(__self__, "node_affinities", node_affinities)
|
7572
7585
|
if on_host_maintenance is not None:
|
7573
7586
|
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)
|
7574
7589
|
if preemptible is not None:
|
7575
7590
|
pulumi.set(__self__, "preemptible", preemptible)
|
7576
7591
|
if provisioning_model is not None:
|
@@ -7640,6 +7655,14 @@ class InstanceFromMachineImageScheduling(dict):
|
|
7640
7655
|
"""
|
7641
7656
|
return pulumi.get(self, "on_host_maintenance")
|
7642
7657
|
|
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
|
+
|
7643
7666
|
@property
|
7644
7667
|
@pulumi.getter
|
7645
7668
|
def preemptible(self) -> Optional[bool]:
|
@@ -7759,6 +7782,42 @@ class InstanceFromMachineImageSchedulingNodeAffinity(dict):
|
|
7759
7782
|
return pulumi.get(self, "values")
|
7760
7783
|
|
7761
7784
|
|
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
|
+
|
7762
7821
|
@pulumi.output_type
|
7763
7822
|
class InstanceFromMachineImageScratchDisk(dict):
|
7764
7823
|
@staticmethod
|
@@ -9058,6 +9117,8 @@ class InstanceFromTemplateScheduling(dict):
|
|
9058
9117
|
suggest = "node_affinities"
|
9059
9118
|
elif key == "onHostMaintenance":
|
9060
9119
|
suggest = "on_host_maintenance"
|
9120
|
+
elif key == "onInstanceStopAction":
|
9121
|
+
suggest = "on_instance_stop_action"
|
9061
9122
|
elif key == "provisioningModel":
|
9062
9123
|
suggest = "provisioning_model"
|
9063
9124
|
|
@@ -9081,6 +9142,7 @@ class InstanceFromTemplateScheduling(dict):
|
|
9081
9142
|
min_node_cpus: Optional[int] = None,
|
9082
9143
|
node_affinities: Optional[Sequence['outputs.InstanceFromTemplateSchedulingNodeAffinity']] = None,
|
9083
9144
|
on_host_maintenance: Optional[str] = None,
|
9145
|
+
on_instance_stop_action: Optional['outputs.InstanceFromTemplateSchedulingOnInstanceStopAction'] = None,
|
9084
9146
|
preemptible: Optional[bool] = None,
|
9085
9147
|
provisioning_model: Optional[str] = None):
|
9086
9148
|
"""
|
@@ -9094,6 +9156,7 @@ class InstanceFromTemplateScheduling(dict):
|
|
9094
9156
|
:param 'InstanceFromTemplateSchedulingMaxRunDurationArgs' max_run_duration: The timeout for new network connections to hosts.
|
9095
9157
|
: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.
|
9096
9158
|
: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.
|
9097
9160
|
:param bool preemptible: Whether the instance is preemptible.
|
9098
9161
|
:param str provisioning_model: Whether the instance is spot. If this is set as SPOT.
|
9099
9162
|
"""
|
@@ -9113,6 +9176,8 @@ class InstanceFromTemplateScheduling(dict):
|
|
9113
9176
|
pulumi.set(__self__, "node_affinities", node_affinities)
|
9114
9177
|
if on_host_maintenance is not None:
|
9115
9178
|
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)
|
9116
9181
|
if preemptible is not None:
|
9117
9182
|
pulumi.set(__self__, "preemptible", preemptible)
|
9118
9183
|
if provisioning_model is not None:
|
@@ -9182,6 +9247,14 @@ class InstanceFromTemplateScheduling(dict):
|
|
9182
9247
|
"""
|
9183
9248
|
return pulumi.get(self, "on_host_maintenance")
|
9184
9249
|
|
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
|
+
|
9185
9258
|
@property
|
9186
9259
|
@pulumi.getter
|
9187
9260
|
def preemptible(self) -> Optional[bool]:
|
@@ -9301,6 +9374,42 @@ class InstanceFromTemplateSchedulingNodeAffinity(dict):
|
|
9301
9374
|
return pulumi.get(self, "values")
|
9302
9375
|
|
9303
9376
|
|
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
|
+
|
9304
9413
|
@pulumi.output_type
|
9305
9414
|
class InstanceFromTemplateScratchDisk(dict):
|
9306
9415
|
@staticmethod
|
@@ -11157,6 +11266,8 @@ class InstanceScheduling(dict):
|
|
11157
11266
|
suggest = "node_affinities"
|
11158
11267
|
elif key == "onHostMaintenance":
|
11159
11268
|
suggest = "on_host_maintenance"
|
11269
|
+
elif key == "onInstanceStopAction":
|
11270
|
+
suggest = "on_instance_stop_action"
|
11160
11271
|
elif key == "provisioningModel":
|
11161
11272
|
suggest = "provisioning_model"
|
11162
11273
|
|
@@ -11180,6 +11291,7 @@ class InstanceScheduling(dict):
|
|
11180
11291
|
min_node_cpus: Optional[int] = None,
|
11181
11292
|
node_affinities: Optional[Sequence['outputs.InstanceSchedulingNodeAffinity']] = None,
|
11182
11293
|
on_host_maintenance: Optional[str] = None,
|
11294
|
+
on_instance_stop_action: Optional['outputs.InstanceSchedulingOnInstanceStopAction'] = None,
|
11183
11295
|
preemptible: Optional[bool] = None,
|
11184
11296
|
provisioning_model: Optional[str] = None):
|
11185
11297
|
"""
|
@@ -11192,8 +11304,7 @@ class InstanceScheduling(dict):
|
|
11192
11304
|
between 0 and 168 hours with hour granularity and the default value being 1
|
11193
11305
|
hour.
|
11194
11306
|
:param str maintenance_interval: Specifies the frequency of planned maintenance events. The accepted values are: `PERIODIC`.
|
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`.
|
11196
|
-
<a name="nested_max_run_duration"></a>The `max_run_duration` block supports:
|
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.
|
11197
11308
|
:param int min_node_cpus: The minimum number of virtual CPUs this instance will consume when running on a sole-tenant node.
|
11198
11309
|
:param Sequence['InstanceSchedulingNodeAffinityArgs'] node_affinities: Specifies node affinities or anti-affinities
|
11199
11310
|
to determine which sole-tenant nodes your instances and managed instance
|
@@ -11203,6 +11314,7 @@ class InstanceScheduling(dict):
|
|
11203
11314
|
:param str on_host_maintenance: Describes maintenance behavior for the
|
11204
11315
|
instance. Can be MIGRATE or TERMINATE, for more info, read
|
11205
11316
|
[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.
|
11206
11318
|
:param bool preemptible: Specifies if the instance is preemptible.
|
11207
11319
|
If this field is set to true, then `automatic_restart` must be
|
11208
11320
|
set to false. Defaults to false.
|
@@ -11227,6 +11339,8 @@ class InstanceScheduling(dict):
|
|
11227
11339
|
pulumi.set(__self__, "node_affinities", node_affinities)
|
11228
11340
|
if on_host_maintenance is not None:
|
11229
11341
|
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)
|
11230
11344
|
if preemptible is not None:
|
11231
11345
|
pulumi.set(__self__, "preemptible", preemptible)
|
11232
11346
|
if provisioning_model is not None:
|
@@ -11273,8 +11387,7 @@ class InstanceScheduling(dict):
|
|
11273
11387
|
@pulumi.getter(name="maxRunDuration")
|
11274
11388
|
def max_run_duration(self) -> Optional['outputs.InstanceSchedulingMaxRunDuration']:
|
11275
11389
|
"""
|
11276
|
-
The duration of the instance. Instance will run and be terminated after then, the termination action could be defined in `instance_termination_action`.
|
11277
|
-
<a name="nested_max_run_duration"></a>The `max_run_duration` block supports:
|
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.
|
11278
11391
|
"""
|
11279
11392
|
return pulumi.get(self, "max_run_duration")
|
11280
11393
|
|
@@ -11308,6 +11421,14 @@ class InstanceScheduling(dict):
|
|
11308
11421
|
"""
|
11309
11422
|
return pulumi.get(self, "on_host_maintenance")
|
11310
11423
|
|
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
|
+
|
11311
11432
|
@property
|
11312
11433
|
@pulumi.getter
|
11313
11434
|
def preemptible(self) -> Optional[bool]:
|
@@ -11374,12 +11495,13 @@ class InstanceSchedulingMaxRunDuration(dict):
|
|
11374
11495
|
seconds: int,
|
11375
11496
|
nanos: Optional[int] = None):
|
11376
11497
|
"""
|
11377
|
-
:param int seconds: Span of time at a resolution of a second.
|
11378
|
-
|
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.
|
11379
11501
|
:param int nanos: Span of time that's a fraction of a second at nanosecond
|
11380
|
-
resolution. Durations less than one second are represented
|
11381
|
-
|
11382
|
-
|
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.
|
11383
11505
|
"""
|
11384
11506
|
pulumi.set(__self__, "seconds", seconds)
|
11385
11507
|
if nanos is not None:
|
@@ -11389,8 +11511,9 @@ class InstanceSchedulingMaxRunDuration(dict):
|
|
11389
11511
|
@pulumi.getter
|
11390
11512
|
def seconds(self) -> int:
|
11391
11513
|
"""
|
11392
|
-
Span of time at a resolution of a second.
|
11393
|
-
|
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.
|
11394
11517
|
"""
|
11395
11518
|
return pulumi.get(self, "seconds")
|
11396
11519
|
|
@@ -11399,9 +11522,9 @@ class InstanceSchedulingMaxRunDuration(dict):
|
|
11399
11522
|
def nanos(self) -> Optional[int]:
|
11400
11523
|
"""
|
11401
11524
|
Span of time that's a fraction of a second at nanosecond
|
11402
|
-
resolution. Durations less than one second are represented
|
11403
|
-
|
11404
|
-
|
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.
|
11405
11528
|
"""
|
11406
11529
|
return pulumi.get(self, "nanos")
|
11407
11530
|
|
@@ -11448,6 +11571,42 @@ class InstanceSchedulingNodeAffinity(dict):
|
|
11448
11571
|
return pulumi.get(self, "values")
|
11449
11572
|
|
11450
11573
|
|
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
|
+
|
11451
11610
|
@pulumi.output_type
|
11452
11611
|
class InstanceScratchDisk(dict):
|
11453
11612
|
@staticmethod
|
@@ -12896,6 +13055,8 @@ class InstanceTemplateScheduling(dict):
|
|
12896
13055
|
suggest = "node_affinities"
|
12897
13056
|
elif key == "onHostMaintenance":
|
12898
13057
|
suggest = "on_host_maintenance"
|
13058
|
+
elif key == "onInstanceStopAction":
|
13059
|
+
suggest = "on_instance_stop_action"
|
12899
13060
|
elif key == "provisioningModel":
|
12900
13061
|
suggest = "provisioning_model"
|
12901
13062
|
|
@@ -12919,6 +13080,7 @@ class InstanceTemplateScheduling(dict):
|
|
12919
13080
|
min_node_cpus: Optional[int] = None,
|
12920
13081
|
node_affinities: Optional[Sequence['outputs.InstanceTemplateSchedulingNodeAffinity']] = None,
|
12921
13082
|
on_host_maintenance: Optional[str] = None,
|
13083
|
+
on_instance_stop_action: Optional['outputs.InstanceTemplateSchedulingOnInstanceStopAction'] = None,
|
12922
13084
|
preemptible: Optional[bool] = None,
|
12923
13085
|
provisioning_model: Optional[str] = None):
|
12924
13086
|
"""
|
@@ -12931,8 +13093,7 @@ class InstanceTemplateScheduling(dict):
|
|
12931
13093
|
between 0 and 168 hours with hour granularity and the default value being 1
|
12932
13094
|
hour.
|
12933
13095
|
:param str maintenance_interval: Specifies the frequency of planned maintenance events. The accepted values are: `PERIODIC`.
|
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`.
|
12935
|
-
<a name="nested_max_run_duration"></a>The `max_run_duration` block supports:
|
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.
|
12936
13097
|
:param int min_node_cpus: Minimum number of cpus for the instance.
|
12937
13098
|
:param Sequence['InstanceTemplateSchedulingNodeAffinityArgs'] node_affinities: Specifies node affinities or anti-affinities
|
12938
13099
|
to determine which sole-tenant nodes your instances and managed instance
|
@@ -12941,6 +13102,7 @@ class InstanceTemplateScheduling(dict):
|
|
12941
13102
|
Structure documented below.
|
12942
13103
|
:param str on_host_maintenance: Defines the maintenance behavior for this
|
12943
13104
|
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.
|
12944
13106
|
:param bool preemptible: Allows instance to be preempted. This defaults to
|
12945
13107
|
false. Read more on this
|
12946
13108
|
[here](https://cloud.google.com/compute/docs/instances/preemptible).
|
@@ -12965,6 +13127,8 @@ class InstanceTemplateScheduling(dict):
|
|
12965
13127
|
pulumi.set(__self__, "node_affinities", node_affinities)
|
12966
13128
|
if on_host_maintenance is not None:
|
12967
13129
|
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)
|
12968
13132
|
if preemptible is not None:
|
12969
13133
|
pulumi.set(__self__, "preemptible", preemptible)
|
12970
13134
|
if provisioning_model is not None:
|
@@ -13011,8 +13175,7 @@ class InstanceTemplateScheduling(dict):
|
|
13011
13175
|
@pulumi.getter(name="maxRunDuration")
|
13012
13176
|
def max_run_duration(self) -> Optional['outputs.InstanceTemplateSchedulingMaxRunDuration']:
|
13013
13177
|
"""
|
13014
|
-
The duration of the instance. Instance will run and be terminated after then, the termination action could be defined in `instance_termination_action`.
|
13015
|
-
<a name="nested_max_run_duration"></a>The `max_run_duration` block supports:
|
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.
|
13016
13179
|
"""
|
13017
13180
|
return pulumi.get(self, "max_run_duration")
|
13018
13181
|
|
@@ -13045,6 +13208,14 @@ class InstanceTemplateScheduling(dict):
|
|
13045
13208
|
"""
|
13046
13209
|
return pulumi.get(self, "on_host_maintenance")
|
13047
13210
|
|
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
|
+
|
13048
13219
|
@property
|
13049
13220
|
@pulumi.getter
|
13050
13221
|
def preemptible(self) -> Optional[bool]:
|
@@ -13111,12 +13282,13 @@ class InstanceTemplateSchedulingMaxRunDuration(dict):
|
|
13111
13282
|
seconds: int,
|
13112
13283
|
nanos: Optional[int] = None):
|
13113
13284
|
"""
|
13114
|
-
:param int seconds: Span of time at a resolution of a second.
|
13115
|
-
|
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.
|
13116
13288
|
:param int nanos: Span of time that's a fraction of a second at nanosecond
|
13117
|
-
resolution. Durations less than one second are represented
|
13118
|
-
|
13119
|
-
|
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.
|
13120
13292
|
"""
|
13121
13293
|
pulumi.set(__self__, "seconds", seconds)
|
13122
13294
|
if nanos is not None:
|
@@ -13126,8 +13298,9 @@ class InstanceTemplateSchedulingMaxRunDuration(dict):
|
|
13126
13298
|
@pulumi.getter
|
13127
13299
|
def seconds(self) -> int:
|
13128
13300
|
"""
|
13129
|
-
Span of time at a resolution of a second.
|
13130
|
-
|
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.
|
13131
13304
|
"""
|
13132
13305
|
return pulumi.get(self, "seconds")
|
13133
13306
|
|
@@ -13136,9 +13309,9 @@ class InstanceTemplateSchedulingMaxRunDuration(dict):
|
|
13136
13309
|
def nanos(self) -> Optional[int]:
|
13137
13310
|
"""
|
13138
13311
|
Span of time that's a fraction of a second at nanosecond
|
13139
|
-
resolution. Durations less than one second are represented
|
13140
|
-
|
13141
|
-
|
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.
|
13142
13315
|
"""
|
13143
13316
|
return pulumi.get(self, "nanos")
|
13144
13317
|
|
@@ -13181,6 +13354,42 @@ class InstanceTemplateSchedulingNodeAffinity(dict):
|
|
13181
13354
|
return pulumi.get(self, "values")
|
13182
13355
|
|
13183
13356
|
|
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
|
+
|
13184
13393
|
@pulumi.output_type
|
13185
13394
|
class InstanceTemplateServiceAccount(dict):
|
13186
13395
|
def __init__(__self__, *,
|
@@ -21237,6 +21446,8 @@ class RegionInstanceTemplateScheduling(dict):
|
|
21237
21446
|
suggest = "node_affinities"
|
21238
21447
|
elif key == "onHostMaintenance":
|
21239
21448
|
suggest = "on_host_maintenance"
|
21449
|
+
elif key == "onInstanceStopAction":
|
21450
|
+
suggest = "on_instance_stop_action"
|
21240
21451
|
elif key == "provisioningModel":
|
21241
21452
|
suggest = "provisioning_model"
|
21242
21453
|
|
@@ -21260,6 +21471,7 @@ class RegionInstanceTemplateScheduling(dict):
|
|
21260
21471
|
min_node_cpus: Optional[int] = None,
|
21261
21472
|
node_affinities: Optional[Sequence['outputs.RegionInstanceTemplateSchedulingNodeAffinity']] = None,
|
21262
21473
|
on_host_maintenance: Optional[str] = None,
|
21474
|
+
on_instance_stop_action: Optional['outputs.RegionInstanceTemplateSchedulingOnInstanceStopAction'] = None,
|
21263
21475
|
preemptible: Optional[bool] = None,
|
21264
21476
|
provisioning_model: Optional[str] = None):
|
21265
21477
|
"""
|
@@ -21281,6 +21493,7 @@ class RegionInstanceTemplateScheduling(dict):
|
|
21281
21493
|
Structure documented below.
|
21282
21494
|
:param str on_host_maintenance: Defines the maintenance behavior for this
|
21283
21495
|
instance.
|
21496
|
+
:param 'RegionInstanceTemplateSchedulingOnInstanceStopActionArgs' on_instance_stop_action: Defines the behaviour for instances with the instance_termination_action.
|
21284
21497
|
:param bool preemptible: Allows instance to be preempted. This defaults to
|
21285
21498
|
false. Read more on this
|
21286
21499
|
[here](https://cloud.google.com/compute/docs/instances/preemptible).
|
@@ -21305,6 +21518,8 @@ class RegionInstanceTemplateScheduling(dict):
|
|
21305
21518
|
pulumi.set(__self__, "node_affinities", node_affinities)
|
21306
21519
|
if on_host_maintenance is not None:
|
21307
21520
|
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)
|
21308
21523
|
if preemptible is not None:
|
21309
21524
|
pulumi.set(__self__, "preemptible", preemptible)
|
21310
21525
|
if provisioning_model is not None:
|
@@ -21384,6 +21599,14 @@ class RegionInstanceTemplateScheduling(dict):
|
|
21384
21599
|
"""
|
21385
21600
|
return pulumi.get(self, "on_host_maintenance")
|
21386
21601
|
|
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
|
+
|
21387
21610
|
@property
|
21388
21611
|
@pulumi.getter
|
21389
21612
|
def preemptible(self) -> Optional[bool]:
|
@@ -21522,6 +21745,42 @@ class RegionInstanceTemplateSchedulingNodeAffinity(dict):
|
|
21522
21745
|
return pulumi.get(self, "values")
|
21523
21746
|
|
21524
21747
|
|
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
|
+
|
21525
21784
|
@pulumi.output_type
|
21526
21785
|
class RegionInstanceTemplateServiceAccount(dict):
|
21527
21786
|
def __init__(__self__, *,
|
@@ -31133,6 +31392,7 @@ class SecurityPolicyAdvancedOptionsConfig(dict):
|
|
31133
31392
|
:param str json_parsing: Whether or not to JSON parse the payload body. Defaults to `DISABLED`.
|
31134
31393
|
* `DISABLED` - Don't parse JSON payloads in POST bodies.
|
31135
31394
|
* `STANDARD` - Parse JSON payloads in POST bodies.
|
31395
|
+
* `STANDARD_WITH_GRAPHQL` - Parse JSON and GraphQL payloads in POST bodies.
|
31136
31396
|
:param str log_level: Log level to use. Defaults to `NORMAL`.
|
31137
31397
|
* `NORMAL` - Normal log level.
|
31138
31398
|
* `VERBOSE` - Verbose log level.
|
@@ -31163,6 +31423,7 @@ class SecurityPolicyAdvancedOptionsConfig(dict):
|
|
31163
31423
|
Whether or not to JSON parse the payload body. Defaults to `DISABLED`.
|
31164
31424
|
* `DISABLED` - Don't parse JSON payloads in POST bodies.
|
31165
31425
|
* `STANDARD` - Parse JSON payloads in POST bodies.
|
31426
|
+
* `STANDARD_WITH_GRAPHQL` - Parse JSON and GraphQL payloads in POST bodies.
|
31166
31427
|
"""
|
31167
31428
|
return pulumi.get(self, "json_parsing")
|
31168
31429
|
|
@@ -31931,24 +32192,24 @@ class SecurityPolicyRuleRateLimitOptions(dict):
|
|
31931
32192
|
@staticmethod
|
31932
32193
|
def __key_warning(key: str):
|
31933
32194
|
suggest = None
|
31934
|
-
if key == "
|
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":
|
32195
|
+
if key == "banDurationSec":
|
31941
32196
|
suggest = "ban_duration_sec"
|
31942
32197
|
elif key == "banThreshold":
|
31943
32198
|
suggest = "ban_threshold"
|
32199
|
+
elif key == "conformAction":
|
32200
|
+
suggest = "conform_action"
|
31944
32201
|
elif key == "enforceOnKey":
|
31945
32202
|
suggest = "enforce_on_key"
|
31946
32203
|
elif key == "enforceOnKeyConfigs":
|
31947
32204
|
suggest = "enforce_on_key_configs"
|
31948
32205
|
elif key == "enforceOnKeyName":
|
31949
32206
|
suggest = "enforce_on_key_name"
|
32207
|
+
elif key == "exceedAction":
|
32208
|
+
suggest = "exceed_action"
|
31950
32209
|
elif key == "exceedRedirectOptions":
|
31951
32210
|
suggest = "exceed_redirect_options"
|
32211
|
+
elif key == "rateLimitThreshold":
|
32212
|
+
suggest = "rate_limit_threshold"
|
31952
32213
|
|
31953
32214
|
if suggest:
|
31954
32215
|
pulumi.log.warn(f"Key '{key}' not found in SecurityPolicyRuleRateLimitOptions. Access the value via the '{suggest}' property getter instead.")
|
@@ -31962,90 +32223,73 @@ class SecurityPolicyRuleRateLimitOptions(dict):
|
|
31962
32223
|
return super().get(key, default)
|
31963
32224
|
|
31964
32225
|
def __init__(__self__, *,
|
31965
|
-
conform_action: str,
|
31966
|
-
exceed_action: str,
|
31967
|
-
rate_limit_threshold: 'outputs.SecurityPolicyRuleRateLimitOptionsRateLimitThreshold',
|
31968
32226
|
ban_duration_sec: Optional[int] = None,
|
31969
32227
|
ban_threshold: Optional['outputs.SecurityPolicyRuleRateLimitOptionsBanThreshold'] = None,
|
32228
|
+
conform_action: Optional[str] = None,
|
31970
32229
|
enforce_on_key: Optional[str] = None,
|
31971
32230
|
enforce_on_key_configs: Optional[Sequence['outputs.SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig']] = None,
|
31972
32231
|
enforce_on_key_name: Optional[str] = None,
|
31973
|
-
|
32232
|
+
exceed_action: Optional[str] = None,
|
32233
|
+
exceed_redirect_options: Optional['outputs.SecurityPolicyRuleRateLimitOptionsExceedRedirectOptions'] = None,
|
32234
|
+
rate_limit_threshold: Optional['outputs.SecurityPolicyRuleRateLimitOptionsRateLimitThreshold'] = None):
|
31974
32235
|
"""
|
31975
|
-
:param
|
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`.
|
32236
|
+
:param int ban_duration_sec: Can only be specified if the action for the rule is "rate_based_ban".
|
31980
32237
|
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.
|
31981
|
-
:param 'SecurityPolicyRuleRateLimitOptionsBanThresholdArgs' ban_threshold: Can only be specified if the
|
31982
|
-
If specified, the key will be banned for the configured
|
31983
|
-
|
31984
|
-
:param str
|
31985
|
-
|
31986
|
-
|
31987
|
-
*
|
31988
|
-
*
|
31989
|
-
*
|
31990
|
-
*
|
31991
|
-
*
|
31992
|
-
*
|
31993
|
-
*
|
31994
|
-
|
31995
|
-
|
31996
|
-
|
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.
|
31997
32259
|
:param str enforce_on_key_name: Rate limit key name applicable only for the following key types:
|
31998
|
-
|
31999
|
-
|
32000
|
-
|
32001
|
-
|
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.
|
32002
32268
|
"""
|
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)
|
32006
32269
|
if ban_duration_sec is not None:
|
32007
32270
|
pulumi.set(__self__, "ban_duration_sec", ban_duration_sec)
|
32008
32271
|
if ban_threshold is not None:
|
32009
32272
|
pulumi.set(__self__, "ban_threshold", ban_threshold)
|
32273
|
+
if conform_action is not None:
|
32274
|
+
pulumi.set(__self__, "conform_action", conform_action)
|
32010
32275
|
if enforce_on_key is not None:
|
32011
32276
|
pulumi.set(__self__, "enforce_on_key", enforce_on_key)
|
32012
32277
|
if enforce_on_key_configs is not None:
|
32013
32278
|
pulumi.set(__self__, "enforce_on_key_configs", enforce_on_key_configs)
|
32014
32279
|
if enforce_on_key_name is not None:
|
32015
32280
|
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)
|
32016
32283
|
if exceed_redirect_options is not None:
|
32017
32284
|
pulumi.set(__self__, "exceed_redirect_options", exceed_redirect_options)
|
32018
|
-
|
32019
|
-
|
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")
|
32285
|
+
if rate_limit_threshold is not None:
|
32286
|
+
pulumi.set(__self__, "rate_limit_threshold", rate_limit_threshold)
|
32043
32287
|
|
32044
32288
|
@property
|
32045
32289
|
@pulumi.getter(name="banDurationSec")
|
32046
32290
|
def ban_duration_sec(self) -> Optional[int]:
|
32047
32291
|
"""
|
32048
|
-
Can only be specified if the
|
32292
|
+
Can only be specified if the action for the rule is "rate_based_ban".
|
32049
32293
|
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.
|
32050
32294
|
"""
|
32051
32295
|
return pulumi.get(self, "ban_duration_sec")
|
@@ -32054,26 +32298,37 @@ class SecurityPolicyRuleRateLimitOptions(dict):
|
|
32054
32298
|
@pulumi.getter(name="banThreshold")
|
32055
32299
|
def ban_threshold(self) -> Optional['outputs.SecurityPolicyRuleRateLimitOptionsBanThreshold']:
|
32056
32300
|
"""
|
32057
|
-
Can only be specified if the
|
32058
|
-
If specified, the key will be banned for the configured
|
32059
|
-
|
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.
|
32060
32304
|
"""
|
32061
32305
|
return pulumi.get(self, "ban_threshold")
|
32062
32306
|
|
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
|
+
|
32063
32316
|
@property
|
32064
32317
|
@pulumi.getter(name="enforceOnKey")
|
32065
32318
|
def enforce_on_key(self) -> Optional[str]:
|
32066
32319
|
"""
|
32067
|
-
Determines the key to enforce the
|
32068
|
-
|
32069
|
-
*
|
32070
|
-
*
|
32071
|
-
*
|
32072
|
-
*
|
32073
|
-
*
|
32074
|
-
*
|
32075
|
-
*
|
32076
|
-
*
|
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`.
|
32077
32332
|
"""
|
32078
32333
|
return pulumi.get(self, "enforce_on_key")
|
32079
32334
|
|
@@ -32081,9 +32336,10 @@ class SecurityPolicyRuleRateLimitOptions(dict):
|
|
32081
32336
|
@pulumi.getter(name="enforceOnKeyConfigs")
|
32082
32337
|
def enforce_on_key_configs(self) -> Optional[Sequence['outputs.SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig']]:
|
32083
32338
|
"""
|
32084
|
-
If specified, any combination of values of
|
32085
|
-
|
32086
|
-
|
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.
|
32087
32343
|
"""
|
32088
32344
|
return pulumi.get(self, "enforce_on_key_configs")
|
32089
32345
|
|
@@ -32092,20 +32348,38 @@ class SecurityPolicyRuleRateLimitOptions(dict):
|
|
32092
32348
|
def enforce_on_key_name(self) -> Optional[str]:
|
32093
32349
|
"""
|
32094
32350
|
Rate limit key name applicable only for the following key types:
|
32095
|
-
|
32096
|
-
|
32097
|
-
* `HTTP_COOKIE` -- Name of the HTTP cookie whose value is taken as the key value.
|
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.
|
32098
32353
|
"""
|
32099
32354
|
return pulumi.get(self, "enforce_on_key_name")
|
32100
32355
|
|
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.
|
32362
|
+
"""
|
32363
|
+
return pulumi.get(self, "exceed_action")
|
32364
|
+
|
32101
32365
|
@property
|
32102
32366
|
@pulumi.getter(name="exceedRedirectOptions")
|
32103
32367
|
def exceed_redirect_options(self) -> Optional['outputs.SecurityPolicyRuleRateLimitOptionsExceedRedirectOptions']:
|
32104
32368
|
"""
|
32105
|
-
Parameters defining the redirect action that is used as the exceed action. Cannot be specified if the exceed action is not redirect.
|
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.
|
32106
32371
|
"""
|
32107
32372
|
return pulumi.get(self, "exceed_redirect_options")
|
32108
32373
|
|
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
|
+
|
32109
32383
|
|
32110
32384
|
@pulumi.output_type
|
32111
32385
|
class SecurityPolicyRuleRateLimitOptionsBanThreshold(dict):
|
@@ -32127,18 +32401,20 @@ class SecurityPolicyRuleRateLimitOptionsBanThreshold(dict):
|
|
32127
32401
|
return super().get(key, default)
|
32128
32402
|
|
32129
32403
|
def __init__(__self__, *,
|
32130
|
-
count: int,
|
32131
|
-
interval_sec: int):
|
32404
|
+
count: Optional[int] = None,
|
32405
|
+
interval_sec: Optional[int] = None):
|
32132
32406
|
"""
|
32133
32407
|
:param int count: Number of HTTP(S) requests for calculating the threshold.
|
32134
32408
|
:param int interval_sec: Interval over which the threshold is computed.
|
32135
32409
|
"""
|
32136
|
-
|
32137
|
-
|
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)
|
32138
32414
|
|
32139
32415
|
@property
|
32140
32416
|
@pulumi.getter
|
32141
|
-
def count(self) -> int:
|
32417
|
+
def count(self) -> Optional[int]:
|
32142
32418
|
"""
|
32143
32419
|
Number of HTTP(S) requests for calculating the threshold.
|
32144
32420
|
"""
|
@@ -32146,7 +32422,7 @@ class SecurityPolicyRuleRateLimitOptionsBanThreshold(dict):
|
|
32146
32422
|
|
32147
32423
|
@property
|
32148
32424
|
@pulumi.getter(name="intervalSec")
|
32149
|
-
def interval_sec(self) -> int:
|
32425
|
+
def interval_sec(self) -> Optional[int]:
|
32150
32426
|
"""
|
32151
32427
|
Interval over which the threshold is computed.
|
32152
32428
|
"""
|
@@ -32179,19 +32455,20 @@ class SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig(dict):
|
|
32179
32455
|
enforce_on_key_type: Optional[str] = None):
|
32180
32456
|
"""
|
32181
32457
|
:param str enforce_on_key_name: Rate limit key name applicable only for the following key types:
|
32182
|
-
|
32183
|
-
|
32184
|
-
|
32185
|
-
|
32186
|
-
|
32187
|
-
*
|
32188
|
-
*
|
32189
|
-
*
|
32190
|
-
*
|
32191
|
-
*
|
32192
|
-
*
|
32193
|
-
*
|
32194
|
-
*
|
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`.
|
32195
32472
|
"""
|
32196
32473
|
if enforce_on_key_name is not None:
|
32197
32474
|
pulumi.set(__self__, "enforce_on_key_name", enforce_on_key_name)
|
@@ -32203,9 +32480,8 @@ class SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig(dict):
|
|
32203
32480
|
def enforce_on_key_name(self) -> Optional[str]:
|
32204
32481
|
"""
|
32205
32482
|
Rate limit key name applicable only for the following key types:
|
32206
|
-
|
32207
|
-
|
32208
|
-
* `HTTP_COOKIE` -- Name of the HTTP cookie whose value is taken as the key value.
|
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.
|
32209
32485
|
"""
|
32210
32486
|
return pulumi.get(self, "enforce_on_key_name")
|
32211
32487
|
|
@@ -32213,16 +32489,18 @@ class SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig(dict):
|
|
32213
32489
|
@pulumi.getter(name="enforceOnKeyType")
|
32214
32490
|
def enforce_on_key_type(self) -> Optional[str]:
|
32215
32491
|
"""
|
32216
|
-
Determines the key to enforce the
|
32217
|
-
|
32218
|
-
*
|
32219
|
-
*
|
32220
|
-
*
|
32221
|
-
*
|
32222
|
-
*
|
32223
|
-
*
|
32224
|
-
*
|
32225
|
-
*
|
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`.
|
32226
32504
|
"""
|
32227
32505
|
return pulumi.get(self, "enforce_on_key_type")
|
32228
32506
|
|
@@ -32230,31 +32508,32 @@ class SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig(dict):
|
|
32230
32508
|
@pulumi.output_type
|
32231
32509
|
class SecurityPolicyRuleRateLimitOptionsExceedRedirectOptions(dict):
|
32232
32510
|
def __init__(__self__, *,
|
32233
|
-
|
32234
|
-
|
32511
|
+
target: Optional[str] = None,
|
32512
|
+
type: Optional[str] = None):
|
32235
32513
|
"""
|
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.
|
32236
32515
|
: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`.
|
32238
32516
|
"""
|
32239
|
-
pulumi.set(__self__, "type", type)
|
32240
32517
|
if target is not None:
|
32241
32518
|
pulumi.set(__self__, "target", target)
|
32519
|
+
if type is not None:
|
32520
|
+
pulumi.set(__self__, "type", type)
|
32242
32521
|
|
32243
32522
|
@property
|
32244
32523
|
@pulumi.getter
|
32245
|
-
def
|
32524
|
+
def target(self) -> Optional[str]:
|
32246
32525
|
"""
|
32247
|
-
|
32526
|
+
Target for the redirect action. This is required if the type is EXTERNAL_302 and cannot be specified for GOOGLE_RECAPTCHA.
|
32248
32527
|
"""
|
32249
|
-
return pulumi.get(self, "
|
32528
|
+
return pulumi.get(self, "target")
|
32250
32529
|
|
32251
32530
|
@property
|
32252
32531
|
@pulumi.getter
|
32253
|
-
def
|
32532
|
+
def type(self) -> Optional[str]:
|
32254
32533
|
"""
|
32255
|
-
|
32534
|
+
Type of the redirect action.
|
32256
32535
|
"""
|
32257
|
-
return pulumi.get(self, "
|
32536
|
+
return pulumi.get(self, "type")
|
32258
32537
|
|
32259
32538
|
|
32260
32539
|
@pulumi.output_type
|
@@ -32277,18 +32556,20 @@ class SecurityPolicyRuleRateLimitOptionsRateLimitThreshold(dict):
|
|
32277
32556
|
return super().get(key, default)
|
32278
32557
|
|
32279
32558
|
def __init__(__self__, *,
|
32280
|
-
count: int,
|
32281
|
-
interval_sec: int):
|
32559
|
+
count: Optional[int] = None,
|
32560
|
+
interval_sec: Optional[int] = None):
|
32282
32561
|
"""
|
32283
32562
|
:param int count: Number of HTTP(S) requests for calculating the threshold.
|
32284
32563
|
:param int interval_sec: Interval over which the threshold is computed.
|
32285
32564
|
"""
|
32286
|
-
|
32287
|
-
|
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)
|
32288
32569
|
|
32289
32570
|
@property
|
32290
32571
|
@pulumi.getter
|
32291
|
-
def count(self) -> int:
|
32572
|
+
def count(self) -> Optional[int]:
|
32292
32573
|
"""
|
32293
32574
|
Number of HTTP(S) requests for calculating the threshold.
|
32294
32575
|
"""
|
@@ -32296,7 +32577,7 @@ class SecurityPolicyRuleRateLimitOptionsRateLimitThreshold(dict):
|
|
32296
32577
|
|
32297
32578
|
@property
|
32298
32579
|
@pulumi.getter(name="intervalSec")
|
32299
|
-
def interval_sec(self) -> int:
|
32580
|
+
def interval_sec(self) -> Optional[int]:
|
32300
32581
|
"""
|
32301
32582
|
Interval over which the threshold is computed.
|
32302
32583
|
"""
|
@@ -44636,6 +44917,7 @@ class GetInstanceSchedulingResult(dict):
|
|
44636
44917
|
min_node_cpus: int,
|
44637
44918
|
node_affinities: Sequence['outputs.GetInstanceSchedulingNodeAffinityResult'],
|
44638
44919
|
on_host_maintenance: str,
|
44920
|
+
on_instance_stop_actions: Sequence['outputs.GetInstanceSchedulingOnInstanceStopActionResult'],
|
44639
44921
|
preemptible: bool,
|
44640
44922
|
provisioning_model: str):
|
44641
44923
|
"""
|
@@ -44652,6 +44934,7 @@ class GetInstanceSchedulingResult(dict):
|
|
44652
44934
|
:param str on_host_maintenance: Describes maintenance behavior for the
|
44653
44935
|
instance. One of `MIGRATE` or `TERMINATE`, for more info, read
|
44654
44936
|
[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.
|
44655
44938
|
:param bool preemptible: Whether the instance is preemptible.
|
44656
44939
|
:param str provisioning_model: Describe the type of preemptible VM.
|
44657
44940
|
"""
|
@@ -44663,6 +44946,7 @@ class GetInstanceSchedulingResult(dict):
|
|
44663
44946
|
pulumi.set(__self__, "min_node_cpus", min_node_cpus)
|
44664
44947
|
pulumi.set(__self__, "node_affinities", node_affinities)
|
44665
44948
|
pulumi.set(__self__, "on_host_maintenance", on_host_maintenance)
|
44949
|
+
pulumi.set(__self__, "on_instance_stop_actions", on_instance_stop_actions)
|
44666
44950
|
pulumi.set(__self__, "preemptible", preemptible)
|
44667
44951
|
pulumi.set(__self__, "provisioning_model", provisioning_model)
|
44668
44952
|
|
@@ -44733,6 +45017,14 @@ class GetInstanceSchedulingResult(dict):
|
|
44733
45017
|
"""
|
44734
45018
|
return pulumi.get(self, "on_host_maintenance")
|
44735
45019
|
|
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
|
+
|
44736
45028
|
@property
|
44737
45029
|
@pulumi.getter
|
44738
45030
|
def preemptible(self) -> bool:
|
@@ -44850,6 +45142,24 @@ class GetInstanceSchedulingNodeAffinityResult(dict):
|
|
44850
45142
|
return pulumi.get(self, "values")
|
44851
45143
|
|
44852
45144
|
|
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
|
+
|
44853
45163
|
@pulumi.output_type
|
44854
45164
|
class GetInstanceScratchDiskResult(dict):
|
44855
45165
|
def __init__(__self__, *,
|
@@ -45869,6 +46179,7 @@ class GetInstanceTemplateSchedulingResult(dict):
|
|
45869
46179
|
min_node_cpus: int,
|
45870
46180
|
node_affinities: Sequence['outputs.GetInstanceTemplateSchedulingNodeAffinityResult'],
|
45871
46181
|
on_host_maintenance: str,
|
46182
|
+
on_instance_stop_actions: Sequence['outputs.GetInstanceTemplateSchedulingOnInstanceStopActionResult'],
|
45872
46183
|
preemptible: bool,
|
45873
46184
|
provisioning_model: str):
|
45874
46185
|
"""
|
@@ -45890,6 +46201,7 @@ class GetInstanceTemplateSchedulingResult(dict):
|
|
45890
46201
|
Structure documented below.
|
45891
46202
|
:param str on_host_maintenance: Defines the maintenance behavior for this
|
45892
46203
|
instance.
|
46204
|
+
:param Sequence['GetInstanceTemplateSchedulingOnInstanceStopActionArgs'] on_instance_stop_actions: Defines the behaviour for instances with the instance_termination_action.
|
45893
46205
|
:param bool preemptible: Allows instance to be preempted. This defaults to
|
45894
46206
|
false. Read more on this
|
45895
46207
|
[here](https://cloud.google.com/compute/docs/instances/preemptible).
|
@@ -45903,6 +46215,7 @@ class GetInstanceTemplateSchedulingResult(dict):
|
|
45903
46215
|
pulumi.set(__self__, "min_node_cpus", min_node_cpus)
|
45904
46216
|
pulumi.set(__self__, "node_affinities", node_affinities)
|
45905
46217
|
pulumi.set(__self__, "on_host_maintenance", on_host_maintenance)
|
46218
|
+
pulumi.set(__self__, "on_instance_stop_actions", on_instance_stop_actions)
|
45906
46219
|
pulumi.set(__self__, "preemptible", preemptible)
|
45907
46220
|
pulumi.set(__self__, "provisioning_model", provisioning_model)
|
45908
46221
|
|
@@ -45980,6 +46293,14 @@ class GetInstanceTemplateSchedulingResult(dict):
|
|
45980
46293
|
"""
|
45981
46294
|
return pulumi.get(self, "on_host_maintenance")
|
45982
46295
|
|
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
|
+
|
45983
46304
|
@property
|
45984
46305
|
@pulumi.getter
|
45985
46306
|
def preemptible(self) -> bool:
|
@@ -46111,6 +46432,24 @@ class GetInstanceTemplateSchedulingNodeAffinityResult(dict):
|
|
46111
46432
|
return pulumi.get(self, "values")
|
46112
46433
|
|
46113
46434
|
|
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
|
+
|
46114
46453
|
@pulumi.output_type
|
46115
46454
|
class GetInstanceTemplateServiceAccountResult(dict):
|
46116
46455
|
def __init__(__self__, *,
|
@@ -47477,6 +47816,7 @@ class GetRegionInstanceTemplateSchedulingResult(dict):
|
|
47477
47816
|
min_node_cpus: int,
|
47478
47817
|
node_affinities: Sequence['outputs.GetRegionInstanceTemplateSchedulingNodeAffinityResult'],
|
47479
47818
|
on_host_maintenance: str,
|
47819
|
+
on_instance_stop_actions: Sequence['outputs.GetRegionInstanceTemplateSchedulingOnInstanceStopActionResult'],
|
47480
47820
|
preemptible: bool,
|
47481
47821
|
provisioning_model: str):
|
47482
47822
|
"""
|
@@ -47498,6 +47838,7 @@ class GetRegionInstanceTemplateSchedulingResult(dict):
|
|
47498
47838
|
Structure documented below.
|
47499
47839
|
:param str on_host_maintenance: Defines the maintenance behavior for this
|
47500
47840
|
instance.
|
47841
|
+
:param Sequence['GetRegionInstanceTemplateSchedulingOnInstanceStopActionArgs'] on_instance_stop_actions: Defines the behaviour for instances with the instance_termination_action.
|
47501
47842
|
:param bool preemptible: Allows instance to be preempted. This defaults to
|
47502
47843
|
false. Read more on this
|
47503
47844
|
[here](https://cloud.google.com/compute/docs/instances/preemptible).
|
@@ -47511,6 +47852,7 @@ class GetRegionInstanceTemplateSchedulingResult(dict):
|
|
47511
47852
|
pulumi.set(__self__, "min_node_cpus", min_node_cpus)
|
47512
47853
|
pulumi.set(__self__, "node_affinities", node_affinities)
|
47513
47854
|
pulumi.set(__self__, "on_host_maintenance", on_host_maintenance)
|
47855
|
+
pulumi.set(__self__, "on_instance_stop_actions", on_instance_stop_actions)
|
47514
47856
|
pulumi.set(__self__, "preemptible", preemptible)
|
47515
47857
|
pulumi.set(__self__, "provisioning_model", provisioning_model)
|
47516
47858
|
|
@@ -47588,6 +47930,14 @@ class GetRegionInstanceTemplateSchedulingResult(dict):
|
|
47588
47930
|
"""
|
47589
47931
|
return pulumi.get(self, "on_host_maintenance")
|
47590
47932
|
|
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
|
+
|
47591
47941
|
@property
|
47592
47942
|
@pulumi.getter
|
47593
47943
|
def preemptible(self) -> bool:
|
@@ -47719,6 +48069,24 @@ class GetRegionInstanceTemplateSchedulingNodeAffinityResult(dict):
|
|
47719
48069
|
return pulumi.get(self, "values")
|
47720
48070
|
|
47721
48071
|
|
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
|
+
|
47722
48090
|
@pulumi.output_type
|
47723
48091
|
class GetRegionInstanceTemplateServiceAccountResult(dict):
|
47724
48092
|
def __init__(__self__, *,
|
@@ -49703,3 +50071,83 @@ class GetSubnetworkSecondaryIpRangeResult(dict):
|
|
49703
50071
|
return pulumi.get(self, "range_name")
|
49704
50072
|
|
49705
50073
|
|
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
|
+
|