pulumi-gcp 8.41.0a1755297349__py3-none-any.whl → 8.41.0a1755638986__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 (42) hide show
  1. pulumi_gcp/__init__.py +16 -0
  2. pulumi_gcp/artifactregistry/__init__.py +3 -0
  3. pulumi_gcp/artifactregistry/get_package.py +220 -0
  4. pulumi_gcp/artifactregistry/get_repositories.py +160 -0
  5. pulumi_gcp/artifactregistry/get_version.py +261 -0
  6. pulumi_gcp/artifactregistry/outputs.py +100 -0
  7. pulumi_gcp/backupdisasterrecovery/backup_plan.py +114 -7
  8. pulumi_gcp/backupdisasterrecovery/get_backup_plan.py +12 -1
  9. pulumi_gcp/bigquery/dataset.py +2 -2
  10. pulumi_gcp/composer/user_workloads_config_map.py +26 -2
  11. pulumi_gcp/compute/_inputs.py +355 -0
  12. pulumi_gcp/compute/get_region_backend_service.py +12 -1
  13. pulumi_gcp/compute/outputs.py +404 -0
  14. pulumi_gcp/compute/region_backend_service.py +257 -0
  15. pulumi_gcp/compute/region_security_policy.py +54 -0
  16. pulumi_gcp/compute/service_attachment.py +126 -0
  17. pulumi_gcp/container/_inputs.py +435 -15
  18. pulumi_gcp/container/outputs.py +494 -13
  19. pulumi_gcp/diagflow/__init__.py +1 -0
  20. pulumi_gcp/diagflow/_inputs.py +168 -0
  21. pulumi_gcp/diagflow/cx_playbook.py +967 -0
  22. pulumi_gcp/diagflow/outputs.py +117 -0
  23. pulumi_gcp/gkeonprem/vmware_admin_cluster.py +24 -3
  24. pulumi_gcp/memorystore/get_instance.py +12 -1
  25. pulumi_gcp/memorystore/instance.py +70 -0
  26. pulumi_gcp/pubsub/subscription.py +84 -0
  27. pulumi_gcp/pubsub/topic.py +80 -0
  28. pulumi_gcp/pulumi-plugin.json +1 -1
  29. pulumi_gcp/sql/_inputs.py +82 -4
  30. pulumi_gcp/sql/database_instance.py +108 -7
  31. pulumi_gcp/sql/get_database_instance.py +12 -1
  32. pulumi_gcp/sql/outputs.py +154 -7
  33. pulumi_gcp/storage/_inputs.py +104 -12
  34. pulumi_gcp/storage/outputs.py +84 -7
  35. pulumi_gcp/vertex/__init__.py +1 -0
  36. pulumi_gcp/vertex/_inputs.py +122 -0
  37. pulumi_gcp/vertex/ai_rag_engine_config.py +354 -0
  38. pulumi_gcp/vertex/outputs.py +69 -0
  39. {pulumi_gcp-8.41.0a1755297349.dist-info → pulumi_gcp-8.41.0a1755638986.dist-info}/METADATA +1 -1
  40. {pulumi_gcp-8.41.0a1755297349.dist-info → pulumi_gcp-8.41.0a1755638986.dist-info}/RECORD +42 -37
  41. {pulumi_gcp-8.41.0a1755297349.dist-info → pulumi_gcp-8.41.0a1755638986.dist-info}/WHEEL +0 -0
  42. {pulumi_gcp-8.41.0a1755297349.dist-info → pulumi_gcp-8.41.0a1755638986.dist-info}/top_level.txt +0 -0
@@ -154,6 +154,7 @@ __all__ = [
154
154
  'ClusterNetworkPolicy',
155
155
  'ClusterNodeConfig',
156
156
  'ClusterNodeConfigAdvancedMachineFeatures',
157
+ 'ClusterNodeConfigBootDisk',
157
158
  'ClusterNodeConfigConfidentialNodes',
158
159
  'ClusterNodeConfigContainerdConfig',
159
160
  'ClusterNodeConfigContainerdConfigPrivateRegistryAccessConfig',
@@ -203,6 +204,7 @@ __all__ = [
203
204
  'ClusterNodePoolNetworkConfigPodCidrOverprovisionConfig',
204
205
  'ClusterNodePoolNodeConfig',
205
206
  'ClusterNodePoolNodeConfigAdvancedMachineFeatures',
207
+ 'ClusterNodePoolNodeConfigBootDisk',
206
208
  'ClusterNodePoolNodeConfigConfidentialNodes',
207
209
  'ClusterNodePoolNodeConfigContainerdConfig',
208
210
  'ClusterNodePoolNodeConfigContainerdConfigPrivateRegistryAccessConfig',
@@ -267,6 +269,7 @@ __all__ = [
267
269
  'NodePoolNetworkConfigPodCidrOverprovisionConfig',
268
270
  'NodePoolNodeConfig',
269
271
  'NodePoolNodeConfigAdvancedMachineFeatures',
272
+ 'NodePoolNodeConfigBootDisk',
270
273
  'NodePoolNodeConfigConfidentialNodes',
271
274
  'NodePoolNodeConfigContainerdConfig',
272
275
  'NodePoolNodeConfigContainerdConfigPrivateRegistryAccessConfig',
@@ -369,6 +372,7 @@ __all__ = [
369
372
  'GetClusterNetworkPolicyResult',
370
373
  'GetClusterNodeConfigResult',
371
374
  'GetClusterNodeConfigAdvancedMachineFeatureResult',
375
+ 'GetClusterNodeConfigBootDiskResult',
372
376
  'GetClusterNodeConfigConfidentialNodeResult',
373
377
  'GetClusterNodeConfigContainerdConfigResult',
374
378
  'GetClusterNodeConfigContainerdConfigPrivateRegistryAccessConfigResult',
@@ -418,6 +422,7 @@ __all__ = [
418
422
  'GetClusterNodePoolNetworkConfigPodCidrOverprovisionConfigResult',
419
423
  'GetClusterNodePoolNodeConfigResult',
420
424
  'GetClusterNodePoolNodeConfigAdvancedMachineFeatureResult',
425
+ 'GetClusterNodePoolNodeConfigBootDiskResult',
421
426
  'GetClusterNodePoolNodeConfigConfidentialNodeResult',
422
427
  'GetClusterNodePoolNodeConfigContainerdConfigResult',
423
428
  'GetClusterNodePoolNodeConfigContainerdConfigPrivateRegistryAccessConfigResult',
@@ -7248,6 +7253,8 @@ class ClusterNodeConfig(dict):
7248
7253
  suggest = None
7249
7254
  if key == "advancedMachineFeatures":
7250
7255
  suggest = "advanced_machine_features"
7256
+ elif key == "bootDisk":
7257
+ suggest = "boot_disk"
7251
7258
  elif key == "bootDiskKmsKey":
7252
7259
  suggest = "boot_disk_kms_key"
7253
7260
  elif key == "confidentialNodes":
@@ -7336,6 +7343,7 @@ class ClusterNodeConfig(dict):
7336
7343
 
7337
7344
  def __init__(__self__, *,
7338
7345
  advanced_machine_features: Optional['outputs.ClusterNodeConfigAdvancedMachineFeatures'] = None,
7346
+ boot_disk: Optional['outputs.ClusterNodeConfigBootDisk'] = None,
7339
7347
  boot_disk_kms_key: Optional[_builtins.str] = None,
7340
7348
  confidential_nodes: Optional['outputs.ClusterNodeConfigConfidentialNodes'] = None,
7341
7349
  containerd_config: Optional['outputs.ClusterNodeConfigContainerdConfig'] = None,
@@ -7383,13 +7391,15 @@ class ClusterNodeConfig(dict):
7383
7391
  """
7384
7392
  :param 'ClusterNodeConfigAdvancedMachineFeaturesArgs' advanced_machine_features: Specifies options for controlling
7385
7393
  advanced machine features. Structure is documented below.
7394
+ :param 'ClusterNodeConfigBootDiskArgs' boot_disk: Configuration of the node pool boot disk. Structure is documented below
7386
7395
  :param _builtins.str boot_disk_kms_key: The Customer Managed Encryption Key used to encrypt the boot disk attached to each node in the node pool. This should be of the form projects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME]. For more information about protecting resources with Cloud KMS Keys please see: <https://cloud.google.com/compute/docs/disks/customer-managed-encryption>
7387
7396
  :param 'ClusterNodeConfigConfidentialNodesArgs' confidential_nodes: Configuration for Confidential Nodes feature. Structure is documented below.
7388
7397
  :param 'ClusterNodeConfigContainerdConfigArgs' containerd_config: Parameters to customize containerd runtime. Structure is documented below.
7389
7398
  :param _builtins.int disk_size_gb: Size of the disk attached to each node, specified
7390
- in GB. The smallest allowed disk size is 10GB. Defaults to 100GB.
7399
+ in GB. The smallest allowed disk size is 10GB. Defaults to 100GB. This is being migrated to `boot_disk.size_gb`, and must match if specified in both places.
7400
+ Prefer configuring `boot_disk`.
7391
7401
  :param _builtins.str disk_type: Type of the disk attached to each node
7392
- (e.g. 'pd-standard', 'pd-balanced' or 'pd-ssd'). If unspecified, the default disk type is 'pd-balanced'
7402
+ (e.g. 'pd-standard', 'pd-balanced' or 'pd-ssd'). If unspecified, the default disk type is 'pd-balanced' This is being migrated to `boot_disk.disk_type`, and must match if specified in both places. Prefer configuring `boot_disk`.
7393
7403
  :param Sequence['ClusterNodeConfigEffectiveTaintArgs'] effective_taints: List of kubernetes taints applied to each node. Structure is documented above.
7394
7404
  :param _builtins.bool enable_confidential_storage: Enabling Confidential Storage will create boot disk with confidential mode. It is disabled by default.
7395
7405
  :param 'ClusterNodeConfigEphemeralStorageConfigArgs' ephemeral_storage_config: Parameters for the ephemeral storage filesystem. If unspecified, ephemeral storage is backed by the boot disk. Structure is documented below.
@@ -7490,6 +7500,8 @@ class ClusterNodeConfig(dict):
7490
7500
  """
7491
7501
  if advanced_machine_features is not None:
7492
7502
  pulumi.set(__self__, "advanced_machine_features", advanced_machine_features)
7503
+ if boot_disk is not None:
7504
+ pulumi.set(__self__, "boot_disk", boot_disk)
7493
7505
  if boot_disk_kms_key is not None:
7494
7506
  pulumi.set(__self__, "boot_disk_kms_key", boot_disk_kms_key)
7495
7507
  if confidential_nodes is not None:
@@ -7588,6 +7600,14 @@ class ClusterNodeConfig(dict):
7588
7600
  """
7589
7601
  return pulumi.get(self, "advanced_machine_features")
7590
7602
 
7603
+ @_builtins.property
7604
+ @pulumi.getter(name="bootDisk")
7605
+ def boot_disk(self) -> Optional['outputs.ClusterNodeConfigBootDisk']:
7606
+ """
7607
+ Configuration of the node pool boot disk. Structure is documented below
7608
+ """
7609
+ return pulumi.get(self, "boot_disk")
7610
+
7591
7611
  @_builtins.property
7592
7612
  @pulumi.getter(name="bootDiskKmsKey")
7593
7613
  def boot_disk_kms_key(self) -> Optional[_builtins.str]:
@@ -7617,7 +7637,8 @@ class ClusterNodeConfig(dict):
7617
7637
  def disk_size_gb(self) -> Optional[_builtins.int]:
7618
7638
  """
7619
7639
  Size of the disk attached to each node, specified
7620
- in GB. The smallest allowed disk size is 10GB. Defaults to 100GB.
7640
+ in GB. The smallest allowed disk size is 10GB. Defaults to 100GB. This is being migrated to `boot_disk.size_gb`, and must match if specified in both places.
7641
+ Prefer configuring `boot_disk`.
7621
7642
  """
7622
7643
  return pulumi.get(self, "disk_size_gb")
7623
7644
 
@@ -7626,7 +7647,7 @@ class ClusterNodeConfig(dict):
7626
7647
  def disk_type(self) -> Optional[_builtins.str]:
7627
7648
  """
7628
7649
  Type of the disk attached to each node
7629
- (e.g. 'pd-standard', 'pd-balanced' or 'pd-ssd'). If unspecified, the default disk type is 'pd-balanced'
7650
+ (e.g. 'pd-standard', 'pd-balanced' or 'pd-ssd'). If unspecified, the default disk type is 'pd-balanced' This is being migrated to `boot_disk.disk_type`, and must match if specified in both places. Prefer configuring `boot_disk`.
7630
7651
  """
7631
7652
  return pulumi.get(self, "disk_type")
7632
7653
 
@@ -8064,6 +8085,88 @@ class ClusterNodeConfigAdvancedMachineFeatures(dict):
8064
8085
  return pulumi.get(self, "performance_monitoring_unit")
8065
8086
 
8066
8087
 
8088
+ @pulumi.output_type
8089
+ class ClusterNodeConfigBootDisk(dict):
8090
+ @staticmethod
8091
+ def __key_warning(key: str):
8092
+ suggest = None
8093
+ if key == "diskType":
8094
+ suggest = "disk_type"
8095
+ elif key == "provisionedIops":
8096
+ suggest = "provisioned_iops"
8097
+ elif key == "provisionedThroughput":
8098
+ suggest = "provisioned_throughput"
8099
+ elif key == "sizeGb":
8100
+ suggest = "size_gb"
8101
+
8102
+ if suggest:
8103
+ pulumi.log.warn(f"Key '{key}' not found in ClusterNodeConfigBootDisk. Access the value via the '{suggest}' property getter instead.")
8104
+
8105
+ def __getitem__(self, key: str) -> Any:
8106
+ ClusterNodeConfigBootDisk.__key_warning(key)
8107
+ return super().__getitem__(key)
8108
+
8109
+ def get(self, key: str, default = None) -> Any:
8110
+ ClusterNodeConfigBootDisk.__key_warning(key)
8111
+ return super().get(key, default)
8112
+
8113
+ def __init__(__self__, *,
8114
+ disk_type: Optional[_builtins.str] = None,
8115
+ provisioned_iops: Optional[_builtins.int] = None,
8116
+ provisioned_throughput: Optional[_builtins.int] = None,
8117
+ size_gb: Optional[_builtins.int] = None):
8118
+ """
8119
+ :param _builtins.str disk_type: Type of the disk attached to each node
8120
+ (e.g. 'pd-standard', 'pd-balanced', 'pd-ssd', 'hyperdisk-balanced'). If unspecified, the default disk type is 'pd-balanced' This is being migrated from `node_config.disk_type`, and must match if specified in both places. Prefer using this field.
8121
+ :param _builtins.int provisioned_iops: Configure disk IOPs. This is only valid if the `disk_type` is 'hyperdisk-balanced'. See [performance limit documention](https://cloud.google.com/compute/docs/disks/hyperdisk-perf-limits) for more information about valid values.
8122
+ :param _builtins.int provisioned_throughput: Configure disk throughput. This is only valid if the `disk_type` is 'hyperdisk-balanced'. See [performance limit documention](https://cloud.google.com/compute/docs/disks/hyperdisk-perf-limits) for more information about valid values.
8123
+ :param _builtins.int size_gb: Size of the disk attached to each node, specified
8124
+ in GB. The smallest allowed disk size is 10GB. Defaults to 100GB. This is being migrated from `node_config.disk_size_gb`, and must match if specified in both places. Prefer using this field.
8125
+ """
8126
+ if disk_type is not None:
8127
+ pulumi.set(__self__, "disk_type", disk_type)
8128
+ if provisioned_iops is not None:
8129
+ pulumi.set(__self__, "provisioned_iops", provisioned_iops)
8130
+ if provisioned_throughput is not None:
8131
+ pulumi.set(__self__, "provisioned_throughput", provisioned_throughput)
8132
+ if size_gb is not None:
8133
+ pulumi.set(__self__, "size_gb", size_gb)
8134
+
8135
+ @_builtins.property
8136
+ @pulumi.getter(name="diskType")
8137
+ def disk_type(self) -> Optional[_builtins.str]:
8138
+ """
8139
+ Type of the disk attached to each node
8140
+ (e.g. 'pd-standard', 'pd-balanced', 'pd-ssd', 'hyperdisk-balanced'). If unspecified, the default disk type is 'pd-balanced' This is being migrated from `node_config.disk_type`, and must match if specified in both places. Prefer using this field.
8141
+ """
8142
+ return pulumi.get(self, "disk_type")
8143
+
8144
+ @_builtins.property
8145
+ @pulumi.getter(name="provisionedIops")
8146
+ def provisioned_iops(self) -> Optional[_builtins.int]:
8147
+ """
8148
+ Configure disk IOPs. This is only valid if the `disk_type` is 'hyperdisk-balanced'. See [performance limit documention](https://cloud.google.com/compute/docs/disks/hyperdisk-perf-limits) for more information about valid values.
8149
+ """
8150
+ return pulumi.get(self, "provisioned_iops")
8151
+
8152
+ @_builtins.property
8153
+ @pulumi.getter(name="provisionedThroughput")
8154
+ def provisioned_throughput(self) -> Optional[_builtins.int]:
8155
+ """
8156
+ Configure disk throughput. This is only valid if the `disk_type` is 'hyperdisk-balanced'. See [performance limit documention](https://cloud.google.com/compute/docs/disks/hyperdisk-perf-limits) for more information about valid values.
8157
+ """
8158
+ return pulumi.get(self, "provisioned_throughput")
8159
+
8160
+ @_builtins.property
8161
+ @pulumi.getter(name="sizeGb")
8162
+ def size_gb(self) -> Optional[_builtins.int]:
8163
+ """
8164
+ Size of the disk attached to each node, specified
8165
+ in GB. The smallest allowed disk size is 10GB. Defaults to 100GB. This is being migrated from `node_config.disk_size_gb`, and must match if specified in both places. Prefer using this field.
8166
+ """
8167
+ return pulumi.get(self, "size_gb")
8168
+
8169
+
8067
8170
  @pulumi.output_type
8068
8171
  class ClusterNodeConfigConfidentialNodes(dict):
8069
8172
  @staticmethod
@@ -8709,6 +8812,8 @@ class ClusterNodeConfigKubeletConfig(dict):
8709
8812
  suggest = "insecure_kubelet_readonly_port_enabled"
8710
8813
  elif key == "podPidsLimit":
8711
8814
  suggest = "pod_pids_limit"
8815
+ elif key == "singleProcessOomKill":
8816
+ suggest = "single_process_oom_kill"
8712
8817
 
8713
8818
  if suggest:
8714
8819
  pulumi.log.warn(f"Key '{key}' not found in ClusterNodeConfigKubeletConfig. Access the value via the '{suggest}' property getter instead.")
@@ -8733,7 +8838,8 @@ class ClusterNodeConfigKubeletConfig(dict):
8733
8838
  image_maximum_gc_age: Optional[_builtins.str] = None,
8734
8839
  image_minimum_gc_age: Optional[_builtins.str] = None,
8735
8840
  insecure_kubelet_readonly_port_enabled: Optional[_builtins.str] = None,
8736
- pod_pids_limit: Optional[_builtins.int] = None):
8841
+ pod_pids_limit: Optional[_builtins.int] = None,
8842
+ single_process_oom_kill: Optional[_builtins.bool] = None):
8737
8843
  """
8738
8844
  :param Sequence[_builtins.str] allowed_unsafe_sysctls: Defines a comma-separated allowlist of unsafe sysctls or sysctl patterns which can be set on the Pods. The allowed sysctl groups are `kernel.shm*`, `kernel.msg*`, `kernel.sem`, `fs.mqueue.*`, and `net.*`.
8739
8845
  :param _builtins.int container_log_max_files: Defines the maximum number of container log files that can be present for a container. The integer must be between 2 and 10, inclusive.
@@ -8759,6 +8865,7 @@ class ClusterNodeConfigKubeletConfig(dict):
8759
8865
  :param _builtins.str image_minimum_gc_age: Defines the minimum age for an unused image before it is garbage collected. Specified as a sequence of decimal numbers, each with optional fraction and a unit suffix, such as `"300s"`, `"1.5m"`. The value cannot be greater than "2m".
8760
8866
  :param _builtins.str insecure_kubelet_readonly_port_enabled: Controls whether the kubelet read-only port is enabled. It is strongly recommended to set this to `FALSE`. Possible values: `TRUE`, `FALSE`.
8761
8867
  :param _builtins.int pod_pids_limit: Controls the maximum number of processes allowed to run in a pod. The value must be greater than or equal to 1024 and less than 4194304.
8868
+ :param _builtins.bool single_process_oom_kill: Defines whether to enable single process OOM killer. If true, the processes in the container will be OOM killed individually instead of as a group.
8762
8869
  """
8763
8870
  if allowed_unsafe_sysctls is not None:
8764
8871
  pulumi.set(__self__, "allowed_unsafe_sysctls", allowed_unsafe_sysctls)
@@ -8784,6 +8891,8 @@ class ClusterNodeConfigKubeletConfig(dict):
8784
8891
  pulumi.set(__self__, "insecure_kubelet_readonly_port_enabled", insecure_kubelet_readonly_port_enabled)
8785
8892
  if pod_pids_limit is not None:
8786
8893
  pulumi.set(__self__, "pod_pids_limit", pod_pids_limit)
8894
+ if single_process_oom_kill is not None:
8895
+ pulumi.set(__self__, "single_process_oom_kill", single_process_oom_kill)
8787
8896
 
8788
8897
  @_builtins.property
8789
8898
  @pulumi.getter(name="allowedUnsafeSysctls")
@@ -8893,6 +9002,14 @@ class ClusterNodeConfigKubeletConfig(dict):
8893
9002
  """
8894
9003
  return pulumi.get(self, "pod_pids_limit")
8895
9004
 
9005
+ @_builtins.property
9006
+ @pulumi.getter(name="singleProcessOomKill")
9007
+ def single_process_oom_kill(self) -> Optional[_builtins.bool]:
9008
+ """
9009
+ Defines whether to enable single process OOM killer. If true, the processes in the container will be OOM killed individually instead of as a group.
9010
+ """
9011
+ return pulumi.get(self, "single_process_oom_kill")
9012
+
8896
9013
 
8897
9014
  @pulumi.output_type
8898
9015
  class ClusterNodeConfigLinuxNodeConfig(dict):
@@ -10648,6 +10765,8 @@ class ClusterNodePoolNodeConfig(dict):
10648
10765
  suggest = None
10649
10766
  if key == "advancedMachineFeatures":
10650
10767
  suggest = "advanced_machine_features"
10768
+ elif key == "bootDisk":
10769
+ suggest = "boot_disk"
10651
10770
  elif key == "bootDiskKmsKey":
10652
10771
  suggest = "boot_disk_kms_key"
10653
10772
  elif key == "confidentialNodes":
@@ -10736,6 +10855,7 @@ class ClusterNodePoolNodeConfig(dict):
10736
10855
 
10737
10856
  def __init__(__self__, *,
10738
10857
  advanced_machine_features: Optional['outputs.ClusterNodePoolNodeConfigAdvancedMachineFeatures'] = None,
10858
+ boot_disk: Optional['outputs.ClusterNodePoolNodeConfigBootDisk'] = None,
10739
10859
  boot_disk_kms_key: Optional[_builtins.str] = None,
10740
10860
  confidential_nodes: Optional['outputs.ClusterNodePoolNodeConfigConfidentialNodes'] = None,
10741
10861
  containerd_config: Optional['outputs.ClusterNodePoolNodeConfigContainerdConfig'] = None,
@@ -10783,13 +10903,15 @@ class ClusterNodePoolNodeConfig(dict):
10783
10903
  """
10784
10904
  :param 'ClusterNodePoolNodeConfigAdvancedMachineFeaturesArgs' advanced_machine_features: Specifies options for controlling
10785
10905
  advanced machine features. Structure is documented below.
10906
+ :param 'ClusterNodePoolNodeConfigBootDiskArgs' boot_disk: Configuration of the node pool boot disk. Structure is documented below
10786
10907
  :param _builtins.str boot_disk_kms_key: The Customer Managed Encryption Key used to encrypt the boot disk attached to each node in the node pool. This should be of the form projects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME]. For more information about protecting resources with Cloud KMS Keys please see: <https://cloud.google.com/compute/docs/disks/customer-managed-encryption>
10787
10908
  :param 'ClusterNodePoolNodeConfigConfidentialNodesArgs' confidential_nodes: Configuration for Confidential Nodes feature. Structure is documented below.
10788
10909
  :param 'ClusterNodePoolNodeConfigContainerdConfigArgs' containerd_config: Parameters to customize containerd runtime. Structure is documented below.
10789
10910
  :param _builtins.int disk_size_gb: Size of the disk attached to each node, specified
10790
- in GB. The smallest allowed disk size is 10GB. Defaults to 100GB.
10911
+ in GB. The smallest allowed disk size is 10GB. Defaults to 100GB. This is being migrated to `boot_disk.size_gb`, and must match if specified in both places.
10912
+ Prefer configuring `boot_disk`.
10791
10913
  :param _builtins.str disk_type: Type of the disk attached to each node
10792
- (e.g. 'pd-standard', 'pd-balanced' or 'pd-ssd'). If unspecified, the default disk type is 'pd-balanced'
10914
+ (e.g. 'pd-standard', 'pd-balanced' or 'pd-ssd'). If unspecified, the default disk type is 'pd-balanced' This is being migrated to `boot_disk.disk_type`, and must match if specified in both places. Prefer configuring `boot_disk`.
10793
10915
  :param Sequence['ClusterNodePoolNodeConfigEffectiveTaintArgs'] effective_taints: List of kubernetes taints applied to each node. Structure is documented above.
10794
10916
  :param _builtins.bool enable_confidential_storage: Enabling Confidential Storage will create boot disk with confidential mode. It is disabled by default.
10795
10917
  :param 'ClusterNodePoolNodeConfigEphemeralStorageConfigArgs' ephemeral_storage_config: Parameters for the ephemeral storage filesystem. If unspecified, ephemeral storage is backed by the boot disk. Structure is documented below.
@@ -10890,6 +11012,8 @@ class ClusterNodePoolNodeConfig(dict):
10890
11012
  """
10891
11013
  if advanced_machine_features is not None:
10892
11014
  pulumi.set(__self__, "advanced_machine_features", advanced_machine_features)
11015
+ if boot_disk is not None:
11016
+ pulumi.set(__self__, "boot_disk", boot_disk)
10893
11017
  if boot_disk_kms_key is not None:
10894
11018
  pulumi.set(__self__, "boot_disk_kms_key", boot_disk_kms_key)
10895
11019
  if confidential_nodes is not None:
@@ -10988,6 +11112,14 @@ class ClusterNodePoolNodeConfig(dict):
10988
11112
  """
10989
11113
  return pulumi.get(self, "advanced_machine_features")
10990
11114
 
11115
+ @_builtins.property
11116
+ @pulumi.getter(name="bootDisk")
11117
+ def boot_disk(self) -> Optional['outputs.ClusterNodePoolNodeConfigBootDisk']:
11118
+ """
11119
+ Configuration of the node pool boot disk. Structure is documented below
11120
+ """
11121
+ return pulumi.get(self, "boot_disk")
11122
+
10991
11123
  @_builtins.property
10992
11124
  @pulumi.getter(name="bootDiskKmsKey")
10993
11125
  def boot_disk_kms_key(self) -> Optional[_builtins.str]:
@@ -11017,7 +11149,8 @@ class ClusterNodePoolNodeConfig(dict):
11017
11149
  def disk_size_gb(self) -> Optional[_builtins.int]:
11018
11150
  """
11019
11151
  Size of the disk attached to each node, specified
11020
- in GB. The smallest allowed disk size is 10GB. Defaults to 100GB.
11152
+ in GB. The smallest allowed disk size is 10GB. Defaults to 100GB. This is being migrated to `boot_disk.size_gb`, and must match if specified in both places.
11153
+ Prefer configuring `boot_disk`.
11021
11154
  """
11022
11155
  return pulumi.get(self, "disk_size_gb")
11023
11156
 
@@ -11026,7 +11159,7 @@ class ClusterNodePoolNodeConfig(dict):
11026
11159
  def disk_type(self) -> Optional[_builtins.str]:
11027
11160
  """
11028
11161
  Type of the disk attached to each node
11029
- (e.g. 'pd-standard', 'pd-balanced' or 'pd-ssd'). If unspecified, the default disk type is 'pd-balanced'
11162
+ (e.g. 'pd-standard', 'pd-balanced' or 'pd-ssd'). If unspecified, the default disk type is 'pd-balanced' This is being migrated to `boot_disk.disk_type`, and must match if specified in both places. Prefer configuring `boot_disk`.
11030
11163
  """
11031
11164
  return pulumi.get(self, "disk_type")
11032
11165
 
@@ -11464,6 +11597,88 @@ class ClusterNodePoolNodeConfigAdvancedMachineFeatures(dict):
11464
11597
  return pulumi.get(self, "performance_monitoring_unit")
11465
11598
 
11466
11599
 
11600
+ @pulumi.output_type
11601
+ class ClusterNodePoolNodeConfigBootDisk(dict):
11602
+ @staticmethod
11603
+ def __key_warning(key: str):
11604
+ suggest = None
11605
+ if key == "diskType":
11606
+ suggest = "disk_type"
11607
+ elif key == "provisionedIops":
11608
+ suggest = "provisioned_iops"
11609
+ elif key == "provisionedThroughput":
11610
+ suggest = "provisioned_throughput"
11611
+ elif key == "sizeGb":
11612
+ suggest = "size_gb"
11613
+
11614
+ if suggest:
11615
+ pulumi.log.warn(f"Key '{key}' not found in ClusterNodePoolNodeConfigBootDisk. Access the value via the '{suggest}' property getter instead.")
11616
+
11617
+ def __getitem__(self, key: str) -> Any:
11618
+ ClusterNodePoolNodeConfigBootDisk.__key_warning(key)
11619
+ return super().__getitem__(key)
11620
+
11621
+ def get(self, key: str, default = None) -> Any:
11622
+ ClusterNodePoolNodeConfigBootDisk.__key_warning(key)
11623
+ return super().get(key, default)
11624
+
11625
+ def __init__(__self__, *,
11626
+ disk_type: Optional[_builtins.str] = None,
11627
+ provisioned_iops: Optional[_builtins.int] = None,
11628
+ provisioned_throughput: Optional[_builtins.int] = None,
11629
+ size_gb: Optional[_builtins.int] = None):
11630
+ """
11631
+ :param _builtins.str disk_type: Type of the disk attached to each node
11632
+ (e.g. 'pd-standard', 'pd-balanced', 'pd-ssd', 'hyperdisk-balanced'). If unspecified, the default disk type is 'pd-balanced' This is being migrated from `node_config.disk_type`, and must match if specified in both places. Prefer using this field.
11633
+ :param _builtins.int provisioned_iops: Configure disk IOPs. This is only valid if the `disk_type` is 'hyperdisk-balanced'. See [performance limit documention](https://cloud.google.com/compute/docs/disks/hyperdisk-perf-limits) for more information about valid values.
11634
+ :param _builtins.int provisioned_throughput: Configure disk throughput. This is only valid if the `disk_type` is 'hyperdisk-balanced'. See [performance limit documention](https://cloud.google.com/compute/docs/disks/hyperdisk-perf-limits) for more information about valid values.
11635
+ :param _builtins.int size_gb: Size of the disk attached to each node, specified
11636
+ in GB. The smallest allowed disk size is 10GB. Defaults to 100GB. This is being migrated from `node_config.disk_size_gb`, and must match if specified in both places. Prefer using this field.
11637
+ """
11638
+ if disk_type is not None:
11639
+ pulumi.set(__self__, "disk_type", disk_type)
11640
+ if provisioned_iops is not None:
11641
+ pulumi.set(__self__, "provisioned_iops", provisioned_iops)
11642
+ if provisioned_throughput is not None:
11643
+ pulumi.set(__self__, "provisioned_throughput", provisioned_throughput)
11644
+ if size_gb is not None:
11645
+ pulumi.set(__self__, "size_gb", size_gb)
11646
+
11647
+ @_builtins.property
11648
+ @pulumi.getter(name="diskType")
11649
+ def disk_type(self) -> Optional[_builtins.str]:
11650
+ """
11651
+ Type of the disk attached to each node
11652
+ (e.g. 'pd-standard', 'pd-balanced', 'pd-ssd', 'hyperdisk-balanced'). If unspecified, the default disk type is 'pd-balanced' This is being migrated from `node_config.disk_type`, and must match if specified in both places. Prefer using this field.
11653
+ """
11654
+ return pulumi.get(self, "disk_type")
11655
+
11656
+ @_builtins.property
11657
+ @pulumi.getter(name="provisionedIops")
11658
+ def provisioned_iops(self) -> Optional[_builtins.int]:
11659
+ """
11660
+ Configure disk IOPs. This is only valid if the `disk_type` is 'hyperdisk-balanced'. See [performance limit documention](https://cloud.google.com/compute/docs/disks/hyperdisk-perf-limits) for more information about valid values.
11661
+ """
11662
+ return pulumi.get(self, "provisioned_iops")
11663
+
11664
+ @_builtins.property
11665
+ @pulumi.getter(name="provisionedThroughput")
11666
+ def provisioned_throughput(self) -> Optional[_builtins.int]:
11667
+ """
11668
+ Configure disk throughput. This is only valid if the `disk_type` is 'hyperdisk-balanced'. See [performance limit documention](https://cloud.google.com/compute/docs/disks/hyperdisk-perf-limits) for more information about valid values.
11669
+ """
11670
+ return pulumi.get(self, "provisioned_throughput")
11671
+
11672
+ @_builtins.property
11673
+ @pulumi.getter(name="sizeGb")
11674
+ def size_gb(self) -> Optional[_builtins.int]:
11675
+ """
11676
+ Size of the disk attached to each node, specified
11677
+ in GB. The smallest allowed disk size is 10GB. Defaults to 100GB. This is being migrated from `node_config.disk_size_gb`, and must match if specified in both places. Prefer using this field.
11678
+ """
11679
+ return pulumi.get(self, "size_gb")
11680
+
11681
+
11467
11682
  @pulumi.output_type
11468
11683
  class ClusterNodePoolNodeConfigConfidentialNodes(dict):
11469
11684
  @staticmethod
@@ -12109,6 +12324,8 @@ class ClusterNodePoolNodeConfigKubeletConfig(dict):
12109
12324
  suggest = "insecure_kubelet_readonly_port_enabled"
12110
12325
  elif key == "podPidsLimit":
12111
12326
  suggest = "pod_pids_limit"
12327
+ elif key == "singleProcessOomKill":
12328
+ suggest = "single_process_oom_kill"
12112
12329
 
12113
12330
  if suggest:
12114
12331
  pulumi.log.warn(f"Key '{key}' not found in ClusterNodePoolNodeConfigKubeletConfig. Access the value via the '{suggest}' property getter instead.")
@@ -12133,7 +12350,8 @@ class ClusterNodePoolNodeConfigKubeletConfig(dict):
12133
12350
  image_maximum_gc_age: Optional[_builtins.str] = None,
12134
12351
  image_minimum_gc_age: Optional[_builtins.str] = None,
12135
12352
  insecure_kubelet_readonly_port_enabled: Optional[_builtins.str] = None,
12136
- pod_pids_limit: Optional[_builtins.int] = None):
12353
+ pod_pids_limit: Optional[_builtins.int] = None,
12354
+ single_process_oom_kill: Optional[_builtins.bool] = None):
12137
12355
  """
12138
12356
  :param Sequence[_builtins.str] allowed_unsafe_sysctls: Defines a comma-separated allowlist of unsafe sysctls or sysctl patterns which can be set on the Pods. The allowed sysctl groups are `kernel.shm*`, `kernel.msg*`, `kernel.sem`, `fs.mqueue.*`, and `net.*`.
12139
12357
  :param _builtins.int container_log_max_files: Defines the maximum number of container log files that can be present for a container. The integer must be between 2 and 10, inclusive.
@@ -12159,6 +12377,7 @@ class ClusterNodePoolNodeConfigKubeletConfig(dict):
12159
12377
  :param _builtins.str image_minimum_gc_age: Defines the minimum age for an unused image before it is garbage collected. Specified as a sequence of decimal numbers, each with optional fraction and a unit suffix, such as `"300s"`, `"1.5m"`. The value cannot be greater than "2m".
12160
12378
  :param _builtins.str insecure_kubelet_readonly_port_enabled: Controls whether the kubelet read-only port is enabled. It is strongly recommended to set this to `FALSE`. Possible values: `TRUE`, `FALSE`.
12161
12379
  :param _builtins.int pod_pids_limit: Controls the maximum number of processes allowed to run in a pod. The value must be greater than or equal to 1024 and less than 4194304.
12380
+ :param _builtins.bool single_process_oom_kill: Defines whether to enable single process OOM killer. If true, the processes in the container will be OOM killed individually instead of as a group.
12162
12381
  """
12163
12382
  if allowed_unsafe_sysctls is not None:
12164
12383
  pulumi.set(__self__, "allowed_unsafe_sysctls", allowed_unsafe_sysctls)
@@ -12184,6 +12403,8 @@ class ClusterNodePoolNodeConfigKubeletConfig(dict):
12184
12403
  pulumi.set(__self__, "insecure_kubelet_readonly_port_enabled", insecure_kubelet_readonly_port_enabled)
12185
12404
  if pod_pids_limit is not None:
12186
12405
  pulumi.set(__self__, "pod_pids_limit", pod_pids_limit)
12406
+ if single_process_oom_kill is not None:
12407
+ pulumi.set(__self__, "single_process_oom_kill", single_process_oom_kill)
12187
12408
 
12188
12409
  @_builtins.property
12189
12410
  @pulumi.getter(name="allowedUnsafeSysctls")
@@ -12293,6 +12514,14 @@ class ClusterNodePoolNodeConfigKubeletConfig(dict):
12293
12514
  """
12294
12515
  return pulumi.get(self, "pod_pids_limit")
12295
12516
 
12517
+ @_builtins.property
12518
+ @pulumi.getter(name="singleProcessOomKill")
12519
+ def single_process_oom_kill(self) -> Optional[_builtins.bool]:
12520
+ """
12521
+ Defines whether to enable single process OOM killer. If true, the processes in the container will be OOM killed individually instead of as a group.
12522
+ """
12523
+ return pulumi.get(self, "single_process_oom_kill")
12524
+
12296
12525
 
12297
12526
  @pulumi.output_type
12298
12527
  class ClusterNodePoolNodeConfigLinuxNodeConfig(dict):
@@ -14638,6 +14867,8 @@ class NodePoolNodeConfig(dict):
14638
14867
  suggest = None
14639
14868
  if key == "advancedMachineFeatures":
14640
14869
  suggest = "advanced_machine_features"
14870
+ elif key == "bootDisk":
14871
+ suggest = "boot_disk"
14641
14872
  elif key == "bootDiskKmsKey":
14642
14873
  suggest = "boot_disk_kms_key"
14643
14874
  elif key == "confidentialNodes":
@@ -14726,6 +14957,7 @@ class NodePoolNodeConfig(dict):
14726
14957
 
14727
14958
  def __init__(__self__, *,
14728
14959
  advanced_machine_features: Optional['outputs.NodePoolNodeConfigAdvancedMachineFeatures'] = None,
14960
+ boot_disk: Optional['outputs.NodePoolNodeConfigBootDisk'] = None,
14729
14961
  boot_disk_kms_key: Optional[_builtins.str] = None,
14730
14962
  confidential_nodes: Optional['outputs.NodePoolNodeConfigConfidentialNodes'] = None,
14731
14963
  containerd_config: Optional['outputs.NodePoolNodeConfigContainerdConfig'] = None,
@@ -14772,6 +15004,7 @@ class NodePoolNodeConfig(dict):
14772
15004
  workload_metadata_config: Optional['outputs.NodePoolNodeConfigWorkloadMetadataConfig'] = None):
14773
15005
  """
14774
15006
  :param 'NodePoolNodeConfigAdvancedMachineFeaturesArgs' advanced_machine_features: Specifies options for controlling advanced machine features.
15007
+ :param 'NodePoolNodeConfigBootDiskArgs' boot_disk: Boot disk configuration for node pools nodes.
14775
15008
  :param _builtins.str boot_disk_kms_key: The Customer Managed Encryption Key used to encrypt the boot disk attached to each node in the node pool.
14776
15009
  :param 'NodePoolNodeConfigConfidentialNodesArgs' confidential_nodes: Configuration for the confidential nodes feature, which makes nodes run on confidential VMs.
14777
15010
  :param 'NodePoolNodeConfigContainerdConfigArgs' containerd_config: Parameters for containerd configuration.
@@ -14819,6 +15052,8 @@ class NodePoolNodeConfig(dict):
14819
15052
  """
14820
15053
  if advanced_machine_features is not None:
14821
15054
  pulumi.set(__self__, "advanced_machine_features", advanced_machine_features)
15055
+ if boot_disk is not None:
15056
+ pulumi.set(__self__, "boot_disk", boot_disk)
14822
15057
  if boot_disk_kms_key is not None:
14823
15058
  pulumi.set(__self__, "boot_disk_kms_key", boot_disk_kms_key)
14824
15059
  if confidential_nodes is not None:
@@ -14916,6 +15151,14 @@ class NodePoolNodeConfig(dict):
14916
15151
  """
14917
15152
  return pulumi.get(self, "advanced_machine_features")
14918
15153
 
15154
+ @_builtins.property
15155
+ @pulumi.getter(name="bootDisk")
15156
+ def boot_disk(self) -> Optional['outputs.NodePoolNodeConfigBootDisk']:
15157
+ """
15158
+ Boot disk configuration for node pools nodes.
15159
+ """
15160
+ return pulumi.get(self, "boot_disk")
15161
+
14919
15162
  @_builtins.property
14920
15163
  @pulumi.getter(name="bootDiskKmsKey")
14921
15164
  def boot_disk_kms_key(self) -> Optional[_builtins.str]:
@@ -15332,6 +15575,84 @@ class NodePoolNodeConfigAdvancedMachineFeatures(dict):
15332
15575
  return pulumi.get(self, "performance_monitoring_unit")
15333
15576
 
15334
15577
 
15578
+ @pulumi.output_type
15579
+ class NodePoolNodeConfigBootDisk(dict):
15580
+ @staticmethod
15581
+ def __key_warning(key: str):
15582
+ suggest = None
15583
+ if key == "diskType":
15584
+ suggest = "disk_type"
15585
+ elif key == "provisionedIops":
15586
+ suggest = "provisioned_iops"
15587
+ elif key == "provisionedThroughput":
15588
+ suggest = "provisioned_throughput"
15589
+ elif key == "sizeGb":
15590
+ suggest = "size_gb"
15591
+
15592
+ if suggest:
15593
+ pulumi.log.warn(f"Key '{key}' not found in NodePoolNodeConfigBootDisk. Access the value via the '{suggest}' property getter instead.")
15594
+
15595
+ def __getitem__(self, key: str) -> Any:
15596
+ NodePoolNodeConfigBootDisk.__key_warning(key)
15597
+ return super().__getitem__(key)
15598
+
15599
+ def get(self, key: str, default = None) -> Any:
15600
+ NodePoolNodeConfigBootDisk.__key_warning(key)
15601
+ return super().get(key, default)
15602
+
15603
+ def __init__(__self__, *,
15604
+ disk_type: Optional[_builtins.str] = None,
15605
+ provisioned_iops: Optional[_builtins.int] = None,
15606
+ provisioned_throughput: Optional[_builtins.int] = None,
15607
+ size_gb: Optional[_builtins.int] = None):
15608
+ """
15609
+ :param _builtins.str disk_type: Type of the disk attached to each node. Such as pd-standard, pd-balanced or pd-ssd
15610
+ :param _builtins.int provisioned_iops: Configured IOPs provisioning. Only valid with disk type hyperdisk-balanced.
15611
+ :param _builtins.int provisioned_throughput: Configured throughput provisioning. Only valid with disk type hyperdisk-balanced.
15612
+ :param _builtins.int size_gb: Size of the disk attached to each node, specified in GB. The smallest allowed disk size is 10GB.
15613
+ """
15614
+ if disk_type is not None:
15615
+ pulumi.set(__self__, "disk_type", disk_type)
15616
+ if provisioned_iops is not None:
15617
+ pulumi.set(__self__, "provisioned_iops", provisioned_iops)
15618
+ if provisioned_throughput is not None:
15619
+ pulumi.set(__self__, "provisioned_throughput", provisioned_throughput)
15620
+ if size_gb is not None:
15621
+ pulumi.set(__self__, "size_gb", size_gb)
15622
+
15623
+ @_builtins.property
15624
+ @pulumi.getter(name="diskType")
15625
+ def disk_type(self) -> Optional[_builtins.str]:
15626
+ """
15627
+ Type of the disk attached to each node. Such as pd-standard, pd-balanced or pd-ssd
15628
+ """
15629
+ return pulumi.get(self, "disk_type")
15630
+
15631
+ @_builtins.property
15632
+ @pulumi.getter(name="provisionedIops")
15633
+ def provisioned_iops(self) -> Optional[_builtins.int]:
15634
+ """
15635
+ Configured IOPs provisioning. Only valid with disk type hyperdisk-balanced.
15636
+ """
15637
+ return pulumi.get(self, "provisioned_iops")
15638
+
15639
+ @_builtins.property
15640
+ @pulumi.getter(name="provisionedThroughput")
15641
+ def provisioned_throughput(self) -> Optional[_builtins.int]:
15642
+ """
15643
+ Configured throughput provisioning. Only valid with disk type hyperdisk-balanced.
15644
+ """
15645
+ return pulumi.get(self, "provisioned_throughput")
15646
+
15647
+ @_builtins.property
15648
+ @pulumi.getter(name="sizeGb")
15649
+ def size_gb(self) -> Optional[_builtins.int]:
15650
+ """
15651
+ Size of the disk attached to each node, specified in GB. The smallest allowed disk size is 10GB.
15652
+ """
15653
+ return pulumi.get(self, "size_gb")
15654
+
15655
+
15335
15656
  @pulumi.output_type
15336
15657
  class NodePoolNodeConfigConfidentialNodes(dict):
15337
15658
  @staticmethod
@@ -15957,6 +16278,8 @@ class NodePoolNodeConfigKubeletConfig(dict):
15957
16278
  suggest = "insecure_kubelet_readonly_port_enabled"
15958
16279
  elif key == "podPidsLimit":
15959
16280
  suggest = "pod_pids_limit"
16281
+ elif key == "singleProcessOomKill":
16282
+ suggest = "single_process_oom_kill"
15960
16283
 
15961
16284
  if suggest:
15962
16285
  pulumi.log.warn(f"Key '{key}' not found in NodePoolNodeConfigKubeletConfig. Access the value via the '{suggest}' property getter instead.")
@@ -15981,7 +16304,8 @@ class NodePoolNodeConfigKubeletConfig(dict):
15981
16304
  image_maximum_gc_age: Optional[_builtins.str] = None,
15982
16305
  image_minimum_gc_age: Optional[_builtins.str] = None,
15983
16306
  insecure_kubelet_readonly_port_enabled: Optional[_builtins.str] = None,
15984
- pod_pids_limit: Optional[_builtins.int] = None):
16307
+ pod_pids_limit: Optional[_builtins.int] = None,
16308
+ single_process_oom_kill: Optional[_builtins.bool] = None):
15985
16309
  """
15986
16310
  :param Sequence[_builtins.str] allowed_unsafe_sysctls: Defines a comma-separated allowlist of unsafe sysctls or sysctl patterns which can be set on the Pods.
15987
16311
  :param _builtins.int container_log_max_files: Defines the maximum number of container log files that can be present for a container.
@@ -15995,6 +16319,7 @@ class NodePoolNodeConfigKubeletConfig(dict):
15995
16319
  :param _builtins.str image_minimum_gc_age: Defines the minimum age for an unused image before it is garbage collected.
15996
16320
  :param _builtins.str insecure_kubelet_readonly_port_enabled: Controls whether the kubelet read-only port is enabled. It is strongly recommended to set this to `FALSE`. Possible values: `TRUE`, `FALSE`.
15997
16321
  :param _builtins.int pod_pids_limit: Controls the maximum number of processes allowed to run in a pod.
16322
+ :param _builtins.bool single_process_oom_kill: Defines whether to enable single process OOM killer.
15998
16323
  """
15999
16324
  if allowed_unsafe_sysctls is not None:
16000
16325
  pulumi.set(__self__, "allowed_unsafe_sysctls", allowed_unsafe_sysctls)
@@ -16020,6 +16345,8 @@ class NodePoolNodeConfigKubeletConfig(dict):
16020
16345
  pulumi.set(__self__, "insecure_kubelet_readonly_port_enabled", insecure_kubelet_readonly_port_enabled)
16021
16346
  if pod_pids_limit is not None:
16022
16347
  pulumi.set(__self__, "pod_pids_limit", pod_pids_limit)
16348
+ if single_process_oom_kill is not None:
16349
+ pulumi.set(__self__, "single_process_oom_kill", single_process_oom_kill)
16023
16350
 
16024
16351
  @_builtins.property
16025
16352
  @pulumi.getter(name="allowedUnsafeSysctls")
@@ -16117,6 +16444,14 @@ class NodePoolNodeConfigKubeletConfig(dict):
16117
16444
  """
16118
16445
  return pulumi.get(self, "pod_pids_limit")
16119
16446
 
16447
+ @_builtins.property
16448
+ @pulumi.getter(name="singleProcessOomKill")
16449
+ def single_process_oom_kill(self) -> Optional[_builtins.bool]:
16450
+ """
16451
+ Defines whether to enable single process OOM killer.
16452
+ """
16453
+ return pulumi.get(self, "single_process_oom_kill")
16454
+
16120
16455
 
16121
16456
  @pulumi.output_type
16122
16457
  class NodePoolNodeConfigLinuxNodeConfig(dict):
@@ -18938,6 +19273,7 @@ class GetClusterNodeConfigResult(dict):
18938
19273
  def __init__(__self__, *,
18939
19274
  advanced_machine_features: Sequence['outputs.GetClusterNodeConfigAdvancedMachineFeatureResult'],
18940
19275
  boot_disk_kms_key: _builtins.str,
19276
+ boot_disks: Sequence['outputs.GetClusterNodeConfigBootDiskResult'],
18941
19277
  confidential_nodes: Sequence['outputs.GetClusterNodeConfigConfidentialNodeResult'],
18942
19278
  containerd_configs: Sequence['outputs.GetClusterNodeConfigContainerdConfigResult'],
18943
19279
  disk_size_gb: _builtins.int,
@@ -18984,6 +19320,7 @@ class GetClusterNodeConfigResult(dict):
18984
19320
  """
18985
19321
  :param Sequence['GetClusterNodeConfigAdvancedMachineFeatureArgs'] advanced_machine_features: Specifies options for controlling advanced machine features.
18986
19322
  :param _builtins.str boot_disk_kms_key: The Customer Managed Encryption Key used to encrypt the boot disk attached to each node in the node pool.
19323
+ :param Sequence['GetClusterNodeConfigBootDiskArgs'] boot_disks: Boot disk configuration for node pools nodes.
18987
19324
  :param Sequence['GetClusterNodeConfigConfidentialNodeArgs'] confidential_nodes: Configuration for the confidential nodes feature, which makes nodes run on confidential VMs.
18988
19325
  :param Sequence['GetClusterNodeConfigContainerdConfigArgs'] containerd_configs: Parameters for containerd configuration.
18989
19326
  :param _builtins.int disk_size_gb: Size of the disk attached to each node, specified in GB. The smallest allowed disk size is 10GB.
@@ -19030,6 +19367,7 @@ class GetClusterNodeConfigResult(dict):
19030
19367
  """
19031
19368
  pulumi.set(__self__, "advanced_machine_features", advanced_machine_features)
19032
19369
  pulumi.set(__self__, "boot_disk_kms_key", boot_disk_kms_key)
19370
+ pulumi.set(__self__, "boot_disks", boot_disks)
19033
19371
  pulumi.set(__self__, "confidential_nodes", confidential_nodes)
19034
19372
  pulumi.set(__self__, "containerd_configs", containerd_configs)
19035
19373
  pulumi.set(__self__, "disk_size_gb", disk_size_gb)
@@ -19090,6 +19428,14 @@ class GetClusterNodeConfigResult(dict):
19090
19428
  """
19091
19429
  return pulumi.get(self, "boot_disk_kms_key")
19092
19430
 
19431
+ @_builtins.property
19432
+ @pulumi.getter(name="bootDisks")
19433
+ def boot_disks(self) -> Sequence['outputs.GetClusterNodeConfigBootDiskResult']:
19434
+ """
19435
+ Boot disk configuration for node pools nodes.
19436
+ """
19437
+ return pulumi.get(self, "boot_disks")
19438
+
19093
19439
  @_builtins.property
19094
19440
  @pulumi.getter(name="confidentialNodes")
19095
19441
  def confidential_nodes(self) -> Sequence['outputs.GetClusterNodeConfigConfidentialNodeResult']:
@@ -19475,6 +19821,57 @@ class GetClusterNodeConfigAdvancedMachineFeatureResult(dict):
19475
19821
  return pulumi.get(self, "threads_per_core")
19476
19822
 
19477
19823
 
19824
+ @pulumi.output_type
19825
+ class GetClusterNodeConfigBootDiskResult(dict):
19826
+ def __init__(__self__, *,
19827
+ disk_type: _builtins.str,
19828
+ provisioned_iops: _builtins.int,
19829
+ provisioned_throughput: _builtins.int,
19830
+ size_gb: _builtins.int):
19831
+ """
19832
+ :param _builtins.str disk_type: Type of the disk attached to each node. Such as pd-standard, pd-balanced or pd-ssd
19833
+ :param _builtins.int provisioned_iops: Configured IOPs provisioning. Only valid with disk type hyperdisk-balanced.
19834
+ :param _builtins.int provisioned_throughput: Configured throughput provisioning. Only valid with disk type hyperdisk-balanced.
19835
+ :param _builtins.int size_gb: Size of the disk attached to each node, specified in GB. The smallest allowed disk size is 10GB.
19836
+ """
19837
+ pulumi.set(__self__, "disk_type", disk_type)
19838
+ pulumi.set(__self__, "provisioned_iops", provisioned_iops)
19839
+ pulumi.set(__self__, "provisioned_throughput", provisioned_throughput)
19840
+ pulumi.set(__self__, "size_gb", size_gb)
19841
+
19842
+ @_builtins.property
19843
+ @pulumi.getter(name="diskType")
19844
+ def disk_type(self) -> _builtins.str:
19845
+ """
19846
+ Type of the disk attached to each node. Such as pd-standard, pd-balanced or pd-ssd
19847
+ """
19848
+ return pulumi.get(self, "disk_type")
19849
+
19850
+ @_builtins.property
19851
+ @pulumi.getter(name="provisionedIops")
19852
+ def provisioned_iops(self) -> _builtins.int:
19853
+ """
19854
+ Configured IOPs provisioning. Only valid with disk type hyperdisk-balanced.
19855
+ """
19856
+ return pulumi.get(self, "provisioned_iops")
19857
+
19858
+ @_builtins.property
19859
+ @pulumi.getter(name="provisionedThroughput")
19860
+ def provisioned_throughput(self) -> _builtins.int:
19861
+ """
19862
+ Configured throughput provisioning. Only valid with disk type hyperdisk-balanced.
19863
+ """
19864
+ return pulumi.get(self, "provisioned_throughput")
19865
+
19866
+ @_builtins.property
19867
+ @pulumi.getter(name="sizeGb")
19868
+ def size_gb(self) -> _builtins.int:
19869
+ """
19870
+ Size of the disk attached to each node, specified in GB. The smallest allowed disk size is 10GB.
19871
+ """
19872
+ return pulumi.get(self, "size_gb")
19873
+
19874
+
19478
19875
  @pulumi.output_type
19479
19876
  class GetClusterNodeConfigConfidentialNodeResult(dict):
19480
19877
  def __init__(__self__, *,
@@ -19880,7 +20277,8 @@ class GetClusterNodeConfigKubeletConfigResult(dict):
19880
20277
  image_maximum_gc_age: _builtins.str,
19881
20278
  image_minimum_gc_age: _builtins.str,
19882
20279
  insecure_kubelet_readonly_port_enabled: _builtins.str,
19883
- pod_pids_limit: _builtins.int):
20280
+ pod_pids_limit: _builtins.int,
20281
+ single_process_oom_kill: _builtins.bool):
19884
20282
  """
19885
20283
  :param Sequence[_builtins.str] allowed_unsafe_sysctls: Defines a comma-separated allowlist of unsafe sysctls or sysctl patterns which can be set on the Pods.
19886
20284
  :param _builtins.int container_log_max_files: Defines the maximum number of container log files that can be present for a container.
@@ -19894,6 +20292,7 @@ class GetClusterNodeConfigKubeletConfigResult(dict):
19894
20292
  :param _builtins.str image_minimum_gc_age: Defines the minimum age for an unused image before it is garbage collected.
19895
20293
  :param _builtins.str insecure_kubelet_readonly_port_enabled: Controls whether the kubelet read-only port is enabled. It is strongly recommended to set this to `FALSE`. Possible values: `TRUE`, `FALSE`.
19896
20294
  :param _builtins.int pod_pids_limit: Controls the maximum number of processes allowed to run in a pod.
20295
+ :param _builtins.bool single_process_oom_kill: Defines whether to enable single process OOM killer.
19897
20296
  """
19898
20297
  pulumi.set(__self__, "allowed_unsafe_sysctls", allowed_unsafe_sysctls)
19899
20298
  pulumi.set(__self__, "container_log_max_files", container_log_max_files)
@@ -19907,6 +20306,7 @@ class GetClusterNodeConfigKubeletConfigResult(dict):
19907
20306
  pulumi.set(__self__, "image_minimum_gc_age", image_minimum_gc_age)
19908
20307
  pulumi.set(__self__, "insecure_kubelet_readonly_port_enabled", insecure_kubelet_readonly_port_enabled)
19909
20308
  pulumi.set(__self__, "pod_pids_limit", pod_pids_limit)
20309
+ pulumi.set(__self__, "single_process_oom_kill", single_process_oom_kill)
19910
20310
 
19911
20311
  @_builtins.property
19912
20312
  @pulumi.getter(name="allowedUnsafeSysctls")
@@ -20004,6 +20404,14 @@ class GetClusterNodeConfigKubeletConfigResult(dict):
20004
20404
  """
20005
20405
  return pulumi.get(self, "pod_pids_limit")
20006
20406
 
20407
+ @_builtins.property
20408
+ @pulumi.getter(name="singleProcessOomKill")
20409
+ def single_process_oom_kill(self) -> _builtins.bool:
20410
+ """
20411
+ Defines whether to enable single process OOM killer.
20412
+ """
20413
+ return pulumi.get(self, "single_process_oom_kill")
20414
+
20007
20415
 
20008
20416
  @pulumi.output_type
20009
20417
  class GetClusterNodeConfigLinuxNodeConfigResult(dict):
@@ -21108,6 +21516,7 @@ class GetClusterNodePoolNodeConfigResult(dict):
21108
21516
  def __init__(__self__, *,
21109
21517
  advanced_machine_features: Sequence['outputs.GetClusterNodePoolNodeConfigAdvancedMachineFeatureResult'],
21110
21518
  boot_disk_kms_key: _builtins.str,
21519
+ boot_disks: Sequence['outputs.GetClusterNodePoolNodeConfigBootDiskResult'],
21111
21520
  confidential_nodes: Sequence['outputs.GetClusterNodePoolNodeConfigConfidentialNodeResult'],
21112
21521
  containerd_configs: Sequence['outputs.GetClusterNodePoolNodeConfigContainerdConfigResult'],
21113
21522
  disk_size_gb: _builtins.int,
@@ -21154,6 +21563,7 @@ class GetClusterNodePoolNodeConfigResult(dict):
21154
21563
  """
21155
21564
  :param Sequence['GetClusterNodePoolNodeConfigAdvancedMachineFeatureArgs'] advanced_machine_features: Specifies options for controlling advanced machine features.
21156
21565
  :param _builtins.str boot_disk_kms_key: The Customer Managed Encryption Key used to encrypt the boot disk attached to each node in the node pool.
21566
+ :param Sequence['GetClusterNodePoolNodeConfigBootDiskArgs'] boot_disks: Boot disk configuration for node pools nodes.
21157
21567
  :param Sequence['GetClusterNodePoolNodeConfigConfidentialNodeArgs'] confidential_nodes: Configuration for the confidential nodes feature, which makes nodes run on confidential VMs.
21158
21568
  :param Sequence['GetClusterNodePoolNodeConfigContainerdConfigArgs'] containerd_configs: Parameters for containerd configuration.
21159
21569
  :param _builtins.int disk_size_gb: Size of the disk attached to each node, specified in GB. The smallest allowed disk size is 10GB.
@@ -21200,6 +21610,7 @@ class GetClusterNodePoolNodeConfigResult(dict):
21200
21610
  """
21201
21611
  pulumi.set(__self__, "advanced_machine_features", advanced_machine_features)
21202
21612
  pulumi.set(__self__, "boot_disk_kms_key", boot_disk_kms_key)
21613
+ pulumi.set(__self__, "boot_disks", boot_disks)
21203
21614
  pulumi.set(__self__, "confidential_nodes", confidential_nodes)
21204
21615
  pulumi.set(__self__, "containerd_configs", containerd_configs)
21205
21616
  pulumi.set(__self__, "disk_size_gb", disk_size_gb)
@@ -21260,6 +21671,14 @@ class GetClusterNodePoolNodeConfigResult(dict):
21260
21671
  """
21261
21672
  return pulumi.get(self, "boot_disk_kms_key")
21262
21673
 
21674
+ @_builtins.property
21675
+ @pulumi.getter(name="bootDisks")
21676
+ def boot_disks(self) -> Sequence['outputs.GetClusterNodePoolNodeConfigBootDiskResult']:
21677
+ """
21678
+ Boot disk configuration for node pools nodes.
21679
+ """
21680
+ return pulumi.get(self, "boot_disks")
21681
+
21263
21682
  @_builtins.property
21264
21683
  @pulumi.getter(name="confidentialNodes")
21265
21684
  def confidential_nodes(self) -> Sequence['outputs.GetClusterNodePoolNodeConfigConfidentialNodeResult']:
@@ -21645,6 +22064,57 @@ class GetClusterNodePoolNodeConfigAdvancedMachineFeatureResult(dict):
21645
22064
  return pulumi.get(self, "threads_per_core")
21646
22065
 
21647
22066
 
22067
+ @pulumi.output_type
22068
+ class GetClusterNodePoolNodeConfigBootDiskResult(dict):
22069
+ def __init__(__self__, *,
22070
+ disk_type: _builtins.str,
22071
+ provisioned_iops: _builtins.int,
22072
+ provisioned_throughput: _builtins.int,
22073
+ size_gb: _builtins.int):
22074
+ """
22075
+ :param _builtins.str disk_type: Type of the disk attached to each node. Such as pd-standard, pd-balanced or pd-ssd
22076
+ :param _builtins.int provisioned_iops: Configured IOPs provisioning. Only valid with disk type hyperdisk-balanced.
22077
+ :param _builtins.int provisioned_throughput: Configured throughput provisioning. Only valid with disk type hyperdisk-balanced.
22078
+ :param _builtins.int size_gb: Size of the disk attached to each node, specified in GB. The smallest allowed disk size is 10GB.
22079
+ """
22080
+ pulumi.set(__self__, "disk_type", disk_type)
22081
+ pulumi.set(__self__, "provisioned_iops", provisioned_iops)
22082
+ pulumi.set(__self__, "provisioned_throughput", provisioned_throughput)
22083
+ pulumi.set(__self__, "size_gb", size_gb)
22084
+
22085
+ @_builtins.property
22086
+ @pulumi.getter(name="diskType")
22087
+ def disk_type(self) -> _builtins.str:
22088
+ """
22089
+ Type of the disk attached to each node. Such as pd-standard, pd-balanced or pd-ssd
22090
+ """
22091
+ return pulumi.get(self, "disk_type")
22092
+
22093
+ @_builtins.property
22094
+ @pulumi.getter(name="provisionedIops")
22095
+ def provisioned_iops(self) -> _builtins.int:
22096
+ """
22097
+ Configured IOPs provisioning. Only valid with disk type hyperdisk-balanced.
22098
+ """
22099
+ return pulumi.get(self, "provisioned_iops")
22100
+
22101
+ @_builtins.property
22102
+ @pulumi.getter(name="provisionedThroughput")
22103
+ def provisioned_throughput(self) -> _builtins.int:
22104
+ """
22105
+ Configured throughput provisioning. Only valid with disk type hyperdisk-balanced.
22106
+ """
22107
+ return pulumi.get(self, "provisioned_throughput")
22108
+
22109
+ @_builtins.property
22110
+ @pulumi.getter(name="sizeGb")
22111
+ def size_gb(self) -> _builtins.int:
22112
+ """
22113
+ Size of the disk attached to each node, specified in GB. The smallest allowed disk size is 10GB.
22114
+ """
22115
+ return pulumi.get(self, "size_gb")
22116
+
22117
+
21648
22118
  @pulumi.output_type
21649
22119
  class GetClusterNodePoolNodeConfigConfidentialNodeResult(dict):
21650
22120
  def __init__(__self__, *,
@@ -22050,7 +22520,8 @@ class GetClusterNodePoolNodeConfigKubeletConfigResult(dict):
22050
22520
  image_maximum_gc_age: _builtins.str,
22051
22521
  image_minimum_gc_age: _builtins.str,
22052
22522
  insecure_kubelet_readonly_port_enabled: _builtins.str,
22053
- pod_pids_limit: _builtins.int):
22523
+ pod_pids_limit: _builtins.int,
22524
+ single_process_oom_kill: _builtins.bool):
22054
22525
  """
22055
22526
  :param Sequence[_builtins.str] allowed_unsafe_sysctls: Defines a comma-separated allowlist of unsafe sysctls or sysctl patterns which can be set on the Pods.
22056
22527
  :param _builtins.int container_log_max_files: Defines the maximum number of container log files that can be present for a container.
@@ -22064,6 +22535,7 @@ class GetClusterNodePoolNodeConfigKubeletConfigResult(dict):
22064
22535
  :param _builtins.str image_minimum_gc_age: Defines the minimum age for an unused image before it is garbage collected.
22065
22536
  :param _builtins.str insecure_kubelet_readonly_port_enabled: Controls whether the kubelet read-only port is enabled. It is strongly recommended to set this to `FALSE`. Possible values: `TRUE`, `FALSE`.
22066
22537
  :param _builtins.int pod_pids_limit: Controls the maximum number of processes allowed to run in a pod.
22538
+ :param _builtins.bool single_process_oom_kill: Defines whether to enable single process OOM killer.
22067
22539
  """
22068
22540
  pulumi.set(__self__, "allowed_unsafe_sysctls", allowed_unsafe_sysctls)
22069
22541
  pulumi.set(__self__, "container_log_max_files", container_log_max_files)
@@ -22077,6 +22549,7 @@ class GetClusterNodePoolNodeConfigKubeletConfigResult(dict):
22077
22549
  pulumi.set(__self__, "image_minimum_gc_age", image_minimum_gc_age)
22078
22550
  pulumi.set(__self__, "insecure_kubelet_readonly_port_enabled", insecure_kubelet_readonly_port_enabled)
22079
22551
  pulumi.set(__self__, "pod_pids_limit", pod_pids_limit)
22552
+ pulumi.set(__self__, "single_process_oom_kill", single_process_oom_kill)
22080
22553
 
22081
22554
  @_builtins.property
22082
22555
  @pulumi.getter(name="allowedUnsafeSysctls")
@@ -22174,6 +22647,14 @@ class GetClusterNodePoolNodeConfigKubeletConfigResult(dict):
22174
22647
  """
22175
22648
  return pulumi.get(self, "pod_pids_limit")
22176
22649
 
22650
+ @_builtins.property
22651
+ @pulumi.getter(name="singleProcessOomKill")
22652
+ def single_process_oom_kill(self) -> _builtins.bool:
22653
+ """
22654
+ Defines whether to enable single process OOM killer.
22655
+ """
22656
+ return pulumi.get(self, "single_process_oom_kill")
22657
+
22177
22658
 
22178
22659
  @pulumi.output_type
22179
22660
  class GetClusterNodePoolNodeConfigLinuxNodeConfigResult(dict):