pulumi-gcp 8.1.0a1726293903__py3-none-any.whl → 8.2.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.
- pulumi_gcp/__init__.py +62 -0
- pulumi_gcp/alloydb/_inputs.py +94 -0
- pulumi_gcp/alloydb/cluster.py +94 -1
- pulumi_gcp/alloydb/outputs.py +79 -0
- pulumi_gcp/assuredworkloads/workload.py +135 -16
- pulumi_gcp/backupdisasterrecovery/__init__.py +1 -0
- pulumi_gcp/backupdisasterrecovery/backup_vault.py +1203 -0
- pulumi_gcp/bigquery/__init__.py +1 -0
- pulumi_gcp/bigquery/_inputs.py +33 -0
- pulumi_gcp/bigquery/data_transfer_config.py +134 -6
- pulumi_gcp/bigquery/get_tables.py +143 -0
- pulumi_gcp/bigquery/outputs.py +66 -0
- pulumi_gcp/bigqueryanalyticshub/_inputs.py +169 -7
- pulumi_gcp/bigqueryanalyticshub/data_exchange.py +96 -3
- pulumi_gcp/bigqueryanalyticshub/listing.py +114 -0
- pulumi_gcp/bigqueryanalyticshub/outputs.py +138 -5
- pulumi_gcp/bigtable/_inputs.py +21 -1
- pulumi_gcp/bigtable/outputs.py +13 -1
- pulumi_gcp/bigtable/table.py +34 -0
- pulumi_gcp/certificateauthority/authority.py +14 -7
- pulumi_gcp/certificatemanager/__init__.py +1 -0
- pulumi_gcp/certificatemanager/certificate.py +28 -0
- pulumi_gcp/certificatemanager/get_certificates.py +150 -0
- pulumi_gcp/certificatemanager/outputs.py +322 -0
- pulumi_gcp/cloudbuild/_inputs.py +6 -6
- pulumi_gcp/cloudbuild/outputs.py +4 -4
- pulumi_gcp/cloudrun/_inputs.py +6 -12
- pulumi_gcp/cloudrun/outputs.py +8 -16
- pulumi_gcp/cloudrunv2/_inputs.py +72 -15
- pulumi_gcp/cloudrunv2/outputs.py +82 -16
- pulumi_gcp/cloudrunv2/service.py +50 -4
- pulumi_gcp/cloudtasks/_inputs.py +630 -0
- pulumi_gcp/cloudtasks/outputs.py +479 -0
- pulumi_gcp/cloudtasks/queue.py +238 -0
- pulumi_gcp/compute/__init__.py +1 -0
- pulumi_gcp/compute/_inputs.py +2300 -257
- pulumi_gcp/compute/get_instance.py +4 -1
- pulumi_gcp/compute/health_check.py +114 -0
- pulumi_gcp/compute/instance.py +86 -4
- pulumi_gcp/compute/instance_template.py +66 -0
- pulumi_gcp/compute/interconnect.py +28 -21
- pulumi_gcp/compute/network_firewall_policy_with_rules.py +826 -0
- pulumi_gcp/compute/node_template.py +93 -0
- pulumi_gcp/compute/outputs.py +1491 -6
- pulumi_gcp/compute/region_target_http_proxy.py +159 -0
- pulumi_gcp/compute/region_target_https_proxy.py +175 -0
- pulumi_gcp/compute/service_attachment.py +75 -0
- pulumi_gcp/compute/target_http_proxy.py +49 -28
- pulumi_gcp/compute/target_https_proxy.py +77 -28
- pulumi_gcp/config/__init__.pyi +4 -0
- pulumi_gcp/config/vars.py +8 -0
- pulumi_gcp/container/_inputs.py +236 -3
- pulumi_gcp/container/attached_cluster.py +61 -8
- pulumi_gcp/container/outputs.py +276 -2
- pulumi_gcp/databasemigrationservice/_inputs.py +176 -148
- pulumi_gcp/databasemigrationservice/connection_profile.py +206 -0
- pulumi_gcp/databasemigrationservice/outputs.py +109 -87
- pulumi_gcp/dataloss/_inputs.py +353 -1
- pulumi_gcp/dataloss/outputs.py +274 -3
- pulumi_gcp/dataproc/_inputs.py +27 -27
- pulumi_gcp/dataproc/metastore_federation.py +8 -8
- pulumi_gcp/dataproc/metastore_service.py +2 -0
- pulumi_gcp/dataproc/outputs.py +18 -18
- pulumi_gcp/datastream/_inputs.py +69 -1
- pulumi_gcp/datastream/outputs.py +44 -2
- pulumi_gcp/datastream/stream.py +201 -7
- pulumi_gcp/developerconnect/__init__.py +11 -0
- pulumi_gcp/developerconnect/_inputs.py +301 -0
- pulumi_gcp/developerconnect/connection.py +1034 -0
- pulumi_gcp/developerconnect/git_repository_link.py +873 -0
- pulumi_gcp/developerconnect/outputs.py +247 -0
- pulumi_gcp/discoveryengine/_inputs.py +188 -0
- pulumi_gcp/discoveryengine/data_store.py +14 -14
- pulumi_gcp/discoveryengine/outputs.py +153 -1
- pulumi_gcp/firebase/database_instance.py +7 -7
- pulumi_gcp/gkehub/_inputs.py +25 -1
- pulumi_gcp/gkehub/feature_membership.py +12 -6
- pulumi_gcp/gkehub/outputs.py +17 -1
- pulumi_gcp/gkeonprem/_inputs.py +3 -3
- pulumi_gcp/gkeonprem/outputs.py +2 -2
- pulumi_gcp/iam/_inputs.py +196 -0
- pulumi_gcp/iam/get_workload_identity_pool_provider.py +13 -3
- pulumi_gcp/iam/outputs.py +295 -0
- pulumi_gcp/iam/workload_identity_pool_provider.py +164 -3
- pulumi_gcp/kms/__init__.py +2 -0
- pulumi_gcp/kms/autokey_config.py +10 -2
- pulumi_gcp/kms/get_crypto_key_latest_version.py +222 -0
- pulumi_gcp/kms/get_crypto_key_versions.py +175 -0
- pulumi_gcp/kms/outputs.py +164 -0
- pulumi_gcp/memorystore/__init__.py +10 -0
- pulumi_gcp/memorystore/_inputs.py +731 -0
- pulumi_gcp/memorystore/instance.py +1663 -0
- pulumi_gcp/memorystore/outputs.py +598 -0
- pulumi_gcp/netapp/active_directory.py +6 -6
- pulumi_gcp/netapp/backup.py +6 -6
- pulumi_gcp/netapp/backup_policy.py +6 -6
- pulumi_gcp/netapp/backup_vault.py +6 -6
- pulumi_gcp/netapp/storage_pool.py +4 -4
- pulumi_gcp/netapp/volume.py +108 -0
- pulumi_gcp/networkconnectivity/_inputs.py +21 -1
- pulumi_gcp/networkconnectivity/outputs.py +15 -1
- pulumi_gcp/networkconnectivity/spoke.py +8 -0
- pulumi_gcp/networksecurity/client_tls_policy.py +24 -22
- pulumi_gcp/networksecurity/server_tls_policy.py +20 -32
- pulumi_gcp/organizations/folder.py +52 -33
- pulumi_gcp/organizations/get_project.py +13 -3
- pulumi_gcp/organizations/project.py +88 -3
- pulumi_gcp/parallelstore/instance.py +121 -121
- pulumi_gcp/projects/iam_member_remove.py +26 -0
- pulumi_gcp/projects/usage_export_bucket.py +38 -0
- pulumi_gcp/provider.py +40 -0
- pulumi_gcp/pubsub/_inputs.py +40 -0
- pulumi_gcp/pubsub/outputs.py +51 -1
- pulumi_gcp/pubsub/subscription.py +6 -0
- pulumi_gcp/pulumi-plugin.json +1 -1
- pulumi_gcp/redis/_inputs.py +419 -0
- pulumi_gcp/redis/cluster.py +123 -0
- pulumi_gcp/redis/outputs.py +315 -0
- pulumi_gcp/securitycenter/__init__.py +2 -0
- pulumi_gcp/securitycenter/v2_folder_scc_big_query_export.py +857 -0
- pulumi_gcp/securitycenter/v2_organization_scc_big_query_exports.py +4 -4
- pulumi_gcp/securitycenter/v2_project_mute_config.py +2 -2
- pulumi_gcp/securitycenter/v2_project_scc_big_query_export.py +796 -0
- pulumi_gcp/vpcaccess/connector.py +21 -28
- {pulumi_gcp-8.1.0a1726293903.dist-info → pulumi_gcp-8.2.0.dist-info}/METADATA +1 -1
- {pulumi_gcp-8.1.0a1726293903.dist-info → pulumi_gcp-8.2.0.dist-info}/RECORD +128 -111
- {pulumi_gcp-8.1.0a1726293903.dist-info → pulumi_gcp-8.2.0.dist-info}/WHEEL +1 -1
- {pulumi_gcp-8.1.0a1726293903.dist-info → pulumi_gcp-8.2.0.dist-info}/top_level.txt +0 -0
pulumi_gcp/bigquery/__init__.py
CHANGED
@@ -23,6 +23,7 @@ from .get_dataset import *
|
|
23
23
|
from .get_dataset_iam_policy import *
|
24
24
|
from .get_default_service_account import *
|
25
25
|
from .get_table_iam_policy import *
|
26
|
+
from .get_tables import *
|
26
27
|
from .iam_binding import *
|
27
28
|
from .iam_member import *
|
28
29
|
from .iam_policy import *
|
pulumi_gcp/bigquery/_inputs.py
CHANGED
@@ -49,6 +49,8 @@ __all__ = [
|
|
49
49
|
'ConnectionSparkSparkHistoryServerConfigArgsDict',
|
50
50
|
'DataTransferConfigEmailPreferencesArgs',
|
51
51
|
'DataTransferConfigEmailPreferencesArgsDict',
|
52
|
+
'DataTransferConfigEncryptionConfigurationArgs',
|
53
|
+
'DataTransferConfigEncryptionConfigurationArgsDict',
|
52
54
|
'DataTransferConfigScheduleOptionsArgs',
|
53
55
|
'DataTransferConfigScheduleOptionsArgsDict',
|
54
56
|
'DataTransferConfigSensitiveParamsArgs',
|
@@ -1244,6 +1246,37 @@ class DataTransferConfigEmailPreferencesArgs:
|
|
1244
1246
|
pulumi.set(self, "enable_failure_email", value)
|
1245
1247
|
|
1246
1248
|
|
1249
|
+
if not MYPY:
|
1250
|
+
class DataTransferConfigEncryptionConfigurationArgsDict(TypedDict):
|
1251
|
+
kms_key_name: pulumi.Input[str]
|
1252
|
+
"""
|
1253
|
+
The name of the KMS key used for encrypting BigQuery data.
|
1254
|
+
"""
|
1255
|
+
elif False:
|
1256
|
+
DataTransferConfigEncryptionConfigurationArgsDict: TypeAlias = Mapping[str, Any]
|
1257
|
+
|
1258
|
+
@pulumi.input_type
|
1259
|
+
class DataTransferConfigEncryptionConfigurationArgs:
|
1260
|
+
def __init__(__self__, *,
|
1261
|
+
kms_key_name: pulumi.Input[str]):
|
1262
|
+
"""
|
1263
|
+
:param pulumi.Input[str] kms_key_name: The name of the KMS key used for encrypting BigQuery data.
|
1264
|
+
"""
|
1265
|
+
pulumi.set(__self__, "kms_key_name", kms_key_name)
|
1266
|
+
|
1267
|
+
@property
|
1268
|
+
@pulumi.getter(name="kmsKeyName")
|
1269
|
+
def kms_key_name(self) -> pulumi.Input[str]:
|
1270
|
+
"""
|
1271
|
+
The name of the KMS key used for encrypting BigQuery data.
|
1272
|
+
"""
|
1273
|
+
return pulumi.get(self, "kms_key_name")
|
1274
|
+
|
1275
|
+
@kms_key_name.setter
|
1276
|
+
def kms_key_name(self, value: pulumi.Input[str]):
|
1277
|
+
pulumi.set(self, "kms_key_name", value)
|
1278
|
+
|
1279
|
+
|
1247
1280
|
if not MYPY:
|
1248
1281
|
class DataTransferConfigScheduleOptionsArgsDict(TypedDict):
|
1249
1282
|
disable_auto_scheduling: NotRequired[pulumi.Input[bool]]
|
@@ -28,6 +28,7 @@ class DataTransferConfigArgs:
|
|
28
28
|
destination_dataset_id: Optional[pulumi.Input[str]] = None,
|
29
29
|
disabled: Optional[pulumi.Input[bool]] = None,
|
30
30
|
email_preferences: Optional[pulumi.Input['DataTransferConfigEmailPreferencesArgs']] = None,
|
31
|
+
encryption_configuration: Optional[pulumi.Input['DataTransferConfigEncryptionConfigurationArgs']] = None,
|
31
32
|
location: Optional[pulumi.Input[str]] = None,
|
32
33
|
notification_pubsub_topic: Optional[pulumi.Input[str]] = None,
|
33
34
|
project: Optional[pulumi.Input[str]] = None,
|
@@ -56,6 +57,8 @@ class DataTransferConfigArgs:
|
|
56
57
|
:param pulumi.Input['DataTransferConfigEmailPreferencesArgs'] email_preferences: Email notifications will be sent according to these preferences to the
|
57
58
|
email address of the user who owns this transfer config.
|
58
59
|
Structure is documented below.
|
60
|
+
:param pulumi.Input['DataTransferConfigEncryptionConfigurationArgs'] encryption_configuration: Represents the encryption configuration for a transfer.
|
61
|
+
Structure is documented below.
|
59
62
|
:param pulumi.Input[str] location: The geographic location where the transfer config should reside.
|
60
63
|
Examples: US, EU, asia-northeast1. The default value is US.
|
61
64
|
:param pulumi.Input[str] notification_pubsub_topic: Pub/Sub topic where notifications will be sent after transfer runs
|
@@ -95,6 +98,8 @@ class DataTransferConfigArgs:
|
|
95
98
|
pulumi.set(__self__, "disabled", disabled)
|
96
99
|
if email_preferences is not None:
|
97
100
|
pulumi.set(__self__, "email_preferences", email_preferences)
|
101
|
+
if encryption_configuration is not None:
|
102
|
+
pulumi.set(__self__, "encryption_configuration", encryption_configuration)
|
98
103
|
if location is not None:
|
99
104
|
pulumi.set(__self__, "location", location)
|
100
105
|
if notification_pubsub_topic is not None:
|
@@ -206,6 +211,19 @@ class DataTransferConfigArgs:
|
|
206
211
|
def email_preferences(self, value: Optional[pulumi.Input['DataTransferConfigEmailPreferencesArgs']]):
|
207
212
|
pulumi.set(self, "email_preferences", value)
|
208
213
|
|
214
|
+
@property
|
215
|
+
@pulumi.getter(name="encryptionConfiguration")
|
216
|
+
def encryption_configuration(self) -> Optional[pulumi.Input['DataTransferConfigEncryptionConfigurationArgs']]:
|
217
|
+
"""
|
218
|
+
Represents the encryption configuration for a transfer.
|
219
|
+
Structure is documented below.
|
220
|
+
"""
|
221
|
+
return pulumi.get(self, "encryption_configuration")
|
222
|
+
|
223
|
+
@encryption_configuration.setter
|
224
|
+
def encryption_configuration(self, value: Optional[pulumi.Input['DataTransferConfigEncryptionConfigurationArgs']]):
|
225
|
+
pulumi.set(self, "encryption_configuration", value)
|
226
|
+
|
209
227
|
@property
|
210
228
|
@pulumi.getter
|
211
229
|
def location(self) -> Optional[pulumi.Input[str]]:
|
@@ -320,6 +338,7 @@ class _DataTransferConfigState:
|
|
320
338
|
disabled: Optional[pulumi.Input[bool]] = None,
|
321
339
|
display_name: Optional[pulumi.Input[str]] = None,
|
322
340
|
email_preferences: Optional[pulumi.Input['DataTransferConfigEmailPreferencesArgs']] = None,
|
341
|
+
encryption_configuration: Optional[pulumi.Input['DataTransferConfigEncryptionConfigurationArgs']] = None,
|
323
342
|
location: Optional[pulumi.Input[str]] = None,
|
324
343
|
name: Optional[pulumi.Input[str]] = None,
|
325
344
|
notification_pubsub_topic: Optional[pulumi.Input[str]] = None,
|
@@ -343,6 +362,8 @@ class _DataTransferConfigState:
|
|
343
362
|
:param pulumi.Input['DataTransferConfigEmailPreferencesArgs'] email_preferences: Email notifications will be sent according to these preferences to the
|
344
363
|
email address of the user who owns this transfer config.
|
345
364
|
Structure is documented below.
|
365
|
+
:param pulumi.Input['DataTransferConfigEncryptionConfigurationArgs'] encryption_configuration: Represents the encryption configuration for a transfer.
|
366
|
+
Structure is documented below.
|
346
367
|
:param pulumi.Input[str] location: The geographic location where the transfer config should reside.
|
347
368
|
Examples: US, EU, asia-northeast1. The default value is US.
|
348
369
|
:param pulumi.Input[str] name: The resource name of the transfer config. Transfer config names have the
|
@@ -395,6 +416,8 @@ class _DataTransferConfigState:
|
|
395
416
|
pulumi.set(__self__, "display_name", display_name)
|
396
417
|
if email_preferences is not None:
|
397
418
|
pulumi.set(__self__, "email_preferences", email_preferences)
|
419
|
+
if encryption_configuration is not None:
|
420
|
+
pulumi.set(__self__, "encryption_configuration", encryption_configuration)
|
398
421
|
if location is not None:
|
399
422
|
pulumi.set(__self__, "location", location)
|
400
423
|
if name is not None:
|
@@ -492,6 +515,19 @@ class _DataTransferConfigState:
|
|
492
515
|
def email_preferences(self, value: Optional[pulumi.Input['DataTransferConfigEmailPreferencesArgs']]):
|
493
516
|
pulumi.set(self, "email_preferences", value)
|
494
517
|
|
518
|
+
@property
|
519
|
+
@pulumi.getter(name="encryptionConfiguration")
|
520
|
+
def encryption_configuration(self) -> Optional[pulumi.Input['DataTransferConfigEncryptionConfigurationArgs']]:
|
521
|
+
"""
|
522
|
+
Represents the encryption configuration for a transfer.
|
523
|
+
Structure is documented below.
|
524
|
+
"""
|
525
|
+
return pulumi.get(self, "encryption_configuration")
|
526
|
+
|
527
|
+
@encryption_configuration.setter
|
528
|
+
def encryption_configuration(self, value: Optional[pulumi.Input['DataTransferConfigEncryptionConfigurationArgs']]):
|
529
|
+
pulumi.set(self, "encryption_configuration", value)
|
530
|
+
|
495
531
|
@property
|
496
532
|
@pulumi.getter
|
497
533
|
def location(self) -> Optional[pulumi.Input[str]]:
|
@@ -642,6 +678,7 @@ class DataTransferConfig(pulumi.CustomResource):
|
|
642
678
|
disabled: Optional[pulumi.Input[bool]] = None,
|
643
679
|
display_name: Optional[pulumi.Input[str]] = None,
|
644
680
|
email_preferences: Optional[pulumi.Input[Union['DataTransferConfigEmailPreferencesArgs', 'DataTransferConfigEmailPreferencesArgsDict']]] = None,
|
681
|
+
encryption_configuration: Optional[pulumi.Input[Union['DataTransferConfigEncryptionConfigurationArgs', 'DataTransferConfigEncryptionConfigurationArgsDict']]] = None,
|
645
682
|
location: Optional[pulumi.Input[str]] = None,
|
646
683
|
notification_pubsub_topic: Optional[pulumi.Input[str]] = None,
|
647
684
|
params: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
@@ -693,6 +730,45 @@ class DataTransferConfig(pulumi.CustomResource):
|
|
693
730
|
},
|
694
731
|
opts = pulumi.ResourceOptions(depends_on=[permissions]))
|
695
732
|
```
|
733
|
+
### Bigquerydatatransfer Config Cmek
|
734
|
+
|
735
|
+
```python
|
736
|
+
import pulumi
|
737
|
+
import pulumi_gcp as gcp
|
738
|
+
|
739
|
+
project = gcp.organizations.get_project()
|
740
|
+
permissions = gcp.projects.IAMMember("permissions",
|
741
|
+
project=project.project_id,
|
742
|
+
role="roles/iam.serviceAccountTokenCreator",
|
743
|
+
member=f"serviceAccount:service-{project.number}@gcp-sa-bigquerydatatransfer.iam.gserviceaccount.com")
|
744
|
+
my_dataset = gcp.bigquery.Dataset("my_dataset",
|
745
|
+
dataset_id="example_dataset",
|
746
|
+
friendly_name="foo",
|
747
|
+
description="bar",
|
748
|
+
location="asia-northeast1",
|
749
|
+
opts = pulumi.ResourceOptions(depends_on=[permissions]))
|
750
|
+
key_ring = gcp.kms.KeyRing("key_ring",
|
751
|
+
name="example-keyring",
|
752
|
+
location="us")
|
753
|
+
crypto_key = gcp.kms.CryptoKey("crypto_key",
|
754
|
+
name="example-key",
|
755
|
+
key_ring=key_ring.id)
|
756
|
+
query_config_cmek = gcp.bigquery.DataTransferConfig("query_config_cmek",
|
757
|
+
display_name="",
|
758
|
+
location="asia-northeast1",
|
759
|
+
data_source_id="scheduled_query",
|
760
|
+
schedule="first sunday of quarter 00:00",
|
761
|
+
destination_dataset_id=my_dataset.dataset_id,
|
762
|
+
params={
|
763
|
+
"destination_table_name_template": "my_table",
|
764
|
+
"write_disposition": "WRITE_APPEND",
|
765
|
+
"query": "SELECT name FROM tabl WHERE x = 'y'",
|
766
|
+
},
|
767
|
+
encryption_configuration={
|
768
|
+
"kms_key_name": crypto_key.id,
|
769
|
+
},
|
770
|
+
opts = pulumi.ResourceOptions(depends_on=[permissions]))
|
771
|
+
```
|
696
772
|
### Bigquerydatatransfer Config Salesforce
|
697
773
|
|
698
774
|
```python
|
@@ -713,9 +789,7 @@ class DataTransferConfig(pulumi.CustomResource):
|
|
713
789
|
params={
|
714
790
|
"connector.authentication.oauth.clientId": "client-id",
|
715
791
|
"connector.authentication.oauth.clientSecret": "client-secret",
|
716
|
-
"connector.authentication.
|
717
|
-
"connector.authentication.password": "password",
|
718
|
-
"connector.authentication.securityToken": "security-token",
|
792
|
+
"connector.authentication.oauth.myDomain": "MyDomainName",
|
719
793
|
"assets": "[\\"asset-a\\",\\"asset-b\\"]",
|
720
794
|
})
|
721
795
|
```
|
@@ -746,6 +820,8 @@ class DataTransferConfig(pulumi.CustomResource):
|
|
746
820
|
:param pulumi.Input[Union['DataTransferConfigEmailPreferencesArgs', 'DataTransferConfigEmailPreferencesArgsDict']] email_preferences: Email notifications will be sent according to these preferences to the
|
747
821
|
email address of the user who owns this transfer config.
|
748
822
|
Structure is documented below.
|
823
|
+
:param pulumi.Input[Union['DataTransferConfigEncryptionConfigurationArgs', 'DataTransferConfigEncryptionConfigurationArgsDict']] encryption_configuration: Represents the encryption configuration for a transfer.
|
824
|
+
Structure is documented below.
|
749
825
|
:param pulumi.Input[str] location: The geographic location where the transfer config should reside.
|
750
826
|
Examples: US, EU, asia-northeast1. The default value is US.
|
751
827
|
:param pulumi.Input[str] notification_pubsub_topic: Pub/Sub topic where notifications will be sent after transfer runs
|
@@ -829,6 +905,45 @@ class DataTransferConfig(pulumi.CustomResource):
|
|
829
905
|
},
|
830
906
|
opts = pulumi.ResourceOptions(depends_on=[permissions]))
|
831
907
|
```
|
908
|
+
### Bigquerydatatransfer Config Cmek
|
909
|
+
|
910
|
+
```python
|
911
|
+
import pulumi
|
912
|
+
import pulumi_gcp as gcp
|
913
|
+
|
914
|
+
project = gcp.organizations.get_project()
|
915
|
+
permissions = gcp.projects.IAMMember("permissions",
|
916
|
+
project=project.project_id,
|
917
|
+
role="roles/iam.serviceAccountTokenCreator",
|
918
|
+
member=f"serviceAccount:service-{project.number}@gcp-sa-bigquerydatatransfer.iam.gserviceaccount.com")
|
919
|
+
my_dataset = gcp.bigquery.Dataset("my_dataset",
|
920
|
+
dataset_id="example_dataset",
|
921
|
+
friendly_name="foo",
|
922
|
+
description="bar",
|
923
|
+
location="asia-northeast1",
|
924
|
+
opts = pulumi.ResourceOptions(depends_on=[permissions]))
|
925
|
+
key_ring = gcp.kms.KeyRing("key_ring",
|
926
|
+
name="example-keyring",
|
927
|
+
location="us")
|
928
|
+
crypto_key = gcp.kms.CryptoKey("crypto_key",
|
929
|
+
name="example-key",
|
930
|
+
key_ring=key_ring.id)
|
931
|
+
query_config_cmek = gcp.bigquery.DataTransferConfig("query_config_cmek",
|
932
|
+
display_name="",
|
933
|
+
location="asia-northeast1",
|
934
|
+
data_source_id="scheduled_query",
|
935
|
+
schedule="first sunday of quarter 00:00",
|
936
|
+
destination_dataset_id=my_dataset.dataset_id,
|
937
|
+
params={
|
938
|
+
"destination_table_name_template": "my_table",
|
939
|
+
"write_disposition": "WRITE_APPEND",
|
940
|
+
"query": "SELECT name FROM tabl WHERE x = 'y'",
|
941
|
+
},
|
942
|
+
encryption_configuration={
|
943
|
+
"kms_key_name": crypto_key.id,
|
944
|
+
},
|
945
|
+
opts = pulumi.ResourceOptions(depends_on=[permissions]))
|
946
|
+
```
|
832
947
|
### Bigquerydatatransfer Config Salesforce
|
833
948
|
|
834
949
|
```python
|
@@ -849,9 +964,7 @@ class DataTransferConfig(pulumi.CustomResource):
|
|
849
964
|
params={
|
850
965
|
"connector.authentication.oauth.clientId": "client-id",
|
851
966
|
"connector.authentication.oauth.clientSecret": "client-secret",
|
852
|
-
"connector.authentication.
|
853
|
-
"connector.authentication.password": "password",
|
854
|
-
"connector.authentication.securityToken": "security-token",
|
967
|
+
"connector.authentication.oauth.myDomain": "MyDomainName",
|
855
968
|
"assets": "[\\"asset-a\\",\\"asset-b\\"]",
|
856
969
|
})
|
857
970
|
```
|
@@ -889,6 +1002,7 @@ class DataTransferConfig(pulumi.CustomResource):
|
|
889
1002
|
disabled: Optional[pulumi.Input[bool]] = None,
|
890
1003
|
display_name: Optional[pulumi.Input[str]] = None,
|
891
1004
|
email_preferences: Optional[pulumi.Input[Union['DataTransferConfigEmailPreferencesArgs', 'DataTransferConfigEmailPreferencesArgsDict']]] = None,
|
1005
|
+
encryption_configuration: Optional[pulumi.Input[Union['DataTransferConfigEncryptionConfigurationArgs', 'DataTransferConfigEncryptionConfigurationArgsDict']]] = None,
|
892
1006
|
location: Optional[pulumi.Input[str]] = None,
|
893
1007
|
notification_pubsub_topic: Optional[pulumi.Input[str]] = None,
|
894
1008
|
params: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
@@ -916,6 +1030,7 @@ class DataTransferConfig(pulumi.CustomResource):
|
|
916
1030
|
raise TypeError("Missing required property 'display_name'")
|
917
1031
|
__props__.__dict__["display_name"] = display_name
|
918
1032
|
__props__.__dict__["email_preferences"] = email_preferences
|
1033
|
+
__props__.__dict__["encryption_configuration"] = encryption_configuration
|
919
1034
|
__props__.__dict__["location"] = location
|
920
1035
|
__props__.__dict__["notification_pubsub_topic"] = notification_pubsub_topic
|
921
1036
|
if params is None and not opts.urn:
|
@@ -943,6 +1058,7 @@ class DataTransferConfig(pulumi.CustomResource):
|
|
943
1058
|
disabled: Optional[pulumi.Input[bool]] = None,
|
944
1059
|
display_name: Optional[pulumi.Input[str]] = None,
|
945
1060
|
email_preferences: Optional[pulumi.Input[Union['DataTransferConfigEmailPreferencesArgs', 'DataTransferConfigEmailPreferencesArgsDict']]] = None,
|
1061
|
+
encryption_configuration: Optional[pulumi.Input[Union['DataTransferConfigEncryptionConfigurationArgs', 'DataTransferConfigEncryptionConfigurationArgsDict']]] = None,
|
946
1062
|
location: Optional[pulumi.Input[str]] = None,
|
947
1063
|
name: Optional[pulumi.Input[str]] = None,
|
948
1064
|
notification_pubsub_topic: Optional[pulumi.Input[str]] = None,
|
@@ -971,6 +1087,8 @@ class DataTransferConfig(pulumi.CustomResource):
|
|
971
1087
|
:param pulumi.Input[Union['DataTransferConfigEmailPreferencesArgs', 'DataTransferConfigEmailPreferencesArgsDict']] email_preferences: Email notifications will be sent according to these preferences to the
|
972
1088
|
email address of the user who owns this transfer config.
|
973
1089
|
Structure is documented below.
|
1090
|
+
:param pulumi.Input[Union['DataTransferConfigEncryptionConfigurationArgs', 'DataTransferConfigEncryptionConfigurationArgsDict']] encryption_configuration: Represents the encryption configuration for a transfer.
|
1091
|
+
Structure is documented below.
|
974
1092
|
:param pulumi.Input[str] location: The geographic location where the transfer config should reside.
|
975
1093
|
Examples: US, EU, asia-northeast1. The default value is US.
|
976
1094
|
:param pulumi.Input[str] name: The resource name of the transfer config. Transfer config names have the
|
@@ -1021,6 +1139,7 @@ class DataTransferConfig(pulumi.CustomResource):
|
|
1021
1139
|
__props__.__dict__["disabled"] = disabled
|
1022
1140
|
__props__.__dict__["display_name"] = display_name
|
1023
1141
|
__props__.__dict__["email_preferences"] = email_preferences
|
1142
|
+
__props__.__dict__["encryption_configuration"] = encryption_configuration
|
1024
1143
|
__props__.__dict__["location"] = location
|
1025
1144
|
__props__.__dict__["name"] = name
|
1026
1145
|
__props__.__dict__["notification_pubsub_topic"] = notification_pubsub_topic
|
@@ -1086,6 +1205,15 @@ class DataTransferConfig(pulumi.CustomResource):
|
|
1086
1205
|
"""
|
1087
1206
|
return pulumi.get(self, "email_preferences")
|
1088
1207
|
|
1208
|
+
@property
|
1209
|
+
@pulumi.getter(name="encryptionConfiguration")
|
1210
|
+
def encryption_configuration(self) -> pulumi.Output[Optional['outputs.DataTransferConfigEncryptionConfiguration']]:
|
1211
|
+
"""
|
1212
|
+
Represents the encryption configuration for a transfer.
|
1213
|
+
Structure is documented below.
|
1214
|
+
"""
|
1215
|
+
return pulumi.get(self, "encryption_configuration")
|
1216
|
+
|
1089
1217
|
@property
|
1090
1218
|
@pulumi.getter
|
1091
1219
|
def location(self) -> pulumi.Output[Optional[str]]:
|
@@ -0,0 +1,143 @@
|
|
1
|
+
# coding=utf-8
|
2
|
+
# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
|
3
|
+
# *** Do not edit by hand unless you're certain you know what you are doing! ***
|
4
|
+
|
5
|
+
import copy
|
6
|
+
import warnings
|
7
|
+
import sys
|
8
|
+
import pulumi
|
9
|
+
import pulumi.runtime
|
10
|
+
from typing import Any, Mapping, Optional, Sequence, Union, overload
|
11
|
+
if sys.version_info >= (3, 11):
|
12
|
+
from typing import NotRequired, TypedDict, TypeAlias
|
13
|
+
else:
|
14
|
+
from typing_extensions import NotRequired, TypedDict, TypeAlias
|
15
|
+
from .. import _utilities
|
16
|
+
from . import outputs
|
17
|
+
|
18
|
+
__all__ = [
|
19
|
+
'GetTablesResult',
|
20
|
+
'AwaitableGetTablesResult',
|
21
|
+
'get_tables',
|
22
|
+
'get_tables_output',
|
23
|
+
]
|
24
|
+
|
25
|
+
@pulumi.output_type
|
26
|
+
class GetTablesResult:
|
27
|
+
"""
|
28
|
+
A collection of values returned by getTables.
|
29
|
+
"""
|
30
|
+
def __init__(__self__, dataset_id=None, id=None, project=None, tables=None):
|
31
|
+
if dataset_id and not isinstance(dataset_id, str):
|
32
|
+
raise TypeError("Expected argument 'dataset_id' to be a str")
|
33
|
+
pulumi.set(__self__, "dataset_id", dataset_id)
|
34
|
+
if id and not isinstance(id, str):
|
35
|
+
raise TypeError("Expected argument 'id' to be a str")
|
36
|
+
pulumi.set(__self__, "id", id)
|
37
|
+
if project and not isinstance(project, str):
|
38
|
+
raise TypeError("Expected argument 'project' to be a str")
|
39
|
+
pulumi.set(__self__, "project", project)
|
40
|
+
if tables and not isinstance(tables, list):
|
41
|
+
raise TypeError("Expected argument 'tables' to be a list")
|
42
|
+
pulumi.set(__self__, "tables", tables)
|
43
|
+
|
44
|
+
@property
|
45
|
+
@pulumi.getter(name="datasetId")
|
46
|
+
def dataset_id(self) -> str:
|
47
|
+
return pulumi.get(self, "dataset_id")
|
48
|
+
|
49
|
+
@property
|
50
|
+
@pulumi.getter
|
51
|
+
def id(self) -> str:
|
52
|
+
"""
|
53
|
+
The provider-assigned unique ID for this managed resource.
|
54
|
+
"""
|
55
|
+
return pulumi.get(self, "id")
|
56
|
+
|
57
|
+
@property
|
58
|
+
@pulumi.getter
|
59
|
+
def project(self) -> Optional[str]:
|
60
|
+
return pulumi.get(self, "project")
|
61
|
+
|
62
|
+
@property
|
63
|
+
@pulumi.getter
|
64
|
+
def tables(self) -> Sequence['outputs.GetTablesTableResult']:
|
65
|
+
"""
|
66
|
+
A list of all retrieved BigQuery tables. Structure is defined below.
|
67
|
+
"""
|
68
|
+
return pulumi.get(self, "tables")
|
69
|
+
|
70
|
+
|
71
|
+
class AwaitableGetTablesResult(GetTablesResult):
|
72
|
+
# pylint: disable=using-constant-test
|
73
|
+
def __await__(self):
|
74
|
+
if False:
|
75
|
+
yield self
|
76
|
+
return GetTablesResult(
|
77
|
+
dataset_id=self.dataset_id,
|
78
|
+
id=self.id,
|
79
|
+
project=self.project,
|
80
|
+
tables=self.tables)
|
81
|
+
|
82
|
+
|
83
|
+
def get_tables(dataset_id: Optional[str] = None,
|
84
|
+
project: Optional[str] = None,
|
85
|
+
opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetTablesResult:
|
86
|
+
"""
|
87
|
+
Get a list of tables in a BigQuery dataset. For more information see
|
88
|
+
the [official documentation](https://cloud.google.com/bigquery/docs)
|
89
|
+
and [API](https://cloud.google.com/bigquery/docs/reference/rest/v2/tables).
|
90
|
+
|
91
|
+
## Example Usage
|
92
|
+
|
93
|
+
```python
|
94
|
+
import pulumi
|
95
|
+
import pulumi_gcp as gcp
|
96
|
+
|
97
|
+
tables = gcp.bigquery.get_tables(dataset_id="my-bq-dataset",
|
98
|
+
project="my-project")
|
99
|
+
```
|
100
|
+
|
101
|
+
|
102
|
+
:param str dataset_id: The dataset ID.
|
103
|
+
:param str project: The ID of the project in which the resource belongs.
|
104
|
+
If it is not provided, the provider project is used.
|
105
|
+
"""
|
106
|
+
__args__ = dict()
|
107
|
+
__args__['datasetId'] = dataset_id
|
108
|
+
__args__['project'] = project
|
109
|
+
opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
|
110
|
+
__ret__ = pulumi.runtime.invoke('gcp:bigquery/getTables:getTables', __args__, opts=opts, typ=GetTablesResult).value
|
111
|
+
|
112
|
+
return AwaitableGetTablesResult(
|
113
|
+
dataset_id=pulumi.get(__ret__, 'dataset_id'),
|
114
|
+
id=pulumi.get(__ret__, 'id'),
|
115
|
+
project=pulumi.get(__ret__, 'project'),
|
116
|
+
tables=pulumi.get(__ret__, 'tables'))
|
117
|
+
|
118
|
+
|
119
|
+
@_utilities.lift_output_func(get_tables)
|
120
|
+
def get_tables_output(dataset_id: Optional[pulumi.Input[str]] = None,
|
121
|
+
project: Optional[pulumi.Input[Optional[str]]] = None,
|
122
|
+
opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetTablesResult]:
|
123
|
+
"""
|
124
|
+
Get a list of tables in a BigQuery dataset. For more information see
|
125
|
+
the [official documentation](https://cloud.google.com/bigquery/docs)
|
126
|
+
and [API](https://cloud.google.com/bigquery/docs/reference/rest/v2/tables).
|
127
|
+
|
128
|
+
## Example Usage
|
129
|
+
|
130
|
+
```python
|
131
|
+
import pulumi
|
132
|
+
import pulumi_gcp as gcp
|
133
|
+
|
134
|
+
tables = gcp.bigquery.get_tables(dataset_id="my-bq-dataset",
|
135
|
+
project="my-project")
|
136
|
+
```
|
137
|
+
|
138
|
+
|
139
|
+
:param str dataset_id: The dataset ID.
|
140
|
+
:param str project: The ID of the project in which the resource belongs.
|
141
|
+
If it is not provided, the provider project is used.
|
142
|
+
"""
|
143
|
+
...
|
pulumi_gcp/bigquery/outputs.py
CHANGED
@@ -33,6 +33,7 @@ __all__ = [
|
|
33
33
|
'ConnectionSparkMetastoreServiceConfig',
|
34
34
|
'ConnectionSparkSparkHistoryServerConfig',
|
35
35
|
'DataTransferConfigEmailPreferences',
|
36
|
+
'DataTransferConfigEncryptionConfiguration',
|
36
37
|
'DataTransferConfigScheduleOptions',
|
37
38
|
'DataTransferConfigSensitiveParams',
|
38
39
|
'DatasetAccess',
|
@@ -102,6 +103,7 @@ __all__ = [
|
|
102
103
|
'GetDatasetAccessViewResult',
|
103
104
|
'GetDatasetDefaultEncryptionConfigurationResult',
|
104
105
|
'GetDatasetExternalDatasetReferenceResult',
|
106
|
+
'GetTablesTableResult',
|
105
107
|
]
|
106
108
|
|
107
109
|
@pulumi.output_type
|
@@ -985,6 +987,41 @@ class DataTransferConfigEmailPreferences(dict):
|
|
985
987
|
return pulumi.get(self, "enable_failure_email")
|
986
988
|
|
987
989
|
|
990
|
+
@pulumi.output_type
|
991
|
+
class DataTransferConfigEncryptionConfiguration(dict):
|
992
|
+
@staticmethod
|
993
|
+
def __key_warning(key: str):
|
994
|
+
suggest = None
|
995
|
+
if key == "kmsKeyName":
|
996
|
+
suggest = "kms_key_name"
|
997
|
+
|
998
|
+
if suggest:
|
999
|
+
pulumi.log.warn(f"Key '{key}' not found in DataTransferConfigEncryptionConfiguration. Access the value via the '{suggest}' property getter instead.")
|
1000
|
+
|
1001
|
+
def __getitem__(self, key: str) -> Any:
|
1002
|
+
DataTransferConfigEncryptionConfiguration.__key_warning(key)
|
1003
|
+
return super().__getitem__(key)
|
1004
|
+
|
1005
|
+
def get(self, key: str, default = None) -> Any:
|
1006
|
+
DataTransferConfigEncryptionConfiguration.__key_warning(key)
|
1007
|
+
return super().get(key, default)
|
1008
|
+
|
1009
|
+
def __init__(__self__, *,
|
1010
|
+
kms_key_name: str):
|
1011
|
+
"""
|
1012
|
+
:param str kms_key_name: The name of the KMS key used for encrypting BigQuery data.
|
1013
|
+
"""
|
1014
|
+
pulumi.set(__self__, "kms_key_name", kms_key_name)
|
1015
|
+
|
1016
|
+
@property
|
1017
|
+
@pulumi.getter(name="kmsKeyName")
|
1018
|
+
def kms_key_name(self) -> str:
|
1019
|
+
"""
|
1020
|
+
The name of the KMS key used for encrypting BigQuery data.
|
1021
|
+
"""
|
1022
|
+
return pulumi.get(self, "kms_key_name")
|
1023
|
+
|
1024
|
+
|
988
1025
|
@pulumi.output_type
|
989
1026
|
class DataTransferConfigScheduleOptions(dict):
|
990
1027
|
@staticmethod
|
@@ -6299,3 +6336,32 @@ class GetDatasetExternalDatasetReferenceResult(dict):
|
|
6299
6336
|
return pulumi.get(self, "external_source")
|
6300
6337
|
|
6301
6338
|
|
6339
|
+
@pulumi.output_type
|
6340
|
+
class GetTablesTableResult(dict):
|
6341
|
+
def __init__(__self__, *,
|
6342
|
+
labels: Mapping[str, str],
|
6343
|
+
table_id: str):
|
6344
|
+
"""
|
6345
|
+
:param Mapping[str, str] labels: User-provided table labels, in key/value pairs.
|
6346
|
+
:param str table_id: The name of the table.
|
6347
|
+
"""
|
6348
|
+
pulumi.set(__self__, "labels", labels)
|
6349
|
+
pulumi.set(__self__, "table_id", table_id)
|
6350
|
+
|
6351
|
+
@property
|
6352
|
+
@pulumi.getter
|
6353
|
+
def labels(self) -> Mapping[str, str]:
|
6354
|
+
"""
|
6355
|
+
User-provided table labels, in key/value pairs.
|
6356
|
+
"""
|
6357
|
+
return pulumi.get(self, "labels")
|
6358
|
+
|
6359
|
+
@property
|
6360
|
+
@pulumi.getter(name="tableId")
|
6361
|
+
def table_id(self) -> str:
|
6362
|
+
"""
|
6363
|
+
The name of the table.
|
6364
|
+
"""
|
6365
|
+
return pulumi.get(self, "table_id")
|
6366
|
+
|
6367
|
+
|