pulumi-gcp 8.33.0a1749001887__py3-none-any.whl → 8.34.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 (97) hide show
  1. pulumi_gcp/__init__.py +40 -0
  2. pulumi_gcp/alloydb/cluster.py +16 -64
  3. pulumi_gcp/apigee/_inputs.py +89 -0
  4. pulumi_gcp/apigee/environment.py +68 -2
  5. pulumi_gcp/apigee/outputs.py +88 -0
  6. pulumi_gcp/apihub/__init__.py +1 -0
  7. pulumi_gcp/apihub/_inputs.py +184 -0
  8. pulumi_gcp/apihub/curation.py +812 -0
  9. pulumi_gcp/apihub/outputs.py +165 -0
  10. pulumi_gcp/beyondcorp/get_security_gateway.py +12 -1
  11. pulumi_gcp/beyondcorp/security_gateway.py +28 -0
  12. pulumi_gcp/bigquery/__init__.py +1 -0
  13. pulumi_gcp/bigquery/get_datasets.py +131 -0
  14. pulumi_gcp/bigquery/outputs.py +52 -0
  15. pulumi_gcp/cloudrunv2/_inputs.py +463 -0
  16. pulumi_gcp/cloudrunv2/outputs.py +581 -1
  17. pulumi_gcp/cloudrunv2/worker_pool.py +0 -8
  18. pulumi_gcp/colab/_inputs.py +14 -1
  19. pulumi_gcp/colab/outputs.py +8 -1
  20. pulumi_gcp/colab/runtime_template.py +5 -27
  21. pulumi_gcp/compute/__init__.py +3 -0
  22. pulumi_gcp/compute/_inputs.py +1829 -3
  23. pulumi_gcp/compute/backend_service.py +18 -2
  24. pulumi_gcp/compute/get_region_instance_template.py +12 -1
  25. pulumi_gcp/compute/get_router_nat.py +23 -1
  26. pulumi_gcp/compute/interconnect.py +32 -0
  27. pulumi_gcp/compute/interconnect_attachment.py +304 -0
  28. pulumi_gcp/compute/interconnect_attachment_group.py +636 -0
  29. pulumi_gcp/compute/interconnect_group.py +586 -0
  30. pulumi_gcp/compute/outputs.py +1321 -2
  31. pulumi_gcp/compute/region_instance_template.py +28 -0
  32. pulumi_gcp/compute/router_nat.py +143 -0
  33. pulumi_gcp/compute/snapshot_settings.py +285 -0
  34. pulumi_gcp/compute/url_map.py +338 -0
  35. pulumi_gcp/container/_inputs.py +57 -24
  36. pulumi_gcp/container/cluster.py +47 -0
  37. pulumi_gcp/container/get_cluster.py +12 -1
  38. pulumi_gcp/container/outputs.py +75 -20
  39. pulumi_gcp/dataplex/__init__.py +1 -0
  40. pulumi_gcp/dataplex/_inputs.py +492 -0
  41. pulumi_gcp/dataplex/datascan.py +2 -0
  42. pulumi_gcp/dataplex/entry.py +1038 -0
  43. pulumi_gcp/dataplex/outputs.py +357 -1
  44. pulumi_gcp/datastream/_inputs.py +48 -6
  45. pulumi_gcp/datastream/outputs.py +46 -4
  46. pulumi_gcp/datastream/private_connection.py +205 -35
  47. pulumi_gcp/dns/_inputs.py +73 -0
  48. pulumi_gcp/dns/outputs.py +60 -0
  49. pulumi_gcp/dns/policy.py +54 -0
  50. pulumi_gcp/eventarc/_inputs.py +12 -5
  51. pulumi_gcp/eventarc/outputs.py +8 -3
  52. pulumi_gcp/eventarc/pipeline.py +0 -12
  53. pulumi_gcp/filestore/_inputs.py +44 -1
  54. pulumi_gcp/filestore/instance.py +7 -7
  55. pulumi_gcp/filestore/outputs.py +52 -2
  56. pulumi_gcp/gemini/data_sharing_with_google_setting.py +58 -9
  57. pulumi_gcp/gemini/data_sharing_with_google_setting_binding.py +11 -16
  58. pulumi_gcp/gemini/gemini_gcp_enablement_setting.py +51 -2
  59. pulumi_gcp/gemini/gemini_gcp_enablement_setting_binding.py +11 -16
  60. pulumi_gcp/gkehub/_inputs.py +84 -7
  61. pulumi_gcp/gkehub/feature.py +38 -0
  62. pulumi_gcp/gkehub/outputs.py +102 -7
  63. pulumi_gcp/gkehub/scope_rbac_role_binding.py +54 -2
  64. pulumi_gcp/gkeonprem/_inputs.py +54 -0
  65. pulumi_gcp/gkeonprem/outputs.py +49 -0
  66. pulumi_gcp/gkeonprem/vmware_admin_cluster.py +71 -0
  67. pulumi_gcp/iam/workload_identity_pool_namespace.py +4 -4
  68. pulumi_gcp/iap/tunnel_dest_group.py +2 -2
  69. pulumi_gcp/integrationconnectors/managed_zone.py +8 -8
  70. pulumi_gcp/managedkafka/connect_cluster.py +4 -4
  71. pulumi_gcp/managedkafka/connector.py +4 -4
  72. pulumi_gcp/memorystore/_inputs.py +6 -6
  73. pulumi_gcp/memorystore/outputs.py +8 -8
  74. pulumi_gcp/netapp/_inputs.py +113 -0
  75. pulumi_gcp/netapp/backup_vault.py +56 -0
  76. pulumi_gcp/netapp/outputs.py +92 -0
  77. pulumi_gcp/networkconnectivity/_inputs.py +9 -9
  78. pulumi_gcp/networkconnectivity/outputs.py +6 -6
  79. pulumi_gcp/networkconnectivity/spoke.py +14 -14
  80. pulumi_gcp/networksecurity/backend_authentication_config.py +64 -0
  81. pulumi_gcp/orgpolicy/policy.py +2 -2
  82. pulumi_gcp/pubsub/_inputs.py +392 -0
  83. pulumi_gcp/pubsub/get_subscription.py +12 -1
  84. pulumi_gcp/pubsub/get_topic.py +12 -1
  85. pulumi_gcp/pubsub/outputs.py +548 -0
  86. pulumi_gcp/pubsub/subscription.py +67 -6
  87. pulumi_gcp/pubsub/topic.py +61 -0
  88. pulumi_gcp/pulumi-plugin.json +1 -1
  89. pulumi_gcp/redis/_inputs.py +3 -6
  90. pulumi_gcp/redis/outputs.py +2 -4
  91. pulumi_gcp/storage/bucket_object.py +4 -4
  92. pulumi_gcp/vertex/ai_endpoint.py +4 -4
  93. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +4 -4
  94. {pulumi_gcp-8.33.0a1749001887.dist-info → pulumi_gcp-8.34.0.dist-info}/METADATA +1 -1
  95. {pulumi_gcp-8.33.0a1749001887.dist-info → pulumi_gcp-8.34.0.dist-info}/RECORD +97 -91
  96. {pulumi_gcp-8.33.0a1749001887.dist-info → pulumi_gcp-8.34.0.dist-info}/WHEEL +0 -0
  97. {pulumi_gcp-8.33.0a1749001887.dist-info → pulumi_gcp-8.34.0.dist-info}/top_level.txt +0 -0
@@ -14,9 +14,13 @@ if sys.version_info >= (3, 11):
14
14
  else:
15
15
  from typing_extensions import NotRequired, TypedDict, TypeAlias
16
16
  from .. import _utilities
17
+ from . import outputs
17
18
 
18
19
  __all__ = [
19
20
  'ApiHubInstanceConfig',
21
+ 'CurationEndpoint',
22
+ 'CurationEndpointApplicationIntegrationEndpointDetails',
23
+ 'CurationPluginInstanceAction',
20
24
  ]
21
25
 
22
26
  @pulumi.output_type
@@ -123,3 +127,164 @@ class ApiHubInstanceConfig(dict):
123
127
  return pulumi.get(self, "vertex_location")
124
128
 
125
129
 
130
+ @pulumi.output_type
131
+ class CurationEndpoint(dict):
132
+ @staticmethod
133
+ def __key_warning(key: str):
134
+ suggest = None
135
+ if key == "applicationIntegrationEndpointDetails":
136
+ suggest = "application_integration_endpoint_details"
137
+
138
+ if suggest:
139
+ pulumi.log.warn(f"Key '{key}' not found in CurationEndpoint. Access the value via the '{suggest}' property getter instead.")
140
+
141
+ def __getitem__(self, key: str) -> Any:
142
+ CurationEndpoint.__key_warning(key)
143
+ return super().__getitem__(key)
144
+
145
+ def get(self, key: str, default = None) -> Any:
146
+ CurationEndpoint.__key_warning(key)
147
+ return super().get(key, default)
148
+
149
+ def __init__(__self__, *,
150
+ application_integration_endpoint_details: 'outputs.CurationEndpointApplicationIntegrationEndpointDetails'):
151
+ """
152
+ :param 'CurationEndpointApplicationIntegrationEndpointDetailsArgs' application_integration_endpoint_details: The details of the Application Integration endpoint to be triggered for
153
+ curation.
154
+ Structure is documented below.
155
+ """
156
+ pulumi.set(__self__, "application_integration_endpoint_details", application_integration_endpoint_details)
157
+
158
+ @property
159
+ @pulumi.getter(name="applicationIntegrationEndpointDetails")
160
+ def application_integration_endpoint_details(self) -> 'outputs.CurationEndpointApplicationIntegrationEndpointDetails':
161
+ """
162
+ The details of the Application Integration endpoint to be triggered for
163
+ curation.
164
+ Structure is documented below.
165
+ """
166
+ return pulumi.get(self, "application_integration_endpoint_details")
167
+
168
+
169
+ @pulumi.output_type
170
+ class CurationEndpointApplicationIntegrationEndpointDetails(dict):
171
+ @staticmethod
172
+ def __key_warning(key: str):
173
+ suggest = None
174
+ if key == "triggerId":
175
+ suggest = "trigger_id"
176
+
177
+ if suggest:
178
+ pulumi.log.warn(f"Key '{key}' not found in CurationEndpointApplicationIntegrationEndpointDetails. Access the value via the '{suggest}' property getter instead.")
179
+
180
+ def __getitem__(self, key: str) -> Any:
181
+ CurationEndpointApplicationIntegrationEndpointDetails.__key_warning(key)
182
+ return super().__getitem__(key)
183
+
184
+ def get(self, key: str, default = None) -> Any:
185
+ CurationEndpointApplicationIntegrationEndpointDetails.__key_warning(key)
186
+ return super().get(key, default)
187
+
188
+ def __init__(__self__, *,
189
+ trigger_id: builtins.str,
190
+ uri: builtins.str):
191
+ """
192
+ :param builtins.str trigger_id: The API trigger ID of the Application Integration workflow.
193
+ :param builtins.str uri: The endpoint URI should be a valid REST URI for triggering an Application
194
+ Integration.
195
+ Format:
196
+ `https://integrations.googleapis.com/v1/{name=projects/*/locations/*/integrations/*}:execute`
197
+ or
198
+ `https://{location}-integrations.googleapis.com/v1/{name=projects/*/locations/*/integrations/*}:execute`
199
+
200
+ - - -
201
+ """
202
+ pulumi.set(__self__, "trigger_id", trigger_id)
203
+ pulumi.set(__self__, "uri", uri)
204
+
205
+ @property
206
+ @pulumi.getter(name="triggerId")
207
+ def trigger_id(self) -> builtins.str:
208
+ """
209
+ The API trigger ID of the Application Integration workflow.
210
+ """
211
+ return pulumi.get(self, "trigger_id")
212
+
213
+ @property
214
+ @pulumi.getter
215
+ def uri(self) -> builtins.str:
216
+ """
217
+ The endpoint URI should be a valid REST URI for triggering an Application
218
+ Integration.
219
+ Format:
220
+ `https://integrations.googleapis.com/v1/{name=projects/*/locations/*/integrations/*}:execute`
221
+ or
222
+ `https://{location}-integrations.googleapis.com/v1/{name=projects/*/locations/*/integrations/*}:execute`
223
+
224
+ - - -
225
+ """
226
+ return pulumi.get(self, "uri")
227
+
228
+
229
+ @pulumi.output_type
230
+ class CurationPluginInstanceAction(dict):
231
+ @staticmethod
232
+ def __key_warning(key: str):
233
+ suggest = None
234
+ if key == "actionId":
235
+ suggest = "action_id"
236
+ elif key == "pluginInstance":
237
+ suggest = "plugin_instance"
238
+
239
+ if suggest:
240
+ pulumi.log.warn(f"Key '{key}' not found in CurationPluginInstanceAction. Access the value via the '{suggest}' property getter instead.")
241
+
242
+ def __getitem__(self, key: str) -> Any:
243
+ CurationPluginInstanceAction.__key_warning(key)
244
+ return super().__getitem__(key)
245
+
246
+ def get(self, key: str, default = None) -> Any:
247
+ CurationPluginInstanceAction.__key_warning(key)
248
+ return super().get(key, default)
249
+
250
+ def __init__(__self__, *,
251
+ action_id: Optional[builtins.str] = None,
252
+ plugin_instance: Optional[builtins.str] = None):
253
+ """
254
+ :param builtins.str action_id: (Output)
255
+ The action ID that is using the curation.
256
+ This should map to one of the action IDs specified
257
+ in action configs in the plugin.
258
+ :param builtins.str plugin_instance: (Output)
259
+ Plugin instance that is using the curation.
260
+ Format is
261
+ `projects/{project}/locations/{locati on}/plugins/{plugin}/instances/{instance}`
262
+ """
263
+ if action_id is not None:
264
+ pulumi.set(__self__, "action_id", action_id)
265
+ if plugin_instance is not None:
266
+ pulumi.set(__self__, "plugin_instance", plugin_instance)
267
+
268
+ @property
269
+ @pulumi.getter(name="actionId")
270
+ def action_id(self) -> Optional[builtins.str]:
271
+ """
272
+ (Output)
273
+ The action ID that is using the curation.
274
+ This should map to one of the action IDs specified
275
+ in action configs in the plugin.
276
+ """
277
+ return pulumi.get(self, "action_id")
278
+
279
+ @property
280
+ @pulumi.getter(name="pluginInstance")
281
+ def plugin_instance(self) -> Optional[builtins.str]:
282
+ """
283
+ (Output)
284
+ Plugin instance that is using the curation.
285
+ Format is
286
+ `projects/{project}/locations/{locati on}/plugins/{plugin}/instances/{instance}`
287
+ """
288
+ return pulumi.get(self, "plugin_instance")
289
+
290
+
@@ -28,10 +28,13 @@ class GetSecurityGatewayResult:
28
28
  """
29
29
  A collection of values returned by getSecurityGateway.
30
30
  """
31
- def __init__(__self__, create_time=None, display_name=None, external_ips=None, hubs=None, id=None, location=None, name=None, project=None, security_gateway_id=None, state=None, update_time=None):
31
+ def __init__(__self__, create_time=None, delegating_service_account=None, display_name=None, external_ips=None, hubs=None, id=None, location=None, name=None, project=None, security_gateway_id=None, state=None, update_time=None):
32
32
  if create_time and not isinstance(create_time, str):
33
33
  raise TypeError("Expected argument 'create_time' to be a str")
34
34
  pulumi.set(__self__, "create_time", create_time)
35
+ if delegating_service_account and not isinstance(delegating_service_account, str):
36
+ raise TypeError("Expected argument 'delegating_service_account' to be a str")
37
+ pulumi.set(__self__, "delegating_service_account", delegating_service_account)
35
38
  if display_name and not isinstance(display_name, str):
36
39
  raise TypeError("Expected argument 'display_name' to be a str")
37
40
  pulumi.set(__self__, "display_name", display_name)
@@ -68,6 +71,11 @@ class GetSecurityGatewayResult:
68
71
  def create_time(self) -> builtins.str:
69
72
  return pulumi.get(self, "create_time")
70
73
 
74
+ @property
75
+ @pulumi.getter(name="delegatingServiceAccount")
76
+ def delegating_service_account(self) -> builtins.str:
77
+ return pulumi.get(self, "delegating_service_account")
78
+
71
79
  @property
72
80
  @pulumi.getter(name="displayName")
73
81
  def display_name(self) -> builtins.str:
@@ -129,6 +137,7 @@ class AwaitableGetSecurityGatewayResult(GetSecurityGatewayResult):
129
137
  yield self
130
138
  return GetSecurityGatewayResult(
131
139
  create_time=self.create_time,
140
+ delegating_service_account=self.delegating_service_account,
132
141
  display_name=self.display_name,
133
142
  external_ips=self.external_ips,
134
143
  hubs=self.hubs,
@@ -171,6 +180,7 @@ def get_security_gateway(project: Optional[builtins.str] = None,
171
180
 
172
181
  return AwaitableGetSecurityGatewayResult(
173
182
  create_time=pulumi.get(__ret__, 'create_time'),
183
+ delegating_service_account=pulumi.get(__ret__, 'delegating_service_account'),
174
184
  display_name=pulumi.get(__ret__, 'display_name'),
175
185
  external_ips=pulumi.get(__ret__, 'external_ips'),
176
186
  hubs=pulumi.get(__ret__, 'hubs'),
@@ -210,6 +220,7 @@ def get_security_gateway_output(project: Optional[pulumi.Input[Optional[builtins
210
220
  __ret__ = pulumi.runtime.invoke_output('gcp:beyondcorp/getSecurityGateway:getSecurityGateway', __args__, opts=opts, typ=GetSecurityGatewayResult)
211
221
  return __ret__.apply(lambda __response__: GetSecurityGatewayResult(
212
222
  create_time=pulumi.get(__response__, 'create_time'),
223
+ delegating_service_account=pulumi.get(__response__, 'delegating_service_account'),
213
224
  display_name=pulumi.get(__response__, 'display_name'),
214
225
  external_ips=pulumi.get(__response__, 'external_ips'),
215
226
  hubs=pulumi.get(__response__, 'hubs'),
@@ -140,6 +140,7 @@ class SecurityGatewayArgs:
140
140
  class _SecurityGatewayState:
141
141
  def __init__(__self__, *,
142
142
  create_time: Optional[pulumi.Input[builtins.str]] = None,
143
+ delegating_service_account: Optional[pulumi.Input[builtins.str]] = None,
143
144
  display_name: Optional[pulumi.Input[builtins.str]] = None,
144
145
  external_ips: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
145
146
  hubs: Optional[pulumi.Input[Sequence[pulumi.Input['SecurityGatewayHubArgs']]]] = None,
@@ -152,6 +153,7 @@ class _SecurityGatewayState:
152
153
  """
153
154
  Input properties used for looking up and filtering SecurityGateway resources.
154
155
  :param pulumi.Input[builtins.str] create_time: Output only. Timestamp when the resource was created.
156
+ :param pulumi.Input[builtins.str] delegating_service_account: Service account used for operations that involve resources in consumer projects.
155
157
  :param pulumi.Input[builtins.str] display_name: Optional. An arbitrary user-provided name for the SecurityGateway.
156
158
  Cannot exceed 64 characters.
157
159
  :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] external_ips: Output only. IP addresses that will be used for establishing
@@ -186,6 +188,8 @@ class _SecurityGatewayState:
186
188
  """
187
189
  if create_time is not None:
188
190
  pulumi.set(__self__, "create_time", create_time)
191
+ if delegating_service_account is not None:
192
+ pulumi.set(__self__, "delegating_service_account", delegating_service_account)
189
193
  if display_name is not None:
190
194
  pulumi.set(__self__, "display_name", display_name)
191
195
  if external_ips is not None:
@@ -220,6 +224,18 @@ class _SecurityGatewayState:
220
224
  def create_time(self, value: Optional[pulumi.Input[builtins.str]]):
221
225
  pulumi.set(self, "create_time", value)
222
226
 
227
+ @property
228
+ @pulumi.getter(name="delegatingServiceAccount")
229
+ def delegating_service_account(self) -> Optional[pulumi.Input[builtins.str]]:
230
+ """
231
+ Service account used for operations that involve resources in consumer projects.
232
+ """
233
+ return pulumi.get(self, "delegating_service_account")
234
+
235
+ @delegating_service_account.setter
236
+ def delegating_service_account(self, value: Optional[pulumi.Input[builtins.str]]):
237
+ pulumi.set(self, "delegating_service_account", value)
238
+
223
239
  @property
224
240
  @pulumi.getter(name="displayName")
225
241
  def display_name(self) -> Optional[pulumi.Input[builtins.str]]:
@@ -514,6 +530,7 @@ class SecurityGateway(pulumi.CustomResource):
514
530
  raise TypeError("Missing required property 'security_gateway_id'")
515
531
  __props__.__dict__["security_gateway_id"] = security_gateway_id
516
532
  __props__.__dict__["create_time"] = None
533
+ __props__.__dict__["delegating_service_account"] = None
517
534
  __props__.__dict__["external_ips"] = None
518
535
  __props__.__dict__["name"] = None
519
536
  __props__.__dict__["state"] = None
@@ -529,6 +546,7 @@ class SecurityGateway(pulumi.CustomResource):
529
546
  id: pulumi.Input[str],
530
547
  opts: Optional[pulumi.ResourceOptions] = None,
531
548
  create_time: Optional[pulumi.Input[builtins.str]] = None,
549
+ delegating_service_account: Optional[pulumi.Input[builtins.str]] = None,
532
550
  display_name: Optional[pulumi.Input[builtins.str]] = None,
533
551
  external_ips: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
534
552
  hubs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SecurityGatewayHubArgs', 'SecurityGatewayHubArgsDict']]]]] = None,
@@ -546,6 +564,7 @@ class SecurityGateway(pulumi.CustomResource):
546
564
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
547
565
  :param pulumi.ResourceOptions opts: Options for the resource.
548
566
  :param pulumi.Input[builtins.str] create_time: Output only. Timestamp when the resource was created.
567
+ :param pulumi.Input[builtins.str] delegating_service_account: Service account used for operations that involve resources in consumer projects.
549
568
  :param pulumi.Input[builtins.str] display_name: Optional. An arbitrary user-provided name for the SecurityGateway.
550
569
  Cannot exceed 64 characters.
551
570
  :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] external_ips: Output only. IP addresses that will be used for establishing
@@ -583,6 +602,7 @@ class SecurityGateway(pulumi.CustomResource):
583
602
  __props__ = _SecurityGatewayState.__new__(_SecurityGatewayState)
584
603
 
585
604
  __props__.__dict__["create_time"] = create_time
605
+ __props__.__dict__["delegating_service_account"] = delegating_service_account
586
606
  __props__.__dict__["display_name"] = display_name
587
607
  __props__.__dict__["external_ips"] = external_ips
588
608
  __props__.__dict__["hubs"] = hubs
@@ -602,6 +622,14 @@ class SecurityGateway(pulumi.CustomResource):
602
622
  """
603
623
  return pulumi.get(self, "create_time")
604
624
 
625
+ @property
626
+ @pulumi.getter(name="delegatingServiceAccount")
627
+ def delegating_service_account(self) -> pulumi.Output[builtins.str]:
628
+ """
629
+ Service account used for operations that involve resources in consumer projects.
630
+ """
631
+ return pulumi.get(self, "delegating_service_account")
632
+
605
633
  @property
606
634
  @pulumi.getter(name="displayName")
607
635
  def display_name(self) -> pulumi.Output[Optional[builtins.str]]:
@@ -22,6 +22,7 @@ from .dataset_iam_policy import *
22
22
  from .get_connection_iam_policy import *
23
23
  from .get_dataset import *
24
24
  from .get_dataset_iam_policy import *
25
+ from .get_datasets import *
25
26
  from .get_default_service_account import *
26
27
  from .get_table import *
27
28
  from .get_table_iam_policy import *
@@ -0,0 +1,131 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by pulumi-language-python. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import builtins
6
+ import copy
7
+ import warnings
8
+ import sys
9
+ import pulumi
10
+ import pulumi.runtime
11
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
12
+ if sys.version_info >= (3, 11):
13
+ from typing import NotRequired, TypedDict, TypeAlias
14
+ else:
15
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
16
+ from .. import _utilities
17
+ from . import outputs
18
+
19
+ __all__ = [
20
+ 'GetDatasetsResult',
21
+ 'AwaitableGetDatasetsResult',
22
+ 'get_datasets',
23
+ 'get_datasets_output',
24
+ ]
25
+
26
+ @pulumi.output_type
27
+ class GetDatasetsResult:
28
+ """
29
+ A collection of values returned by getDatasets.
30
+ """
31
+ def __init__(__self__, datasets=None, id=None, project=None):
32
+ if datasets and not isinstance(datasets, list):
33
+ raise TypeError("Expected argument 'datasets' to be a list")
34
+ pulumi.set(__self__, "datasets", datasets)
35
+ if id and not isinstance(id, str):
36
+ raise TypeError("Expected argument 'id' to be a str")
37
+ pulumi.set(__self__, "id", id)
38
+ if project and not isinstance(project, str):
39
+ raise TypeError("Expected argument 'project' to be a str")
40
+ pulumi.set(__self__, "project", project)
41
+
42
+ @property
43
+ @pulumi.getter
44
+ def datasets(self) -> Sequence['outputs.GetDatasetsDatasetResult']:
45
+ """
46
+ A list of all retrieved BigQuery datasets. Structure is defined below.
47
+ """
48
+ return pulumi.get(self, "datasets")
49
+
50
+ @property
51
+ @pulumi.getter
52
+ def id(self) -> builtins.str:
53
+ """
54
+ The provider-assigned unique ID for this managed resource.
55
+ """
56
+ return pulumi.get(self, "id")
57
+
58
+ @property
59
+ @pulumi.getter
60
+ def project(self) -> Optional[builtins.str]:
61
+ return pulumi.get(self, "project")
62
+
63
+
64
+ class AwaitableGetDatasetsResult(GetDatasetsResult):
65
+ # pylint: disable=using-constant-test
66
+ def __await__(self):
67
+ if False:
68
+ yield self
69
+ return GetDatasetsResult(
70
+ datasets=self.datasets,
71
+ id=self.id,
72
+ project=self.project)
73
+
74
+
75
+ def get_datasets(project: Optional[builtins.str] = None,
76
+ opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetDatasetsResult:
77
+ """
78
+ Get a list of datasets in a GCP project. For more information see
79
+ the [official documentation](https://cloud.google.com/bigquery/docs)
80
+ and [API](https://cloud.google.com/bigquery/docs/reference/rest/v2/datasets/list).
81
+
82
+ ## Example Usage
83
+
84
+ ```python
85
+ import pulumi
86
+ import pulumi_gcp as gcp
87
+
88
+ datasets = gcp.bigquery.get_datasets(project="my-project")
89
+ ```
90
+
91
+
92
+ :param builtins.str project: The ID of the project in which the resource belongs.
93
+ If it is not provided, the provider project is used.
94
+ """
95
+ __args__ = dict()
96
+ __args__['project'] = project
97
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
98
+ __ret__ = pulumi.runtime.invoke('gcp:bigquery/getDatasets:getDatasets', __args__, opts=opts, typ=GetDatasetsResult).value
99
+
100
+ return AwaitableGetDatasetsResult(
101
+ datasets=pulumi.get(__ret__, 'datasets'),
102
+ id=pulumi.get(__ret__, 'id'),
103
+ project=pulumi.get(__ret__, 'project'))
104
+ def get_datasets_output(project: Optional[pulumi.Input[Optional[builtins.str]]] = None,
105
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetDatasetsResult]:
106
+ """
107
+ Get a list of datasets in a GCP project. For more information see
108
+ the [official documentation](https://cloud.google.com/bigquery/docs)
109
+ and [API](https://cloud.google.com/bigquery/docs/reference/rest/v2/datasets/list).
110
+
111
+ ## Example Usage
112
+
113
+ ```python
114
+ import pulumi
115
+ import pulumi_gcp as gcp
116
+
117
+ datasets = gcp.bigquery.get_datasets(project="my-project")
118
+ ```
119
+
120
+
121
+ :param builtins.str project: The ID of the project in which the resource belongs.
122
+ If it is not provided, the provider project is used.
123
+ """
124
+ __args__ = dict()
125
+ __args__['project'] = project
126
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
127
+ __ret__ = pulumi.runtime.invoke_output('gcp:bigquery/getDatasets:getDatasets', __args__, opts=opts, typ=GetDatasetsResult)
128
+ return __ret__.apply(lambda __response__: GetDatasetsResult(
129
+ datasets=pulumi.get(__response__, 'datasets'),
130
+ id=pulumi.get(__response__, 'id'),
131
+ project=pulumi.get(__response__, 'project')))
@@ -115,6 +115,7 @@ __all__ = [
115
115
  'GetDatasetDefaultEncryptionConfigurationResult',
116
116
  'GetDatasetExternalCatalogDatasetOptionResult',
117
117
  'GetDatasetExternalDatasetReferenceResult',
118
+ 'GetDatasetsDatasetResult',
118
119
  'GetTableBiglakeConfigurationResult',
119
120
  'GetTableEncryptionConfigurationResult',
120
121
  'GetTableExternalCatalogTableOptionResult',
@@ -7084,6 +7085,57 @@ class GetDatasetExternalDatasetReferenceResult(dict):
7084
7085
  return pulumi.get(self, "external_source")
7085
7086
 
7086
7087
 
7088
+ @pulumi.output_type
7089
+ class GetDatasetsDatasetResult(dict):
7090
+ def __init__(__self__, *,
7091
+ dataset_id: builtins.str,
7092
+ friendly_name: builtins.str,
7093
+ labels: Mapping[str, builtins.str],
7094
+ location: builtins.str):
7095
+ """
7096
+ :param builtins.str dataset_id: The id of the dataset.
7097
+ :param builtins.str friendly_name: The friendly name of the dataset.
7098
+ :param Mapping[str, builtins.str] labels: User-provided dataset labels, in key/value pairs.
7099
+ :param builtins.str location: The geographic location of the dataset.
7100
+ """
7101
+ pulumi.set(__self__, "dataset_id", dataset_id)
7102
+ pulumi.set(__self__, "friendly_name", friendly_name)
7103
+ pulumi.set(__self__, "labels", labels)
7104
+ pulumi.set(__self__, "location", location)
7105
+
7106
+ @property
7107
+ @pulumi.getter(name="datasetId")
7108
+ def dataset_id(self) -> builtins.str:
7109
+ """
7110
+ The id of the dataset.
7111
+ """
7112
+ return pulumi.get(self, "dataset_id")
7113
+
7114
+ @property
7115
+ @pulumi.getter(name="friendlyName")
7116
+ def friendly_name(self) -> builtins.str:
7117
+ """
7118
+ The friendly name of the dataset.
7119
+ """
7120
+ return pulumi.get(self, "friendly_name")
7121
+
7122
+ @property
7123
+ @pulumi.getter
7124
+ def labels(self) -> Mapping[str, builtins.str]:
7125
+ """
7126
+ User-provided dataset labels, in key/value pairs.
7127
+ """
7128
+ return pulumi.get(self, "labels")
7129
+
7130
+ @property
7131
+ @pulumi.getter
7132
+ def location(self) -> builtins.str:
7133
+ """
7134
+ The geographic location of the dataset.
7135
+ """
7136
+ return pulumi.get(self, "location")
7137
+
7138
+
7087
7139
  @pulumi.output_type
7088
7140
  class GetTableBiglakeConfigurationResult(dict):
7089
7141
  def __init__(__self__, *,