pulumi-gcp 7.39.0a1726118759__py3-none-any.whl → 8.0.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 (132) hide show
  1. pulumi_gcp/__init__.py +32 -19
  2. pulumi_gcp/accesscontextmanager/access_policy.py +4 -2
  3. pulumi_gcp/activedirectory/domain.py +38 -2
  4. pulumi_gcp/activedirectory/domain_trust.py +0 -30
  5. pulumi_gcp/activedirectory/peering.py +0 -72
  6. pulumi_gcp/alloydb/cluster.py +12 -200
  7. pulumi_gcp/alloydb/instance.py +13 -5
  8. pulumi_gcp/alloydb/user.py +14 -6
  9. pulumi_gcp/apigee/keystores_aliases_self_signed_cert.py +4 -2
  10. pulumi_gcp/apigee/sync_authorization.py +4 -2
  11. pulumi_gcp/apigee/target_server.py +4 -2
  12. pulumi_gcp/appengine/firewall_rule.py +4 -2
  13. pulumi_gcp/appengine/flexible_app_version.py +4 -2
  14. pulumi_gcp/apphub/service.py +8 -4
  15. pulumi_gcp/apphub/service_project_attachment.py +8 -4
  16. pulumi_gcp/applicationintegration/client.py +0 -154
  17. pulumi_gcp/bigquery/_inputs.py +0 -70
  18. pulumi_gcp/bigquery/iam_binding.py +0 -260
  19. pulumi_gcp/bigquery/iam_member.py +0 -260
  20. pulumi_gcp/bigquery/iam_policy.py +0 -240
  21. pulumi_gcp/bigquery/outputs.py +0 -44
  22. pulumi_gcp/bigquery/reservation.py +0 -84
  23. pulumi_gcp/bigquery/table.py +0 -98
  24. pulumi_gcp/billing/project_info.py +4 -2
  25. pulumi_gcp/cloudasset/folder_feed.py +4 -2
  26. pulumi_gcp/cloudrunv2/_inputs.py +25 -25
  27. pulumi_gcp/cloudrunv2/get_job.py +11 -1
  28. pulumi_gcp/cloudrunv2/get_service.py +11 -1
  29. pulumi_gcp/cloudrunv2/job.py +50 -0
  30. pulumi_gcp/cloudrunv2/outputs.py +26 -26
  31. pulumi_gcp/cloudrunv2/service.py +54 -0
  32. pulumi_gcp/compute/_inputs.py +117 -54
  33. pulumi_gcp/compute/backend_service.py +52 -0
  34. pulumi_gcp/compute/firewall_policy_rule.py +4 -2
  35. pulumi_gcp/compute/forwarding_rule.py +42 -0
  36. pulumi_gcp/compute/get_forwarding_rule.py +11 -1
  37. pulumi_gcp/compute/global_address.py +8 -4
  38. pulumi_gcp/compute/global_forwarding_rule.py +7 -0
  39. pulumi_gcp/compute/instance_template.py +56 -7
  40. pulumi_gcp/compute/managed_ssl_certificate.py +1 -20
  41. pulumi_gcp/compute/manged_ssl_certificate.py +1 -20
  42. pulumi_gcp/compute/network_attachment.py +8 -4
  43. pulumi_gcp/compute/node_group.py +4 -2
  44. pulumi_gcp/compute/organization_security_policy_association.py +4 -2
  45. pulumi_gcp/compute/outputs.py +101 -42
  46. pulumi_gcp/compute/project_cloud_armor_tier.py +4 -2
  47. pulumi_gcp/compute/region_backend_service.py +36 -7
  48. pulumi_gcp/compute/region_instance_template.py +56 -7
  49. pulumi_gcp/compute/region_ssl_certificate.py +49 -7
  50. pulumi_gcp/compute/ssl_certificate.py +49 -7
  51. pulumi_gcp/compute/subnetwork.py +193 -23
  52. pulumi_gcp/config/__init__.pyi +3 -5
  53. pulumi_gcp/config/vars.py +6 -10
  54. pulumi_gcp/container/_inputs.py +19 -41
  55. pulumi_gcp/container/cluster.py +79 -0
  56. pulumi_gcp/container/get_cluster.py +21 -1
  57. pulumi_gcp/container/get_engine_versions.py +8 -2
  58. pulumi_gcp/container/outputs.py +17 -40
  59. pulumi_gcp/diagflow/intent.py +4 -2
  60. pulumi_gcp/edgenetwork/network.py +83 -0
  61. pulumi_gcp/edgenetwork/subnet.py +83 -0
  62. pulumi_gcp/firebase/database_instance.py +2 -0
  63. pulumi_gcp/firebase/hosting_custom_domain.py +4 -2
  64. pulumi_gcp/firebase/hosting_version.py +4 -2
  65. pulumi_gcp/firebase/project.py +2 -0
  66. pulumi_gcp/firestore/document.py +8 -4
  67. pulumi_gcp/folder/access_approval_settings.py +12 -6
  68. pulumi_gcp/gkeonprem/_inputs.py +11 -11
  69. pulumi_gcp/gkeonprem/outputs.py +9 -9
  70. pulumi_gcp/gkeonprem/v_mware_cluster.py +31 -31
  71. pulumi_gcp/gkeonprem/v_mware_node_pool.py +186 -0
  72. pulumi_gcp/iam/access_boundary_policy.py +4 -2
  73. pulumi_gcp/iam/deny_policy.py +4 -2
  74. pulumi_gcp/iap/brand.py +4 -2
  75. pulumi_gcp/iap/client.py +4 -2
  76. pulumi_gcp/identityplatform/__init__.py +0 -1
  77. pulumi_gcp/identityplatform/_inputs.py +0 -396
  78. pulumi_gcp/identityplatform/config.py +2 -0
  79. pulumi_gcp/identityplatform/outputs.py +0 -313
  80. pulumi_gcp/integrationconnectors/managed_zone.py +4 -2
  81. pulumi_gcp/kms/__init__.py +4 -0
  82. pulumi_gcp/kms/_inputs.py +130 -0
  83. pulumi_gcp/kms/autokey_config.py +6 -2
  84. pulumi_gcp/kms/ekm_connection_iam_binding.py +1097 -0
  85. pulumi_gcp/kms/ekm_connection_iam_member.py +1097 -0
  86. pulumi_gcp/kms/ekm_connection_iam_policy.py +916 -0
  87. pulumi_gcp/kms/get_ekm_connection_iam_policy.py +177 -0
  88. pulumi_gcp/kms/key_handle.py +8 -2
  89. pulumi_gcp/kms/outputs.py +76 -0
  90. pulumi_gcp/logging/folder_settings.py +4 -2
  91. pulumi_gcp/monitoring/monitored_project.py +4 -2
  92. pulumi_gcp/networksecurity/firewall_endpoint_association.py +12 -44
  93. pulumi_gcp/networkservices/_inputs.py +23 -0
  94. pulumi_gcp/networkservices/outputs.py +17 -1
  95. pulumi_gcp/networkservices/tcp_route.py +2 -0
  96. pulumi_gcp/organizations/access_approval_settings.py +4 -2
  97. pulumi_gcp/organizations/folder.py +35 -1
  98. pulumi_gcp/organizations/get_client_config.py +14 -1
  99. pulumi_gcp/organizations/get_folder.py +11 -1
  100. pulumi_gcp/organizations/get_project.py +3 -13
  101. pulumi_gcp/organizations/project.py +3 -87
  102. pulumi_gcp/orgpolicy/policy.py +12 -6
  103. pulumi_gcp/projects/api_key.py +2 -52
  104. pulumi_gcp/provider.py +32 -52
  105. pulumi_gcp/pubsub/topic.py +1 -1
  106. pulumi_gcp/pulumi-plugin.json +1 -1
  107. pulumi_gcp/redis/cluster.py +58 -0
  108. pulumi_gcp/resourcemanager/lien.py +4 -2
  109. pulumi_gcp/securitycenter/__init__.py +1 -0
  110. pulumi_gcp/securitycenter/folder_custom_module.py +8 -4
  111. pulumi_gcp/securitycenter/management_folder_security_health_analytics_custom_module.py +8 -4
  112. pulumi_gcp/securitycenter/v2_organization_scc_big_query_exports.py +862 -0
  113. pulumi_gcp/serviceusage/consumer_quota_override.py +12 -6
  114. pulumi_gcp/sql/_inputs.py +3 -36
  115. pulumi_gcp/sql/outputs.py +6 -49
  116. pulumi_gcp/storage/_inputs.py +23 -23
  117. pulumi_gcp/storage/bucket.py +6 -6
  118. pulumi_gcp/storage/outputs.py +27 -27
  119. pulumi_gcp/tags/tag_binding.py +4 -2
  120. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +4 -2
  121. pulumi_gcp/vmwareengine/network.py +4 -2
  122. pulumi_gcp/vpcaccess/connector.py +14 -6
  123. pulumi_gcp/vpcaccess/get_connector.py +6 -2
  124. {pulumi_gcp-7.39.0a1726118759.dist-info → pulumi_gcp-8.0.0.dist-info}/METADATA +1 -1
  125. {pulumi_gcp-7.39.0a1726118759.dist-info → pulumi_gcp-8.0.0.dist-info}/RECORD +127 -127
  126. pulumi_gcp/datastore/__init__.py +0 -10
  127. pulumi_gcp/datastore/_inputs.py +0 -76
  128. pulumi_gcp/datastore/data_store_index.py +0 -515
  129. pulumi_gcp/datastore/outputs.py +0 -51
  130. pulumi_gcp/identityplatform/project_default_config.py +0 -357
  131. {pulumi_gcp-7.39.0a1726118759.dist-info → pulumi_gcp-8.0.0.dist-info}/WHEEL +0 -0
  132. {pulumi_gcp-7.39.0a1726118759.dist-info → pulumi_gcp-8.0.0.dist-info}/top_level.txt +0 -0
@@ -21,11 +21,11 @@ __all__ = ['SubnetworkArgs', 'Subnetwork']
21
21
  @pulumi.input_type
22
22
  class SubnetworkArgs:
23
23
  def __init__(__self__, *,
24
- ip_cidr_range: pulumi.Input[str],
25
24
  network: pulumi.Input[str],
26
25
  allow_subnet_cidr_routes_overlap: Optional[pulumi.Input[bool]] = None,
27
26
  description: Optional[pulumi.Input[str]] = None,
28
27
  external_ipv6_prefix: Optional[pulumi.Input[str]] = None,
28
+ ip_cidr_range: Optional[pulumi.Input[str]] = None,
29
29
  ipv6_access_type: Optional[pulumi.Input[str]] = None,
30
30
  log_config: Optional[pulumi.Input['SubnetworkLogConfigArgs']] = None,
31
31
  name: Optional[pulumi.Input[str]] = None,
@@ -34,16 +34,13 @@ class SubnetworkArgs:
34
34
  project: Optional[pulumi.Input[str]] = None,
35
35
  purpose: Optional[pulumi.Input[str]] = None,
36
36
  region: Optional[pulumi.Input[str]] = None,
37
+ reserved_internal_range: Optional[pulumi.Input[str]] = None,
37
38
  role: Optional[pulumi.Input[str]] = None,
38
39
  secondary_ip_ranges: Optional[pulumi.Input[Sequence[pulumi.Input['SubnetworkSecondaryIpRangeArgs']]]] = None,
39
40
  send_secondary_ip_range_if_empty: Optional[pulumi.Input[bool]] = None,
40
41
  stack_type: Optional[pulumi.Input[str]] = None):
41
42
  """
42
43
  The set of arguments for constructing a Subnetwork resource.
43
- :param pulumi.Input[str] ip_cidr_range: The range of internal addresses that are owned by this subnetwork.
44
- Provide this property when you create the subnetwork. For example,
45
- 10.0.0.0/8 or 192.168.0.0/16. Ranges must be unique and
46
- non-overlapping within a network. Only IPv4 is supported.
47
44
  :param pulumi.Input[str] network: The network this subnet belongs to.
48
45
  Only networks that are in the distributed mode can have subnetworks.
49
46
 
@@ -57,6 +54,11 @@ class SubnetworkArgs:
57
54
  you create the resource. This field can be set only at resource
58
55
  creation time.
59
56
  :param pulumi.Input[str] external_ipv6_prefix: The range of external IPv6 addresses that are owned by this subnetwork.
57
+ :param pulumi.Input[str] ip_cidr_range: The range of internal addresses that are owned by this subnetwork.
58
+ Provide this property when you create the subnetwork. For example,
59
+ 10.0.0.0/8 or 192.168.0.0/16. Ranges must be unique and
60
+ non-overlapping within a network. Only IPv4 is supported.
61
+ Field is optional when `reserved_internal_range` is defined, otherwise required.
60
62
  :param pulumi.Input[str] ipv6_access_type: The access type of IPv6 address this subnet holds. It's immutable and can only be specified during creation
61
63
  or the first time the subnet is updated into IPV4_IPV6 dual stack. If the ipv6_type is EXTERNAL then this subnet
62
64
  cannot enable direct path.
@@ -86,6 +88,8 @@ class SubnetworkArgs:
86
88
  Note that `REGIONAL_MANAGED_PROXY` is the preferred setting for all regional Envoy load balancers.
87
89
  If unspecified, the purpose defaults to `PRIVATE_RFC_1918`.
88
90
  :param pulumi.Input[str] region: The GCP region for this subnetwork.
91
+ :param pulumi.Input[str] reserved_internal_range: The ID of the reserved internal range. Must be prefixed with `networkconnectivity.googleapis.com`
92
+ E.g. `networkconnectivity.googleapis.com/projects/{project}/locations/global/internalRanges/{rangeId}`
89
93
  :param pulumi.Input[str] role: The role of subnetwork.
90
94
  Currently, this field is only used when `purpose` is `REGIONAL_MANAGED_PROXY`.
91
95
  The value can be set to `ACTIVE` or `BACKUP`.
@@ -107,7 +111,6 @@ class SubnetworkArgs:
107
111
  If not specified IPV4_ONLY will be used.
108
112
  Possible values are: `IPV4_ONLY`, `IPV4_IPV6`.
109
113
  """
110
- pulumi.set(__self__, "ip_cidr_range", ip_cidr_range)
111
114
  pulumi.set(__self__, "network", network)
112
115
  if allow_subnet_cidr_routes_overlap is not None:
113
116
  pulumi.set(__self__, "allow_subnet_cidr_routes_overlap", allow_subnet_cidr_routes_overlap)
@@ -115,6 +118,8 @@ class SubnetworkArgs:
115
118
  pulumi.set(__self__, "description", description)
116
119
  if external_ipv6_prefix is not None:
117
120
  pulumi.set(__self__, "external_ipv6_prefix", external_ipv6_prefix)
121
+ if ip_cidr_range is not None:
122
+ pulumi.set(__self__, "ip_cidr_range", ip_cidr_range)
118
123
  if ipv6_access_type is not None:
119
124
  pulumi.set(__self__, "ipv6_access_type", ipv6_access_type)
120
125
  if log_config is not None:
@@ -131,6 +136,8 @@ class SubnetworkArgs:
131
136
  pulumi.set(__self__, "purpose", purpose)
132
137
  if region is not None:
133
138
  pulumi.set(__self__, "region", region)
139
+ if reserved_internal_range is not None:
140
+ pulumi.set(__self__, "reserved_internal_range", reserved_internal_range)
134
141
  if role is not None:
135
142
  pulumi.set(__self__, "role", role)
136
143
  if secondary_ip_ranges is not None:
@@ -140,21 +147,6 @@ class SubnetworkArgs:
140
147
  if stack_type is not None:
141
148
  pulumi.set(__self__, "stack_type", stack_type)
142
149
 
143
- @property
144
- @pulumi.getter(name="ipCidrRange")
145
- def ip_cidr_range(self) -> pulumi.Input[str]:
146
- """
147
- The range of internal addresses that are owned by this subnetwork.
148
- Provide this property when you create the subnetwork. For example,
149
- 10.0.0.0/8 or 192.168.0.0/16. Ranges must be unique and
150
- non-overlapping within a network. Only IPv4 is supported.
151
- """
152
- return pulumi.get(self, "ip_cidr_range")
153
-
154
- @ip_cidr_range.setter
155
- def ip_cidr_range(self, value: pulumi.Input[str]):
156
- pulumi.set(self, "ip_cidr_range", value)
157
-
158
150
  @property
159
151
  @pulumi.getter
160
152
  def network(self) -> pulumi.Input[str]:
@@ -212,6 +204,22 @@ class SubnetworkArgs:
212
204
  def external_ipv6_prefix(self, value: Optional[pulumi.Input[str]]):
213
205
  pulumi.set(self, "external_ipv6_prefix", value)
214
206
 
207
+ @property
208
+ @pulumi.getter(name="ipCidrRange")
209
+ def ip_cidr_range(self) -> Optional[pulumi.Input[str]]:
210
+ """
211
+ The range of internal addresses that are owned by this subnetwork.
212
+ Provide this property when you create the subnetwork. For example,
213
+ 10.0.0.0/8 or 192.168.0.0/16. Ranges must be unique and
214
+ non-overlapping within a network. Only IPv4 is supported.
215
+ Field is optional when `reserved_internal_range` is defined, otherwise required.
216
+ """
217
+ return pulumi.get(self, "ip_cidr_range")
218
+
219
+ @ip_cidr_range.setter
220
+ def ip_cidr_range(self, value: Optional[pulumi.Input[str]]):
221
+ pulumi.set(self, "ip_cidr_range", value)
222
+
215
223
  @property
216
224
  @pulumi.getter(name="ipv6AccessType")
217
225
  def ipv6_access_type(self) -> Optional[pulumi.Input[str]]:
@@ -329,6 +337,19 @@ class SubnetworkArgs:
329
337
  def region(self, value: Optional[pulumi.Input[str]]):
330
338
  pulumi.set(self, "region", value)
331
339
 
340
+ @property
341
+ @pulumi.getter(name="reservedInternalRange")
342
+ def reserved_internal_range(self) -> Optional[pulumi.Input[str]]:
343
+ """
344
+ The ID of the reserved internal range. Must be prefixed with `networkconnectivity.googleapis.com`
345
+ E.g. `networkconnectivity.googleapis.com/projects/{project}/locations/global/internalRanges/{rangeId}`
346
+ """
347
+ return pulumi.get(self, "reserved_internal_range")
348
+
349
+ @reserved_internal_range.setter
350
+ def reserved_internal_range(self, value: Optional[pulumi.Input[str]]):
351
+ pulumi.set(self, "reserved_internal_range", value)
352
+
332
353
  @property
333
354
  @pulumi.getter
334
355
  def role(self) -> Optional[pulumi.Input[str]]:
@@ -415,6 +436,7 @@ class _SubnetworkState:
415
436
  project: Optional[pulumi.Input[str]] = None,
416
437
  purpose: Optional[pulumi.Input[str]] = None,
417
438
  region: Optional[pulumi.Input[str]] = None,
439
+ reserved_internal_range: Optional[pulumi.Input[str]] = None,
418
440
  role: Optional[pulumi.Input[str]] = None,
419
441
  secondary_ip_ranges: Optional[pulumi.Input[Sequence[pulumi.Input['SubnetworkSecondaryIpRangeArgs']]]] = None,
420
442
  self_link: Optional[pulumi.Input[str]] = None,
@@ -439,6 +461,7 @@ class _SubnetworkState:
439
461
  Provide this property when you create the subnetwork. For example,
440
462
  10.0.0.0/8 or 192.168.0.0/16. Ranges must be unique and
441
463
  non-overlapping within a network. Only IPv4 is supported.
464
+ Field is optional when `reserved_internal_range` is defined, otherwise required.
442
465
  :param pulumi.Input[str] ipv6_access_type: The access type of IPv6 address this subnet holds. It's immutable and can only be specified during creation
443
466
  or the first time the subnet is updated into IPV4_IPV6 dual stack. If the ipv6_type is EXTERNAL then this subnet
444
467
  cannot enable direct path.
@@ -474,6 +497,8 @@ class _SubnetworkState:
474
497
  Note that `REGIONAL_MANAGED_PROXY` is the preferred setting for all regional Envoy load balancers.
475
498
  If unspecified, the purpose defaults to `PRIVATE_RFC_1918`.
476
499
  :param pulumi.Input[str] region: The GCP region for this subnetwork.
500
+ :param pulumi.Input[str] reserved_internal_range: The ID of the reserved internal range. Must be prefixed with `networkconnectivity.googleapis.com`
501
+ E.g. `networkconnectivity.googleapis.com/projects/{project}/locations/global/internalRanges/{rangeId}`
477
502
  :param pulumi.Input[str] role: The role of subnetwork.
478
503
  Currently, this field is only used when `purpose` is `REGIONAL_MANAGED_PROXY`.
479
504
  The value can be set to `ACTIVE` or `BACKUP`.
@@ -535,6 +560,8 @@ class _SubnetworkState:
535
560
  pulumi.set(__self__, "purpose", purpose)
536
561
  if region is not None:
537
562
  pulumi.set(__self__, "region", region)
563
+ if reserved_internal_range is not None:
564
+ pulumi.set(__self__, "reserved_internal_range", reserved_internal_range)
538
565
  if role is not None:
539
566
  pulumi.set(__self__, "role", role)
540
567
  if secondary_ip_ranges is not None:
@@ -645,6 +672,7 @@ class _SubnetworkState:
645
672
  Provide this property when you create the subnetwork. For example,
646
673
  10.0.0.0/8 or 192.168.0.0/16. Ranges must be unique and
647
674
  non-overlapping within a network. Only IPv4 is supported.
675
+ Field is optional when `reserved_internal_range` is defined, otherwise required.
648
676
  """
649
677
  return pulumi.get(self, "ip_cidr_range")
650
678
 
@@ -797,6 +825,19 @@ class _SubnetworkState:
797
825
  def region(self, value: Optional[pulumi.Input[str]]):
798
826
  pulumi.set(self, "region", value)
799
827
 
828
+ @property
829
+ @pulumi.getter(name="reservedInternalRange")
830
+ def reserved_internal_range(self) -> Optional[pulumi.Input[str]]:
831
+ """
832
+ The ID of the reserved internal range. Must be prefixed with `networkconnectivity.googleapis.com`
833
+ E.g. `networkconnectivity.googleapis.com/projects/{project}/locations/global/internalRanges/{rangeId}`
834
+ """
835
+ return pulumi.get(self, "reserved_internal_range")
836
+
837
+ @reserved_internal_range.setter
838
+ def reserved_internal_range(self, value: Optional[pulumi.Input[str]]):
839
+ pulumi.set(self, "reserved_internal_range", value)
840
+
800
841
  @property
801
842
  @pulumi.getter
802
843
  def role(self) -> Optional[pulumi.Input[str]]:
@@ -892,6 +933,7 @@ class Subnetwork(pulumi.CustomResource):
892
933
  project: Optional[pulumi.Input[str]] = None,
893
934
  purpose: Optional[pulumi.Input[str]] = None,
894
935
  region: Optional[pulumi.Input[str]] = None,
936
+ reserved_internal_range: Optional[pulumi.Input[str]] = None,
895
937
  role: Optional[pulumi.Input[str]] = None,
896
938
  secondary_ip_ranges: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SubnetworkSecondaryIpRangeArgs', 'SubnetworkSecondaryIpRangeArgsDict']]]]] = None,
897
939
  send_secondary_ip_range_if_empty: Optional[pulumi.Input[bool]] = None,
@@ -1053,6 +1095,61 @@ class Subnetwork(pulumi.CustomResource):
1053
1095
  allow_subnet_cidr_routes_overlap=True,
1054
1096
  network=net_cidr_overlap.id)
1055
1097
  ```
1098
+ ### Subnetwork Reserved Internal Range
1099
+
1100
+ ```python
1101
+ import pulumi
1102
+ import pulumi_gcp as gcp
1103
+
1104
+ default = gcp.compute.Network("default",
1105
+ name="network-reserved-internal-range",
1106
+ auto_create_subnetworks=False)
1107
+ reserved = gcp.networkconnectivity.InternalRange("reserved",
1108
+ name="reserved",
1109
+ network=default.id,
1110
+ usage="FOR_VPC",
1111
+ peering="FOR_SELF",
1112
+ prefix_length=24,
1113
+ target_cidr_ranges=["10.0.0.0/8"])
1114
+ subnetwork_reserved_internal_range = gcp.compute.Subnetwork("subnetwork-reserved-internal-range",
1115
+ name="subnetwork-reserved-internal-range",
1116
+ region="us-central1",
1117
+ network=default.id,
1118
+ reserved_internal_range=reserved.id.apply(lambda id: f"networkconnectivity.googleapis.com/{id}"))
1119
+ ```
1120
+ ### Subnetwork Reserved Secondary Range
1121
+
1122
+ ```python
1123
+ import pulumi
1124
+ import pulumi_gcp as gcp
1125
+
1126
+ default = gcp.compute.Network("default",
1127
+ name="network-reserved-secondary-range",
1128
+ auto_create_subnetworks=False)
1129
+ reserved = gcp.networkconnectivity.InternalRange("reserved",
1130
+ name="reserved",
1131
+ network=default.id,
1132
+ usage="FOR_VPC",
1133
+ peering="FOR_SELF",
1134
+ prefix_length=24,
1135
+ target_cidr_ranges=["10.0.0.0/8"])
1136
+ reserved_secondary = gcp.networkconnectivity.InternalRange("reserved_secondary",
1137
+ name="reserved-secondary",
1138
+ network=default.id,
1139
+ usage="FOR_VPC",
1140
+ peering="FOR_SELF",
1141
+ prefix_length=16,
1142
+ target_cidr_ranges=["10.0.0.0/8"])
1143
+ subnetwork_reserved_secondary_range = gcp.compute.Subnetwork("subnetwork-reserved-secondary-range",
1144
+ name="subnetwork-reserved-secondary-range",
1145
+ region="us-central1",
1146
+ network=default.id,
1147
+ reserved_internal_range=reserved.id.apply(lambda id: f"networkconnectivity.googleapis.com/{id}"),
1148
+ secondary_ip_ranges=[{
1149
+ "range_name": "secondary",
1150
+ "reserved_internal_range": reserved_secondary.id.apply(lambda id: f"networkconnectivity.googleapis.com/{id}"),
1151
+ }])
1152
+ ```
1056
1153
 
1057
1154
  ## Import
1058
1155
 
@@ -1098,6 +1195,7 @@ class Subnetwork(pulumi.CustomResource):
1098
1195
  Provide this property when you create the subnetwork. For example,
1099
1196
  10.0.0.0/8 or 192.168.0.0/16. Ranges must be unique and
1100
1197
  non-overlapping within a network. Only IPv4 is supported.
1198
+ Field is optional when `reserved_internal_range` is defined, otherwise required.
1101
1199
  :param pulumi.Input[str] ipv6_access_type: The access type of IPv6 address this subnet holds. It's immutable and can only be specified during creation
1102
1200
  or the first time the subnet is updated into IPV4_IPV6 dual stack. If the ipv6_type is EXTERNAL then this subnet
1103
1201
  cannot enable direct path.
@@ -1132,6 +1230,8 @@ class Subnetwork(pulumi.CustomResource):
1132
1230
  Note that `REGIONAL_MANAGED_PROXY` is the preferred setting for all regional Envoy load balancers.
1133
1231
  If unspecified, the purpose defaults to `PRIVATE_RFC_1918`.
1134
1232
  :param pulumi.Input[str] region: The GCP region for this subnetwork.
1233
+ :param pulumi.Input[str] reserved_internal_range: The ID of the reserved internal range. Must be prefixed with `networkconnectivity.googleapis.com`
1234
+ E.g. `networkconnectivity.googleapis.com/projects/{project}/locations/global/internalRanges/{rangeId}`
1135
1235
  :param pulumi.Input[str] role: The role of subnetwork.
1136
1236
  Currently, this field is only used when `purpose` is `REGIONAL_MANAGED_PROXY`.
1137
1237
  The value can be set to `ACTIVE` or `BACKUP`.
@@ -1315,6 +1415,61 @@ class Subnetwork(pulumi.CustomResource):
1315
1415
  allow_subnet_cidr_routes_overlap=True,
1316
1416
  network=net_cidr_overlap.id)
1317
1417
  ```
1418
+ ### Subnetwork Reserved Internal Range
1419
+
1420
+ ```python
1421
+ import pulumi
1422
+ import pulumi_gcp as gcp
1423
+
1424
+ default = gcp.compute.Network("default",
1425
+ name="network-reserved-internal-range",
1426
+ auto_create_subnetworks=False)
1427
+ reserved = gcp.networkconnectivity.InternalRange("reserved",
1428
+ name="reserved",
1429
+ network=default.id,
1430
+ usage="FOR_VPC",
1431
+ peering="FOR_SELF",
1432
+ prefix_length=24,
1433
+ target_cidr_ranges=["10.0.0.0/8"])
1434
+ subnetwork_reserved_internal_range = gcp.compute.Subnetwork("subnetwork-reserved-internal-range",
1435
+ name="subnetwork-reserved-internal-range",
1436
+ region="us-central1",
1437
+ network=default.id,
1438
+ reserved_internal_range=reserved.id.apply(lambda id: f"networkconnectivity.googleapis.com/{id}"))
1439
+ ```
1440
+ ### Subnetwork Reserved Secondary Range
1441
+
1442
+ ```python
1443
+ import pulumi
1444
+ import pulumi_gcp as gcp
1445
+
1446
+ default = gcp.compute.Network("default",
1447
+ name="network-reserved-secondary-range",
1448
+ auto_create_subnetworks=False)
1449
+ reserved = gcp.networkconnectivity.InternalRange("reserved",
1450
+ name="reserved",
1451
+ network=default.id,
1452
+ usage="FOR_VPC",
1453
+ peering="FOR_SELF",
1454
+ prefix_length=24,
1455
+ target_cidr_ranges=["10.0.0.0/8"])
1456
+ reserved_secondary = gcp.networkconnectivity.InternalRange("reserved_secondary",
1457
+ name="reserved-secondary",
1458
+ network=default.id,
1459
+ usage="FOR_VPC",
1460
+ peering="FOR_SELF",
1461
+ prefix_length=16,
1462
+ target_cidr_ranges=["10.0.0.0/8"])
1463
+ subnetwork_reserved_secondary_range = gcp.compute.Subnetwork("subnetwork-reserved-secondary-range",
1464
+ name="subnetwork-reserved-secondary-range",
1465
+ region="us-central1",
1466
+ network=default.id,
1467
+ reserved_internal_range=reserved.id.apply(lambda id: f"networkconnectivity.googleapis.com/{id}"),
1468
+ secondary_ip_ranges=[{
1469
+ "range_name": "secondary",
1470
+ "reserved_internal_range": reserved_secondary.id.apply(lambda id: f"networkconnectivity.googleapis.com/{id}"),
1471
+ }])
1472
+ ```
1318
1473
 
1319
1474
  ## Import
1320
1475
 
@@ -1374,6 +1529,7 @@ class Subnetwork(pulumi.CustomResource):
1374
1529
  project: Optional[pulumi.Input[str]] = None,
1375
1530
  purpose: Optional[pulumi.Input[str]] = None,
1376
1531
  region: Optional[pulumi.Input[str]] = None,
1532
+ reserved_internal_range: Optional[pulumi.Input[str]] = None,
1377
1533
  role: Optional[pulumi.Input[str]] = None,
1378
1534
  secondary_ip_ranges: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SubnetworkSecondaryIpRangeArgs', 'SubnetworkSecondaryIpRangeArgsDict']]]]] = None,
1379
1535
  send_secondary_ip_range_if_empty: Optional[pulumi.Input[bool]] = None,
@@ -1390,8 +1546,6 @@ class Subnetwork(pulumi.CustomResource):
1390
1546
  __props__.__dict__["allow_subnet_cidr_routes_overlap"] = allow_subnet_cidr_routes_overlap
1391
1547
  __props__.__dict__["description"] = description
1392
1548
  __props__.__dict__["external_ipv6_prefix"] = external_ipv6_prefix
1393
- if ip_cidr_range is None and not opts.urn:
1394
- raise TypeError("Missing required property 'ip_cidr_range'")
1395
1549
  __props__.__dict__["ip_cidr_range"] = ip_cidr_range
1396
1550
  __props__.__dict__["ipv6_access_type"] = ipv6_access_type
1397
1551
  __props__.__dict__["log_config"] = log_config
@@ -1404,6 +1558,7 @@ class Subnetwork(pulumi.CustomResource):
1404
1558
  __props__.__dict__["project"] = project
1405
1559
  __props__.__dict__["purpose"] = purpose
1406
1560
  __props__.__dict__["region"] = region
1561
+ __props__.__dict__["reserved_internal_range"] = reserved_internal_range
1407
1562
  __props__.__dict__["role"] = role
1408
1563
  __props__.__dict__["secondary_ip_ranges"] = secondary_ip_ranges
1409
1564
  __props__.__dict__["send_secondary_ip_range_if_empty"] = send_secondary_ip_range_if_empty
@@ -1442,6 +1597,7 @@ class Subnetwork(pulumi.CustomResource):
1442
1597
  project: Optional[pulumi.Input[str]] = None,
1443
1598
  purpose: Optional[pulumi.Input[str]] = None,
1444
1599
  region: Optional[pulumi.Input[str]] = None,
1600
+ reserved_internal_range: Optional[pulumi.Input[str]] = None,
1445
1601
  role: Optional[pulumi.Input[str]] = None,
1446
1602
  secondary_ip_ranges: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SubnetworkSecondaryIpRangeArgs', 'SubnetworkSecondaryIpRangeArgsDict']]]]] = None,
1447
1603
  self_link: Optional[pulumi.Input[str]] = None,
@@ -1471,6 +1627,7 @@ class Subnetwork(pulumi.CustomResource):
1471
1627
  Provide this property when you create the subnetwork. For example,
1472
1628
  10.0.0.0/8 or 192.168.0.0/16. Ranges must be unique and
1473
1629
  non-overlapping within a network. Only IPv4 is supported.
1630
+ Field is optional when `reserved_internal_range` is defined, otherwise required.
1474
1631
  :param pulumi.Input[str] ipv6_access_type: The access type of IPv6 address this subnet holds. It's immutable and can only be specified during creation
1475
1632
  or the first time the subnet is updated into IPV4_IPV6 dual stack. If the ipv6_type is EXTERNAL then this subnet
1476
1633
  cannot enable direct path.
@@ -1506,6 +1663,8 @@ class Subnetwork(pulumi.CustomResource):
1506
1663
  Note that `REGIONAL_MANAGED_PROXY` is the preferred setting for all regional Envoy load balancers.
1507
1664
  If unspecified, the purpose defaults to `PRIVATE_RFC_1918`.
1508
1665
  :param pulumi.Input[str] region: The GCP region for this subnetwork.
1666
+ :param pulumi.Input[str] reserved_internal_range: The ID of the reserved internal range. Must be prefixed with `networkconnectivity.googleapis.com`
1667
+ E.g. `networkconnectivity.googleapis.com/projects/{project}/locations/global/internalRanges/{rangeId}`
1509
1668
  :param pulumi.Input[str] role: The role of subnetwork.
1510
1669
  Currently, this field is only used when `purpose` is `REGIONAL_MANAGED_PROXY`.
1511
1670
  The value can be set to `ACTIVE` or `BACKUP`.
@@ -1550,6 +1709,7 @@ class Subnetwork(pulumi.CustomResource):
1550
1709
  __props__.__dict__["project"] = project
1551
1710
  __props__.__dict__["purpose"] = purpose
1552
1711
  __props__.__dict__["region"] = region
1712
+ __props__.__dict__["reserved_internal_range"] = reserved_internal_range
1553
1713
  __props__.__dict__["role"] = role
1554
1714
  __props__.__dict__["secondary_ip_ranges"] = secondary_ip_ranges
1555
1715
  __props__.__dict__["self_link"] = self_link
@@ -1628,6 +1788,7 @@ class Subnetwork(pulumi.CustomResource):
1628
1788
  Provide this property when you create the subnetwork. For example,
1629
1789
  10.0.0.0/8 or 192.168.0.0/16. Ranges must be unique and
1630
1790
  non-overlapping within a network. Only IPv4 is supported.
1791
+ Field is optional when `reserved_internal_range` is defined, otherwise required.
1631
1792
  """
1632
1793
  return pulumi.get(self, "ip_cidr_range")
1633
1794
 
@@ -1736,6 +1897,15 @@ class Subnetwork(pulumi.CustomResource):
1736
1897
  """
1737
1898
  return pulumi.get(self, "region")
1738
1899
 
1900
+ @property
1901
+ @pulumi.getter(name="reservedInternalRange")
1902
+ def reserved_internal_range(self) -> pulumi.Output[Optional[str]]:
1903
+ """
1904
+ The ID of the reserved internal range. Must be prefixed with `networkconnectivity.googleapis.com`
1905
+ E.g. `networkconnectivity.googleapis.com/projects/{project}/locations/global/internalRanges/{rangeId}`
1906
+ """
1907
+ return pulumi.get(self, "reserved_internal_range")
1908
+
1739
1909
  @property
1740
1910
  @pulumi.getter
1741
1911
  def role(self) -> pulumi.Output[Optional[str]]:
@@ -23,7 +23,7 @@ accessToken: Optional[str]
23
23
 
24
24
  activeDirectoryCustomEndpoint: Optional[str]
25
25
 
26
- addTerraformAttributionLabel: Optional[bool]
26
+ addPulumiAttributionLabel: Optional[bool]
27
27
 
28
28
  alloydbCustomEndpoint: Optional[str]
29
29
 
@@ -145,8 +145,6 @@ dataprocCustomEndpoint: Optional[str]
145
145
 
146
146
  dataprocMetastoreCustomEndpoint: Optional[str]
147
147
 
148
- datastoreCustomEndpoint: Optional[str]
149
-
150
148
  datastreamCustomEndpoint: Optional[str]
151
149
 
152
150
  defaultLabels: Optional[str]
@@ -277,6 +275,8 @@ pubsubCustomEndpoint: Optional[str]
277
275
 
278
276
  pubsubLiteCustomEndpoint: Optional[str]
279
277
 
278
+ pulumiAttributionLabelAdditionStrategy: Optional[str]
279
+
280
280
  recaptchaEnterpriseCustomEndpoint: Optional[str]
281
281
 
282
282
  redisCustomEndpoint: Optional[str]
@@ -339,8 +339,6 @@ tagsCustomEndpoint: Optional[str]
339
339
 
340
340
  tagsLocationCustomEndpoint: Optional[str]
341
341
 
342
- terraformAttributionLabelAdditionStrategy: Optional[str]
343
-
344
342
  tpuCustomEndpoint: Optional[str]
345
343
 
346
344
  tpuV2CustomEndpoint: Optional[str]
pulumi_gcp/config/vars.py CHANGED
@@ -38,8 +38,8 @@ class _ExportableConfig(types.ModuleType):
38
38
  return __config__.get('activeDirectoryCustomEndpoint')
39
39
 
40
40
  @property
41
- def add_terraform_attribution_label(self) -> Optional[bool]:
42
- return __config__.get_bool('addTerraformAttributionLabel')
41
+ def add_pulumi_attribution_label(self) -> Optional[bool]:
42
+ return __config__.get_bool('addPulumiAttributionLabel')
43
43
 
44
44
  @property
45
45
  def alloydb_custom_endpoint(self) -> Optional[str]:
@@ -281,10 +281,6 @@ class _ExportableConfig(types.ModuleType):
281
281
  def dataproc_metastore_custom_endpoint(self) -> Optional[str]:
282
282
  return __config__.get('dataprocMetastoreCustomEndpoint')
283
283
 
284
- @property
285
- def datastore_custom_endpoint(self) -> Optional[str]:
286
- return __config__.get('datastoreCustomEndpoint')
287
-
288
284
  @property
289
285
  def datastream_custom_endpoint(self) -> Optional[str]:
290
286
  return __config__.get('datastreamCustomEndpoint')
@@ -545,6 +541,10 @@ class _ExportableConfig(types.ModuleType):
545
541
  def pubsub_lite_custom_endpoint(self) -> Optional[str]:
546
542
  return __config__.get('pubsubLiteCustomEndpoint')
547
543
 
544
+ @property
545
+ def pulumi_attribution_label_addition_strategy(self) -> Optional[str]:
546
+ return __config__.get('pulumiAttributionLabelAdditionStrategy')
547
+
548
548
  @property
549
549
  def recaptcha_enterprise_custom_endpoint(self) -> Optional[str]:
550
550
  return __config__.get('recaptchaEnterpriseCustomEndpoint')
@@ -669,10 +669,6 @@ class _ExportableConfig(types.ModuleType):
669
669
  def tags_location_custom_endpoint(self) -> Optional[str]:
670
670
  return __config__.get('tagsLocationCustomEndpoint')
671
671
 
672
- @property
673
- def terraform_attribution_label_addition_strategy(self) -> Optional[str]:
674
- return __config__.get('terraformAttributionLabelAdditionStrategy')
675
-
676
672
  @property
677
673
  def tpu_custom_endpoint(self) -> Optional[str]:
678
674
  return __config__.get('tpuCustomEndpoint')
@@ -7800,7 +7800,7 @@ class ClusterMeshCertificatesArgs:
7800
7800
 
7801
7801
  if not MYPY:
7802
7802
  class ClusterMonitoringConfigArgsDict(TypedDict):
7803
- advanced_datapath_observability_configs: NotRequired[pulumi.Input[Sequence[pulumi.Input['ClusterMonitoringConfigAdvancedDatapathObservabilityConfigArgsDict']]]]
7803
+ advanced_datapath_observability_config: NotRequired[pulumi.Input['ClusterMonitoringConfigAdvancedDatapathObservabilityConfigArgsDict']]
7804
7804
  """
7805
7805
  Configuration for Advanced Datapath Monitoring. Structure is documented below.
7806
7806
  """
@@ -7818,32 +7818,32 @@ elif False:
7818
7818
  @pulumi.input_type
7819
7819
  class ClusterMonitoringConfigArgs:
7820
7820
  def __init__(__self__, *,
7821
- advanced_datapath_observability_configs: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterMonitoringConfigAdvancedDatapathObservabilityConfigArgs']]]] = None,
7821
+ advanced_datapath_observability_config: Optional[pulumi.Input['ClusterMonitoringConfigAdvancedDatapathObservabilityConfigArgs']] = None,
7822
7822
  enable_components: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
7823
7823
  managed_prometheus: Optional[pulumi.Input['ClusterMonitoringConfigManagedPrometheusArgs']] = None):
7824
7824
  """
7825
- :param pulumi.Input[Sequence[pulumi.Input['ClusterMonitoringConfigAdvancedDatapathObservabilityConfigArgs']]] advanced_datapath_observability_configs: Configuration for Advanced Datapath Monitoring. Structure is documented below.
7825
+ :param pulumi.Input['ClusterMonitoringConfigAdvancedDatapathObservabilityConfigArgs'] advanced_datapath_observability_config: Configuration for Advanced Datapath Monitoring. Structure is documented below.
7826
7826
  :param pulumi.Input[Sequence[pulumi.Input[str]]] enable_components: The GKE components exposing metrics. Supported values include: `SYSTEM_COMPONENTS`, `APISERVER`, `SCHEDULER`, `CONTROLLER_MANAGER`, `STORAGE`, `HPA`, `POD`, `DAEMONSET`, `DEPLOYMENT`, `STATEFULSET`, `KUBELET`, `CADVISOR` and `DCGM`. In beta provider, `WORKLOADS` is supported on top of those 12 values. (`WORKLOADS` is deprecated and removed in GKE 1.24.) `KUBELET` and `CADVISOR` are only supported in GKE 1.29.3-gke.1093000 and above.
7827
7827
  :param pulumi.Input['ClusterMonitoringConfigManagedPrometheusArgs'] managed_prometheus: Configuration for Managed Service for Prometheus. Structure is documented below.
7828
7828
  """
7829
- if advanced_datapath_observability_configs is not None:
7830
- pulumi.set(__self__, "advanced_datapath_observability_configs", advanced_datapath_observability_configs)
7829
+ if advanced_datapath_observability_config is not None:
7830
+ pulumi.set(__self__, "advanced_datapath_observability_config", advanced_datapath_observability_config)
7831
7831
  if enable_components is not None:
7832
7832
  pulumi.set(__self__, "enable_components", enable_components)
7833
7833
  if managed_prometheus is not None:
7834
7834
  pulumi.set(__self__, "managed_prometheus", managed_prometheus)
7835
7835
 
7836
7836
  @property
7837
- @pulumi.getter(name="advancedDatapathObservabilityConfigs")
7838
- def advanced_datapath_observability_configs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ClusterMonitoringConfigAdvancedDatapathObservabilityConfigArgs']]]]:
7837
+ @pulumi.getter(name="advancedDatapathObservabilityConfig")
7838
+ def advanced_datapath_observability_config(self) -> Optional[pulumi.Input['ClusterMonitoringConfigAdvancedDatapathObservabilityConfigArgs']]:
7839
7839
  """
7840
7840
  Configuration for Advanced Datapath Monitoring. Structure is documented below.
7841
7841
  """
7842
- return pulumi.get(self, "advanced_datapath_observability_configs")
7842
+ return pulumi.get(self, "advanced_datapath_observability_config")
7843
7843
 
7844
- @advanced_datapath_observability_configs.setter
7845
- def advanced_datapath_observability_configs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterMonitoringConfigAdvancedDatapathObservabilityConfigArgs']]]]):
7846
- pulumi.set(self, "advanced_datapath_observability_configs", value)
7844
+ @advanced_datapath_observability_config.setter
7845
+ def advanced_datapath_observability_config(self, value: Optional[pulumi.Input['ClusterMonitoringConfigAdvancedDatapathObservabilityConfigArgs']]):
7846
+ pulumi.set(self, "advanced_datapath_observability_config", value)
7847
7847
 
7848
7848
  @property
7849
7849
  @pulumi.getter(name="enableComponents")
@@ -7876,14 +7876,10 @@ if not MYPY:
7876
7876
  """
7877
7877
  Whether or not to enable advanced datapath metrics.
7878
7878
  """
7879
- enable_relay: NotRequired[pulumi.Input[bool]]
7879
+ enable_relay: pulumi.Input[bool]
7880
7880
  """
7881
7881
  Whether or not Relay is enabled.
7882
7882
  """
7883
- relay_mode: NotRequired[pulumi.Input[str]]
7884
- """
7885
- Mode used to make Relay available. Deprecated in favor of `enable_relay` field. Remove this attribute's configuration as this field will be removed in the next major release and `enable_relay` will become a required field.
7886
- """
7887
7883
  elif False:
7888
7884
  ClusterMonitoringConfigAdvancedDatapathObservabilityConfigArgsDict: TypeAlias = Mapping[str, Any]
7889
7885
 
@@ -7891,21 +7887,13 @@ elif False:
7891
7887
  class ClusterMonitoringConfigAdvancedDatapathObservabilityConfigArgs:
7892
7888
  def __init__(__self__, *,
7893
7889
  enable_metrics: pulumi.Input[bool],
7894
- enable_relay: Optional[pulumi.Input[bool]] = None,
7895
- relay_mode: Optional[pulumi.Input[str]] = None):
7890
+ enable_relay: pulumi.Input[bool]):
7896
7891
  """
7897
7892
  :param pulumi.Input[bool] enable_metrics: Whether or not to enable advanced datapath metrics.
7898
7893
  :param pulumi.Input[bool] enable_relay: Whether or not Relay is enabled.
7899
- :param pulumi.Input[str] relay_mode: Mode used to make Relay available. Deprecated in favor of `enable_relay` field. Remove this attribute's configuration as this field will be removed in the next major release and `enable_relay` will become a required field.
7900
7894
  """
7901
7895
  pulumi.set(__self__, "enable_metrics", enable_metrics)
7902
- if enable_relay is not None:
7903
- pulumi.set(__self__, "enable_relay", enable_relay)
7904
- if relay_mode is not None:
7905
- warnings.warn("""Deprecated in favor of enable_relay field. Remove this attribute's configuration as this field will be removed in the next major release and enable_relay will become a required field.""", DeprecationWarning)
7906
- pulumi.log.warn("""relay_mode is deprecated: Deprecated in favor of enable_relay field. Remove this attribute's configuration as this field will be removed in the next major release and enable_relay will become a required field.""")
7907
- if relay_mode is not None:
7908
- pulumi.set(__self__, "relay_mode", relay_mode)
7896
+ pulumi.set(__self__, "enable_relay", enable_relay)
7909
7897
 
7910
7898
  @property
7911
7899
  @pulumi.getter(name="enableMetrics")
@@ -7921,29 +7909,16 @@ class ClusterMonitoringConfigAdvancedDatapathObservabilityConfigArgs:
7921
7909
 
7922
7910
  @property
7923
7911
  @pulumi.getter(name="enableRelay")
7924
- def enable_relay(self) -> Optional[pulumi.Input[bool]]:
7912
+ def enable_relay(self) -> pulumi.Input[bool]:
7925
7913
  """
7926
7914
  Whether or not Relay is enabled.
7927
7915
  """
7928
7916
  return pulumi.get(self, "enable_relay")
7929
7917
 
7930
7918
  @enable_relay.setter
7931
- def enable_relay(self, value: Optional[pulumi.Input[bool]]):
7919
+ def enable_relay(self, value: pulumi.Input[bool]):
7932
7920
  pulumi.set(self, "enable_relay", value)
7933
7921
 
7934
- @property
7935
- @pulumi.getter(name="relayMode")
7936
- @_utilities.deprecated("""Deprecated in favor of enable_relay field. Remove this attribute's configuration as this field will be removed in the next major release and enable_relay will become a required field.""")
7937
- def relay_mode(self) -> Optional[pulumi.Input[str]]:
7938
- """
7939
- Mode used to make Relay available. Deprecated in favor of `enable_relay` field. Remove this attribute's configuration as this field will be removed in the next major release and `enable_relay` will become a required field.
7940
- """
7941
- return pulumi.get(self, "relay_mode")
7942
-
7943
- @relay_mode.setter
7944
- def relay_mode(self, value: Optional[pulumi.Input[str]]):
7945
- pulumi.set(self, "relay_mode", value)
7946
-
7947
7922
 
7948
7923
  if not MYPY:
7949
7924
  class ClusterMonitoringConfigManagedPrometheusArgsDict(TypedDict):
@@ -14980,6 +14955,7 @@ if not MYPY:
14980
14955
  * RAPID: Weekly upgrade cadence; Early testers and developers who requires new features.
14981
14956
  * REGULAR: Multiple per month upgrade cadence; Production users who need features not yet offered in the Stable channel.
14982
14957
  * STABLE: Every few months upgrade cadence; Production users who need stability above all else, and for whom frequent upgrades are too risky.
14958
+ * EXTENDED: GKE provides extended support for Kubernetes minor versions through the Extended channel. With this channel, you can stay on a minor version for up to 24 months.
14983
14959
  """
14984
14960
  elif False:
14985
14961
  ClusterReleaseChannelArgsDict: TypeAlias = Mapping[str, Any]
@@ -14995,6 +14971,7 @@ class ClusterReleaseChannelArgs:
14995
14971
  * RAPID: Weekly upgrade cadence; Early testers and developers who requires new features.
14996
14972
  * REGULAR: Multiple per month upgrade cadence; Production users who need features not yet offered in the Stable channel.
14997
14973
  * STABLE: Every few months upgrade cadence; Production users who need stability above all else, and for whom frequent upgrades are too risky.
14974
+ * EXTENDED: GKE provides extended support for Kubernetes minor versions through the Extended channel. With this channel, you can stay on a minor version for up to 24 months.
14998
14975
  """
14999
14976
  pulumi.set(__self__, "channel", channel)
15000
14977
 
@@ -15008,6 +14985,7 @@ class ClusterReleaseChannelArgs:
15008
14985
  * RAPID: Weekly upgrade cadence; Early testers and developers who requires new features.
15009
14986
  * REGULAR: Multiple per month upgrade cadence; Production users who need features not yet offered in the Stable channel.
15010
14987
  * STABLE: Every few months upgrade cadence; Production users who need stability above all else, and for whom frequent upgrades are too risky.
14988
+ * EXTENDED: GKE provides extended support for Kubernetes minor versions through the Extended channel. With this channel, you can stay on a minor version for up to 24 months.
15011
14989
  """
15012
14990
  return pulumi.get(self, "channel")
15013
14991