pulumi-gcp 8.21.0a1741070272__py3-none-any.whl → 8.21.0a1741103856__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 (50) hide show
  1. pulumi_gcp/__init__.py +16 -0
  2. pulumi_gcp/alloydb/__init__.py +1 -0
  3. pulumi_gcp/alloydb/get_cluster.py +491 -0
  4. pulumi_gcp/alloydb/outputs.py +808 -0
  5. pulumi_gcp/appengine/_inputs.py +3 -3
  6. pulumi_gcp/appengine/outputs.py +2 -2
  7. pulumi_gcp/backupdisasterrecovery/backup_plan.py +16 -0
  8. pulumi_gcp/backupdisasterrecovery/backup_plan_association.py +16 -0
  9. pulumi_gcp/backupdisasterrecovery/management_server.py +16 -0
  10. pulumi_gcp/bigquery/_inputs.py +6 -8
  11. pulumi_gcp/bigquery/data_transfer_config.py +28 -0
  12. pulumi_gcp/bigquery/outputs.py +4 -5
  13. pulumi_gcp/chronicle/rule_deployment.py +21 -7
  14. pulumi_gcp/composer/get_environment.py +12 -0
  15. pulumi_gcp/composer/get_image_versions.py +12 -0
  16. pulumi_gcp/composer/get_user_workloads_config_map.py +12 -0
  17. pulumi_gcp/composer/get_user_workloads_secret.py +12 -0
  18. pulumi_gcp/compute/network_peering_routes_config.py +140 -6
  19. pulumi_gcp/datacatalog/entry_group.py +4 -0
  20. pulumi_gcp/datacatalog/tag_template.py +4 -0
  21. pulumi_gcp/developerconnect/_inputs.py +575 -0
  22. pulumi_gcp/developerconnect/connection.py +200 -0
  23. pulumi_gcp/developerconnect/git_repository_link.py +12 -0
  24. pulumi_gcp/developerconnect/outputs.py +461 -0
  25. pulumi_gcp/gemini/__init__.py +1 -0
  26. pulumi_gcp/gemini/data_sharing_with_google_setting.py +6 -0
  27. pulumi_gcp/gemini/data_sharing_with_google_setting_binding.py +722 -0
  28. pulumi_gcp/gemini/logging_setting.py +4 -0
  29. pulumi_gcp/gemini/logging_setting_binding.py +12 -0
  30. pulumi_gcp/iam/organizations_policy_binding.py +10 -2
  31. pulumi_gcp/iam/projects_policy_binding.py +10 -2
  32. pulumi_gcp/iam/workforce_pool_provider.py +63 -11
  33. pulumi_gcp/parametermanager/get_parameter_version_render.py +3 -0
  34. pulumi_gcp/parametermanager/get_regional_parameter_version_render.py +3 -0
  35. pulumi_gcp/projects/__init__.py +1 -0
  36. pulumi_gcp/projects/get_ancestry.py +150 -0
  37. pulumi_gcp/projects/outputs.py +30 -0
  38. pulumi_gcp/pulumi-plugin.json +1 -1
  39. pulumi_gcp/redis/cluster.py +211 -94
  40. pulumi_gcp/secretmanager/secret_version.py +73 -23
  41. pulumi_gcp/spanner/__init__.py +1 -0
  42. pulumi_gcp/spanner/instance_partition.py +658 -0
  43. pulumi_gcp/sql/user.py +20 -14
  44. pulumi_gcp/tpu/_inputs.py +150 -1
  45. pulumi_gcp/tpu/outputs.py +114 -1
  46. pulumi_gcp/tpu/v2_queued_resource.py +74 -0
  47. {pulumi_gcp-8.21.0a1741070272.dist-info → pulumi_gcp-8.21.0a1741103856.dist-info}/METADATA +1 -1
  48. {pulumi_gcp-8.21.0a1741070272.dist-info → pulumi_gcp-8.21.0a1741103856.dist-info}/RECORD +50 -46
  49. {pulumi_gcp-8.21.0a1741070272.dist-info → pulumi_gcp-8.21.0a1741103856.dist-info}/WHEEL +0 -0
  50. {pulumi_gcp-8.21.0a1741070272.dist-info → pulumi_gcp-8.21.0a1741103856.dist-info}/top_level.txt +0 -0
pulumi_gcp/__init__.py CHANGED
@@ -5226,6 +5226,14 @@ _utilities.register(
5226
5226
  "gcp:gemini/dataSharingWithGoogleSetting:DataSharingWithGoogleSetting": "DataSharingWithGoogleSetting"
5227
5227
  }
5228
5228
  },
5229
+ {
5230
+ "pkg": "gcp",
5231
+ "mod": "gemini/dataSharingWithGoogleSettingBinding",
5232
+ "fqn": "pulumi_gcp.gemini",
5233
+ "classes": {
5234
+ "gcp:gemini/dataSharingWithGoogleSettingBinding:DataSharingWithGoogleSettingBinding": "DataSharingWithGoogleSettingBinding"
5235
+ }
5236
+ },
5229
5237
  {
5230
5238
  "pkg": "gcp",
5231
5239
  "mod": "gemini/geminiGcpEnablementSetting",
@@ -8386,6 +8394,14 @@ _utilities.register(
8386
8394
  "gcp:spanner/instanceIAMPolicy:InstanceIAMPolicy": "InstanceIAMPolicy"
8387
8395
  }
8388
8396
  },
8397
+ {
8398
+ "pkg": "gcp",
8399
+ "mod": "spanner/instancePartition",
8400
+ "fqn": "pulumi_gcp.spanner",
8401
+ "classes": {
8402
+ "gcp:spanner/instancePartition:InstancePartition": "InstancePartition"
8403
+ }
8404
+ },
8389
8405
  {
8390
8406
  "pkg": "gcp",
8391
8407
  "mod": "sql/database",
@@ -7,6 +7,7 @@ import typing
7
7
  # Export this package's modules as members:
8
8
  from .backup import *
9
9
  from .cluster import *
10
+ from .get_cluster import *
10
11
  from .get_instance import *
11
12
  from .get_locations import *
12
13
  from .get_supported_database_flags import *
@@ -0,0 +1,491 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import copy
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from .. import _utilities
16
+ from . import outputs
17
+
18
+ __all__ = [
19
+ 'GetClusterResult',
20
+ 'AwaitableGetClusterResult',
21
+ 'get_cluster',
22
+ 'get_cluster_output',
23
+ ]
24
+
25
+ @pulumi.output_type
26
+ class GetClusterResult:
27
+ """
28
+ A collection of values returned by getCluster.
29
+ """
30
+ def __init__(__self__, annotations=None, automated_backup_policies=None, backup_sources=None, cluster_id=None, cluster_type=None, continuous_backup_configs=None, continuous_backup_infos=None, database_version=None, deletion_policy=None, display_name=None, effective_annotations=None, effective_labels=None, encryption_configs=None, encryption_infos=None, etag=None, id=None, initial_users=None, labels=None, location=None, maintenance_update_policies=None, migration_sources=None, name=None, network_configs=None, project=None, psc_configs=None, pulumi_labels=None, reconciling=None, restore_backup_sources=None, restore_continuous_backup_sources=None, secondary_configs=None, skip_await_major_version_upgrade=None, state=None, subscription_type=None, trial_metadatas=None, uid=None):
31
+ if annotations and not isinstance(annotations, dict):
32
+ raise TypeError("Expected argument 'annotations' to be a dict")
33
+ pulumi.set(__self__, "annotations", annotations)
34
+ if automated_backup_policies and not isinstance(automated_backup_policies, list):
35
+ raise TypeError("Expected argument 'automated_backup_policies' to be a list")
36
+ pulumi.set(__self__, "automated_backup_policies", automated_backup_policies)
37
+ if backup_sources and not isinstance(backup_sources, list):
38
+ raise TypeError("Expected argument 'backup_sources' to be a list")
39
+ pulumi.set(__self__, "backup_sources", backup_sources)
40
+ if cluster_id and not isinstance(cluster_id, str):
41
+ raise TypeError("Expected argument 'cluster_id' to be a str")
42
+ pulumi.set(__self__, "cluster_id", cluster_id)
43
+ if cluster_type and not isinstance(cluster_type, str):
44
+ raise TypeError("Expected argument 'cluster_type' to be a str")
45
+ pulumi.set(__self__, "cluster_type", cluster_type)
46
+ if continuous_backup_configs and not isinstance(continuous_backup_configs, list):
47
+ raise TypeError("Expected argument 'continuous_backup_configs' to be a list")
48
+ pulumi.set(__self__, "continuous_backup_configs", continuous_backup_configs)
49
+ if continuous_backup_infos and not isinstance(continuous_backup_infos, list):
50
+ raise TypeError("Expected argument 'continuous_backup_infos' to be a list")
51
+ pulumi.set(__self__, "continuous_backup_infos", continuous_backup_infos)
52
+ if database_version and not isinstance(database_version, str):
53
+ raise TypeError("Expected argument 'database_version' to be a str")
54
+ pulumi.set(__self__, "database_version", database_version)
55
+ if deletion_policy and not isinstance(deletion_policy, str):
56
+ raise TypeError("Expected argument 'deletion_policy' to be a str")
57
+ pulumi.set(__self__, "deletion_policy", deletion_policy)
58
+ if display_name and not isinstance(display_name, str):
59
+ raise TypeError("Expected argument 'display_name' to be a str")
60
+ pulumi.set(__self__, "display_name", display_name)
61
+ if effective_annotations and not isinstance(effective_annotations, dict):
62
+ raise TypeError("Expected argument 'effective_annotations' to be a dict")
63
+ pulumi.set(__self__, "effective_annotations", effective_annotations)
64
+ if effective_labels and not isinstance(effective_labels, dict):
65
+ raise TypeError("Expected argument 'effective_labels' to be a dict")
66
+ pulumi.set(__self__, "effective_labels", effective_labels)
67
+ if encryption_configs and not isinstance(encryption_configs, list):
68
+ raise TypeError("Expected argument 'encryption_configs' to be a list")
69
+ pulumi.set(__self__, "encryption_configs", encryption_configs)
70
+ if encryption_infos and not isinstance(encryption_infos, list):
71
+ raise TypeError("Expected argument 'encryption_infos' to be a list")
72
+ pulumi.set(__self__, "encryption_infos", encryption_infos)
73
+ if etag and not isinstance(etag, str):
74
+ raise TypeError("Expected argument 'etag' to be a str")
75
+ pulumi.set(__self__, "etag", etag)
76
+ if id and not isinstance(id, str):
77
+ raise TypeError("Expected argument 'id' to be a str")
78
+ pulumi.set(__self__, "id", id)
79
+ if initial_users and not isinstance(initial_users, list):
80
+ raise TypeError("Expected argument 'initial_users' to be a list")
81
+ pulumi.set(__self__, "initial_users", initial_users)
82
+ if labels and not isinstance(labels, dict):
83
+ raise TypeError("Expected argument 'labels' to be a dict")
84
+ pulumi.set(__self__, "labels", labels)
85
+ if location and not isinstance(location, str):
86
+ raise TypeError("Expected argument 'location' to be a str")
87
+ pulumi.set(__self__, "location", location)
88
+ if maintenance_update_policies and not isinstance(maintenance_update_policies, list):
89
+ raise TypeError("Expected argument 'maintenance_update_policies' to be a list")
90
+ pulumi.set(__self__, "maintenance_update_policies", maintenance_update_policies)
91
+ if migration_sources and not isinstance(migration_sources, list):
92
+ raise TypeError("Expected argument 'migration_sources' to be a list")
93
+ pulumi.set(__self__, "migration_sources", migration_sources)
94
+ if name and not isinstance(name, str):
95
+ raise TypeError("Expected argument 'name' to be a str")
96
+ pulumi.set(__self__, "name", name)
97
+ if network_configs and not isinstance(network_configs, list):
98
+ raise TypeError("Expected argument 'network_configs' to be a list")
99
+ pulumi.set(__self__, "network_configs", network_configs)
100
+ if project and not isinstance(project, str):
101
+ raise TypeError("Expected argument 'project' to be a str")
102
+ pulumi.set(__self__, "project", project)
103
+ if psc_configs and not isinstance(psc_configs, list):
104
+ raise TypeError("Expected argument 'psc_configs' to be a list")
105
+ pulumi.set(__self__, "psc_configs", psc_configs)
106
+ if pulumi_labels and not isinstance(pulumi_labels, dict):
107
+ raise TypeError("Expected argument 'pulumi_labels' to be a dict")
108
+ pulumi.set(__self__, "pulumi_labels", pulumi_labels)
109
+ if reconciling and not isinstance(reconciling, bool):
110
+ raise TypeError("Expected argument 'reconciling' to be a bool")
111
+ pulumi.set(__self__, "reconciling", reconciling)
112
+ if restore_backup_sources and not isinstance(restore_backup_sources, list):
113
+ raise TypeError("Expected argument 'restore_backup_sources' to be a list")
114
+ pulumi.set(__self__, "restore_backup_sources", restore_backup_sources)
115
+ if restore_continuous_backup_sources and not isinstance(restore_continuous_backup_sources, list):
116
+ raise TypeError("Expected argument 'restore_continuous_backup_sources' to be a list")
117
+ pulumi.set(__self__, "restore_continuous_backup_sources", restore_continuous_backup_sources)
118
+ if secondary_configs and not isinstance(secondary_configs, list):
119
+ raise TypeError("Expected argument 'secondary_configs' to be a list")
120
+ pulumi.set(__self__, "secondary_configs", secondary_configs)
121
+ if skip_await_major_version_upgrade and not isinstance(skip_await_major_version_upgrade, bool):
122
+ raise TypeError("Expected argument 'skip_await_major_version_upgrade' to be a bool")
123
+ pulumi.set(__self__, "skip_await_major_version_upgrade", skip_await_major_version_upgrade)
124
+ if state and not isinstance(state, str):
125
+ raise TypeError("Expected argument 'state' to be a str")
126
+ pulumi.set(__self__, "state", state)
127
+ if subscription_type and not isinstance(subscription_type, str):
128
+ raise TypeError("Expected argument 'subscription_type' to be a str")
129
+ pulumi.set(__self__, "subscription_type", subscription_type)
130
+ if trial_metadatas and not isinstance(trial_metadatas, list):
131
+ raise TypeError("Expected argument 'trial_metadatas' to be a list")
132
+ pulumi.set(__self__, "trial_metadatas", trial_metadatas)
133
+ if uid and not isinstance(uid, str):
134
+ raise TypeError("Expected argument 'uid' to be a str")
135
+ pulumi.set(__self__, "uid", uid)
136
+
137
+ @property
138
+ @pulumi.getter
139
+ def annotations(self) -> Mapping[str, str]:
140
+ return pulumi.get(self, "annotations")
141
+
142
+ @property
143
+ @pulumi.getter(name="automatedBackupPolicies")
144
+ def automated_backup_policies(self) -> Sequence['outputs.GetClusterAutomatedBackupPolicyResult']:
145
+ return pulumi.get(self, "automated_backup_policies")
146
+
147
+ @property
148
+ @pulumi.getter(name="backupSources")
149
+ def backup_sources(self) -> Sequence['outputs.GetClusterBackupSourceResult']:
150
+ return pulumi.get(self, "backup_sources")
151
+
152
+ @property
153
+ @pulumi.getter(name="clusterId")
154
+ def cluster_id(self) -> str:
155
+ return pulumi.get(self, "cluster_id")
156
+
157
+ @property
158
+ @pulumi.getter(name="clusterType")
159
+ def cluster_type(self) -> str:
160
+ return pulumi.get(self, "cluster_type")
161
+
162
+ @property
163
+ @pulumi.getter(name="continuousBackupConfigs")
164
+ def continuous_backup_configs(self) -> Sequence['outputs.GetClusterContinuousBackupConfigResult']:
165
+ return pulumi.get(self, "continuous_backup_configs")
166
+
167
+ @property
168
+ @pulumi.getter(name="continuousBackupInfos")
169
+ def continuous_backup_infos(self) -> Sequence['outputs.GetClusterContinuousBackupInfoResult']:
170
+ return pulumi.get(self, "continuous_backup_infos")
171
+
172
+ @property
173
+ @pulumi.getter(name="databaseVersion")
174
+ def database_version(self) -> str:
175
+ return pulumi.get(self, "database_version")
176
+
177
+ @property
178
+ @pulumi.getter(name="deletionPolicy")
179
+ def deletion_policy(self) -> str:
180
+ return pulumi.get(self, "deletion_policy")
181
+
182
+ @property
183
+ @pulumi.getter(name="displayName")
184
+ def display_name(self) -> str:
185
+ return pulumi.get(self, "display_name")
186
+
187
+ @property
188
+ @pulumi.getter(name="effectiveAnnotations")
189
+ def effective_annotations(self) -> Mapping[str, str]:
190
+ return pulumi.get(self, "effective_annotations")
191
+
192
+ @property
193
+ @pulumi.getter(name="effectiveLabels")
194
+ def effective_labels(self) -> Mapping[str, str]:
195
+ return pulumi.get(self, "effective_labels")
196
+
197
+ @property
198
+ @pulumi.getter(name="encryptionConfigs")
199
+ def encryption_configs(self) -> Sequence['outputs.GetClusterEncryptionConfigResult']:
200
+ return pulumi.get(self, "encryption_configs")
201
+
202
+ @property
203
+ @pulumi.getter(name="encryptionInfos")
204
+ def encryption_infos(self) -> Sequence['outputs.GetClusterEncryptionInfoResult']:
205
+ return pulumi.get(self, "encryption_infos")
206
+
207
+ @property
208
+ @pulumi.getter
209
+ def etag(self) -> str:
210
+ return pulumi.get(self, "etag")
211
+
212
+ @property
213
+ @pulumi.getter
214
+ def id(self) -> str:
215
+ """
216
+ The provider-assigned unique ID for this managed resource.
217
+ """
218
+ return pulumi.get(self, "id")
219
+
220
+ @property
221
+ @pulumi.getter(name="initialUsers")
222
+ def initial_users(self) -> Sequence['outputs.GetClusterInitialUserResult']:
223
+ return pulumi.get(self, "initial_users")
224
+
225
+ @property
226
+ @pulumi.getter
227
+ def labels(self) -> Mapping[str, str]:
228
+ return pulumi.get(self, "labels")
229
+
230
+ @property
231
+ @pulumi.getter
232
+ def location(self) -> Optional[str]:
233
+ return pulumi.get(self, "location")
234
+
235
+ @property
236
+ @pulumi.getter(name="maintenanceUpdatePolicies")
237
+ def maintenance_update_policies(self) -> Sequence['outputs.GetClusterMaintenanceUpdatePolicyResult']:
238
+ return pulumi.get(self, "maintenance_update_policies")
239
+
240
+ @property
241
+ @pulumi.getter(name="migrationSources")
242
+ def migration_sources(self) -> Sequence['outputs.GetClusterMigrationSourceResult']:
243
+ return pulumi.get(self, "migration_sources")
244
+
245
+ @property
246
+ @pulumi.getter
247
+ def name(self) -> str:
248
+ return pulumi.get(self, "name")
249
+
250
+ @property
251
+ @pulumi.getter(name="networkConfigs")
252
+ def network_configs(self) -> Sequence['outputs.GetClusterNetworkConfigResult']:
253
+ return pulumi.get(self, "network_configs")
254
+
255
+ @property
256
+ @pulumi.getter
257
+ def project(self) -> Optional[str]:
258
+ return pulumi.get(self, "project")
259
+
260
+ @property
261
+ @pulumi.getter(name="pscConfigs")
262
+ def psc_configs(self) -> Sequence['outputs.GetClusterPscConfigResult']:
263
+ return pulumi.get(self, "psc_configs")
264
+
265
+ @property
266
+ @pulumi.getter(name="pulumiLabels")
267
+ def pulumi_labels(self) -> Mapping[str, str]:
268
+ return pulumi.get(self, "pulumi_labels")
269
+
270
+ @property
271
+ @pulumi.getter
272
+ def reconciling(self) -> bool:
273
+ return pulumi.get(self, "reconciling")
274
+
275
+ @property
276
+ @pulumi.getter(name="restoreBackupSources")
277
+ def restore_backup_sources(self) -> Sequence['outputs.GetClusterRestoreBackupSourceResult']:
278
+ return pulumi.get(self, "restore_backup_sources")
279
+
280
+ @property
281
+ @pulumi.getter(name="restoreContinuousBackupSources")
282
+ def restore_continuous_backup_sources(self) -> Sequence['outputs.GetClusterRestoreContinuousBackupSourceResult']:
283
+ return pulumi.get(self, "restore_continuous_backup_sources")
284
+
285
+ @property
286
+ @pulumi.getter(name="secondaryConfigs")
287
+ def secondary_configs(self) -> Sequence['outputs.GetClusterSecondaryConfigResult']:
288
+ return pulumi.get(self, "secondary_configs")
289
+
290
+ @property
291
+ @pulumi.getter(name="skipAwaitMajorVersionUpgrade")
292
+ def skip_await_major_version_upgrade(self) -> bool:
293
+ return pulumi.get(self, "skip_await_major_version_upgrade")
294
+
295
+ @property
296
+ @pulumi.getter
297
+ def state(self) -> str:
298
+ return pulumi.get(self, "state")
299
+
300
+ @property
301
+ @pulumi.getter(name="subscriptionType")
302
+ def subscription_type(self) -> str:
303
+ return pulumi.get(self, "subscription_type")
304
+
305
+ @property
306
+ @pulumi.getter(name="trialMetadatas")
307
+ def trial_metadatas(self) -> Sequence['outputs.GetClusterTrialMetadataResult']:
308
+ return pulumi.get(self, "trial_metadatas")
309
+
310
+ @property
311
+ @pulumi.getter
312
+ def uid(self) -> str:
313
+ return pulumi.get(self, "uid")
314
+
315
+
316
+ class AwaitableGetClusterResult(GetClusterResult):
317
+ # pylint: disable=using-constant-test
318
+ def __await__(self):
319
+ if False:
320
+ yield self
321
+ return GetClusterResult(
322
+ annotations=self.annotations,
323
+ automated_backup_policies=self.automated_backup_policies,
324
+ backup_sources=self.backup_sources,
325
+ cluster_id=self.cluster_id,
326
+ cluster_type=self.cluster_type,
327
+ continuous_backup_configs=self.continuous_backup_configs,
328
+ continuous_backup_infos=self.continuous_backup_infos,
329
+ database_version=self.database_version,
330
+ deletion_policy=self.deletion_policy,
331
+ display_name=self.display_name,
332
+ effective_annotations=self.effective_annotations,
333
+ effective_labels=self.effective_labels,
334
+ encryption_configs=self.encryption_configs,
335
+ encryption_infos=self.encryption_infos,
336
+ etag=self.etag,
337
+ id=self.id,
338
+ initial_users=self.initial_users,
339
+ labels=self.labels,
340
+ location=self.location,
341
+ maintenance_update_policies=self.maintenance_update_policies,
342
+ migration_sources=self.migration_sources,
343
+ name=self.name,
344
+ network_configs=self.network_configs,
345
+ project=self.project,
346
+ psc_configs=self.psc_configs,
347
+ pulumi_labels=self.pulumi_labels,
348
+ reconciling=self.reconciling,
349
+ restore_backup_sources=self.restore_backup_sources,
350
+ restore_continuous_backup_sources=self.restore_continuous_backup_sources,
351
+ secondary_configs=self.secondary_configs,
352
+ skip_await_major_version_upgrade=self.skip_await_major_version_upgrade,
353
+ state=self.state,
354
+ subscription_type=self.subscription_type,
355
+ trial_metadatas=self.trial_metadatas,
356
+ uid=self.uid)
357
+
358
+
359
+ def get_cluster(cluster_id: Optional[str] = None,
360
+ location: Optional[str] = None,
361
+ project: Optional[str] = None,
362
+ opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetClusterResult:
363
+ """
364
+ Use this data source to get information about the available cluster. For more details refer the [API docs](https://cloud.google.com/alloydb/docs/reference/rest/v1/projects.locations.clusters).
365
+
366
+ ## Example Usage
367
+
368
+ ```python
369
+ import pulumi
370
+ import pulumi_gcp as gcp
371
+
372
+ qa = gcp.alloydb.get_cluster()
373
+ ```
374
+
375
+
376
+ :param str cluster_id: The ID of the alloydb cluster that the instance belongs to.
377
+ 'alloydb_cluster_id'
378
+ :param str location: (optional)
379
+ The canonical id of the location.If it is not provided, the provider project is used. For example: us-east1.
380
+ :param str project: (optional)
381
+ The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
382
+ """
383
+ __args__ = dict()
384
+ __args__['clusterId'] = cluster_id
385
+ __args__['location'] = location
386
+ __args__['project'] = project
387
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
388
+ __ret__ = pulumi.runtime.invoke('gcp:alloydb/getCluster:getCluster', __args__, opts=opts, typ=GetClusterResult).value
389
+
390
+ return AwaitableGetClusterResult(
391
+ annotations=pulumi.get(__ret__, 'annotations'),
392
+ automated_backup_policies=pulumi.get(__ret__, 'automated_backup_policies'),
393
+ backup_sources=pulumi.get(__ret__, 'backup_sources'),
394
+ cluster_id=pulumi.get(__ret__, 'cluster_id'),
395
+ cluster_type=pulumi.get(__ret__, 'cluster_type'),
396
+ continuous_backup_configs=pulumi.get(__ret__, 'continuous_backup_configs'),
397
+ continuous_backup_infos=pulumi.get(__ret__, 'continuous_backup_infos'),
398
+ database_version=pulumi.get(__ret__, 'database_version'),
399
+ deletion_policy=pulumi.get(__ret__, 'deletion_policy'),
400
+ display_name=pulumi.get(__ret__, 'display_name'),
401
+ effective_annotations=pulumi.get(__ret__, 'effective_annotations'),
402
+ effective_labels=pulumi.get(__ret__, 'effective_labels'),
403
+ encryption_configs=pulumi.get(__ret__, 'encryption_configs'),
404
+ encryption_infos=pulumi.get(__ret__, 'encryption_infos'),
405
+ etag=pulumi.get(__ret__, 'etag'),
406
+ id=pulumi.get(__ret__, 'id'),
407
+ initial_users=pulumi.get(__ret__, 'initial_users'),
408
+ labels=pulumi.get(__ret__, 'labels'),
409
+ location=pulumi.get(__ret__, 'location'),
410
+ maintenance_update_policies=pulumi.get(__ret__, 'maintenance_update_policies'),
411
+ migration_sources=pulumi.get(__ret__, 'migration_sources'),
412
+ name=pulumi.get(__ret__, 'name'),
413
+ network_configs=pulumi.get(__ret__, 'network_configs'),
414
+ project=pulumi.get(__ret__, 'project'),
415
+ psc_configs=pulumi.get(__ret__, 'psc_configs'),
416
+ pulumi_labels=pulumi.get(__ret__, 'pulumi_labels'),
417
+ reconciling=pulumi.get(__ret__, 'reconciling'),
418
+ restore_backup_sources=pulumi.get(__ret__, 'restore_backup_sources'),
419
+ restore_continuous_backup_sources=pulumi.get(__ret__, 'restore_continuous_backup_sources'),
420
+ secondary_configs=pulumi.get(__ret__, 'secondary_configs'),
421
+ skip_await_major_version_upgrade=pulumi.get(__ret__, 'skip_await_major_version_upgrade'),
422
+ state=pulumi.get(__ret__, 'state'),
423
+ subscription_type=pulumi.get(__ret__, 'subscription_type'),
424
+ trial_metadatas=pulumi.get(__ret__, 'trial_metadatas'),
425
+ uid=pulumi.get(__ret__, 'uid'))
426
+ def get_cluster_output(cluster_id: Optional[pulumi.Input[str]] = None,
427
+ location: Optional[pulumi.Input[Optional[str]]] = None,
428
+ project: Optional[pulumi.Input[Optional[str]]] = None,
429
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetClusterResult]:
430
+ """
431
+ Use this data source to get information about the available cluster. For more details refer the [API docs](https://cloud.google.com/alloydb/docs/reference/rest/v1/projects.locations.clusters).
432
+
433
+ ## Example Usage
434
+
435
+ ```python
436
+ import pulumi
437
+ import pulumi_gcp as gcp
438
+
439
+ qa = gcp.alloydb.get_cluster()
440
+ ```
441
+
442
+
443
+ :param str cluster_id: The ID of the alloydb cluster that the instance belongs to.
444
+ 'alloydb_cluster_id'
445
+ :param str location: (optional)
446
+ The canonical id of the location.If it is not provided, the provider project is used. For example: us-east1.
447
+ :param str project: (optional)
448
+ The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
449
+ """
450
+ __args__ = dict()
451
+ __args__['clusterId'] = cluster_id
452
+ __args__['location'] = location
453
+ __args__['project'] = project
454
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
455
+ __ret__ = pulumi.runtime.invoke_output('gcp:alloydb/getCluster:getCluster', __args__, opts=opts, typ=GetClusterResult)
456
+ return __ret__.apply(lambda __response__: GetClusterResult(
457
+ annotations=pulumi.get(__response__, 'annotations'),
458
+ automated_backup_policies=pulumi.get(__response__, 'automated_backup_policies'),
459
+ backup_sources=pulumi.get(__response__, 'backup_sources'),
460
+ cluster_id=pulumi.get(__response__, 'cluster_id'),
461
+ cluster_type=pulumi.get(__response__, 'cluster_type'),
462
+ continuous_backup_configs=pulumi.get(__response__, 'continuous_backup_configs'),
463
+ continuous_backup_infos=pulumi.get(__response__, 'continuous_backup_infos'),
464
+ database_version=pulumi.get(__response__, 'database_version'),
465
+ deletion_policy=pulumi.get(__response__, 'deletion_policy'),
466
+ display_name=pulumi.get(__response__, 'display_name'),
467
+ effective_annotations=pulumi.get(__response__, 'effective_annotations'),
468
+ effective_labels=pulumi.get(__response__, 'effective_labels'),
469
+ encryption_configs=pulumi.get(__response__, 'encryption_configs'),
470
+ encryption_infos=pulumi.get(__response__, 'encryption_infos'),
471
+ etag=pulumi.get(__response__, 'etag'),
472
+ id=pulumi.get(__response__, 'id'),
473
+ initial_users=pulumi.get(__response__, 'initial_users'),
474
+ labels=pulumi.get(__response__, 'labels'),
475
+ location=pulumi.get(__response__, 'location'),
476
+ maintenance_update_policies=pulumi.get(__response__, 'maintenance_update_policies'),
477
+ migration_sources=pulumi.get(__response__, 'migration_sources'),
478
+ name=pulumi.get(__response__, 'name'),
479
+ network_configs=pulumi.get(__response__, 'network_configs'),
480
+ project=pulumi.get(__response__, 'project'),
481
+ psc_configs=pulumi.get(__response__, 'psc_configs'),
482
+ pulumi_labels=pulumi.get(__response__, 'pulumi_labels'),
483
+ reconciling=pulumi.get(__response__, 'reconciling'),
484
+ restore_backup_sources=pulumi.get(__response__, 'restore_backup_sources'),
485
+ restore_continuous_backup_sources=pulumi.get(__response__, 'restore_continuous_backup_sources'),
486
+ secondary_configs=pulumi.get(__response__, 'secondary_configs'),
487
+ skip_await_major_version_upgrade=pulumi.get(__response__, 'skip_await_major_version_upgrade'),
488
+ state=pulumi.get(__response__, 'state'),
489
+ subscription_type=pulumi.get(__response__, 'subscription_type'),
490
+ trial_metadatas=pulumi.get(__response__, 'trial_metadatas'),
491
+ uid=pulumi.get(__response__, 'uid')))