pulumi-gcp 8.23.0a1742538920__py3-none-any.whl → 8.24.0__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 (106) hide show
  1. pulumi_gcp/__init__.py +59 -0
  2. pulumi_gcp/alloydb/_inputs.py +27 -1
  3. pulumi_gcp/alloydb/outputs.py +33 -2
  4. pulumi_gcp/applicationintegration/client.py +18 -24
  5. pulumi_gcp/bigquery/_inputs.py +178 -0
  6. pulumi_gcp/bigquery/outputs.py +127 -0
  7. pulumi_gcp/bigquery/reservation.py +189 -1
  8. pulumi_gcp/bigquery/table.py +61 -0
  9. pulumi_gcp/bigqueryanalyticshub/listing_subscription.py +11 -7
  10. pulumi_gcp/bigtable/table.py +7 -7
  11. pulumi_gcp/chronicle/data_access_label.py +16 -0
  12. pulumi_gcp/clouddeploy/_inputs.py +20 -0
  13. pulumi_gcp/clouddeploy/outputs.py +15 -1
  14. pulumi_gcp/cloudfunctions/function.py +11 -11
  15. pulumi_gcp/cloudfunctionsv2/function.py +24 -24
  16. pulumi_gcp/cloudidentity/get_group_transitive_memberships.py +41 -2
  17. pulumi_gcp/cloudidentity/outputs.py +18 -38
  18. pulumi_gcp/cloudrunv2/service.py +14 -14
  19. pulumi_gcp/compute/__init__.py +1 -0
  20. pulumi_gcp/compute/_inputs.py +616 -18
  21. pulumi_gcp/compute/firewall_policy.py +20 -0
  22. pulumi_gcp/compute/get_images.py +172 -0
  23. pulumi_gcp/compute/get_resource_policy.py +15 -4
  24. pulumi_gcp/compute/image.py +54 -0
  25. pulumi_gcp/compute/interconnect.py +14 -7
  26. pulumi_gcp/compute/outputs.py +710 -18
  27. pulumi_gcp/compute/region_network_endpoint_group.py +2 -2
  28. pulumi_gcp/compute/resource_policy.py +169 -3
  29. pulumi_gcp/compute/router_route_policy.py +16 -0
  30. pulumi_gcp/compute/subnetwork.py +109 -1
  31. pulumi_gcp/compute/target_https_proxy.py +7 -7
  32. pulumi_gcp/config/__init__.pyi +8 -0
  33. pulumi_gcp/config/vars.py +16 -0
  34. pulumi_gcp/container/_inputs.py +265 -4
  35. pulumi_gcp/container/cluster.py +54 -0
  36. pulumi_gcp/container/get_attached_versions.py +2 -2
  37. pulumi_gcp/container/get_cluster.py +12 -1
  38. pulumi_gcp/container/outputs.py +301 -6
  39. pulumi_gcp/dataform/repository.py +49 -0
  40. pulumi_gcp/dataproc/_inputs.py +23 -0
  41. pulumi_gcp/dataproc/get_metastore_service.py +26 -4
  42. pulumi_gcp/dataproc/metastore_federation.py +56 -0
  43. pulumi_gcp/dataproc/metastore_service.py +58 -2
  44. pulumi_gcp/dataproc/outputs.py +27 -0
  45. pulumi_gcp/eventarc/__init__.py +1 -0
  46. pulumi_gcp/eventarc/_inputs.py +1758 -0
  47. pulumi_gcp/eventarc/outputs.py +1337 -0
  48. pulumi_gcp/eventarc/pipeline.py +1596 -0
  49. pulumi_gcp/firebase/__init__.py +1 -0
  50. pulumi_gcp/firebase/_inputs.py +154 -0
  51. pulumi_gcp/firebase/app_hosting_backend.py +1303 -0
  52. pulumi_gcp/firebase/hosting_version.py +2 -2
  53. pulumi_gcp/firebase/outputs.py +127 -0
  54. pulumi_gcp/kms/get_key_rings.py +39 -2
  55. pulumi_gcp/lustre/__init__.py +8 -0
  56. pulumi_gcp/lustre/instance.py +983 -0
  57. pulumi_gcp/managedkafka/__init__.py +2 -0
  58. pulumi_gcp/managedkafka/_inputs.py +263 -0
  59. pulumi_gcp/managedkafka/connect_cluster.py +795 -0
  60. pulumi_gcp/managedkafka/connector.py +695 -0
  61. pulumi_gcp/managedkafka/outputs.py +248 -0
  62. pulumi_gcp/memorystore/_inputs.py +419 -0
  63. pulumi_gcp/memorystore/get_instance.py +23 -1
  64. pulumi_gcp/memorystore/instance.py +144 -14
  65. pulumi_gcp/memorystore/outputs.py +544 -0
  66. pulumi_gcp/monitoring/uptime_check_config.py +2 -2
  67. pulumi_gcp/networkmanagement/_inputs.py +422 -91
  68. pulumi_gcp/networkmanagement/connectivity_test.py +233 -211
  69. pulumi_gcp/networkmanagement/outputs.py +280 -61
  70. pulumi_gcp/networksecurity/_inputs.py +1277 -242
  71. pulumi_gcp/networksecurity/gateway_security_policy.py +0 -7
  72. pulumi_gcp/networksecurity/intercept_deployment_group.py +44 -16
  73. pulumi_gcp/networksecurity/intercept_endpoint_group.py +90 -36
  74. pulumi_gcp/networksecurity/intercept_endpoint_group_association.py +53 -8
  75. pulumi_gcp/networksecurity/mirroring_deployment.py +22 -0
  76. pulumi_gcp/networksecurity/mirroring_deployment_group.py +20 -0
  77. pulumi_gcp/networksecurity/mirroring_endpoint_group.py +24 -0
  78. pulumi_gcp/networksecurity/mirroring_endpoint_group_association.py +28 -0
  79. pulumi_gcp/networksecurity/outputs.py +723 -8
  80. pulumi_gcp/networksecurity/tls_inspection_policy.py +14 -0
  81. pulumi_gcp/networkservices/gateway.py +242 -120
  82. pulumi_gcp/organizations/__init__.py +1 -0
  83. pulumi_gcp/organizations/get_iam_custom_role.py +198 -0
  84. pulumi_gcp/osconfig/__init__.py +1 -0
  85. pulumi_gcp/osconfig/_inputs.py +5413 -0
  86. pulumi_gcp/osconfig/outputs.py +3962 -0
  87. pulumi_gcp/osconfig/v2_policy_orchestrator.py +971 -0
  88. pulumi_gcp/projects/__init__.py +2 -0
  89. pulumi_gcp/projects/get_iam_custom_role.py +198 -0
  90. pulumi_gcp/projects/get_iam_custom_roles.py +164 -0
  91. pulumi_gcp/projects/outputs.py +96 -0
  92. pulumi_gcp/provider.py +80 -0
  93. pulumi_gcp/pulumi-plugin.json +1 -1
  94. pulumi_gcp/servicenetworking/peered_dns_domain.py +4 -0
  95. pulumi_gcp/sql/outputs.py +8 -8
  96. pulumi_gcp/storage/__init__.py +2 -0
  97. pulumi_gcp/storage/_inputs.py +740 -6
  98. pulumi_gcp/storage/control_project_intelligence_config.py +366 -0
  99. pulumi_gcp/storage/get_control_project_intelligence_config.py +130 -0
  100. pulumi_gcp/storage/insights_report_config.py +121 -20
  101. pulumi_gcp/storage/outputs.py +723 -4
  102. pulumi_gcp/workflows/workflow.py +75 -7
  103. {pulumi_gcp-8.23.0a1742538920.dist-info → pulumi_gcp-8.24.0.dist-info}/METADATA +1 -1
  104. {pulumi_gcp-8.23.0a1742538920.dist-info → pulumi_gcp-8.24.0.dist-info}/RECORD +106 -93
  105. {pulumi_gcp-8.23.0a1742538920.dist-info → pulumi_gcp-8.24.0.dist-info}/WHEEL +1 -1
  106. {pulumi_gcp-8.23.0a1742538920.dist-info → pulumi_gcp-8.24.0.dist-info}/top_level.txt +0 -0
@@ -98,7 +98,7 @@ class TargetHttpsProxyArgs:
98
98
  Early Data allows a TLS resumption handshake to include the initial application payload
99
99
  (a HTTP request) alongside the handshake, reducing the effective round trips to “zero”.
100
100
  This applies to TLS 1.3 connections over TCP (HTTP/2) as well as over UDP (QUIC/h3).
101
- Possible values are: `STRICT`, `PERMISSIVE`, `DISABLED`.
101
+ Possible values are: `STRICT`, `PERMISSIVE`, `UNRESTRICTED`, `DISABLED`.
102
102
  """
103
103
  pulumi.set(__self__, "url_map", url_map)
104
104
  if certificate_manager_certificates is not None:
@@ -326,7 +326,7 @@ class TargetHttpsProxyArgs:
326
326
  Early Data allows a TLS resumption handshake to include the initial application payload
327
327
  (a HTTP request) alongside the handshake, reducing the effective round trips to “zero”.
328
328
  This applies to TLS 1.3 connections over TCP (HTTP/2) as well as over UDP (QUIC/h3).
329
- Possible values are: `STRICT`, `PERMISSIVE`, `DISABLED`.
329
+ Possible values are: `STRICT`, `PERMISSIVE`, `UNRESTRICTED`, `DISABLED`.
330
330
  """
331
331
  return pulumi.get(self, "tls_early_data")
332
332
 
@@ -418,7 +418,7 @@ class _TargetHttpsProxyState:
418
418
  Early Data allows a TLS resumption handshake to include the initial application payload
419
419
  (a HTTP request) alongside the handshake, reducing the effective round trips to “zero”.
420
420
  This applies to TLS 1.3 connections over TCP (HTTP/2) as well as over UDP (QUIC/h3).
421
- Possible values are: `STRICT`, `PERMISSIVE`, `DISABLED`.
421
+ Possible values are: `STRICT`, `PERMISSIVE`, `UNRESTRICTED`, `DISABLED`.
422
422
  :param pulumi.Input[str] url_map: A reference to the UrlMap resource that defines the mapping from URL
423
423
  to the BackendService.
424
424
 
@@ -678,7 +678,7 @@ class _TargetHttpsProxyState:
678
678
  Early Data allows a TLS resumption handshake to include the initial application payload
679
679
  (a HTTP request) alongside the handshake, reducing the effective round trips to “zero”.
680
680
  This applies to TLS 1.3 connections over TCP (HTTP/2) as well as over UDP (QUIC/h3).
681
- Possible values are: `STRICT`, `PERMISSIVE`, `DISABLED`.
681
+ Possible values are: `STRICT`, `PERMISSIVE`, `UNRESTRICTED`, `DISABLED`.
682
682
  """
683
683
  return pulumi.get(self, "tls_early_data")
684
684
 
@@ -1018,7 +1018,7 @@ class TargetHttpsProxy(pulumi.CustomResource):
1018
1018
  Early Data allows a TLS resumption handshake to include the initial application payload
1019
1019
  (a HTTP request) alongside the handshake, reducing the effective round trips to “zero”.
1020
1020
  This applies to TLS 1.3 connections over TCP (HTTP/2) as well as over UDP (QUIC/h3).
1021
- Possible values are: `STRICT`, `PERMISSIVE`, `DISABLED`.
1021
+ Possible values are: `STRICT`, `PERMISSIVE`, `UNRESTRICTED`, `DISABLED`.
1022
1022
  :param pulumi.Input[str] url_map: A reference to the UrlMap resource that defines the mapping from URL
1023
1023
  to the BackendService.
1024
1024
 
@@ -1416,7 +1416,7 @@ class TargetHttpsProxy(pulumi.CustomResource):
1416
1416
  Early Data allows a TLS resumption handshake to include the initial application payload
1417
1417
  (a HTTP request) alongside the handshake, reducing the effective round trips to “zero”.
1418
1418
  This applies to TLS 1.3 connections over TCP (HTTP/2) as well as over UDP (QUIC/h3).
1419
- Possible values are: `STRICT`, `PERMISSIVE`, `DISABLED`.
1419
+ Possible values are: `STRICT`, `PERMISSIVE`, `UNRESTRICTED`, `DISABLED`.
1420
1420
  :param pulumi.Input[str] url_map: A reference to the UrlMap resource that defines the mapping from URL
1421
1421
  to the BackendService.
1422
1422
 
@@ -1609,7 +1609,7 @@ class TargetHttpsProxy(pulumi.CustomResource):
1609
1609
  Early Data allows a TLS resumption handshake to include the initial application payload
1610
1610
  (a HTTP request) alongside the handshake, reducing the effective round trips to “zero”.
1611
1611
  This applies to TLS 1.3 connections over TCP (HTTP/2) as well as over UDP (QUIC/h3).
1612
- Possible values are: `STRICT`, `PERMISSIVE`, `DISABLED`.
1612
+ Possible values are: `STRICT`, `PERMISSIVE`, `UNRESTRICTED`, `DISABLED`.
1613
1613
  """
1614
1614
  return pulumi.get(self, "tls_early_data")
1615
1615
 
@@ -189,6 +189,8 @@ filestoreCustomEndpoint: Optional[str]
189
189
 
190
190
  firebaseAppCheckCustomEndpoint: Optional[str]
191
191
 
192
+ firebaseAppHostingCustomEndpoint: Optional[str]
193
+
192
194
  firebaseCustomEndpoint: Optional[str]
193
195
 
194
196
  firebaseDataConnectCustomEndpoint: Optional[str]
@@ -251,6 +253,8 @@ loggingCustomEndpoint: Optional[str]
251
253
 
252
254
  lookerCustomEndpoint: Optional[str]
253
255
 
256
+ lustreCustomEndpoint: Optional[str]
257
+
254
258
  managedKafkaCustomEndpoint: Optional[str]
255
259
 
256
260
  memcacheCustomEndpoint: Optional[str]
@@ -281,6 +285,8 @@ orgPolicyCustomEndpoint: Optional[str]
281
285
 
282
286
  osConfigCustomEndpoint: Optional[str]
283
287
 
288
+ osConfigV2CustomEndpoint: Optional[str]
289
+
284
290
  osLoginCustomEndpoint: Optional[str]
285
291
 
286
292
  parallelstoreCustomEndpoint: Optional[str]
@@ -357,6 +363,8 @@ spannerCustomEndpoint: Optional[str]
357
363
 
358
364
  sqlCustomEndpoint: Optional[str]
359
365
 
366
+ storageControlCustomEndpoint: Optional[str]
367
+
360
368
  storageCustomEndpoint: Optional[str]
361
369
 
362
370
  storageInsightsCustomEndpoint: Optional[str]
pulumi_gcp/config/vars.py CHANGED
@@ -369,6 +369,10 @@ class _ExportableConfig(types.ModuleType):
369
369
  def firebase_app_check_custom_endpoint(self) -> Optional[str]:
370
370
  return __config__.get('firebaseAppCheckCustomEndpoint')
371
371
 
372
+ @property
373
+ def firebase_app_hosting_custom_endpoint(self) -> Optional[str]:
374
+ return __config__.get('firebaseAppHostingCustomEndpoint')
375
+
372
376
  @property
373
377
  def firebase_custom_endpoint(self) -> Optional[str]:
374
378
  return __config__.get('firebaseCustomEndpoint')
@@ -493,6 +497,10 @@ class _ExportableConfig(types.ModuleType):
493
497
  def looker_custom_endpoint(self) -> Optional[str]:
494
498
  return __config__.get('lookerCustomEndpoint')
495
499
 
500
+ @property
501
+ def lustre_custom_endpoint(self) -> Optional[str]:
502
+ return __config__.get('lustreCustomEndpoint')
503
+
496
504
  @property
497
505
  def managed_kafka_custom_endpoint(self) -> Optional[str]:
498
506
  return __config__.get('managedKafkaCustomEndpoint')
@@ -553,6 +561,10 @@ class _ExportableConfig(types.ModuleType):
553
561
  def os_config_custom_endpoint(self) -> Optional[str]:
554
562
  return __config__.get('osConfigCustomEndpoint')
555
563
 
564
+ @property
565
+ def os_config_v2_custom_endpoint(self) -> Optional[str]:
566
+ return __config__.get('osConfigV2CustomEndpoint')
567
+
556
568
  @property
557
569
  def os_login_custom_endpoint(self) -> Optional[str]:
558
570
  return __config__.get('osLoginCustomEndpoint')
@@ -705,6 +717,10 @@ class _ExportableConfig(types.ModuleType):
705
717
  def sql_custom_endpoint(self) -> Optional[str]:
706
718
  return __config__.get('sqlCustomEndpoint')
707
719
 
720
+ @property
721
+ def storage_control_custom_endpoint(self) -> Optional[str]:
722
+ return __config__.get('storageControlCustomEndpoint')
723
+
708
724
  @property
709
725
  def storage_custom_endpoint(self) -> Optional[str]:
710
726
  return __config__.get('storageCustomEndpoint')
@@ -219,6 +219,8 @@ __all__ = [
219
219
  'ClusterControlPlaneEndpointsConfigArgsDict',
220
220
  'ClusterControlPlaneEndpointsConfigDnsEndpointConfigArgs',
221
221
  'ClusterControlPlaneEndpointsConfigDnsEndpointConfigArgsDict',
222
+ 'ClusterControlPlaneEndpointsConfigIpEndpointsConfigArgs',
223
+ 'ClusterControlPlaneEndpointsConfigIpEndpointsConfigArgsDict',
222
224
  'ClusterCostManagementConfigArgs',
223
225
  'ClusterCostManagementConfigArgsDict',
224
226
  'ClusterDatabaseEncryptionArgs',
@@ -331,6 +333,8 @@ __all__ = [
331
333
  'ClusterNodeConfigSoleTenantConfigNodeAffinityArgsDict',
332
334
  'ClusterNodeConfigTaintArgs',
333
335
  'ClusterNodeConfigTaintArgsDict',
336
+ 'ClusterNodeConfigWindowsNodeConfigArgs',
337
+ 'ClusterNodeConfigWindowsNodeConfigArgsDict',
334
338
  'ClusterNodeConfigWorkloadMetadataConfigArgs',
335
339
  'ClusterNodeConfigWorkloadMetadataConfigArgsDict',
336
340
  'ClusterNodePoolArgs',
@@ -427,6 +431,8 @@ __all__ = [
427
431
  'ClusterNodePoolNodeConfigSoleTenantConfigNodeAffinityArgsDict',
428
432
  'ClusterNodePoolNodeConfigTaintArgs',
429
433
  'ClusterNodePoolNodeConfigTaintArgsDict',
434
+ 'ClusterNodePoolNodeConfigWindowsNodeConfigArgs',
435
+ 'ClusterNodePoolNodeConfigWindowsNodeConfigArgsDict',
430
436
  'ClusterNodePoolNodeConfigWorkloadMetadataConfigArgs',
431
437
  'ClusterNodePoolNodeConfigWorkloadMetadataConfigArgsDict',
432
438
  'ClusterNodePoolPlacementPolicyArgs',
@@ -445,6 +451,8 @@ __all__ = [
445
451
  'ClusterNotificationConfigPubsubArgsDict',
446
452
  'ClusterNotificationConfigPubsubFilterArgs',
447
453
  'ClusterNotificationConfigPubsubFilterArgsDict',
454
+ 'ClusterPodAutoscalingArgs',
455
+ 'ClusterPodAutoscalingArgsDict',
448
456
  'ClusterPodSecurityPolicyConfigArgs',
449
457
  'ClusterPodSecurityPolicyConfigArgsDict',
450
458
  'ClusterPrivateClusterConfigArgs',
@@ -547,6 +555,8 @@ __all__ = [
547
555
  'NodePoolNodeConfigSoleTenantConfigNodeAffinityArgsDict',
548
556
  'NodePoolNodeConfigTaintArgs',
549
557
  'NodePoolNodeConfigTaintArgsDict',
558
+ 'NodePoolNodeConfigWindowsNodeConfigArgs',
559
+ 'NodePoolNodeConfigWindowsNodeConfigArgsDict',
550
560
  'NodePoolNodeConfigWorkloadMetadataConfigArgs',
551
561
  'NodePoolNodeConfigWorkloadMetadataConfigArgsDict',
552
562
  'NodePoolPlacementPolicyArgs',
@@ -6548,18 +6558,26 @@ if not MYPY:
6548
6558
  """
6549
6559
  DNS endpoint configuration.
6550
6560
  """
6561
+ ip_endpoints_config: NotRequired[pulumi.Input['ClusterControlPlaneEndpointsConfigIpEndpointsConfigArgsDict']]
6562
+ """
6563
+ IP endpoint configuration.
6564
+ """
6551
6565
  elif False:
6552
6566
  ClusterControlPlaneEndpointsConfigArgsDict: TypeAlias = Mapping[str, Any]
6553
6567
 
6554
6568
  @pulumi.input_type
6555
6569
  class ClusterControlPlaneEndpointsConfigArgs:
6556
6570
  def __init__(__self__, *,
6557
- dns_endpoint_config: Optional[pulumi.Input['ClusterControlPlaneEndpointsConfigDnsEndpointConfigArgs']] = None):
6571
+ dns_endpoint_config: Optional[pulumi.Input['ClusterControlPlaneEndpointsConfigDnsEndpointConfigArgs']] = None,
6572
+ ip_endpoints_config: Optional[pulumi.Input['ClusterControlPlaneEndpointsConfigIpEndpointsConfigArgs']] = None):
6558
6573
  """
6559
6574
  :param pulumi.Input['ClusterControlPlaneEndpointsConfigDnsEndpointConfigArgs'] dns_endpoint_config: DNS endpoint configuration.
6575
+ :param pulumi.Input['ClusterControlPlaneEndpointsConfigIpEndpointsConfigArgs'] ip_endpoints_config: IP endpoint configuration.
6560
6576
  """
6561
6577
  if dns_endpoint_config is not None:
6562
6578
  pulumi.set(__self__, "dns_endpoint_config", dns_endpoint_config)
6579
+ if ip_endpoints_config is not None:
6580
+ pulumi.set(__self__, "ip_endpoints_config", ip_endpoints_config)
6563
6581
 
6564
6582
  @property
6565
6583
  @pulumi.getter(name="dnsEndpointConfig")
@@ -6573,6 +6591,18 @@ class ClusterControlPlaneEndpointsConfigArgs:
6573
6591
  def dns_endpoint_config(self, value: Optional[pulumi.Input['ClusterControlPlaneEndpointsConfigDnsEndpointConfigArgs']]):
6574
6592
  pulumi.set(self, "dns_endpoint_config", value)
6575
6593
 
6594
+ @property
6595
+ @pulumi.getter(name="ipEndpointsConfig")
6596
+ def ip_endpoints_config(self) -> Optional[pulumi.Input['ClusterControlPlaneEndpointsConfigIpEndpointsConfigArgs']]:
6597
+ """
6598
+ IP endpoint configuration.
6599
+ """
6600
+ return pulumi.get(self, "ip_endpoints_config")
6601
+
6602
+ @ip_endpoints_config.setter
6603
+ def ip_endpoints_config(self, value: Optional[pulumi.Input['ClusterControlPlaneEndpointsConfigIpEndpointsConfigArgs']]):
6604
+ pulumi.set(self, "ip_endpoints_config", value)
6605
+
6576
6606
 
6577
6607
  if not MYPY:
6578
6608
  class ClusterControlPlaneEndpointsConfigDnsEndpointConfigArgsDict(TypedDict):
@@ -6626,6 +6656,38 @@ class ClusterControlPlaneEndpointsConfigDnsEndpointConfigArgs:
6626
6656
  pulumi.set(self, "endpoint", value)
6627
6657
 
6628
6658
 
6659
+ if not MYPY:
6660
+ class ClusterControlPlaneEndpointsConfigIpEndpointsConfigArgsDict(TypedDict):
6661
+ enabled: NotRequired[pulumi.Input[bool]]
6662
+ """
6663
+ Controls whether to allow direct IP access. Defaults to `true`.
6664
+ """
6665
+ elif False:
6666
+ ClusterControlPlaneEndpointsConfigIpEndpointsConfigArgsDict: TypeAlias = Mapping[str, Any]
6667
+
6668
+ @pulumi.input_type
6669
+ class ClusterControlPlaneEndpointsConfigIpEndpointsConfigArgs:
6670
+ def __init__(__self__, *,
6671
+ enabled: Optional[pulumi.Input[bool]] = None):
6672
+ """
6673
+ :param pulumi.Input[bool] enabled: Controls whether to allow direct IP access. Defaults to `true`.
6674
+ """
6675
+ if enabled is not None:
6676
+ pulumi.set(__self__, "enabled", enabled)
6677
+
6678
+ @property
6679
+ @pulumi.getter
6680
+ def enabled(self) -> Optional[pulumi.Input[bool]]:
6681
+ """
6682
+ Controls whether to allow direct IP access. Defaults to `true`.
6683
+ """
6684
+ return pulumi.get(self, "enabled")
6685
+
6686
+ @enabled.setter
6687
+ def enabled(self, value: Optional[pulumi.Input[bool]]):
6688
+ pulumi.set(self, "enabled", value)
6689
+
6690
+
6629
6691
  if not MYPY:
6630
6692
  class ClusterCostManagementConfigArgsDict(TypedDict):
6631
6693
  enabled: pulumi.Input[bool]
@@ -6767,7 +6829,7 @@ if not MYPY:
6767
6829
  """
6768
6830
  cluster_dns_scope: NotRequired[pulumi.Input[str]]
6769
6831
  """
6770
- The scope of access to cluster DNS records. `DNS_SCOPE_UNSPECIFIED` (default) or `CLUSTER_SCOPE` or `VPC_SCOPE`.
6832
+ The scope of access to cluster DNS records. `DNS_SCOPE_UNSPECIFIED` or `CLUSTER_SCOPE` or `VPC_SCOPE`. If the `cluster_dns` field is set to `CLOUD_DNS`, `DNS_SCOPE_UNSPECIFIED` and empty/null behave like `CLUSTER_SCOPE`.
6771
6833
  """
6772
6834
  elif False:
6773
6835
  ClusterDnsConfigArgsDict: TypeAlias = Mapping[str, Any]
@@ -6783,7 +6845,7 @@ class ClusterDnsConfigArgs:
6783
6845
  :param pulumi.Input[str] additive_vpc_scope_dns_domain: This will enable Cloud DNS additive VPC scope. Must provide a domain name that is unique within the VPC. For this to work `cluster_dns = "CLOUD_DNS"` and `cluster_dns_scope = "CLUSTER_SCOPE"` must both be set as well.
6784
6846
  :param pulumi.Input[str] cluster_dns: Which in-cluster DNS provider should be used. `PROVIDER_UNSPECIFIED` (default) or `PLATFORM_DEFAULT` or `CLOUD_DNS`.
6785
6847
  :param pulumi.Input[str] cluster_dns_domain: The suffix used for all cluster service records.
6786
- :param pulumi.Input[str] cluster_dns_scope: The scope of access to cluster DNS records. `DNS_SCOPE_UNSPECIFIED` (default) or `CLUSTER_SCOPE` or `VPC_SCOPE`.
6848
+ :param pulumi.Input[str] cluster_dns_scope: The scope of access to cluster DNS records. `DNS_SCOPE_UNSPECIFIED` or `CLUSTER_SCOPE` or `VPC_SCOPE`. If the `cluster_dns` field is set to `CLOUD_DNS`, `DNS_SCOPE_UNSPECIFIED` and empty/null behave like `CLUSTER_SCOPE`.
6787
6849
  """
6788
6850
  if additive_vpc_scope_dns_domain is not None:
6789
6851
  pulumi.set(__self__, "additive_vpc_scope_dns_domain", additive_vpc_scope_dns_domain)
@@ -6834,7 +6896,7 @@ class ClusterDnsConfigArgs:
6834
6896
  @pulumi.getter(name="clusterDnsScope")
6835
6897
  def cluster_dns_scope(self) -> Optional[pulumi.Input[str]]:
6836
6898
  """
6837
- The scope of access to cluster DNS records. `DNS_SCOPE_UNSPECIFIED` (default) or `CLUSTER_SCOPE` or `VPC_SCOPE`.
6899
+ The scope of access to cluster DNS records. `DNS_SCOPE_UNSPECIFIED` or `CLUSTER_SCOPE` or `VPC_SCOPE`. If the `cluster_dns` field is set to `CLOUD_DNS`, `DNS_SCOPE_UNSPECIFIED` and empty/null behave like `CLUSTER_SCOPE`.
6838
6900
  """
6839
6901
  return pulumi.get(self, "cluster_dns_scope")
6840
6902
 
@@ -8641,6 +8703,10 @@ if not MYPY:
8641
8703
  this field to manage taints. If you do, `lifecycle.ignore_changes` is
8642
8704
  recommended. Structure is documented below.
8643
8705
  """
8706
+ windows_node_config: NotRequired[pulumi.Input['ClusterNodeConfigWindowsNodeConfigArgsDict']]
8707
+ """
8708
+ 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:
8709
+ """
8644
8710
  workload_metadata_config: NotRequired[pulumi.Input['ClusterNodeConfigWorkloadMetadataConfigArgsDict']]
8645
8711
  """
8646
8712
  Metadata configuration to expose to workloads on the node pool.
@@ -8694,6 +8760,7 @@ class ClusterNodeConfigArgs:
8694
8760
  storage_pools: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
8695
8761
  tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
8696
8762
  taints: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterNodeConfigTaintArgs']]]] = None,
8763
+ windows_node_config: Optional[pulumi.Input['ClusterNodeConfigWindowsNodeConfigArgs']] = None,
8697
8764
  workload_metadata_config: Optional[pulumi.Input['ClusterNodeConfigWorkloadMetadataConfigArgs']] = None):
8698
8765
  """
8699
8766
  :param pulumi.Input['ClusterNodeConfigAdvancedMachineFeaturesArgs'] advanced_machine_features: Specifies options for controlling
@@ -8798,6 +8865,7 @@ class ClusterNodeConfigArgs:
8798
8865
  Kubernetes (eg. through `kubectl`), and it's recommended that you do not use
8799
8866
  this field to manage taints. If you do, `lifecycle.ignore_changes` is
8800
8867
  recommended. Structure is documented below.
8868
+ :param pulumi.Input['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:
8801
8869
  :param pulumi.Input['ClusterNodeConfigWorkloadMetadataConfigArgs'] workload_metadata_config: Metadata configuration to expose to workloads on the node pool.
8802
8870
  Structure is documented below.
8803
8871
  """
@@ -8885,6 +8953,8 @@ class ClusterNodeConfigArgs:
8885
8953
  pulumi.set(__self__, "tags", tags)
8886
8954
  if taints is not None:
8887
8955
  pulumi.set(__self__, "taints", taints)
8956
+ if windows_node_config is not None:
8957
+ pulumi.set(__self__, "windows_node_config", windows_node_config)
8888
8958
  if workload_metadata_config is not None:
8889
8959
  pulumi.set(__self__, "workload_metadata_config", workload_metadata_config)
8890
8960
 
@@ -9452,6 +9522,18 @@ class ClusterNodeConfigArgs:
9452
9522
  def taints(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterNodeConfigTaintArgs']]]]):
9453
9523
  pulumi.set(self, "taints", value)
9454
9524
 
9525
+ @property
9526
+ @pulumi.getter(name="windowsNodeConfig")
9527
+ def windows_node_config(self) -> Optional[pulumi.Input['ClusterNodeConfigWindowsNodeConfigArgs']]:
9528
+ """
9529
+ 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:
9530
+ """
9531
+ return pulumi.get(self, "windows_node_config")
9532
+
9533
+ @windows_node_config.setter
9534
+ def windows_node_config(self, value: Optional[pulumi.Input['ClusterNodeConfigWindowsNodeConfigArgs']]):
9535
+ pulumi.set(self, "windows_node_config", value)
9536
+
9455
9537
  @property
9456
9538
  @pulumi.getter(name="workloadMetadataConfig")
9457
9539
  def workload_metadata_config(self) -> Optional[pulumi.Input['ClusterNodeConfigWorkloadMetadataConfigArgs']]:
@@ -11068,6 +11150,38 @@ class ClusterNodeConfigTaintArgs:
11068
11150
  pulumi.set(self, "value", value)
11069
11151
 
11070
11152
 
11153
+ if not MYPY:
11154
+ class ClusterNodeConfigWindowsNodeConfigArgsDict(TypedDict):
11155
+ osversion: NotRequired[pulumi.Input[str]]
11156
+ """
11157
+ The OS Version of the windows nodepool.Values are OS_VERSION_UNSPECIFIED,OS_VERSION_LTSC2019 and OS_VERSION_LTSC2022
11158
+ """
11159
+ elif False:
11160
+ ClusterNodeConfigWindowsNodeConfigArgsDict: TypeAlias = Mapping[str, Any]
11161
+
11162
+ @pulumi.input_type
11163
+ class ClusterNodeConfigWindowsNodeConfigArgs:
11164
+ def __init__(__self__, *,
11165
+ osversion: Optional[pulumi.Input[str]] = None):
11166
+ """
11167
+ :param pulumi.Input[str] osversion: The OS Version of the windows nodepool.Values are OS_VERSION_UNSPECIFIED,OS_VERSION_LTSC2019 and OS_VERSION_LTSC2022
11168
+ """
11169
+ if osversion is not None:
11170
+ pulumi.set(__self__, "osversion", osversion)
11171
+
11172
+ @property
11173
+ @pulumi.getter
11174
+ def osversion(self) -> Optional[pulumi.Input[str]]:
11175
+ """
11176
+ The OS Version of the windows nodepool.Values are OS_VERSION_UNSPECIFIED,OS_VERSION_LTSC2019 and OS_VERSION_LTSC2022
11177
+ """
11178
+ return pulumi.get(self, "osversion")
11179
+
11180
+ @osversion.setter
11181
+ def osversion(self, value: Optional[pulumi.Input[str]]):
11182
+ pulumi.set(self, "osversion", value)
11183
+
11184
+
11071
11185
  if not MYPY:
11072
11186
  class ClusterNodeConfigWorkloadMetadataConfigArgsDict(TypedDict):
11073
11187
  mode: pulumi.Input[str]
@@ -12803,6 +12917,10 @@ if not MYPY:
12803
12917
  this field to manage taints. If you do, `lifecycle.ignore_changes` is
12804
12918
  recommended. Structure is documented below.
12805
12919
  """
12920
+ windows_node_config: NotRequired[pulumi.Input['ClusterNodePoolNodeConfigWindowsNodeConfigArgsDict']]
12921
+ """
12922
+ 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:
12923
+ """
12806
12924
  workload_metadata_config: NotRequired[pulumi.Input['ClusterNodePoolNodeConfigWorkloadMetadataConfigArgsDict']]
12807
12925
  """
12808
12926
  Metadata configuration to expose to workloads on the node pool.
@@ -12856,6 +12974,7 @@ class ClusterNodePoolNodeConfigArgs:
12856
12974
  storage_pools: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
12857
12975
  tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
12858
12976
  taints: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterNodePoolNodeConfigTaintArgs']]]] = None,
12977
+ windows_node_config: Optional[pulumi.Input['ClusterNodePoolNodeConfigWindowsNodeConfigArgs']] = None,
12859
12978
  workload_metadata_config: Optional[pulumi.Input['ClusterNodePoolNodeConfigWorkloadMetadataConfigArgs']] = None):
12860
12979
  """
12861
12980
  :param pulumi.Input['ClusterNodePoolNodeConfigAdvancedMachineFeaturesArgs'] advanced_machine_features: Specifies options for controlling
@@ -12960,6 +13079,7 @@ class ClusterNodePoolNodeConfigArgs:
12960
13079
  Kubernetes (eg. through `kubectl`), and it's recommended that you do not use
12961
13080
  this field to manage taints. If you do, `lifecycle.ignore_changes` is
12962
13081
  recommended. Structure is documented below.
13082
+ :param pulumi.Input['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:
12963
13083
  :param pulumi.Input['ClusterNodePoolNodeConfigWorkloadMetadataConfigArgs'] workload_metadata_config: Metadata configuration to expose to workloads on the node pool.
12964
13084
  Structure is documented below.
12965
13085
  """
@@ -13047,6 +13167,8 @@ class ClusterNodePoolNodeConfigArgs:
13047
13167
  pulumi.set(__self__, "tags", tags)
13048
13168
  if taints is not None:
13049
13169
  pulumi.set(__self__, "taints", taints)
13170
+ if windows_node_config is not None:
13171
+ pulumi.set(__self__, "windows_node_config", windows_node_config)
13050
13172
  if workload_metadata_config is not None:
13051
13173
  pulumi.set(__self__, "workload_metadata_config", workload_metadata_config)
13052
13174
 
@@ -13614,6 +13736,18 @@ class ClusterNodePoolNodeConfigArgs:
13614
13736
  def taints(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterNodePoolNodeConfigTaintArgs']]]]):
13615
13737
  pulumi.set(self, "taints", value)
13616
13738
 
13739
+ @property
13740
+ @pulumi.getter(name="windowsNodeConfig")
13741
+ def windows_node_config(self) -> Optional[pulumi.Input['ClusterNodePoolNodeConfigWindowsNodeConfigArgs']]:
13742
+ """
13743
+ 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:
13744
+ """
13745
+ return pulumi.get(self, "windows_node_config")
13746
+
13747
+ @windows_node_config.setter
13748
+ def windows_node_config(self, value: Optional[pulumi.Input['ClusterNodePoolNodeConfigWindowsNodeConfigArgs']]):
13749
+ pulumi.set(self, "windows_node_config", value)
13750
+
13617
13751
  @property
13618
13752
  @pulumi.getter(name="workloadMetadataConfig")
13619
13753
  def workload_metadata_config(self) -> Optional[pulumi.Input['ClusterNodePoolNodeConfigWorkloadMetadataConfigArgs']]:
@@ -15230,6 +15364,38 @@ class ClusterNodePoolNodeConfigTaintArgs:
15230
15364
  pulumi.set(self, "value", value)
15231
15365
 
15232
15366
 
15367
+ if not MYPY:
15368
+ class ClusterNodePoolNodeConfigWindowsNodeConfigArgsDict(TypedDict):
15369
+ osversion: NotRequired[pulumi.Input[str]]
15370
+ """
15371
+ The OS Version of the windows nodepool.Values are OS_VERSION_UNSPECIFIED,OS_VERSION_LTSC2019 and OS_VERSION_LTSC2022
15372
+ """
15373
+ elif False:
15374
+ ClusterNodePoolNodeConfigWindowsNodeConfigArgsDict: TypeAlias = Mapping[str, Any]
15375
+
15376
+ @pulumi.input_type
15377
+ class ClusterNodePoolNodeConfigWindowsNodeConfigArgs:
15378
+ def __init__(__self__, *,
15379
+ osversion: Optional[pulumi.Input[str]] = None):
15380
+ """
15381
+ :param pulumi.Input[str] osversion: The OS Version of the windows nodepool.Values are OS_VERSION_UNSPECIFIED,OS_VERSION_LTSC2019 and OS_VERSION_LTSC2022
15382
+ """
15383
+ if osversion is not None:
15384
+ pulumi.set(__self__, "osversion", osversion)
15385
+
15386
+ @property
15387
+ @pulumi.getter
15388
+ def osversion(self) -> Optional[pulumi.Input[str]]:
15389
+ """
15390
+ The OS Version of the windows nodepool.Values are OS_VERSION_UNSPECIFIED,OS_VERSION_LTSC2019 and OS_VERSION_LTSC2022
15391
+ """
15392
+ return pulumi.get(self, "osversion")
15393
+
15394
+ @osversion.setter
15395
+ def osversion(self, value: Optional[pulumi.Input[str]]):
15396
+ pulumi.set(self, "osversion", value)
15397
+
15398
+
15233
15399
  if not MYPY:
15234
15400
  class ClusterNodePoolNodeConfigWorkloadMetadataConfigArgsDict(TypedDict):
15235
15401
  mode: pulumi.Input[str]
@@ -15726,6 +15892,49 @@ class ClusterNotificationConfigPubsubFilterArgs:
15726
15892
  pulumi.set(self, "event_types", value)
15727
15893
 
15728
15894
 
15895
+ if not MYPY:
15896
+ class ClusterPodAutoscalingArgsDict(TypedDict):
15897
+ hpa_profile: pulumi.Input[str]
15898
+ """
15899
+ Enable the Horizontal Pod Autoscaling profile for this cluster.
15900
+ Acceptable values are:
15901
+ * `"NONE"`: Customers explicitly opt-out of HPA profiles.
15902
+ * `"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.
15903
+ See [HPAProfile](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1beta1/projects.locations.clusters#hpaprofile) for more details.
15904
+ """
15905
+ elif False:
15906
+ ClusterPodAutoscalingArgsDict: TypeAlias = Mapping[str, Any]
15907
+
15908
+ @pulumi.input_type
15909
+ class ClusterPodAutoscalingArgs:
15910
+ def __init__(__self__, *,
15911
+ hpa_profile: pulumi.Input[str]):
15912
+ """
15913
+ :param pulumi.Input[str] hpa_profile: Enable the Horizontal Pod Autoscaling profile for this cluster.
15914
+ Acceptable values are:
15915
+ * `"NONE"`: Customers explicitly opt-out of HPA profiles.
15916
+ * `"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.
15917
+ See [HPAProfile](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1beta1/projects.locations.clusters#hpaprofile) for more details.
15918
+ """
15919
+ pulumi.set(__self__, "hpa_profile", hpa_profile)
15920
+
15921
+ @property
15922
+ @pulumi.getter(name="hpaProfile")
15923
+ def hpa_profile(self) -> pulumi.Input[str]:
15924
+ """
15925
+ Enable the Horizontal Pod Autoscaling profile for this cluster.
15926
+ Acceptable values are:
15927
+ * `"NONE"`: Customers explicitly opt-out of HPA profiles.
15928
+ * `"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.
15929
+ See [HPAProfile](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1beta1/projects.locations.clusters#hpaprofile) for more details.
15930
+ """
15931
+ return pulumi.get(self, "hpa_profile")
15932
+
15933
+ @hpa_profile.setter
15934
+ def hpa_profile(self, value: pulumi.Input[str]):
15935
+ pulumi.set(self, "hpa_profile", value)
15936
+
15937
+
15729
15938
  if not MYPY:
15730
15939
  class ClusterPodSecurityPolicyConfigArgsDict(TypedDict):
15731
15940
  enabled: pulumi.Input[bool]
@@ -17457,6 +17666,10 @@ if not MYPY:
17457
17666
  """
17458
17667
  List of Kubernetes taints to be applied to each node.
17459
17668
  """
17669
+ windows_node_config: NotRequired[pulumi.Input['NodePoolNodeConfigWindowsNodeConfigArgsDict']]
17670
+ """
17671
+ Parameters that can be configured on Windows nodes.
17672
+ """
17460
17673
  workload_metadata_config: NotRequired[pulumi.Input['NodePoolNodeConfigWorkloadMetadataConfigArgsDict']]
17461
17674
  """
17462
17675
  The workload metadata configuration for this node.
@@ -17509,6 +17722,7 @@ class NodePoolNodeConfigArgs:
17509
17722
  storage_pools: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
17510
17723
  tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
17511
17724
  taints: Optional[pulumi.Input[Sequence[pulumi.Input['NodePoolNodeConfigTaintArgs']]]] = None,
17725
+ windows_node_config: Optional[pulumi.Input['NodePoolNodeConfigWindowsNodeConfigArgs']] = None,
17512
17726
  workload_metadata_config: Optional[pulumi.Input['NodePoolNodeConfigWorkloadMetadataConfigArgs']] = None):
17513
17727
  """
17514
17728
  :param pulumi.Input['NodePoolNodeConfigAdvancedMachineFeaturesArgs'] advanced_machine_features: Specifies options for controlling advanced machine features.
@@ -17556,6 +17770,7 @@ class NodePoolNodeConfigArgs:
17556
17770
  :param pulumi.Input[Sequence[pulumi.Input[str]]] storage_pools: The list of Storage Pools where boot disks are provisioned.
17557
17771
  :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The list of instance tags applied to all nodes.
17558
17772
  :param pulumi.Input[Sequence[pulumi.Input['NodePoolNodeConfigTaintArgs']]] taints: List of Kubernetes taints to be applied to each node.
17773
+ :param pulumi.Input['NodePoolNodeConfigWindowsNodeConfigArgs'] windows_node_config: Parameters that can be configured on Windows nodes.
17559
17774
  :param pulumi.Input['NodePoolNodeConfigWorkloadMetadataConfigArgs'] workload_metadata_config: The workload metadata configuration for this node.
17560
17775
  """
17561
17776
  if advanced_machine_features is not None:
@@ -17642,6 +17857,8 @@ class NodePoolNodeConfigArgs:
17642
17857
  pulumi.set(__self__, "tags", tags)
17643
17858
  if taints is not None:
17644
17859
  pulumi.set(__self__, "taints", taints)
17860
+ if windows_node_config is not None:
17861
+ pulumi.set(__self__, "windows_node_config", windows_node_config)
17645
17862
  if workload_metadata_config is not None:
17646
17863
  pulumi.set(__self__, "workload_metadata_config", workload_metadata_config)
17647
17864
 
@@ -18152,6 +18369,18 @@ class NodePoolNodeConfigArgs:
18152
18369
  def taints(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['NodePoolNodeConfigTaintArgs']]]]):
18153
18370
  pulumi.set(self, "taints", value)
18154
18371
 
18372
+ @property
18373
+ @pulumi.getter(name="windowsNodeConfig")
18374
+ def windows_node_config(self) -> Optional[pulumi.Input['NodePoolNodeConfigWindowsNodeConfigArgs']]:
18375
+ """
18376
+ Parameters that can be configured on Windows nodes.
18377
+ """
18378
+ return pulumi.get(self, "windows_node_config")
18379
+
18380
+ @windows_node_config.setter
18381
+ def windows_node_config(self, value: Optional[pulumi.Input['NodePoolNodeConfigWindowsNodeConfigArgs']]):
18382
+ pulumi.set(self, "windows_node_config", value)
18383
+
18155
18384
  @property
18156
18385
  @pulumi.getter(name="workloadMetadataConfig")
18157
18386
  def workload_metadata_config(self) -> Optional[pulumi.Input['NodePoolNodeConfigWorkloadMetadataConfigArgs']]:
@@ -19659,6 +19888,38 @@ class NodePoolNodeConfigTaintArgs:
19659
19888
  pulumi.set(self, "value", value)
19660
19889
 
19661
19890
 
19891
+ if not MYPY:
19892
+ class NodePoolNodeConfigWindowsNodeConfigArgsDict(TypedDict):
19893
+ osversion: NotRequired[pulumi.Input[str]]
19894
+ """
19895
+ The OS Version of the windows nodepool.Values are OS_VERSION_UNSPECIFIED,OS_VERSION_LTSC2019 and OS_VERSION_LTSC2022
19896
+ """
19897
+ elif False:
19898
+ NodePoolNodeConfigWindowsNodeConfigArgsDict: TypeAlias = Mapping[str, Any]
19899
+
19900
+ @pulumi.input_type
19901
+ class NodePoolNodeConfigWindowsNodeConfigArgs:
19902
+ def __init__(__self__, *,
19903
+ osversion: Optional[pulumi.Input[str]] = None):
19904
+ """
19905
+ :param pulumi.Input[str] osversion: The OS Version of the windows nodepool.Values are OS_VERSION_UNSPECIFIED,OS_VERSION_LTSC2019 and OS_VERSION_LTSC2022
19906
+ """
19907
+ if osversion is not None:
19908
+ pulumi.set(__self__, "osversion", osversion)
19909
+
19910
+ @property
19911
+ @pulumi.getter
19912
+ def osversion(self) -> Optional[pulumi.Input[str]]:
19913
+ """
19914
+ The OS Version of the windows nodepool.Values are OS_VERSION_UNSPECIFIED,OS_VERSION_LTSC2019 and OS_VERSION_LTSC2022
19915
+ """
19916
+ return pulumi.get(self, "osversion")
19917
+
19918
+ @osversion.setter
19919
+ def osversion(self, value: Optional[pulumi.Input[str]]):
19920
+ pulumi.set(self, "osversion", value)
19921
+
19922
+
19662
19923
  if not MYPY:
19663
19924
  class NodePoolNodeConfigWorkloadMetadataConfigArgsDict(TypedDict):
19664
19925
  mode: pulumi.Input[str]