pulumi-gcp 8.29.0a1746115375__py3-none-any.whl → 8.30.0a1746254470__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 (65) hide show
  1. pulumi_gcp/__init__.py +24 -0
  2. pulumi_gcp/alloydb/instance.py +1 -1
  3. pulumi_gcp/apigee/organization.py +26 -0
  4. pulumi_gcp/beyondcorp/_inputs.py +129 -0
  5. pulumi_gcp/beyondcorp/application.py +106 -3
  6. pulumi_gcp/beyondcorp/outputs.py +93 -0
  7. pulumi_gcp/bigtable/__init__.py +2 -0
  8. pulumi_gcp/bigtable/logical_view.py +473 -0
  9. pulumi_gcp/bigtable/materialized_view.py +524 -0
  10. pulumi_gcp/certificateauthority/ca_pool.py +12 -0
  11. pulumi_gcp/certificatemanager/get_certificates.py +29 -0
  12. pulumi_gcp/clouddeploy/automation.py +66 -10
  13. pulumi_gcp/compute/_inputs.py +366 -55
  14. pulumi_gcp/compute/backend_service.py +6 -2
  15. pulumi_gcp/compute/get_region_disk.py +12 -1
  16. pulumi_gcp/compute/interconnect.py +25 -24
  17. pulumi_gcp/compute/outputs.py +380 -48
  18. pulumi_gcp/compute/region_disk.py +28 -0
  19. pulumi_gcp/compute/region_resize_request.py +2 -2
  20. pulumi_gcp/compute/region_security_policy.py +16 -0
  21. pulumi_gcp/compute/region_security_policy_rule.py +16 -0
  22. pulumi_gcp/compute/resize_request.py +2 -2
  23. pulumi_gcp/compute/resource_policy.py +0 -2
  24. pulumi_gcp/container/_inputs.py +69 -9
  25. pulumi_gcp/container/outputs.py +71 -7
  26. pulumi_gcp/dataplex/_inputs.py +219 -1
  27. pulumi_gcp/dataplex/datascan.py +20 -0
  28. pulumi_gcp/dataplex/outputs.py +168 -1
  29. pulumi_gcp/developerconnect/_inputs.py +6 -0
  30. pulumi_gcp/developerconnect/account_connector.py +56 -0
  31. pulumi_gcp/developerconnect/outputs.py +4 -0
  32. pulumi_gcp/dns/_inputs.py +34 -13
  33. pulumi_gcp/dns/outputs.py +25 -10
  34. pulumi_gcp/gkehub/_inputs.py +3 -3
  35. pulumi_gcp/gkehub/feature_membership.py +92 -0
  36. pulumi_gcp/gkehub/outputs.py +2 -2
  37. pulumi_gcp/identityplatform/_inputs.py +54 -0
  38. pulumi_gcp/identityplatform/oauth_idp_config.py +83 -5
  39. pulumi_gcp/identityplatform/outputs.py +49 -0
  40. pulumi_gcp/memcache/__init__.py +1 -0
  41. pulumi_gcp/memcache/get_instance.py +338 -0
  42. pulumi_gcp/memcache/outputs.py +363 -0
  43. pulumi_gcp/netapp/storage_pool.py +141 -0
  44. pulumi_gcp/networkservices/_inputs.py +35 -6
  45. pulumi_gcp/networkservices/lb_traffic_extension.py +7 -0
  46. pulumi_gcp/networkservices/outputs.py +22 -4
  47. pulumi_gcp/osconfig/__init__.py +1 -0
  48. pulumi_gcp/osconfig/_inputs.py +5400 -0
  49. pulumi_gcp/osconfig/outputs.py +3952 -0
  50. pulumi_gcp/osconfig/v2_policy_orchestrator_for_folder.py +1098 -0
  51. pulumi_gcp/pulumi-plugin.json +1 -1
  52. pulumi_gcp/spanner/instance_config.py +14 -14
  53. pulumi_gcp/sql/_inputs.py +83 -0
  54. pulumi_gcp/sql/database_instance.py +28 -0
  55. pulumi_gcp/sql/get_database_instance.py +12 -1
  56. pulumi_gcp/sql/outputs.py +146 -6
  57. pulumi_gcp/storage/_inputs.py +20 -0
  58. pulumi_gcp/storage/bucket.py +56 -0
  59. pulumi_gcp/storage/get_bucket.py +23 -1
  60. pulumi_gcp/storage/outputs.py +14 -0
  61. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +2 -14
  62. {pulumi_gcp-8.29.0a1746115375.dist-info → pulumi_gcp-8.30.0a1746254470.dist-info}/METADATA +1 -1
  63. {pulumi_gcp-8.29.0a1746115375.dist-info → pulumi_gcp-8.30.0a1746254470.dist-info}/RECORD +65 -61
  64. {pulumi_gcp-8.29.0a1746115375.dist-info → pulumi_gcp-8.30.0a1746254470.dist-info}/WHEEL +1 -1
  65. {pulumi_gcp-8.29.0a1746115375.dist-info → pulumi_gcp-8.30.0a1746254470.dist-info}/top_level.txt +0 -0
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "resource": true,
3
3
  "name": "gcp",
4
- "version": "8.29.0-alpha.1746115375"
4
+ "version": "8.30.0-alpha.1746254470"
5
5
  }
@@ -39,8 +39,8 @@ class InstanceConfigArgs:
39
39
  :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] labels: An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
40
40
  **Note**: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer
41
41
  to the field 'effective_labels' for all of the labels present on the resource.
42
- :param pulumi.Input[builtins.str] name: A unique identifier for the instance configuration. Values are of the
43
- form projects/<project>/instanceConfigs/[a-z][-a-z0-9]*
42
+ :param pulumi.Input[builtins.str] name: A unique identifier for the instance configuration. Values are of the form
43
+ projects/<project>/instanceConfigs/[a-z][-a-z0-9]*
44
44
  """
45
45
  pulumi.set(__self__, "display_name", display_name)
46
46
  pulumi.set(__self__, "replicas", replicas)
@@ -110,8 +110,8 @@ class InstanceConfigArgs:
110
110
  @pulumi.getter
111
111
  def name(self) -> Optional[pulumi.Input[builtins.str]]:
112
112
  """
113
- A unique identifier for the instance configuration. Values are of the
114
- form projects/<project>/instanceConfigs/[a-z][-a-z0-9]*
113
+ A unique identifier for the instance configuration. Values are of the form
114
+ projects/<project>/instanceConfigs/[a-z][-a-z0-9]*
115
115
  """
116
116
  return pulumi.get(self, "name")
117
117
 
@@ -152,8 +152,8 @@ class _InstanceConfigState:
152
152
  :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] labels: An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
153
153
  **Note**: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer
154
154
  to the field 'effective_labels' for all of the labels present on the resource.
155
- :param pulumi.Input[builtins.str] name: A unique identifier for the instance configuration. Values are of the
156
- form projects/<project>/instanceConfigs/[a-z][-a-z0-9]*
155
+ :param pulumi.Input[builtins.str] name: A unique identifier for the instance configuration. Values are of the form
156
+ projects/<project>/instanceConfigs/[a-z][-a-z0-9]*
157
157
  :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] pulumi_labels: The combination of labels configured directly on the resource
158
158
  and default labels configured on the provider.
159
159
  :param pulumi.Input[Sequence[pulumi.Input['InstanceConfigReplicaArgs']]] replicas: The geographic placement of nodes in this instance configuration and their replication properties.
@@ -246,8 +246,8 @@ class _InstanceConfigState:
246
246
  @pulumi.getter
247
247
  def name(self) -> Optional[pulumi.Input[builtins.str]]:
248
248
  """
249
- A unique identifier for the instance configuration. Values are of the
250
- form projects/<project>/instanceConfigs/[a-z][-a-z0-9]*
249
+ A unique identifier for the instance configuration. Values are of the form
250
+ projects/<project>/instanceConfigs/[a-z][-a-z0-9]*
251
251
  """
252
252
  return pulumi.get(self, "name")
253
253
 
@@ -351,8 +351,8 @@ class InstanceConfig(pulumi.CustomResource):
351
351
  :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] labels: An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
352
352
  **Note**: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer
353
353
  to the field 'effective_labels' for all of the labels present on the resource.
354
- :param pulumi.Input[builtins.str] name: A unique identifier for the instance configuration. Values are of the
355
- form projects/<project>/instanceConfigs/[a-z][-a-z0-9]*
354
+ :param pulumi.Input[builtins.str] name: A unique identifier for the instance configuration. Values are of the form
355
+ projects/<project>/instanceConfigs/[a-z][-a-z0-9]*
356
356
  :param pulumi.Input[Sequence[pulumi.Input[Union['InstanceConfigReplicaArgs', 'InstanceConfigReplicaArgsDict']]]] replicas: The geographic placement of nodes in this instance configuration and their replication properties.
357
357
  Structure is documented below.
358
358
  """
@@ -478,8 +478,8 @@ class InstanceConfig(pulumi.CustomResource):
478
478
  :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] labels: An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
479
479
  **Note**: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer
480
480
  to the field 'effective_labels' for all of the labels present on the resource.
481
- :param pulumi.Input[builtins.str] name: A unique identifier for the instance configuration. Values are of the
482
- form projects/<project>/instanceConfigs/[a-z][-a-z0-9]*
481
+ :param pulumi.Input[builtins.str] name: A unique identifier for the instance configuration. Values are of the form
482
+ projects/<project>/instanceConfigs/[a-z][-a-z0-9]*
483
483
  :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] pulumi_labels: The combination of labels configured directly on the resource
484
484
  and default labels configured on the provider.
485
485
  :param pulumi.Input[Sequence[pulumi.Input[Union['InstanceConfigReplicaArgs', 'InstanceConfigReplicaArgsDict']]]] replicas: The geographic placement of nodes in this instance configuration and their replication properties.
@@ -548,8 +548,8 @@ class InstanceConfig(pulumi.CustomResource):
548
548
  @pulumi.getter
549
549
  def name(self) -> pulumi.Output[builtins.str]:
550
550
  """
551
- A unique identifier for the instance configuration. Values are of the
552
- form projects/<project>/instanceConfigs/[a-z][-a-z0-9]*
551
+ A unique identifier for the instance configuration. Values are of the form
552
+ projects/<project>/instanceConfigs/[a-z][-a-z0-9]*
553
553
  """
554
554
  return pulumi.get(self, "name")
555
555
 
pulumi_gcp/sql/_inputs.py CHANGED
@@ -18,6 +18,8 @@ from .. import _utilities
18
18
  __all__ = [
19
19
  'DatabaseInstanceCloneArgs',
20
20
  'DatabaseInstanceCloneArgsDict',
21
+ 'DatabaseInstanceDnsNameArgs',
22
+ 'DatabaseInstanceDnsNameArgsDict',
21
23
  'DatabaseInstanceIpAddressArgs',
22
24
  'DatabaseInstanceIpAddressArgsDict',
23
25
  'DatabaseInstanceReplicaConfigurationArgs',
@@ -189,6 +191,87 @@ class DatabaseInstanceCloneArgs:
189
191
  pulumi.set(self, "preferred_zone", value)
190
192
 
191
193
 
194
+ if not MYPY:
195
+ class DatabaseInstanceDnsNameArgsDict(TypedDict):
196
+ connection_type: NotRequired[pulumi.Input[builtins.str]]
197
+ """
198
+ The connection type of the DNS name. Can be either `PUBLIC`, `PRIVATE_SERVICES_ACCESS`, or `PRIVATE_SERVICE_CONNECT`.
199
+ """
200
+ dns_scope: NotRequired[pulumi.Input[builtins.str]]
201
+ """
202
+ The scope that the DNS name applies to.
203
+ """
204
+ name: NotRequired[pulumi.Input[builtins.str]]
205
+ """
206
+ The name of the instance. If the name is left
207
+ blank, the provider will randomly generate one when the instance is first
208
+ created. This is done because after a name is used, it cannot be reused for
209
+ up to [one week](https://cloud.google.com/sql/docs/delete-instance).
210
+ """
211
+ elif False:
212
+ DatabaseInstanceDnsNameArgsDict: TypeAlias = Mapping[str, Any]
213
+
214
+ @pulumi.input_type
215
+ class DatabaseInstanceDnsNameArgs:
216
+ def __init__(__self__, *,
217
+ connection_type: Optional[pulumi.Input[builtins.str]] = None,
218
+ dns_scope: Optional[pulumi.Input[builtins.str]] = None,
219
+ name: Optional[pulumi.Input[builtins.str]] = None):
220
+ """
221
+ :param pulumi.Input[builtins.str] connection_type: The connection type of the DNS name. Can be either `PUBLIC`, `PRIVATE_SERVICES_ACCESS`, or `PRIVATE_SERVICE_CONNECT`.
222
+ :param pulumi.Input[builtins.str] dns_scope: The scope that the DNS name applies to.
223
+ :param pulumi.Input[builtins.str] name: The name of the instance. If the name is left
224
+ blank, the provider will randomly generate one when the instance is first
225
+ created. This is done because after a name is used, it cannot be reused for
226
+ up to [one week](https://cloud.google.com/sql/docs/delete-instance).
227
+ """
228
+ if connection_type is not None:
229
+ pulumi.set(__self__, "connection_type", connection_type)
230
+ if dns_scope is not None:
231
+ pulumi.set(__self__, "dns_scope", dns_scope)
232
+ if name is not None:
233
+ pulumi.set(__self__, "name", name)
234
+
235
+ @property
236
+ @pulumi.getter(name="connectionType")
237
+ def connection_type(self) -> Optional[pulumi.Input[builtins.str]]:
238
+ """
239
+ The connection type of the DNS name. Can be either `PUBLIC`, `PRIVATE_SERVICES_ACCESS`, or `PRIVATE_SERVICE_CONNECT`.
240
+ """
241
+ return pulumi.get(self, "connection_type")
242
+
243
+ @connection_type.setter
244
+ def connection_type(self, value: Optional[pulumi.Input[builtins.str]]):
245
+ pulumi.set(self, "connection_type", value)
246
+
247
+ @property
248
+ @pulumi.getter(name="dnsScope")
249
+ def dns_scope(self) -> Optional[pulumi.Input[builtins.str]]:
250
+ """
251
+ The scope that the DNS name applies to.
252
+ """
253
+ return pulumi.get(self, "dns_scope")
254
+
255
+ @dns_scope.setter
256
+ def dns_scope(self, value: Optional[pulumi.Input[builtins.str]]):
257
+ pulumi.set(self, "dns_scope", value)
258
+
259
+ @property
260
+ @pulumi.getter
261
+ def name(self) -> Optional[pulumi.Input[builtins.str]]:
262
+ """
263
+ The name of the instance. If the name is left
264
+ blank, the provider will randomly generate one when the instance is first
265
+ created. This is done because after a name is used, it cannot be reused for
266
+ up to [one week](https://cloud.google.com/sql/docs/delete-instance).
267
+ """
268
+ return pulumi.get(self, "name")
269
+
270
+ @name.setter
271
+ def name(self, value: Optional[pulumi.Input[builtins.str]]):
272
+ pulumi.set(self, "name", value)
273
+
274
+
192
275
  if not MYPY:
193
276
  class DatabaseInstanceIpAddressArgsDict(TypedDict):
194
277
  ip_address: NotRequired[pulumi.Input[builtins.str]]
@@ -357,6 +357,7 @@ class _DatabaseInstanceState:
357
357
  database_version: Optional[pulumi.Input[builtins.str]] = None,
358
358
  deletion_protection: Optional[pulumi.Input[builtins.bool]] = None,
359
359
  dns_name: Optional[pulumi.Input[builtins.str]] = None,
360
+ dns_names: Optional[pulumi.Input[Sequence[pulumi.Input['DatabaseInstanceDnsNameArgs']]]] = None,
360
361
  encryption_key_name: Optional[pulumi.Input[builtins.str]] = None,
361
362
  first_ip_address: Optional[pulumi.Input[builtins.str]] = None,
362
363
  instance_type: Optional[pulumi.Input[builtins.str]] = None,
@@ -398,6 +399,7 @@ class _DatabaseInstanceState:
398
399
  :param pulumi.Input[builtins.bool] deletion_protection: Whether or not to allow the provider to destroy the instance. Unless this field is set to false
399
400
  in state, a `destroy` or `update` command that deletes the instance will fail. Defaults to `true`.
400
401
  :param pulumi.Input[builtins.str] dns_name: The DNS name of the instance. See [Connect to an instance using Private Service Connect](https://cloud.google.com/sql/docs/mysql/configure-private-service-connect#view-summary-information-cloud-sql-instances-psc-enabled) for more details.
402
+ :param pulumi.Input[Sequence[pulumi.Input['DatabaseInstanceDnsNameArgs']]] dns_names: The list of DNS names used by this instance. Different connection types for an instance may have different DNS names. DNS names can apply to an individual instance or a cluster of instances.
401
403
  :param pulumi.Input[builtins.str] encryption_key_name: The full path to the encryption key used for the CMEK disk encryption. Setting
402
404
  up disk encryption currently requires manual steps outside of this provider.
403
405
  The provided key must be in the same region as the SQL instance. In order
@@ -453,6 +455,8 @@ class _DatabaseInstanceState:
453
455
  pulumi.set(__self__, "deletion_protection", deletion_protection)
454
456
  if dns_name is not None:
455
457
  pulumi.set(__self__, "dns_name", dns_name)
458
+ if dns_names is not None:
459
+ pulumi.set(__self__, "dns_names", dns_names)
456
460
  if encryption_key_name is not None:
457
461
  pulumi.set(__self__, "encryption_key_name", encryption_key_name)
458
462
  if first_ip_address is not None:
@@ -580,6 +584,18 @@ class _DatabaseInstanceState:
580
584
  def dns_name(self, value: Optional[pulumi.Input[builtins.str]]):
581
585
  pulumi.set(self, "dns_name", value)
582
586
 
587
+ @property
588
+ @pulumi.getter(name="dnsNames")
589
+ def dns_names(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DatabaseInstanceDnsNameArgs']]]]:
590
+ """
591
+ The list of DNS names used by this instance. Different connection types for an instance may have different DNS names. DNS names can apply to an individual instance or a cluster of instances.
592
+ """
593
+ return pulumi.get(self, "dns_names")
594
+
595
+ @dns_names.setter
596
+ def dns_names(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['DatabaseInstanceDnsNameArgs']]]]):
597
+ pulumi.set(self, "dns_names", value)
598
+
583
599
  @property
584
600
  @pulumi.getter(name="encryptionKeyName")
585
601
  def encryption_key_name(self) -> Optional[pulumi.Input[builtins.str]]:
@@ -1406,6 +1422,7 @@ class DatabaseInstance(pulumi.CustomResource):
1406
1422
  __props__.__dict__["available_maintenance_versions"] = None
1407
1423
  __props__.__dict__["connection_name"] = None
1408
1424
  __props__.__dict__["dns_name"] = None
1425
+ __props__.__dict__["dns_names"] = None
1409
1426
  __props__.__dict__["first_ip_address"] = None
1410
1427
  __props__.__dict__["ip_addresses"] = None
1411
1428
  __props__.__dict__["private_ip_address"] = None
@@ -1432,6 +1449,7 @@ class DatabaseInstance(pulumi.CustomResource):
1432
1449
  database_version: Optional[pulumi.Input[builtins.str]] = None,
1433
1450
  deletion_protection: Optional[pulumi.Input[builtins.bool]] = None,
1434
1451
  dns_name: Optional[pulumi.Input[builtins.str]] = None,
1452
+ dns_names: Optional[pulumi.Input[Sequence[pulumi.Input[Union['DatabaseInstanceDnsNameArgs', 'DatabaseInstanceDnsNameArgsDict']]]]] = None,
1435
1453
  encryption_key_name: Optional[pulumi.Input[builtins.str]] = None,
1436
1454
  first_ip_address: Optional[pulumi.Input[builtins.str]] = None,
1437
1455
  instance_type: Optional[pulumi.Input[builtins.str]] = None,
@@ -1478,6 +1496,7 @@ class DatabaseInstance(pulumi.CustomResource):
1478
1496
  :param pulumi.Input[builtins.bool] deletion_protection: Whether or not to allow the provider to destroy the instance. Unless this field is set to false
1479
1497
  in state, a `destroy` or `update` command that deletes the instance will fail. Defaults to `true`.
1480
1498
  :param pulumi.Input[builtins.str] dns_name: The DNS name of the instance. See [Connect to an instance using Private Service Connect](https://cloud.google.com/sql/docs/mysql/configure-private-service-connect#view-summary-information-cloud-sql-instances-psc-enabled) for more details.
1499
+ :param pulumi.Input[Sequence[pulumi.Input[Union['DatabaseInstanceDnsNameArgs', 'DatabaseInstanceDnsNameArgsDict']]]] dns_names: The list of DNS names used by this instance. Different connection types for an instance may have different DNS names. DNS names can apply to an individual instance or a cluster of instances.
1481
1500
  :param pulumi.Input[builtins.str] encryption_key_name: The full path to the encryption key used for the CMEK disk encryption. Setting
1482
1501
  up disk encryption currently requires manual steps outside of this provider.
1483
1502
  The provided key must be in the same region as the SQL instance. In order
@@ -1531,6 +1550,7 @@ class DatabaseInstance(pulumi.CustomResource):
1531
1550
  __props__.__dict__["database_version"] = database_version
1532
1551
  __props__.__dict__["deletion_protection"] = deletion_protection
1533
1552
  __props__.__dict__["dns_name"] = dns_name
1553
+ __props__.__dict__["dns_names"] = dns_names
1534
1554
  __props__.__dict__["encryption_key_name"] = encryption_key_name
1535
1555
  __props__.__dict__["first_ip_address"] = first_ip_address
1536
1556
  __props__.__dict__["instance_type"] = instance_type
@@ -1614,6 +1634,14 @@ class DatabaseInstance(pulumi.CustomResource):
1614
1634
  """
1615
1635
  return pulumi.get(self, "dns_name")
1616
1636
 
1637
+ @property
1638
+ @pulumi.getter(name="dnsNames")
1639
+ def dns_names(self) -> pulumi.Output[Sequence['outputs.DatabaseInstanceDnsName']]:
1640
+ """
1641
+ The list of DNS names used by this instance. Different connection types for an instance may have different DNS names. DNS names can apply to an individual instance or a cluster of instances.
1642
+ """
1643
+ return pulumi.get(self, "dns_names")
1644
+
1617
1645
  @property
1618
1646
  @pulumi.getter(name="encryptionKeyName")
1619
1647
  def encryption_key_name(self) -> pulumi.Output[builtins.str]:
@@ -28,7 +28,7 @@ class GetDatabaseInstanceResult:
28
28
  """
29
29
  A collection of values returned by getDatabaseInstance.
30
30
  """
31
- def __init__(__self__, available_maintenance_versions=None, clones=None, connection_name=None, database_version=None, deletion_protection=None, dns_name=None, encryption_key_name=None, first_ip_address=None, id=None, instance_type=None, ip_addresses=None, maintenance_version=None, master_instance_name=None, name=None, private_ip_address=None, project=None, psc_service_attachment_link=None, public_ip_address=None, region=None, replica_configurations=None, replica_names=None, replication_clusters=None, restore_backup_contexts=None, root_password=None, self_link=None, server_ca_certs=None, service_account_email_address=None, settings=None):
31
+ def __init__(__self__, available_maintenance_versions=None, clones=None, connection_name=None, database_version=None, deletion_protection=None, dns_name=None, dns_names=None, encryption_key_name=None, first_ip_address=None, id=None, instance_type=None, ip_addresses=None, maintenance_version=None, master_instance_name=None, name=None, private_ip_address=None, project=None, psc_service_attachment_link=None, public_ip_address=None, region=None, replica_configurations=None, replica_names=None, replication_clusters=None, restore_backup_contexts=None, root_password=None, self_link=None, server_ca_certs=None, service_account_email_address=None, settings=None):
32
32
  if available_maintenance_versions and not isinstance(available_maintenance_versions, list):
33
33
  raise TypeError("Expected argument 'available_maintenance_versions' to be a list")
34
34
  pulumi.set(__self__, "available_maintenance_versions", available_maintenance_versions)
@@ -47,6 +47,9 @@ class GetDatabaseInstanceResult:
47
47
  if dns_name and not isinstance(dns_name, str):
48
48
  raise TypeError("Expected argument 'dns_name' to be a str")
49
49
  pulumi.set(__self__, "dns_name", dns_name)
50
+ if dns_names and not isinstance(dns_names, list):
51
+ raise TypeError("Expected argument 'dns_names' to be a list")
52
+ pulumi.set(__self__, "dns_names", dns_names)
50
53
  if encryption_key_name and not isinstance(encryption_key_name, str):
51
54
  raise TypeError("Expected argument 'encryption_key_name' to be a str")
52
55
  pulumi.set(__self__, "encryption_key_name", encryption_key_name)
@@ -144,6 +147,11 @@ class GetDatabaseInstanceResult:
144
147
  def dns_name(self) -> builtins.str:
145
148
  return pulumi.get(self, "dns_name")
146
149
 
150
+ @property
151
+ @pulumi.getter(name="dnsNames")
152
+ def dns_names(self) -> Sequence['outputs.GetDatabaseInstanceDnsNameResult']:
153
+ return pulumi.get(self, "dns_names")
154
+
147
155
  @property
148
156
  @pulumi.getter(name="encryptionKeyName")
149
157
  def encryption_key_name(self) -> builtins.str:
@@ -270,6 +278,7 @@ class AwaitableGetDatabaseInstanceResult(GetDatabaseInstanceResult):
270
278
  database_version=self.database_version,
271
279
  deletion_protection=self.deletion_protection,
272
280
  dns_name=self.dns_name,
281
+ dns_names=self.dns_names,
273
282
  encryption_key_name=self.encryption_key_name,
274
283
  first_ip_address=self.first_ip_address,
275
284
  id=self.id,
@@ -326,6 +335,7 @@ def get_database_instance(name: Optional[builtins.str] = None,
326
335
  database_version=pulumi.get(__ret__, 'database_version'),
327
336
  deletion_protection=pulumi.get(__ret__, 'deletion_protection'),
328
337
  dns_name=pulumi.get(__ret__, 'dns_name'),
338
+ dns_names=pulumi.get(__ret__, 'dns_names'),
329
339
  encryption_key_name=pulumi.get(__ret__, 'encryption_key_name'),
330
340
  first_ip_address=pulumi.get(__ret__, 'first_ip_address'),
331
341
  id=pulumi.get(__ret__, 'id'),
@@ -379,6 +389,7 @@ def get_database_instance_output(name: Optional[pulumi.Input[builtins.str]] = No
379
389
  database_version=pulumi.get(__response__, 'database_version'),
380
390
  deletion_protection=pulumi.get(__response__, 'deletion_protection'),
381
391
  dns_name=pulumi.get(__response__, 'dns_name'),
392
+ dns_names=pulumi.get(__response__, 'dns_names'),
382
393
  encryption_key_name=pulumi.get(__response__, 'encryption_key_name'),
383
394
  first_ip_address=pulumi.get(__response__, 'first_ip_address'),
384
395
  id=pulumi.get(__response__, 'id'),
pulumi_gcp/sql/outputs.py CHANGED
@@ -18,6 +18,7 @@ from . import outputs
18
18
 
19
19
  __all__ = [
20
20
  'DatabaseInstanceClone',
21
+ 'DatabaseInstanceDnsName',
21
22
  'DatabaseInstanceIpAddress',
22
23
  'DatabaseInstanceReplicaConfiguration',
23
24
  'DatabaseInstanceReplicationCluster',
@@ -45,6 +46,7 @@ __all__ = [
45
46
  'UserSqlServerUserDetail',
46
47
  'GetCaCertsCertResult',
47
48
  'GetDatabaseInstanceCloneResult',
49
+ 'GetDatabaseInstanceDnsNameResult',
48
50
  'GetDatabaseInstanceIpAddressResult',
49
51
  'GetDatabaseInstanceReplicaConfigurationResult',
50
52
  'GetDatabaseInstanceReplicationClusterResult',
@@ -69,6 +71,7 @@ __all__ = [
69
71
  'GetDatabaseInstanceSettingSqlServerAuditConfigResult',
70
72
  'GetDatabaseInstancesInstanceResult',
71
73
  'GetDatabaseInstancesInstanceCloneResult',
74
+ 'GetDatabaseInstancesInstanceDnsNameResult',
72
75
  'GetDatabaseInstancesInstanceIpAddressResult',
73
76
  'GetDatabaseInstancesInstanceReplicaConfigurationResult',
74
77
  'GetDatabaseInstancesInstanceReplicationClusterResult',
@@ -190,6 +193,74 @@ class DatabaseInstanceClone(dict):
190
193
  return pulumi.get(self, "preferred_zone")
191
194
 
192
195
 
196
+ @pulumi.output_type
197
+ class DatabaseInstanceDnsName(dict):
198
+ @staticmethod
199
+ def __key_warning(key: str):
200
+ suggest = None
201
+ if key == "connectionType":
202
+ suggest = "connection_type"
203
+ elif key == "dnsScope":
204
+ suggest = "dns_scope"
205
+
206
+ if suggest:
207
+ pulumi.log.warn(f"Key '{key}' not found in DatabaseInstanceDnsName. Access the value via the '{suggest}' property getter instead.")
208
+
209
+ def __getitem__(self, key: str) -> Any:
210
+ DatabaseInstanceDnsName.__key_warning(key)
211
+ return super().__getitem__(key)
212
+
213
+ def get(self, key: str, default = None) -> Any:
214
+ DatabaseInstanceDnsName.__key_warning(key)
215
+ return super().get(key, default)
216
+
217
+ def __init__(__self__, *,
218
+ connection_type: Optional[builtins.str] = None,
219
+ dns_scope: Optional[builtins.str] = None,
220
+ name: Optional[builtins.str] = None):
221
+ """
222
+ :param builtins.str connection_type: The connection type of the DNS name. Can be either `PUBLIC`, `PRIVATE_SERVICES_ACCESS`, or `PRIVATE_SERVICE_CONNECT`.
223
+ :param builtins.str dns_scope: The scope that the DNS name applies to.
224
+ :param builtins.str name: The name of the instance. If the name is left
225
+ blank, the provider will randomly generate one when the instance is first
226
+ created. This is done because after a name is used, it cannot be reused for
227
+ up to [one week](https://cloud.google.com/sql/docs/delete-instance).
228
+ """
229
+ if connection_type is not None:
230
+ pulumi.set(__self__, "connection_type", connection_type)
231
+ if dns_scope is not None:
232
+ pulumi.set(__self__, "dns_scope", dns_scope)
233
+ if name is not None:
234
+ pulumi.set(__self__, "name", name)
235
+
236
+ @property
237
+ @pulumi.getter(name="connectionType")
238
+ def connection_type(self) -> Optional[builtins.str]:
239
+ """
240
+ The connection type of the DNS name. Can be either `PUBLIC`, `PRIVATE_SERVICES_ACCESS`, or `PRIVATE_SERVICE_CONNECT`.
241
+ """
242
+ return pulumi.get(self, "connection_type")
243
+
244
+ @property
245
+ @pulumi.getter(name="dnsScope")
246
+ def dns_scope(self) -> Optional[builtins.str]:
247
+ """
248
+ The scope that the DNS name applies to.
249
+ """
250
+ return pulumi.get(self, "dns_scope")
251
+
252
+ @property
253
+ @pulumi.getter
254
+ def name(self) -> Optional[builtins.str]:
255
+ """
256
+ The name of the instance. If the name is left
257
+ blank, the provider will randomly generate one when the instance is first
258
+ created. This is done because after a name is used, it cannot be reused for
259
+ up to [one week](https://cloud.google.com/sql/docs/delete-instance).
260
+ """
261
+ return pulumi.get(self, "name")
262
+
263
+
193
264
  @pulumi.output_type
194
265
  class DatabaseInstanceIpAddress(dict):
195
266
  @staticmethod
@@ -2502,6 +2573,38 @@ class GetDatabaseInstanceCloneResult(dict):
2502
2573
  return pulumi.get(self, "source_instance_name")
2503
2574
 
2504
2575
 
2576
+ @pulumi.output_type
2577
+ class GetDatabaseInstanceDnsNameResult(dict):
2578
+ def __init__(__self__, *,
2579
+ connection_type: builtins.str,
2580
+ dns_scope: builtins.str,
2581
+ name: builtins.str):
2582
+ """
2583
+ :param builtins.str name: The name of the instance.
2584
+ """
2585
+ pulumi.set(__self__, "connection_type", connection_type)
2586
+ pulumi.set(__self__, "dns_scope", dns_scope)
2587
+ pulumi.set(__self__, "name", name)
2588
+
2589
+ @property
2590
+ @pulumi.getter(name="connectionType")
2591
+ def connection_type(self) -> builtins.str:
2592
+ return pulumi.get(self, "connection_type")
2593
+
2594
+ @property
2595
+ @pulumi.getter(name="dnsScope")
2596
+ def dns_scope(self) -> builtins.str:
2597
+ return pulumi.get(self, "dns_scope")
2598
+
2599
+ @property
2600
+ @pulumi.getter
2601
+ def name(self) -> builtins.str:
2602
+ """
2603
+ The name of the instance.
2604
+ """
2605
+ return pulumi.get(self, "name")
2606
+
2607
+
2505
2608
  @pulumi.output_type
2506
2609
  class GetDatabaseInstanceIpAddressResult(dict):
2507
2610
  def __init__(__self__, *,
@@ -2850,7 +2953,7 @@ class GetDatabaseInstanceSettingResult(dict):
2850
2953
  :param builtins.bool disk_autoresize: Enables auto-resizing of the storage size. Defaults to true.
2851
2954
  :param builtins.int disk_autoresize_limit: The maximum size, in GB, to which storage capacity can be automatically increased. The default value is 0, which specifies that there is no limit.
2852
2955
  :param builtins.int disk_size: The size of data disk, in GB. Size of a running instance cannot be reduced but can be increased. The minimum value is 10GB for PD_SSD, PD_HDD and 20GB for HYPERDISK_BALANCED.
2853
- :param builtins.str disk_type: The type of data disk: PD_SSD, PD_HDD, or HYPERDISK_BALANCED. Defaults to PD_SSD.
2956
+ :param builtins.str disk_type: The type of supported data disk is tier dependent and can be PD_SSD or PD_HDD or HyperDisk_Balanced
2854
2957
  :param builtins.str edition: The edition of the instance, can be ENTERPRISE or ENTERPRISE_PLUS.
2855
2958
  :param builtins.bool enable_dataplex_integration: Enables Dataplex Integration.
2856
2959
  :param builtins.bool enable_google_ml_integration: Enables Vertex AI Integration.
@@ -3018,7 +3121,7 @@ class GetDatabaseInstanceSettingResult(dict):
3018
3121
  @pulumi.getter(name="diskType")
3019
3122
  def disk_type(self) -> builtins.str:
3020
3123
  """
3021
- The type of data disk: PD_SSD, PD_HDD, or HYPERDISK_BALANCED. Defaults to PD_SSD.
3124
+ The type of supported data disk is tier dependent and can be PD_SSD or PD_HDD or HyperDisk_Balanced
3022
3125
  """
3023
3126
  return pulumi.get(self, "disk_type")
3024
3127
 
@@ -3841,6 +3944,7 @@ class GetDatabaseInstancesInstanceResult(dict):
3841
3944
  database_version: builtins.str,
3842
3945
  deletion_protection: builtins.bool,
3843
3946
  dns_name: builtins.str,
3947
+ dns_names: Sequence['outputs.GetDatabaseInstancesInstanceDnsNameResult'],
3844
3948
  encryption_key_name: builtins.str,
3845
3949
  first_ip_address: builtins.str,
3846
3950
  instance_type: builtins.str,
@@ -3867,7 +3971,8 @@ class GetDatabaseInstancesInstanceResult(dict):
3867
3971
  :param Sequence['GetDatabaseInstancesInstanceCloneArgs'] clones: Configuration for creating a new instance as a clone of another instance.
3868
3972
  :param builtins.str connection_name: The connection name of the instance to be used in connection strings. For example, when connecting with Cloud SQL Proxy.
3869
3973
  :param builtins.str database_version: To filter out the Cloud SQL instances which are of the specified database version.
3870
- :param builtins.str dns_name: The dns name of the instance.
3974
+ :param builtins.str dns_name: The instance-level dns name of the instance for PSC instances or public IP CAS instances.
3975
+ :param Sequence['GetDatabaseInstancesInstanceDnsNameArgs'] dns_names: The list of DNS names used by this instance. Different connection types for an instance may have different DNS names. DNS names can apply to an individual instance or a cluster of instances.
3871
3976
  :param builtins.str instance_type: The type of the instance. The valid values are:- 'SQL_INSTANCE_TYPE_UNSPECIFIED', 'CLOUD_SQL_INSTANCE', 'ON_PREMISES_INSTANCE' and 'READ_REPLICA_INSTANCE'.
3872
3977
  :param builtins.str maintenance_version: Maintenance version.
3873
3978
  :param builtins.str master_instance_name: The name of the instance that will act as the master in the replication setup. Note, this requires the master to have binary_log_enabled set, as well as existing backups.
@@ -3888,6 +3993,7 @@ class GetDatabaseInstancesInstanceResult(dict):
3888
3993
  pulumi.set(__self__, "database_version", database_version)
3889
3994
  pulumi.set(__self__, "deletion_protection", deletion_protection)
3890
3995
  pulumi.set(__self__, "dns_name", dns_name)
3996
+ pulumi.set(__self__, "dns_names", dns_names)
3891
3997
  pulumi.set(__self__, "encryption_key_name", encryption_key_name)
3892
3998
  pulumi.set(__self__, "first_ip_address", first_ip_address)
3893
3999
  pulumi.set(__self__, "instance_type", instance_type)
@@ -3951,10 +4057,18 @@ class GetDatabaseInstancesInstanceResult(dict):
3951
4057
  @pulumi.getter(name="dnsName")
3952
4058
  def dns_name(self) -> builtins.str:
3953
4059
  """
3954
- The dns name of the instance.
4060
+ The instance-level dns name of the instance for PSC instances or public IP CAS instances.
3955
4061
  """
3956
4062
  return pulumi.get(self, "dns_name")
3957
4063
 
4064
+ @property
4065
+ @pulumi.getter(name="dnsNames")
4066
+ def dns_names(self) -> Sequence['outputs.GetDatabaseInstancesInstanceDnsNameResult']:
4067
+ """
4068
+ The list of DNS names used by this instance. Different connection types for an instance may have different DNS names. DNS names can apply to an individual instance or a cluster of instances.
4069
+ """
4070
+ return pulumi.get(self, "dns_names")
4071
+
3958
4072
  @property
3959
4073
  @pulumi.getter(name="encryptionKeyName")
3960
4074
  def encryption_key_name(self) -> builtins.str:
@@ -4162,6 +4276,32 @@ class GetDatabaseInstancesInstanceCloneResult(dict):
4162
4276
  return pulumi.get(self, "source_instance_name")
4163
4277
 
4164
4278
 
4279
+ @pulumi.output_type
4280
+ class GetDatabaseInstancesInstanceDnsNameResult(dict):
4281
+ def __init__(__self__, *,
4282
+ connection_type: builtins.str,
4283
+ dns_scope: builtins.str,
4284
+ name: builtins.str):
4285
+ pulumi.set(__self__, "connection_type", connection_type)
4286
+ pulumi.set(__self__, "dns_scope", dns_scope)
4287
+ pulumi.set(__self__, "name", name)
4288
+
4289
+ @property
4290
+ @pulumi.getter(name="connectionType")
4291
+ def connection_type(self) -> builtins.str:
4292
+ return pulumi.get(self, "connection_type")
4293
+
4294
+ @property
4295
+ @pulumi.getter(name="dnsScope")
4296
+ def dns_scope(self) -> builtins.str:
4297
+ return pulumi.get(self, "dns_scope")
4298
+
4299
+ @property
4300
+ @pulumi.getter
4301
+ def name(self) -> builtins.str:
4302
+ return pulumi.get(self, "name")
4303
+
4304
+
4165
4305
  @pulumi.output_type
4166
4306
  class GetDatabaseInstancesInstanceIpAddressResult(dict):
4167
4307
  def __init__(__self__, *,
@@ -4510,7 +4650,7 @@ class GetDatabaseInstancesInstanceSettingResult(dict):
4510
4650
  :param builtins.bool disk_autoresize: Enables auto-resizing of the storage size. Defaults to true.
4511
4651
  :param builtins.int disk_autoresize_limit: The maximum size, in GB, to which storage capacity can be automatically increased. The default value is 0, which specifies that there is no limit.
4512
4652
  :param builtins.int disk_size: The size of data disk, in GB. Size of a running instance cannot be reduced but can be increased. The minimum value is 10GB for PD_SSD, PD_HDD and 20GB for HYPERDISK_BALANCED.
4513
- :param builtins.str disk_type: The type of data disk: PD_SSD, PD_HDD, or HYPERDISK_BALANCED. Defaults to PD_SSD.
4653
+ :param builtins.str disk_type: The type of supported data disk is tier dependent and can be PD_SSD or PD_HDD or HyperDisk_Balanced
4514
4654
  :param builtins.str edition: The edition of the instance, can be ENTERPRISE or ENTERPRISE_PLUS.
4515
4655
  :param builtins.bool enable_dataplex_integration: Enables Dataplex Integration.
4516
4656
  :param builtins.bool enable_google_ml_integration: Enables Vertex AI Integration.
@@ -4678,7 +4818,7 @@ class GetDatabaseInstancesInstanceSettingResult(dict):
4678
4818
  @pulumi.getter(name="diskType")
4679
4819
  def disk_type(self) -> builtins.str:
4680
4820
  """
4681
- The type of data disk: PD_SSD, PD_HDD, or HYPERDISK_BALANCED. Defaults to PD_SSD.
4821
+ The type of supported data disk is tier dependent and can be PD_SSD or PD_HDD or HyperDisk_Balanced
4682
4822
  """
4683
4823
  return pulumi.get(self, "disk_type")
4684
4824
 
@@ -4955,6 +4955,10 @@ if not MYPY:
4955
4955
  """
4956
4956
  AWS credentials block.
4957
4957
  """
4958
+ managed_private_network: NotRequired[pulumi.Input[builtins.bool]]
4959
+ """
4960
+ Egress bytes over a Google-managed private network. This network is shared between other users of Storage Transfer Service.
4961
+ """
4958
4962
  path: NotRequired[pulumi.Input[builtins.str]]
4959
4963
  """
4960
4964
  S3 Bucket path in bucket to transfer.
@@ -4971,17 +4975,21 @@ class TransferJobTransferSpecAwsS3DataSourceArgs:
4971
4975
  def __init__(__self__, *,
4972
4976
  bucket_name: pulumi.Input[builtins.str],
4973
4977
  aws_access_key: Optional[pulumi.Input['TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyArgs']] = None,
4978
+ managed_private_network: Optional[pulumi.Input[builtins.bool]] = None,
4974
4979
  path: Optional[pulumi.Input[builtins.str]] = None,
4975
4980
  role_arn: Optional[pulumi.Input[builtins.str]] = None):
4976
4981
  """
4977
4982
  :param pulumi.Input[builtins.str] bucket_name: S3 Bucket name.
4978
4983
  :param pulumi.Input['TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyArgs'] aws_access_key: AWS credentials block.
4984
+ :param pulumi.Input[builtins.bool] managed_private_network: Egress bytes over a Google-managed private network. This network is shared between other users of Storage Transfer Service.
4979
4985
  :param pulumi.Input[builtins.str] path: S3 Bucket path in bucket to transfer.
4980
4986
  :param pulumi.Input[builtins.str] role_arn: The Amazon Resource Name (ARN) of the role to support temporary credentials via 'AssumeRoleWithWebIdentity'. For more information about ARNs, see [IAM ARNs](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-arns). When a role ARN is provided, Transfer Service fetches temporary credentials for the session using a 'AssumeRoleWithWebIdentity' call for the provided role using the [GoogleServiceAccount][] for this project.
4981
4987
  """
4982
4988
  pulumi.set(__self__, "bucket_name", bucket_name)
4983
4989
  if aws_access_key is not None:
4984
4990
  pulumi.set(__self__, "aws_access_key", aws_access_key)
4991
+ if managed_private_network is not None:
4992
+ pulumi.set(__self__, "managed_private_network", managed_private_network)
4985
4993
  if path is not None:
4986
4994
  pulumi.set(__self__, "path", path)
4987
4995
  if role_arn is not None:
@@ -5011,6 +5019,18 @@ class TransferJobTransferSpecAwsS3DataSourceArgs:
5011
5019
  def aws_access_key(self, value: Optional[pulumi.Input['TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyArgs']]):
5012
5020
  pulumi.set(self, "aws_access_key", value)
5013
5021
 
5022
+ @property
5023
+ @pulumi.getter(name="managedPrivateNetwork")
5024
+ def managed_private_network(self) -> Optional[pulumi.Input[builtins.bool]]:
5025
+ """
5026
+ Egress bytes over a Google-managed private network. This network is shared between other users of Storage Transfer Service.
5027
+ """
5028
+ return pulumi.get(self, "managed_private_network")
5029
+
5030
+ @managed_private_network.setter
5031
+ def managed_private_network(self, value: Optional[pulumi.Input[builtins.bool]]):
5032
+ pulumi.set(self, "managed_private_network", value)
5033
+
5014
5034
  @property
5015
5035
  @pulumi.getter
5016
5036
  def path(self) -> Optional[pulumi.Input[builtins.str]]: