pulumi-gcp 8.24.0a1743057423__py3-none-any.whl → 8.25.0a1743489606__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 (55) hide show
  1. pulumi_gcp/__init__.py +27 -0
  2. pulumi_gcp/bigquery/_inputs.py +158 -0
  3. pulumi_gcp/bigquery/outputs.py +115 -0
  4. pulumi_gcp/bigquery/reservation.py +189 -1
  5. pulumi_gcp/bigqueryanalyticshub/listing_subscription.py +11 -7
  6. pulumi_gcp/chronicle/data_access_label.py +16 -0
  7. pulumi_gcp/cloudrunv2/service.py +14 -14
  8. pulumi_gcp/compute/__init__.py +1 -0
  9. pulumi_gcp/compute/_inputs.py +616 -18
  10. pulumi_gcp/compute/get_images.py +172 -0
  11. pulumi_gcp/compute/get_resource_policy.py +15 -4
  12. pulumi_gcp/compute/image.py +54 -0
  13. pulumi_gcp/compute/interconnect.py +14 -7
  14. pulumi_gcp/compute/outputs.py +710 -18
  15. pulumi_gcp/compute/resource_policy.py +169 -3
  16. pulumi_gcp/compute/router_route_policy.py +16 -0
  17. pulumi_gcp/config/__init__.pyi +6 -0
  18. pulumi_gcp/config/vars.py +12 -0
  19. pulumi_gcp/container/_inputs.py +262 -1
  20. pulumi_gcp/container/cluster.py +54 -0
  21. pulumi_gcp/container/get_cluster.py +12 -1
  22. pulumi_gcp/container/outputs.py +297 -2
  23. pulumi_gcp/dataproc/_inputs.py +23 -0
  24. pulumi_gcp/dataproc/outputs.py +27 -0
  25. pulumi_gcp/lustre/__init__.py +8 -0
  26. pulumi_gcp/lustre/instance.py +983 -0
  27. pulumi_gcp/memorystore/_inputs.py +419 -0
  28. pulumi_gcp/memorystore/get_instance.py +23 -1
  29. pulumi_gcp/memorystore/instance.py +137 -7
  30. pulumi_gcp/memorystore/outputs.py +544 -0
  31. pulumi_gcp/networkmanagement/_inputs.py +422 -91
  32. pulumi_gcp/networkmanagement/connectivity_test.py +233 -211
  33. pulumi_gcp/networkmanagement/outputs.py +280 -61
  34. pulumi_gcp/networksecurity/_inputs.py +392 -0
  35. pulumi_gcp/networksecurity/intercept_deployment_group.py +44 -16
  36. pulumi_gcp/networksecurity/intercept_endpoint_group.py +90 -36
  37. pulumi_gcp/networksecurity/intercept_endpoint_group_association.py +53 -8
  38. pulumi_gcp/networksecurity/outputs.py +240 -0
  39. pulumi_gcp/organizations/__init__.py +1 -0
  40. pulumi_gcp/organizations/get_iam_custom_role.py +198 -0
  41. pulumi_gcp/osconfig/__init__.py +1 -0
  42. pulumi_gcp/osconfig/_inputs.py +5413 -0
  43. pulumi_gcp/osconfig/outputs.py +3962 -0
  44. pulumi_gcp/osconfig/v2_policy_orchestrator.py +971 -0
  45. pulumi_gcp/provider.py +60 -0
  46. pulumi_gcp/pulumi-plugin.json +1 -1
  47. pulumi_gcp/storage/__init__.py +2 -0
  48. pulumi_gcp/storage/_inputs.py +726 -0
  49. pulumi_gcp/storage/control_project_intelligence_config.py +366 -0
  50. pulumi_gcp/storage/get_control_project_intelligence_config.py +130 -0
  51. pulumi_gcp/storage/outputs.py +716 -0
  52. {pulumi_gcp-8.24.0a1743057423.dist-info → pulumi_gcp-8.25.0a1743489606.dist-info}/METADATA +1 -1
  53. {pulumi_gcp-8.24.0a1743057423.dist-info → pulumi_gcp-8.25.0a1743489606.dist-info}/RECORD +55 -48
  54. {pulumi_gcp-8.24.0a1743057423.dist-info → pulumi_gcp-8.25.0a1743489606.dist-info}/WHEEL +0 -0
  55. {pulumi_gcp-8.24.0a1743057423.dist-info → pulumi_gcp-8.25.0a1743489606.dist-info}/top_level.txt +0 -0
@@ -118,6 +118,7 @@ __all__ = [
118
118
  'ClusterConfidentialNodes',
119
119
  'ClusterControlPlaneEndpointsConfig',
120
120
  'ClusterControlPlaneEndpointsConfigDnsEndpointConfig',
121
+ 'ClusterControlPlaneEndpointsConfigIpEndpointsConfig',
121
122
  'ClusterCostManagementConfig',
122
123
  'ClusterDatabaseEncryption',
123
124
  'ClusterDefaultSnatStatus',
@@ -174,6 +175,7 @@ __all__ = [
174
175
  'ClusterNodeConfigSoleTenantConfig',
175
176
  'ClusterNodeConfigSoleTenantConfigNodeAffinity',
176
177
  'ClusterNodeConfigTaint',
178
+ 'ClusterNodeConfigWindowsNodeConfig',
177
179
  'ClusterNodeConfigWorkloadMetadataConfig',
178
180
  'ClusterNodePool',
179
181
  'ClusterNodePoolAutoConfig',
@@ -222,6 +224,7 @@ __all__ = [
222
224
  'ClusterNodePoolNodeConfigSoleTenantConfig',
223
225
  'ClusterNodePoolNodeConfigSoleTenantConfigNodeAffinity',
224
226
  'ClusterNodePoolNodeConfigTaint',
227
+ 'ClusterNodePoolNodeConfigWindowsNodeConfig',
225
228
  'ClusterNodePoolNodeConfigWorkloadMetadataConfig',
226
229
  'ClusterNodePoolPlacementPolicy',
227
230
  'ClusterNodePoolQueuedProvisioning',
@@ -231,6 +234,7 @@ __all__ = [
231
234
  'ClusterNotificationConfig',
232
235
  'ClusterNotificationConfigPubsub',
233
236
  'ClusterNotificationConfigPubsubFilter',
237
+ 'ClusterPodAutoscaling',
234
238
  'ClusterPodSecurityPolicyConfig',
235
239
  'ClusterPrivateClusterConfig',
236
240
  'ClusterPrivateClusterConfigMasterGlobalAccessConfig',
@@ -282,6 +286,7 @@ __all__ = [
282
286
  'NodePoolNodeConfigSoleTenantConfig',
283
287
  'NodePoolNodeConfigSoleTenantConfigNodeAffinity',
284
288
  'NodePoolNodeConfigTaint',
289
+ 'NodePoolNodeConfigWindowsNodeConfig',
285
290
  'NodePoolNodeConfigWorkloadMetadataConfig',
286
291
  'NodePoolPlacementPolicy',
287
292
  'NodePoolQueuedProvisioning',
@@ -321,6 +326,7 @@ __all__ = [
321
326
  'GetClusterConfidentialNodeResult',
322
327
  'GetClusterControlPlaneEndpointsConfigResult',
323
328
  'GetClusterControlPlaneEndpointsConfigDnsEndpointConfigResult',
329
+ 'GetClusterControlPlaneEndpointsConfigIpEndpointsConfigResult',
324
330
  'GetClusterCostManagementConfigResult',
325
331
  'GetClusterDatabaseEncryptionResult',
326
332
  'GetClusterDefaultSnatStatusResult',
@@ -377,6 +383,7 @@ __all__ = [
377
383
  'GetClusterNodeConfigSoleTenantConfigResult',
378
384
  'GetClusterNodeConfigSoleTenantConfigNodeAffinityResult',
379
385
  'GetClusterNodeConfigTaintResult',
386
+ 'GetClusterNodeConfigWindowsNodeConfigResult',
380
387
  'GetClusterNodeConfigWorkloadMetadataConfigResult',
381
388
  'GetClusterNodePoolResult',
382
389
  'GetClusterNodePoolAutoConfigResult',
@@ -425,6 +432,7 @@ __all__ = [
425
432
  'GetClusterNodePoolNodeConfigSoleTenantConfigResult',
426
433
  'GetClusterNodePoolNodeConfigSoleTenantConfigNodeAffinityResult',
427
434
  'GetClusterNodePoolNodeConfigTaintResult',
435
+ 'GetClusterNodePoolNodeConfigWindowsNodeConfigResult',
428
436
  'GetClusterNodePoolNodeConfigWorkloadMetadataConfigResult',
429
437
  'GetClusterNodePoolPlacementPolicyResult',
430
438
  'GetClusterNodePoolQueuedProvisioningResult',
@@ -434,6 +442,7 @@ __all__ = [
434
442
  'GetClusterNotificationConfigResult',
435
443
  'GetClusterNotificationConfigPubsubResult',
436
444
  'GetClusterNotificationConfigPubsubFilterResult',
445
+ 'GetClusterPodAutoscalingResult',
437
446
  'GetClusterPodSecurityPolicyConfigResult',
438
447
  'GetClusterPrivateClusterConfigResult',
439
448
  'GetClusterPrivateClusterConfigMasterGlobalAccessConfigResult',
@@ -5378,6 +5387,8 @@ class ClusterControlPlaneEndpointsConfig(dict):
5378
5387
  suggest = None
5379
5388
  if key == "dnsEndpointConfig":
5380
5389
  suggest = "dns_endpoint_config"
5390
+ elif key == "ipEndpointsConfig":
5391
+ suggest = "ip_endpoints_config"
5381
5392
 
5382
5393
  if suggest:
5383
5394
  pulumi.log.warn(f"Key '{key}' not found in ClusterControlPlaneEndpointsConfig. Access the value via the '{suggest}' property getter instead.")
@@ -5391,12 +5402,16 @@ class ClusterControlPlaneEndpointsConfig(dict):
5391
5402
  return super().get(key, default)
5392
5403
 
5393
5404
  def __init__(__self__, *,
5394
- dns_endpoint_config: Optional['outputs.ClusterControlPlaneEndpointsConfigDnsEndpointConfig'] = None):
5405
+ dns_endpoint_config: Optional['outputs.ClusterControlPlaneEndpointsConfigDnsEndpointConfig'] = None,
5406
+ ip_endpoints_config: Optional['outputs.ClusterControlPlaneEndpointsConfigIpEndpointsConfig'] = None):
5395
5407
  """
5396
5408
  :param 'ClusterControlPlaneEndpointsConfigDnsEndpointConfigArgs' dns_endpoint_config: DNS endpoint configuration.
5409
+ :param 'ClusterControlPlaneEndpointsConfigIpEndpointsConfigArgs' ip_endpoints_config: IP endpoint configuration.
5397
5410
  """
5398
5411
  if dns_endpoint_config is not None:
5399
5412
  pulumi.set(__self__, "dns_endpoint_config", dns_endpoint_config)
5413
+ if ip_endpoints_config is not None:
5414
+ pulumi.set(__self__, "ip_endpoints_config", ip_endpoints_config)
5400
5415
 
5401
5416
  @property
5402
5417
  @pulumi.getter(name="dnsEndpointConfig")
@@ -5406,6 +5421,14 @@ class ClusterControlPlaneEndpointsConfig(dict):
5406
5421
  """
5407
5422
  return pulumi.get(self, "dns_endpoint_config")
5408
5423
 
5424
+ @property
5425
+ @pulumi.getter(name="ipEndpointsConfig")
5426
+ def ip_endpoints_config(self) -> Optional['outputs.ClusterControlPlaneEndpointsConfigIpEndpointsConfig']:
5427
+ """
5428
+ IP endpoint configuration.
5429
+ """
5430
+ return pulumi.get(self, "ip_endpoints_config")
5431
+
5409
5432
 
5410
5433
  @pulumi.output_type
5411
5434
  class ClusterControlPlaneEndpointsConfigDnsEndpointConfig(dict):
@@ -5455,6 +5478,25 @@ class ClusterControlPlaneEndpointsConfigDnsEndpointConfig(dict):
5455
5478
  return pulumi.get(self, "endpoint")
5456
5479
 
5457
5480
 
5481
+ @pulumi.output_type
5482
+ class ClusterControlPlaneEndpointsConfigIpEndpointsConfig(dict):
5483
+ def __init__(__self__, *,
5484
+ enabled: Optional[bool] = None):
5485
+ """
5486
+ :param bool enabled: Controls whether to allow direct IP access. Defaults to `true`.
5487
+ """
5488
+ if enabled is not None:
5489
+ pulumi.set(__self__, "enabled", enabled)
5490
+
5491
+ @property
5492
+ @pulumi.getter
5493
+ def enabled(self) -> Optional[bool]:
5494
+ """
5495
+ Controls whether to allow direct IP access. Defaults to `true`.
5496
+ """
5497
+ return pulumi.get(self, "enabled")
5498
+
5499
+
5458
5500
  @pulumi.output_type
5459
5501
  class ClusterCostManagementConfig(dict):
5460
5502
  def __init__(__self__, *,
@@ -6999,6 +7041,8 @@ class ClusterNodeConfig(dict):
6999
7041
  suggest = "sole_tenant_config"
7000
7042
  elif key == "storagePools":
7001
7043
  suggest = "storage_pools"
7044
+ elif key == "windowsNodeConfig":
7045
+ suggest = "windows_node_config"
7002
7046
  elif key == "workloadMetadataConfig":
7003
7047
  suggest = "workload_metadata_config"
7004
7048
 
@@ -7056,6 +7100,7 @@ class ClusterNodeConfig(dict):
7056
7100
  storage_pools: Optional[Sequence[str]] = None,
7057
7101
  tags: Optional[Sequence[str]] = None,
7058
7102
  taints: Optional[Sequence['outputs.ClusterNodeConfigTaint']] = None,
7103
+ windows_node_config: Optional['outputs.ClusterNodeConfigWindowsNodeConfig'] = None,
7059
7104
  workload_metadata_config: Optional['outputs.ClusterNodeConfigWorkloadMetadataConfig'] = None):
7060
7105
  """
7061
7106
  :param 'ClusterNodeConfigAdvancedMachineFeaturesArgs' advanced_machine_features: Specifies options for controlling
@@ -7160,6 +7205,7 @@ class ClusterNodeConfig(dict):
7160
7205
  Kubernetes (eg. through `kubectl`), and it's recommended that you do not use
7161
7206
  this field to manage taints. If you do, `lifecycle.ignore_changes` is
7162
7207
  recommended. Structure is documented below.
7208
+ :param 'ClusterNodeConfigWindowsNodeConfigArgs' windows_node_config: Windows node configuration, currently supporting OSVersion [attribute](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/NodeConfig#osversion). The value must be one of [OS_VERSION_UNSPECIFIED, OS_VERSION_LTSC2019, OS_VERSION_LTSC2019]. For example:
7163
7209
  :param 'ClusterNodeConfigWorkloadMetadataConfigArgs' workload_metadata_config: Metadata configuration to expose to workloads on the node pool.
7164
7210
  Structure is documented below.
7165
7211
  """
@@ -7247,6 +7293,8 @@ class ClusterNodeConfig(dict):
7247
7293
  pulumi.set(__self__, "tags", tags)
7248
7294
  if taints is not None:
7249
7295
  pulumi.set(__self__, "taints", taints)
7296
+ if windows_node_config is not None:
7297
+ pulumi.set(__self__, "windows_node_config", windows_node_config)
7250
7298
  if workload_metadata_config is not None:
7251
7299
  pulumi.set(__self__, "workload_metadata_config", workload_metadata_config)
7252
7300
 
@@ -7646,6 +7694,14 @@ class ClusterNodeConfig(dict):
7646
7694
  """
7647
7695
  return pulumi.get(self, "taints")
7648
7696
 
7697
+ @property
7698
+ @pulumi.getter(name="windowsNodeConfig")
7699
+ def windows_node_config(self) -> Optional['outputs.ClusterNodeConfigWindowsNodeConfig']:
7700
+ """
7701
+ Windows node configuration, currently supporting OSVersion [attribute](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/NodeConfig#osversion). The value must be one of [OS_VERSION_UNSPECIFIED, OS_VERSION_LTSC2019, OS_VERSION_LTSC2019]. For example:
7702
+ """
7703
+ return pulumi.get(self, "windows_node_config")
7704
+
7649
7705
  @property
7650
7706
  @pulumi.getter(name="workloadMetadataConfig")
7651
7707
  def workload_metadata_config(self) -> Optional['outputs.ClusterNodeConfigWorkloadMetadataConfig']:
@@ -8985,6 +9041,25 @@ class ClusterNodeConfigTaint(dict):
8985
9041
  return pulumi.get(self, "value")
8986
9042
 
8987
9043
 
9044
+ @pulumi.output_type
9045
+ class ClusterNodeConfigWindowsNodeConfig(dict):
9046
+ def __init__(__self__, *,
9047
+ osversion: Optional[str] = None):
9048
+ """
9049
+ :param str osversion: The OS Version of the windows nodepool.Values are OS_VERSION_UNSPECIFIED,OS_VERSION_LTSC2019 and OS_VERSION_LTSC2022
9050
+ """
9051
+ if osversion is not None:
9052
+ pulumi.set(__self__, "osversion", osversion)
9053
+
9054
+ @property
9055
+ @pulumi.getter
9056
+ def osversion(self) -> Optional[str]:
9057
+ """
9058
+ The OS Version of the windows nodepool.Values are OS_VERSION_UNSPECIFIED,OS_VERSION_LTSC2019 and OS_VERSION_LTSC2022
9059
+ """
9060
+ return pulumi.get(self, "osversion")
9061
+
9062
+
8988
9063
  @pulumi.output_type
8989
9064
  class ClusterNodeConfigWorkloadMetadataConfig(dict):
8990
9065
  def __init__(__self__, *,
@@ -10279,6 +10354,8 @@ class ClusterNodePoolNodeConfig(dict):
10279
10354
  suggest = "sole_tenant_config"
10280
10355
  elif key == "storagePools":
10281
10356
  suggest = "storage_pools"
10357
+ elif key == "windowsNodeConfig":
10358
+ suggest = "windows_node_config"
10282
10359
  elif key == "workloadMetadataConfig":
10283
10360
  suggest = "workload_metadata_config"
10284
10361
 
@@ -10336,6 +10413,7 @@ class ClusterNodePoolNodeConfig(dict):
10336
10413
  storage_pools: Optional[Sequence[str]] = None,
10337
10414
  tags: Optional[Sequence[str]] = None,
10338
10415
  taints: Optional[Sequence['outputs.ClusterNodePoolNodeConfigTaint']] = None,
10416
+ windows_node_config: Optional['outputs.ClusterNodePoolNodeConfigWindowsNodeConfig'] = None,
10339
10417
  workload_metadata_config: Optional['outputs.ClusterNodePoolNodeConfigWorkloadMetadataConfig'] = None):
10340
10418
  """
10341
10419
  :param 'ClusterNodePoolNodeConfigAdvancedMachineFeaturesArgs' advanced_machine_features: Specifies options for controlling
@@ -10440,6 +10518,7 @@ class ClusterNodePoolNodeConfig(dict):
10440
10518
  Kubernetes (eg. through `kubectl`), and it's recommended that you do not use
10441
10519
  this field to manage taints. If you do, `lifecycle.ignore_changes` is
10442
10520
  recommended. Structure is documented below.
10521
+ :param 'ClusterNodePoolNodeConfigWindowsNodeConfigArgs' windows_node_config: Windows node configuration, currently supporting OSVersion [attribute](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/NodeConfig#osversion). The value must be one of [OS_VERSION_UNSPECIFIED, OS_VERSION_LTSC2019, OS_VERSION_LTSC2019]. For example:
10443
10522
  :param 'ClusterNodePoolNodeConfigWorkloadMetadataConfigArgs' workload_metadata_config: Metadata configuration to expose to workloads on the node pool.
10444
10523
  Structure is documented below.
10445
10524
  """
@@ -10527,6 +10606,8 @@ class ClusterNodePoolNodeConfig(dict):
10527
10606
  pulumi.set(__self__, "tags", tags)
10528
10607
  if taints is not None:
10529
10608
  pulumi.set(__self__, "taints", taints)
10609
+ if windows_node_config is not None:
10610
+ pulumi.set(__self__, "windows_node_config", windows_node_config)
10530
10611
  if workload_metadata_config is not None:
10531
10612
  pulumi.set(__self__, "workload_metadata_config", workload_metadata_config)
10532
10613
 
@@ -10926,6 +11007,14 @@ class ClusterNodePoolNodeConfig(dict):
10926
11007
  """
10927
11008
  return pulumi.get(self, "taints")
10928
11009
 
11010
+ @property
11011
+ @pulumi.getter(name="windowsNodeConfig")
11012
+ def windows_node_config(self) -> Optional['outputs.ClusterNodePoolNodeConfigWindowsNodeConfig']:
11013
+ """
11014
+ Windows node configuration, currently supporting OSVersion [attribute](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/NodeConfig#osversion). The value must be one of [OS_VERSION_UNSPECIFIED, OS_VERSION_LTSC2019, OS_VERSION_LTSC2019]. For example:
11015
+ """
11016
+ return pulumi.get(self, "windows_node_config")
11017
+
10929
11018
  @property
10930
11019
  @pulumi.getter(name="workloadMetadataConfig")
10931
11020
  def workload_metadata_config(self) -> Optional['outputs.ClusterNodePoolNodeConfigWorkloadMetadataConfig']:
@@ -12265,6 +12354,25 @@ class ClusterNodePoolNodeConfigTaint(dict):
12265
12354
  return pulumi.get(self, "value")
12266
12355
 
12267
12356
 
12357
+ @pulumi.output_type
12358
+ class ClusterNodePoolNodeConfigWindowsNodeConfig(dict):
12359
+ def __init__(__self__, *,
12360
+ osversion: Optional[str] = None):
12361
+ """
12362
+ :param str osversion: The OS Version of the windows nodepool.Values are OS_VERSION_UNSPECIFIED,OS_VERSION_LTSC2019 and OS_VERSION_LTSC2022
12363
+ """
12364
+ if osversion is not None:
12365
+ pulumi.set(__self__, "osversion", osversion)
12366
+
12367
+ @property
12368
+ @pulumi.getter
12369
+ def osversion(self) -> Optional[str]:
12370
+ """
12371
+ The OS Version of the windows nodepool.Values are OS_VERSION_UNSPECIFIED,OS_VERSION_LTSC2019 and OS_VERSION_LTSC2022
12372
+ """
12373
+ return pulumi.get(self, "osversion")
12374
+
12375
+
12268
12376
  @pulumi.output_type
12269
12377
  class ClusterNodePoolNodeConfigWorkloadMetadataConfig(dict):
12270
12378
  def __init__(__self__, *,
@@ -12656,6 +12764,49 @@ class ClusterNotificationConfigPubsubFilter(dict):
12656
12764
  return pulumi.get(self, "event_types")
12657
12765
 
12658
12766
 
12767
+ @pulumi.output_type
12768
+ class ClusterPodAutoscaling(dict):
12769
+ @staticmethod
12770
+ def __key_warning(key: str):
12771
+ suggest = None
12772
+ if key == "hpaProfile":
12773
+ suggest = "hpa_profile"
12774
+
12775
+ if suggest:
12776
+ pulumi.log.warn(f"Key '{key}' not found in ClusterPodAutoscaling. Access the value via the '{suggest}' property getter instead.")
12777
+
12778
+ def __getitem__(self, key: str) -> Any:
12779
+ ClusterPodAutoscaling.__key_warning(key)
12780
+ return super().__getitem__(key)
12781
+
12782
+ def get(self, key: str, default = None) -> Any:
12783
+ ClusterPodAutoscaling.__key_warning(key)
12784
+ return super().get(key, default)
12785
+
12786
+ def __init__(__self__, *,
12787
+ hpa_profile: str):
12788
+ """
12789
+ :param str hpa_profile: Enable the Horizontal Pod Autoscaling profile for this cluster.
12790
+ Acceptable values are:
12791
+ * `"NONE"`: Customers explicitly opt-out of HPA profiles.
12792
+ * `"PERFORMANCE"`: PERFORMANCE is used when customers opt-in to the performance HPA profile. In this profile we support a higher number of HPAs per cluster and faster metrics collection for workload autoscaling.
12793
+ See [HPAProfile](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1beta1/projects.locations.clusters#hpaprofile) for more details.
12794
+ """
12795
+ pulumi.set(__self__, "hpa_profile", hpa_profile)
12796
+
12797
+ @property
12798
+ @pulumi.getter(name="hpaProfile")
12799
+ def hpa_profile(self) -> str:
12800
+ """
12801
+ Enable the Horizontal Pod Autoscaling profile for this cluster.
12802
+ Acceptable values are:
12803
+ * `"NONE"`: Customers explicitly opt-out of HPA profiles.
12804
+ * `"PERFORMANCE"`: PERFORMANCE is used when customers opt-in to the performance HPA profile. In this profile we support a higher number of HPAs per cluster and faster metrics collection for workload autoscaling.
12805
+ See [HPAProfile](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1beta1/projects.locations.clusters#hpaprofile) for more details.
12806
+ """
12807
+ return pulumi.get(self, "hpa_profile")
12808
+
12809
+
12659
12810
  @pulumi.output_type
12660
12811
  class ClusterPodSecurityPolicyConfig(dict):
12661
12812
  def __init__(__self__, *,
@@ -13982,6 +14133,8 @@ class NodePoolNodeConfig(dict):
13982
14133
  suggest = "sole_tenant_config"
13983
14134
  elif key == "storagePools":
13984
14135
  suggest = "storage_pools"
14136
+ elif key == "windowsNodeConfig":
14137
+ suggest = "windows_node_config"
13985
14138
  elif key == "workloadMetadataConfig":
13986
14139
  suggest = "workload_metadata_config"
13987
14140
 
@@ -14039,6 +14192,7 @@ class NodePoolNodeConfig(dict):
14039
14192
  storage_pools: Optional[Sequence[str]] = None,
14040
14193
  tags: Optional[Sequence[str]] = None,
14041
14194
  taints: Optional[Sequence['outputs.NodePoolNodeConfigTaint']] = None,
14195
+ windows_node_config: Optional['outputs.NodePoolNodeConfigWindowsNodeConfig'] = None,
14042
14196
  workload_metadata_config: Optional['outputs.NodePoolNodeConfigWorkloadMetadataConfig'] = None):
14043
14197
  """
14044
14198
  :param 'NodePoolNodeConfigAdvancedMachineFeaturesArgs' advanced_machine_features: Specifies options for controlling advanced machine features.
@@ -14086,6 +14240,7 @@ class NodePoolNodeConfig(dict):
14086
14240
  :param Sequence[str] storage_pools: The list of Storage Pools where boot disks are provisioned.
14087
14241
  :param Sequence[str] tags: The list of instance tags applied to all nodes.
14088
14242
  :param Sequence['NodePoolNodeConfigTaintArgs'] taints: List of Kubernetes taints to be applied to each node.
14243
+ :param 'NodePoolNodeConfigWindowsNodeConfigArgs' windows_node_config: Parameters that can be configured on Windows nodes.
14089
14244
  :param 'NodePoolNodeConfigWorkloadMetadataConfigArgs' workload_metadata_config: The workload metadata configuration for this node.
14090
14245
  """
14091
14246
  if advanced_machine_features is not None:
@@ -14172,6 +14327,8 @@ class NodePoolNodeConfig(dict):
14172
14327
  pulumi.set(__self__, "tags", tags)
14173
14328
  if taints is not None:
14174
14329
  pulumi.set(__self__, "taints", taints)
14330
+ if windows_node_config is not None:
14331
+ pulumi.set(__self__, "windows_node_config", windows_node_config)
14175
14332
  if workload_metadata_config is not None:
14176
14333
  pulumi.set(__self__, "workload_metadata_config", workload_metadata_config)
14177
14334
 
@@ -14514,6 +14671,14 @@ class NodePoolNodeConfig(dict):
14514
14671
  """
14515
14672
  return pulumi.get(self, "taints")
14516
14673
 
14674
+ @property
14675
+ @pulumi.getter(name="windowsNodeConfig")
14676
+ def windows_node_config(self) -> Optional['outputs.NodePoolNodeConfigWindowsNodeConfig']:
14677
+ """
14678
+ Parameters that can be configured on Windows nodes.
14679
+ """
14680
+ return pulumi.get(self, "windows_node_config")
14681
+
14517
14682
  @property
14518
14683
  @pulumi.getter(name="workloadMetadataConfig")
14519
14684
  def workload_metadata_config(self) -> Optional['outputs.NodePoolNodeConfigWorkloadMetadataConfig']:
@@ -15780,6 +15945,25 @@ class NodePoolNodeConfigTaint(dict):
15780
15945
  return pulumi.get(self, "value")
15781
15946
 
15782
15947
 
15948
+ @pulumi.output_type
15949
+ class NodePoolNodeConfigWindowsNodeConfig(dict):
15950
+ def __init__(__self__, *,
15951
+ osversion: Optional[str] = None):
15952
+ """
15953
+ :param str osversion: The OS Version of the windows nodepool.Values are OS_VERSION_UNSPECIFIED,OS_VERSION_LTSC2019 and OS_VERSION_LTSC2022
15954
+ """
15955
+ if osversion is not None:
15956
+ pulumi.set(__self__, "osversion", osversion)
15957
+
15958
+ @property
15959
+ @pulumi.getter
15960
+ def osversion(self) -> Optional[str]:
15961
+ """
15962
+ The OS Version of the windows nodepool.Values are OS_VERSION_UNSPECIFIED,OS_VERSION_LTSC2019 and OS_VERSION_LTSC2022
15963
+ """
15964
+ return pulumi.get(self, "osversion")
15965
+
15966
+
15783
15967
  @pulumi.output_type
15784
15968
  class NodePoolNodeConfigWorkloadMetadataConfig(dict):
15785
15969
  def __init__(__self__, *,
@@ -17045,11 +17229,14 @@ class GetClusterConfidentialNodeResult(dict):
17045
17229
  @pulumi.output_type
17046
17230
  class GetClusterControlPlaneEndpointsConfigResult(dict):
17047
17231
  def __init__(__self__, *,
17048
- dns_endpoint_configs: Sequence['outputs.GetClusterControlPlaneEndpointsConfigDnsEndpointConfigResult']):
17232
+ dns_endpoint_configs: Sequence['outputs.GetClusterControlPlaneEndpointsConfigDnsEndpointConfigResult'],
17233
+ ip_endpoints_configs: Sequence['outputs.GetClusterControlPlaneEndpointsConfigIpEndpointsConfigResult']):
17049
17234
  """
17050
17235
  :param Sequence['GetClusterControlPlaneEndpointsConfigDnsEndpointConfigArgs'] dns_endpoint_configs: DNS endpoint configuration.
17236
+ :param Sequence['GetClusterControlPlaneEndpointsConfigIpEndpointsConfigArgs'] ip_endpoints_configs: IP endpoint configuration.
17051
17237
  """
17052
17238
  pulumi.set(__self__, "dns_endpoint_configs", dns_endpoint_configs)
17239
+ pulumi.set(__self__, "ip_endpoints_configs", ip_endpoints_configs)
17053
17240
 
17054
17241
  @property
17055
17242
  @pulumi.getter(name="dnsEndpointConfigs")
@@ -17059,6 +17246,14 @@ class GetClusterControlPlaneEndpointsConfigResult(dict):
17059
17246
  """
17060
17247
  return pulumi.get(self, "dns_endpoint_configs")
17061
17248
 
17249
+ @property
17250
+ @pulumi.getter(name="ipEndpointsConfigs")
17251
+ def ip_endpoints_configs(self) -> Sequence['outputs.GetClusterControlPlaneEndpointsConfigIpEndpointsConfigResult']:
17252
+ """
17253
+ IP endpoint configuration.
17254
+ """
17255
+ return pulumi.get(self, "ip_endpoints_configs")
17256
+
17062
17257
 
17063
17258
  @pulumi.output_type
17064
17259
  class GetClusterControlPlaneEndpointsConfigDnsEndpointConfigResult(dict):
@@ -17089,6 +17284,24 @@ class GetClusterControlPlaneEndpointsConfigDnsEndpointConfigResult(dict):
17089
17284
  return pulumi.get(self, "endpoint")
17090
17285
 
17091
17286
 
17287
+ @pulumi.output_type
17288
+ class GetClusterControlPlaneEndpointsConfigIpEndpointsConfigResult(dict):
17289
+ def __init__(__self__, *,
17290
+ enabled: bool):
17291
+ """
17292
+ :param bool enabled: Controls whether to allow direct IP access.
17293
+ """
17294
+ pulumi.set(__self__, "enabled", enabled)
17295
+
17296
+ @property
17297
+ @pulumi.getter
17298
+ def enabled(self) -> bool:
17299
+ """
17300
+ Controls whether to allow direct IP access.
17301
+ """
17302
+ return pulumi.get(self, "enabled")
17303
+
17304
+
17092
17305
  @pulumi.output_type
17093
17306
  class GetClusterCostManagementConfigResult(dict):
17094
17307
  def __init__(__self__, *,
@@ -17972,6 +18185,7 @@ class GetClusterNodeConfigResult(dict):
17972
18185
  storage_pools: Sequence[str],
17973
18186
  tags: Sequence[str],
17974
18187
  taints: Sequence['outputs.GetClusterNodeConfigTaintResult'],
18188
+ windows_node_configs: Sequence['outputs.GetClusterNodeConfigWindowsNodeConfigResult'],
17975
18189
  workload_metadata_configs: Sequence['outputs.GetClusterNodeConfigWorkloadMetadataConfigResult']):
17976
18190
  """
17977
18191
  :param Sequence['GetClusterNodeConfigAdvancedMachineFeatureArgs'] advanced_machine_features: Specifies options for controlling advanced machine features.
@@ -18016,6 +18230,7 @@ class GetClusterNodeConfigResult(dict):
18016
18230
  :param Sequence[str] storage_pools: The list of Storage Pools where boot disks are provisioned.
18017
18231
  :param Sequence[str] tags: The list of instance tags applied to all nodes.
18018
18232
  :param Sequence['GetClusterNodeConfigTaintArgs'] taints: List of Kubernetes taints to be applied to each node.
18233
+ :param Sequence['GetClusterNodeConfigWindowsNodeConfigArgs'] windows_node_configs: Parameters that can be configured on Windows nodes.
18019
18234
  :param Sequence['GetClusterNodeConfigWorkloadMetadataConfigArgs'] workload_metadata_configs: The workload metadata configuration for this node.
18020
18235
  """
18021
18236
  pulumi.set(__self__, "advanced_machine_features", advanced_machine_features)
@@ -18060,6 +18275,7 @@ class GetClusterNodeConfigResult(dict):
18060
18275
  pulumi.set(__self__, "storage_pools", storage_pools)
18061
18276
  pulumi.set(__self__, "tags", tags)
18062
18277
  pulumi.set(__self__, "taints", taints)
18278
+ pulumi.set(__self__, "windows_node_configs", windows_node_configs)
18063
18279
  pulumi.set(__self__, "workload_metadata_configs", workload_metadata_configs)
18064
18280
 
18065
18281
  @property
@@ -18398,6 +18614,14 @@ class GetClusterNodeConfigResult(dict):
18398
18614
  """
18399
18615
  return pulumi.get(self, "taints")
18400
18616
 
18617
+ @property
18618
+ @pulumi.getter(name="windowsNodeConfigs")
18619
+ def windows_node_configs(self) -> Sequence['outputs.GetClusterNodeConfigWindowsNodeConfigResult']:
18620
+ """
18621
+ Parameters that can be configured on Windows nodes.
18622
+ """
18623
+ return pulumi.get(self, "windows_node_configs")
18624
+
18401
18625
  @property
18402
18626
  @pulumi.getter(name="workloadMetadataConfigs")
18403
18627
  def workload_metadata_configs(self) -> Sequence['outputs.GetClusterNodeConfigWorkloadMetadataConfigResult']:
@@ -19245,6 +19469,24 @@ class GetClusterNodeConfigTaintResult(dict):
19245
19469
  return pulumi.get(self, "value")
19246
19470
 
19247
19471
 
19472
+ @pulumi.output_type
19473
+ class GetClusterNodeConfigWindowsNodeConfigResult(dict):
19474
+ def __init__(__self__, *,
19475
+ osversion: str):
19476
+ """
19477
+ :param str osversion: The OS Version of the windows nodepool.Values are OS_VERSION_UNSPECIFIED,OS_VERSION_LTSC2019 and OS_VERSION_LTSC2022
19478
+ """
19479
+ pulumi.set(__self__, "osversion", osversion)
19480
+
19481
+ @property
19482
+ @pulumi.getter
19483
+ def osversion(self) -> str:
19484
+ """
19485
+ The OS Version of the windows nodepool.Values are OS_VERSION_UNSPECIFIED,OS_VERSION_LTSC2019 and OS_VERSION_LTSC2022
19486
+ """
19487
+ return pulumi.get(self, "osversion")
19488
+
19489
+
19248
19490
  @pulumi.output_type
19249
19491
  class GetClusterNodeConfigWorkloadMetadataConfigResult(dict):
19250
19492
  def __init__(__self__, *,
@@ -20058,6 +20300,7 @@ class GetClusterNodePoolNodeConfigResult(dict):
20058
20300
  storage_pools: Sequence[str],
20059
20301
  tags: Sequence[str],
20060
20302
  taints: Sequence['outputs.GetClusterNodePoolNodeConfigTaintResult'],
20303
+ windows_node_configs: Sequence['outputs.GetClusterNodePoolNodeConfigWindowsNodeConfigResult'],
20061
20304
  workload_metadata_configs: Sequence['outputs.GetClusterNodePoolNodeConfigWorkloadMetadataConfigResult']):
20062
20305
  """
20063
20306
  :param Sequence['GetClusterNodePoolNodeConfigAdvancedMachineFeatureArgs'] advanced_machine_features: Specifies options for controlling advanced machine features.
@@ -20102,6 +20345,7 @@ class GetClusterNodePoolNodeConfigResult(dict):
20102
20345
  :param Sequence[str] storage_pools: The list of Storage Pools where boot disks are provisioned.
20103
20346
  :param Sequence[str] tags: The list of instance tags applied to all nodes.
20104
20347
  :param Sequence['GetClusterNodePoolNodeConfigTaintArgs'] taints: List of Kubernetes taints to be applied to each node.
20348
+ :param Sequence['GetClusterNodePoolNodeConfigWindowsNodeConfigArgs'] windows_node_configs: Parameters that can be configured on Windows nodes.
20105
20349
  :param Sequence['GetClusterNodePoolNodeConfigWorkloadMetadataConfigArgs'] workload_metadata_configs: The workload metadata configuration for this node.
20106
20350
  """
20107
20351
  pulumi.set(__self__, "advanced_machine_features", advanced_machine_features)
@@ -20146,6 +20390,7 @@ class GetClusterNodePoolNodeConfigResult(dict):
20146
20390
  pulumi.set(__self__, "storage_pools", storage_pools)
20147
20391
  pulumi.set(__self__, "tags", tags)
20148
20392
  pulumi.set(__self__, "taints", taints)
20393
+ pulumi.set(__self__, "windows_node_configs", windows_node_configs)
20149
20394
  pulumi.set(__self__, "workload_metadata_configs", workload_metadata_configs)
20150
20395
 
20151
20396
  @property
@@ -20484,6 +20729,14 @@ class GetClusterNodePoolNodeConfigResult(dict):
20484
20729
  """
20485
20730
  return pulumi.get(self, "taints")
20486
20731
 
20732
+ @property
20733
+ @pulumi.getter(name="windowsNodeConfigs")
20734
+ def windows_node_configs(self) -> Sequence['outputs.GetClusterNodePoolNodeConfigWindowsNodeConfigResult']:
20735
+ """
20736
+ Parameters that can be configured on Windows nodes.
20737
+ """
20738
+ return pulumi.get(self, "windows_node_configs")
20739
+
20487
20740
  @property
20488
20741
  @pulumi.getter(name="workloadMetadataConfigs")
20489
20742
  def workload_metadata_configs(self) -> Sequence['outputs.GetClusterNodePoolNodeConfigWorkloadMetadataConfigResult']:
@@ -21331,6 +21584,24 @@ class GetClusterNodePoolNodeConfigTaintResult(dict):
21331
21584
  return pulumi.get(self, "value")
21332
21585
 
21333
21586
 
21587
+ @pulumi.output_type
21588
+ class GetClusterNodePoolNodeConfigWindowsNodeConfigResult(dict):
21589
+ def __init__(__self__, *,
21590
+ osversion: str):
21591
+ """
21592
+ :param str osversion: The OS Version of the windows nodepool.Values are OS_VERSION_UNSPECIFIED,OS_VERSION_LTSC2019 and OS_VERSION_LTSC2022
21593
+ """
21594
+ pulumi.set(__self__, "osversion", osversion)
21595
+
21596
+ @property
21597
+ @pulumi.getter
21598
+ def osversion(self) -> str:
21599
+ """
21600
+ The OS Version of the windows nodepool.Values are OS_VERSION_UNSPECIFIED,OS_VERSION_LTSC2019 and OS_VERSION_LTSC2022
21601
+ """
21602
+ return pulumi.get(self, "osversion")
21603
+
21604
+
21334
21605
  @pulumi.output_type
21335
21606
  class GetClusterNodePoolNodeConfigWorkloadMetadataConfigResult(dict):
21336
21607
  def __init__(__self__, *,
@@ -21603,6 +21874,30 @@ class GetClusterNotificationConfigPubsubFilterResult(dict):
21603
21874
  return pulumi.get(self, "event_types")
21604
21875
 
21605
21876
 
21877
+ @pulumi.output_type
21878
+ class GetClusterPodAutoscalingResult(dict):
21879
+ def __init__(__self__, *,
21880
+ hpa_profile: str):
21881
+ """
21882
+ :param str hpa_profile: HPA Profile is used to configure the Horizontal Pod Autoscaler (HPA) profile for the cluster.
21883
+ Available options include:
21884
+ - NONE: Customers explicitly opt-out of HPA profiles.
21885
+ - PERFORMANCE: PERFORMANCE is used when customers opt-in to the performance HPA profile. In this profile we support a higher number of HPAs per cluster and faster metrics collection for workload autoscaling.
21886
+ """
21887
+ pulumi.set(__self__, "hpa_profile", hpa_profile)
21888
+
21889
+ @property
21890
+ @pulumi.getter(name="hpaProfile")
21891
+ def hpa_profile(self) -> str:
21892
+ """
21893
+ HPA Profile is used to configure the Horizontal Pod Autoscaler (HPA) profile for the cluster.
21894
+ Available options include:
21895
+ - NONE: Customers explicitly opt-out of HPA profiles.
21896
+ - PERFORMANCE: PERFORMANCE is used when customers opt-in to the performance HPA profile. In this profile we support a higher number of HPAs per cluster and faster metrics collection for workload autoscaling.
21897
+ """
21898
+ return pulumi.get(self, "hpa_profile")
21899
+
21900
+
21606
21901
  @pulumi.output_type
21607
21902
  class GetClusterPodSecurityPolicyConfigResult(dict):
21608
21903
  def __init__(__self__, *,
@@ -9956,6 +9956,11 @@ if not MYPY:
9956
9956
  """
9957
9957
  Defines whether autoscaling is enabled. The default value is false.
9958
9958
  """
9959
+ autoscaling_factor: NotRequired[pulumi.Input[float]]
9960
+ """
9961
+ (Output)
9962
+ Output only. The scaling factor of a service with autoscaling enabled.
9963
+ """
9959
9964
  limit_config: NotRequired[pulumi.Input['MetastoreServiceScalingConfigAutoscalingConfigLimitConfigArgsDict']]
9960
9965
  """
9961
9966
  Represents the limit configuration of a metastore service.
@@ -9968,14 +9973,19 @@ elif False:
9968
9973
  class MetastoreServiceScalingConfigAutoscalingConfigArgs:
9969
9974
  def __init__(__self__, *,
9970
9975
  autoscaling_enabled: Optional[pulumi.Input[bool]] = None,
9976
+ autoscaling_factor: Optional[pulumi.Input[float]] = None,
9971
9977
  limit_config: Optional[pulumi.Input['MetastoreServiceScalingConfigAutoscalingConfigLimitConfigArgs']] = None):
9972
9978
  """
9973
9979
  :param pulumi.Input[bool] autoscaling_enabled: Defines whether autoscaling is enabled. The default value is false.
9980
+ :param pulumi.Input[float] autoscaling_factor: (Output)
9981
+ Output only. The scaling factor of a service with autoscaling enabled.
9974
9982
  :param pulumi.Input['MetastoreServiceScalingConfigAutoscalingConfigLimitConfigArgs'] limit_config: Represents the limit configuration of a metastore service.
9975
9983
  Structure is documented below.
9976
9984
  """
9977
9985
  if autoscaling_enabled is not None:
9978
9986
  pulumi.set(__self__, "autoscaling_enabled", autoscaling_enabled)
9987
+ if autoscaling_factor is not None:
9988
+ pulumi.set(__self__, "autoscaling_factor", autoscaling_factor)
9979
9989
  if limit_config is not None:
9980
9990
  pulumi.set(__self__, "limit_config", limit_config)
9981
9991
 
@@ -9991,6 +10001,19 @@ class MetastoreServiceScalingConfigAutoscalingConfigArgs:
9991
10001
  def autoscaling_enabled(self, value: Optional[pulumi.Input[bool]]):
9992
10002
  pulumi.set(self, "autoscaling_enabled", value)
9993
10003
 
10004
+ @property
10005
+ @pulumi.getter(name="autoscalingFactor")
10006
+ def autoscaling_factor(self) -> Optional[pulumi.Input[float]]:
10007
+ """
10008
+ (Output)
10009
+ Output only. The scaling factor of a service with autoscaling enabled.
10010
+ """
10011
+ return pulumi.get(self, "autoscaling_factor")
10012
+
10013
+ @autoscaling_factor.setter
10014
+ def autoscaling_factor(self, value: Optional[pulumi.Input[float]]):
10015
+ pulumi.set(self, "autoscaling_factor", value)
10016
+
9994
10017
  @property
9995
10018
  @pulumi.getter(name="limitConfig")
9996
10019
  def limit_config(self) -> Optional[pulumi.Input['MetastoreServiceScalingConfigAutoscalingConfigLimitConfigArgs']]: