pulumi-gcp 8.9.0a1731366299__py3-none-any.whl → 8.9.0a1731432418__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 (114) hide show
  1. pulumi_gcp/__init__.py +64 -0
  2. pulumi_gcp/activedirectory/domain.py +24 -0
  3. pulumi_gcp/apigee/__init__.py +1 -0
  4. pulumi_gcp/apigee/_inputs.py +74 -0
  5. pulumi_gcp/apigee/api.py +456 -0
  6. pulumi_gcp/apigee/outputs.py +65 -0
  7. pulumi_gcp/applicationintegration/auth_config.py +24 -0
  8. pulumi_gcp/backupdisasterrecovery/__init__.py +4 -0
  9. pulumi_gcp/backupdisasterrecovery/_inputs.py +533 -0
  10. pulumi_gcp/backupdisasterrecovery/backup_plan.py +653 -0
  11. pulumi_gcp/backupdisasterrecovery/backup_plan_association.py +766 -0
  12. pulumi_gcp/backupdisasterrecovery/backup_vault.py +146 -6
  13. pulumi_gcp/backupdisasterrecovery/get_backup_plan.py +204 -0
  14. pulumi_gcp/backupdisasterrecovery/get_backup_plan_association.py +243 -0
  15. pulumi_gcp/backupdisasterrecovery/outputs.py +702 -0
  16. pulumi_gcp/bigquery/data_transfer_config.py +24 -0
  17. pulumi_gcp/cloudrunv2/_inputs.py +46 -0
  18. pulumi_gcp/cloudrunv2/job.py +0 -2
  19. pulumi_gcp/cloudrunv2/outputs.py +60 -2
  20. pulumi_gcp/cloudrunv2/service.py +0 -2
  21. pulumi_gcp/compute/__init__.py +1 -0
  22. pulumi_gcp/compute/_inputs.py +2163 -256
  23. pulumi_gcp/compute/disk.py +7 -7
  24. pulumi_gcp/compute/firewall_policy_rule.py +108 -54
  25. pulumi_gcp/compute/get_region_instance_group_manager.py +12 -1
  26. pulumi_gcp/compute/health_check.py +42 -42
  27. pulumi_gcp/compute/network_firewall_policy_rule.py +4 -4
  28. pulumi_gcp/compute/network_firewall_policy_with_rules.py +10 -10
  29. pulumi_gcp/compute/node_template.py +95 -0
  30. pulumi_gcp/compute/outputs.py +1639 -213
  31. pulumi_gcp/compute/region_disk.py +7 -7
  32. pulumi_gcp/compute/region_health_check.py +42 -42
  33. pulumi_gcp/compute/region_instance_group_manager.py +54 -14
  34. pulumi_gcp/compute/region_network_firewall_policy_rule.py +4 -4
  35. pulumi_gcp/compute/region_network_firewall_policy_with_rules.py +10 -10
  36. pulumi_gcp/compute/region_resize_request.py +772 -0
  37. pulumi_gcp/compute/region_security_policy.py +120 -0
  38. pulumi_gcp/compute/region_security_policy_rule.py +6 -6
  39. pulumi_gcp/compute/router_peer.py +56 -35
  40. pulumi_gcp/compute/security_scan_config.py +8 -8
  41. pulumi_gcp/config/__init__.pyi +4 -0
  42. pulumi_gcp/config/vars.py +8 -0
  43. pulumi_gcp/container/_inputs.py +345 -10
  44. pulumi_gcp/container/cluster.py +101 -0
  45. pulumi_gcp/container/get_cluster.py +23 -1
  46. pulumi_gcp/container/outputs.py +456 -8
  47. pulumi_gcp/dataloss/prevention_discovery_config.py +7 -7
  48. pulumi_gcp/dataproc/__init__.py +2 -0
  49. pulumi_gcp/dataproc/_inputs.py +101 -0
  50. pulumi_gcp/dataproc/gdc_application_environment.py +931 -0
  51. pulumi_gcp/dataproc/gdc_service_instance.py +1022 -0
  52. pulumi_gcp/dataproc/outputs.py +94 -0
  53. pulumi_gcp/edgecontainer/vpn_connection.py +4 -4
  54. pulumi_gcp/firebase/android_app.py +2 -2
  55. pulumi_gcp/firebase/apple_app.py +2 -2
  56. pulumi_gcp/firebase/web_app.py +2 -2
  57. pulumi_gcp/firestore/index.py +44 -0
  58. pulumi_gcp/gkeonprem/_inputs.py +15 -15
  59. pulumi_gcp/gkeonprem/outputs.py +10 -10
  60. pulumi_gcp/healthcare/dataset.py +7 -7
  61. pulumi_gcp/healthcare/dicom_store.py +7 -7
  62. pulumi_gcp/healthcare/fhir_store.py +7 -7
  63. pulumi_gcp/healthcare/hl7_store.py +14 -14
  64. pulumi_gcp/iam/__init__.py +1 -0
  65. pulumi_gcp/iam/_inputs.py +161 -0
  66. pulumi_gcp/iam/outputs.py +114 -0
  67. pulumi_gcp/iam/principal_access_boundary_policy.py +679 -0
  68. pulumi_gcp/logging/metric.py +2 -2
  69. pulumi_gcp/looker/_inputs.py +6 -0
  70. pulumi_gcp/looker/instance.py +169 -321
  71. pulumi_gcp/looker/outputs.py +4 -0
  72. pulumi_gcp/memorystore/instance.py +4 -0
  73. pulumi_gcp/monitoring/alert_policy.py +24 -0
  74. pulumi_gcp/monitoring/custom_service.py +24 -0
  75. pulumi_gcp/monitoring/group.py +24 -0
  76. pulumi_gcp/monitoring/metric_descriptor.py +24 -0
  77. pulumi_gcp/monitoring/slo.py +24 -0
  78. pulumi_gcp/monitoring/uptime_check_config.py +24 -0
  79. pulumi_gcp/networkmanagement/__init__.py +1 -0
  80. pulumi_gcp/networkmanagement/vpc_flow_logs_config.py +1358 -0
  81. pulumi_gcp/osconfig/patch_deployment.py +8 -8
  82. pulumi_gcp/provider.py +40 -0
  83. pulumi_gcp/pulumi-plugin.json +1 -1
  84. pulumi_gcp/redis/_inputs.py +3 -3
  85. pulumi_gcp/redis/outputs.py +2 -2
  86. pulumi_gcp/securitycenter/notification_config.py +4 -16
  87. pulumi_gcp/securitycenter/project_notification_config.py +0 -24
  88. pulumi_gcp/securitycenter/v2_organization_notification_config.py +4 -16
  89. pulumi_gcp/spanner/__init__.py +1 -0
  90. pulumi_gcp/spanner/_inputs.py +9 -9
  91. pulumi_gcp/spanner/get_database.py +229 -0
  92. pulumi_gcp/spanner/get_instance.py +12 -1
  93. pulumi_gcp/spanner/instance.py +70 -0
  94. pulumi_gcp/spanner/outputs.py +46 -12
  95. pulumi_gcp/sql/_inputs.py +26 -0
  96. pulumi_gcp/sql/database_instance.py +124 -11
  97. pulumi_gcp/sql/get_database_instance.py +12 -1
  98. pulumi_gcp/sql/outputs.py +51 -0
  99. pulumi_gcp/storage/_inputs.py +3 -3
  100. pulumi_gcp/storage/outputs.py +2 -2
  101. pulumi_gcp/tags/tag_binding.py +4 -4
  102. pulumi_gcp/tags/tag_value.py +2 -2
  103. pulumi_gcp/transcoder/job.py +24 -0
  104. pulumi_gcp/vertex/_inputs.py +184 -0
  105. pulumi_gcp/vertex/ai_endpoint.py +394 -8
  106. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +4 -4
  107. pulumi_gcp/vertex/outputs.py +166 -0
  108. pulumi_gcp/workbench/instance.py +21 -7
  109. pulumi_gcp/workflows/workflow.py +36 -0
  110. pulumi_gcp/workstations/workstation_config.py +8 -8
  111. {pulumi_gcp-8.9.0a1731366299.dist-info → pulumi_gcp-8.9.0a1731432418.dist-info}/METADATA +1 -1
  112. {pulumi_gcp-8.9.0a1731366299.dist-info → pulumi_gcp-8.9.0a1731432418.dist-info}/RECORD +114 -103
  113. {pulumi_gcp-8.9.0a1731366299.dist-info → pulumi_gcp-8.9.0a1731432418.dist-info}/WHEEL +0 -0
  114. {pulumi_gcp-8.9.0a1731366299.dist-info → pulumi_gcp-8.9.0a1731432418.dist-info}/top_level.txt +0 -0
@@ -98,6 +98,7 @@ __all__ = [
98
98
  'ClusterAddonsConfigIstioConfig',
99
99
  'ClusterAddonsConfigKalmConfig',
100
100
  'ClusterAddonsConfigNetworkPolicyConfig',
101
+ 'ClusterAddonsConfigParallelstoreCsiDriverConfig',
101
102
  'ClusterAddonsConfigRayOperatorConfig',
102
103
  'ClusterAddonsConfigRayOperatorConfigRayClusterLoggingConfig',
103
104
  'ClusterAddonsConfigRayOperatorConfigRayClusterMonitoringConfig',
@@ -115,6 +116,8 @@ __all__ = [
115
116
  'ClusterClusterAutoscalingResourceLimit',
116
117
  'ClusterClusterTelemetry',
117
118
  'ClusterConfidentialNodes',
119
+ 'ClusterControlPlaneEndpointsConfig',
120
+ 'ClusterControlPlaneEndpointsConfigDnsEndpointConfig',
118
121
  'ClusterCostManagementConfig',
119
122
  'ClusterDatabaseEncryption',
120
123
  'ClusterDefaultSnatStatus',
@@ -237,6 +240,7 @@ __all__ = [
237
240
  'ClusterSecurityPostureConfig',
238
241
  'ClusterServiceExternalIpsConfig',
239
242
  'ClusterTpuConfig',
243
+ 'ClusterUserManagedKeysConfig',
240
244
  'ClusterVerticalPodAutoscaling',
241
245
  'ClusterWorkloadAltsConfig',
242
246
  'ClusterWorkloadIdentityConfig',
@@ -294,6 +298,7 @@ __all__ = [
294
298
  'GetClusterAddonsConfigIstioConfigResult',
295
299
  'GetClusterAddonsConfigKalmConfigResult',
296
300
  'GetClusterAddonsConfigNetworkPolicyConfigResult',
301
+ 'GetClusterAddonsConfigParallelstoreCsiDriverConfigResult',
297
302
  'GetClusterAddonsConfigRayOperatorConfigResult',
298
303
  'GetClusterAddonsConfigRayOperatorConfigRayClusterLoggingConfigResult',
299
304
  'GetClusterAddonsConfigRayOperatorConfigRayClusterMonitoringConfigResult',
@@ -311,6 +316,8 @@ __all__ = [
311
316
  'GetClusterClusterAutoscalingResourceLimitResult',
312
317
  'GetClusterClusterTelemetryResult',
313
318
  'GetClusterConfidentialNodeResult',
319
+ 'GetClusterControlPlaneEndpointsConfigResult',
320
+ 'GetClusterControlPlaneEndpointsConfigDnsEndpointConfigResult',
314
321
  'GetClusterCostManagementConfigResult',
315
322
  'GetClusterDatabaseEncryptionResult',
316
323
  'GetClusterDefaultSnatStatusResult',
@@ -433,6 +440,7 @@ __all__ = [
433
440
  'GetClusterSecurityPostureConfigResult',
434
441
  'GetClusterServiceExternalIpsConfigResult',
435
442
  'GetClusterTpuConfigResult',
443
+ 'GetClusterUserManagedKeysConfigResult',
436
444
  'GetClusterVerticalPodAutoscalingResult',
437
445
  'GetClusterWorkloadAltsConfigResult',
438
446
  'GetClusterWorkloadIdentityConfigResult',
@@ -3892,6 +3900,8 @@ class ClusterAddonsConfig(dict):
3892
3900
  suggest = "kalm_config"
3893
3901
  elif key == "networkPolicyConfig":
3894
3902
  suggest = "network_policy_config"
3903
+ elif key == "parallelstoreCsiDriverConfig":
3904
+ suggest = "parallelstore_csi_driver_config"
3895
3905
  elif key == "rayOperatorConfigs":
3896
3906
  suggest = "ray_operator_configs"
3897
3907
  elif key == "statefulHaConfig":
@@ -3921,6 +3931,7 @@ class ClusterAddonsConfig(dict):
3921
3931
  istio_config: Optional['outputs.ClusterAddonsConfigIstioConfig'] = None,
3922
3932
  kalm_config: Optional['outputs.ClusterAddonsConfigKalmConfig'] = None,
3923
3933
  network_policy_config: Optional['outputs.ClusterAddonsConfigNetworkPolicyConfig'] = None,
3934
+ parallelstore_csi_driver_config: Optional['outputs.ClusterAddonsConfigParallelstoreCsiDriverConfig'] = None,
3924
3935
  ray_operator_configs: Optional[Sequence['outputs.ClusterAddonsConfigRayOperatorConfig']] = None,
3925
3936
  stateful_ha_config: Optional['outputs.ClusterAddonsConfigStatefulHaConfig'] = None):
3926
3937
  """
@@ -3965,6 +3976,13 @@ class ClusterAddonsConfig(dict):
3965
3976
  otherwise nothing will happen.
3966
3977
  It can only be disabled if the nodes already do not have network policies enabled.
3967
3978
  Defaults to disabled; set `disabled = false` to enable.
3979
+ :param 'ClusterAddonsConfigParallelstoreCsiDriverConfigArgs' parallelstore_csi_driver_config: The status of the Parallelstore CSI driver addon,
3980
+ which allows the usage of a Parallelstore instances as volumes.
3981
+ It is disabled by default for Standard clusters; set `enabled = true` to enable.
3982
+ It is enabled by default for Autopilot clusters with version 1.29 or later; set `enabled = true` to enable it explicitly.
3983
+ 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.
3984
+
3985
+ This example `addons_config` disables two addons:
3968
3986
  :param Sequence['ClusterAddonsConfigRayOperatorConfigArgs'] ray_operator_configs: . The status of the [Ray Operator
3969
3987
  addon](https://cloud.google.com/kubernetes-engine/docs/add-on/ray-on-gke/concepts/overview).
3970
3988
  It is disabled by default. Set `enabled = true` to enable. The minimum
@@ -3977,9 +3995,6 @@ class ClusterAddonsConfig(dict):
3977
3995
  clusters on
3978
3996
  GKE](https://cloud.google.com/kubernetes-engine/docs/add-on/ray-on-gke/how-to/collect-view-logs-metrics)
3979
3997
  for more information.
3980
-
3981
-
3982
- This example `addons_config` disables two addons:
3983
3998
  :param 'ClusterAddonsConfigStatefulHaConfigArgs' stateful_ha_config: .
3984
3999
  The status of the Stateful HA addon, which provides automatic configurable failover for stateful applications.
3985
4000
  It is disabled by default for Standard clusters. Set `enabled = true` to enable.
@@ -4008,6 +4023,8 @@ class ClusterAddonsConfig(dict):
4008
4023
  pulumi.set(__self__, "kalm_config", kalm_config)
4009
4024
  if network_policy_config is not None:
4010
4025
  pulumi.set(__self__, "network_policy_config", network_policy_config)
4026
+ if parallelstore_csi_driver_config is not None:
4027
+ pulumi.set(__self__, "parallelstore_csi_driver_config", parallelstore_csi_driver_config)
4011
4028
  if ray_operator_configs is not None:
4012
4029
  pulumi.set(__self__, "ray_operator_configs", ray_operator_configs)
4013
4030
  if stateful_ha_config is not None:
@@ -4138,6 +4155,20 @@ class ClusterAddonsConfig(dict):
4138
4155
  """
4139
4156
  return pulumi.get(self, "network_policy_config")
4140
4157
 
4158
+ @property
4159
+ @pulumi.getter(name="parallelstoreCsiDriverConfig")
4160
+ def parallelstore_csi_driver_config(self) -> Optional['outputs.ClusterAddonsConfigParallelstoreCsiDriverConfig']:
4161
+ """
4162
+ The status of the Parallelstore CSI driver addon,
4163
+ which allows the usage of a Parallelstore instances as volumes.
4164
+ It is disabled by default for Standard clusters; set `enabled = true` to enable.
4165
+ It is enabled by default for Autopilot clusters with version 1.29 or later; set `enabled = true` to enable it explicitly.
4166
+ 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.
4167
+
4168
+ This example `addons_config` disables two addons:
4169
+ """
4170
+ return pulumi.get(self, "parallelstore_csi_driver_config")
4171
+
4141
4172
  @property
4142
4173
  @pulumi.getter(name="rayOperatorConfigs")
4143
4174
  def ray_operator_configs(self) -> Optional[Sequence['outputs.ClusterAddonsConfigRayOperatorConfig']]:
@@ -4154,9 +4185,6 @@ class ClusterAddonsConfig(dict):
4154
4185
  clusters on
4155
4186
  GKE](https://cloud.google.com/kubernetes-engine/docs/add-on/ray-on-gke/how-to/collect-view-logs-metrics)
4156
4187
  for more information.
4157
-
4158
-
4159
- This example `addons_config` disables two addons:
4160
4188
  """
4161
4189
  return pulumi.get(self, "ray_operator_configs")
4162
4190
 
@@ -4402,6 +4430,18 @@ class ClusterAddonsConfigNetworkPolicyConfig(dict):
4402
4430
  return pulumi.get(self, "disabled")
4403
4431
 
4404
4432
 
4433
+ @pulumi.output_type
4434
+ class ClusterAddonsConfigParallelstoreCsiDriverConfig(dict):
4435
+ def __init__(__self__, *,
4436
+ enabled: bool):
4437
+ pulumi.set(__self__, "enabled", enabled)
4438
+
4439
+ @property
4440
+ @pulumi.getter
4441
+ def enabled(self) -> bool:
4442
+ return pulumi.get(self, "enabled")
4443
+
4444
+
4405
4445
  @pulumi.output_type
4406
4446
  class ClusterAddonsConfigRayOperatorConfig(dict):
4407
4447
  @staticmethod
@@ -5326,6 +5366,90 @@ class ClusterConfidentialNodes(dict):
5326
5366
  return pulumi.get(self, "enabled")
5327
5367
 
5328
5368
 
5369
+ @pulumi.output_type
5370
+ class ClusterControlPlaneEndpointsConfig(dict):
5371
+ @staticmethod
5372
+ def __key_warning(key: str):
5373
+ suggest = None
5374
+ if key == "dnsEndpointConfig":
5375
+ suggest = "dns_endpoint_config"
5376
+
5377
+ if suggest:
5378
+ pulumi.log.warn(f"Key '{key}' not found in ClusterControlPlaneEndpointsConfig. Access the value via the '{suggest}' property getter instead.")
5379
+
5380
+ def __getitem__(self, key: str) -> Any:
5381
+ ClusterControlPlaneEndpointsConfig.__key_warning(key)
5382
+ return super().__getitem__(key)
5383
+
5384
+ def get(self, key: str, default = None) -> Any:
5385
+ ClusterControlPlaneEndpointsConfig.__key_warning(key)
5386
+ return super().get(key, default)
5387
+
5388
+ def __init__(__self__, *,
5389
+ dns_endpoint_config: Optional['outputs.ClusterControlPlaneEndpointsConfigDnsEndpointConfig'] = None):
5390
+ """
5391
+ :param 'ClusterControlPlaneEndpointsConfigDnsEndpointConfigArgs' dns_endpoint_config: DNS endpoint configuration.
5392
+ """
5393
+ if dns_endpoint_config is not None:
5394
+ pulumi.set(__self__, "dns_endpoint_config", dns_endpoint_config)
5395
+
5396
+ @property
5397
+ @pulumi.getter(name="dnsEndpointConfig")
5398
+ def dns_endpoint_config(self) -> Optional['outputs.ClusterControlPlaneEndpointsConfigDnsEndpointConfig']:
5399
+ """
5400
+ DNS endpoint configuration.
5401
+ """
5402
+ return pulumi.get(self, "dns_endpoint_config")
5403
+
5404
+
5405
+ @pulumi.output_type
5406
+ class ClusterControlPlaneEndpointsConfigDnsEndpointConfig(dict):
5407
+ @staticmethod
5408
+ def __key_warning(key: str):
5409
+ suggest = None
5410
+ if key == "allowExternalTraffic":
5411
+ suggest = "allow_external_traffic"
5412
+
5413
+ if suggest:
5414
+ pulumi.log.warn(f"Key '{key}' not found in ClusterControlPlaneEndpointsConfigDnsEndpointConfig. Access the value via the '{suggest}' property getter instead.")
5415
+
5416
+ def __getitem__(self, key: str) -> Any:
5417
+ ClusterControlPlaneEndpointsConfigDnsEndpointConfig.__key_warning(key)
5418
+ return super().__getitem__(key)
5419
+
5420
+ def get(self, key: str, default = None) -> Any:
5421
+ ClusterControlPlaneEndpointsConfigDnsEndpointConfig.__key_warning(key)
5422
+ return super().get(key, default)
5423
+
5424
+ def __init__(__self__, *,
5425
+ allow_external_traffic: Optional[bool] = None,
5426
+ endpoint: Optional[str] = None):
5427
+ """
5428
+ :param bool allow_external_traffic: Controls whether user traffic is allowed over this endpoint. Note that GCP-managed services may still use the endpoint even if this is false.
5429
+ :param str endpoint: The cluster's DNS endpoint.
5430
+ """
5431
+ if allow_external_traffic is not None:
5432
+ pulumi.set(__self__, "allow_external_traffic", allow_external_traffic)
5433
+ if endpoint is not None:
5434
+ pulumi.set(__self__, "endpoint", endpoint)
5435
+
5436
+ @property
5437
+ @pulumi.getter(name="allowExternalTraffic")
5438
+ def allow_external_traffic(self) -> Optional[bool]:
5439
+ """
5440
+ Controls whether user traffic is allowed over this endpoint. Note that GCP-managed services may still use the endpoint even if this is false.
5441
+ """
5442
+ return pulumi.get(self, "allow_external_traffic")
5443
+
5444
+ @property
5445
+ @pulumi.getter
5446
+ def endpoint(self) -> Optional[str]:
5447
+ """
5448
+ The cluster's DNS endpoint.
5449
+ """
5450
+ return pulumi.get(self, "endpoint")
5451
+
5452
+
5329
5453
  @pulumi.output_type
5330
5454
  class ClusterCostManagementConfig(dict):
5331
5455
  def __init__(__self__, *,
@@ -6393,6 +6517,8 @@ class ClusterMasterAuthorizedNetworksConfig(dict):
6393
6517
  suggest = "cidr_blocks"
6394
6518
  elif key == "gcpPublicCidrsAccessEnabled":
6395
6519
  suggest = "gcp_public_cidrs_access_enabled"
6520
+ elif key == "privateEndpointEnforcementEnabled":
6521
+ suggest = "private_endpoint_enforcement_enabled"
6396
6522
 
6397
6523
  if suggest:
6398
6524
  pulumi.log.warn(f"Key '{key}' not found in ClusterMasterAuthorizedNetworksConfig. Access the value via the '{suggest}' property getter instead.")
@@ -6407,17 +6533,21 @@ class ClusterMasterAuthorizedNetworksConfig(dict):
6407
6533
 
6408
6534
  def __init__(__self__, *,
6409
6535
  cidr_blocks: Optional[Sequence['outputs.ClusterMasterAuthorizedNetworksConfigCidrBlock']] = None,
6410
- gcp_public_cidrs_access_enabled: Optional[bool] = None):
6536
+ gcp_public_cidrs_access_enabled: Optional[bool] = None,
6537
+ private_endpoint_enforcement_enabled: Optional[bool] = None):
6411
6538
  """
6412
6539
  :param Sequence['ClusterMasterAuthorizedNetworksConfigCidrBlockArgs'] cidr_blocks: External networks that can access the
6413
6540
  Kubernetes cluster master through HTTPS.
6414
6541
  :param bool gcp_public_cidrs_access_enabled: Whether Kubernetes master is
6415
6542
  accessible via Google Compute Engine Public IPs.
6543
+ :param bool private_endpoint_enforcement_enabled: Whether authorized networks is enforced on the private endpoint or not. Defaults to false.
6416
6544
  """
6417
6545
  if cidr_blocks is not None:
6418
6546
  pulumi.set(__self__, "cidr_blocks", cidr_blocks)
6419
6547
  if gcp_public_cidrs_access_enabled is not None:
6420
6548
  pulumi.set(__self__, "gcp_public_cidrs_access_enabled", gcp_public_cidrs_access_enabled)
6549
+ if private_endpoint_enforcement_enabled is not None:
6550
+ pulumi.set(__self__, "private_endpoint_enforcement_enabled", private_endpoint_enforcement_enabled)
6421
6551
 
6422
6552
  @property
6423
6553
  @pulumi.getter(name="cidrBlocks")
@@ -6437,6 +6567,14 @@ class ClusterMasterAuthorizedNetworksConfig(dict):
6437
6567
  """
6438
6568
  return pulumi.get(self, "gcp_public_cidrs_access_enabled")
6439
6569
 
6570
+ @property
6571
+ @pulumi.getter(name="privateEndpointEnforcementEnabled")
6572
+ def private_endpoint_enforcement_enabled(self) -> Optional[bool]:
6573
+ """
6574
+ Whether authorized networks is enforced on the private endpoint or not. Defaults to false.
6575
+ """
6576
+ return pulumi.get(self, "private_endpoint_enforcement_enabled")
6577
+
6440
6578
 
6441
6579
  @pulumi.output_type
6442
6580
  class ClusterMasterAuthorizedNetworksConfigCidrBlock(dict):
@@ -12660,6 +12798,140 @@ class ClusterTpuConfig(dict):
12660
12798
  return pulumi.get(self, "use_service_networking")
12661
12799
 
12662
12800
 
12801
+ @pulumi.output_type
12802
+ class ClusterUserManagedKeysConfig(dict):
12803
+ @staticmethod
12804
+ def __key_warning(key: str):
12805
+ suggest = None
12806
+ if key == "aggregationCa":
12807
+ suggest = "aggregation_ca"
12808
+ elif key == "clusterCa":
12809
+ suggest = "cluster_ca"
12810
+ elif key == "controlPlaneDiskEncryptionKey":
12811
+ suggest = "control_plane_disk_encryption_key"
12812
+ elif key == "etcdApiCa":
12813
+ suggest = "etcd_api_ca"
12814
+ elif key == "etcdPeerCa":
12815
+ suggest = "etcd_peer_ca"
12816
+ elif key == "gkeopsEtcdBackupEncryptionKey":
12817
+ suggest = "gkeops_etcd_backup_encryption_key"
12818
+ elif key == "serviceAccountSigningKeys":
12819
+ suggest = "service_account_signing_keys"
12820
+ elif key == "serviceAccountVerificationKeys":
12821
+ suggest = "service_account_verification_keys"
12822
+
12823
+ if suggest:
12824
+ pulumi.log.warn(f"Key '{key}' not found in ClusterUserManagedKeysConfig. Access the value via the '{suggest}' property getter instead.")
12825
+
12826
+ def __getitem__(self, key: str) -> Any:
12827
+ ClusterUserManagedKeysConfig.__key_warning(key)
12828
+ return super().__getitem__(key)
12829
+
12830
+ def get(self, key: str, default = None) -> Any:
12831
+ ClusterUserManagedKeysConfig.__key_warning(key)
12832
+ return super().get(key, default)
12833
+
12834
+ def __init__(__self__, *,
12835
+ aggregation_ca: Optional[str] = None,
12836
+ cluster_ca: Optional[str] = None,
12837
+ control_plane_disk_encryption_key: Optional[str] = None,
12838
+ etcd_api_ca: Optional[str] = None,
12839
+ etcd_peer_ca: Optional[str] = None,
12840
+ gkeops_etcd_backup_encryption_key: Optional[str] = None,
12841
+ service_account_signing_keys: Optional[Sequence[str]] = None,
12842
+ service_account_verification_keys: Optional[Sequence[str]] = None):
12843
+ """
12844
+ :param str aggregation_ca: The Certificate Authority Service caPool to use for the aggreation CA in this cluster.
12845
+ :param str cluster_ca: The Certificate Authority Service caPool to use for the cluster CA in this cluster.
12846
+ :param str control_plane_disk_encryption_key: The Cloud KMS cryptoKey to use for Confidential Hyperdisk on the control plane nodes.
12847
+ :param str etcd_api_ca: The Certificate Authority Service caPool to use for the etcd API CA in this cluster.
12848
+ :param str etcd_peer_ca: The Certificate Authority Service caPool to use for the etcd peer CA in this cluster.
12849
+ :param str gkeops_etcd_backup_encryption_key: Resource path of the Cloud KMS cryptoKey to use for encryption of internal etcd backups.
12850
+ :param Sequence[str] service_account_signing_keys: The Cloud KMS cryptoKeyVersions to use for signing service account JWTs issued by this cluster.
12851
+ :param Sequence[str] service_account_verification_keys: The Cloud KMS cryptoKeyVersions to use for verifying service account JWTs issued by this cluster.
12852
+ """
12853
+ if aggregation_ca is not None:
12854
+ pulumi.set(__self__, "aggregation_ca", aggregation_ca)
12855
+ if cluster_ca is not None:
12856
+ pulumi.set(__self__, "cluster_ca", cluster_ca)
12857
+ if control_plane_disk_encryption_key is not None:
12858
+ pulumi.set(__self__, "control_plane_disk_encryption_key", control_plane_disk_encryption_key)
12859
+ if etcd_api_ca is not None:
12860
+ pulumi.set(__self__, "etcd_api_ca", etcd_api_ca)
12861
+ if etcd_peer_ca is not None:
12862
+ pulumi.set(__self__, "etcd_peer_ca", etcd_peer_ca)
12863
+ if gkeops_etcd_backup_encryption_key is not None:
12864
+ pulumi.set(__self__, "gkeops_etcd_backup_encryption_key", gkeops_etcd_backup_encryption_key)
12865
+ if service_account_signing_keys is not None:
12866
+ pulumi.set(__self__, "service_account_signing_keys", service_account_signing_keys)
12867
+ if service_account_verification_keys is not None:
12868
+ pulumi.set(__self__, "service_account_verification_keys", service_account_verification_keys)
12869
+
12870
+ @property
12871
+ @pulumi.getter(name="aggregationCa")
12872
+ def aggregation_ca(self) -> Optional[str]:
12873
+ """
12874
+ The Certificate Authority Service caPool to use for the aggreation CA in this cluster.
12875
+ """
12876
+ return pulumi.get(self, "aggregation_ca")
12877
+
12878
+ @property
12879
+ @pulumi.getter(name="clusterCa")
12880
+ def cluster_ca(self) -> Optional[str]:
12881
+ """
12882
+ The Certificate Authority Service caPool to use for the cluster CA in this cluster.
12883
+ """
12884
+ return pulumi.get(self, "cluster_ca")
12885
+
12886
+ @property
12887
+ @pulumi.getter(name="controlPlaneDiskEncryptionKey")
12888
+ def control_plane_disk_encryption_key(self) -> Optional[str]:
12889
+ """
12890
+ The Cloud KMS cryptoKey to use for Confidential Hyperdisk on the control plane nodes.
12891
+ """
12892
+ return pulumi.get(self, "control_plane_disk_encryption_key")
12893
+
12894
+ @property
12895
+ @pulumi.getter(name="etcdApiCa")
12896
+ def etcd_api_ca(self) -> Optional[str]:
12897
+ """
12898
+ The Certificate Authority Service caPool to use for the etcd API CA in this cluster.
12899
+ """
12900
+ return pulumi.get(self, "etcd_api_ca")
12901
+
12902
+ @property
12903
+ @pulumi.getter(name="etcdPeerCa")
12904
+ def etcd_peer_ca(self) -> Optional[str]:
12905
+ """
12906
+ The Certificate Authority Service caPool to use for the etcd peer CA in this cluster.
12907
+ """
12908
+ return pulumi.get(self, "etcd_peer_ca")
12909
+
12910
+ @property
12911
+ @pulumi.getter(name="gkeopsEtcdBackupEncryptionKey")
12912
+ def gkeops_etcd_backup_encryption_key(self) -> Optional[str]:
12913
+ """
12914
+ Resource path of the Cloud KMS cryptoKey to use for encryption of internal etcd backups.
12915
+ """
12916
+ return pulumi.get(self, "gkeops_etcd_backup_encryption_key")
12917
+
12918
+ @property
12919
+ @pulumi.getter(name="serviceAccountSigningKeys")
12920
+ def service_account_signing_keys(self) -> Optional[Sequence[str]]:
12921
+ """
12922
+ The Cloud KMS cryptoKeyVersions to use for signing service account JWTs issued by this cluster.
12923
+ """
12924
+ return pulumi.get(self, "service_account_signing_keys")
12925
+
12926
+ @property
12927
+ @pulumi.getter(name="serviceAccountVerificationKeys")
12928
+ def service_account_verification_keys(self) -> Optional[Sequence[str]]:
12929
+ """
12930
+ The Cloud KMS cryptoKeyVersions to use for verifying service account JWTs issued by this cluster.
12931
+ """
12932
+ return pulumi.get(self, "service_account_verification_keys")
12933
+
12934
+
12663
12935
  @pulumi.output_type
12664
12936
  class ClusterVerticalPodAutoscaling(dict):
12665
12937
  def __init__(__self__, *,
@@ -15267,6 +15539,7 @@ class GetClusterAddonsConfigResult(dict):
15267
15539
  istio_configs: Sequence['outputs.GetClusterAddonsConfigIstioConfigResult'],
15268
15540
  kalm_configs: Sequence['outputs.GetClusterAddonsConfigKalmConfigResult'],
15269
15541
  network_policy_configs: Sequence['outputs.GetClusterAddonsConfigNetworkPolicyConfigResult'],
15542
+ parallelstore_csi_driver_configs: Sequence['outputs.GetClusterAddonsConfigParallelstoreCsiDriverConfigResult'],
15270
15543
  ray_operator_configs: Sequence['outputs.GetClusterAddonsConfigRayOperatorConfigResult'],
15271
15544
  stateful_ha_configs: Sequence['outputs.GetClusterAddonsConfigStatefulHaConfigResult']):
15272
15545
  """
@@ -15282,6 +15555,7 @@ class GetClusterAddonsConfigResult(dict):
15282
15555
  :param Sequence['GetClusterAddonsConfigIstioConfigArgs'] istio_configs: The status of the Istio addon.
15283
15556
  :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.
15284
15557
  :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.
15558
+ :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.
15285
15559
  :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.
15286
15560
  :param Sequence['GetClusterAddonsConfigStatefulHaConfigArgs'] stateful_ha_configs: The status of the Stateful HA addon, which provides automatic configurable failover for stateful applications. Defaults to disabled; set enabled = true to enable.
15287
15561
  """
@@ -15297,6 +15571,7 @@ class GetClusterAddonsConfigResult(dict):
15297
15571
  pulumi.set(__self__, "istio_configs", istio_configs)
15298
15572
  pulumi.set(__self__, "kalm_configs", kalm_configs)
15299
15573
  pulumi.set(__self__, "network_policy_configs", network_policy_configs)
15574
+ pulumi.set(__self__, "parallelstore_csi_driver_configs", parallelstore_csi_driver_configs)
15300
15575
  pulumi.set(__self__, "ray_operator_configs", ray_operator_configs)
15301
15576
  pulumi.set(__self__, "stateful_ha_configs", stateful_ha_configs)
15302
15577
 
@@ -15396,6 +15671,14 @@ class GetClusterAddonsConfigResult(dict):
15396
15671
  """
15397
15672
  return pulumi.get(self, "network_policy_configs")
15398
15673
 
15674
+ @property
15675
+ @pulumi.getter(name="parallelstoreCsiDriverConfigs")
15676
+ def parallelstore_csi_driver_configs(self) -> Sequence['outputs.GetClusterAddonsConfigParallelstoreCsiDriverConfigResult']:
15677
+ """
15678
+ 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.
15679
+ """
15680
+ return pulumi.get(self, "parallelstore_csi_driver_configs")
15681
+
15399
15682
  @property
15400
15683
  @pulumi.getter(name="rayOperatorConfigs")
15401
15684
  def ray_operator_configs(self) -> Sequence['outputs.GetClusterAddonsConfigRayOperatorConfigResult']:
@@ -15581,6 +15864,18 @@ class GetClusterAddonsConfigNetworkPolicyConfigResult(dict):
15581
15864
  return pulumi.get(self, "disabled")
15582
15865
 
15583
15866
 
15867
+ @pulumi.output_type
15868
+ class GetClusterAddonsConfigParallelstoreCsiDriverConfigResult(dict):
15869
+ def __init__(__self__, *,
15870
+ enabled: bool):
15871
+ pulumi.set(__self__, "enabled", enabled)
15872
+
15873
+ @property
15874
+ @pulumi.getter
15875
+ def enabled(self) -> bool:
15876
+ return pulumi.get(self, "enabled")
15877
+
15878
+
15584
15879
  @pulumi.output_type
15585
15880
  class GetClusterAddonsConfigRayOperatorConfigResult(dict):
15586
15881
  def __init__(__self__, *,
@@ -16181,6 +16476,53 @@ class GetClusterConfidentialNodeResult(dict):
16181
16476
  return pulumi.get(self, "enabled")
16182
16477
 
16183
16478
 
16479
+ @pulumi.output_type
16480
+ class GetClusterControlPlaneEndpointsConfigResult(dict):
16481
+ def __init__(__self__, *,
16482
+ dns_endpoint_configs: Sequence['outputs.GetClusterControlPlaneEndpointsConfigDnsEndpointConfigResult']):
16483
+ """
16484
+ :param Sequence['GetClusterControlPlaneEndpointsConfigDnsEndpointConfigArgs'] dns_endpoint_configs: DNS endpoint configuration.
16485
+ """
16486
+ pulumi.set(__self__, "dns_endpoint_configs", dns_endpoint_configs)
16487
+
16488
+ @property
16489
+ @pulumi.getter(name="dnsEndpointConfigs")
16490
+ def dns_endpoint_configs(self) -> Sequence['outputs.GetClusterControlPlaneEndpointsConfigDnsEndpointConfigResult']:
16491
+ """
16492
+ DNS endpoint configuration.
16493
+ """
16494
+ return pulumi.get(self, "dns_endpoint_configs")
16495
+
16496
+
16497
+ @pulumi.output_type
16498
+ class GetClusterControlPlaneEndpointsConfigDnsEndpointConfigResult(dict):
16499
+ def __init__(__self__, *,
16500
+ allow_external_traffic: bool,
16501
+ endpoint: str):
16502
+ """
16503
+ :param bool allow_external_traffic: Controls whether user traffic is allowed over this endpoint. Note that GCP-managed services may still use the endpoint even if this is false.
16504
+ :param str endpoint: The cluster's DNS endpoint.
16505
+ """
16506
+ pulumi.set(__self__, "allow_external_traffic", allow_external_traffic)
16507
+ pulumi.set(__self__, "endpoint", endpoint)
16508
+
16509
+ @property
16510
+ @pulumi.getter(name="allowExternalTraffic")
16511
+ def allow_external_traffic(self) -> bool:
16512
+ """
16513
+ Controls whether user traffic is allowed over this endpoint. Note that GCP-managed services may still use the endpoint even if this is false.
16514
+ """
16515
+ return pulumi.get(self, "allow_external_traffic")
16516
+
16517
+ @property
16518
+ @pulumi.getter
16519
+ def endpoint(self) -> str:
16520
+ """
16521
+ The cluster's DNS endpoint.
16522
+ """
16523
+ return pulumi.get(self, "endpoint")
16524
+
16525
+
16184
16526
  @pulumi.output_type
16185
16527
  class GetClusterCostManagementConfigResult(dict):
16186
16528
  def __init__(__self__, *,
@@ -16762,13 +17104,16 @@ class GetClusterMasterAuthClientCertificateConfigResult(dict):
16762
17104
  class GetClusterMasterAuthorizedNetworksConfigResult(dict):
16763
17105
  def __init__(__self__, *,
16764
17106
  cidr_blocks: Sequence['outputs.GetClusterMasterAuthorizedNetworksConfigCidrBlockResult'],
16765
- gcp_public_cidrs_access_enabled: bool):
17107
+ gcp_public_cidrs_access_enabled: bool,
17108
+ private_endpoint_enforcement_enabled: bool):
16766
17109
  """
16767
17110
  :param Sequence['GetClusterMasterAuthorizedNetworksConfigCidrBlockArgs'] cidr_blocks: External networks that can access the Kubernetes cluster master through HTTPS.
16768
17111
  :param bool gcp_public_cidrs_access_enabled: Whether Kubernetes master is accessible via Google Compute Engine Public IPs.
17112
+ :param bool private_endpoint_enforcement_enabled: Whether authorized networks is enforced on the private endpoint or not. Defaults to false.
16769
17113
  """
16770
17114
  pulumi.set(__self__, "cidr_blocks", cidr_blocks)
16771
17115
  pulumi.set(__self__, "gcp_public_cidrs_access_enabled", gcp_public_cidrs_access_enabled)
17116
+ pulumi.set(__self__, "private_endpoint_enforcement_enabled", private_endpoint_enforcement_enabled)
16772
17117
 
16773
17118
  @property
16774
17119
  @pulumi.getter(name="cidrBlocks")
@@ -16786,6 +17131,14 @@ class GetClusterMasterAuthorizedNetworksConfigResult(dict):
16786
17131
  """
16787
17132
  return pulumi.get(self, "gcp_public_cidrs_access_enabled")
16788
17133
 
17134
+ @property
17135
+ @pulumi.getter(name="privateEndpointEnforcementEnabled")
17136
+ def private_endpoint_enforcement_enabled(self) -> bool:
17137
+ """
17138
+ Whether authorized networks is enforced on the private endpoint or not. Defaults to false.
17139
+ """
17140
+ return pulumi.get(self, "private_endpoint_enforcement_enabled")
17141
+
16789
17142
 
16790
17143
  @pulumi.output_type
16791
17144
  class GetClusterMasterAuthorizedNetworksConfigCidrBlockResult(dict):
@@ -20768,6 +21121,101 @@ class GetClusterTpuConfigResult(dict):
20768
21121
  return pulumi.get(self, "use_service_networking")
20769
21122
 
20770
21123
 
21124
+ @pulumi.output_type
21125
+ class GetClusterUserManagedKeysConfigResult(dict):
21126
+ def __init__(__self__, *,
21127
+ aggregation_ca: str,
21128
+ cluster_ca: str,
21129
+ control_plane_disk_encryption_key: str,
21130
+ etcd_api_ca: str,
21131
+ etcd_peer_ca: str,
21132
+ gkeops_etcd_backup_encryption_key: str,
21133
+ service_account_signing_keys: Sequence[str],
21134
+ service_account_verification_keys: Sequence[str]):
21135
+ """
21136
+ :param str aggregation_ca: The Certificate Authority Service caPool to use for the aggreation CA in this cluster.
21137
+ :param str cluster_ca: The Certificate Authority Service caPool to use for the cluster CA in this cluster.
21138
+ :param str control_plane_disk_encryption_key: The Cloud KMS cryptoKey to use for Confidential Hyperdisk on the control plane nodes.
21139
+ :param str etcd_api_ca: The Certificate Authority Service caPool to use for the etcd API CA in this cluster.
21140
+ :param str etcd_peer_ca: The Certificate Authority Service caPool to use for the etcd peer CA in this cluster.
21141
+ :param str gkeops_etcd_backup_encryption_key: Resource path of the Cloud KMS cryptoKey to use for encryption of internal etcd backups.
21142
+ :param Sequence[str] service_account_signing_keys: The Cloud KMS cryptoKeyVersions to use for signing service account JWTs issued by this cluster.
21143
+ :param Sequence[str] service_account_verification_keys: The Cloud KMS cryptoKeyVersions to use for verifying service account JWTs issued by this cluster.
21144
+ """
21145
+ pulumi.set(__self__, "aggregation_ca", aggregation_ca)
21146
+ pulumi.set(__self__, "cluster_ca", cluster_ca)
21147
+ pulumi.set(__self__, "control_plane_disk_encryption_key", control_plane_disk_encryption_key)
21148
+ pulumi.set(__self__, "etcd_api_ca", etcd_api_ca)
21149
+ pulumi.set(__self__, "etcd_peer_ca", etcd_peer_ca)
21150
+ pulumi.set(__self__, "gkeops_etcd_backup_encryption_key", gkeops_etcd_backup_encryption_key)
21151
+ pulumi.set(__self__, "service_account_signing_keys", service_account_signing_keys)
21152
+ pulumi.set(__self__, "service_account_verification_keys", service_account_verification_keys)
21153
+
21154
+ @property
21155
+ @pulumi.getter(name="aggregationCa")
21156
+ def aggregation_ca(self) -> str:
21157
+ """
21158
+ The Certificate Authority Service caPool to use for the aggreation CA in this cluster.
21159
+ """
21160
+ return pulumi.get(self, "aggregation_ca")
21161
+
21162
+ @property
21163
+ @pulumi.getter(name="clusterCa")
21164
+ def cluster_ca(self) -> str:
21165
+ """
21166
+ The Certificate Authority Service caPool to use for the cluster CA in this cluster.
21167
+ """
21168
+ return pulumi.get(self, "cluster_ca")
21169
+
21170
+ @property
21171
+ @pulumi.getter(name="controlPlaneDiskEncryptionKey")
21172
+ def control_plane_disk_encryption_key(self) -> str:
21173
+ """
21174
+ The Cloud KMS cryptoKey to use for Confidential Hyperdisk on the control plane nodes.
21175
+ """
21176
+ return pulumi.get(self, "control_plane_disk_encryption_key")
21177
+
21178
+ @property
21179
+ @pulumi.getter(name="etcdApiCa")
21180
+ def etcd_api_ca(self) -> str:
21181
+ """
21182
+ The Certificate Authority Service caPool to use for the etcd API CA in this cluster.
21183
+ """
21184
+ return pulumi.get(self, "etcd_api_ca")
21185
+
21186
+ @property
21187
+ @pulumi.getter(name="etcdPeerCa")
21188
+ def etcd_peer_ca(self) -> str:
21189
+ """
21190
+ The Certificate Authority Service caPool to use for the etcd peer CA in this cluster.
21191
+ """
21192
+ return pulumi.get(self, "etcd_peer_ca")
21193
+
21194
+ @property
21195
+ @pulumi.getter(name="gkeopsEtcdBackupEncryptionKey")
21196
+ def gkeops_etcd_backup_encryption_key(self) -> str:
21197
+ """
21198
+ Resource path of the Cloud KMS cryptoKey to use for encryption of internal etcd backups.
21199
+ """
21200
+ return pulumi.get(self, "gkeops_etcd_backup_encryption_key")
21201
+
21202
+ @property
21203
+ @pulumi.getter(name="serviceAccountSigningKeys")
21204
+ def service_account_signing_keys(self) -> Sequence[str]:
21205
+ """
21206
+ The Cloud KMS cryptoKeyVersions to use for signing service account JWTs issued by this cluster.
21207
+ """
21208
+ return pulumi.get(self, "service_account_signing_keys")
21209
+
21210
+ @property
21211
+ @pulumi.getter(name="serviceAccountVerificationKeys")
21212
+ def service_account_verification_keys(self) -> Sequence[str]:
21213
+ """
21214
+ The Cloud KMS cryptoKeyVersions to use for verifying service account JWTs issued by this cluster.
21215
+ """
21216
+ return pulumi.get(self, "service_account_verification_keys")
21217
+
21218
+
20771
21219
  @pulumi.output_type
20772
21220
  class GetClusterVerticalPodAutoscalingResult(dict):
20773
21221
  def __init__(__self__, *,