pulumi-gcp 8.19.0a1739290509__py3-none-any.whl → 8.19.1a1739444689__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 (76) hide show
  1. pulumi_gcp/__init__.py +80 -0
  2. pulumi_gcp/_utilities.py +8 -4
  3. pulumi_gcp/accesscontextmanager/_inputs.py +288 -78
  4. pulumi_gcp/accesscontextmanager/outputs.py +186 -54
  5. pulumi_gcp/appengine/_inputs.py +3 -0
  6. pulumi_gcp/appengine/outputs.py +2 -0
  7. pulumi_gcp/beyondcorp/__init__.py +5 -0
  8. pulumi_gcp/beyondcorp/_inputs.py +189 -0
  9. pulumi_gcp/beyondcorp/application.py +604 -0
  10. pulumi_gcp/beyondcorp/application_iam_binding.py +1049 -0
  11. pulumi_gcp/beyondcorp/application_iam_member.py +1049 -0
  12. pulumi_gcp/beyondcorp/application_iam_policy.py +868 -0
  13. pulumi_gcp/beyondcorp/get_application_iam_policy.py +174 -0
  14. pulumi_gcp/beyondcorp/outputs.py +111 -0
  15. pulumi_gcp/bigqueryanalyticshub/__init__.py +1 -0
  16. pulumi_gcp/bigqueryanalyticshub/_inputs.py +318 -0
  17. pulumi_gcp/bigqueryanalyticshub/listing_subscription.py +808 -0
  18. pulumi_gcp/bigqueryanalyticshub/outputs.py +263 -0
  19. pulumi_gcp/certificateauthority/_inputs.py +54 -0
  20. pulumi_gcp/certificateauthority/authority.py +149 -3
  21. pulumi_gcp/certificateauthority/get_authority.py +15 -4
  22. pulumi_gcp/certificateauthority/outputs.py +81 -0
  23. pulumi_gcp/cloudrunv2/_inputs.py +112 -0
  24. pulumi_gcp/cloudrunv2/outputs.py +144 -1
  25. pulumi_gcp/cloudrunv2/service.py +2 -0
  26. pulumi_gcp/colab/__init__.py +2 -0
  27. pulumi_gcp/colab/_inputs.py +655 -0
  28. pulumi_gcp/colab/notebook_execution.py +1259 -0
  29. pulumi_gcp/colab/outputs.py +512 -0
  30. pulumi_gcp/colab/runtime.py +266 -2
  31. pulumi_gcp/colab/runtime_template.py +79 -3
  32. pulumi_gcp/colab/schedule.py +1318 -0
  33. pulumi_gcp/compute/__init__.py +1 -0
  34. pulumi_gcp/compute/_inputs.py +204 -0
  35. pulumi_gcp/compute/firewall_policy.py +54 -43
  36. pulumi_gcp/compute/forwarding_rule.py +103 -0
  37. pulumi_gcp/compute/get_forwarding_rule.py +12 -1
  38. pulumi_gcp/compute/interconnect_attachment.py +12 -0
  39. pulumi_gcp/compute/network_firewall_policy_packet_mirroring_rule.py +1011 -0
  40. pulumi_gcp/compute/outputs.py +187 -0
  41. pulumi_gcp/compute/public_advertised_prefix.py +35 -7
  42. pulumi_gcp/compute/public_delegated_prefix.py +171 -7
  43. pulumi_gcp/compute/region_resize_request.py +21 -22
  44. pulumi_gcp/compute/resize_request.py +22 -23
  45. pulumi_gcp/compute/subnetwork.py +14 -7
  46. pulumi_gcp/container/_inputs.py +54 -1
  47. pulumi_gcp/container/outputs.py +79 -1
  48. pulumi_gcp/datastream/connection_profile.py +120 -46
  49. pulumi_gcp/discoveryengine/chat_engine.py +7 -7
  50. pulumi_gcp/filestore/_inputs.py +222 -0
  51. pulumi_gcp/filestore/get_instance.py +23 -1
  52. pulumi_gcp/filestore/instance.py +86 -0
  53. pulumi_gcp/filestore/outputs.py +282 -0
  54. pulumi_gcp/gemini/__init__.py +2 -0
  55. pulumi_gcp/gemini/logging_setting.py +671 -0
  56. pulumi_gcp/gemini/release_channel_setting.py +639 -0
  57. pulumi_gcp/memorystore/_inputs.py +296 -0
  58. pulumi_gcp/memorystore/instance.py +32 -28
  59. pulumi_gcp/memorystore/outputs.py +224 -0
  60. pulumi_gcp/monitoring/_inputs.py +12 -9
  61. pulumi_gcp/monitoring/outputs.py +8 -6
  62. pulumi_gcp/networkservices/_inputs.py +89 -0
  63. pulumi_gcp/networkservices/outputs.py +75 -0
  64. pulumi_gcp/parametermanager/__init__.py +2 -0
  65. pulumi_gcp/parametermanager/get_parameter_version_render.py +199 -0
  66. pulumi_gcp/parametermanager/get_regional_parameter_version_render.py +220 -0
  67. pulumi_gcp/privilegedaccessmanager/entitlement.py +14 -0
  68. pulumi_gcp/pulumi-plugin.json +1 -1
  69. pulumi_gcp/securesourcemanager/branch_rule.py +4 -0
  70. pulumi_gcp/securesourcemanager/repository.py +4 -0
  71. pulumi_gcp/storage/bucket_object.py +8 -0
  72. pulumi_gcp/workbench/instance.py +70 -2
  73. {pulumi_gcp-8.19.0a1739290509.dist-info → pulumi_gcp-8.19.1a1739444689.dist-info}/METADATA +1 -1
  74. {pulumi_gcp-8.19.0a1739290509.dist-info → pulumi_gcp-8.19.1a1739444689.dist-info}/RECORD +76 -63
  75. {pulumi_gcp-8.19.0a1739290509.dist-info → pulumi_gcp-8.19.1a1739444689.dist-info}/WHEEL +0 -0
  76. {pulumi_gcp-8.19.0a1739290509.dist-info → pulumi_gcp-8.19.1a1739444689.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,808 @@
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
+ from ._inputs import *
18
+
19
+ __all__ = ['ListingSubscriptionArgs', 'ListingSubscription']
20
+
21
+ @pulumi.input_type
22
+ class ListingSubscriptionArgs:
23
+ def __init__(__self__, *,
24
+ data_exchange_id: pulumi.Input[str],
25
+ destination_dataset: pulumi.Input['ListingSubscriptionDestinationDatasetArgs'],
26
+ listing_id: pulumi.Input[str],
27
+ location: pulumi.Input[str],
28
+ project: Optional[pulumi.Input[str]] = None):
29
+ """
30
+ The set of arguments for constructing a ListingSubscription resource.
31
+ :param pulumi.Input[str] data_exchange_id: The ID of the data exchange. Must contain only Unicode letters, numbers (0-9), underscores (_). Should not use characters that require URL-escaping, or characters outside of ASCII, spaces.
32
+ :param pulumi.Input['ListingSubscriptionDestinationDatasetArgs'] destination_dataset: The destination dataset for this subscription.
33
+ Structure is documented below.
34
+ :param pulumi.Input[str] listing_id: The ID of the listing. Must contain only Unicode letters, numbers (0-9), underscores (_). Should not use characters that require URL-escaping, or characters outside of ASCII, spaces.
35
+ :param pulumi.Input[str] location: The name of the location for this subscription.
36
+ """
37
+ pulumi.set(__self__, "data_exchange_id", data_exchange_id)
38
+ pulumi.set(__self__, "destination_dataset", destination_dataset)
39
+ pulumi.set(__self__, "listing_id", listing_id)
40
+ pulumi.set(__self__, "location", location)
41
+ if project is not None:
42
+ pulumi.set(__self__, "project", project)
43
+
44
+ @property
45
+ @pulumi.getter(name="dataExchangeId")
46
+ def data_exchange_id(self) -> pulumi.Input[str]:
47
+ """
48
+ The ID of the data exchange. Must contain only Unicode letters, numbers (0-9), underscores (_). Should not use characters that require URL-escaping, or characters outside of ASCII, spaces.
49
+ """
50
+ return pulumi.get(self, "data_exchange_id")
51
+
52
+ @data_exchange_id.setter
53
+ def data_exchange_id(self, value: pulumi.Input[str]):
54
+ pulumi.set(self, "data_exchange_id", value)
55
+
56
+ @property
57
+ @pulumi.getter(name="destinationDataset")
58
+ def destination_dataset(self) -> pulumi.Input['ListingSubscriptionDestinationDatasetArgs']:
59
+ """
60
+ The destination dataset for this subscription.
61
+ Structure is documented below.
62
+ """
63
+ return pulumi.get(self, "destination_dataset")
64
+
65
+ @destination_dataset.setter
66
+ def destination_dataset(self, value: pulumi.Input['ListingSubscriptionDestinationDatasetArgs']):
67
+ pulumi.set(self, "destination_dataset", value)
68
+
69
+ @property
70
+ @pulumi.getter(name="listingId")
71
+ def listing_id(self) -> pulumi.Input[str]:
72
+ """
73
+ The ID of the listing. Must contain only Unicode letters, numbers (0-9), underscores (_). Should not use characters that require URL-escaping, or characters outside of ASCII, spaces.
74
+ """
75
+ return pulumi.get(self, "listing_id")
76
+
77
+ @listing_id.setter
78
+ def listing_id(self, value: pulumi.Input[str]):
79
+ pulumi.set(self, "listing_id", value)
80
+
81
+ @property
82
+ @pulumi.getter
83
+ def location(self) -> pulumi.Input[str]:
84
+ """
85
+ The name of the location for this subscription.
86
+ """
87
+ return pulumi.get(self, "location")
88
+
89
+ @location.setter
90
+ def location(self, value: pulumi.Input[str]):
91
+ pulumi.set(self, "location", value)
92
+
93
+ @property
94
+ @pulumi.getter
95
+ def project(self) -> Optional[pulumi.Input[str]]:
96
+ return pulumi.get(self, "project")
97
+
98
+ @project.setter
99
+ def project(self, value: Optional[pulumi.Input[str]]):
100
+ pulumi.set(self, "project", value)
101
+
102
+
103
+ @pulumi.input_type
104
+ class _ListingSubscriptionState:
105
+ def __init__(__self__, *,
106
+ creation_time: Optional[pulumi.Input[str]] = None,
107
+ data_exchange_id: Optional[pulumi.Input[str]] = None,
108
+ destination_dataset: Optional[pulumi.Input['ListingSubscriptionDestinationDatasetArgs']] = None,
109
+ last_modify_time: Optional[pulumi.Input[str]] = None,
110
+ linked_dataset_maps: Optional[pulumi.Input[Sequence[pulumi.Input['ListingSubscriptionLinkedDatasetMapArgs']]]] = None,
111
+ linked_resources: Optional[pulumi.Input[Sequence[pulumi.Input['ListingSubscriptionLinkedResourceArgs']]]] = None,
112
+ listing_id: Optional[pulumi.Input[str]] = None,
113
+ location: Optional[pulumi.Input[str]] = None,
114
+ name: Optional[pulumi.Input[str]] = None,
115
+ organization_display_name: Optional[pulumi.Input[str]] = None,
116
+ organization_id: Optional[pulumi.Input[str]] = None,
117
+ project: Optional[pulumi.Input[str]] = None,
118
+ resource_type: Optional[pulumi.Input[str]] = None,
119
+ state: Optional[pulumi.Input[str]] = None,
120
+ subscriber_contact: Optional[pulumi.Input[str]] = None,
121
+ subscription_id: Optional[pulumi.Input[str]] = None):
122
+ """
123
+ Input properties used for looking up and filtering ListingSubscription resources.
124
+ :param pulumi.Input[str] creation_time: Timestamp when the subscription was created.
125
+ :param pulumi.Input[str] data_exchange_id: The ID of the data exchange. Must contain only Unicode letters, numbers (0-9), underscores (_). Should not use characters that require URL-escaping, or characters outside of ASCII, spaces.
126
+ :param pulumi.Input['ListingSubscriptionDestinationDatasetArgs'] destination_dataset: The destination dataset for this subscription.
127
+ Structure is documented below.
128
+ :param pulumi.Input[str] last_modify_time: Timestamp when the subscription was last modified.
129
+ :param pulumi.Input[Sequence[pulumi.Input['ListingSubscriptionLinkedDatasetMapArgs']]] linked_dataset_maps: Output only. Map of listing resource names to associated linked resource,
130
+ e.g. projects/123/locations/US/dataExchanges/456/listings/789 > projects/123/datasets/my_dataset
131
+ Structure is documented below.
132
+ :param pulumi.Input[Sequence[pulumi.Input['ListingSubscriptionLinkedResourceArgs']]] linked_resources: Output only. Linked resources created in the subscription. Only contains values if state = STATE_ACTIVE.
133
+ Structure is documented below.
134
+ :param pulumi.Input[str] listing_id: The ID of the listing. Must contain only Unicode letters, numbers (0-9), underscores (_). Should not use characters that require URL-escaping, or characters outside of ASCII, spaces.
135
+ :param pulumi.Input[str] location: The name of the location for this subscription.
136
+ :param pulumi.Input[str] name: The resource name of the subscription. e.g. "projects/myproject/locations/US/subscriptions/123"
137
+ :param pulumi.Input[str] organization_display_name: Display name of the project of this subscription.
138
+ :param pulumi.Input[str] organization_id: Organization of the project this subscription belongs to.
139
+ :param pulumi.Input[str] resource_type: Listing shared asset type.
140
+ :param pulumi.Input[str] state: Current state of the subscription.
141
+ :param pulumi.Input[str] subscriber_contact: Email of the subscriber.
142
+ :param pulumi.Input[str] subscription_id: The subscription id used to reference the subscription.
143
+ """
144
+ if creation_time is not None:
145
+ pulumi.set(__self__, "creation_time", creation_time)
146
+ if data_exchange_id is not None:
147
+ pulumi.set(__self__, "data_exchange_id", data_exchange_id)
148
+ if destination_dataset is not None:
149
+ pulumi.set(__self__, "destination_dataset", destination_dataset)
150
+ if last_modify_time is not None:
151
+ pulumi.set(__self__, "last_modify_time", last_modify_time)
152
+ if linked_dataset_maps is not None:
153
+ pulumi.set(__self__, "linked_dataset_maps", linked_dataset_maps)
154
+ if linked_resources is not None:
155
+ pulumi.set(__self__, "linked_resources", linked_resources)
156
+ if listing_id is not None:
157
+ pulumi.set(__self__, "listing_id", listing_id)
158
+ if location is not None:
159
+ pulumi.set(__self__, "location", location)
160
+ if name is not None:
161
+ pulumi.set(__self__, "name", name)
162
+ if organization_display_name is not None:
163
+ pulumi.set(__self__, "organization_display_name", organization_display_name)
164
+ if organization_id is not None:
165
+ pulumi.set(__self__, "organization_id", organization_id)
166
+ if project is not None:
167
+ pulumi.set(__self__, "project", project)
168
+ if resource_type is not None:
169
+ pulumi.set(__self__, "resource_type", resource_type)
170
+ if state is not None:
171
+ pulumi.set(__self__, "state", state)
172
+ if subscriber_contact is not None:
173
+ pulumi.set(__self__, "subscriber_contact", subscriber_contact)
174
+ if subscription_id is not None:
175
+ pulumi.set(__self__, "subscription_id", subscription_id)
176
+
177
+ @property
178
+ @pulumi.getter(name="creationTime")
179
+ def creation_time(self) -> Optional[pulumi.Input[str]]:
180
+ """
181
+ Timestamp when the subscription was created.
182
+ """
183
+ return pulumi.get(self, "creation_time")
184
+
185
+ @creation_time.setter
186
+ def creation_time(self, value: Optional[pulumi.Input[str]]):
187
+ pulumi.set(self, "creation_time", value)
188
+
189
+ @property
190
+ @pulumi.getter(name="dataExchangeId")
191
+ def data_exchange_id(self) -> Optional[pulumi.Input[str]]:
192
+ """
193
+ The ID of the data exchange. Must contain only Unicode letters, numbers (0-9), underscores (_). Should not use characters that require URL-escaping, or characters outside of ASCII, spaces.
194
+ """
195
+ return pulumi.get(self, "data_exchange_id")
196
+
197
+ @data_exchange_id.setter
198
+ def data_exchange_id(self, value: Optional[pulumi.Input[str]]):
199
+ pulumi.set(self, "data_exchange_id", value)
200
+
201
+ @property
202
+ @pulumi.getter(name="destinationDataset")
203
+ def destination_dataset(self) -> Optional[pulumi.Input['ListingSubscriptionDestinationDatasetArgs']]:
204
+ """
205
+ The destination dataset for this subscription.
206
+ Structure is documented below.
207
+ """
208
+ return pulumi.get(self, "destination_dataset")
209
+
210
+ @destination_dataset.setter
211
+ def destination_dataset(self, value: Optional[pulumi.Input['ListingSubscriptionDestinationDatasetArgs']]):
212
+ pulumi.set(self, "destination_dataset", value)
213
+
214
+ @property
215
+ @pulumi.getter(name="lastModifyTime")
216
+ def last_modify_time(self) -> Optional[pulumi.Input[str]]:
217
+ """
218
+ Timestamp when the subscription was last modified.
219
+ """
220
+ return pulumi.get(self, "last_modify_time")
221
+
222
+ @last_modify_time.setter
223
+ def last_modify_time(self, value: Optional[pulumi.Input[str]]):
224
+ pulumi.set(self, "last_modify_time", value)
225
+
226
+ @property
227
+ @pulumi.getter(name="linkedDatasetMaps")
228
+ def linked_dataset_maps(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ListingSubscriptionLinkedDatasetMapArgs']]]]:
229
+ """
230
+ Output only. Map of listing resource names to associated linked resource,
231
+ e.g. projects/123/locations/US/dataExchanges/456/listings/789 > projects/123/datasets/my_dataset
232
+ Structure is documented below.
233
+ """
234
+ return pulumi.get(self, "linked_dataset_maps")
235
+
236
+ @linked_dataset_maps.setter
237
+ def linked_dataset_maps(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ListingSubscriptionLinkedDatasetMapArgs']]]]):
238
+ pulumi.set(self, "linked_dataset_maps", value)
239
+
240
+ @property
241
+ @pulumi.getter(name="linkedResources")
242
+ def linked_resources(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ListingSubscriptionLinkedResourceArgs']]]]:
243
+ """
244
+ Output only. Linked resources created in the subscription. Only contains values if state = STATE_ACTIVE.
245
+ Structure is documented below.
246
+ """
247
+ return pulumi.get(self, "linked_resources")
248
+
249
+ @linked_resources.setter
250
+ def linked_resources(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ListingSubscriptionLinkedResourceArgs']]]]):
251
+ pulumi.set(self, "linked_resources", value)
252
+
253
+ @property
254
+ @pulumi.getter(name="listingId")
255
+ def listing_id(self) -> Optional[pulumi.Input[str]]:
256
+ """
257
+ The ID of the listing. Must contain only Unicode letters, numbers (0-9), underscores (_). Should not use characters that require URL-escaping, or characters outside of ASCII, spaces.
258
+ """
259
+ return pulumi.get(self, "listing_id")
260
+
261
+ @listing_id.setter
262
+ def listing_id(self, value: Optional[pulumi.Input[str]]):
263
+ pulumi.set(self, "listing_id", value)
264
+
265
+ @property
266
+ @pulumi.getter
267
+ def location(self) -> Optional[pulumi.Input[str]]:
268
+ """
269
+ The name of the location for this subscription.
270
+ """
271
+ return pulumi.get(self, "location")
272
+
273
+ @location.setter
274
+ def location(self, value: Optional[pulumi.Input[str]]):
275
+ pulumi.set(self, "location", value)
276
+
277
+ @property
278
+ @pulumi.getter
279
+ def name(self) -> Optional[pulumi.Input[str]]:
280
+ """
281
+ The resource name of the subscription. e.g. "projects/myproject/locations/US/subscriptions/123"
282
+ """
283
+ return pulumi.get(self, "name")
284
+
285
+ @name.setter
286
+ def name(self, value: Optional[pulumi.Input[str]]):
287
+ pulumi.set(self, "name", value)
288
+
289
+ @property
290
+ @pulumi.getter(name="organizationDisplayName")
291
+ def organization_display_name(self) -> Optional[pulumi.Input[str]]:
292
+ """
293
+ Display name of the project of this subscription.
294
+ """
295
+ return pulumi.get(self, "organization_display_name")
296
+
297
+ @organization_display_name.setter
298
+ def organization_display_name(self, value: Optional[pulumi.Input[str]]):
299
+ pulumi.set(self, "organization_display_name", value)
300
+
301
+ @property
302
+ @pulumi.getter(name="organizationId")
303
+ def organization_id(self) -> Optional[pulumi.Input[str]]:
304
+ """
305
+ Organization of the project this subscription belongs to.
306
+ """
307
+ return pulumi.get(self, "organization_id")
308
+
309
+ @organization_id.setter
310
+ def organization_id(self, value: Optional[pulumi.Input[str]]):
311
+ pulumi.set(self, "organization_id", value)
312
+
313
+ @property
314
+ @pulumi.getter
315
+ def project(self) -> Optional[pulumi.Input[str]]:
316
+ return pulumi.get(self, "project")
317
+
318
+ @project.setter
319
+ def project(self, value: Optional[pulumi.Input[str]]):
320
+ pulumi.set(self, "project", value)
321
+
322
+ @property
323
+ @pulumi.getter(name="resourceType")
324
+ def resource_type(self) -> Optional[pulumi.Input[str]]:
325
+ """
326
+ Listing shared asset type.
327
+ """
328
+ return pulumi.get(self, "resource_type")
329
+
330
+ @resource_type.setter
331
+ def resource_type(self, value: Optional[pulumi.Input[str]]):
332
+ pulumi.set(self, "resource_type", value)
333
+
334
+ @property
335
+ @pulumi.getter
336
+ def state(self) -> Optional[pulumi.Input[str]]:
337
+ """
338
+ Current state of the subscription.
339
+ """
340
+ return pulumi.get(self, "state")
341
+
342
+ @state.setter
343
+ def state(self, value: Optional[pulumi.Input[str]]):
344
+ pulumi.set(self, "state", value)
345
+
346
+ @property
347
+ @pulumi.getter(name="subscriberContact")
348
+ def subscriber_contact(self) -> Optional[pulumi.Input[str]]:
349
+ """
350
+ Email of the subscriber.
351
+ """
352
+ return pulumi.get(self, "subscriber_contact")
353
+
354
+ @subscriber_contact.setter
355
+ def subscriber_contact(self, value: Optional[pulumi.Input[str]]):
356
+ pulumi.set(self, "subscriber_contact", value)
357
+
358
+ @property
359
+ @pulumi.getter(name="subscriptionId")
360
+ def subscription_id(self) -> Optional[pulumi.Input[str]]:
361
+ """
362
+ The subscription id used to reference the subscription.
363
+ """
364
+ return pulumi.get(self, "subscription_id")
365
+
366
+ @subscription_id.setter
367
+ def subscription_id(self, value: Optional[pulumi.Input[str]]):
368
+ pulumi.set(self, "subscription_id", value)
369
+
370
+
371
+ class ListingSubscription(pulumi.CustomResource):
372
+ @overload
373
+ def __init__(__self__,
374
+ resource_name: str,
375
+ opts: Optional[pulumi.ResourceOptions] = None,
376
+ data_exchange_id: Optional[pulumi.Input[str]] = None,
377
+ destination_dataset: Optional[pulumi.Input[Union['ListingSubscriptionDestinationDatasetArgs', 'ListingSubscriptionDestinationDatasetArgsDict']]] = None,
378
+ listing_id: Optional[pulumi.Input[str]] = None,
379
+ location: Optional[pulumi.Input[str]] = None,
380
+ project: Optional[pulumi.Input[str]] = None,
381
+ __props__=None):
382
+ """
383
+ A Bigquery Analytics Hub listing subscription
384
+
385
+ To get more information about ListingSubscription, see:
386
+
387
+ * [API documentation](https://cloud.google.com/bigquery/docs/reference/analytics-hub/rest/v1/projects.locations.subscriptions)
388
+ * How-to Guides
389
+ * [Official Documentation](https://cloud.google.com/bigquery/docs/analytics-hub-introduction)
390
+
391
+ ## Example Usage
392
+
393
+ ### Bigquery Analyticshub Listing Subscription Basic
394
+
395
+ ```python
396
+ import pulumi
397
+ import pulumi_gcp as gcp
398
+
399
+ subscription = gcp.bigqueryanalyticshub.DataExchange("subscription",
400
+ location="US",
401
+ data_exchange_id="my_data_exchange",
402
+ display_name="my_data_exchange",
403
+ description="")
404
+ subscription_dataset = gcp.bigquery.Dataset("subscription",
405
+ dataset_id="my_listing",
406
+ friendly_name="my_listing",
407
+ description="",
408
+ location="US")
409
+ subscription_listing = gcp.bigqueryanalyticshub.Listing("subscription",
410
+ location="US",
411
+ data_exchange_id=subscription.data_exchange_id,
412
+ listing_id="my_listing",
413
+ display_name="my_listing",
414
+ description="",
415
+ bigquery_dataset={
416
+ "dataset": subscription_dataset.id,
417
+ })
418
+ subscription_listing_subscription = gcp.bigqueryanalyticshub.ListingSubscription("subscription",
419
+ location="US",
420
+ data_exchange_id=subscription.data_exchange_id,
421
+ listing_id=subscription_listing.listing_id,
422
+ destination_dataset={
423
+ "description": "A test subscription",
424
+ "friendly_name": "👋",
425
+ "labels": {
426
+ "testing": "123",
427
+ },
428
+ "location": "US",
429
+ "dataset_reference": {
430
+ "dataset_id": "destination_dataset",
431
+ "project_id": subscription_dataset.project,
432
+ },
433
+ })
434
+ ```
435
+
436
+ ## Import
437
+
438
+ ListingSubscription can be imported using any of these accepted formats:
439
+
440
+ * `projects/{{project}}/locations/{{location}}/subscriptions/{{subscription_id}}`
441
+
442
+ * `{{project}}/{{location}}/{{subscription_id}}`
443
+
444
+ * `{{location}}/{{subscription_id}}`
445
+
446
+ When using the `pulumi import` command, ListingSubscription can be imported using one of the formats above. For example:
447
+
448
+ ```sh
449
+ $ pulumi import gcp:bigqueryanalyticshub/listingSubscription:ListingSubscription default projects/{{project}}/locations/{{location}}/subscriptions/{{subscription_id}}
450
+ ```
451
+
452
+ ```sh
453
+ $ pulumi import gcp:bigqueryanalyticshub/listingSubscription:ListingSubscription default {{project}}/{{location}}/{{subscription_id}}
454
+ ```
455
+
456
+ ```sh
457
+ $ pulumi import gcp:bigqueryanalyticshub/listingSubscription:ListingSubscription default {{location}}/{{subscription_id}}
458
+ ```
459
+
460
+ :param str resource_name: The name of the resource.
461
+ :param pulumi.ResourceOptions opts: Options for the resource.
462
+ :param pulumi.Input[str] data_exchange_id: The ID of the data exchange. Must contain only Unicode letters, numbers (0-9), underscores (_). Should not use characters that require URL-escaping, or characters outside of ASCII, spaces.
463
+ :param pulumi.Input[Union['ListingSubscriptionDestinationDatasetArgs', 'ListingSubscriptionDestinationDatasetArgsDict']] destination_dataset: The destination dataset for this subscription.
464
+ Structure is documented below.
465
+ :param pulumi.Input[str] listing_id: The ID of the listing. Must contain only Unicode letters, numbers (0-9), underscores (_). Should not use characters that require URL-escaping, or characters outside of ASCII, spaces.
466
+ :param pulumi.Input[str] location: The name of the location for this subscription.
467
+ """
468
+ ...
469
+ @overload
470
+ def __init__(__self__,
471
+ resource_name: str,
472
+ args: ListingSubscriptionArgs,
473
+ opts: Optional[pulumi.ResourceOptions] = None):
474
+ """
475
+ A Bigquery Analytics Hub listing subscription
476
+
477
+ To get more information about ListingSubscription, see:
478
+
479
+ * [API documentation](https://cloud.google.com/bigquery/docs/reference/analytics-hub/rest/v1/projects.locations.subscriptions)
480
+ * How-to Guides
481
+ * [Official Documentation](https://cloud.google.com/bigquery/docs/analytics-hub-introduction)
482
+
483
+ ## Example Usage
484
+
485
+ ### Bigquery Analyticshub Listing Subscription Basic
486
+
487
+ ```python
488
+ import pulumi
489
+ import pulumi_gcp as gcp
490
+
491
+ subscription = gcp.bigqueryanalyticshub.DataExchange("subscription",
492
+ location="US",
493
+ data_exchange_id="my_data_exchange",
494
+ display_name="my_data_exchange",
495
+ description="")
496
+ subscription_dataset = gcp.bigquery.Dataset("subscription",
497
+ dataset_id="my_listing",
498
+ friendly_name="my_listing",
499
+ description="",
500
+ location="US")
501
+ subscription_listing = gcp.bigqueryanalyticshub.Listing("subscription",
502
+ location="US",
503
+ data_exchange_id=subscription.data_exchange_id,
504
+ listing_id="my_listing",
505
+ display_name="my_listing",
506
+ description="",
507
+ bigquery_dataset={
508
+ "dataset": subscription_dataset.id,
509
+ })
510
+ subscription_listing_subscription = gcp.bigqueryanalyticshub.ListingSubscription("subscription",
511
+ location="US",
512
+ data_exchange_id=subscription.data_exchange_id,
513
+ listing_id=subscription_listing.listing_id,
514
+ destination_dataset={
515
+ "description": "A test subscription",
516
+ "friendly_name": "👋",
517
+ "labels": {
518
+ "testing": "123",
519
+ },
520
+ "location": "US",
521
+ "dataset_reference": {
522
+ "dataset_id": "destination_dataset",
523
+ "project_id": subscription_dataset.project,
524
+ },
525
+ })
526
+ ```
527
+
528
+ ## Import
529
+
530
+ ListingSubscription can be imported using any of these accepted formats:
531
+
532
+ * `projects/{{project}}/locations/{{location}}/subscriptions/{{subscription_id}}`
533
+
534
+ * `{{project}}/{{location}}/{{subscription_id}}`
535
+
536
+ * `{{location}}/{{subscription_id}}`
537
+
538
+ When using the `pulumi import` command, ListingSubscription can be imported using one of the formats above. For example:
539
+
540
+ ```sh
541
+ $ pulumi import gcp:bigqueryanalyticshub/listingSubscription:ListingSubscription default projects/{{project}}/locations/{{location}}/subscriptions/{{subscription_id}}
542
+ ```
543
+
544
+ ```sh
545
+ $ pulumi import gcp:bigqueryanalyticshub/listingSubscription:ListingSubscription default {{project}}/{{location}}/{{subscription_id}}
546
+ ```
547
+
548
+ ```sh
549
+ $ pulumi import gcp:bigqueryanalyticshub/listingSubscription:ListingSubscription default {{location}}/{{subscription_id}}
550
+ ```
551
+
552
+ :param str resource_name: The name of the resource.
553
+ :param ListingSubscriptionArgs args: The arguments to use to populate this resource's properties.
554
+ :param pulumi.ResourceOptions opts: Options for the resource.
555
+ """
556
+ ...
557
+ def __init__(__self__, resource_name: str, *args, **kwargs):
558
+ resource_args, opts = _utilities.get_resource_args_opts(ListingSubscriptionArgs, pulumi.ResourceOptions, *args, **kwargs)
559
+ if resource_args is not None:
560
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
561
+ else:
562
+ __self__._internal_init(resource_name, *args, **kwargs)
563
+
564
+ def _internal_init(__self__,
565
+ resource_name: str,
566
+ opts: Optional[pulumi.ResourceOptions] = None,
567
+ data_exchange_id: Optional[pulumi.Input[str]] = None,
568
+ destination_dataset: Optional[pulumi.Input[Union['ListingSubscriptionDestinationDatasetArgs', 'ListingSubscriptionDestinationDatasetArgsDict']]] = None,
569
+ listing_id: Optional[pulumi.Input[str]] = None,
570
+ location: Optional[pulumi.Input[str]] = None,
571
+ project: Optional[pulumi.Input[str]] = None,
572
+ __props__=None):
573
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
574
+ if not isinstance(opts, pulumi.ResourceOptions):
575
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
576
+ if opts.id is None:
577
+ if __props__ is not None:
578
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
579
+ __props__ = ListingSubscriptionArgs.__new__(ListingSubscriptionArgs)
580
+
581
+ if data_exchange_id is None and not opts.urn:
582
+ raise TypeError("Missing required property 'data_exchange_id'")
583
+ __props__.__dict__["data_exchange_id"] = data_exchange_id
584
+ if destination_dataset is None and not opts.urn:
585
+ raise TypeError("Missing required property 'destination_dataset'")
586
+ __props__.__dict__["destination_dataset"] = destination_dataset
587
+ if listing_id is None and not opts.urn:
588
+ raise TypeError("Missing required property 'listing_id'")
589
+ __props__.__dict__["listing_id"] = listing_id
590
+ if location is None and not opts.urn:
591
+ raise TypeError("Missing required property 'location'")
592
+ __props__.__dict__["location"] = location
593
+ __props__.__dict__["project"] = project
594
+ __props__.__dict__["creation_time"] = None
595
+ __props__.__dict__["last_modify_time"] = None
596
+ __props__.__dict__["linked_dataset_maps"] = None
597
+ __props__.__dict__["linked_resources"] = None
598
+ __props__.__dict__["name"] = None
599
+ __props__.__dict__["organization_display_name"] = None
600
+ __props__.__dict__["organization_id"] = None
601
+ __props__.__dict__["resource_type"] = None
602
+ __props__.__dict__["state"] = None
603
+ __props__.__dict__["subscriber_contact"] = None
604
+ __props__.__dict__["subscription_id"] = None
605
+ super(ListingSubscription, __self__).__init__(
606
+ 'gcp:bigqueryanalyticshub/listingSubscription:ListingSubscription',
607
+ resource_name,
608
+ __props__,
609
+ opts)
610
+
611
+ @staticmethod
612
+ def get(resource_name: str,
613
+ id: pulumi.Input[str],
614
+ opts: Optional[pulumi.ResourceOptions] = None,
615
+ creation_time: Optional[pulumi.Input[str]] = None,
616
+ data_exchange_id: Optional[pulumi.Input[str]] = None,
617
+ destination_dataset: Optional[pulumi.Input[Union['ListingSubscriptionDestinationDatasetArgs', 'ListingSubscriptionDestinationDatasetArgsDict']]] = None,
618
+ last_modify_time: Optional[pulumi.Input[str]] = None,
619
+ linked_dataset_maps: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ListingSubscriptionLinkedDatasetMapArgs', 'ListingSubscriptionLinkedDatasetMapArgsDict']]]]] = None,
620
+ linked_resources: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ListingSubscriptionLinkedResourceArgs', 'ListingSubscriptionLinkedResourceArgsDict']]]]] = None,
621
+ listing_id: Optional[pulumi.Input[str]] = None,
622
+ location: Optional[pulumi.Input[str]] = None,
623
+ name: Optional[pulumi.Input[str]] = None,
624
+ organization_display_name: Optional[pulumi.Input[str]] = None,
625
+ organization_id: Optional[pulumi.Input[str]] = None,
626
+ project: Optional[pulumi.Input[str]] = None,
627
+ resource_type: Optional[pulumi.Input[str]] = None,
628
+ state: Optional[pulumi.Input[str]] = None,
629
+ subscriber_contact: Optional[pulumi.Input[str]] = None,
630
+ subscription_id: Optional[pulumi.Input[str]] = None) -> 'ListingSubscription':
631
+ """
632
+ Get an existing ListingSubscription resource's state with the given name, id, and optional extra
633
+ properties used to qualify the lookup.
634
+
635
+ :param str resource_name: The unique name of the resulting resource.
636
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
637
+ :param pulumi.ResourceOptions opts: Options for the resource.
638
+ :param pulumi.Input[str] creation_time: Timestamp when the subscription was created.
639
+ :param pulumi.Input[str] data_exchange_id: The ID of the data exchange. Must contain only Unicode letters, numbers (0-9), underscores (_). Should not use characters that require URL-escaping, or characters outside of ASCII, spaces.
640
+ :param pulumi.Input[Union['ListingSubscriptionDestinationDatasetArgs', 'ListingSubscriptionDestinationDatasetArgsDict']] destination_dataset: The destination dataset for this subscription.
641
+ Structure is documented below.
642
+ :param pulumi.Input[str] last_modify_time: Timestamp when the subscription was last modified.
643
+ :param pulumi.Input[Sequence[pulumi.Input[Union['ListingSubscriptionLinkedDatasetMapArgs', 'ListingSubscriptionLinkedDatasetMapArgsDict']]]] linked_dataset_maps: Output only. Map of listing resource names to associated linked resource,
644
+ e.g. projects/123/locations/US/dataExchanges/456/listings/789 > projects/123/datasets/my_dataset
645
+ Structure is documented below.
646
+ :param pulumi.Input[Sequence[pulumi.Input[Union['ListingSubscriptionLinkedResourceArgs', 'ListingSubscriptionLinkedResourceArgsDict']]]] linked_resources: Output only. Linked resources created in the subscription. Only contains values if state = STATE_ACTIVE.
647
+ Structure is documented below.
648
+ :param pulumi.Input[str] listing_id: The ID of the listing. Must contain only Unicode letters, numbers (0-9), underscores (_). Should not use characters that require URL-escaping, or characters outside of ASCII, spaces.
649
+ :param pulumi.Input[str] location: The name of the location for this subscription.
650
+ :param pulumi.Input[str] name: The resource name of the subscription. e.g. "projects/myproject/locations/US/subscriptions/123"
651
+ :param pulumi.Input[str] organization_display_name: Display name of the project of this subscription.
652
+ :param pulumi.Input[str] organization_id: Organization of the project this subscription belongs to.
653
+ :param pulumi.Input[str] resource_type: Listing shared asset type.
654
+ :param pulumi.Input[str] state: Current state of the subscription.
655
+ :param pulumi.Input[str] subscriber_contact: Email of the subscriber.
656
+ :param pulumi.Input[str] subscription_id: The subscription id used to reference the subscription.
657
+ """
658
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
659
+
660
+ __props__ = _ListingSubscriptionState.__new__(_ListingSubscriptionState)
661
+
662
+ __props__.__dict__["creation_time"] = creation_time
663
+ __props__.__dict__["data_exchange_id"] = data_exchange_id
664
+ __props__.__dict__["destination_dataset"] = destination_dataset
665
+ __props__.__dict__["last_modify_time"] = last_modify_time
666
+ __props__.__dict__["linked_dataset_maps"] = linked_dataset_maps
667
+ __props__.__dict__["linked_resources"] = linked_resources
668
+ __props__.__dict__["listing_id"] = listing_id
669
+ __props__.__dict__["location"] = location
670
+ __props__.__dict__["name"] = name
671
+ __props__.__dict__["organization_display_name"] = organization_display_name
672
+ __props__.__dict__["organization_id"] = organization_id
673
+ __props__.__dict__["project"] = project
674
+ __props__.__dict__["resource_type"] = resource_type
675
+ __props__.__dict__["state"] = state
676
+ __props__.__dict__["subscriber_contact"] = subscriber_contact
677
+ __props__.__dict__["subscription_id"] = subscription_id
678
+ return ListingSubscription(resource_name, opts=opts, __props__=__props__)
679
+
680
+ @property
681
+ @pulumi.getter(name="creationTime")
682
+ def creation_time(self) -> pulumi.Output[str]:
683
+ """
684
+ Timestamp when the subscription was created.
685
+ """
686
+ return pulumi.get(self, "creation_time")
687
+
688
+ @property
689
+ @pulumi.getter(name="dataExchangeId")
690
+ def data_exchange_id(self) -> pulumi.Output[str]:
691
+ """
692
+ The ID of the data exchange. Must contain only Unicode letters, numbers (0-9), underscores (_). Should not use characters that require URL-escaping, or characters outside of ASCII, spaces.
693
+ """
694
+ return pulumi.get(self, "data_exchange_id")
695
+
696
+ @property
697
+ @pulumi.getter(name="destinationDataset")
698
+ def destination_dataset(self) -> pulumi.Output['outputs.ListingSubscriptionDestinationDataset']:
699
+ """
700
+ The destination dataset for this subscription.
701
+ Structure is documented below.
702
+ """
703
+ return pulumi.get(self, "destination_dataset")
704
+
705
+ @property
706
+ @pulumi.getter(name="lastModifyTime")
707
+ def last_modify_time(self) -> pulumi.Output[str]:
708
+ """
709
+ Timestamp when the subscription was last modified.
710
+ """
711
+ return pulumi.get(self, "last_modify_time")
712
+
713
+ @property
714
+ @pulumi.getter(name="linkedDatasetMaps")
715
+ def linked_dataset_maps(self) -> pulumi.Output[Sequence['outputs.ListingSubscriptionLinkedDatasetMap']]:
716
+ """
717
+ Output only. Map of listing resource names to associated linked resource,
718
+ e.g. projects/123/locations/US/dataExchanges/456/listings/789 > projects/123/datasets/my_dataset
719
+ Structure is documented below.
720
+ """
721
+ return pulumi.get(self, "linked_dataset_maps")
722
+
723
+ @property
724
+ @pulumi.getter(name="linkedResources")
725
+ def linked_resources(self) -> pulumi.Output[Sequence['outputs.ListingSubscriptionLinkedResource']]:
726
+ """
727
+ Output only. Linked resources created in the subscription. Only contains values if state = STATE_ACTIVE.
728
+ Structure is documented below.
729
+ """
730
+ return pulumi.get(self, "linked_resources")
731
+
732
+ @property
733
+ @pulumi.getter(name="listingId")
734
+ def listing_id(self) -> pulumi.Output[str]:
735
+ """
736
+ The ID of the listing. Must contain only Unicode letters, numbers (0-9), underscores (_). Should not use characters that require URL-escaping, or characters outside of ASCII, spaces.
737
+ """
738
+ return pulumi.get(self, "listing_id")
739
+
740
+ @property
741
+ @pulumi.getter
742
+ def location(self) -> pulumi.Output[str]:
743
+ """
744
+ The name of the location for this subscription.
745
+ """
746
+ return pulumi.get(self, "location")
747
+
748
+ @property
749
+ @pulumi.getter
750
+ def name(self) -> pulumi.Output[str]:
751
+ """
752
+ The resource name of the subscription. e.g. "projects/myproject/locations/US/subscriptions/123"
753
+ """
754
+ return pulumi.get(self, "name")
755
+
756
+ @property
757
+ @pulumi.getter(name="organizationDisplayName")
758
+ def organization_display_name(self) -> pulumi.Output[str]:
759
+ """
760
+ Display name of the project of this subscription.
761
+ """
762
+ return pulumi.get(self, "organization_display_name")
763
+
764
+ @property
765
+ @pulumi.getter(name="organizationId")
766
+ def organization_id(self) -> pulumi.Output[str]:
767
+ """
768
+ Organization of the project this subscription belongs to.
769
+ """
770
+ return pulumi.get(self, "organization_id")
771
+
772
+ @property
773
+ @pulumi.getter
774
+ def project(self) -> pulumi.Output[str]:
775
+ return pulumi.get(self, "project")
776
+
777
+ @property
778
+ @pulumi.getter(name="resourceType")
779
+ def resource_type(self) -> pulumi.Output[str]:
780
+ """
781
+ Listing shared asset type.
782
+ """
783
+ return pulumi.get(self, "resource_type")
784
+
785
+ @property
786
+ @pulumi.getter
787
+ def state(self) -> pulumi.Output[str]:
788
+ """
789
+ Current state of the subscription.
790
+ """
791
+ return pulumi.get(self, "state")
792
+
793
+ @property
794
+ @pulumi.getter(name="subscriberContact")
795
+ def subscriber_contact(self) -> pulumi.Output[str]:
796
+ """
797
+ Email of the subscriber.
798
+ """
799
+ return pulumi.get(self, "subscriber_contact")
800
+
801
+ @property
802
+ @pulumi.getter(name="subscriptionId")
803
+ def subscription_id(self) -> pulumi.Output[str]:
804
+ """
805
+ The subscription id used to reference the subscription.
806
+ """
807
+ return pulumi.get(self, "subscription_id")
808
+