pulumi-gcp 8.40.0a1754721948__py3-none-any.whl → 8.41.0a1754981061__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 (157) hide show
  1. pulumi_gcp/__init__.py +128 -0
  2. pulumi_gcp/accesscontextmanager/_inputs.py +24 -4
  3. pulumi_gcp/accesscontextmanager/outputs.py +15 -3
  4. pulumi_gcp/apigee/__init__.py +2 -0
  5. pulumi_gcp/apigee/_inputs.py +1435 -0
  6. pulumi_gcp/apigee/api_product.py +1698 -0
  7. pulumi_gcp/apigee/outputs.py +1081 -0
  8. pulumi_gcp/apigee/security_action.py +1010 -0
  9. pulumi_gcp/artifactregistry/__init__.py +1 -0
  10. pulumi_gcp/artifactregistry/get_docker_images.py +164 -0
  11. pulumi_gcp/artifactregistry/outputs.py +109 -2
  12. pulumi_gcp/artifactregistry/repository.py +6 -6
  13. pulumi_gcp/backupdisasterrecovery/backup_vault.py +56 -0
  14. pulumi_gcp/backupdisasterrecovery/get_backup_vault.py +12 -1
  15. pulumi_gcp/bigquery/_inputs.py +6 -0
  16. pulumi_gcp/bigquery/get_table.py +23 -1
  17. pulumi_gcp/bigquery/outputs.py +4 -0
  18. pulumi_gcp/bigquery/table.py +62 -0
  19. pulumi_gcp/bigqueryanalyticshub/_inputs.py +180 -0
  20. pulumi_gcp/bigqueryanalyticshub/data_exchange.py +80 -0
  21. pulumi_gcp/bigqueryanalyticshub/listing.py +322 -2
  22. pulumi_gcp/bigqueryanalyticshub/listing_subscription.py +32 -0
  23. pulumi_gcp/bigqueryanalyticshub/outputs.py +159 -0
  24. pulumi_gcp/bigtable/__init__.py +1 -0
  25. pulumi_gcp/bigtable/_inputs.py +33 -0
  26. pulumi_gcp/bigtable/outputs.py +36 -0
  27. pulumi_gcp/bigtable/schema_bundle.py +568 -0
  28. pulumi_gcp/cloudfunctions/_inputs.py +48 -0
  29. pulumi_gcp/cloudfunctions/function.py +94 -0
  30. pulumi_gcp/cloudfunctions/get_function.py +23 -1
  31. pulumi_gcp/cloudfunctions/outputs.py +70 -0
  32. pulumi_gcp/cloudrunv2/_inputs.py +20 -0
  33. pulumi_gcp/cloudrunv2/job.py +2 -0
  34. pulumi_gcp/cloudrunv2/outputs.py +25 -0
  35. pulumi_gcp/cloudrunv2/worker_pool.py +2 -0
  36. pulumi_gcp/compute/__init__.py +1 -0
  37. pulumi_gcp/compute/_inputs.py +713 -22
  38. pulumi_gcp/compute/firewall_policy_with_rules.py +66 -0
  39. pulumi_gcp/compute/forwarding_rule.py +0 -21
  40. pulumi_gcp/compute/get_router.py +12 -1
  41. pulumi_gcp/compute/outputs.py +562 -22
  42. pulumi_gcp/compute/preview_feature.py +396 -0
  43. pulumi_gcp/compute/region_url_map.py +392 -0
  44. pulumi_gcp/compute/reservation.py +4 -4
  45. pulumi_gcp/compute/router.py +54 -0
  46. pulumi_gcp/compute/storage_pool.py +154 -0
  47. pulumi_gcp/compute/subnetwork.py +54 -0
  48. pulumi_gcp/config/__init__.pyi +2 -0
  49. pulumi_gcp/config/vars.py +4 -0
  50. pulumi_gcp/container/_inputs.py +278 -8
  51. pulumi_gcp/container/cluster.py +61 -21
  52. pulumi_gcp/container/get_cluster.py +12 -1
  53. pulumi_gcp/container/outputs.py +352 -8
  54. pulumi_gcp/dataproc/_inputs.py +249 -14
  55. pulumi_gcp/dataproc/batch.py +6 -0
  56. pulumi_gcp/dataproc/cluster.py +2 -0
  57. pulumi_gcp/dataproc/outputs.py +215 -12
  58. pulumi_gcp/dataproc/session_template.py +14 -2
  59. pulumi_gcp/developerconnect/__init__.py +1 -0
  60. pulumi_gcp/developerconnect/_inputs.py +583 -0
  61. pulumi_gcp/developerconnect/insights_config.py +895 -0
  62. pulumi_gcp/developerconnect/outputs.py +442 -0
  63. pulumi_gcp/diagflow/__init__.py +1 -0
  64. pulumi_gcp/diagflow/_inputs.py +1165 -58
  65. pulumi_gcp/diagflow/cx_generator.py +636 -0
  66. pulumi_gcp/diagflow/cx_tool.py +2 -2
  67. pulumi_gcp/diagflow/cx_webhook.py +380 -36
  68. pulumi_gcp/diagflow/outputs.py +848 -25
  69. pulumi_gcp/discoveryengine/__init__.py +2 -0
  70. pulumi_gcp/discoveryengine/_inputs.py +465 -0
  71. pulumi_gcp/discoveryengine/cmek_config.py +707 -0
  72. pulumi_gcp/discoveryengine/outputs.py +412 -0
  73. pulumi_gcp/discoveryengine/recommendation_engine.py +813 -0
  74. pulumi_gcp/firestore/field.py +6 -6
  75. pulumi_gcp/gemini/gemini_gcp_enablement_setting.py +107 -9
  76. pulumi_gcp/gemini/gemini_gcp_enablement_setting_binding.py +2 -2
  77. pulumi_gcp/gkehub/membership_binding.py +6 -6
  78. pulumi_gcp/gkehub/membership_rbac_role_binding.py +4 -4
  79. pulumi_gcp/gkehub/namespace.py +4 -4
  80. pulumi_gcp/gkehub/scope_rbac_role_binding.py +8 -8
  81. pulumi_gcp/iam/__init__.py +4 -0
  82. pulumi_gcp/iam/_inputs.py +98 -0
  83. pulumi_gcp/iam/get_workforce_pool_iam_policy.py +161 -0
  84. pulumi_gcp/iam/outputs.py +56 -0
  85. pulumi_gcp/iam/workforce_pool_iam_binding.py +761 -0
  86. pulumi_gcp/iam/workforce_pool_iam_member.py +761 -0
  87. pulumi_gcp/iam/workforce_pool_iam_policy.py +600 -0
  88. pulumi_gcp/iap/tunnel_dest_group.py +2 -2
  89. pulumi_gcp/integrationconnectors/managed_zone.py +8 -8
  90. pulumi_gcp/looker/instance.py +28 -7
  91. pulumi_gcp/managedkafka/_inputs.py +127 -0
  92. pulumi_gcp/managedkafka/cluster.py +131 -1
  93. pulumi_gcp/managedkafka/connect_cluster.py +4 -4
  94. pulumi_gcp/managedkafka/connector.py +4 -4
  95. pulumi_gcp/managedkafka/outputs.py +128 -0
  96. pulumi_gcp/memorystore/instance.py +8 -12
  97. pulumi_gcp/modelarmor/__init__.py +1 -0
  98. pulumi_gcp/modelarmor/_inputs.py +683 -0
  99. pulumi_gcp/modelarmor/floorsetting.py +736 -0
  100. pulumi_gcp/modelarmor/outputs.py +618 -0
  101. pulumi_gcp/networkconnectivity/_inputs.py +60 -0
  102. pulumi_gcp/networkconnectivity/internal_range.py +136 -0
  103. pulumi_gcp/networkconnectivity/outputs.py +55 -0
  104. pulumi_gcp/networkconnectivity/spoke.py +14 -14
  105. pulumi_gcp/oracledatabase/__init__.py +2 -0
  106. pulumi_gcp/oracledatabase/autonomous_database.py +262 -38
  107. pulumi_gcp/oracledatabase/cloud_vm_cluster.py +314 -50
  108. pulumi_gcp/oracledatabase/get_autonomous_database.py +23 -1
  109. pulumi_gcp/oracledatabase/get_cloud_vm_cluster.py +34 -1
  110. pulumi_gcp/oracledatabase/odb_network.py +721 -0
  111. pulumi_gcp/oracledatabase/odb_subnet.py +803 -0
  112. pulumi_gcp/oracledatabase/outputs.py +83 -0
  113. pulumi_gcp/orgpolicy/policy.py +2 -2
  114. pulumi_gcp/parametermanager/parameter_version.py +62 -0
  115. pulumi_gcp/parametermanager/regional_parameter_version.py +64 -0
  116. pulumi_gcp/provider.py +20 -0
  117. pulumi_gcp/pubsub/subscription.py +46 -6
  118. pulumi_gcp/pubsub/topic.py +36 -0
  119. pulumi_gcp/pulumi-plugin.json +1 -1
  120. pulumi_gcp/redis/cluster.py +70 -0
  121. pulumi_gcp/redis/get_cluster.py +12 -1
  122. pulumi_gcp/redis/instance.py +8 -12
  123. pulumi_gcp/secretmanager/get_regional_secret.py +12 -1
  124. pulumi_gcp/secretmanager/get_secret.py +12 -1
  125. pulumi_gcp/secretmanager/outputs.py +30 -0
  126. pulumi_gcp/secretmanager/regional_secret.py +61 -0
  127. pulumi_gcp/secretmanager/secret.py +61 -0
  128. pulumi_gcp/securesourcemanager/branch_rule.py +16 -8
  129. pulumi_gcp/securesourcemanager/instance.py +112 -4
  130. pulumi_gcp/securesourcemanager/repository.py +112 -8
  131. pulumi_gcp/serviceaccount/get_account_key.py +1 -0
  132. pulumi_gcp/sql/_inputs.py +6 -6
  133. pulumi_gcp/sql/database.py +0 -12
  134. pulumi_gcp/sql/outputs.py +4 -4
  135. pulumi_gcp/storage/__init__.py +2 -0
  136. pulumi_gcp/storage/_inputs.py +451 -0
  137. pulumi_gcp/storage/bucket.py +7 -7
  138. pulumi_gcp/storage/bucket_object.py +34 -0
  139. pulumi_gcp/storage/get_bucket_object.py +12 -1
  140. pulumi_gcp/storage/get_bucket_object_content.py +12 -1
  141. pulumi_gcp/storage/get_insights_dataset_config.py +363 -0
  142. pulumi_gcp/storage/insights_dataset_config.py +1280 -0
  143. pulumi_gcp/storage/outputs.py +619 -0
  144. pulumi_gcp/vertex/__init__.py +1 -0
  145. pulumi_gcp/vertex/_inputs.py +3646 -3
  146. pulumi_gcp/vertex/ai_endpoint.py +4 -4
  147. pulumi_gcp/vertex/ai_endpoint_with_model_garden_deployment.py +940 -0
  148. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +4 -4
  149. pulumi_gcp/vertex/outputs.py +2609 -2
  150. pulumi_gcp/vmwareengine/network_peering.py +7 -7
  151. pulumi_gcp/workbench/_inputs.py +118 -0
  152. pulumi_gcp/workbench/instance.py +171 -2
  153. pulumi_gcp/workbench/outputs.py +91 -0
  154. {pulumi_gcp-8.40.0a1754721948.dist-info → pulumi_gcp-8.41.0a1754981061.dist-info}/METADATA +1 -1
  155. {pulumi_gcp-8.40.0a1754721948.dist-info → pulumi_gcp-8.41.0a1754981061.dist-info}/RECORD +157 -138
  156. {pulumi_gcp-8.40.0a1754721948.dist-info → pulumi_gcp-8.41.0a1754981061.dist-info}/WHEEL +0 -0
  157. {pulumi_gcp-8.40.0a1754721948.dist-info → pulumi_gcp-8.41.0a1754981061.dist-info}/top_level.txt +0 -0
@@ -97,6 +97,7 @@ __all__ = [
97
97
  'ClusterAddonsConfigHttpLoadBalancing',
98
98
  'ClusterAddonsConfigIstioConfig',
99
99
  'ClusterAddonsConfigKalmConfig',
100
+ 'ClusterAddonsConfigLustreCsiDriverConfig',
100
101
  'ClusterAddonsConfigNetworkPolicyConfig',
101
102
  'ClusterAddonsConfigParallelstoreCsiDriverConfig',
102
103
  'ClusterAddonsConfigRayOperatorConfig',
@@ -131,6 +132,7 @@ __all__ = [
131
132
  'ClusterGkeAutoUpgradeConfig',
132
133
  'ClusterIdentityServiceConfig',
133
134
  'ClusterIpAllocationPolicy',
135
+ 'ClusterIpAllocationPolicyAdditionalIpRangesConfig',
134
136
  'ClusterIpAllocationPolicyAdditionalPodRangesConfig',
135
137
  'ClusterIpAllocationPolicyPodCidrOverprovisionConfig',
136
138
  'ClusterLoggingConfig',
@@ -243,6 +245,7 @@ __all__ = [
243
245
  'ClusterPrivateClusterConfigMasterGlobalAccessConfig',
244
246
  'ClusterProtectConfig',
245
247
  'ClusterProtectConfigWorkloadConfig',
248
+ 'ClusterRbacBindingConfig',
246
249
  'ClusterReleaseChannel',
247
250
  'ClusterResourceUsageExportConfig',
248
251
  'ClusterResourceUsageExportConfigBigqueryDestination',
@@ -309,6 +312,7 @@ __all__ = [
309
312
  'GetClusterAddonsConfigHttpLoadBalancingResult',
310
313
  'GetClusterAddonsConfigIstioConfigResult',
311
314
  'GetClusterAddonsConfigKalmConfigResult',
315
+ 'GetClusterAddonsConfigLustreCsiDriverConfigResult',
312
316
  'GetClusterAddonsConfigNetworkPolicyConfigResult',
313
317
  'GetClusterAddonsConfigParallelstoreCsiDriverConfigResult',
314
318
  'GetClusterAddonsConfigRayOperatorConfigResult',
@@ -343,6 +347,7 @@ __all__ = [
343
347
  'GetClusterGkeAutoUpgradeConfigResult',
344
348
  'GetClusterIdentityServiceConfigResult',
345
349
  'GetClusterIpAllocationPolicyResult',
350
+ 'GetClusterIpAllocationPolicyAdditionalIpRangesConfigResult',
346
351
  'GetClusterIpAllocationPolicyAdditionalPodRangesConfigResult',
347
352
  'GetClusterIpAllocationPolicyPodCidrOverprovisionConfigResult',
348
353
  'GetClusterLoggingConfigResult',
@@ -455,6 +460,7 @@ __all__ = [
455
460
  'GetClusterPrivateClusterConfigMasterGlobalAccessConfigResult',
456
461
  'GetClusterProtectConfigResult',
457
462
  'GetClusterProtectConfigWorkloadConfigResult',
463
+ 'GetClusterRbacBindingConfigResult',
458
464
  'GetClusterReleaseChannelResult',
459
465
  'GetClusterResourceUsageExportConfigResult',
460
466
  'GetClusterResourceUsageExportConfigBigqueryDestinationResult',
@@ -3919,6 +3925,8 @@ class ClusterAddonsConfig(dict):
3919
3925
  suggest = "istio_config"
3920
3926
  elif key == "kalmConfig":
3921
3927
  suggest = "kalm_config"
3928
+ elif key == "lustreCsiDriverConfig":
3929
+ suggest = "lustre_csi_driver_config"
3922
3930
  elif key == "networkPolicyConfig":
3923
3931
  suggest = "network_policy_config"
3924
3932
  elif key == "parallelstoreCsiDriverConfig":
@@ -3951,6 +3959,7 @@ class ClusterAddonsConfig(dict):
3951
3959
  http_load_balancing: Optional['outputs.ClusterAddonsConfigHttpLoadBalancing'] = None,
3952
3960
  istio_config: Optional['outputs.ClusterAddonsConfigIstioConfig'] = None,
3953
3961
  kalm_config: Optional['outputs.ClusterAddonsConfigKalmConfig'] = None,
3962
+ lustre_csi_driver_config: Optional['outputs.ClusterAddonsConfigLustreCsiDriverConfig'] = None,
3954
3963
  network_policy_config: Optional['outputs.ClusterAddonsConfigNetworkPolicyConfig'] = None,
3955
3964
  parallelstore_csi_driver_config: Optional['outputs.ClusterAddonsConfigParallelstoreCsiDriverConfig'] = None,
3956
3965
  ray_operator_configs: Optional[Sequence['outputs.ClusterAddonsConfigRayOperatorConfig']] = None,
@@ -3991,6 +4000,16 @@ class ClusterAddonsConfig(dict):
3991
4000
  Structure is documented below.
3992
4001
  :param 'ClusterAddonsConfigKalmConfigArgs' kalm_config: .
3993
4002
  Configuration for the KALM addon, which manages the lifecycle of k8s. It is disabled by default; Set `enabled = true` to enable.
4003
+ :param 'ClusterAddonsConfigLustreCsiDriverConfigArgs' lustre_csi_driver_config: The status of the Lustre CSI driver addon,
4004
+ which allows the usage of a Lustre instances as volumes.
4005
+ It is disabled by default for Standard clusters; set `enabled = true` to enable.
4006
+ It is disabled by default for Autopilot clusters; set `enabled = true` to enable.
4007
+ Lustre CSI Driver Config has optional subfield
4008
+ `enable_legacy_lustre_port` which allows the Lustre CSI driver to initialize LNet (the virtual networklayer for Lustre kernel module) using port 6988.
4009
+ This flag is required to workaround a port conflict with the gke-metadata-server on GKE nodes.
4010
+ See [Enable Lustre CSI driver](https://cloud.google.com/kubernetes-engine/docs/how-to/persistent-volumes/lustre-csi-driver-new-volume) for more information.
4011
+
4012
+ This example `addons_config` disables two addons:
3994
4013
  :param 'ClusterAddonsConfigNetworkPolicyConfigArgs' network_policy_config: Whether we should enable the network policy addon
3995
4014
  for the master. This must be enabled in order to enable network policy for the nodes.
3996
4015
  To enable this, you must also define a `network_policy` block,
@@ -4002,8 +4021,6 @@ class ClusterAddonsConfig(dict):
4002
4021
  It is disabled by default for Standard clusters; set `enabled = true` to enable.
4003
4022
  It is enabled by default for Autopilot clusters with version 1.29 or later; set `enabled = true` to enable it explicitly.
4004
4023
  See [Enable the Parallelstore CSI driver](https://cloud.google.com/kubernetes-engine/docs/how-to/persistent-volumes/parallelstore-csi-new-volume#enable) for more information.
4005
-
4006
- This example `addons_config` disables two addons:
4007
4024
  :param Sequence['ClusterAddonsConfigRayOperatorConfigArgs'] ray_operator_configs: . The status of the [Ray Operator
4008
4025
  addon](https://cloud.google.com/kubernetes-engine/docs/add-on/ray-on-gke/concepts/overview).
4009
4026
  It is disabled by default. Set `enabled = true` to enable. The minimum
@@ -4042,6 +4059,8 @@ class ClusterAddonsConfig(dict):
4042
4059
  pulumi.set(__self__, "istio_config", istio_config)
4043
4060
  if kalm_config is not None:
4044
4061
  pulumi.set(__self__, "kalm_config", kalm_config)
4062
+ if lustre_csi_driver_config is not None:
4063
+ pulumi.set(__self__, "lustre_csi_driver_config", lustre_csi_driver_config)
4045
4064
  if network_policy_config is not None:
4046
4065
  pulumi.set(__self__, "network_policy_config", network_policy_config)
4047
4066
  if parallelstore_csi_driver_config is not None:
@@ -4163,6 +4182,23 @@ class ClusterAddonsConfig(dict):
4163
4182
  """
4164
4183
  return pulumi.get(self, "kalm_config")
4165
4184
 
4185
+ @_builtins.property
4186
+ @pulumi.getter(name="lustreCsiDriverConfig")
4187
+ def lustre_csi_driver_config(self) -> Optional['outputs.ClusterAddonsConfigLustreCsiDriverConfig']:
4188
+ """
4189
+ The status of the Lustre CSI driver addon,
4190
+ which allows the usage of a Lustre instances as volumes.
4191
+ It is disabled by default for Standard clusters; set `enabled = true` to enable.
4192
+ It is disabled by default for Autopilot clusters; set `enabled = true` to enable.
4193
+ Lustre CSI Driver Config has optional subfield
4194
+ `enable_legacy_lustre_port` which allows the Lustre CSI driver to initialize LNet (the virtual networklayer for Lustre kernel module) using port 6988.
4195
+ This flag is required to workaround a port conflict with the gke-metadata-server on GKE nodes.
4196
+ See [Enable Lustre CSI driver](https://cloud.google.com/kubernetes-engine/docs/how-to/persistent-volumes/lustre-csi-driver-new-volume) for more information.
4197
+
4198
+ This example `addons_config` disables two addons:
4199
+ """
4200
+ return pulumi.get(self, "lustre_csi_driver_config")
4201
+
4166
4202
  @_builtins.property
4167
4203
  @pulumi.getter(name="networkPolicyConfig")
4168
4204
  def network_policy_config(self) -> Optional['outputs.ClusterAddonsConfigNetworkPolicyConfig']:
@@ -4185,8 +4221,6 @@ class ClusterAddonsConfig(dict):
4185
4221
  It is disabled by default for Standard clusters; set `enabled = true` to enable.
4186
4222
  It is enabled by default for Autopilot clusters with version 1.29 or later; set `enabled = true` to enable it explicitly.
4187
4223
  See [Enable the Parallelstore CSI driver](https://cloud.google.com/kubernetes-engine/docs/how-to/persistent-volumes/parallelstore-csi-new-volume#enable) for more information.
4188
-
4189
- This example `addons_config` disables two addons:
4190
4224
  """
4191
4225
  return pulumi.get(self, "parallelstore_csi_driver_config")
4192
4226
 
@@ -4429,6 +4463,55 @@ class ClusterAddonsConfigKalmConfig(dict):
4429
4463
  return pulumi.get(self, "enabled")
4430
4464
 
4431
4465
 
4466
+ @pulumi.output_type
4467
+ class ClusterAddonsConfigLustreCsiDriverConfig(dict):
4468
+ @staticmethod
4469
+ def __key_warning(key: str):
4470
+ suggest = None
4471
+ if key == "enableLegacyLustrePort":
4472
+ suggest = "enable_legacy_lustre_port"
4473
+
4474
+ if suggest:
4475
+ pulumi.log.warn(f"Key '{key}' not found in ClusterAddonsConfigLustreCsiDriverConfig. Access the value via the '{suggest}' property getter instead.")
4476
+
4477
+ def __getitem__(self, key: str) -> Any:
4478
+ ClusterAddonsConfigLustreCsiDriverConfig.__key_warning(key)
4479
+ return super().__getitem__(key)
4480
+
4481
+ def get(self, key: str, default = None) -> Any:
4482
+ ClusterAddonsConfigLustreCsiDriverConfig.__key_warning(key)
4483
+ return super().get(key, default)
4484
+
4485
+ def __init__(__self__, *,
4486
+ enabled: _builtins.bool,
4487
+ enable_legacy_lustre_port: Optional[_builtins.bool] = None):
4488
+ """
4489
+ :param _builtins.bool enabled: Whether the Lustre CSI driver is enabled for this cluster.
4490
+ :param _builtins.bool enable_legacy_lustre_port: If set to true, the Lustre CSI driver will initialize LNet (the virtual network layer for Lustre kernel module) using port 6988.
4491
+ This flag is required to workaround a port conflict with the gke-metadata-server on GKE nodes.
4492
+ """
4493
+ pulumi.set(__self__, "enabled", enabled)
4494
+ if enable_legacy_lustre_port is not None:
4495
+ pulumi.set(__self__, "enable_legacy_lustre_port", enable_legacy_lustre_port)
4496
+
4497
+ @_builtins.property
4498
+ @pulumi.getter
4499
+ def enabled(self) -> _builtins.bool:
4500
+ """
4501
+ Whether the Lustre CSI driver is enabled for this cluster.
4502
+ """
4503
+ return pulumi.get(self, "enabled")
4504
+
4505
+ @_builtins.property
4506
+ @pulumi.getter(name="enableLegacyLustrePort")
4507
+ def enable_legacy_lustre_port(self) -> Optional[_builtins.bool]:
4508
+ """
4509
+ If set to true, the Lustre CSI driver will initialize LNet (the virtual network layer for Lustre kernel module) using port 6988.
4510
+ This flag is required to workaround a port conflict with the gke-metadata-server on GKE nodes.
4511
+ """
4512
+ return pulumi.get(self, "enable_legacy_lustre_port")
4513
+
4514
+
4432
4515
  @pulumi.output_type
4433
4516
  class ClusterAddonsConfigNetworkPolicyConfig(dict):
4434
4517
  def __init__(__self__, *,
@@ -5975,7 +6058,9 @@ class ClusterIpAllocationPolicy(dict):
5975
6058
  @staticmethod
5976
6059
  def __key_warning(key: str):
5977
6060
  suggest = None
5978
- if key == "additionalPodRangesConfig":
6061
+ if key == "additionalIpRangesConfigs":
6062
+ suggest = "additional_ip_ranges_configs"
6063
+ elif key == "additionalPodRangesConfig":
5979
6064
  suggest = "additional_pod_ranges_config"
5980
6065
  elif key == "clusterIpv4CidrBlock":
5981
6066
  suggest = "cluster_ipv4_cidr_block"
@@ -6002,6 +6087,7 @@ class ClusterIpAllocationPolicy(dict):
6002
6087
  return super().get(key, default)
6003
6088
 
6004
6089
  def __init__(__self__, *,
6090
+ additional_ip_ranges_configs: Optional[Sequence['outputs.ClusterIpAllocationPolicyAdditionalIpRangesConfig']] = None,
6005
6091
  additional_pod_ranges_config: Optional['outputs.ClusterIpAllocationPolicyAdditionalPodRangesConfig'] = None,
6006
6092
  cluster_ipv4_cidr_block: Optional[_builtins.str] = None,
6007
6093
  cluster_secondary_range_name: Optional[_builtins.str] = None,
@@ -6010,6 +6096,8 @@ class ClusterIpAllocationPolicy(dict):
6010
6096
  services_secondary_range_name: Optional[_builtins.str] = None,
6011
6097
  stack_type: Optional[_builtins.str] = None):
6012
6098
  """
6099
+ :param Sequence['ClusterIpAllocationPolicyAdditionalIpRangesConfigArgs'] additional_ip_ranges_configs: The configuration for individual additional subnetworks attached to the cluster.
6100
+ Structure is documented below.
6013
6101
  :param 'ClusterIpAllocationPolicyAdditionalPodRangesConfigArgs' additional_pod_ranges_config: The configuration for additional pod secondary ranges at
6014
6102
  the cluster level. Used for Autopilot clusters and Standard clusters with which control of the
6015
6103
  secondary Pod IP address assignment to node pools isn't needed. Structure is documented below.
@@ -6035,6 +6123,8 @@ class ClusterIpAllocationPolicy(dict):
6035
6123
  Default value is `IPV4`.
6036
6124
  Possible values are `IPV4` and `IPV4_IPV6`.
6037
6125
  """
6126
+ if additional_ip_ranges_configs is not None:
6127
+ pulumi.set(__self__, "additional_ip_ranges_configs", additional_ip_ranges_configs)
6038
6128
  if additional_pod_ranges_config is not None:
6039
6129
  pulumi.set(__self__, "additional_pod_ranges_config", additional_pod_ranges_config)
6040
6130
  if cluster_ipv4_cidr_block is not None:
@@ -6050,6 +6140,15 @@ class ClusterIpAllocationPolicy(dict):
6050
6140
  if stack_type is not None:
6051
6141
  pulumi.set(__self__, "stack_type", stack_type)
6052
6142
 
6143
+ @_builtins.property
6144
+ @pulumi.getter(name="additionalIpRangesConfigs")
6145
+ def additional_ip_ranges_configs(self) -> Optional[Sequence['outputs.ClusterIpAllocationPolicyAdditionalIpRangesConfig']]:
6146
+ """
6147
+ The configuration for individual additional subnetworks attached to the cluster.
6148
+ Structure is documented below.
6149
+ """
6150
+ return pulumi.get(self, "additional_ip_ranges_configs")
6151
+
6053
6152
  @_builtins.property
6054
6153
  @pulumi.getter(name="additionalPodRangesConfig")
6055
6154
  def additional_pod_ranges_config(self) -> Optional['outputs.ClusterIpAllocationPolicyAdditionalPodRangesConfig']:
@@ -6124,6 +6223,53 @@ class ClusterIpAllocationPolicy(dict):
6124
6223
  return pulumi.get(self, "stack_type")
6125
6224
 
6126
6225
 
6226
+ @pulumi.output_type
6227
+ class ClusterIpAllocationPolicyAdditionalIpRangesConfig(dict):
6228
+ @staticmethod
6229
+ def __key_warning(key: str):
6230
+ suggest = None
6231
+ if key == "podIpv4RangeNames":
6232
+ suggest = "pod_ipv4_range_names"
6233
+
6234
+ if suggest:
6235
+ pulumi.log.warn(f"Key '{key}' not found in ClusterIpAllocationPolicyAdditionalIpRangesConfig. Access the value via the '{suggest}' property getter instead.")
6236
+
6237
+ def __getitem__(self, key: str) -> Any:
6238
+ ClusterIpAllocationPolicyAdditionalIpRangesConfig.__key_warning(key)
6239
+ return super().__getitem__(key)
6240
+
6241
+ def get(self, key: str, default = None) -> Any:
6242
+ ClusterIpAllocationPolicyAdditionalIpRangesConfig.__key_warning(key)
6243
+ return super().get(key, default)
6244
+
6245
+ def __init__(__self__, *,
6246
+ subnetwork: _builtins.str,
6247
+ pod_ipv4_range_names: Optional[Sequence[_builtins.str]] = None):
6248
+ """
6249
+ :param _builtins.str subnetwork: Name of the subnetwork. This can be the full path of the subnetwork or just the name.
6250
+ :param Sequence[_builtins.str] pod_ipv4_range_names: List of secondary ranges names within this subnetwork that can be used for pod IPs.
6251
+ """
6252
+ pulumi.set(__self__, "subnetwork", subnetwork)
6253
+ if pod_ipv4_range_names is not None:
6254
+ pulumi.set(__self__, "pod_ipv4_range_names", pod_ipv4_range_names)
6255
+
6256
+ @_builtins.property
6257
+ @pulumi.getter
6258
+ def subnetwork(self) -> _builtins.str:
6259
+ """
6260
+ Name of the subnetwork. This can be the full path of the subnetwork or just the name.
6261
+ """
6262
+ return pulumi.get(self, "subnetwork")
6263
+
6264
+ @_builtins.property
6265
+ @pulumi.getter(name="podIpv4RangeNames")
6266
+ def pod_ipv4_range_names(self) -> Optional[Sequence[_builtins.str]]:
6267
+ """
6268
+ List of secondary ranges names within this subnetwork that can be used for pod IPs.
6269
+ """
6270
+ return pulumi.get(self, "pod_ipv4_range_names")
6271
+
6272
+
6127
6273
  @pulumi.output_type
6128
6274
  class ClusterIpAllocationPolicyAdditionalPodRangesConfig(dict):
6129
6275
  @staticmethod
@@ -10230,7 +10376,8 @@ class ClusterNodePoolNetworkConfig(dict):
10230
10376
  network_performance_config: Optional['outputs.ClusterNodePoolNetworkConfigNetworkPerformanceConfig'] = None,
10231
10377
  pod_cidr_overprovision_config: Optional['outputs.ClusterNodePoolNetworkConfigPodCidrOverprovisionConfig'] = None,
10232
10378
  pod_ipv4_cidr_block: Optional[_builtins.str] = None,
10233
- pod_range: Optional[_builtins.str] = None):
10379
+ pod_range: Optional[_builtins.str] = None,
10380
+ subnetwork: Optional[_builtins.str] = None):
10234
10381
  """
10235
10382
  :param Sequence['ClusterNodePoolNetworkConfigAdditionalNodeNetworkConfigArgs'] additional_node_network_configs: We specify the additional node networks for this node pool using this list. Each node network corresponds to an additional interface
10236
10383
  :param Sequence['ClusterNodePoolNetworkConfigAdditionalPodNetworkConfigArgs'] additional_pod_network_configs: We specify the additional pod networks for this node pool using this list. Each pod network corresponds to an additional alias IP range for the node
@@ -10240,6 +10387,8 @@ class ClusterNodePoolNetworkConfig(dict):
10240
10387
  :param 'ClusterNodePoolNetworkConfigPodCidrOverprovisionConfigArgs' pod_cidr_overprovision_config: Configuration for node-pool level pod cidr overprovision. If not set, the cluster level setting will be inherited
10241
10388
  :param _builtins.str pod_ipv4_cidr_block: The IP address range for pod IPs in this node pool. Only applicable if create_pod_range is true. Set to blank to have a range chosen with the default size. Set to /netmask (e.g. /14) to have a range chosen with a specific netmask. Set to a CIDR notation (e.g. 10.96.0.0/14) to pick a specific range to use.
10242
10389
  :param _builtins.str pod_range: The ID of the secondary range for pod IPs. If create_pod_range is true, this ID is used for the new range. If create_pod_range is false, uses an existing secondary range with this ID.
10390
+ :param _builtins.str subnetwork: The name or self_link of the Google Compute Engine
10391
+ subnetwork in which the cluster's instances are launched.
10243
10392
  """
10244
10393
  if additional_node_network_configs is not None:
10245
10394
  pulumi.set(__self__, "additional_node_network_configs", additional_node_network_configs)
@@ -10257,6 +10406,8 @@ class ClusterNodePoolNetworkConfig(dict):
10257
10406
  pulumi.set(__self__, "pod_ipv4_cidr_block", pod_ipv4_cidr_block)
10258
10407
  if pod_range is not None:
10259
10408
  pulumi.set(__self__, "pod_range", pod_range)
10409
+ if subnetwork is not None:
10410
+ pulumi.set(__self__, "subnetwork", subnetwork)
10260
10411
 
10261
10412
  @_builtins.property
10262
10413
  @pulumi.getter(name="additionalNodeNetworkConfigs")
@@ -10322,6 +10473,15 @@ class ClusterNodePoolNetworkConfig(dict):
10322
10473
  """
10323
10474
  return pulumi.get(self, "pod_range")
10324
10475
 
10476
+ @_builtins.property
10477
+ @pulumi.getter
10478
+ def subnetwork(self) -> Optional[_builtins.str]:
10479
+ """
10480
+ The name or self_link of the Google Compute Engine
10481
+ subnetwork in which the cluster's instances are launched.
10482
+ """
10483
+ return pulumi.get(self, "subnetwork")
10484
+
10325
10485
 
10326
10486
  @pulumi.output_type
10327
10487
  class ClusterNodePoolNetworkConfigAdditionalNodeNetworkConfig(dict):
@@ -13377,6 +13537,56 @@ class ClusterProtectConfigWorkloadConfig(dict):
13377
13537
  return pulumi.get(self, "audit_mode")
13378
13538
 
13379
13539
 
13540
+ @pulumi.output_type
13541
+ class ClusterRbacBindingConfig(dict):
13542
+ @staticmethod
13543
+ def __key_warning(key: str):
13544
+ suggest = None
13545
+ if key == "enableInsecureBindingSystemAuthenticated":
13546
+ suggest = "enable_insecure_binding_system_authenticated"
13547
+ elif key == "enableInsecureBindingSystemUnauthenticated":
13548
+ suggest = "enable_insecure_binding_system_unauthenticated"
13549
+
13550
+ if suggest:
13551
+ pulumi.log.warn(f"Key '{key}' not found in ClusterRbacBindingConfig. Access the value via the '{suggest}' property getter instead.")
13552
+
13553
+ def __getitem__(self, key: str) -> Any:
13554
+ ClusterRbacBindingConfig.__key_warning(key)
13555
+ return super().__getitem__(key)
13556
+
13557
+ def get(self, key: str, default = None) -> Any:
13558
+ ClusterRbacBindingConfig.__key_warning(key)
13559
+ return super().get(key, default)
13560
+
13561
+ def __init__(__self__, *,
13562
+ enable_insecure_binding_system_authenticated: Optional[_builtins.bool] = None,
13563
+ enable_insecure_binding_system_unauthenticated: Optional[_builtins.bool] = None):
13564
+ """
13565
+ :param _builtins.bool enable_insecure_binding_system_authenticated: Setting this to true will allow any ClusterRoleBinding and RoleBinding with subjects system:authenticated.
13566
+ :param _builtins.bool enable_insecure_binding_system_unauthenticated: Setting this to true will allow any ClusterRoleBinding and RoleBinding with subjects system:anonymous or system:unauthenticated.
13567
+ """
13568
+ if enable_insecure_binding_system_authenticated is not None:
13569
+ pulumi.set(__self__, "enable_insecure_binding_system_authenticated", enable_insecure_binding_system_authenticated)
13570
+ if enable_insecure_binding_system_unauthenticated is not None:
13571
+ pulumi.set(__self__, "enable_insecure_binding_system_unauthenticated", enable_insecure_binding_system_unauthenticated)
13572
+
13573
+ @_builtins.property
13574
+ @pulumi.getter(name="enableInsecureBindingSystemAuthenticated")
13575
+ def enable_insecure_binding_system_authenticated(self) -> Optional[_builtins.bool]:
13576
+ """
13577
+ Setting this to true will allow any ClusterRoleBinding and RoleBinding with subjects system:authenticated.
13578
+ """
13579
+ return pulumi.get(self, "enable_insecure_binding_system_authenticated")
13580
+
13581
+ @_builtins.property
13582
+ @pulumi.getter(name="enableInsecureBindingSystemUnauthenticated")
13583
+ def enable_insecure_binding_system_unauthenticated(self) -> Optional[_builtins.bool]:
13584
+ """
13585
+ Setting this to true will allow any ClusterRoleBinding and RoleBinding with subjects system:anonymous or system:unauthenticated.
13586
+ """
13587
+ return pulumi.get(self, "enable_insecure_binding_system_unauthenticated")
13588
+
13589
+
13380
13590
  @pulumi.output_type
13381
13591
  class ClusterReleaseChannel(dict):
13382
13592
  def __init__(__self__, *,
@@ -14166,7 +14376,8 @@ class NodePoolNetworkConfig(dict):
14166
14376
  network_performance_config: Optional['outputs.NodePoolNetworkConfigNetworkPerformanceConfig'] = None,
14167
14377
  pod_cidr_overprovision_config: Optional['outputs.NodePoolNetworkConfigPodCidrOverprovisionConfig'] = None,
14168
14378
  pod_ipv4_cidr_block: Optional[_builtins.str] = None,
14169
- pod_range: Optional[_builtins.str] = None):
14379
+ pod_range: Optional[_builtins.str] = None,
14380
+ subnetwork: Optional[_builtins.str] = None):
14170
14381
  """
14171
14382
  :param Sequence['NodePoolNetworkConfigAdditionalNodeNetworkConfigArgs'] additional_node_network_configs: We specify the additional node networks for this node pool using this list. Each node network corresponds to an additional interface.
14172
14383
  Structure is documented below
@@ -14178,6 +14389,7 @@ class NodePoolNetworkConfig(dict):
14178
14389
  :param 'NodePoolNetworkConfigPodCidrOverprovisionConfigArgs' pod_cidr_overprovision_config: Configuration for node-pool level pod cidr overprovision. If not set, the cluster level setting will be inherited. Structure is documented below.
14179
14390
  :param _builtins.str pod_ipv4_cidr_block: The IP address range for pod IPs in this node pool. Only applicable if createPodRange is true. Set to blank to have a range chosen with the default size. Set to /netmask (e.g. /14) to have a range chosen with a specific netmask. Set to a CIDR notation (e.g. 10.96.0.0/14) to pick a specific range to use.
14180
14391
  :param _builtins.str pod_range: The ID of the secondary range for pod IPs. If `create_pod_range` is true, this ID is used for the new range. If `create_pod_range` is false, uses an existing secondary range with this ID.
14392
+ :param _builtins.str subnetwork: The subnetwork path for the node pool. Format: `projects/{project}/regions/{region}/subnetworks/{subnetwork}`. If the cluster is associated with multiple subnetworks, the subnetwork for the node pool is picked based on the IP utilization during node pool creation and is immutable
14181
14393
  """
14182
14394
  if additional_node_network_configs is not None:
14183
14395
  pulumi.set(__self__, "additional_node_network_configs", additional_node_network_configs)
@@ -14195,6 +14407,8 @@ class NodePoolNetworkConfig(dict):
14195
14407
  pulumi.set(__self__, "pod_ipv4_cidr_block", pod_ipv4_cidr_block)
14196
14408
  if pod_range is not None:
14197
14409
  pulumi.set(__self__, "pod_range", pod_range)
14410
+ if subnetwork is not None:
14411
+ pulumi.set(__self__, "subnetwork", subnetwork)
14198
14412
 
14199
14413
  @_builtins.property
14200
14414
  @pulumi.getter(name="additionalNodeNetworkConfigs")
@@ -14262,6 +14476,14 @@ class NodePoolNetworkConfig(dict):
14262
14476
  """
14263
14477
  return pulumi.get(self, "pod_range")
14264
14478
 
14479
+ @_builtins.property
14480
+ @pulumi.getter
14481
+ def subnetwork(self) -> Optional[_builtins.str]:
14482
+ """
14483
+ The subnetwork path for the node pool. Format: `projects/{project}/regions/{region}/subnetworks/{subnetwork}`. If the cluster is associated with multiple subnetworks, the subnetwork for the node pool is picked based on the IP utilization during node pool creation and is immutable
14484
+ """
14485
+ return pulumi.get(self, "subnetwork")
14486
+
14265
14487
 
14266
14488
  @pulumi.output_type
14267
14489
  class NodePoolNetworkConfigAdditionalNodeNetworkConfig(dict):
@@ -16704,6 +16926,7 @@ class GetClusterAddonsConfigResult(dict):
16704
16926
  http_load_balancings: Sequence['outputs.GetClusterAddonsConfigHttpLoadBalancingResult'],
16705
16927
  istio_configs: Sequence['outputs.GetClusterAddonsConfigIstioConfigResult'],
16706
16928
  kalm_configs: Sequence['outputs.GetClusterAddonsConfigKalmConfigResult'],
16929
+ lustre_csi_driver_configs: Sequence['outputs.GetClusterAddonsConfigLustreCsiDriverConfigResult'],
16707
16930
  network_policy_configs: Sequence['outputs.GetClusterAddonsConfigNetworkPolicyConfigResult'],
16708
16931
  parallelstore_csi_driver_configs: Sequence['outputs.GetClusterAddonsConfigParallelstoreCsiDriverConfigResult'],
16709
16932
  ray_operator_configs: Sequence['outputs.GetClusterAddonsConfigRayOperatorConfigResult'],
@@ -16720,6 +16943,7 @@ class GetClusterAddonsConfigResult(dict):
16720
16943
  :param Sequence['GetClusterAddonsConfigHttpLoadBalancingArgs'] http_load_balancings: The status of the HTTP (L7) load balancing controller addon, which makes it easy to set up HTTP load balancers for services in a cluster. It is enabled by default; set disabled = true to disable.
16721
16944
  :param Sequence['GetClusterAddonsConfigIstioConfigArgs'] istio_configs: The status of the Istio addon.
16722
16945
  :param Sequence['GetClusterAddonsConfigKalmConfigArgs'] kalm_configs: Configuration for the KALM addon, which manages the lifecycle of k8s. It is disabled by default; Set enabled = true to enable.
16946
+ :param Sequence['GetClusterAddonsConfigLustreCsiDriverConfigArgs'] lustre_csi_driver_configs: Configuration for the Lustre CSI driver. Defaults to disabled; set enabled = true to enable.
16723
16947
  :param Sequence['GetClusterAddonsConfigNetworkPolicyConfigArgs'] network_policy_configs: Whether we should enable the network policy addon for the master. This must be enabled in order to enable network policy for the nodes. To enable this, you must also define a network_policy block, otherwise nothing will happen. It can only be disabled if the nodes already do not have network policies enabled. Defaults to disabled; set disabled = false to enable.
16724
16948
  :param Sequence['GetClusterAddonsConfigParallelstoreCsiDriverConfigArgs'] parallelstore_csi_driver_configs: The status of the Parallelstore CSI driver addon, which allows the usage of Parallelstore instances as volumes. Defaults to disabled; set enabled = true to enable.
16725
16949
  :param Sequence['GetClusterAddonsConfigRayOperatorConfigArgs'] ray_operator_configs: The status of the Ray Operator addon, which enabled management of Ray AI/ML jobs on GKE. Defaults to disabled; set enabled = true to enable.
@@ -16736,6 +16960,7 @@ class GetClusterAddonsConfigResult(dict):
16736
16960
  pulumi.set(__self__, "http_load_balancings", http_load_balancings)
16737
16961
  pulumi.set(__self__, "istio_configs", istio_configs)
16738
16962
  pulumi.set(__self__, "kalm_configs", kalm_configs)
16963
+ pulumi.set(__self__, "lustre_csi_driver_configs", lustre_csi_driver_configs)
16739
16964
  pulumi.set(__self__, "network_policy_configs", network_policy_configs)
16740
16965
  pulumi.set(__self__, "parallelstore_csi_driver_configs", parallelstore_csi_driver_configs)
16741
16966
  pulumi.set(__self__, "ray_operator_configs", ray_operator_configs)
@@ -16829,6 +17054,14 @@ class GetClusterAddonsConfigResult(dict):
16829
17054
  """
16830
17055
  return pulumi.get(self, "kalm_configs")
16831
17056
 
17057
+ @_builtins.property
17058
+ @pulumi.getter(name="lustreCsiDriverConfigs")
17059
+ def lustre_csi_driver_configs(self) -> Sequence['outputs.GetClusterAddonsConfigLustreCsiDriverConfigResult']:
17060
+ """
17061
+ Configuration for the Lustre CSI driver. Defaults to disabled; set enabled = true to enable.
17062
+ """
17063
+ return pulumi.get(self, "lustre_csi_driver_configs")
17064
+
16832
17065
  @_builtins.property
16833
17066
  @pulumi.getter(name="networkPolicyConfigs")
16834
17067
  def network_policy_configs(self) -> Sequence['outputs.GetClusterAddonsConfigNetworkPolicyConfigResult']:
@@ -17018,6 +17251,37 @@ class GetClusterAddonsConfigKalmConfigResult(dict):
17018
17251
  return pulumi.get(self, "enabled")
17019
17252
 
17020
17253
 
17254
+ @pulumi.output_type
17255
+ class GetClusterAddonsConfigLustreCsiDriverConfigResult(dict):
17256
+ def __init__(__self__, *,
17257
+ enable_legacy_lustre_port: _builtins.bool,
17258
+ enabled: _builtins.bool):
17259
+ """
17260
+ :param _builtins.bool enable_legacy_lustre_port: If set to true, the Lustre CSI driver will initialize LNet (the virtual network layer for Lustre kernel module) using port 6988.
17261
+ This flag is required to workaround a port conflict with the gke-metadata-server on GKE nodes.
17262
+ :param _builtins.bool enabled: Whether the Lustre CSI driver is enabled for this cluster.
17263
+ """
17264
+ pulumi.set(__self__, "enable_legacy_lustre_port", enable_legacy_lustre_port)
17265
+ pulumi.set(__self__, "enabled", enabled)
17266
+
17267
+ @_builtins.property
17268
+ @pulumi.getter(name="enableLegacyLustrePort")
17269
+ def enable_legacy_lustre_port(self) -> _builtins.bool:
17270
+ """
17271
+ If set to true, the Lustre CSI driver will initialize LNet (the virtual network layer for Lustre kernel module) using port 6988.
17272
+ This flag is required to workaround a port conflict with the gke-metadata-server on GKE nodes.
17273
+ """
17274
+ return pulumi.get(self, "enable_legacy_lustre_port")
17275
+
17276
+ @_builtins.property
17277
+ @pulumi.getter
17278
+ def enabled(self) -> _builtins.bool:
17279
+ """
17280
+ Whether the Lustre CSI driver is enabled for this cluster.
17281
+ """
17282
+ return pulumi.get(self, "enabled")
17283
+
17284
+
17021
17285
  @pulumi.output_type
17022
17286
  class GetClusterAddonsConfigNetworkPolicyConfigResult(dict):
17023
17287
  def __init__(__self__, *,
@@ -18039,6 +18303,7 @@ class GetClusterIdentityServiceConfigResult(dict):
18039
18303
  @pulumi.output_type
18040
18304
  class GetClusterIpAllocationPolicyResult(dict):
18041
18305
  def __init__(__self__, *,
18306
+ additional_ip_ranges_configs: Sequence['outputs.GetClusterIpAllocationPolicyAdditionalIpRangesConfigResult'],
18042
18307
  additional_pod_ranges_configs: Sequence['outputs.GetClusterIpAllocationPolicyAdditionalPodRangesConfigResult'],
18043
18308
  cluster_ipv4_cidr_block: _builtins.str,
18044
18309
  cluster_secondary_range_name: _builtins.str,
@@ -18047,6 +18312,7 @@ class GetClusterIpAllocationPolicyResult(dict):
18047
18312
  services_secondary_range_name: _builtins.str,
18048
18313
  stack_type: _builtins.str):
18049
18314
  """
18315
+ :param Sequence['GetClusterIpAllocationPolicyAdditionalIpRangesConfigArgs'] additional_ip_ranges_configs: AdditionalIPRangesConfig is the configuration for individual additional subnetworks attached to the cluster
18050
18316
  :param Sequence['GetClusterIpAllocationPolicyAdditionalPodRangesConfigArgs'] additional_pod_ranges_configs: AdditionalPodRangesConfig is the configuration for additional pod secondary ranges supporting the ClusterUpdate message.
18051
18317
  :param _builtins.str cluster_ipv4_cidr_block: The IP address range for the cluster pod IPs. Set to blank to have a range chosen with the default size. Set to /netmask (e.g. /14) to have a range chosen with a specific netmask. Set to a CIDR notation (e.g. 10.96.0.0/14) from the RFC-1918 private networks (e.g. 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16) to pick a specific range to use.
18052
18318
  :param _builtins.str cluster_secondary_range_name: The name of the existing secondary range in the cluster's subnetwork to use for pod IP addresses. Alternatively, cluster_ipv4_cidr_block can be used to automatically create a GKE-managed one.
@@ -18055,6 +18321,7 @@ class GetClusterIpAllocationPolicyResult(dict):
18055
18321
  :param _builtins.str services_secondary_range_name: The name of the existing secondary range in the cluster's subnetwork to use for service ClusterIPs. Alternatively, services_ipv4_cidr_block can be used to automatically create a GKE-managed one.
18056
18322
  :param _builtins.str stack_type: The IP Stack type of the cluster. Choose between IPV4 and IPV4_IPV6. Default type is IPV4 Only if not set
18057
18323
  """
18324
+ pulumi.set(__self__, "additional_ip_ranges_configs", additional_ip_ranges_configs)
18058
18325
  pulumi.set(__self__, "additional_pod_ranges_configs", additional_pod_ranges_configs)
18059
18326
  pulumi.set(__self__, "cluster_ipv4_cidr_block", cluster_ipv4_cidr_block)
18060
18327
  pulumi.set(__self__, "cluster_secondary_range_name", cluster_secondary_range_name)
@@ -18063,6 +18330,14 @@ class GetClusterIpAllocationPolicyResult(dict):
18063
18330
  pulumi.set(__self__, "services_secondary_range_name", services_secondary_range_name)
18064
18331
  pulumi.set(__self__, "stack_type", stack_type)
18065
18332
 
18333
+ @_builtins.property
18334
+ @pulumi.getter(name="additionalIpRangesConfigs")
18335
+ def additional_ip_ranges_configs(self) -> Sequence['outputs.GetClusterIpAllocationPolicyAdditionalIpRangesConfigResult']:
18336
+ """
18337
+ AdditionalIPRangesConfig is the configuration for individual additional subnetworks attached to the cluster
18338
+ """
18339
+ return pulumi.get(self, "additional_ip_ranges_configs")
18340
+
18066
18341
  @_builtins.property
18067
18342
  @pulumi.getter(name="additionalPodRangesConfigs")
18068
18343
  def additional_pod_ranges_configs(self) -> Sequence['outputs.GetClusterIpAllocationPolicyAdditionalPodRangesConfigResult']:
@@ -18120,6 +18395,35 @@ class GetClusterIpAllocationPolicyResult(dict):
18120
18395
  return pulumi.get(self, "stack_type")
18121
18396
 
18122
18397
 
18398
+ @pulumi.output_type
18399
+ class GetClusterIpAllocationPolicyAdditionalIpRangesConfigResult(dict):
18400
+ def __init__(__self__, *,
18401
+ pod_ipv4_range_names: Sequence[_builtins.str],
18402
+ subnetwork: _builtins.str):
18403
+ """
18404
+ :param Sequence[_builtins.str] pod_ipv4_range_names: List of secondary ranges names within this subnetwork that can be used for pod IPs.
18405
+ :param _builtins.str subnetwork: Name of the subnetwork. This can be the full path of the subnetwork or just the name.
18406
+ """
18407
+ pulumi.set(__self__, "pod_ipv4_range_names", pod_ipv4_range_names)
18408
+ pulumi.set(__self__, "subnetwork", subnetwork)
18409
+
18410
+ @_builtins.property
18411
+ @pulumi.getter(name="podIpv4RangeNames")
18412
+ def pod_ipv4_range_names(self) -> Sequence[_builtins.str]:
18413
+ """
18414
+ List of secondary ranges names within this subnetwork that can be used for pod IPs.
18415
+ """
18416
+ return pulumi.get(self, "pod_ipv4_range_names")
18417
+
18418
+ @_builtins.property
18419
+ @pulumi.getter
18420
+ def subnetwork(self) -> _builtins.str:
18421
+ """
18422
+ Name of the subnetwork. This can be the full path of the subnetwork or just the name.
18423
+ """
18424
+ return pulumi.get(self, "subnetwork")
18425
+
18426
+
18123
18427
  @pulumi.output_type
18124
18428
  class GetClusterIpAllocationPolicyAdditionalPodRangesConfigResult(dict):
18125
18429
  def __init__(__self__, *,
@@ -20604,7 +20908,8 @@ class GetClusterNodePoolNetworkConfigResult(dict):
20604
20908
  network_performance_configs: Sequence['outputs.GetClusterNodePoolNetworkConfigNetworkPerformanceConfigResult'],
20605
20909
  pod_cidr_overprovision_configs: Sequence['outputs.GetClusterNodePoolNetworkConfigPodCidrOverprovisionConfigResult'],
20606
20910
  pod_ipv4_cidr_block: _builtins.str,
20607
- pod_range: _builtins.str):
20911
+ pod_range: _builtins.str,
20912
+ subnetwork: _builtins.str):
20608
20913
  """
20609
20914
  :param Sequence['GetClusterNodePoolNetworkConfigAdditionalNodeNetworkConfigArgs'] additional_node_network_configs: We specify the additional node networks for this node pool using this list. Each node network corresponds to an additional interface
20610
20915
  :param Sequence['GetClusterNodePoolNetworkConfigAdditionalPodNetworkConfigArgs'] additional_pod_network_configs: We specify the additional pod networks for this node pool using this list. Each pod network corresponds to an additional alias IP range for the node
@@ -20614,6 +20919,7 @@ class GetClusterNodePoolNetworkConfigResult(dict):
20614
20919
  :param Sequence['GetClusterNodePoolNetworkConfigPodCidrOverprovisionConfigArgs'] pod_cidr_overprovision_configs: Configuration for node-pool level pod cidr overprovision. If not set, the cluster level setting will be inherited
20615
20920
  :param _builtins.str pod_ipv4_cidr_block: The IP address range for pod IPs in this node pool. Only applicable if create_pod_range is true. Set to blank to have a range chosen with the default size. Set to /netmask (e.g. /14) to have a range chosen with a specific netmask. Set to a CIDR notation (e.g. 10.96.0.0/14) to pick a specific range to use.
20616
20921
  :param _builtins.str pod_range: The ID of the secondary range for pod IPs. If create_pod_range is true, this ID is used for the new range. If create_pod_range is false, uses an existing secondary range with this ID.
20922
+ :param _builtins.str subnetwork: The subnetwork path for the node pool. Format: projects/{project}/regions/{region}/subnetworks/{subnetwork} . If the cluster is associated with multiple subnetworks, the subnetwork for the node pool is picked based on the IP utilization during node pool creation and is immutable.
20617
20923
  """
20618
20924
  pulumi.set(__self__, "additional_node_network_configs", additional_node_network_configs)
20619
20925
  pulumi.set(__self__, "additional_pod_network_configs", additional_pod_network_configs)
@@ -20623,6 +20929,7 @@ class GetClusterNodePoolNetworkConfigResult(dict):
20623
20929
  pulumi.set(__self__, "pod_cidr_overprovision_configs", pod_cidr_overprovision_configs)
20624
20930
  pulumi.set(__self__, "pod_ipv4_cidr_block", pod_ipv4_cidr_block)
20625
20931
  pulumi.set(__self__, "pod_range", pod_range)
20932
+ pulumi.set(__self__, "subnetwork", subnetwork)
20626
20933
 
20627
20934
  @_builtins.property
20628
20935
  @pulumi.getter(name="additionalNodeNetworkConfigs")
@@ -20688,6 +20995,14 @@ class GetClusterNodePoolNetworkConfigResult(dict):
20688
20995
  """
20689
20996
  return pulumi.get(self, "pod_range")
20690
20997
 
20998
+ @_builtins.property
20999
+ @pulumi.getter
21000
+ def subnetwork(self) -> _builtins.str:
21001
+ """
21002
+ The subnetwork path for the node pool. Format: projects/{project}/regions/{region}/subnetworks/{subnetwork} . If the cluster is associated with multiple subnetworks, the subnetwork for the node pool is picked based on the IP utilization during node pool creation and is immutable.
21003
+ """
21004
+ return pulumi.get(self, "subnetwork")
21005
+
20691
21006
 
20692
21007
  @pulumi.output_type
20693
21008
  class GetClusterNodePoolNetworkConfigAdditionalNodeNetworkConfigResult(dict):
@@ -22653,6 +22968,35 @@ class GetClusterProtectConfigWorkloadConfigResult(dict):
22653
22968
  return pulumi.get(self, "audit_mode")
22654
22969
 
22655
22970
 
22971
+ @pulumi.output_type
22972
+ class GetClusterRbacBindingConfigResult(dict):
22973
+ def __init__(__self__, *,
22974
+ enable_insecure_binding_system_authenticated: _builtins.bool,
22975
+ enable_insecure_binding_system_unauthenticated: _builtins.bool):
22976
+ """
22977
+ :param _builtins.bool enable_insecure_binding_system_authenticated: Setting this to true will allow any ClusterRoleBinding and RoleBinding with subjects system:authenticated.
22978
+ :param _builtins.bool enable_insecure_binding_system_unauthenticated: Setting this to true will allow any ClusterRoleBinding and RoleBinding with subjects system:anonymous or system:unauthenticated.
22979
+ """
22980
+ pulumi.set(__self__, "enable_insecure_binding_system_authenticated", enable_insecure_binding_system_authenticated)
22981
+ pulumi.set(__self__, "enable_insecure_binding_system_unauthenticated", enable_insecure_binding_system_unauthenticated)
22982
+
22983
+ @_builtins.property
22984
+ @pulumi.getter(name="enableInsecureBindingSystemAuthenticated")
22985
+ def enable_insecure_binding_system_authenticated(self) -> _builtins.bool:
22986
+ """
22987
+ Setting this to true will allow any ClusterRoleBinding and RoleBinding with subjects system:authenticated.
22988
+ """
22989
+ return pulumi.get(self, "enable_insecure_binding_system_authenticated")
22990
+
22991
+ @_builtins.property
22992
+ @pulumi.getter(name="enableInsecureBindingSystemUnauthenticated")
22993
+ def enable_insecure_binding_system_unauthenticated(self) -> _builtins.bool:
22994
+ """
22995
+ Setting this to true will allow any ClusterRoleBinding and RoleBinding with subjects system:anonymous or system:unauthenticated.
22996
+ """
22997
+ return pulumi.get(self, "enable_insecure_binding_system_unauthenticated")
22998
+
22999
+
22656
23000
  @pulumi.output_type
22657
23001
  class GetClusterReleaseChannelResult(dict):
22658
23002
  def __init__(__self__, *,