pulumi-gcp 8.0.0a1726253601__py3-none-any.whl → 8.1.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 +24 -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/_inputs.py +33 -0
- pulumi_gcp/bigquery/data_transfer_config.py +134 -6
- pulumi_gcp/bigquery/outputs.py +36 -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/_inputs.py +129 -9
- pulumi_gcp/compute/get_instance.py +1 -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/node_template.py +93 -0
- pulumi_gcp/compute/outputs.py +108 -6
- pulumi_gcp/compute/target_https_proxy.py +28 -0
- pulumi_gcp/container/_inputs.py +140 -3
- pulumi_gcp/container/attached_cluster.py +7 -7
- pulumi_gcp/container/outputs.py +174 -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/outputs.py +18 -18
- pulumi_gcp/datastream/_inputs.py +69 -1
- pulumi_gcp/datastream/outputs.py +44 -2
- pulumi_gcp/datastream/stream.py +194 -7
- 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/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/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 +7 -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/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/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_scc_big_query_export.py +796 -0
- {pulumi_gcp-8.0.0a1726253601.dist-info → pulumi_gcp-8.1.0.dist-info}/METADATA +1 -1
- {pulumi_gcp-8.0.0a1726253601.dist-info → pulumi_gcp-8.1.0.dist-info}/RECORD +101 -95
- {pulumi_gcp-8.0.0a1726253601.dist-info → pulumi_gcp-8.1.0.dist-info}/WHEEL +1 -1
- {pulumi_gcp-8.0.0a1726253601.dist-info → pulumi_gcp-8.1.0.dist-info}/top_level.txt +0 -0
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]]:
|
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',
|
@@ -985,6 +986,41 @@ class DataTransferConfigEmailPreferences(dict):
|
|
985
986
|
return pulumi.get(self, "enable_failure_email")
|
986
987
|
|
987
988
|
|
989
|
+
@pulumi.output_type
|
990
|
+
class DataTransferConfigEncryptionConfiguration(dict):
|
991
|
+
@staticmethod
|
992
|
+
def __key_warning(key: str):
|
993
|
+
suggest = None
|
994
|
+
if key == "kmsKeyName":
|
995
|
+
suggest = "kms_key_name"
|
996
|
+
|
997
|
+
if suggest:
|
998
|
+
pulumi.log.warn(f"Key '{key}' not found in DataTransferConfigEncryptionConfiguration. Access the value via the '{suggest}' property getter instead.")
|
999
|
+
|
1000
|
+
def __getitem__(self, key: str) -> Any:
|
1001
|
+
DataTransferConfigEncryptionConfiguration.__key_warning(key)
|
1002
|
+
return super().__getitem__(key)
|
1003
|
+
|
1004
|
+
def get(self, key: str, default = None) -> Any:
|
1005
|
+
DataTransferConfigEncryptionConfiguration.__key_warning(key)
|
1006
|
+
return super().get(key, default)
|
1007
|
+
|
1008
|
+
def __init__(__self__, *,
|
1009
|
+
kms_key_name: str):
|
1010
|
+
"""
|
1011
|
+
:param str kms_key_name: The name of the KMS key used for encrypting BigQuery data.
|
1012
|
+
"""
|
1013
|
+
pulumi.set(__self__, "kms_key_name", kms_key_name)
|
1014
|
+
|
1015
|
+
@property
|
1016
|
+
@pulumi.getter(name="kmsKeyName")
|
1017
|
+
def kms_key_name(self) -> str:
|
1018
|
+
"""
|
1019
|
+
The name of the KMS key used for encrypting BigQuery data.
|
1020
|
+
"""
|
1021
|
+
return pulumi.get(self, "kms_key_name")
|
1022
|
+
|
1023
|
+
|
988
1024
|
@pulumi.output_type
|
989
1025
|
class DataTransferConfigScheduleOptions(dict):
|
990
1026
|
@staticmethod
|
@@ -19,8 +19,16 @@ __all__ = [
|
|
19
19
|
'DataExchangeIamBindingConditionArgsDict',
|
20
20
|
'DataExchangeIamMemberConditionArgs',
|
21
21
|
'DataExchangeIamMemberConditionArgsDict',
|
22
|
+
'DataExchangeSharingEnvironmentConfigArgs',
|
23
|
+
'DataExchangeSharingEnvironmentConfigArgsDict',
|
24
|
+
'DataExchangeSharingEnvironmentConfigDcrExchangeConfigArgs',
|
25
|
+
'DataExchangeSharingEnvironmentConfigDcrExchangeConfigArgsDict',
|
26
|
+
'DataExchangeSharingEnvironmentConfigDefaultExchangeConfigArgs',
|
27
|
+
'DataExchangeSharingEnvironmentConfigDefaultExchangeConfigArgsDict',
|
22
28
|
'ListingBigqueryDatasetArgs',
|
23
29
|
'ListingBigqueryDatasetArgsDict',
|
30
|
+
'ListingBigqueryDatasetSelectedResourceArgs',
|
31
|
+
'ListingBigqueryDatasetSelectedResourceArgsDict',
|
24
32
|
'ListingDataProviderArgs',
|
25
33
|
'ListingDataProviderArgsDict',
|
26
34
|
'ListingIamBindingConditionArgs',
|
@@ -129,13 +137,92 @@ class DataExchangeIamMemberConditionArgs:
|
|
129
137
|
pulumi.set(self, "description", value)
|
130
138
|
|
131
139
|
|
140
|
+
if not MYPY:
|
141
|
+
class DataExchangeSharingEnvironmentConfigArgsDict(TypedDict):
|
142
|
+
dcr_exchange_config: NotRequired[pulumi.Input['DataExchangeSharingEnvironmentConfigDcrExchangeConfigArgsDict']]
|
143
|
+
"""
|
144
|
+
Data Clean Room (DCR), used for privacy-safe and secured data sharing.
|
145
|
+
"""
|
146
|
+
default_exchange_config: NotRequired[pulumi.Input['DataExchangeSharingEnvironmentConfigDefaultExchangeConfigArgsDict']]
|
147
|
+
"""
|
148
|
+
Default Analytics Hub data exchange, used for secured data sharing.
|
149
|
+
"""
|
150
|
+
elif False:
|
151
|
+
DataExchangeSharingEnvironmentConfigArgsDict: TypeAlias = Mapping[str, Any]
|
152
|
+
|
153
|
+
@pulumi.input_type
|
154
|
+
class DataExchangeSharingEnvironmentConfigArgs:
|
155
|
+
def __init__(__self__, *,
|
156
|
+
dcr_exchange_config: Optional[pulumi.Input['DataExchangeSharingEnvironmentConfigDcrExchangeConfigArgs']] = None,
|
157
|
+
default_exchange_config: Optional[pulumi.Input['DataExchangeSharingEnvironmentConfigDefaultExchangeConfigArgs']] = None):
|
158
|
+
"""
|
159
|
+
:param pulumi.Input['DataExchangeSharingEnvironmentConfigDcrExchangeConfigArgs'] dcr_exchange_config: Data Clean Room (DCR), used for privacy-safe and secured data sharing.
|
160
|
+
:param pulumi.Input['DataExchangeSharingEnvironmentConfigDefaultExchangeConfigArgs'] default_exchange_config: Default Analytics Hub data exchange, used for secured data sharing.
|
161
|
+
"""
|
162
|
+
if dcr_exchange_config is not None:
|
163
|
+
pulumi.set(__self__, "dcr_exchange_config", dcr_exchange_config)
|
164
|
+
if default_exchange_config is not None:
|
165
|
+
pulumi.set(__self__, "default_exchange_config", default_exchange_config)
|
166
|
+
|
167
|
+
@property
|
168
|
+
@pulumi.getter(name="dcrExchangeConfig")
|
169
|
+
def dcr_exchange_config(self) -> Optional[pulumi.Input['DataExchangeSharingEnvironmentConfigDcrExchangeConfigArgs']]:
|
170
|
+
"""
|
171
|
+
Data Clean Room (DCR), used for privacy-safe and secured data sharing.
|
172
|
+
"""
|
173
|
+
return pulumi.get(self, "dcr_exchange_config")
|
174
|
+
|
175
|
+
@dcr_exchange_config.setter
|
176
|
+
def dcr_exchange_config(self, value: Optional[pulumi.Input['DataExchangeSharingEnvironmentConfigDcrExchangeConfigArgs']]):
|
177
|
+
pulumi.set(self, "dcr_exchange_config", value)
|
178
|
+
|
179
|
+
@property
|
180
|
+
@pulumi.getter(name="defaultExchangeConfig")
|
181
|
+
def default_exchange_config(self) -> Optional[pulumi.Input['DataExchangeSharingEnvironmentConfigDefaultExchangeConfigArgs']]:
|
182
|
+
"""
|
183
|
+
Default Analytics Hub data exchange, used for secured data sharing.
|
184
|
+
"""
|
185
|
+
return pulumi.get(self, "default_exchange_config")
|
186
|
+
|
187
|
+
@default_exchange_config.setter
|
188
|
+
def default_exchange_config(self, value: Optional[pulumi.Input['DataExchangeSharingEnvironmentConfigDefaultExchangeConfigArgs']]):
|
189
|
+
pulumi.set(self, "default_exchange_config", value)
|
190
|
+
|
191
|
+
|
192
|
+
if not MYPY:
|
193
|
+
class DataExchangeSharingEnvironmentConfigDcrExchangeConfigArgsDict(TypedDict):
|
194
|
+
pass
|
195
|
+
elif False:
|
196
|
+
DataExchangeSharingEnvironmentConfigDcrExchangeConfigArgsDict: TypeAlias = Mapping[str, Any]
|
197
|
+
|
198
|
+
@pulumi.input_type
|
199
|
+
class DataExchangeSharingEnvironmentConfigDcrExchangeConfigArgs:
|
200
|
+
def __init__(__self__):
|
201
|
+
pass
|
202
|
+
|
203
|
+
|
204
|
+
if not MYPY:
|
205
|
+
class DataExchangeSharingEnvironmentConfigDefaultExchangeConfigArgsDict(TypedDict):
|
206
|
+
pass
|
207
|
+
elif False:
|
208
|
+
DataExchangeSharingEnvironmentConfigDefaultExchangeConfigArgsDict: TypeAlias = Mapping[str, Any]
|
209
|
+
|
210
|
+
@pulumi.input_type
|
211
|
+
class DataExchangeSharingEnvironmentConfigDefaultExchangeConfigArgs:
|
212
|
+
def __init__(__self__):
|
213
|
+
pass
|
214
|
+
|
215
|
+
|
132
216
|
if not MYPY:
|
133
217
|
class ListingBigqueryDatasetArgsDict(TypedDict):
|
134
218
|
dataset: pulumi.Input[str]
|
135
219
|
"""
|
136
220
|
Resource name of the dataset source for this listing. e.g. projects/myproject/datasets/123
|
137
|
-
|
138
|
-
|
221
|
+
"""
|
222
|
+
selected_resources: NotRequired[pulumi.Input[Sequence[pulumi.Input['ListingBigqueryDatasetSelectedResourceArgsDict']]]]
|
223
|
+
"""
|
224
|
+
Resource in this dataset that is selectively shared. This field is required for data clean room exchanges.
|
225
|
+
Structure is documented below.
|
139
226
|
"""
|
140
227
|
elif False:
|
141
228
|
ListingBigqueryDatasetArgsDict: TypeAlias = Mapping[str, Any]
|
@@ -143,21 +230,22 @@ elif False:
|
|
143
230
|
@pulumi.input_type
|
144
231
|
class ListingBigqueryDatasetArgs:
|
145
232
|
def __init__(__self__, *,
|
146
|
-
dataset: pulumi.Input[str]
|
233
|
+
dataset: pulumi.Input[str],
|
234
|
+
selected_resources: Optional[pulumi.Input[Sequence[pulumi.Input['ListingBigqueryDatasetSelectedResourceArgs']]]] = None):
|
147
235
|
"""
|
148
236
|
:param pulumi.Input[str] dataset: Resource name of the dataset source for this listing. e.g. projects/myproject/datasets/123
|
149
|
-
|
150
|
-
|
237
|
+
:param pulumi.Input[Sequence[pulumi.Input['ListingBigqueryDatasetSelectedResourceArgs']]] selected_resources: Resource in this dataset that is selectively shared. This field is required for data clean room exchanges.
|
238
|
+
Structure is documented below.
|
151
239
|
"""
|
152
240
|
pulumi.set(__self__, "dataset", dataset)
|
241
|
+
if selected_resources is not None:
|
242
|
+
pulumi.set(__self__, "selected_resources", selected_resources)
|
153
243
|
|
154
244
|
@property
|
155
245
|
@pulumi.getter
|
156
246
|
def dataset(self) -> pulumi.Input[str]:
|
157
247
|
"""
|
158
248
|
Resource name of the dataset source for this listing. e.g. projects/myproject/datasets/123
|
159
|
-
|
160
|
-
- - -
|
161
249
|
"""
|
162
250
|
return pulumi.get(self, "dataset")
|
163
251
|
|
@@ -165,6 +253,57 @@ class ListingBigqueryDatasetArgs:
|
|
165
253
|
def dataset(self, value: pulumi.Input[str]):
|
166
254
|
pulumi.set(self, "dataset", value)
|
167
255
|
|
256
|
+
@property
|
257
|
+
@pulumi.getter(name="selectedResources")
|
258
|
+
def selected_resources(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ListingBigqueryDatasetSelectedResourceArgs']]]]:
|
259
|
+
"""
|
260
|
+
Resource in this dataset that is selectively shared. This field is required for data clean room exchanges.
|
261
|
+
Structure is documented below.
|
262
|
+
"""
|
263
|
+
return pulumi.get(self, "selected_resources")
|
264
|
+
|
265
|
+
@selected_resources.setter
|
266
|
+
def selected_resources(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ListingBigqueryDatasetSelectedResourceArgs']]]]):
|
267
|
+
pulumi.set(self, "selected_resources", value)
|
268
|
+
|
269
|
+
|
270
|
+
if not MYPY:
|
271
|
+
class ListingBigqueryDatasetSelectedResourceArgsDict(TypedDict):
|
272
|
+
table: NotRequired[pulumi.Input[str]]
|
273
|
+
"""
|
274
|
+
Format: For table: projects/{projectId}/datasets/{datasetId}/tables/{tableId} Example:"projects/test_project/datasets/test_dataset/tables/test_table"
|
275
|
+
|
276
|
+
- - -
|
277
|
+
"""
|
278
|
+
elif False:
|
279
|
+
ListingBigqueryDatasetSelectedResourceArgsDict: TypeAlias = Mapping[str, Any]
|
280
|
+
|
281
|
+
@pulumi.input_type
|
282
|
+
class ListingBigqueryDatasetSelectedResourceArgs:
|
283
|
+
def __init__(__self__, *,
|
284
|
+
table: Optional[pulumi.Input[str]] = None):
|
285
|
+
"""
|
286
|
+
:param pulumi.Input[str] table: Format: For table: projects/{projectId}/datasets/{datasetId}/tables/{tableId} Example:"projects/test_project/datasets/test_dataset/tables/test_table"
|
287
|
+
|
288
|
+
- - -
|
289
|
+
"""
|
290
|
+
if table is not None:
|
291
|
+
pulumi.set(__self__, "table", table)
|
292
|
+
|
293
|
+
@property
|
294
|
+
@pulumi.getter
|
295
|
+
def table(self) -> Optional[pulumi.Input[str]]:
|
296
|
+
"""
|
297
|
+
Format: For table: projects/{projectId}/datasets/{datasetId}/tables/{tableId} Example:"projects/test_project/datasets/test_dataset/tables/test_table"
|
298
|
+
|
299
|
+
- - -
|
300
|
+
"""
|
301
|
+
return pulumi.get(self, "table")
|
302
|
+
|
303
|
+
@table.setter
|
304
|
+
def table(self, value: Optional[pulumi.Input[str]]):
|
305
|
+
pulumi.set(self, "table", value)
|
306
|
+
|
168
307
|
|
169
308
|
if not MYPY:
|
170
309
|
class ListingDataProviderArgsDict(TypedDict):
|
@@ -368,6 +507,11 @@ if not MYPY:
|
|
368
507
|
"""
|
369
508
|
If true, enable restricted export.
|
370
509
|
"""
|
510
|
+
restrict_direct_table_access: NotRequired[pulumi.Input[bool]]
|
511
|
+
"""
|
512
|
+
(Output)
|
513
|
+
If true, restrict direct table access(read api/tabledata.list) on linked table.
|
514
|
+
"""
|
371
515
|
restrict_query_result: NotRequired[pulumi.Input[bool]]
|
372
516
|
"""
|
373
517
|
If true, restrict export of query result derived from restricted linked dataset table.
|
@@ -379,13 +523,18 @@ elif False:
|
|
379
523
|
class ListingRestrictedExportConfigArgs:
|
380
524
|
def __init__(__self__, *,
|
381
525
|
enabled: Optional[pulumi.Input[bool]] = None,
|
526
|
+
restrict_direct_table_access: Optional[pulumi.Input[bool]] = None,
|
382
527
|
restrict_query_result: Optional[pulumi.Input[bool]] = None):
|
383
528
|
"""
|
384
529
|
:param pulumi.Input[bool] enabled: If true, enable restricted export.
|
530
|
+
:param pulumi.Input[bool] restrict_direct_table_access: (Output)
|
531
|
+
If true, restrict direct table access(read api/tabledata.list) on linked table.
|
385
532
|
:param pulumi.Input[bool] restrict_query_result: If true, restrict export of query result derived from restricted linked dataset table.
|
386
533
|
"""
|
387
534
|
if enabled is not None:
|
388
535
|
pulumi.set(__self__, "enabled", enabled)
|
536
|
+
if restrict_direct_table_access is not None:
|
537
|
+
pulumi.set(__self__, "restrict_direct_table_access", restrict_direct_table_access)
|
389
538
|
if restrict_query_result is not None:
|
390
539
|
pulumi.set(__self__, "restrict_query_result", restrict_query_result)
|
391
540
|
|
@@ -401,6 +550,19 @@ class ListingRestrictedExportConfigArgs:
|
|
401
550
|
def enabled(self, value: Optional[pulumi.Input[bool]]):
|
402
551
|
pulumi.set(self, "enabled", value)
|
403
552
|
|
553
|
+
@property
|
554
|
+
@pulumi.getter(name="restrictDirectTableAccess")
|
555
|
+
def restrict_direct_table_access(self) -> Optional[pulumi.Input[bool]]:
|
556
|
+
"""
|
557
|
+
(Output)
|
558
|
+
If true, restrict direct table access(read api/tabledata.list) on linked table.
|
559
|
+
"""
|
560
|
+
return pulumi.get(self, "restrict_direct_table_access")
|
561
|
+
|
562
|
+
@restrict_direct_table_access.setter
|
563
|
+
def restrict_direct_table_access(self, value: Optional[pulumi.Input[bool]]):
|
564
|
+
pulumi.set(self, "restrict_direct_table_access", value)
|
565
|
+
|
404
566
|
@property
|
405
567
|
@pulumi.getter(name="restrictQueryResult")
|
406
568
|
def restrict_query_result(self) -> Optional[pulumi.Input[bool]]:
|