pulumi-gcp 8.41.0a1755408441__py3-none-any.whl → 8.41.0a1755714744__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.0a1755408441.dist-info → pulumi_gcp-8.41.0a1755714744.dist-info}/METADATA +1 -1
  40. {pulumi_gcp-8.41.0a1755408441.dist-info → pulumi_gcp-8.41.0a1755714744.dist-info}/RECORD +42 -37
  41. {pulumi_gcp-8.41.0a1755408441.dist-info → pulumi_gcp-8.41.0a1755714744.dist-info}/WHEEL +0 -0
  42. {pulumi_gcp-8.41.0a1755408441.dist-info → pulumi_gcp-8.41.0a1755714744.dist-info}/top_level.txt +0 -0
@@ -291,6 +291,8 @@ __all__ = [
291
291
  'ClusterNodeConfigArgsDict',
292
292
  'ClusterNodeConfigAdvancedMachineFeaturesArgs',
293
293
  'ClusterNodeConfigAdvancedMachineFeaturesArgsDict',
294
+ 'ClusterNodeConfigBootDiskArgs',
295
+ 'ClusterNodeConfigBootDiskArgsDict',
294
296
  'ClusterNodeConfigConfidentialNodesArgs',
295
297
  'ClusterNodeConfigConfidentialNodesArgsDict',
296
298
  'ClusterNodeConfigContainerdConfigArgs',
@@ -389,6 +391,8 @@ __all__ = [
389
391
  'ClusterNodePoolNodeConfigArgsDict',
390
392
  'ClusterNodePoolNodeConfigAdvancedMachineFeaturesArgs',
391
393
  'ClusterNodePoolNodeConfigAdvancedMachineFeaturesArgsDict',
394
+ 'ClusterNodePoolNodeConfigBootDiskArgs',
395
+ 'ClusterNodePoolNodeConfigBootDiskArgsDict',
392
396
  'ClusterNodePoolNodeConfigConfidentialNodesArgs',
393
397
  'ClusterNodePoolNodeConfigConfidentialNodesArgsDict',
394
398
  'ClusterNodePoolNodeConfigContainerdConfigArgs',
@@ -517,6 +521,8 @@ __all__ = [
517
521
  'NodePoolNodeConfigArgsDict',
518
522
  'NodePoolNodeConfigAdvancedMachineFeaturesArgs',
519
523
  'NodePoolNodeConfigAdvancedMachineFeaturesArgsDict',
524
+ 'NodePoolNodeConfigBootDiskArgs',
525
+ 'NodePoolNodeConfigBootDiskArgsDict',
520
526
  'NodePoolNodeConfigConfidentialNodesArgs',
521
527
  'NodePoolNodeConfigConfidentialNodesArgsDict',
522
528
  'NodePoolNodeConfigContainerdConfigArgs',
@@ -8782,6 +8788,10 @@ if not MYPY:
8782
8788
  Specifies options for controlling
8783
8789
  advanced machine features. Structure is documented below.
8784
8790
  """
8791
+ boot_disk: NotRequired[pulumi.Input['ClusterNodeConfigBootDiskArgsDict']]
8792
+ """
8793
+ Configuration of the node pool boot disk. Structure is documented below
8794
+ """
8785
8795
  boot_disk_kms_key: NotRequired[pulumi.Input[_builtins.str]]
8786
8796
  """
8787
8797
  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>
@@ -8797,12 +8807,13 @@ if not MYPY:
8797
8807
  disk_size_gb: NotRequired[pulumi.Input[_builtins.int]]
8798
8808
  """
8799
8809
  Size of the disk attached to each node, specified
8800
- in GB. The smallest allowed disk size is 10GB. Defaults to 100GB.
8810
+ 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.
8811
+ Prefer configuring `boot_disk`.
8801
8812
  """
8802
8813
  disk_type: NotRequired[pulumi.Input[_builtins.str]]
8803
8814
  """
8804
8815
  Type of the disk attached to each node
8805
- (e.g. 'pd-standard', 'pd-balanced' or 'pd-ssd'). If unspecified, the default disk type is 'pd-balanced'
8816
+ (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`.
8806
8817
  """
8807
8818
  effective_taints: NotRequired[pulumi.Input[Sequence[pulumi.Input['ClusterNodeConfigEffectiveTaintArgsDict']]]]
8808
8819
  """
@@ -9025,6 +9036,7 @@ elif False:
9025
9036
  class ClusterNodeConfigArgs:
9026
9037
  def __init__(__self__, *,
9027
9038
  advanced_machine_features: Optional[pulumi.Input['ClusterNodeConfigAdvancedMachineFeaturesArgs']] = None,
9039
+ boot_disk: Optional[pulumi.Input['ClusterNodeConfigBootDiskArgs']] = None,
9028
9040
  boot_disk_kms_key: Optional[pulumi.Input[_builtins.str]] = None,
9029
9041
  confidential_nodes: Optional[pulumi.Input['ClusterNodeConfigConfidentialNodesArgs']] = None,
9030
9042
  containerd_config: Optional[pulumi.Input['ClusterNodeConfigContainerdConfigArgs']] = None,
@@ -9072,13 +9084,15 @@ class ClusterNodeConfigArgs:
9072
9084
  """
9073
9085
  :param pulumi.Input['ClusterNodeConfigAdvancedMachineFeaturesArgs'] advanced_machine_features: Specifies options for controlling
9074
9086
  advanced machine features. Structure is documented below.
9087
+ :param pulumi.Input['ClusterNodeConfigBootDiskArgs'] boot_disk: Configuration of the node pool boot disk. Structure is documented below
9075
9088
  :param pulumi.Input[_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>
9076
9089
  :param pulumi.Input['ClusterNodeConfigConfidentialNodesArgs'] confidential_nodes: Configuration for Confidential Nodes feature. Structure is documented below.
9077
9090
  :param pulumi.Input['ClusterNodeConfigContainerdConfigArgs'] containerd_config: Parameters to customize containerd runtime. Structure is documented below.
9078
9091
  :param pulumi.Input[_builtins.int] disk_size_gb: Size of the disk attached to each node, specified
9079
- in GB. The smallest allowed disk size is 10GB. Defaults to 100GB.
9092
+ 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.
9093
+ Prefer configuring `boot_disk`.
9080
9094
  :param pulumi.Input[_builtins.str] disk_type: Type of the disk attached to each node
9081
- (e.g. 'pd-standard', 'pd-balanced' or 'pd-ssd'). If unspecified, the default disk type is 'pd-balanced'
9095
+ (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`.
9082
9096
  :param pulumi.Input[Sequence[pulumi.Input['ClusterNodeConfigEffectiveTaintArgs']]] effective_taints: List of kubernetes taints applied to each node. Structure is documented above.
9083
9097
  :param pulumi.Input[_builtins.bool] enable_confidential_storage: Enabling Confidential Storage will create boot disk with confidential mode. It is disabled by default.
9084
9098
  :param pulumi.Input['ClusterNodeConfigEphemeralStorageConfigArgs'] ephemeral_storage_config: Parameters for the ephemeral storage filesystem. If unspecified, ephemeral storage is backed by the boot disk. Structure is documented below.
@@ -9179,6 +9193,8 @@ class ClusterNodeConfigArgs:
9179
9193
  """
9180
9194
  if advanced_machine_features is not None:
9181
9195
  pulumi.set(__self__, "advanced_machine_features", advanced_machine_features)
9196
+ if boot_disk is not None:
9197
+ pulumi.set(__self__, "boot_disk", boot_disk)
9182
9198
  if boot_disk_kms_key is not None:
9183
9199
  pulumi.set(__self__, "boot_disk_kms_key", boot_disk_kms_key)
9184
9200
  if confidential_nodes is not None:
@@ -9281,6 +9297,18 @@ class ClusterNodeConfigArgs:
9281
9297
  def advanced_machine_features(self, value: Optional[pulumi.Input['ClusterNodeConfigAdvancedMachineFeaturesArgs']]):
9282
9298
  pulumi.set(self, "advanced_machine_features", value)
9283
9299
 
9300
+ @_builtins.property
9301
+ @pulumi.getter(name="bootDisk")
9302
+ def boot_disk(self) -> Optional[pulumi.Input['ClusterNodeConfigBootDiskArgs']]:
9303
+ """
9304
+ Configuration of the node pool boot disk. Structure is documented below
9305
+ """
9306
+ return pulumi.get(self, "boot_disk")
9307
+
9308
+ @boot_disk.setter
9309
+ def boot_disk(self, value: Optional[pulumi.Input['ClusterNodeConfigBootDiskArgs']]):
9310
+ pulumi.set(self, "boot_disk", value)
9311
+
9284
9312
  @_builtins.property
9285
9313
  @pulumi.getter(name="bootDiskKmsKey")
9286
9314
  def boot_disk_kms_key(self) -> Optional[pulumi.Input[_builtins.str]]:
@@ -9322,7 +9350,8 @@ class ClusterNodeConfigArgs:
9322
9350
  def disk_size_gb(self) -> Optional[pulumi.Input[_builtins.int]]:
9323
9351
  """
9324
9352
  Size of the disk attached to each node, specified
9325
- in GB. The smallest allowed disk size is 10GB. Defaults to 100GB.
9353
+ 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.
9354
+ Prefer configuring `boot_disk`.
9326
9355
  """
9327
9356
  return pulumi.get(self, "disk_size_gb")
9328
9357
 
@@ -9335,7 +9364,7 @@ class ClusterNodeConfigArgs:
9335
9364
  def disk_type(self) -> Optional[pulumi.Input[_builtins.str]]:
9336
9365
  """
9337
9366
  Type of the disk attached to each node
9338
- (e.g. 'pd-standard', 'pd-balanced' or 'pd-ssd'). If unspecified, the default disk type is 'pd-balanced'
9367
+ (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`.
9339
9368
  """
9340
9369
  return pulumi.get(self, "disk_type")
9341
9370
 
@@ -9941,6 +9970,104 @@ class ClusterNodeConfigAdvancedMachineFeaturesArgs:
9941
9970
  pulumi.set(self, "performance_monitoring_unit", value)
9942
9971
 
9943
9972
 
9973
+ if not MYPY:
9974
+ class ClusterNodeConfigBootDiskArgsDict(TypedDict):
9975
+ disk_type: NotRequired[pulumi.Input[_builtins.str]]
9976
+ """
9977
+ Type of the disk attached to each node
9978
+ (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.
9979
+ """
9980
+ provisioned_iops: NotRequired[pulumi.Input[_builtins.int]]
9981
+ """
9982
+ 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.
9983
+ """
9984
+ provisioned_throughput: NotRequired[pulumi.Input[_builtins.int]]
9985
+ """
9986
+ 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.
9987
+ """
9988
+ size_gb: NotRequired[pulumi.Input[_builtins.int]]
9989
+ """
9990
+ Size of the disk attached to each node, specified
9991
+ 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.
9992
+ """
9993
+ elif False:
9994
+ ClusterNodeConfigBootDiskArgsDict: TypeAlias = Mapping[str, Any]
9995
+
9996
+ @pulumi.input_type
9997
+ class ClusterNodeConfigBootDiskArgs:
9998
+ def __init__(__self__, *,
9999
+ disk_type: Optional[pulumi.Input[_builtins.str]] = None,
10000
+ provisioned_iops: Optional[pulumi.Input[_builtins.int]] = None,
10001
+ provisioned_throughput: Optional[pulumi.Input[_builtins.int]] = None,
10002
+ size_gb: Optional[pulumi.Input[_builtins.int]] = None):
10003
+ """
10004
+ :param pulumi.Input[_builtins.str] disk_type: Type of the disk attached to each node
10005
+ (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.
10006
+ :param pulumi.Input[_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.
10007
+ :param pulumi.Input[_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.
10008
+ :param pulumi.Input[_builtins.int] size_gb: Size of the disk attached to each node, specified
10009
+ 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.
10010
+ """
10011
+ if disk_type is not None:
10012
+ pulumi.set(__self__, "disk_type", disk_type)
10013
+ if provisioned_iops is not None:
10014
+ pulumi.set(__self__, "provisioned_iops", provisioned_iops)
10015
+ if provisioned_throughput is not None:
10016
+ pulumi.set(__self__, "provisioned_throughput", provisioned_throughput)
10017
+ if size_gb is not None:
10018
+ pulumi.set(__self__, "size_gb", size_gb)
10019
+
10020
+ @_builtins.property
10021
+ @pulumi.getter(name="diskType")
10022
+ def disk_type(self) -> Optional[pulumi.Input[_builtins.str]]:
10023
+ """
10024
+ Type of the disk attached to each node
10025
+ (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.
10026
+ """
10027
+ return pulumi.get(self, "disk_type")
10028
+
10029
+ @disk_type.setter
10030
+ def disk_type(self, value: Optional[pulumi.Input[_builtins.str]]):
10031
+ pulumi.set(self, "disk_type", value)
10032
+
10033
+ @_builtins.property
10034
+ @pulumi.getter(name="provisionedIops")
10035
+ def provisioned_iops(self) -> Optional[pulumi.Input[_builtins.int]]:
10036
+ """
10037
+ 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.
10038
+ """
10039
+ return pulumi.get(self, "provisioned_iops")
10040
+
10041
+ @provisioned_iops.setter
10042
+ def provisioned_iops(self, value: Optional[pulumi.Input[_builtins.int]]):
10043
+ pulumi.set(self, "provisioned_iops", value)
10044
+
10045
+ @_builtins.property
10046
+ @pulumi.getter(name="provisionedThroughput")
10047
+ def provisioned_throughput(self) -> Optional[pulumi.Input[_builtins.int]]:
10048
+ """
10049
+ 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.
10050
+ """
10051
+ return pulumi.get(self, "provisioned_throughput")
10052
+
10053
+ @provisioned_throughput.setter
10054
+ def provisioned_throughput(self, value: Optional[pulumi.Input[_builtins.int]]):
10055
+ pulumi.set(self, "provisioned_throughput", value)
10056
+
10057
+ @_builtins.property
10058
+ @pulumi.getter(name="sizeGb")
10059
+ def size_gb(self) -> Optional[pulumi.Input[_builtins.int]]:
10060
+ """
10061
+ Size of the disk attached to each node, specified
10062
+ 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.
10063
+ """
10064
+ return pulumi.get(self, "size_gb")
10065
+
10066
+ @size_gb.setter
10067
+ def size_gb(self, value: Optional[pulumi.Input[_builtins.int]]):
10068
+ pulumi.set(self, "size_gb", value)
10069
+
10070
+
9944
10071
  if not MYPY:
9945
10072
  class ClusterNodeConfigConfidentialNodesArgsDict(TypedDict):
9946
10073
  enabled: pulumi.Input[_builtins.bool]
@@ -10717,6 +10844,10 @@ if not MYPY:
10717
10844
  """
10718
10845
  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.
10719
10846
  """
10847
+ single_process_oom_kill: NotRequired[pulumi.Input[_builtins.bool]]
10848
+ """
10849
+ 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.
10850
+ """
10720
10851
  elif False:
10721
10852
  ClusterNodeConfigKubeletConfigArgsDict: TypeAlias = Mapping[str, Any]
10722
10853
 
@@ -10734,7 +10865,8 @@ class ClusterNodeConfigKubeletConfigArgs:
10734
10865
  image_maximum_gc_age: Optional[pulumi.Input[_builtins.str]] = None,
10735
10866
  image_minimum_gc_age: Optional[pulumi.Input[_builtins.str]] = None,
10736
10867
  insecure_kubelet_readonly_port_enabled: Optional[pulumi.Input[_builtins.str]] = None,
10737
- pod_pids_limit: Optional[pulumi.Input[_builtins.int]] = None):
10868
+ pod_pids_limit: Optional[pulumi.Input[_builtins.int]] = None,
10869
+ single_process_oom_kill: Optional[pulumi.Input[_builtins.bool]] = None):
10738
10870
  """
10739
10871
  :param pulumi.Input[Sequence[pulumi.Input[_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.*`.
10740
10872
  :param pulumi.Input[_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.
@@ -10760,6 +10892,7 @@ class ClusterNodeConfigKubeletConfigArgs:
10760
10892
  :param pulumi.Input[_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".
10761
10893
  :param pulumi.Input[_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`.
10762
10894
  :param pulumi.Input[_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.
10895
+ :param pulumi.Input[_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.
10763
10896
  """
10764
10897
  if allowed_unsafe_sysctls is not None:
10765
10898
  pulumi.set(__self__, "allowed_unsafe_sysctls", allowed_unsafe_sysctls)
@@ -10785,6 +10918,8 @@ class ClusterNodeConfigKubeletConfigArgs:
10785
10918
  pulumi.set(__self__, "insecure_kubelet_readonly_port_enabled", insecure_kubelet_readonly_port_enabled)
10786
10919
  if pod_pids_limit is not None:
10787
10920
  pulumi.set(__self__, "pod_pids_limit", pod_pids_limit)
10921
+ if single_process_oom_kill is not None:
10922
+ pulumi.set(__self__, "single_process_oom_kill", single_process_oom_kill)
10788
10923
 
10789
10924
  @_builtins.property
10790
10925
  @pulumi.getter(name="allowedUnsafeSysctls")
@@ -10942,6 +11077,18 @@ class ClusterNodeConfigKubeletConfigArgs:
10942
11077
  def pod_pids_limit(self, value: Optional[pulumi.Input[_builtins.int]]):
10943
11078
  pulumi.set(self, "pod_pids_limit", value)
10944
11079
 
11080
+ @_builtins.property
11081
+ @pulumi.getter(name="singleProcessOomKill")
11082
+ def single_process_oom_kill(self) -> Optional[pulumi.Input[_builtins.bool]]:
11083
+ """
11084
+ 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.
11085
+ """
11086
+ return pulumi.get(self, "single_process_oom_kill")
11087
+
11088
+ @single_process_oom_kill.setter
11089
+ def single_process_oom_kill(self, value: Optional[pulumi.Input[_builtins.bool]]):
11090
+ pulumi.set(self, "single_process_oom_kill", value)
11091
+
10945
11092
 
10946
11093
  if not MYPY:
10947
11094
  class ClusterNodeConfigLinuxNodeConfigArgsDict(TypedDict):
@@ -13102,6 +13249,10 @@ if not MYPY:
13102
13249
  Specifies options for controlling
13103
13250
  advanced machine features. Structure is documented below.
13104
13251
  """
13252
+ boot_disk: NotRequired[pulumi.Input['ClusterNodePoolNodeConfigBootDiskArgsDict']]
13253
+ """
13254
+ Configuration of the node pool boot disk. Structure is documented below
13255
+ """
13105
13256
  boot_disk_kms_key: NotRequired[pulumi.Input[_builtins.str]]
13106
13257
  """
13107
13258
  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>
@@ -13117,12 +13268,13 @@ if not MYPY:
13117
13268
  disk_size_gb: NotRequired[pulumi.Input[_builtins.int]]
13118
13269
  """
13119
13270
  Size of the disk attached to each node, specified
13120
- in GB. The smallest allowed disk size is 10GB. Defaults to 100GB.
13271
+ 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.
13272
+ Prefer configuring `boot_disk`.
13121
13273
  """
13122
13274
  disk_type: NotRequired[pulumi.Input[_builtins.str]]
13123
13275
  """
13124
13276
  Type of the disk attached to each node
13125
- (e.g. 'pd-standard', 'pd-balanced' or 'pd-ssd'). If unspecified, the default disk type is 'pd-balanced'
13277
+ (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`.
13126
13278
  """
13127
13279
  effective_taints: NotRequired[pulumi.Input[Sequence[pulumi.Input['ClusterNodePoolNodeConfigEffectiveTaintArgsDict']]]]
13128
13280
  """
@@ -13345,6 +13497,7 @@ elif False:
13345
13497
  class ClusterNodePoolNodeConfigArgs:
13346
13498
  def __init__(__self__, *,
13347
13499
  advanced_machine_features: Optional[pulumi.Input['ClusterNodePoolNodeConfigAdvancedMachineFeaturesArgs']] = None,
13500
+ boot_disk: Optional[pulumi.Input['ClusterNodePoolNodeConfigBootDiskArgs']] = None,
13348
13501
  boot_disk_kms_key: Optional[pulumi.Input[_builtins.str]] = None,
13349
13502
  confidential_nodes: Optional[pulumi.Input['ClusterNodePoolNodeConfigConfidentialNodesArgs']] = None,
13350
13503
  containerd_config: Optional[pulumi.Input['ClusterNodePoolNodeConfigContainerdConfigArgs']] = None,
@@ -13392,13 +13545,15 @@ class ClusterNodePoolNodeConfigArgs:
13392
13545
  """
13393
13546
  :param pulumi.Input['ClusterNodePoolNodeConfigAdvancedMachineFeaturesArgs'] advanced_machine_features: Specifies options for controlling
13394
13547
  advanced machine features. Structure is documented below.
13548
+ :param pulumi.Input['ClusterNodePoolNodeConfigBootDiskArgs'] boot_disk: Configuration of the node pool boot disk. Structure is documented below
13395
13549
  :param pulumi.Input[_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>
13396
13550
  :param pulumi.Input['ClusterNodePoolNodeConfigConfidentialNodesArgs'] confidential_nodes: Configuration for Confidential Nodes feature. Structure is documented below.
13397
13551
  :param pulumi.Input['ClusterNodePoolNodeConfigContainerdConfigArgs'] containerd_config: Parameters to customize containerd runtime. Structure is documented below.
13398
13552
  :param pulumi.Input[_builtins.int] disk_size_gb: Size of the disk attached to each node, specified
13399
- in GB. The smallest allowed disk size is 10GB. Defaults to 100GB.
13553
+ 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.
13554
+ Prefer configuring `boot_disk`.
13400
13555
  :param pulumi.Input[_builtins.str] disk_type: Type of the disk attached to each node
13401
- (e.g. 'pd-standard', 'pd-balanced' or 'pd-ssd'). If unspecified, the default disk type is 'pd-balanced'
13556
+ (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`.
13402
13557
  :param pulumi.Input[Sequence[pulumi.Input['ClusterNodePoolNodeConfigEffectiveTaintArgs']]] effective_taints: List of kubernetes taints applied to each node. Structure is documented above.
13403
13558
  :param pulumi.Input[_builtins.bool] enable_confidential_storage: Enabling Confidential Storage will create boot disk with confidential mode. It is disabled by default.
13404
13559
  :param pulumi.Input['ClusterNodePoolNodeConfigEphemeralStorageConfigArgs'] ephemeral_storage_config: Parameters for the ephemeral storage filesystem. If unspecified, ephemeral storage is backed by the boot disk. Structure is documented below.
@@ -13499,6 +13654,8 @@ class ClusterNodePoolNodeConfigArgs:
13499
13654
  """
13500
13655
  if advanced_machine_features is not None:
13501
13656
  pulumi.set(__self__, "advanced_machine_features", advanced_machine_features)
13657
+ if boot_disk is not None:
13658
+ pulumi.set(__self__, "boot_disk", boot_disk)
13502
13659
  if boot_disk_kms_key is not None:
13503
13660
  pulumi.set(__self__, "boot_disk_kms_key", boot_disk_kms_key)
13504
13661
  if confidential_nodes is not None:
@@ -13601,6 +13758,18 @@ class ClusterNodePoolNodeConfigArgs:
13601
13758
  def advanced_machine_features(self, value: Optional[pulumi.Input['ClusterNodePoolNodeConfigAdvancedMachineFeaturesArgs']]):
13602
13759
  pulumi.set(self, "advanced_machine_features", value)
13603
13760
 
13761
+ @_builtins.property
13762
+ @pulumi.getter(name="bootDisk")
13763
+ def boot_disk(self) -> Optional[pulumi.Input['ClusterNodePoolNodeConfigBootDiskArgs']]:
13764
+ """
13765
+ Configuration of the node pool boot disk. Structure is documented below
13766
+ """
13767
+ return pulumi.get(self, "boot_disk")
13768
+
13769
+ @boot_disk.setter
13770
+ def boot_disk(self, value: Optional[pulumi.Input['ClusterNodePoolNodeConfigBootDiskArgs']]):
13771
+ pulumi.set(self, "boot_disk", value)
13772
+
13604
13773
  @_builtins.property
13605
13774
  @pulumi.getter(name="bootDiskKmsKey")
13606
13775
  def boot_disk_kms_key(self) -> Optional[pulumi.Input[_builtins.str]]:
@@ -13642,7 +13811,8 @@ class ClusterNodePoolNodeConfigArgs:
13642
13811
  def disk_size_gb(self) -> Optional[pulumi.Input[_builtins.int]]:
13643
13812
  """
13644
13813
  Size of the disk attached to each node, specified
13645
- in GB. The smallest allowed disk size is 10GB. Defaults to 100GB.
13814
+ 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.
13815
+ Prefer configuring `boot_disk`.
13646
13816
  """
13647
13817
  return pulumi.get(self, "disk_size_gb")
13648
13818
 
@@ -13655,7 +13825,7 @@ class ClusterNodePoolNodeConfigArgs:
13655
13825
  def disk_type(self) -> Optional[pulumi.Input[_builtins.str]]:
13656
13826
  """
13657
13827
  Type of the disk attached to each node
13658
- (e.g. 'pd-standard', 'pd-balanced' or 'pd-ssd'). If unspecified, the default disk type is 'pd-balanced'
13828
+ (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`.
13659
13829
  """
13660
13830
  return pulumi.get(self, "disk_type")
13661
13831
 
@@ -14261,6 +14431,104 @@ class ClusterNodePoolNodeConfigAdvancedMachineFeaturesArgs:
14261
14431
  pulumi.set(self, "performance_monitoring_unit", value)
14262
14432
 
14263
14433
 
14434
+ if not MYPY:
14435
+ class ClusterNodePoolNodeConfigBootDiskArgsDict(TypedDict):
14436
+ disk_type: NotRequired[pulumi.Input[_builtins.str]]
14437
+ """
14438
+ Type of the disk attached to each node
14439
+ (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.
14440
+ """
14441
+ provisioned_iops: NotRequired[pulumi.Input[_builtins.int]]
14442
+ """
14443
+ 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.
14444
+ """
14445
+ provisioned_throughput: NotRequired[pulumi.Input[_builtins.int]]
14446
+ """
14447
+ 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.
14448
+ """
14449
+ size_gb: NotRequired[pulumi.Input[_builtins.int]]
14450
+ """
14451
+ Size of the disk attached to each node, specified
14452
+ 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.
14453
+ """
14454
+ elif False:
14455
+ ClusterNodePoolNodeConfigBootDiskArgsDict: TypeAlias = Mapping[str, Any]
14456
+
14457
+ @pulumi.input_type
14458
+ class ClusterNodePoolNodeConfigBootDiskArgs:
14459
+ def __init__(__self__, *,
14460
+ disk_type: Optional[pulumi.Input[_builtins.str]] = None,
14461
+ provisioned_iops: Optional[pulumi.Input[_builtins.int]] = None,
14462
+ provisioned_throughput: Optional[pulumi.Input[_builtins.int]] = None,
14463
+ size_gb: Optional[pulumi.Input[_builtins.int]] = None):
14464
+ """
14465
+ :param pulumi.Input[_builtins.str] disk_type: Type of the disk attached to each node
14466
+ (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.
14467
+ :param pulumi.Input[_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.
14468
+ :param pulumi.Input[_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.
14469
+ :param pulumi.Input[_builtins.int] size_gb: Size of the disk attached to each node, specified
14470
+ 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.
14471
+ """
14472
+ if disk_type is not None:
14473
+ pulumi.set(__self__, "disk_type", disk_type)
14474
+ if provisioned_iops is not None:
14475
+ pulumi.set(__self__, "provisioned_iops", provisioned_iops)
14476
+ if provisioned_throughput is not None:
14477
+ pulumi.set(__self__, "provisioned_throughput", provisioned_throughput)
14478
+ if size_gb is not None:
14479
+ pulumi.set(__self__, "size_gb", size_gb)
14480
+
14481
+ @_builtins.property
14482
+ @pulumi.getter(name="diskType")
14483
+ def disk_type(self) -> Optional[pulumi.Input[_builtins.str]]:
14484
+ """
14485
+ Type of the disk attached to each node
14486
+ (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.
14487
+ """
14488
+ return pulumi.get(self, "disk_type")
14489
+
14490
+ @disk_type.setter
14491
+ def disk_type(self, value: Optional[pulumi.Input[_builtins.str]]):
14492
+ pulumi.set(self, "disk_type", value)
14493
+
14494
+ @_builtins.property
14495
+ @pulumi.getter(name="provisionedIops")
14496
+ def provisioned_iops(self) -> Optional[pulumi.Input[_builtins.int]]:
14497
+ """
14498
+ 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.
14499
+ """
14500
+ return pulumi.get(self, "provisioned_iops")
14501
+
14502
+ @provisioned_iops.setter
14503
+ def provisioned_iops(self, value: Optional[pulumi.Input[_builtins.int]]):
14504
+ pulumi.set(self, "provisioned_iops", value)
14505
+
14506
+ @_builtins.property
14507
+ @pulumi.getter(name="provisionedThroughput")
14508
+ def provisioned_throughput(self) -> Optional[pulumi.Input[_builtins.int]]:
14509
+ """
14510
+ 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.
14511
+ """
14512
+ return pulumi.get(self, "provisioned_throughput")
14513
+
14514
+ @provisioned_throughput.setter
14515
+ def provisioned_throughput(self, value: Optional[pulumi.Input[_builtins.int]]):
14516
+ pulumi.set(self, "provisioned_throughput", value)
14517
+
14518
+ @_builtins.property
14519
+ @pulumi.getter(name="sizeGb")
14520
+ def size_gb(self) -> Optional[pulumi.Input[_builtins.int]]:
14521
+ """
14522
+ Size of the disk attached to each node, specified
14523
+ 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.
14524
+ """
14525
+ return pulumi.get(self, "size_gb")
14526
+
14527
+ @size_gb.setter
14528
+ def size_gb(self, value: Optional[pulumi.Input[_builtins.int]]):
14529
+ pulumi.set(self, "size_gb", value)
14530
+
14531
+
14264
14532
  if not MYPY:
14265
14533
  class ClusterNodePoolNodeConfigConfidentialNodesArgsDict(TypedDict):
14266
14534
  enabled: pulumi.Input[_builtins.bool]
@@ -15037,6 +15305,10 @@ if not MYPY:
15037
15305
  """
15038
15306
  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.
15039
15307
  """
15308
+ single_process_oom_kill: NotRequired[pulumi.Input[_builtins.bool]]
15309
+ """
15310
+ 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.
15311
+ """
15040
15312
  elif False:
15041
15313
  ClusterNodePoolNodeConfigKubeletConfigArgsDict: TypeAlias = Mapping[str, Any]
15042
15314
 
@@ -15054,7 +15326,8 @@ class ClusterNodePoolNodeConfigKubeletConfigArgs:
15054
15326
  image_maximum_gc_age: Optional[pulumi.Input[_builtins.str]] = None,
15055
15327
  image_minimum_gc_age: Optional[pulumi.Input[_builtins.str]] = None,
15056
15328
  insecure_kubelet_readonly_port_enabled: Optional[pulumi.Input[_builtins.str]] = None,
15057
- pod_pids_limit: Optional[pulumi.Input[_builtins.int]] = None):
15329
+ pod_pids_limit: Optional[pulumi.Input[_builtins.int]] = None,
15330
+ single_process_oom_kill: Optional[pulumi.Input[_builtins.bool]] = None):
15058
15331
  """
15059
15332
  :param pulumi.Input[Sequence[pulumi.Input[_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.*`.
15060
15333
  :param pulumi.Input[_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.
@@ -15080,6 +15353,7 @@ class ClusterNodePoolNodeConfigKubeletConfigArgs:
15080
15353
  :param pulumi.Input[_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".
15081
15354
  :param pulumi.Input[_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`.
15082
15355
  :param pulumi.Input[_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.
15356
+ :param pulumi.Input[_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.
15083
15357
  """
15084
15358
  if allowed_unsafe_sysctls is not None:
15085
15359
  pulumi.set(__self__, "allowed_unsafe_sysctls", allowed_unsafe_sysctls)
@@ -15105,6 +15379,8 @@ class ClusterNodePoolNodeConfigKubeletConfigArgs:
15105
15379
  pulumi.set(__self__, "insecure_kubelet_readonly_port_enabled", insecure_kubelet_readonly_port_enabled)
15106
15380
  if pod_pids_limit is not None:
15107
15381
  pulumi.set(__self__, "pod_pids_limit", pod_pids_limit)
15382
+ if single_process_oom_kill is not None:
15383
+ pulumi.set(__self__, "single_process_oom_kill", single_process_oom_kill)
15108
15384
 
15109
15385
  @_builtins.property
15110
15386
  @pulumi.getter(name="allowedUnsafeSysctls")
@@ -15262,6 +15538,18 @@ class ClusterNodePoolNodeConfigKubeletConfigArgs:
15262
15538
  def pod_pids_limit(self, value: Optional[pulumi.Input[_builtins.int]]):
15263
15539
  pulumi.set(self, "pod_pids_limit", value)
15264
15540
 
15541
+ @_builtins.property
15542
+ @pulumi.getter(name="singleProcessOomKill")
15543
+ def single_process_oom_kill(self) -> Optional[pulumi.Input[_builtins.bool]]:
15544
+ """
15545
+ 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.
15546
+ """
15547
+ return pulumi.get(self, "single_process_oom_kill")
15548
+
15549
+ @single_process_oom_kill.setter
15550
+ def single_process_oom_kill(self, value: Optional[pulumi.Input[_builtins.bool]]):
15551
+ pulumi.set(self, "single_process_oom_kill", value)
15552
+
15265
15553
 
15266
15554
  if not MYPY:
15267
15555
  class ClusterNodePoolNodeConfigLinuxNodeConfigArgsDict(TypedDict):
@@ -18133,6 +18421,10 @@ if not MYPY:
18133
18421
  """
18134
18422
  Specifies options for controlling advanced machine features.
18135
18423
  """
18424
+ boot_disk: NotRequired[pulumi.Input['NodePoolNodeConfigBootDiskArgsDict']]
18425
+ """
18426
+ Boot disk configuration for node pools nodes.
18427
+ """
18136
18428
  boot_disk_kms_key: NotRequired[pulumi.Input[_builtins.str]]
18137
18429
  """
18138
18430
  The Customer Managed Encryption Key used to encrypt the boot disk attached to each node in the node pool.
@@ -18316,6 +18608,7 @@ elif False:
18316
18608
  class NodePoolNodeConfigArgs:
18317
18609
  def __init__(__self__, *,
18318
18610
  advanced_machine_features: Optional[pulumi.Input['NodePoolNodeConfigAdvancedMachineFeaturesArgs']] = None,
18611
+ boot_disk: Optional[pulumi.Input['NodePoolNodeConfigBootDiskArgs']] = None,
18319
18612
  boot_disk_kms_key: Optional[pulumi.Input[_builtins.str]] = None,
18320
18613
  confidential_nodes: Optional[pulumi.Input['NodePoolNodeConfigConfidentialNodesArgs']] = None,
18321
18614
  containerd_config: Optional[pulumi.Input['NodePoolNodeConfigContainerdConfigArgs']] = None,
@@ -18362,6 +18655,7 @@ class NodePoolNodeConfigArgs:
18362
18655
  workload_metadata_config: Optional[pulumi.Input['NodePoolNodeConfigWorkloadMetadataConfigArgs']] = None):
18363
18656
  """
18364
18657
  :param pulumi.Input['NodePoolNodeConfigAdvancedMachineFeaturesArgs'] advanced_machine_features: Specifies options for controlling advanced machine features.
18658
+ :param pulumi.Input['NodePoolNodeConfigBootDiskArgs'] boot_disk: Boot disk configuration for node pools nodes.
18365
18659
  :param pulumi.Input[_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.
18366
18660
  :param pulumi.Input['NodePoolNodeConfigConfidentialNodesArgs'] confidential_nodes: Configuration for the confidential nodes feature, which makes nodes run on confidential VMs.
18367
18661
  :param pulumi.Input['NodePoolNodeConfigContainerdConfigArgs'] containerd_config: Parameters for containerd configuration.
@@ -18409,6 +18703,8 @@ class NodePoolNodeConfigArgs:
18409
18703
  """
18410
18704
  if advanced_machine_features is not None:
18411
18705
  pulumi.set(__self__, "advanced_machine_features", advanced_machine_features)
18706
+ if boot_disk is not None:
18707
+ pulumi.set(__self__, "boot_disk", boot_disk)
18412
18708
  if boot_disk_kms_key is not None:
18413
18709
  pulumi.set(__self__, "boot_disk_kms_key", boot_disk_kms_key)
18414
18710
  if confidential_nodes is not None:
@@ -18510,6 +18806,18 @@ class NodePoolNodeConfigArgs:
18510
18806
  def advanced_machine_features(self, value: Optional[pulumi.Input['NodePoolNodeConfigAdvancedMachineFeaturesArgs']]):
18511
18807
  pulumi.set(self, "advanced_machine_features", value)
18512
18808
 
18809
+ @_builtins.property
18810
+ @pulumi.getter(name="bootDisk")
18811
+ def boot_disk(self) -> Optional[pulumi.Input['NodePoolNodeConfigBootDiskArgs']]:
18812
+ """
18813
+ Boot disk configuration for node pools nodes.
18814
+ """
18815
+ return pulumi.get(self, "boot_disk")
18816
+
18817
+ @boot_disk.setter
18818
+ def boot_disk(self, value: Optional[pulumi.Input['NodePoolNodeConfigBootDiskArgs']]):
18819
+ pulumi.set(self, "boot_disk", value)
18820
+
18513
18821
  @_builtins.property
18514
18822
  @pulumi.getter(name="bootDiskKmsKey")
18515
18823
  def boot_disk_kms_key(self) -> Optional[pulumi.Input[_builtins.str]]:
@@ -19110,6 +19418,98 @@ class NodePoolNodeConfigAdvancedMachineFeaturesArgs:
19110
19418
  pulumi.set(self, "performance_monitoring_unit", value)
19111
19419
 
19112
19420
 
19421
+ if not MYPY:
19422
+ class NodePoolNodeConfigBootDiskArgsDict(TypedDict):
19423
+ disk_type: NotRequired[pulumi.Input[_builtins.str]]
19424
+ """
19425
+ Type of the disk attached to each node. Such as pd-standard, pd-balanced or pd-ssd
19426
+ """
19427
+ provisioned_iops: NotRequired[pulumi.Input[_builtins.int]]
19428
+ """
19429
+ Configured IOPs provisioning. Only valid with disk type hyperdisk-balanced.
19430
+ """
19431
+ provisioned_throughput: NotRequired[pulumi.Input[_builtins.int]]
19432
+ """
19433
+ Configured throughput provisioning. Only valid with disk type hyperdisk-balanced.
19434
+ """
19435
+ size_gb: NotRequired[pulumi.Input[_builtins.int]]
19436
+ """
19437
+ Size of the disk attached to each node, specified in GB. The smallest allowed disk size is 10GB.
19438
+ """
19439
+ elif False:
19440
+ NodePoolNodeConfigBootDiskArgsDict: TypeAlias = Mapping[str, Any]
19441
+
19442
+ @pulumi.input_type
19443
+ class NodePoolNodeConfigBootDiskArgs:
19444
+ def __init__(__self__, *,
19445
+ disk_type: Optional[pulumi.Input[_builtins.str]] = None,
19446
+ provisioned_iops: Optional[pulumi.Input[_builtins.int]] = None,
19447
+ provisioned_throughput: Optional[pulumi.Input[_builtins.int]] = None,
19448
+ size_gb: Optional[pulumi.Input[_builtins.int]] = None):
19449
+ """
19450
+ :param pulumi.Input[_builtins.str] disk_type: Type of the disk attached to each node. Such as pd-standard, pd-balanced or pd-ssd
19451
+ :param pulumi.Input[_builtins.int] provisioned_iops: Configured IOPs provisioning. Only valid with disk type hyperdisk-balanced.
19452
+ :param pulumi.Input[_builtins.int] provisioned_throughput: Configured throughput provisioning. Only valid with disk type hyperdisk-balanced.
19453
+ :param pulumi.Input[_builtins.int] size_gb: Size of the disk attached to each node, specified in GB. The smallest allowed disk size is 10GB.
19454
+ """
19455
+ if disk_type is not None:
19456
+ pulumi.set(__self__, "disk_type", disk_type)
19457
+ if provisioned_iops is not None:
19458
+ pulumi.set(__self__, "provisioned_iops", provisioned_iops)
19459
+ if provisioned_throughput is not None:
19460
+ pulumi.set(__self__, "provisioned_throughput", provisioned_throughput)
19461
+ if size_gb is not None:
19462
+ pulumi.set(__self__, "size_gb", size_gb)
19463
+
19464
+ @_builtins.property
19465
+ @pulumi.getter(name="diskType")
19466
+ def disk_type(self) -> Optional[pulumi.Input[_builtins.str]]:
19467
+ """
19468
+ Type of the disk attached to each node. Such as pd-standard, pd-balanced or pd-ssd
19469
+ """
19470
+ return pulumi.get(self, "disk_type")
19471
+
19472
+ @disk_type.setter
19473
+ def disk_type(self, value: Optional[pulumi.Input[_builtins.str]]):
19474
+ pulumi.set(self, "disk_type", value)
19475
+
19476
+ @_builtins.property
19477
+ @pulumi.getter(name="provisionedIops")
19478
+ def provisioned_iops(self) -> Optional[pulumi.Input[_builtins.int]]:
19479
+ """
19480
+ Configured IOPs provisioning. Only valid with disk type hyperdisk-balanced.
19481
+ """
19482
+ return pulumi.get(self, "provisioned_iops")
19483
+
19484
+ @provisioned_iops.setter
19485
+ def provisioned_iops(self, value: Optional[pulumi.Input[_builtins.int]]):
19486
+ pulumi.set(self, "provisioned_iops", value)
19487
+
19488
+ @_builtins.property
19489
+ @pulumi.getter(name="provisionedThroughput")
19490
+ def provisioned_throughput(self) -> Optional[pulumi.Input[_builtins.int]]:
19491
+ """
19492
+ Configured throughput provisioning. Only valid with disk type hyperdisk-balanced.
19493
+ """
19494
+ return pulumi.get(self, "provisioned_throughput")
19495
+
19496
+ @provisioned_throughput.setter
19497
+ def provisioned_throughput(self, value: Optional[pulumi.Input[_builtins.int]]):
19498
+ pulumi.set(self, "provisioned_throughput", value)
19499
+
19500
+ @_builtins.property
19501
+ @pulumi.getter(name="sizeGb")
19502
+ def size_gb(self) -> Optional[pulumi.Input[_builtins.int]]:
19503
+ """
19504
+ Size of the disk attached to each node, specified in GB. The smallest allowed disk size is 10GB.
19505
+ """
19506
+ return pulumi.get(self, "size_gb")
19507
+
19508
+ @size_gb.setter
19509
+ def size_gb(self, value: Optional[pulumi.Input[_builtins.int]]):
19510
+ pulumi.set(self, "size_gb", value)
19511
+
19512
+
19113
19513
  if not MYPY:
19114
19514
  class NodePoolNodeConfigConfidentialNodesArgsDict(TypedDict):
19115
19515
  enabled: pulumi.Input[_builtins.bool]
@@ -19844,6 +20244,10 @@ if not MYPY:
19844
20244
  """
19845
20245
  Controls the maximum number of processes allowed to run in a pod.
19846
20246
  """
20247
+ single_process_oom_kill: NotRequired[pulumi.Input[_builtins.bool]]
20248
+ """
20249
+ Defines whether to enable single process OOM killer.
20250
+ """
19847
20251
  elif False:
19848
20252
  NodePoolNodeConfigKubeletConfigArgsDict: TypeAlias = Mapping[str, Any]
19849
20253
 
@@ -19861,7 +20265,8 @@ class NodePoolNodeConfigKubeletConfigArgs:
19861
20265
  image_maximum_gc_age: Optional[pulumi.Input[_builtins.str]] = None,
19862
20266
  image_minimum_gc_age: Optional[pulumi.Input[_builtins.str]] = None,
19863
20267
  insecure_kubelet_readonly_port_enabled: Optional[pulumi.Input[_builtins.str]] = None,
19864
- pod_pids_limit: Optional[pulumi.Input[_builtins.int]] = None):
20268
+ pod_pids_limit: Optional[pulumi.Input[_builtins.int]] = None,
20269
+ single_process_oom_kill: Optional[pulumi.Input[_builtins.bool]] = None):
19865
20270
  """
19866
20271
  :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] allowed_unsafe_sysctls: Defines a comma-separated allowlist of unsafe sysctls or sysctl patterns which can be set on the Pods.
19867
20272
  :param pulumi.Input[_builtins.int] container_log_max_files: Defines the maximum number of container log files that can be present for a container.
@@ -19875,6 +20280,7 @@ class NodePoolNodeConfigKubeletConfigArgs:
19875
20280
  :param pulumi.Input[_builtins.str] image_minimum_gc_age: Defines the minimum age for an unused image before it is garbage collected.
19876
20281
  :param pulumi.Input[_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`.
19877
20282
  :param pulumi.Input[_builtins.int] pod_pids_limit: Controls the maximum number of processes allowed to run in a pod.
20283
+ :param pulumi.Input[_builtins.bool] single_process_oom_kill: Defines whether to enable single process OOM killer.
19878
20284
  """
19879
20285
  if allowed_unsafe_sysctls is not None:
19880
20286
  pulumi.set(__self__, "allowed_unsafe_sysctls", allowed_unsafe_sysctls)
@@ -19900,6 +20306,8 @@ class NodePoolNodeConfigKubeletConfigArgs:
19900
20306
  pulumi.set(__self__, "insecure_kubelet_readonly_port_enabled", insecure_kubelet_readonly_port_enabled)
19901
20307
  if pod_pids_limit is not None:
19902
20308
  pulumi.set(__self__, "pod_pids_limit", pod_pids_limit)
20309
+ if single_process_oom_kill is not None:
20310
+ pulumi.set(__self__, "single_process_oom_kill", single_process_oom_kill)
19903
20311
 
19904
20312
  @_builtins.property
19905
20313
  @pulumi.getter(name="allowedUnsafeSysctls")
@@ -20045,6 +20453,18 @@ class NodePoolNodeConfigKubeletConfigArgs:
20045
20453
  def pod_pids_limit(self, value: Optional[pulumi.Input[_builtins.int]]):
20046
20454
  pulumi.set(self, "pod_pids_limit", value)
20047
20455
 
20456
+ @_builtins.property
20457
+ @pulumi.getter(name="singleProcessOomKill")
20458
+ def single_process_oom_kill(self) -> Optional[pulumi.Input[_builtins.bool]]:
20459
+ """
20460
+ Defines whether to enable single process OOM killer.
20461
+ """
20462
+ return pulumi.get(self, "single_process_oom_kill")
20463
+
20464
+ @single_process_oom_kill.setter
20465
+ def single_process_oom_kill(self, value: Optional[pulumi.Input[_builtins.bool]]):
20466
+ pulumi.set(self, "single_process_oom_kill", value)
20467
+
20048
20468
 
20049
20469
  if not MYPY:
20050
20470
  class NodePoolNodeConfigLinuxNodeConfigArgsDict(TypedDict):