pulumi-gcp 7.21.2__py3-none-any.whl → 7.22.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. pulumi_gcp/__init__.py +11 -0
  2. pulumi_gcp/alloydb/_inputs.py +139 -0
  3. pulumi_gcp/alloydb/cluster.py +54 -0
  4. pulumi_gcp/alloydb/outputs.py +145 -0
  5. pulumi_gcp/applicationintegration/auth_config.py +2 -6
  6. pulumi_gcp/applicationintegration/client.py +133 -18
  7. pulumi_gcp/bigquery/dataset.py +2 -2
  8. pulumi_gcp/bigquery/job.py +16 -20
  9. pulumi_gcp/cloudrunv2/job.py +2 -4
  10. pulumi_gcp/cloudrunv2/service.py +2 -4
  11. pulumi_gcp/compute/_inputs.py +4 -0
  12. pulumi_gcp/compute/outputs.py +4 -0
  13. pulumi_gcp/compute/router_peer.py +54 -14
  14. pulumi_gcp/config/__init__.pyi +2 -0
  15. pulumi_gcp/config/vars.py +4 -0
  16. pulumi_gcp/container/_inputs.py +169 -0
  17. pulumi_gcp/container/outputs.py +272 -0
  18. pulumi_gcp/dataflow/flex_template_job.py +21 -21
  19. pulumi_gcp/dataflow/job.py +21 -7
  20. pulumi_gcp/essentialcontacts/document_ai_warehouse_document_schema.py +0 -528
  21. pulumi_gcp/firebaserules/release.py +2 -2
  22. pulumi_gcp/privilegedaccessmanager/__init__.py +10 -0
  23. pulumi_gcp/privilegedaccessmanager/_inputs.py +420 -0
  24. pulumi_gcp/privilegedaccessmanager/entitlement.py +852 -0
  25. pulumi_gcp/privilegedaccessmanager/outputs.py +491 -0
  26. pulumi_gcp/provider.py +20 -0
  27. pulumi_gcp/redis/cluster.py +69 -2
  28. pulumi_gcp/storage/__init__.py +1 -0
  29. pulumi_gcp/storage/get_buckets.py +138 -0
  30. pulumi_gcp/storage/outputs.py +63 -0
  31. {pulumi_gcp-7.21.2.dist-info → pulumi_gcp-7.22.0.dist-info}/METADATA +1 -1
  32. {pulumi_gcp-7.21.2.dist-info → pulumi_gcp-7.22.0.dist-info}/RECORD +34 -29
  33. {pulumi_gcp-7.21.2.dist-info → pulumi_gcp-7.22.0.dist-info}/WHEEL +0 -0
  34. {pulumi_gcp-7.21.2.dist-info → pulumi_gcp-7.22.0.dist-info}/top_level.txt +0 -0
@@ -149,6 +149,7 @@ __all__ = [
149
149
  'ClusterNodeConfigLocalNvmeSsdBlockConfig',
150
150
  'ClusterNodeConfigReservationAffinity',
151
151
  'ClusterNodeConfigSandboxConfig',
152
+ 'ClusterNodeConfigSecondaryBootDisk',
152
153
  'ClusterNodeConfigShieldedInstanceConfig',
153
154
  'ClusterNodeConfigSoleTenantConfig',
154
155
  'ClusterNodeConfigSoleTenantConfigNodeAffinity',
@@ -185,6 +186,7 @@ __all__ = [
185
186
  'ClusterNodePoolNodeConfigLocalNvmeSsdBlockConfig',
186
187
  'ClusterNodePoolNodeConfigReservationAffinity',
187
188
  'ClusterNodePoolNodeConfigSandboxConfig',
189
+ 'ClusterNodePoolNodeConfigSecondaryBootDisk',
188
190
  'ClusterNodePoolNodeConfigShieldedInstanceConfig',
189
191
  'ClusterNodePoolNodeConfigSoleTenantConfig',
190
192
  'ClusterNodePoolNodeConfigSoleTenantConfigNodeAffinity',
@@ -237,6 +239,7 @@ __all__ = [
237
239
  'NodePoolNodeConfigLocalNvmeSsdBlockConfig',
238
240
  'NodePoolNodeConfigReservationAffinity',
239
241
  'NodePoolNodeConfigSandboxConfig',
242
+ 'NodePoolNodeConfigSecondaryBootDisk',
240
243
  'NodePoolNodeConfigShieldedInstanceConfig',
241
244
  'NodePoolNodeConfigSoleTenantConfig',
242
245
  'NodePoolNodeConfigSoleTenantConfigNodeAffinity',
@@ -318,6 +321,7 @@ __all__ = [
318
321
  'GetClusterNodeConfigLocalNvmeSsdBlockConfigResult',
319
322
  'GetClusterNodeConfigReservationAffinityResult',
320
323
  'GetClusterNodeConfigSandboxConfigResult',
324
+ 'GetClusterNodeConfigSecondaryBootDiskResult',
321
325
  'GetClusterNodeConfigShieldedInstanceConfigResult',
322
326
  'GetClusterNodeConfigSoleTenantConfigResult',
323
327
  'GetClusterNodeConfigSoleTenantConfigNodeAffinityResult',
@@ -354,6 +358,7 @@ __all__ = [
354
358
  'GetClusterNodePoolNodeConfigLocalNvmeSsdBlockConfigResult',
355
359
  'GetClusterNodePoolNodeConfigReservationAffinityResult',
356
360
  'GetClusterNodePoolNodeConfigSandboxConfigResult',
361
+ 'GetClusterNodePoolNodeConfigSecondaryBootDiskResult',
357
362
  'GetClusterNodePoolNodeConfigShieldedInstanceConfigResult',
358
363
  'GetClusterNodePoolNodeConfigSoleTenantConfigResult',
359
364
  'GetClusterNodePoolNodeConfigSoleTenantConfigNodeAffinityResult',
@@ -6442,6 +6447,8 @@ class ClusterNodeConfig(dict):
6442
6447
  suggest = "resource_manager_tags"
6443
6448
  elif key == "sandboxConfig":
6444
6449
  suggest = "sandbox_config"
6450
+ elif key == "secondaryBootDisks":
6451
+ suggest = "secondary_boot_disks"
6445
6452
  elif key == "serviceAccount":
6446
6453
  suggest = "service_account"
6447
6454
  elif key == "shieldedInstanceConfig":
@@ -6494,6 +6501,7 @@ class ClusterNodeConfig(dict):
6494
6501
  resource_labels: Optional[Mapping[str, str]] = None,
6495
6502
  resource_manager_tags: Optional[Mapping[str, Any]] = None,
6496
6503
  sandbox_config: Optional['outputs.ClusterNodeConfigSandboxConfig'] = None,
6504
+ secondary_boot_disks: Optional[Sequence['outputs.ClusterNodeConfigSecondaryBootDisk']] = None,
6497
6505
  service_account: Optional[str] = None,
6498
6506
  shielded_instance_config: Optional['outputs.ClusterNodeConfigShieldedInstanceConfig'] = None,
6499
6507
  sole_tenant_config: Optional['outputs.ClusterNodeConfigSoleTenantConfig'] = None,
@@ -6579,6 +6587,7 @@ class ClusterNodeConfig(dict):
6579
6587
  for how these labels are applied to clusters, node pools and nodes.
6580
6588
  :param 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}`.
6581
6589
  :param 'ClusterNodeConfigSandboxConfigArgs' sandbox_config: Sandbox configuration for this node.
6590
+ :param Sequence['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.
6582
6591
  :param str service_account: The service account to be used by the Node VMs.
6583
6592
  If not specified, the "default" service account is used.
6584
6593
  :param 'ClusterNodeConfigShieldedInstanceConfigArgs' shielded_instance_config: Shielded Instance options. Structure is documented below.
@@ -6661,6 +6670,8 @@ class ClusterNodeConfig(dict):
6661
6670
  pulumi.set(__self__, "resource_manager_tags", resource_manager_tags)
6662
6671
  if sandbox_config is not None:
6663
6672
  pulumi.set(__self__, "sandbox_config", sandbox_config)
6673
+ if secondary_boot_disks is not None:
6674
+ pulumi.set(__self__, "secondary_boot_disks", secondary_boot_disks)
6664
6675
  if service_account is not None:
6665
6676
  pulumi.set(__self__, "service_account", service_account)
6666
6677
  if shielded_instance_config is not None:
@@ -6970,6 +6981,14 @@ class ClusterNodeConfig(dict):
6970
6981
  """
6971
6982
  return pulumi.get(self, "sandbox_config")
6972
6983
 
6984
+ @property
6985
+ @pulumi.getter(name="secondaryBootDisks")
6986
+ def secondary_boot_disks(self) -> Optional[Sequence['outputs.ClusterNodeConfigSecondaryBootDisk']]:
6987
+ """
6988
+ 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.
6989
+ """
6990
+ return pulumi.get(self, "secondary_boot_disks")
6991
+
6973
6992
  @property
6974
6993
  @pulumi.getter(name="serviceAccount")
6975
6994
  def service_account(self) -> Optional[str]:
@@ -7402,6 +7421,7 @@ class ClusterNodeConfigGuestAcceleratorGpuSharingConfig(dict):
7402
7421
  :param str gpu_sharing_strategy: The type of GPU sharing strategy to enable on the GPU node.
7403
7422
  Accepted values are:
7404
7423
  * `"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.
7424
+ * `"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)
7405
7425
  :param int max_shared_clients_per_gpu: The maximum number of containers that can share a GPU.
7406
7426
  """
7407
7427
  pulumi.set(__self__, "gpu_sharing_strategy", gpu_sharing_strategy)
@@ -7414,6 +7434,7 @@ class ClusterNodeConfigGuestAcceleratorGpuSharingConfig(dict):
7414
7434
  The type of GPU sharing strategy to enable on the GPU node.
7415
7435
  Accepted values are:
7416
7436
  * `"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.
7437
+ * `"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)
7417
7438
  """
7418
7439
  return pulumi.get(self, "gpu_sharing_strategy")
7419
7440
 
@@ -7783,6 +7804,53 @@ class ClusterNodeConfigSandboxConfig(dict):
7783
7804
  return pulumi.get(self, "sandbox_type")
7784
7805
 
7785
7806
 
7807
+ @pulumi.output_type
7808
+ class ClusterNodeConfigSecondaryBootDisk(dict):
7809
+ @staticmethod
7810
+ def __key_warning(key: str):
7811
+ suggest = None
7812
+ if key == "diskImage":
7813
+ suggest = "disk_image"
7814
+
7815
+ if suggest:
7816
+ pulumi.log.warn(f"Key '{key}' not found in ClusterNodeConfigSecondaryBootDisk. Access the value via the '{suggest}' property getter instead.")
7817
+
7818
+ def __getitem__(self, key: str) -> Any:
7819
+ ClusterNodeConfigSecondaryBootDisk.__key_warning(key)
7820
+ return super().__getitem__(key)
7821
+
7822
+ def get(self, key: str, default = None) -> Any:
7823
+ ClusterNodeConfigSecondaryBootDisk.__key_warning(key)
7824
+ return super().get(key, default)
7825
+
7826
+ def __init__(__self__, *,
7827
+ disk_image: str,
7828
+ mode: Optional[str] = None):
7829
+ """
7830
+ :param 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`.
7831
+ :param str mode: Mode for how the secondary boot disk is used. An example mode is `CONTAINER_IMAGE_CACHE`.
7832
+ """
7833
+ pulumi.set(__self__, "disk_image", disk_image)
7834
+ if mode is not None:
7835
+ pulumi.set(__self__, "mode", mode)
7836
+
7837
+ @property
7838
+ @pulumi.getter(name="diskImage")
7839
+ def disk_image(self) -> str:
7840
+ """
7841
+ 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`.
7842
+ """
7843
+ return pulumi.get(self, "disk_image")
7844
+
7845
+ @property
7846
+ @pulumi.getter
7847
+ def mode(self) -> Optional[str]:
7848
+ """
7849
+ Mode for how the secondary boot disk is used. An example mode is `CONTAINER_IMAGE_CACHE`.
7850
+ """
7851
+ return pulumi.get(self, "mode")
7852
+
7853
+
7786
7854
  @pulumi.output_type
7787
7855
  class ClusterNodeConfigShieldedInstanceConfig(dict):
7788
7856
  @staticmethod
@@ -8932,6 +9000,8 @@ class ClusterNodePoolNodeConfig(dict):
8932
9000
  suggest = "resource_manager_tags"
8933
9001
  elif key == "sandboxConfig":
8934
9002
  suggest = "sandbox_config"
9003
+ elif key == "secondaryBootDisks":
9004
+ suggest = "secondary_boot_disks"
8935
9005
  elif key == "serviceAccount":
8936
9006
  suggest = "service_account"
8937
9007
  elif key == "shieldedInstanceConfig":
@@ -8984,6 +9054,7 @@ class ClusterNodePoolNodeConfig(dict):
8984
9054
  resource_labels: Optional[Mapping[str, str]] = None,
8985
9055
  resource_manager_tags: Optional[Mapping[str, Any]] = None,
8986
9056
  sandbox_config: Optional['outputs.ClusterNodePoolNodeConfigSandboxConfig'] = None,
9057
+ secondary_boot_disks: Optional[Sequence['outputs.ClusterNodePoolNodeConfigSecondaryBootDisk']] = None,
8987
9058
  service_account: Optional[str] = None,
8988
9059
  shielded_instance_config: Optional['outputs.ClusterNodePoolNodeConfigShieldedInstanceConfig'] = None,
8989
9060
  sole_tenant_config: Optional['outputs.ClusterNodePoolNodeConfigSoleTenantConfig'] = None,
@@ -9069,6 +9140,7 @@ class ClusterNodePoolNodeConfig(dict):
9069
9140
  for how these labels are applied to clusters, node pools and nodes.
9070
9141
  :param 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}`.
9071
9142
  :param 'ClusterNodePoolNodeConfigSandboxConfigArgs' sandbox_config: Sandbox configuration for this node.
9143
+ :param Sequence['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.
9072
9144
  :param str service_account: The service account to be used by the Node VMs.
9073
9145
  If not specified, the "default" service account is used.
9074
9146
  :param 'ClusterNodePoolNodeConfigShieldedInstanceConfigArgs' shielded_instance_config: Shielded Instance options. Structure is documented below.
@@ -9151,6 +9223,8 @@ class ClusterNodePoolNodeConfig(dict):
9151
9223
  pulumi.set(__self__, "resource_manager_tags", resource_manager_tags)
9152
9224
  if sandbox_config is not None:
9153
9225
  pulumi.set(__self__, "sandbox_config", sandbox_config)
9226
+ if secondary_boot_disks is not None:
9227
+ pulumi.set(__self__, "secondary_boot_disks", secondary_boot_disks)
9154
9228
  if service_account is not None:
9155
9229
  pulumi.set(__self__, "service_account", service_account)
9156
9230
  if shielded_instance_config is not None:
@@ -9460,6 +9534,14 @@ class ClusterNodePoolNodeConfig(dict):
9460
9534
  """
9461
9535
  return pulumi.get(self, "sandbox_config")
9462
9536
 
9537
+ @property
9538
+ @pulumi.getter(name="secondaryBootDisks")
9539
+ def secondary_boot_disks(self) -> Optional[Sequence['outputs.ClusterNodePoolNodeConfigSecondaryBootDisk']]:
9540
+ """
9541
+ 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.
9542
+ """
9543
+ return pulumi.get(self, "secondary_boot_disks")
9544
+
9463
9545
  @property
9464
9546
  @pulumi.getter(name="serviceAccount")
9465
9547
  def service_account(self) -> Optional[str]:
@@ -9892,6 +9974,7 @@ class ClusterNodePoolNodeConfigGuestAcceleratorGpuSharingConfig(dict):
9892
9974
  :param str gpu_sharing_strategy: The type of GPU sharing strategy to enable on the GPU node.
9893
9975
  Accepted values are:
9894
9976
  * `"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.
9977
+ * `"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)
9895
9978
  :param int max_shared_clients_per_gpu: The maximum number of containers that can share a GPU.
9896
9979
  """
9897
9980
  pulumi.set(__self__, "gpu_sharing_strategy", gpu_sharing_strategy)
@@ -9904,6 +9987,7 @@ class ClusterNodePoolNodeConfigGuestAcceleratorGpuSharingConfig(dict):
9904
9987
  The type of GPU sharing strategy to enable on the GPU node.
9905
9988
  Accepted values are:
9906
9989
  * `"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.
9990
+ * `"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)
9907
9991
  """
9908
9992
  return pulumi.get(self, "gpu_sharing_strategy")
9909
9993
 
@@ -10273,6 +10357,53 @@ class ClusterNodePoolNodeConfigSandboxConfig(dict):
10273
10357
  return pulumi.get(self, "sandbox_type")
10274
10358
 
10275
10359
 
10360
+ @pulumi.output_type
10361
+ class ClusterNodePoolNodeConfigSecondaryBootDisk(dict):
10362
+ @staticmethod
10363
+ def __key_warning(key: str):
10364
+ suggest = None
10365
+ if key == "diskImage":
10366
+ suggest = "disk_image"
10367
+
10368
+ if suggest:
10369
+ pulumi.log.warn(f"Key '{key}' not found in ClusterNodePoolNodeConfigSecondaryBootDisk. Access the value via the '{suggest}' property getter instead.")
10370
+
10371
+ def __getitem__(self, key: str) -> Any:
10372
+ ClusterNodePoolNodeConfigSecondaryBootDisk.__key_warning(key)
10373
+ return super().__getitem__(key)
10374
+
10375
+ def get(self, key: str, default = None) -> Any:
10376
+ ClusterNodePoolNodeConfigSecondaryBootDisk.__key_warning(key)
10377
+ return super().get(key, default)
10378
+
10379
+ def __init__(__self__, *,
10380
+ disk_image: str,
10381
+ mode: Optional[str] = None):
10382
+ """
10383
+ :param 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`.
10384
+ :param str mode: Mode for how the secondary boot disk is used. An example mode is `CONTAINER_IMAGE_CACHE`.
10385
+ """
10386
+ pulumi.set(__self__, "disk_image", disk_image)
10387
+ if mode is not None:
10388
+ pulumi.set(__self__, "mode", mode)
10389
+
10390
+ @property
10391
+ @pulumi.getter(name="diskImage")
10392
+ def disk_image(self) -> str:
10393
+ """
10394
+ 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`.
10395
+ """
10396
+ return pulumi.get(self, "disk_image")
10397
+
10398
+ @property
10399
+ @pulumi.getter
10400
+ def mode(self) -> Optional[str]:
10401
+ """
10402
+ Mode for how the secondary boot disk is used. An example mode is `CONTAINER_IMAGE_CACHE`.
10403
+ """
10404
+ return pulumi.get(self, "mode")
10405
+
10406
+
10276
10407
  @pulumi.output_type
10277
10408
  class ClusterNodePoolNodeConfigShieldedInstanceConfig(dict):
10278
10409
  @staticmethod
@@ -11987,6 +12118,8 @@ class NodePoolNodeConfig(dict):
11987
12118
  suggest = "resource_manager_tags"
11988
12119
  elif key == "sandboxConfig":
11989
12120
  suggest = "sandbox_config"
12121
+ elif key == "secondaryBootDisks":
12122
+ suggest = "secondary_boot_disks"
11990
12123
  elif key == "serviceAccount":
11991
12124
  suggest = "service_account"
11992
12125
  elif key == "shieldedInstanceConfig":
@@ -12039,6 +12172,7 @@ class NodePoolNodeConfig(dict):
12039
12172
  resource_labels: Optional[Mapping[str, str]] = None,
12040
12173
  resource_manager_tags: Optional[Mapping[str, Any]] = None,
12041
12174
  sandbox_config: Optional['outputs.NodePoolNodeConfigSandboxConfig'] = None,
12175
+ secondary_boot_disks: Optional[Sequence['outputs.NodePoolNodeConfigSecondaryBootDisk']] = None,
12042
12176
  service_account: Optional[str] = None,
12043
12177
  shielded_instance_config: Optional['outputs.NodePoolNodeConfigShieldedInstanceConfig'] = None,
12044
12178
  sole_tenant_config: Optional['outputs.NodePoolNodeConfigSoleTenantConfig'] = None,
@@ -12078,6 +12212,7 @@ class NodePoolNodeConfig(dict):
12078
12212
  :param Mapping[str, str] resource_labels: The GCE resource labels (a map of key/value pairs) to be applied to the node pool.
12079
12213
  :param 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.
12080
12214
  :param 'NodePoolNodeConfigSandboxConfigArgs' sandbox_config: Sandbox configuration for this node.
12215
+ :param Sequence['NodePoolNodeConfigSecondaryBootDiskArgs'] secondary_boot_disks: Secondary boot disks for preloading data or container images.
12081
12216
  :param str service_account: The Google Cloud Platform Service Account to be used by the node VMs.
12082
12217
  :param 'NodePoolNodeConfigShieldedInstanceConfigArgs' shielded_instance_config: Shielded Instance options.
12083
12218
  :param 'NodePoolNodeConfigSoleTenantConfigArgs' sole_tenant_config: Node affinity options for sole tenant node pools.
@@ -12148,6 +12283,8 @@ class NodePoolNodeConfig(dict):
12148
12283
  pulumi.set(__self__, "resource_manager_tags", resource_manager_tags)
12149
12284
  if sandbox_config is not None:
12150
12285
  pulumi.set(__self__, "sandbox_config", sandbox_config)
12286
+ if secondary_boot_disks is not None:
12287
+ pulumi.set(__self__, "secondary_boot_disks", secondary_boot_disks)
12151
12288
  if service_account is not None:
12152
12289
  pulumi.set(__self__, "service_account", service_account)
12153
12290
  if shielded_instance_config is not None:
@@ -12411,6 +12548,14 @@ class NodePoolNodeConfig(dict):
12411
12548
  """
12412
12549
  return pulumi.get(self, "sandbox_config")
12413
12550
 
12551
+ @property
12552
+ @pulumi.getter(name="secondaryBootDisks")
12553
+ def secondary_boot_disks(self) -> Optional[Sequence['outputs.NodePoolNodeConfigSecondaryBootDisk']]:
12554
+ """
12555
+ Secondary boot disks for preloading data or container images.
12556
+ """
12557
+ return pulumi.get(self, "secondary_boot_disks")
12558
+
12414
12559
  @property
12415
12560
  @pulumi.getter(name="serviceAccount")
12416
12561
  def service_account(self) -> Optional[str]:
@@ -13148,6 +13293,53 @@ class NodePoolNodeConfigSandboxConfig(dict):
13148
13293
  return pulumi.get(self, "sandbox_type")
13149
13294
 
13150
13295
 
13296
+ @pulumi.output_type
13297
+ class NodePoolNodeConfigSecondaryBootDisk(dict):
13298
+ @staticmethod
13299
+ def __key_warning(key: str):
13300
+ suggest = None
13301
+ if key == "diskImage":
13302
+ suggest = "disk_image"
13303
+
13304
+ if suggest:
13305
+ pulumi.log.warn(f"Key '{key}' not found in NodePoolNodeConfigSecondaryBootDisk. Access the value via the '{suggest}' property getter instead.")
13306
+
13307
+ def __getitem__(self, key: str) -> Any:
13308
+ NodePoolNodeConfigSecondaryBootDisk.__key_warning(key)
13309
+ return super().__getitem__(key)
13310
+
13311
+ def get(self, key: str, default = None) -> Any:
13312
+ NodePoolNodeConfigSecondaryBootDisk.__key_warning(key)
13313
+ return super().get(key, default)
13314
+
13315
+ def __init__(__self__, *,
13316
+ disk_image: str,
13317
+ mode: Optional[str] = None):
13318
+ """
13319
+ :param str disk_image: Disk image to create the secondary boot disk from
13320
+ :param str mode: Mode for how the secondary boot disk is used.
13321
+ """
13322
+ pulumi.set(__self__, "disk_image", disk_image)
13323
+ if mode is not None:
13324
+ pulumi.set(__self__, "mode", mode)
13325
+
13326
+ @property
13327
+ @pulumi.getter(name="diskImage")
13328
+ def disk_image(self) -> str:
13329
+ """
13330
+ Disk image to create the secondary boot disk from
13331
+ """
13332
+ return pulumi.get(self, "disk_image")
13333
+
13334
+ @property
13335
+ @pulumi.getter
13336
+ def mode(self) -> Optional[str]:
13337
+ """
13338
+ Mode for how the secondary boot disk is used.
13339
+ """
13340
+ return pulumi.get(self, "mode")
13341
+
13342
+
13151
13343
  @pulumi.output_type
13152
13344
  class NodePoolNodeConfigShieldedInstanceConfig(dict):
13153
13345
  @staticmethod
@@ -15273,6 +15465,7 @@ class GetClusterNodeConfigResult(dict):
15273
15465
  resource_labels: Mapping[str, str],
15274
15466
  resource_manager_tags: Mapping[str, Any],
15275
15467
  sandbox_configs: Sequence['outputs.GetClusterNodeConfigSandboxConfigResult'],
15468
+ secondary_boot_disks: Sequence['outputs.GetClusterNodeConfigSecondaryBootDiskResult'],
15276
15469
  service_account: str,
15277
15470
  shielded_instance_configs: Sequence['outputs.GetClusterNodeConfigShieldedInstanceConfigResult'],
15278
15471
  sole_tenant_configs: Sequence['outputs.GetClusterNodeConfigSoleTenantConfigResult'],
@@ -15312,6 +15505,7 @@ class GetClusterNodeConfigResult(dict):
15312
15505
  :param Mapping[str, str] resource_labels: The GCE resource labels (a map of key/value pairs) to be applied to the node pool.
15313
15506
  :param 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.
15314
15507
  :param Sequence['GetClusterNodeConfigSandboxConfigArgs'] sandbox_configs: Sandbox configuration for this node.
15508
+ :param Sequence['GetClusterNodeConfigSecondaryBootDiskArgs'] secondary_boot_disks: Secondary boot disks for preloading data or container images.
15315
15509
  :param str service_account: The Google Cloud Platform Service Account to be used by the node VMs.
15316
15510
  :param Sequence['GetClusterNodeConfigShieldedInstanceConfigArgs'] shielded_instance_configs: Shielded Instance options.
15317
15511
  :param Sequence['GetClusterNodeConfigSoleTenantConfigArgs'] sole_tenant_configs: Node affinity options for sole tenant node pools.
@@ -15351,6 +15545,7 @@ class GetClusterNodeConfigResult(dict):
15351
15545
  pulumi.set(__self__, "resource_labels", resource_labels)
15352
15546
  pulumi.set(__self__, "resource_manager_tags", resource_manager_tags)
15353
15547
  pulumi.set(__self__, "sandbox_configs", sandbox_configs)
15548
+ pulumi.set(__self__, "secondary_boot_disks", secondary_boot_disks)
15354
15549
  pulumi.set(__self__, "service_account", service_account)
15355
15550
  pulumi.set(__self__, "shielded_instance_configs", shielded_instance_configs)
15356
15551
  pulumi.set(__self__, "sole_tenant_configs", sole_tenant_configs)
@@ -15607,6 +15802,14 @@ class GetClusterNodeConfigResult(dict):
15607
15802
  """
15608
15803
  return pulumi.get(self, "sandbox_configs")
15609
15804
 
15805
+ @property
15806
+ @pulumi.getter(name="secondaryBootDisks")
15807
+ def secondary_boot_disks(self) -> Sequence['outputs.GetClusterNodeConfigSecondaryBootDiskResult']:
15808
+ """
15809
+ Secondary boot disks for preloading data or container images.
15810
+ """
15811
+ return pulumi.get(self, "secondary_boot_disks")
15812
+
15610
15813
  @property
15611
15814
  @pulumi.getter(name="serviceAccount")
15612
15815
  def service_account(self) -> str:
@@ -16113,6 +16316,35 @@ class GetClusterNodeConfigSandboxConfigResult(dict):
16113
16316
  return pulumi.get(self, "sandbox_type")
16114
16317
 
16115
16318
 
16319
+ @pulumi.output_type
16320
+ class GetClusterNodeConfigSecondaryBootDiskResult(dict):
16321
+ def __init__(__self__, *,
16322
+ disk_image: str,
16323
+ mode: str):
16324
+ """
16325
+ :param str disk_image: Disk image to create the secondary boot disk from
16326
+ :param str mode: Mode for how the secondary boot disk is used.
16327
+ """
16328
+ pulumi.set(__self__, "disk_image", disk_image)
16329
+ pulumi.set(__self__, "mode", mode)
16330
+
16331
+ @property
16332
+ @pulumi.getter(name="diskImage")
16333
+ def disk_image(self) -> str:
16334
+ """
16335
+ Disk image to create the secondary boot disk from
16336
+ """
16337
+ return pulumi.get(self, "disk_image")
16338
+
16339
+ @property
16340
+ @pulumi.getter
16341
+ def mode(self) -> str:
16342
+ """
16343
+ Mode for how the secondary boot disk is used.
16344
+ """
16345
+ return pulumi.get(self, "mode")
16346
+
16347
+
16116
16348
  @pulumi.output_type
16117
16349
  class GetClusterNodeConfigShieldedInstanceConfigResult(dict):
16118
16350
  def __init__(__self__, *,
@@ -16868,6 +17100,7 @@ class GetClusterNodePoolNodeConfigResult(dict):
16868
17100
  resource_labels: Mapping[str, str],
16869
17101
  resource_manager_tags: Mapping[str, Any],
16870
17102
  sandbox_configs: Sequence['outputs.GetClusterNodePoolNodeConfigSandboxConfigResult'],
17103
+ secondary_boot_disks: Sequence['outputs.GetClusterNodePoolNodeConfigSecondaryBootDiskResult'],
16871
17104
  service_account: str,
16872
17105
  shielded_instance_configs: Sequence['outputs.GetClusterNodePoolNodeConfigShieldedInstanceConfigResult'],
16873
17106
  sole_tenant_configs: Sequence['outputs.GetClusterNodePoolNodeConfigSoleTenantConfigResult'],
@@ -16907,6 +17140,7 @@ class GetClusterNodePoolNodeConfigResult(dict):
16907
17140
  :param Mapping[str, str] resource_labels: The GCE resource labels (a map of key/value pairs) to be applied to the node pool.
16908
17141
  :param 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.
16909
17142
  :param Sequence['GetClusterNodePoolNodeConfigSandboxConfigArgs'] sandbox_configs: Sandbox configuration for this node.
17143
+ :param Sequence['GetClusterNodePoolNodeConfigSecondaryBootDiskArgs'] secondary_boot_disks: Secondary boot disks for preloading data or container images.
16910
17144
  :param str service_account: The Google Cloud Platform Service Account to be used by the node VMs.
16911
17145
  :param Sequence['GetClusterNodePoolNodeConfigShieldedInstanceConfigArgs'] shielded_instance_configs: Shielded Instance options.
16912
17146
  :param Sequence['GetClusterNodePoolNodeConfigSoleTenantConfigArgs'] sole_tenant_configs: Node affinity options for sole tenant node pools.
@@ -16946,6 +17180,7 @@ class GetClusterNodePoolNodeConfigResult(dict):
16946
17180
  pulumi.set(__self__, "resource_labels", resource_labels)
16947
17181
  pulumi.set(__self__, "resource_manager_tags", resource_manager_tags)
16948
17182
  pulumi.set(__self__, "sandbox_configs", sandbox_configs)
17183
+ pulumi.set(__self__, "secondary_boot_disks", secondary_boot_disks)
16949
17184
  pulumi.set(__self__, "service_account", service_account)
16950
17185
  pulumi.set(__self__, "shielded_instance_configs", shielded_instance_configs)
16951
17186
  pulumi.set(__self__, "sole_tenant_configs", sole_tenant_configs)
@@ -17202,6 +17437,14 @@ class GetClusterNodePoolNodeConfigResult(dict):
17202
17437
  """
17203
17438
  return pulumi.get(self, "sandbox_configs")
17204
17439
 
17440
+ @property
17441
+ @pulumi.getter(name="secondaryBootDisks")
17442
+ def secondary_boot_disks(self) -> Sequence['outputs.GetClusterNodePoolNodeConfigSecondaryBootDiskResult']:
17443
+ """
17444
+ Secondary boot disks for preloading data or container images.
17445
+ """
17446
+ return pulumi.get(self, "secondary_boot_disks")
17447
+
17205
17448
  @property
17206
17449
  @pulumi.getter(name="serviceAccount")
17207
17450
  def service_account(self) -> str:
@@ -17708,6 +17951,35 @@ class GetClusterNodePoolNodeConfigSandboxConfigResult(dict):
17708
17951
  return pulumi.get(self, "sandbox_type")
17709
17952
 
17710
17953
 
17954
+ @pulumi.output_type
17955
+ class GetClusterNodePoolNodeConfigSecondaryBootDiskResult(dict):
17956
+ def __init__(__self__, *,
17957
+ disk_image: str,
17958
+ mode: str):
17959
+ """
17960
+ :param str disk_image: Disk image to create the secondary boot disk from
17961
+ :param str mode: Mode for how the secondary boot disk is used.
17962
+ """
17963
+ pulumi.set(__self__, "disk_image", disk_image)
17964
+ pulumi.set(__self__, "mode", mode)
17965
+
17966
+ @property
17967
+ @pulumi.getter(name="diskImage")
17968
+ def disk_image(self) -> str:
17969
+ """
17970
+ Disk image to create the secondary boot disk from
17971
+ """
17972
+ return pulumi.get(self, "disk_image")
17973
+
17974
+ @property
17975
+ @pulumi.getter
17976
+ def mode(self) -> str:
17977
+ """
17978
+ Mode for how the secondary boot disk is used.
17979
+ """
17980
+ return pulumi.get(self, "mode")
17981
+
17982
+
17711
17983
  @pulumi.output_type
17712
17984
  class GetClusterNodePoolNodeConfigShieldedInstanceConfigResult(dict):
17713
17985
  def __init__(__self__, *,
@@ -64,9 +64,9 @@ class FlexTemplateJobArgs:
64
64
  :param pulumi.Input[int] num_workers: Immutable. The initial number of Google Compute Engine instances for the job.
65
65
  :param pulumi.Input[str] on_delete: One of "drain" or "cancel". Specifies behavior of
66
66
  deletion during `pulumi destroy`. See above note.
67
- :param pulumi.Input[Mapping[str, Any]] parameters: Key/Value pairs to be passed to the Dataflow job (as
68
- used in the template). Additional [pipeline options](https://cloud.google.com/dataflow/docs/guides/specifying-exec-params#setting-other-cloud-dataflow-pipeline-options)
69
- such as `serviceAccount`, `workerMachineType`, etc can be specified here.
67
+ :param pulumi.Input[Mapping[str, Any]] parameters: **Template specific** Key/Value pairs to be forwarded to the pipeline's options; keys are
68
+ case-sensitive based on the language on which the pipeline is coded, mostly Java.
69
+ **Note**: do not configure Dataflow options here in parameters.
70
70
  :param pulumi.Input[str] project: The project in which the resource belongs. If it is not
71
71
  provided, the provider project is used.
72
72
  :param pulumi.Input[str] region: Immutable. The region in which the created job should run.
@@ -307,9 +307,9 @@ class FlexTemplateJobArgs:
307
307
  @pulumi.getter
308
308
  def parameters(self) -> Optional[pulumi.Input[Mapping[str, Any]]]:
309
309
  """
310
- Key/Value pairs to be passed to the Dataflow job (as
311
- used in the template). Additional [pipeline options](https://cloud.google.com/dataflow/docs/guides/specifying-exec-params#setting-other-cloud-dataflow-pipeline-options)
312
- such as `serviceAccount`, `workerMachineType`, etc can be specified here.
310
+ **Template specific** Key/Value pairs to be forwarded to the pipeline's options; keys are
311
+ case-sensitive based on the language on which the pipeline is coded, mostly Java.
312
+ **Note**: do not configure Dataflow options here in parameters.
313
313
  """
314
314
  return pulumi.get(self, "parameters")
315
315
 
@@ -483,9 +483,9 @@ class _FlexTemplateJobState:
483
483
  :param pulumi.Input[int] num_workers: Immutable. The initial number of Google Compute Engine instances for the job.
484
484
  :param pulumi.Input[str] on_delete: One of "drain" or "cancel". Specifies behavior of
485
485
  deletion during `pulumi destroy`. See above note.
486
- :param pulumi.Input[Mapping[str, Any]] parameters: Key/Value pairs to be passed to the Dataflow job (as
487
- used in the template). Additional [pipeline options](https://cloud.google.com/dataflow/docs/guides/specifying-exec-params#setting-other-cloud-dataflow-pipeline-options)
488
- such as `serviceAccount`, `workerMachineType`, etc can be specified here.
486
+ :param pulumi.Input[Mapping[str, Any]] parameters: **Template specific** Key/Value pairs to be forwarded to the pipeline's options; keys are
487
+ case-sensitive based on the language on which the pipeline is coded, mostly Java.
488
+ **Note**: do not configure Dataflow options here in parameters.
489
489
  :param pulumi.Input[str] project: The project in which the resource belongs. If it is not
490
490
  provided, the provider project is used.
491
491
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource and default labels configured on the provider.
@@ -761,9 +761,9 @@ class _FlexTemplateJobState:
761
761
  @pulumi.getter
762
762
  def parameters(self) -> Optional[pulumi.Input[Mapping[str, Any]]]:
763
763
  """
764
- Key/Value pairs to be passed to the Dataflow job (as
765
- used in the template). Additional [pipeline options](https://cloud.google.com/dataflow/docs/guides/specifying-exec-params#setting-other-cloud-dataflow-pipeline-options)
766
- such as `serviceAccount`, `workerMachineType`, etc can be specified here.
764
+ **Template specific** Key/Value pairs to be forwarded to the pipeline's options; keys are
765
+ case-sensitive based on the language on which the pipeline is coded, mostly Java.
766
+ **Note**: do not configure Dataflow options here in parameters.
767
767
  """
768
768
  return pulumi.get(self, "parameters")
769
769
 
@@ -1043,9 +1043,9 @@ class FlexTemplateJob(pulumi.CustomResource):
1043
1043
  :param pulumi.Input[int] num_workers: Immutable. The initial number of Google Compute Engine instances for the job.
1044
1044
  :param pulumi.Input[str] on_delete: One of "drain" or "cancel". Specifies behavior of
1045
1045
  deletion during `pulumi destroy`. See above note.
1046
- :param pulumi.Input[Mapping[str, Any]] parameters: Key/Value pairs to be passed to the Dataflow job (as
1047
- used in the template). Additional [pipeline options](https://cloud.google.com/dataflow/docs/guides/specifying-exec-params#setting-other-cloud-dataflow-pipeline-options)
1048
- such as `serviceAccount`, `workerMachineType`, etc can be specified here.
1046
+ :param pulumi.Input[Mapping[str, Any]] parameters: **Template specific** Key/Value pairs to be forwarded to the pipeline's options; keys are
1047
+ case-sensitive based on the language on which the pipeline is coded, mostly Java.
1048
+ **Note**: do not configure Dataflow options here in parameters.
1049
1049
  :param pulumi.Input[str] project: The project in which the resource belongs. If it is not
1050
1050
  provided, the provider project is used.
1051
1051
  :param pulumi.Input[str] region: Immutable. The region in which the created job should run.
@@ -1287,9 +1287,9 @@ class FlexTemplateJob(pulumi.CustomResource):
1287
1287
  :param pulumi.Input[int] num_workers: Immutable. The initial number of Google Compute Engine instances for the job.
1288
1288
  :param pulumi.Input[str] on_delete: One of "drain" or "cancel". Specifies behavior of
1289
1289
  deletion during `pulumi destroy`. See above note.
1290
- :param pulumi.Input[Mapping[str, Any]] parameters: Key/Value pairs to be passed to the Dataflow job (as
1291
- used in the template). Additional [pipeline options](https://cloud.google.com/dataflow/docs/guides/specifying-exec-params#setting-other-cloud-dataflow-pipeline-options)
1292
- such as `serviceAccount`, `workerMachineType`, etc can be specified here.
1290
+ :param pulumi.Input[Mapping[str, Any]] parameters: **Template specific** Key/Value pairs to be forwarded to the pipeline's options; keys are
1291
+ case-sensitive based on the language on which the pipeline is coded, mostly Java.
1292
+ **Note**: do not configure Dataflow options here in parameters.
1293
1293
  :param pulumi.Input[str] project: The project in which the resource belongs. If it is not
1294
1294
  provided, the provider project is used.
1295
1295
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource and default labels configured on the provider.
@@ -1477,9 +1477,9 @@ class FlexTemplateJob(pulumi.CustomResource):
1477
1477
  @pulumi.getter
1478
1478
  def parameters(self) -> pulumi.Output[Optional[Mapping[str, Any]]]:
1479
1479
  """
1480
- Key/Value pairs to be passed to the Dataflow job (as
1481
- used in the template). Additional [pipeline options](https://cloud.google.com/dataflow/docs/guides/specifying-exec-params#setting-other-cloud-dataflow-pipeline-options)
1482
- such as `serviceAccount`, `workerMachineType`, etc can be specified here.
1480
+ **Template specific** Key/Value pairs to be forwarded to the pipeline's options; keys are
1481
+ case-sensitive based on the language on which the pipeline is coded, mostly Java.
1482
+ **Note**: do not configure Dataflow options here in parameters.
1483
1483
  """
1484
1484
  return pulumi.get(self, "parameters")
1485
1485