pulumi-gcp 7.22.0a1715306721__py3-none-any.whl → 7.22.0a1715611725__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 +11 -0
- pulumi_gcp/alloydb/_inputs.py +139 -0
- pulumi_gcp/alloydb/cluster.py +54 -0
- pulumi_gcp/alloydb/outputs.py +145 -0
- pulumi_gcp/applicationintegration/auth_config.py +2 -6
- pulumi_gcp/applicationintegration/client.py +133 -18
- pulumi_gcp/bigquery/dataset.py +2 -2
- pulumi_gcp/bigquery/job.py +16 -20
- pulumi_gcp/cloudrunv2/job.py +2 -4
- pulumi_gcp/cloudrunv2/service.py +2 -4
- pulumi_gcp/compute/_inputs.py +4 -0
- pulumi_gcp/compute/outputs.py +4 -0
- pulumi_gcp/compute/router_peer.py +54 -14
- pulumi_gcp/config/__init__.pyi +2 -0
- pulumi_gcp/config/vars.py +4 -0
- pulumi_gcp/container/_inputs.py +169 -0
- pulumi_gcp/container/outputs.py +272 -0
- pulumi_gcp/dataflow/flex_template_job.py +21 -21
- pulumi_gcp/dataflow/job.py +21 -7
- pulumi_gcp/essentialcontacts/document_ai_warehouse_document_schema.py +0 -528
- pulumi_gcp/firebaserules/release.py +2 -2
- pulumi_gcp/privilegedaccessmanager/__init__.py +10 -0
- pulumi_gcp/privilegedaccessmanager/_inputs.py +420 -0
- pulumi_gcp/privilegedaccessmanager/entitlement.py +852 -0
- pulumi_gcp/privilegedaccessmanager/outputs.py +491 -0
- pulumi_gcp/provider.py +20 -0
- pulumi_gcp/redis/cluster.py +69 -2
- pulumi_gcp/storage/__init__.py +1 -0
- pulumi_gcp/storage/get_buckets.py +138 -0
- pulumi_gcp/storage/outputs.py +63 -0
- {pulumi_gcp-7.22.0a1715306721.dist-info → pulumi_gcp-7.22.0a1715611725.dist-info}/METADATA +1 -1
- {pulumi_gcp-7.22.0a1715306721.dist-info → pulumi_gcp-7.22.0a1715611725.dist-info}/RECORD +34 -29
- {pulumi_gcp-7.22.0a1715306721.dist-info → pulumi_gcp-7.22.0a1715611725.dist-info}/WHEEL +0 -0
- {pulumi_gcp-7.22.0a1715306721.dist-info → pulumi_gcp-7.22.0a1715611725.dist-info}/top_level.txt +0 -0
@@ -77,8 +77,8 @@ class RouterPeerArgs:
|
|
77
77
|
The address must be in the range 2600:2d00:0:2::/64 or 2600:2d00:0:3::/64.
|
78
78
|
If you do not specify the next hop addresses, Google Cloud automatically
|
79
79
|
assigns unused addresses from the 2600:2d00:0:2::/64 or 2600:2d00:0:3::/64 range for you.
|
80
|
-
:param pulumi.Input['RouterPeerMd5AuthenticationKeyArgs'] md5_authentication_key:
|
81
|
-
|
80
|
+
:param pulumi.Input['RouterPeerMd5AuthenticationKeyArgs'] md5_authentication_key: Configuration for MD5 authentication on the BGP session.
|
81
|
+
Structure is documented below.
|
82
82
|
:param pulumi.Input[str] name: Name of this BGP peer. The name must be 1-63 characters long,
|
83
83
|
and comply with RFC1035. Specifically, the name must be 1-63 characters
|
84
84
|
long and match the regular expression `a-z?` which
|
@@ -338,8 +338,8 @@ class RouterPeerArgs:
|
|
338
338
|
@pulumi.getter(name="md5AuthenticationKey")
|
339
339
|
def md5_authentication_key(self) -> Optional[pulumi.Input['RouterPeerMd5AuthenticationKeyArgs']]:
|
340
340
|
"""
|
341
|
-
|
342
|
-
|
341
|
+
Configuration for MD5 authentication on the BGP session.
|
342
|
+
Structure is documented below.
|
343
343
|
"""
|
344
344
|
return pulumi.get(self, "md5_authentication_key")
|
345
345
|
|
@@ -506,8 +506,8 @@ class _RouterPeerState:
|
|
506
506
|
If you do not specify the next hop addresses, Google Cloud automatically
|
507
507
|
assigns unused addresses from the 2600:2d00:0:2::/64 or 2600:2d00:0:3::/64 range for you.
|
508
508
|
:param pulumi.Input[str] management_type: The resource that configures and manages this BGP peer.
|
509
|
-
:param pulumi.Input['RouterPeerMd5AuthenticationKeyArgs'] md5_authentication_key:
|
510
|
-
|
509
|
+
:param pulumi.Input['RouterPeerMd5AuthenticationKeyArgs'] md5_authentication_key: Configuration for MD5 authentication on the BGP session.
|
510
|
+
Structure is documented below.
|
511
511
|
:param pulumi.Input[str] name: Name of this BGP peer. The name must be 1-63 characters long,
|
512
512
|
and comply with RFC1035. Specifically, the name must be 1-63 characters
|
513
513
|
long and match the regular expression `a-z?` which
|
@@ -762,8 +762,8 @@ class _RouterPeerState:
|
|
762
762
|
@pulumi.getter(name="md5AuthenticationKey")
|
763
763
|
def md5_authentication_key(self) -> Optional[pulumi.Input['RouterPeerMd5AuthenticationKeyArgs']]:
|
764
764
|
"""
|
765
|
-
|
766
|
-
|
765
|
+
Configuration for MD5 authentication on the BGP session.
|
766
|
+
Structure is documented below.
|
767
767
|
"""
|
768
768
|
return pulumi.get(self, "md5_authentication_key")
|
769
769
|
|
@@ -1076,6 +1076,26 @@ class RouterPeer(pulumi.CustomResource):
|
|
1076
1076
|
peer_ip_address=addr_peer.address)
|
1077
1077
|
```
|
1078
1078
|
|
1079
|
+
### Router Peer Md5 Authentication Key
|
1080
|
+
|
1081
|
+
```python
|
1082
|
+
import pulumi
|
1083
|
+
import pulumi_gcp as gcp
|
1084
|
+
|
1085
|
+
foobar = gcp.compute.RouterPeer("foobar",
|
1086
|
+
name="%s-peer",
|
1087
|
+
router=foobar_google_compute_router["name"],
|
1088
|
+
region=foobar_google_compute_router["region"],
|
1089
|
+
peer_asn=65515,
|
1090
|
+
advertised_route_priority=100,
|
1091
|
+
interface=foobar_google_compute_router_interface["name"],
|
1092
|
+
peer_ip_address="169.254.3.2",
|
1093
|
+
md5_authentication_key=gcp.compute.RouterPeerMd5AuthenticationKeyArgs(
|
1094
|
+
name="%s-peer-key",
|
1095
|
+
key="%s-peer-key-value",
|
1096
|
+
))
|
1097
|
+
```
|
1098
|
+
|
1079
1099
|
## Import
|
1080
1100
|
|
1081
1101
|
RouterBgpPeer can be imported using any of these accepted formats:
|
@@ -1139,8 +1159,8 @@ class RouterPeer(pulumi.CustomResource):
|
|
1139
1159
|
The address must be in the range 2600:2d00:0:2::/64 or 2600:2d00:0:3::/64.
|
1140
1160
|
If you do not specify the next hop addresses, Google Cloud automatically
|
1141
1161
|
assigns unused addresses from the 2600:2d00:0:2::/64 or 2600:2d00:0:3::/64 range for you.
|
1142
|
-
:param pulumi.Input[pulumi.InputType['RouterPeerMd5AuthenticationKeyArgs']] md5_authentication_key:
|
1143
|
-
|
1162
|
+
:param pulumi.Input[pulumi.InputType['RouterPeerMd5AuthenticationKeyArgs']] md5_authentication_key: Configuration for MD5 authentication on the BGP session.
|
1163
|
+
Structure is documented below.
|
1144
1164
|
:param pulumi.Input[str] name: Name of this BGP peer. The name must be 1-63 characters long,
|
1145
1165
|
and comply with RFC1035. Specifically, the name must be 1-63 characters
|
1146
1166
|
long and match the regular expression `a-z?` which
|
@@ -1325,6 +1345,26 @@ class RouterPeer(pulumi.CustomResource):
|
|
1325
1345
|
peer_ip_address=addr_peer.address)
|
1326
1346
|
```
|
1327
1347
|
|
1348
|
+
### Router Peer Md5 Authentication Key
|
1349
|
+
|
1350
|
+
```python
|
1351
|
+
import pulumi
|
1352
|
+
import pulumi_gcp as gcp
|
1353
|
+
|
1354
|
+
foobar = gcp.compute.RouterPeer("foobar",
|
1355
|
+
name="%s-peer",
|
1356
|
+
router=foobar_google_compute_router["name"],
|
1357
|
+
region=foobar_google_compute_router["region"],
|
1358
|
+
peer_asn=65515,
|
1359
|
+
advertised_route_priority=100,
|
1360
|
+
interface=foobar_google_compute_router_interface["name"],
|
1361
|
+
peer_ip_address="169.254.3.2",
|
1362
|
+
md5_authentication_key=gcp.compute.RouterPeerMd5AuthenticationKeyArgs(
|
1363
|
+
name="%s-peer-key",
|
1364
|
+
key="%s-peer-key-value",
|
1365
|
+
))
|
1366
|
+
```
|
1367
|
+
|
1328
1368
|
## Import
|
1329
1369
|
|
1330
1370
|
RouterBgpPeer can be imported using any of these accepted formats:
|
@@ -1502,8 +1542,8 @@ class RouterPeer(pulumi.CustomResource):
|
|
1502
1542
|
If you do not specify the next hop addresses, Google Cloud automatically
|
1503
1543
|
assigns unused addresses from the 2600:2d00:0:2::/64 or 2600:2d00:0:3::/64 range for you.
|
1504
1544
|
:param pulumi.Input[str] management_type: The resource that configures and manages this BGP peer.
|
1505
|
-
:param pulumi.Input[pulumi.InputType['RouterPeerMd5AuthenticationKeyArgs']] md5_authentication_key:
|
1506
|
-
|
1545
|
+
:param pulumi.Input[pulumi.InputType['RouterPeerMd5AuthenticationKeyArgs']] md5_authentication_key: Configuration for MD5 authentication on the BGP session.
|
1546
|
+
Structure is documented below.
|
1507
1547
|
:param pulumi.Input[str] name: Name of this BGP peer. The name must be 1-63 characters long,
|
1508
1548
|
and comply with RFC1035. Specifically, the name must be 1-63 characters
|
1509
1549
|
long and match the regular expression `a-z?` which
|
@@ -1688,8 +1728,8 @@ class RouterPeer(pulumi.CustomResource):
|
|
1688
1728
|
@pulumi.getter(name="md5AuthenticationKey")
|
1689
1729
|
def md5_authentication_key(self) -> pulumi.Output[Optional['outputs.RouterPeerMd5AuthenticationKey']]:
|
1690
1730
|
"""
|
1691
|
-
|
1692
|
-
|
1731
|
+
Configuration for MD5 authentication on the BGP session.
|
1732
|
+
Structure is documented below.
|
1693
1733
|
"""
|
1694
1734
|
return pulumi.get(self, "md5_authentication_key")
|
1695
1735
|
|
pulumi_gcp/config/__init__.pyi
CHANGED
pulumi_gcp/config/vars.py
CHANGED
@@ -516,6 +516,10 @@ class _ExportableConfig(types.ModuleType):
|
|
516
516
|
def privateca_custom_endpoint(self) -> Optional[str]:
|
517
517
|
return __config__.get('privatecaCustomEndpoint')
|
518
518
|
|
519
|
+
@property
|
520
|
+
def privileged_access_manager_custom_endpoint(self) -> Optional[str]:
|
521
|
+
return __config__.get('privilegedAccessManagerCustomEndpoint')
|
522
|
+
|
519
523
|
@property
|
520
524
|
def project(self) -> Optional[str]:
|
521
525
|
return __config__.get('project') or _utilities.get_env('GOOGLE_PROJECT', 'GOOGLE_CLOUD_PROJECT', 'GCLOUD_PROJECT', 'CLOUDSDK_CORE_PROJECT')
|
pulumi_gcp/container/_inputs.py
CHANGED
@@ -148,6 +148,7 @@ __all__ = [
|
|
148
148
|
'ClusterNodeConfigLocalNvmeSsdBlockConfigArgs',
|
149
149
|
'ClusterNodeConfigReservationAffinityArgs',
|
150
150
|
'ClusterNodeConfigSandboxConfigArgs',
|
151
|
+
'ClusterNodeConfigSecondaryBootDiskArgs',
|
151
152
|
'ClusterNodeConfigShieldedInstanceConfigArgs',
|
152
153
|
'ClusterNodeConfigSoleTenantConfigArgs',
|
153
154
|
'ClusterNodeConfigSoleTenantConfigNodeAffinityArgs',
|
@@ -184,6 +185,7 @@ __all__ = [
|
|
184
185
|
'ClusterNodePoolNodeConfigLocalNvmeSsdBlockConfigArgs',
|
185
186
|
'ClusterNodePoolNodeConfigReservationAffinityArgs',
|
186
187
|
'ClusterNodePoolNodeConfigSandboxConfigArgs',
|
188
|
+
'ClusterNodePoolNodeConfigSecondaryBootDiskArgs',
|
187
189
|
'ClusterNodePoolNodeConfigShieldedInstanceConfigArgs',
|
188
190
|
'ClusterNodePoolNodeConfigSoleTenantConfigArgs',
|
189
191
|
'ClusterNodePoolNodeConfigSoleTenantConfigNodeAffinityArgs',
|
@@ -236,6 +238,7 @@ __all__ = [
|
|
236
238
|
'NodePoolNodeConfigLocalNvmeSsdBlockConfigArgs',
|
237
239
|
'NodePoolNodeConfigReservationAffinityArgs',
|
238
240
|
'NodePoolNodeConfigSandboxConfigArgs',
|
241
|
+
'NodePoolNodeConfigSecondaryBootDiskArgs',
|
239
242
|
'NodePoolNodeConfigShieldedInstanceConfigArgs',
|
240
243
|
'NodePoolNodeConfigSoleTenantConfigArgs',
|
241
244
|
'NodePoolNodeConfigSoleTenantConfigNodeAffinityArgs',
|
@@ -5726,6 +5729,7 @@ class ClusterNodeConfigArgs:
|
|
5726
5729
|
resource_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
5727
5730
|
resource_manager_tags: Optional[pulumi.Input[Mapping[str, Any]]] = None,
|
5728
5731
|
sandbox_config: Optional[pulumi.Input['ClusterNodeConfigSandboxConfigArgs']] = None,
|
5732
|
+
secondary_boot_disks: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterNodeConfigSecondaryBootDiskArgs']]]] = None,
|
5729
5733
|
service_account: Optional[pulumi.Input[str]] = None,
|
5730
5734
|
shielded_instance_config: Optional[pulumi.Input['ClusterNodeConfigShieldedInstanceConfigArgs']] = None,
|
5731
5735
|
sole_tenant_config: Optional[pulumi.Input['ClusterNodeConfigSoleTenantConfigArgs']] = None,
|
@@ -5811,6 +5815,7 @@ class ClusterNodeConfigArgs:
|
|
5811
5815
|
for how these labels are applied to clusters, node pools and nodes.
|
5812
5816
|
:param pulumi.Input[Mapping[str, Any]] resource_manager_tags: A map of resource manager tag keys and values to be attached to the nodes for managing Compute Engine firewalls using Network Firewall Policies. Tags must be according to specifications found [here](https://cloud.google.com/vpc/docs/tags-firewalls-overview#specifications). A maximum of 5 tag key-value pairs can be specified. Existing tags will be replaced with new values. Tags must be in one of the following formats ([KEY]=[VALUE]) 1. `tagKeys/{tag_key_id}=tagValues/{tag_value_id}` 2. `{org_id}/{tag_key_name}={tag_value_name}` 3. `{project_id}/{tag_key_name}={tag_value_name}`.
|
5813
5817
|
:param pulumi.Input['ClusterNodeConfigSandboxConfigArgs'] sandbox_config: Sandbox configuration for this node.
|
5818
|
+
:param pulumi.Input[Sequence[pulumi.Input['ClusterNodeConfigSecondaryBootDiskArgs']]] secondary_boot_disks: Parameters for secondary boot disks to preload container images and data on new nodes. Structure is documented below. `gcfs_config` must be `enabled=true` for this feature to work. `min_master_version` must also be set to use GKE 1.28.3-gke.106700 or later versions.
|
5814
5819
|
:param pulumi.Input[str] service_account: The service account to be used by the Node VMs.
|
5815
5820
|
If not specified, the "default" service account is used.
|
5816
5821
|
:param pulumi.Input['ClusterNodeConfigShieldedInstanceConfigArgs'] shielded_instance_config: Shielded Instance options. Structure is documented below.
|
@@ -5893,6 +5898,8 @@ class ClusterNodeConfigArgs:
|
|
5893
5898
|
pulumi.set(__self__, "resource_manager_tags", resource_manager_tags)
|
5894
5899
|
if sandbox_config is not None:
|
5895
5900
|
pulumi.set(__self__, "sandbox_config", sandbox_config)
|
5901
|
+
if secondary_boot_disks is not None:
|
5902
|
+
pulumi.set(__self__, "secondary_boot_disks", secondary_boot_disks)
|
5896
5903
|
if service_account is not None:
|
5897
5904
|
pulumi.set(__self__, "service_account", service_account)
|
5898
5905
|
if shielded_instance_config is not None:
|
@@ -6326,6 +6333,18 @@ class ClusterNodeConfigArgs:
|
|
6326
6333
|
def sandbox_config(self, value: Optional[pulumi.Input['ClusterNodeConfigSandboxConfigArgs']]):
|
6327
6334
|
pulumi.set(self, "sandbox_config", value)
|
6328
6335
|
|
6336
|
+
@property
|
6337
|
+
@pulumi.getter(name="secondaryBootDisks")
|
6338
|
+
def secondary_boot_disks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ClusterNodeConfigSecondaryBootDiskArgs']]]]:
|
6339
|
+
"""
|
6340
|
+
Parameters for secondary boot disks to preload container images and data on new nodes. Structure is documented below. `gcfs_config` must be `enabled=true` for this feature to work. `min_master_version` must also be set to use GKE 1.28.3-gke.106700 or later versions.
|
6341
|
+
"""
|
6342
|
+
return pulumi.get(self, "secondary_boot_disks")
|
6343
|
+
|
6344
|
+
@secondary_boot_disks.setter
|
6345
|
+
def secondary_boot_disks(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterNodeConfigSecondaryBootDiskArgs']]]]):
|
6346
|
+
pulumi.set(self, "secondary_boot_disks", value)
|
6347
|
+
|
6329
6348
|
@property
|
6330
6349
|
@pulumi.getter(name="serviceAccount")
|
6331
6350
|
def service_account(self) -> Optional[pulumi.Input[str]]:
|
@@ -6738,6 +6757,7 @@ class ClusterNodeConfigGuestAcceleratorGpuSharingConfigArgs:
|
|
6738
6757
|
:param pulumi.Input[str] gpu_sharing_strategy: The type of GPU sharing strategy to enable on the GPU node.
|
6739
6758
|
Accepted values are:
|
6740
6759
|
* `"TIME_SHARING"`: Allow multiple containers to have [time-shared](https://cloud.google.com/kubernetes-engine/docs/concepts/timesharing-gpus) access to a single GPU device.
|
6760
|
+
* `"MPS"`: Enable co-operative multi-process CUDA workloads to run concurrently on a single GPU device with [MPS](https://cloud.google.com/kubernetes-engine/docs/how-to/nvidia-mps-gpus)
|
6741
6761
|
:param pulumi.Input[int] max_shared_clients_per_gpu: The maximum number of containers that can share a GPU.
|
6742
6762
|
"""
|
6743
6763
|
pulumi.set(__self__, "gpu_sharing_strategy", gpu_sharing_strategy)
|
@@ -6750,6 +6770,7 @@ class ClusterNodeConfigGuestAcceleratorGpuSharingConfigArgs:
|
|
6750
6770
|
The type of GPU sharing strategy to enable on the GPU node.
|
6751
6771
|
Accepted values are:
|
6752
6772
|
* `"TIME_SHARING"`: Allow multiple containers to have [time-shared](https://cloud.google.com/kubernetes-engine/docs/concepts/timesharing-gpus) access to a single GPU device.
|
6773
|
+
* `"MPS"`: Enable co-operative multi-process CUDA workloads to run concurrently on a single GPU device with [MPS](https://cloud.google.com/kubernetes-engine/docs/how-to/nvidia-mps-gpus)
|
6753
6774
|
"""
|
6754
6775
|
return pulumi.get(self, "gpu_sharing_strategy")
|
6755
6776
|
|
@@ -7071,6 +7092,44 @@ class ClusterNodeConfigSandboxConfigArgs:
|
|
7071
7092
|
pulumi.set(self, "sandbox_type", value)
|
7072
7093
|
|
7073
7094
|
|
7095
|
+
@pulumi.input_type
|
7096
|
+
class ClusterNodeConfigSecondaryBootDiskArgs:
|
7097
|
+
def __init__(__self__, *,
|
7098
|
+
disk_image: pulumi.Input[str],
|
7099
|
+
mode: Optional[pulumi.Input[str]] = None):
|
7100
|
+
"""
|
7101
|
+
:param pulumi.Input[str] disk_image: Path to disk image to create the secondary boot disk from. After using the [gke-disk-image-builder](https://github.com/GoogleCloudPlatform/ai-on-gke/tree/main/tools/gke-disk-image-builder), this argument should be `global/images/DISK_IMAGE_NAME`.
|
7102
|
+
:param pulumi.Input[str] mode: Mode for how the secondary boot disk is used. An example mode is `CONTAINER_IMAGE_CACHE`.
|
7103
|
+
"""
|
7104
|
+
pulumi.set(__self__, "disk_image", disk_image)
|
7105
|
+
if mode is not None:
|
7106
|
+
pulumi.set(__self__, "mode", mode)
|
7107
|
+
|
7108
|
+
@property
|
7109
|
+
@pulumi.getter(name="diskImage")
|
7110
|
+
def disk_image(self) -> pulumi.Input[str]:
|
7111
|
+
"""
|
7112
|
+
Path to disk image to create the secondary boot disk from. After using the [gke-disk-image-builder](https://github.com/GoogleCloudPlatform/ai-on-gke/tree/main/tools/gke-disk-image-builder), this argument should be `global/images/DISK_IMAGE_NAME`.
|
7113
|
+
"""
|
7114
|
+
return pulumi.get(self, "disk_image")
|
7115
|
+
|
7116
|
+
@disk_image.setter
|
7117
|
+
def disk_image(self, value: pulumi.Input[str]):
|
7118
|
+
pulumi.set(self, "disk_image", value)
|
7119
|
+
|
7120
|
+
@property
|
7121
|
+
@pulumi.getter
|
7122
|
+
def mode(self) -> Optional[pulumi.Input[str]]:
|
7123
|
+
"""
|
7124
|
+
Mode for how the secondary boot disk is used. An example mode is `CONTAINER_IMAGE_CACHE`.
|
7125
|
+
"""
|
7126
|
+
return pulumi.get(self, "mode")
|
7127
|
+
|
7128
|
+
@mode.setter
|
7129
|
+
def mode(self, value: Optional[pulumi.Input[str]]):
|
7130
|
+
pulumi.set(self, "mode", value)
|
7131
|
+
|
7132
|
+
|
7074
7133
|
@pulumi.input_type
|
7075
7134
|
class ClusterNodeConfigShieldedInstanceConfigArgs:
|
7076
7135
|
def __init__(__self__, *,
|
@@ -8174,6 +8233,7 @@ class ClusterNodePoolNodeConfigArgs:
|
|
8174
8233
|
resource_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
8175
8234
|
resource_manager_tags: Optional[pulumi.Input[Mapping[str, Any]]] = None,
|
8176
8235
|
sandbox_config: Optional[pulumi.Input['ClusterNodePoolNodeConfigSandboxConfigArgs']] = None,
|
8236
|
+
secondary_boot_disks: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterNodePoolNodeConfigSecondaryBootDiskArgs']]]] = None,
|
8177
8237
|
service_account: Optional[pulumi.Input[str]] = None,
|
8178
8238
|
shielded_instance_config: Optional[pulumi.Input['ClusterNodePoolNodeConfigShieldedInstanceConfigArgs']] = None,
|
8179
8239
|
sole_tenant_config: Optional[pulumi.Input['ClusterNodePoolNodeConfigSoleTenantConfigArgs']] = None,
|
@@ -8259,6 +8319,7 @@ class ClusterNodePoolNodeConfigArgs:
|
|
8259
8319
|
for how these labels are applied to clusters, node pools and nodes.
|
8260
8320
|
:param pulumi.Input[Mapping[str, Any]] resource_manager_tags: A map of resource manager tag keys and values to be attached to the nodes for managing Compute Engine firewalls using Network Firewall Policies. Tags must be according to specifications found [here](https://cloud.google.com/vpc/docs/tags-firewalls-overview#specifications). A maximum of 5 tag key-value pairs can be specified. Existing tags will be replaced with new values. Tags must be in one of the following formats ([KEY]=[VALUE]) 1. `tagKeys/{tag_key_id}=tagValues/{tag_value_id}` 2. `{org_id}/{tag_key_name}={tag_value_name}` 3. `{project_id}/{tag_key_name}={tag_value_name}`.
|
8261
8321
|
:param pulumi.Input['ClusterNodePoolNodeConfigSandboxConfigArgs'] sandbox_config: Sandbox configuration for this node.
|
8322
|
+
:param pulumi.Input[Sequence[pulumi.Input['ClusterNodePoolNodeConfigSecondaryBootDiskArgs']]] secondary_boot_disks: Parameters for secondary boot disks to preload container images and data on new nodes. Structure is documented below. `gcfs_config` must be `enabled=true` for this feature to work. `min_master_version` must also be set to use GKE 1.28.3-gke.106700 or later versions.
|
8262
8323
|
:param pulumi.Input[str] service_account: The service account to be used by the Node VMs.
|
8263
8324
|
If not specified, the "default" service account is used.
|
8264
8325
|
:param pulumi.Input['ClusterNodePoolNodeConfigShieldedInstanceConfigArgs'] shielded_instance_config: Shielded Instance options. Structure is documented below.
|
@@ -8341,6 +8402,8 @@ class ClusterNodePoolNodeConfigArgs:
|
|
8341
8402
|
pulumi.set(__self__, "resource_manager_tags", resource_manager_tags)
|
8342
8403
|
if sandbox_config is not None:
|
8343
8404
|
pulumi.set(__self__, "sandbox_config", sandbox_config)
|
8405
|
+
if secondary_boot_disks is not None:
|
8406
|
+
pulumi.set(__self__, "secondary_boot_disks", secondary_boot_disks)
|
8344
8407
|
if service_account is not None:
|
8345
8408
|
pulumi.set(__self__, "service_account", service_account)
|
8346
8409
|
if shielded_instance_config is not None:
|
@@ -8774,6 +8837,18 @@ class ClusterNodePoolNodeConfigArgs:
|
|
8774
8837
|
def sandbox_config(self, value: Optional[pulumi.Input['ClusterNodePoolNodeConfigSandboxConfigArgs']]):
|
8775
8838
|
pulumi.set(self, "sandbox_config", value)
|
8776
8839
|
|
8840
|
+
@property
|
8841
|
+
@pulumi.getter(name="secondaryBootDisks")
|
8842
|
+
def secondary_boot_disks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ClusterNodePoolNodeConfigSecondaryBootDiskArgs']]]]:
|
8843
|
+
"""
|
8844
|
+
Parameters for secondary boot disks to preload container images and data on new nodes. Structure is documented below. `gcfs_config` must be `enabled=true` for this feature to work. `min_master_version` must also be set to use GKE 1.28.3-gke.106700 or later versions.
|
8845
|
+
"""
|
8846
|
+
return pulumi.get(self, "secondary_boot_disks")
|
8847
|
+
|
8848
|
+
@secondary_boot_disks.setter
|
8849
|
+
def secondary_boot_disks(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterNodePoolNodeConfigSecondaryBootDiskArgs']]]]):
|
8850
|
+
pulumi.set(self, "secondary_boot_disks", value)
|
8851
|
+
|
8777
8852
|
@property
|
8778
8853
|
@pulumi.getter(name="serviceAccount")
|
8779
8854
|
def service_account(self) -> Optional[pulumi.Input[str]]:
|
@@ -9186,6 +9261,7 @@ class ClusterNodePoolNodeConfigGuestAcceleratorGpuSharingConfigArgs:
|
|
9186
9261
|
:param pulumi.Input[str] gpu_sharing_strategy: The type of GPU sharing strategy to enable on the GPU node.
|
9187
9262
|
Accepted values are:
|
9188
9263
|
* `"TIME_SHARING"`: Allow multiple containers to have [time-shared](https://cloud.google.com/kubernetes-engine/docs/concepts/timesharing-gpus) access to a single GPU device.
|
9264
|
+
* `"MPS"`: Enable co-operative multi-process CUDA workloads to run concurrently on a single GPU device with [MPS](https://cloud.google.com/kubernetes-engine/docs/how-to/nvidia-mps-gpus)
|
9189
9265
|
:param pulumi.Input[int] max_shared_clients_per_gpu: The maximum number of containers that can share a GPU.
|
9190
9266
|
"""
|
9191
9267
|
pulumi.set(__self__, "gpu_sharing_strategy", gpu_sharing_strategy)
|
@@ -9198,6 +9274,7 @@ class ClusterNodePoolNodeConfigGuestAcceleratorGpuSharingConfigArgs:
|
|
9198
9274
|
The type of GPU sharing strategy to enable on the GPU node.
|
9199
9275
|
Accepted values are:
|
9200
9276
|
* `"TIME_SHARING"`: Allow multiple containers to have [time-shared](https://cloud.google.com/kubernetes-engine/docs/concepts/timesharing-gpus) access to a single GPU device.
|
9277
|
+
* `"MPS"`: Enable co-operative multi-process CUDA workloads to run concurrently on a single GPU device with [MPS](https://cloud.google.com/kubernetes-engine/docs/how-to/nvidia-mps-gpus)
|
9201
9278
|
"""
|
9202
9279
|
return pulumi.get(self, "gpu_sharing_strategy")
|
9203
9280
|
|
@@ -9519,6 +9596,44 @@ class ClusterNodePoolNodeConfigSandboxConfigArgs:
|
|
9519
9596
|
pulumi.set(self, "sandbox_type", value)
|
9520
9597
|
|
9521
9598
|
|
9599
|
+
@pulumi.input_type
|
9600
|
+
class ClusterNodePoolNodeConfigSecondaryBootDiskArgs:
|
9601
|
+
def __init__(__self__, *,
|
9602
|
+
disk_image: pulumi.Input[str],
|
9603
|
+
mode: Optional[pulumi.Input[str]] = None):
|
9604
|
+
"""
|
9605
|
+
:param pulumi.Input[str] disk_image: Path to disk image to create the secondary boot disk from. After using the [gke-disk-image-builder](https://github.com/GoogleCloudPlatform/ai-on-gke/tree/main/tools/gke-disk-image-builder), this argument should be `global/images/DISK_IMAGE_NAME`.
|
9606
|
+
:param pulumi.Input[str] mode: Mode for how the secondary boot disk is used. An example mode is `CONTAINER_IMAGE_CACHE`.
|
9607
|
+
"""
|
9608
|
+
pulumi.set(__self__, "disk_image", disk_image)
|
9609
|
+
if mode is not None:
|
9610
|
+
pulumi.set(__self__, "mode", mode)
|
9611
|
+
|
9612
|
+
@property
|
9613
|
+
@pulumi.getter(name="diskImage")
|
9614
|
+
def disk_image(self) -> pulumi.Input[str]:
|
9615
|
+
"""
|
9616
|
+
Path to disk image to create the secondary boot disk from. After using the [gke-disk-image-builder](https://github.com/GoogleCloudPlatform/ai-on-gke/tree/main/tools/gke-disk-image-builder), this argument should be `global/images/DISK_IMAGE_NAME`.
|
9617
|
+
"""
|
9618
|
+
return pulumi.get(self, "disk_image")
|
9619
|
+
|
9620
|
+
@disk_image.setter
|
9621
|
+
def disk_image(self, value: pulumi.Input[str]):
|
9622
|
+
pulumi.set(self, "disk_image", value)
|
9623
|
+
|
9624
|
+
@property
|
9625
|
+
@pulumi.getter
|
9626
|
+
def mode(self) -> Optional[pulumi.Input[str]]:
|
9627
|
+
"""
|
9628
|
+
Mode for how the secondary boot disk is used. An example mode is `CONTAINER_IMAGE_CACHE`.
|
9629
|
+
"""
|
9630
|
+
return pulumi.get(self, "mode")
|
9631
|
+
|
9632
|
+
@mode.setter
|
9633
|
+
def mode(self, value: Optional[pulumi.Input[str]]):
|
9634
|
+
pulumi.set(self, "mode", value)
|
9635
|
+
|
9636
|
+
|
9522
9637
|
@pulumi.input_type
|
9523
9638
|
class ClusterNodePoolNodeConfigShieldedInstanceConfigArgs:
|
9524
9639
|
def __init__(__self__, *,
|
@@ -11097,6 +11212,7 @@ class NodePoolNodeConfigArgs:
|
|
11097
11212
|
resource_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
11098
11213
|
resource_manager_tags: Optional[pulumi.Input[Mapping[str, Any]]] = None,
|
11099
11214
|
sandbox_config: Optional[pulumi.Input['NodePoolNodeConfigSandboxConfigArgs']] = None,
|
11215
|
+
secondary_boot_disks: Optional[pulumi.Input[Sequence[pulumi.Input['NodePoolNodeConfigSecondaryBootDiskArgs']]]] = None,
|
11100
11216
|
service_account: Optional[pulumi.Input[str]] = None,
|
11101
11217
|
shielded_instance_config: Optional[pulumi.Input['NodePoolNodeConfigShieldedInstanceConfigArgs']] = None,
|
11102
11218
|
sole_tenant_config: Optional[pulumi.Input['NodePoolNodeConfigSoleTenantConfigArgs']] = None,
|
@@ -11136,6 +11252,7 @@ class NodePoolNodeConfigArgs:
|
|
11136
11252
|
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] resource_labels: The GCE resource labels (a map of key/value pairs) to be applied to the node pool.
|
11137
11253
|
:param pulumi.Input[Mapping[str, Any]] resource_manager_tags: A map of resource manager tags. Resource manager tag keys and values have the same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456. The field is ignored (both PUT & PATCH) when empty.
|
11138
11254
|
:param pulumi.Input['NodePoolNodeConfigSandboxConfigArgs'] sandbox_config: Sandbox configuration for this node.
|
11255
|
+
:param pulumi.Input[Sequence[pulumi.Input['NodePoolNodeConfigSecondaryBootDiskArgs']]] secondary_boot_disks: Secondary boot disks for preloading data or container images.
|
11139
11256
|
:param pulumi.Input[str] service_account: The Google Cloud Platform Service Account to be used by the node VMs.
|
11140
11257
|
:param pulumi.Input['NodePoolNodeConfigShieldedInstanceConfigArgs'] shielded_instance_config: Shielded Instance options.
|
11141
11258
|
:param pulumi.Input['NodePoolNodeConfigSoleTenantConfigArgs'] sole_tenant_config: Node affinity options for sole tenant node pools.
|
@@ -11206,6 +11323,8 @@ class NodePoolNodeConfigArgs:
|
|
11206
11323
|
pulumi.set(__self__, "resource_manager_tags", resource_manager_tags)
|
11207
11324
|
if sandbox_config is not None:
|
11208
11325
|
pulumi.set(__self__, "sandbox_config", sandbox_config)
|
11326
|
+
if secondary_boot_disks is not None:
|
11327
|
+
pulumi.set(__self__, "secondary_boot_disks", secondary_boot_disks)
|
11209
11328
|
if service_account is not None:
|
11210
11329
|
pulumi.set(__self__, "service_account", service_account)
|
11211
11330
|
if shielded_instance_config is not None:
|
@@ -11593,6 +11712,18 @@ class NodePoolNodeConfigArgs:
|
|
11593
11712
|
def sandbox_config(self, value: Optional[pulumi.Input['NodePoolNodeConfigSandboxConfigArgs']]):
|
11594
11713
|
pulumi.set(self, "sandbox_config", value)
|
11595
11714
|
|
11715
|
+
@property
|
11716
|
+
@pulumi.getter(name="secondaryBootDisks")
|
11717
|
+
def secondary_boot_disks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['NodePoolNodeConfigSecondaryBootDiskArgs']]]]:
|
11718
|
+
"""
|
11719
|
+
Secondary boot disks for preloading data or container images.
|
11720
|
+
"""
|
11721
|
+
return pulumi.get(self, "secondary_boot_disks")
|
11722
|
+
|
11723
|
+
@secondary_boot_disks.setter
|
11724
|
+
def secondary_boot_disks(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['NodePoolNodeConfigSecondaryBootDiskArgs']]]]):
|
11725
|
+
pulumi.set(self, "secondary_boot_disks", value)
|
11726
|
+
|
11596
11727
|
@property
|
11597
11728
|
@pulumi.getter(name="serviceAccount")
|
11598
11729
|
def service_account(self) -> Optional[pulumi.Input[str]]:
|
@@ -12262,6 +12393,44 @@ class NodePoolNodeConfigSandboxConfigArgs:
|
|
12262
12393
|
pulumi.set(self, "sandbox_type", value)
|
12263
12394
|
|
12264
12395
|
|
12396
|
+
@pulumi.input_type
|
12397
|
+
class NodePoolNodeConfigSecondaryBootDiskArgs:
|
12398
|
+
def __init__(__self__, *,
|
12399
|
+
disk_image: pulumi.Input[str],
|
12400
|
+
mode: Optional[pulumi.Input[str]] = None):
|
12401
|
+
"""
|
12402
|
+
:param pulumi.Input[str] disk_image: Disk image to create the secondary boot disk from
|
12403
|
+
:param pulumi.Input[str] mode: Mode for how the secondary boot disk is used.
|
12404
|
+
"""
|
12405
|
+
pulumi.set(__self__, "disk_image", disk_image)
|
12406
|
+
if mode is not None:
|
12407
|
+
pulumi.set(__self__, "mode", mode)
|
12408
|
+
|
12409
|
+
@property
|
12410
|
+
@pulumi.getter(name="diskImage")
|
12411
|
+
def disk_image(self) -> pulumi.Input[str]:
|
12412
|
+
"""
|
12413
|
+
Disk image to create the secondary boot disk from
|
12414
|
+
"""
|
12415
|
+
return pulumi.get(self, "disk_image")
|
12416
|
+
|
12417
|
+
@disk_image.setter
|
12418
|
+
def disk_image(self, value: pulumi.Input[str]):
|
12419
|
+
pulumi.set(self, "disk_image", value)
|
12420
|
+
|
12421
|
+
@property
|
12422
|
+
@pulumi.getter
|
12423
|
+
def mode(self) -> Optional[pulumi.Input[str]]:
|
12424
|
+
"""
|
12425
|
+
Mode for how the secondary boot disk is used.
|
12426
|
+
"""
|
12427
|
+
return pulumi.get(self, "mode")
|
12428
|
+
|
12429
|
+
@mode.setter
|
12430
|
+
def mode(self, value: Optional[pulumi.Input[str]]):
|
12431
|
+
pulumi.set(self, "mode", value)
|
12432
|
+
|
12433
|
+
|
12265
12434
|
@pulumi.input_type
|
12266
12435
|
class NodePoolNodeConfigShieldedInstanceConfigArgs:
|
12267
12436
|
def __init__(__self__, *,
|