pulumi-gcp 7.5.0a1704347630__py3-none-any.whl → 7.6.0__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
Files changed (101) hide show
  1. pulumi_gcp/__init__.py +99 -0
  2. pulumi_gcp/bigqueryanalyticshub/_inputs.py +40 -0
  3. pulumi_gcp/bigqueryanalyticshub/listing.py +117 -3
  4. pulumi_gcp/bigqueryanalyticshub/outputs.py +49 -0
  5. pulumi_gcp/clouddeploy/__init__.py +1 -0
  6. pulumi_gcp/clouddeploy/_inputs.py +239 -0
  7. pulumi_gcp/clouddeploy/automation.py +1103 -0
  8. pulumi_gcp/clouddeploy/outputs.py +246 -0
  9. pulumi_gcp/clouddomains/__init__.py +10 -0
  10. pulumi_gcp/clouddomains/_inputs.py +1098 -0
  11. pulumi_gcp/clouddomains/outputs.py +1156 -0
  12. pulumi_gcp/clouddomains/registration.py +1068 -0
  13. pulumi_gcp/cloudrunv2/job.py +4 -4
  14. pulumi_gcp/composer/_inputs.py +79 -1
  15. pulumi_gcp/composer/outputs.py +131 -4
  16. pulumi_gcp/compute/__init__.py +1 -0
  17. pulumi_gcp/compute/_inputs.py +180 -0
  18. pulumi_gcp/compute/get_instance_template.py +11 -1
  19. pulumi_gcp/compute/get_region_instance_template.py +11 -1
  20. pulumi_gcp/compute/get_reservation.py +212 -0
  21. pulumi_gcp/compute/instance_template.py +47 -0
  22. pulumi_gcp/compute/network_firewall_policy.py +20 -22
  23. pulumi_gcp/compute/outputs.py +325 -0
  24. pulumi_gcp/compute/region_instance_template.py +47 -0
  25. pulumi_gcp/compute/region_network_firewall_policy.py +31 -35
  26. pulumi_gcp/compute/router_peer.py +54 -0
  27. pulumi_gcp/compute/vpn_tunnel.py +8 -4
  28. pulumi_gcp/config/__init__.pyi +2 -0
  29. pulumi_gcp/config/vars.py +4 -0
  30. pulumi_gcp/container/_inputs.py +23 -0
  31. pulumi_gcp/container/aws_node_pool.py +7 -7
  32. pulumi_gcp/container/cluster.py +68 -14
  33. pulumi_gcp/container/get_cluster.py +11 -1
  34. pulumi_gcp/container/outputs.py +49 -0
  35. pulumi_gcp/dataflow/pipeline.py +1 -1
  36. pulumi_gcp/dataproc/_inputs.py +413 -39
  37. pulumi_gcp/dataproc/metastore_service.py +63 -0
  38. pulumi_gcp/dataproc/outputs.py +461 -39
  39. pulumi_gcp/dns/__init__.py +1 -0
  40. pulumi_gcp/dns/_inputs.py +94 -0
  41. pulumi_gcp/dns/get_managed_zones.py +89 -0
  42. pulumi_gcp/dns/outputs.py +62 -0
  43. pulumi_gcp/edgecontainer/vpn_connection.py +10 -10
  44. pulumi_gcp/filestore/__init__.py +1 -0
  45. pulumi_gcp/filestore/get_instance.py +258 -0
  46. pulumi_gcp/filestore/instance.py +7 -7
  47. pulumi_gcp/filestore/outputs.py +126 -0
  48. pulumi_gcp/gkebackup/backup_plan.py +24 -8
  49. pulumi_gcp/gkebackup/restore_plan.py +36 -12
  50. pulumi_gcp/gkebackup/restore_plan_iam_binding.py +36 -12
  51. pulumi_gcp/gkebackup/restore_plan_iam_member.py +36 -12
  52. pulumi_gcp/gkebackup/restore_plan_iam_policy.py +36 -12
  53. pulumi_gcp/gkehub/_inputs.py +502 -2
  54. pulumi_gcp/gkehub/feature.py +34 -0
  55. pulumi_gcp/gkehub/feature_membership.py +177 -0
  56. pulumi_gcp/gkehub/membership.py +18 -6
  57. pulumi_gcp/gkehub/outputs.py +502 -2
  58. pulumi_gcp/gkeonprem/_inputs.py +21 -25
  59. pulumi_gcp/gkeonprem/outputs.py +34 -25
  60. pulumi_gcp/gkeonprem/v_mware_node_pool.py +34 -0
  61. pulumi_gcp/integrationconnectors/__init__.py +1 -0
  62. pulumi_gcp/integrationconnectors/endpoint_attachment.py +669 -0
  63. pulumi_gcp/kms/_inputs.py +42 -0
  64. pulumi_gcp/kms/crypto_key.py +36 -0
  65. pulumi_gcp/kms/get_kms_crypto_key.py +11 -1
  66. pulumi_gcp/kms/outputs.py +62 -0
  67. pulumi_gcp/logging/__init__.py +2 -0
  68. pulumi_gcp/logging/folder_settings.py +490 -0
  69. pulumi_gcp/logging/folder_sink.py +21 -21
  70. pulumi_gcp/logging/organization_settings.py +484 -0
  71. pulumi_gcp/logging/organization_sink.py +21 -21
  72. pulumi_gcp/logging/project_sink.py +7 -14
  73. pulumi_gcp/netapp/__init__.py +3 -0
  74. pulumi_gcp/netapp/active_directory.py +1413 -0
  75. pulumi_gcp/netapp/backup_vault.py +593 -0
  76. pulumi_gcp/netapp/kmsconfig.py +649 -0
  77. pulumi_gcp/orgpolicy/policy.py +28 -0
  78. pulumi_gcp/provider.py +20 -0
  79. pulumi_gcp/pubsub/subscription.py +29 -37
  80. pulumi_gcp/serviceaccount/account.py +47 -0
  81. pulumi_gcp/servicenetworking/connection.py +55 -1
  82. pulumi_gcp/sql/database_instance.py +2 -2
  83. pulumi_gcp/sql/ssl_cert.py +1 -1
  84. pulumi_gcp/sql/user.py +7 -7
  85. pulumi_gcp/storage/transfer_job.py +24 -5
  86. pulumi_gcp/vertex/__init__.py +3 -0
  87. pulumi_gcp/vertex/_inputs.py +339 -0
  88. pulumi_gcp/vertex/ai_feature_group.py +710 -0
  89. pulumi_gcp/vertex/ai_feature_online_store.py +962 -0
  90. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +804 -0
  91. pulumi_gcp/vertex/outputs.py +406 -0
  92. pulumi_gcp/vmwareengine/__init__.py +2 -0
  93. pulumi_gcp/vmwareengine/_inputs.py +84 -0
  94. pulumi_gcp/vmwareengine/external_access_rule.py +947 -0
  95. pulumi_gcp/vmwareengine/get_external_access_rule.py +245 -0
  96. pulumi_gcp/vmwareengine/outputs.py +146 -0
  97. pulumi_gcp/workflows/workflow.py +7 -7
  98. {pulumi_gcp-7.5.0a1704347630.dist-info → pulumi_gcp-7.6.0.dist-info}/METADATA +1 -1
  99. {pulumi_gcp-7.5.0a1704347630.dist-info → pulumi_gcp-7.6.0.dist-info}/RECORD +101 -82
  100. {pulumi_gcp-7.5.0a1704347630.dist-info → pulumi_gcp-7.6.0.dist-info}/WHEEL +0 -0
  101. {pulumi_gcp-7.5.0a1704347630.dist-info → pulumi_gcp-7.6.0.dist-info}/top_level.txt +0 -0
pulumi_gcp/__init__.py CHANGED
@@ -58,6 +58,8 @@ if typing.TYPE_CHECKING:
58
58
  cloudbuildv2 = __cloudbuildv2
59
59
  import pulumi_gcp.clouddeploy as __clouddeploy
60
60
  clouddeploy = __clouddeploy
61
+ import pulumi_gcp.clouddomains as __clouddomains
62
+ clouddomains = __clouddomains
61
63
  import pulumi_gcp.cloudfunctions as __cloudfunctions
62
64
  cloudfunctions = __cloudfunctions
63
65
  import pulumi_gcp.cloudfunctionsv2 as __cloudfunctionsv2
@@ -255,6 +257,7 @@ else:
255
257
  cloudbuild = _utilities.lazy_import('pulumi_gcp.cloudbuild')
256
258
  cloudbuildv2 = _utilities.lazy_import('pulumi_gcp.cloudbuildv2')
257
259
  clouddeploy = _utilities.lazy_import('pulumi_gcp.clouddeploy')
260
+ clouddomains = _utilities.lazy_import('pulumi_gcp.clouddomains')
258
261
  cloudfunctions = _utilities.lazy_import('pulumi_gcp.cloudfunctions')
259
262
  cloudfunctionsv2 = _utilities.lazy_import('pulumi_gcp.cloudfunctionsv2')
260
263
  cloudidentity = _utilities.lazy_import('pulumi_gcp.cloudidentity')
@@ -1609,6 +1612,14 @@ _utilities.register(
1609
1612
  "gcp:cloudbuildv2/repository:Repository": "Repository"
1610
1613
  }
1611
1614
  },
1615
+ {
1616
+ "pkg": "gcp",
1617
+ "mod": "clouddeploy/automation",
1618
+ "fqn": "pulumi_gcp.clouddeploy",
1619
+ "classes": {
1620
+ "gcp:clouddeploy/automation:Automation": "Automation"
1621
+ }
1622
+ },
1612
1623
  {
1613
1624
  "pkg": "gcp",
1614
1625
  "mod": "clouddeploy/deliveryPipeline",
@@ -1625,6 +1636,14 @@ _utilities.register(
1625
1636
  "gcp:clouddeploy/target:Target": "Target"
1626
1637
  }
1627
1638
  },
1639
+ {
1640
+ "pkg": "gcp",
1641
+ "mod": "clouddomains/registration",
1642
+ "fqn": "pulumi_gcp.clouddomains",
1643
+ "classes": {
1644
+ "gcp:clouddomains/registration:Registration": "Registration"
1645
+ }
1646
+ },
1628
1647
  {
1629
1648
  "pkg": "gcp",
1630
1649
  "mod": "cloudfunctions/function",
@@ -5049,6 +5068,14 @@ _utilities.register(
5049
5068
  "gcp:integrationconnectors/connection:Connection": "Connection"
5050
5069
  }
5051
5070
  },
5071
+ {
5072
+ "pkg": "gcp",
5073
+ "mod": "integrationconnectors/endpointAttachment",
5074
+ "fqn": "pulumi_gcp.integrationconnectors",
5075
+ "classes": {
5076
+ "gcp:integrationconnectors/endpointAttachment:EndpointAttachment": "EndpointAttachment"
5077
+ }
5078
+ },
5052
5079
  {
5053
5080
  "pkg": "gcp",
5054
5081
  "mod": "kms/cryptoKey",
@@ -5177,6 +5204,14 @@ _utilities.register(
5177
5204
  "gcp:logging/folderExclusion:FolderExclusion": "FolderExclusion"
5178
5205
  }
5179
5206
  },
5207
+ {
5208
+ "pkg": "gcp",
5209
+ "mod": "logging/folderSettings",
5210
+ "fqn": "pulumi_gcp.logging",
5211
+ "classes": {
5212
+ "gcp:logging/folderSettings:FolderSettings": "FolderSettings"
5213
+ }
5214
+ },
5180
5215
  {
5181
5216
  "pkg": "gcp",
5182
5217
  "mod": "logging/folderSink",
@@ -5225,6 +5260,14 @@ _utilities.register(
5225
5260
  "gcp:logging/organizationExclusion:OrganizationExclusion": "OrganizationExclusion"
5226
5261
  }
5227
5262
  },
5263
+ {
5264
+ "pkg": "gcp",
5265
+ "mod": "logging/organizationSettings",
5266
+ "fqn": "pulumi_gcp.logging",
5267
+ "classes": {
5268
+ "gcp:logging/organizationSettings:OrganizationSettings": "OrganizationSettings"
5269
+ }
5270
+ },
5228
5271
  {
5229
5272
  "pkg": "gcp",
5230
5273
  "mod": "logging/organizationSink",
@@ -5369,6 +5412,30 @@ _utilities.register(
5369
5412
  "gcp:monitoring/uptimeCheckConfig:UptimeCheckConfig": "UptimeCheckConfig"
5370
5413
  }
5371
5414
  },
5415
+ {
5416
+ "pkg": "gcp",
5417
+ "mod": "netapp/activeDirectory",
5418
+ "fqn": "pulumi_gcp.netapp",
5419
+ "classes": {
5420
+ "gcp:netapp/activeDirectory:ActiveDirectory": "ActiveDirectory"
5421
+ }
5422
+ },
5423
+ {
5424
+ "pkg": "gcp",
5425
+ "mod": "netapp/backupVault",
5426
+ "fqn": "pulumi_gcp.netapp",
5427
+ "classes": {
5428
+ "gcp:netapp/backupVault:BackupVault": "BackupVault"
5429
+ }
5430
+ },
5431
+ {
5432
+ "pkg": "gcp",
5433
+ "mod": "netapp/kmsconfig",
5434
+ "fqn": "pulumi_gcp.netapp",
5435
+ "classes": {
5436
+ "gcp:netapp/kmsconfig:Kmsconfig": "Kmsconfig"
5437
+ }
5438
+ },
5372
5439
  {
5373
5440
  "pkg": "gcp",
5374
5441
  "mod": "netapp/storagePool",
@@ -6769,6 +6836,30 @@ _utilities.register(
6769
6836
  "gcp:vertex/aiEndpointIamPolicy:AiEndpointIamPolicy": "AiEndpointIamPolicy"
6770
6837
  }
6771
6838
  },
6839
+ {
6840
+ "pkg": "gcp",
6841
+ "mod": "vertex/aiFeatureGroup",
6842
+ "fqn": "pulumi_gcp.vertex",
6843
+ "classes": {
6844
+ "gcp:vertex/aiFeatureGroup:AiFeatureGroup": "AiFeatureGroup"
6845
+ }
6846
+ },
6847
+ {
6848
+ "pkg": "gcp",
6849
+ "mod": "vertex/aiFeatureOnlineStore",
6850
+ "fqn": "pulumi_gcp.vertex",
6851
+ "classes": {
6852
+ "gcp:vertex/aiFeatureOnlineStore:AiFeatureOnlineStore": "AiFeatureOnlineStore"
6853
+ }
6854
+ },
6855
+ {
6856
+ "pkg": "gcp",
6857
+ "mod": "vertex/aiFeatureOnlineStoreFeatureview",
6858
+ "fqn": "pulumi_gcp.vertex",
6859
+ "classes": {
6860
+ "gcp:vertex/aiFeatureOnlineStoreFeatureview:AiFeatureOnlineStoreFeatureview": "AiFeatureOnlineStoreFeatureview"
6861
+ }
6862
+ },
6772
6863
  {
6773
6864
  "pkg": "gcp",
6774
6865
  "mod": "vertex/aiFeatureStore",
@@ -6881,6 +6972,14 @@ _utilities.register(
6881
6972
  "gcp:vmwareengine/cluster:Cluster": "Cluster"
6882
6973
  }
6883
6974
  },
6975
+ {
6976
+ "pkg": "gcp",
6977
+ "mod": "vmwareengine/externalAccessRule",
6978
+ "fqn": "pulumi_gcp.vmwareengine",
6979
+ "classes": {
6980
+ "gcp:vmwareengine/externalAccessRule:ExternalAccessRule": "ExternalAccessRule"
6981
+ }
6982
+ },
6884
6983
  {
6885
6984
  "pkg": "gcp",
6886
6985
  "mod": "vmwareengine/externalAddress",
@@ -17,6 +17,7 @@ __all__ = [
17
17
  'ListingIamBindingConditionArgs',
18
18
  'ListingIamMemberConditionArgs',
19
19
  'ListingPublisherArgs',
20
+ 'ListingRestrictedExportConfigArgs',
20
21
  ]
21
22
 
22
23
  @pulumi.input_type
@@ -277,3 +278,42 @@ class ListingPublisherArgs:
277
278
  pulumi.set(self, "primary_contact", value)
278
279
 
279
280
 
281
+ @pulumi.input_type
282
+ class ListingRestrictedExportConfigArgs:
283
+ def __init__(__self__, *,
284
+ enabled: Optional[pulumi.Input[bool]] = None,
285
+ restrict_query_result: Optional[pulumi.Input[bool]] = None):
286
+ """
287
+ :param pulumi.Input[bool] enabled: If true, enable restricted export.
288
+ :param pulumi.Input[bool] restrict_query_result: If true, restrict export of query result derived from restricted linked dataset table.
289
+ """
290
+ if enabled is not None:
291
+ pulumi.set(__self__, "enabled", enabled)
292
+ if restrict_query_result is not None:
293
+ pulumi.set(__self__, "restrict_query_result", restrict_query_result)
294
+
295
+ @property
296
+ @pulumi.getter
297
+ def enabled(self) -> Optional[pulumi.Input[bool]]:
298
+ """
299
+ If true, enable restricted export.
300
+ """
301
+ return pulumi.get(self, "enabled")
302
+
303
+ @enabled.setter
304
+ def enabled(self, value: Optional[pulumi.Input[bool]]):
305
+ pulumi.set(self, "enabled", value)
306
+
307
+ @property
308
+ @pulumi.getter(name="restrictQueryResult")
309
+ def restrict_query_result(self) -> Optional[pulumi.Input[bool]]:
310
+ """
311
+ If true, restrict export of query result derived from restricted linked dataset table.
312
+ """
313
+ return pulumi.get(self, "restrict_query_result")
314
+
315
+ @restrict_query_result.setter
316
+ def restrict_query_result(self, value: Optional[pulumi.Input[bool]]):
317
+ pulumi.set(self, "restrict_query_result", value)
318
+
319
+
@@ -29,7 +29,8 @@ class ListingArgs:
29
29
  primary_contact: Optional[pulumi.Input[str]] = None,
30
30
  project: Optional[pulumi.Input[str]] = None,
31
31
  publisher: Optional[pulumi.Input['ListingPublisherArgs']] = None,
32
- request_access: Optional[pulumi.Input[str]] = None):
32
+ request_access: Optional[pulumi.Input[str]] = None,
33
+ restricted_export_config: Optional[pulumi.Input['ListingRestrictedExportConfigArgs']] = None):
33
34
  """
34
35
  The set of arguments for constructing a Listing resource.
35
36
  :param pulumi.Input['ListingBigqueryDatasetArgs'] bigquery_dataset: Shared dataset i.e. BigQuery dataset source.
@@ -50,6 +51,8 @@ class ListingArgs:
50
51
  :param pulumi.Input['ListingPublisherArgs'] publisher: Details of the publisher who owns the listing and who can share the source data.
51
52
  Structure is documented below.
52
53
  :param pulumi.Input[str] request_access: Email or URL of the request access of the listing. Subscribers can use this reference to request access.
54
+ :param pulumi.Input['ListingRestrictedExportConfigArgs'] restricted_export_config: If set, restricted export configuration will be propagated and enforced on the linked dataset.
55
+ Structure is documented below.
53
56
  """
54
57
  pulumi.set(__self__, "bigquery_dataset", bigquery_dataset)
55
58
  pulumi.set(__self__, "data_exchange_id", data_exchange_id)
@@ -74,6 +77,8 @@ class ListingArgs:
74
77
  pulumi.set(__self__, "publisher", publisher)
75
78
  if request_access is not None:
76
79
  pulumi.set(__self__, "request_access", request_access)
80
+ if restricted_export_config is not None:
81
+ pulumi.set(__self__, "restricted_export_config", restricted_export_config)
77
82
 
78
83
  @property
79
84
  @pulumi.getter(name="bigqueryDataset")
@@ -247,6 +252,19 @@ class ListingArgs:
247
252
  def request_access(self, value: Optional[pulumi.Input[str]]):
248
253
  pulumi.set(self, "request_access", value)
249
254
 
255
+ @property
256
+ @pulumi.getter(name="restrictedExportConfig")
257
+ def restricted_export_config(self) -> Optional[pulumi.Input['ListingRestrictedExportConfigArgs']]:
258
+ """
259
+ If set, restricted export configuration will be propagated and enforced on the linked dataset.
260
+ Structure is documented below.
261
+ """
262
+ return pulumi.get(self, "restricted_export_config")
263
+
264
+ @restricted_export_config.setter
265
+ def restricted_export_config(self, value: Optional[pulumi.Input['ListingRestrictedExportConfigArgs']]):
266
+ pulumi.set(self, "restricted_export_config", value)
267
+
250
268
 
251
269
  @pulumi.input_type
252
270
  class _ListingState:
@@ -265,7 +283,8 @@ class _ListingState:
265
283
  primary_contact: Optional[pulumi.Input[str]] = None,
266
284
  project: Optional[pulumi.Input[str]] = None,
267
285
  publisher: Optional[pulumi.Input['ListingPublisherArgs']] = None,
268
- request_access: Optional[pulumi.Input[str]] = None):
286
+ request_access: Optional[pulumi.Input[str]] = None,
287
+ restricted_export_config: Optional[pulumi.Input['ListingRestrictedExportConfigArgs']] = None):
269
288
  """
270
289
  Input properties used for looking up and filtering Listing resources.
271
290
  :param pulumi.Input['ListingBigqueryDatasetArgs'] bigquery_dataset: Shared dataset i.e. BigQuery dataset source.
@@ -287,6 +306,8 @@ class _ListingState:
287
306
  :param pulumi.Input['ListingPublisherArgs'] publisher: Details of the publisher who owns the listing and who can share the source data.
288
307
  Structure is documented below.
289
308
  :param pulumi.Input[str] request_access: Email or URL of the request access of the listing. Subscribers can use this reference to request access.
309
+ :param pulumi.Input['ListingRestrictedExportConfigArgs'] restricted_export_config: If set, restricted export configuration will be propagated and enforced on the linked dataset.
310
+ Structure is documented below.
290
311
  """
291
312
  if bigquery_dataset is not None:
292
313
  pulumi.set(__self__, "bigquery_dataset", bigquery_dataset)
@@ -318,6 +339,8 @@ class _ListingState:
318
339
  pulumi.set(__self__, "publisher", publisher)
319
340
  if request_access is not None:
320
341
  pulumi.set(__self__, "request_access", request_access)
342
+ if restricted_export_config is not None:
343
+ pulumi.set(__self__, "restricted_export_config", restricted_export_config)
321
344
 
322
345
  @property
323
346
  @pulumi.getter(name="bigqueryDataset")
@@ -503,6 +526,19 @@ class _ListingState:
503
526
  def request_access(self, value: Optional[pulumi.Input[str]]):
504
527
  pulumi.set(self, "request_access", value)
505
528
 
529
+ @property
530
+ @pulumi.getter(name="restrictedExportConfig")
531
+ def restricted_export_config(self) -> Optional[pulumi.Input['ListingRestrictedExportConfigArgs']]:
532
+ """
533
+ If set, restricted export configuration will be propagated and enforced on the linked dataset.
534
+ Structure is documented below.
535
+ """
536
+ return pulumi.get(self, "restricted_export_config")
537
+
538
+ @restricted_export_config.setter
539
+ def restricted_export_config(self, value: Optional[pulumi.Input['ListingRestrictedExportConfigArgs']]):
540
+ pulumi.set(self, "restricted_export_config", value)
541
+
506
542
 
507
543
  class Listing(pulumi.CustomResource):
508
544
  @overload
@@ -523,6 +559,7 @@ class Listing(pulumi.CustomResource):
523
559
  project: Optional[pulumi.Input[str]] = None,
524
560
  publisher: Optional[pulumi.Input[pulumi.InputType['ListingPublisherArgs']]] = None,
525
561
  request_access: Optional[pulumi.Input[str]] = None,
562
+ restricted_export_config: Optional[pulumi.Input[pulumi.InputType['ListingRestrictedExportConfigArgs']]] = None,
526
563
  __props__=None):
527
564
  """
528
565
  A Bigquery Analytics Hub data exchange listing
@@ -560,6 +597,36 @@ class Listing(pulumi.CustomResource):
560
597
  dataset=listing_dataset.id,
561
598
  ))
562
599
  ```
600
+ ### Bigquery Analyticshub Listing Restricted
601
+
602
+ ```python
603
+ import pulumi
604
+ import pulumi_gcp as gcp
605
+
606
+ listing_data_exchange = gcp.bigqueryanalyticshub.DataExchange("listingDataExchange",
607
+ location="US",
608
+ data_exchange_id="my_data_exchange",
609
+ display_name="my_data_exchange",
610
+ description="example data exchange")
611
+ listing_dataset = gcp.bigquery.Dataset("listingDataset",
612
+ dataset_id="my_listing",
613
+ friendly_name="my_listing",
614
+ description="example data exchange",
615
+ location="US")
616
+ listing_listing = gcp.bigqueryanalyticshub.Listing("listingListing",
617
+ location="US",
618
+ data_exchange_id=listing_data_exchange.data_exchange_id,
619
+ listing_id="my_listing",
620
+ display_name="my_listing",
621
+ description="example data exchange",
622
+ bigquery_dataset=gcp.bigqueryanalyticshub.ListingBigqueryDatasetArgs(
623
+ dataset=listing_dataset.id,
624
+ ),
625
+ restricted_export_config=gcp.bigqueryanalyticshub.ListingRestrictedExportConfigArgs(
626
+ enabled=True,
627
+ restrict_query_result=True,
628
+ ))
629
+ ```
563
630
 
564
631
  ## Import
565
632
 
@@ -605,6 +672,8 @@ class Listing(pulumi.CustomResource):
605
672
  :param pulumi.Input[pulumi.InputType['ListingPublisherArgs']] publisher: Details of the publisher who owns the listing and who can share the source data.
606
673
  Structure is documented below.
607
674
  :param pulumi.Input[str] request_access: Email or URL of the request access of the listing. Subscribers can use this reference to request access.
675
+ :param pulumi.Input[pulumi.InputType['ListingRestrictedExportConfigArgs']] restricted_export_config: If set, restricted export configuration will be propagated and enforced on the linked dataset.
676
+ Structure is documented below.
608
677
  """
609
678
  ...
610
679
  @overload
@@ -648,6 +717,36 @@ class Listing(pulumi.CustomResource):
648
717
  dataset=listing_dataset.id,
649
718
  ))
650
719
  ```
720
+ ### Bigquery Analyticshub Listing Restricted
721
+
722
+ ```python
723
+ import pulumi
724
+ import pulumi_gcp as gcp
725
+
726
+ listing_data_exchange = gcp.bigqueryanalyticshub.DataExchange("listingDataExchange",
727
+ location="US",
728
+ data_exchange_id="my_data_exchange",
729
+ display_name="my_data_exchange",
730
+ description="example data exchange")
731
+ listing_dataset = gcp.bigquery.Dataset("listingDataset",
732
+ dataset_id="my_listing",
733
+ friendly_name="my_listing",
734
+ description="example data exchange",
735
+ location="US")
736
+ listing_listing = gcp.bigqueryanalyticshub.Listing("listingListing",
737
+ location="US",
738
+ data_exchange_id=listing_data_exchange.data_exchange_id,
739
+ listing_id="my_listing",
740
+ display_name="my_listing",
741
+ description="example data exchange",
742
+ bigquery_dataset=gcp.bigqueryanalyticshub.ListingBigqueryDatasetArgs(
743
+ dataset=listing_dataset.id,
744
+ ),
745
+ restricted_export_config=gcp.bigqueryanalyticshub.ListingRestrictedExportConfigArgs(
746
+ enabled=True,
747
+ restrict_query_result=True,
748
+ ))
749
+ ```
651
750
 
652
751
  ## Import
653
752
 
@@ -702,6 +801,7 @@ class Listing(pulumi.CustomResource):
702
801
  project: Optional[pulumi.Input[str]] = None,
703
802
  publisher: Optional[pulumi.Input[pulumi.InputType['ListingPublisherArgs']]] = None,
704
803
  request_access: Optional[pulumi.Input[str]] = None,
804
+ restricted_export_config: Optional[pulumi.Input[pulumi.InputType['ListingRestrictedExportConfigArgs']]] = None,
705
805
  __props__=None):
706
806
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
707
807
  if not isinstance(opts, pulumi.ResourceOptions):
@@ -735,6 +835,7 @@ class Listing(pulumi.CustomResource):
735
835
  __props__.__dict__["project"] = project
736
836
  __props__.__dict__["publisher"] = publisher
737
837
  __props__.__dict__["request_access"] = request_access
838
+ __props__.__dict__["restricted_export_config"] = restricted_export_config
738
839
  __props__.__dict__["name"] = None
739
840
  super(Listing, __self__).__init__(
740
841
  'gcp:bigqueryanalyticshub/listing:Listing',
@@ -760,7 +861,8 @@ class Listing(pulumi.CustomResource):
760
861
  primary_contact: Optional[pulumi.Input[str]] = None,
761
862
  project: Optional[pulumi.Input[str]] = None,
762
863
  publisher: Optional[pulumi.Input[pulumi.InputType['ListingPublisherArgs']]] = None,
763
- request_access: Optional[pulumi.Input[str]] = None) -> 'Listing':
864
+ request_access: Optional[pulumi.Input[str]] = None,
865
+ restricted_export_config: Optional[pulumi.Input[pulumi.InputType['ListingRestrictedExportConfigArgs']]] = None) -> 'Listing':
764
866
  """
765
867
  Get an existing Listing resource's state with the given name, id, and optional extra
766
868
  properties used to qualify the lookup.
@@ -787,6 +889,8 @@ class Listing(pulumi.CustomResource):
787
889
  :param pulumi.Input[pulumi.InputType['ListingPublisherArgs']] publisher: Details of the publisher who owns the listing and who can share the source data.
788
890
  Structure is documented below.
789
891
  :param pulumi.Input[str] request_access: Email or URL of the request access of the listing. Subscribers can use this reference to request access.
892
+ :param pulumi.Input[pulumi.InputType['ListingRestrictedExportConfigArgs']] restricted_export_config: If set, restricted export configuration will be propagated and enforced on the linked dataset.
893
+ Structure is documented below.
790
894
  """
791
895
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
792
896
 
@@ -807,6 +911,7 @@ class Listing(pulumi.CustomResource):
807
911
  __props__.__dict__["project"] = project
808
912
  __props__.__dict__["publisher"] = publisher
809
913
  __props__.__dict__["request_access"] = request_access
914
+ __props__.__dict__["restricted_export_config"] = restricted_export_config
810
915
  return Listing(resource_name, opts=opts, __props__=__props__)
811
916
 
812
917
  @property
@@ -933,3 +1038,12 @@ class Listing(pulumi.CustomResource):
933
1038
  """
934
1039
  return pulumi.get(self, "request_access")
935
1040
 
1041
+ @property
1042
+ @pulumi.getter(name="restrictedExportConfig")
1043
+ def restricted_export_config(self) -> pulumi.Output[Optional['outputs.ListingRestrictedExportConfig']]:
1044
+ """
1045
+ If set, restricted export configuration will be propagated and enforced on the linked dataset.
1046
+ Structure is documented below.
1047
+ """
1048
+ return pulumi.get(self, "restricted_export_config")
1049
+
@@ -17,6 +17,7 @@ __all__ = [
17
17
  'ListingIamBindingCondition',
18
18
  'ListingIamMemberCondition',
19
19
  'ListingPublisher',
20
+ 'ListingRestrictedExportConfig',
20
21
  ]
21
22
 
22
23
  @pulumi.output_type
@@ -243,3 +244,51 @@ class ListingPublisher(dict):
243
244
  return pulumi.get(self, "primary_contact")
244
245
 
245
246
 
247
+ @pulumi.output_type
248
+ class ListingRestrictedExportConfig(dict):
249
+ @staticmethod
250
+ def __key_warning(key: str):
251
+ suggest = None
252
+ if key == "restrictQueryResult":
253
+ suggest = "restrict_query_result"
254
+
255
+ if suggest:
256
+ pulumi.log.warn(f"Key '{key}' not found in ListingRestrictedExportConfig. Access the value via the '{suggest}' property getter instead.")
257
+
258
+ def __getitem__(self, key: str) -> Any:
259
+ ListingRestrictedExportConfig.__key_warning(key)
260
+ return super().__getitem__(key)
261
+
262
+ def get(self, key: str, default = None) -> Any:
263
+ ListingRestrictedExportConfig.__key_warning(key)
264
+ return super().get(key, default)
265
+
266
+ def __init__(__self__, *,
267
+ enabled: Optional[bool] = None,
268
+ restrict_query_result: Optional[bool] = None):
269
+ """
270
+ :param bool enabled: If true, enable restricted export.
271
+ :param bool restrict_query_result: If true, restrict export of query result derived from restricted linked dataset table.
272
+ """
273
+ if enabled is not None:
274
+ pulumi.set(__self__, "enabled", enabled)
275
+ if restrict_query_result is not None:
276
+ pulumi.set(__self__, "restrict_query_result", restrict_query_result)
277
+
278
+ @property
279
+ @pulumi.getter
280
+ def enabled(self) -> Optional[bool]:
281
+ """
282
+ If true, enable restricted export.
283
+ """
284
+ return pulumi.get(self, "enabled")
285
+
286
+ @property
287
+ @pulumi.getter(name="restrictQueryResult")
288
+ def restrict_query_result(self) -> Optional[bool]:
289
+ """
290
+ If true, restrict export of query result derived from restricted linked dataset table.
291
+ """
292
+ return pulumi.get(self, "restrict_query_result")
293
+
294
+
@@ -5,6 +5,7 @@
5
5
  from .. import _utilities
6
6
  import typing
7
7
  # Export this package's modules as members:
8
+ from .automation import *
8
9
  from .delivery_pipeline import *
9
10
  from .target import *
10
11
  from ._inputs import *