pulumi-gcp 7.24.0a1716588893__py3-none-any.whl → 7.25.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 +88 -0
- pulumi_gcp/accesscontextmanager/service_perimeter_egress_policy.py +0 -64
- pulumi_gcp/accesscontextmanager/service_perimeter_ingress_policy.py +0 -70
- pulumi_gcp/alloydb/backup.py +50 -42
- pulumi_gcp/alloydb/cluster.py +56 -48
- pulumi_gcp/alloydb/instance.py +50 -42
- pulumi_gcp/alloydb/user.py +32 -24
- pulumi_gcp/apigateway/api_config.py +0 -114
- pulumi_gcp/apigateway/gateway.py +0 -44
- pulumi_gcp/apigee/addons_config.py +14 -4
- pulumi_gcp/apigee/endpoint_attachment.py +4 -2
- pulumi_gcp/apigee/env_group.py +4 -2
- pulumi_gcp/apigee/environment.py +4 -2
- pulumi_gcp/apigee/instance.py +22 -8
- pulumi_gcp/apigee/keystores_aliases_self_signed_cert.py +26 -10
- pulumi_gcp/apigee/nat_address.py +10 -2
- pulumi_gcp/apigee/organization.py +18 -6
- pulumi_gcp/apigee/sync_authorization.py +8 -4
- pulumi_gcp/apigee/target_server.py +26 -10
- pulumi_gcp/appengine/_inputs.py +18 -0
- pulumi_gcp/appengine/domain_mapping.py +1 -1
- pulumi_gcp/appengine/outputs.py +16 -0
- pulumi_gcp/apphub/service.py +40 -20
- pulumi_gcp/apphub/service_project_attachment.py +16 -8
- pulumi_gcp/apphub/workload.py +0 -418
- pulumi_gcp/applicationintegration/auth_config.py +4 -2
- pulumi_gcp/artifactregistry/repository.py +14 -12
- pulumi_gcp/backupdisasterrecovery/management_server.py +4 -2
- pulumi_gcp/bigquery/_inputs.py +286 -2
- pulumi_gcp/bigquery/data_transfer_config.py +8 -4
- pulumi_gcp/bigquery/job.py +22 -16
- pulumi_gcp/bigquery/outputs.py +289 -2
- pulumi_gcp/bigquery/table.py +77 -35
- pulumi_gcp/certificateauthority/authority.py +10 -2
- pulumi_gcp/certificateauthority/certificate.py +8 -4
- pulumi_gcp/certificatemanager/certificate.py +84 -80
- pulumi_gcp/certificatemanager/certificate_issuance_config.py +32 -30
- pulumi_gcp/cloudbuild/bitbucket_server_config.py +12 -6
- pulumi_gcp/cloudbuild/trigger.py +22 -14
- pulumi_gcp/cloudbuild/worker_pool.py +12 -6
- pulumi_gcp/cloudbuildv2/connection.py +10 -2
- pulumi_gcp/cloudbuildv2/repository.py +10 -2
- pulumi_gcp/cloudfunctionsv2/function.py +110 -66
- pulumi_gcp/cloudids/endpoint.py +4 -2
- pulumi_gcp/cloudrun/_inputs.py +80 -4
- pulumi_gcp/cloudrun/outputs.py +137 -4
- pulumi_gcp/cloudrunv2/job.py +32 -20
- pulumi_gcp/cloudrunv2/service.py +28 -20
- pulumi_gcp/composer/user_workloads_secret.py +4 -4
- pulumi_gcp/compute/__init__.py +1 -0
- pulumi_gcp/compute/_inputs.py +398 -176
- pulumi_gcp/compute/forwarding_rule.py +225 -817
- pulumi_gcp/compute/get_subnetworks.py +157 -0
- pulumi_gcp/compute/global_forwarding_rule.py +0 -766
- pulumi_gcp/compute/instance_group.py +0 -100
- pulumi_gcp/compute/instance_group_membership.py +2 -2
- pulumi_gcp/compute/interconnect_attachment.py +82 -0
- pulumi_gcp/compute/network_endpoint.py +2 -2
- pulumi_gcp/compute/network_endpoint_list.py +2 -2
- pulumi_gcp/compute/outputs.py +609 -161
- pulumi_gcp/compute/packet_mirroring.py +4 -2
- pulumi_gcp/compute/region_security_policy_rule.py +4 -2
- pulumi_gcp/compute/region_ssl_certificate.py +0 -188
- pulumi_gcp/compute/region_ssl_policy.py +39 -40
- pulumi_gcp/compute/route.py +10 -2
- pulumi_gcp/compute/security_policy_rule.py +55 -1
- pulumi_gcp/compute/ssl_certificate.py +0 -166
- pulumi_gcp/compute/target_instance.py +4 -2
- pulumi_gcp/compute/vpn_gateway.py +12 -2
- pulumi_gcp/compute/vpn_tunnel.py +26 -16
- pulumi_gcp/container/_inputs.py +560 -0
- pulumi_gcp/container/outputs.py +1106 -51
- pulumi_gcp/databasemigrationservice/connection_profile.py +32 -16
- pulumi_gcp/datacatalog/policy_tag.py +4 -2
- pulumi_gcp/datafusion/instance.py +14 -12
- pulumi_gcp/dataplex/__init__.py +10 -0
- pulumi_gcp/dataplex/_inputs.py +160 -0
- pulumi_gcp/dataplex/aspect_type.py +1077 -0
- pulumi_gcp/dataplex/aspect_type_iam_binding.py +765 -0
- pulumi_gcp/dataplex/aspect_type_iam_member.py +765 -0
- pulumi_gcp/dataplex/aspect_type_iam_policy.py +604 -0
- pulumi_gcp/dataplex/asset.py +4 -2
- pulumi_gcp/dataplex/datascan.py +16 -14
- pulumi_gcp/dataplex/entry_group.py +722 -0
- pulumi_gcp/dataplex/entry_group_iam_binding.py +765 -0
- pulumi_gcp/dataplex/entry_group_iam_member.py +765 -0
- pulumi_gcp/dataplex/entry_group_iam_policy.py +604 -0
- pulumi_gcp/dataplex/get_aspect_type_iam_policy.py +164 -0
- pulumi_gcp/dataplex/get_entry_group_iam_policy.py +164 -0
- pulumi_gcp/dataplex/outputs.py +112 -0
- pulumi_gcp/datastore/data_store_index.py +4 -2
- pulumi_gcp/datastream/connection_profile.py +47 -0
- pulumi_gcp/datastream/private_connection.py +47 -0
- pulumi_gcp/datastream/stream.py +63 -10
- pulumi_gcp/diagflow/cx_test_case.py +4 -4
- pulumi_gcp/diagflow/entity_type.py +4 -2
- pulumi_gcp/diagflow/fulfillment.py +4 -2
- pulumi_gcp/diagflow/intent.py +8 -4
- pulumi_gcp/dns/get_managed_zone.py +3 -3
- pulumi_gcp/dns/managed_zone.py +7 -7
- pulumi_gcp/dns/outputs.py +2 -2
- pulumi_gcp/edgecontainer/node_pool.py +4 -2
- pulumi_gcp/edgecontainer/vpn_connection.py +4 -2
- pulumi_gcp/eventarc/channel.py +4 -2
- pulumi_gcp/eventarc/google_channel_config.py +4 -2
- pulumi_gcp/firebase/app_check_app_attest_config.py +16 -8
- pulumi_gcp/firebase/app_check_debug_token.py +8 -4
- pulumi_gcp/firebase/app_check_device_check_config.py +8 -4
- pulumi_gcp/firebase/app_check_play_integrity_config.py +16 -8
- pulumi_gcp/firebase/app_check_recaptcha_enterprise_config.py +8 -4
- pulumi_gcp/firebase/app_check_recaptcha_v3_config.py +8 -4
- pulumi_gcp/firebase/app_check_service_config.py +12 -6
- pulumi_gcp/firebase/database_instance.py +4 -2
- pulumi_gcp/firebaserules/release.py +0 -98
- pulumi_gcp/firestore/database.py +24 -20
- pulumi_gcp/firestore/document.py +24 -12
- pulumi_gcp/folder/access_approval_settings.py +4 -2
- pulumi_gcp/gkehub/membership_binding.py +14 -4
- pulumi_gcp/gkehub/membership_rbac_role_binding.py +8 -4
- pulumi_gcp/gkehub/namespace.py +4 -2
- pulumi_gcp/gkehub/scope_rbac_role_binding.py +4 -2
- pulumi_gcp/integrationconnectors/connection.py +4 -2
- pulumi_gcp/integrationconnectors/managed_zone.py +18 -6
- pulumi_gcp/kms/__init__.py +2 -0
- pulumi_gcp/kms/autokey_config.py +366 -0
- pulumi_gcp/kms/key_handle.py +548 -0
- pulumi_gcp/logging/folder_settings.py +12 -10
- pulumi_gcp/logging/linked_dataset.py +4 -2
- pulumi_gcp/logging/organization_settings.py +12 -10
- pulumi_gcp/logging/project_bucket_config.py +4 -2
- pulumi_gcp/looker/instance.py +12 -10
- pulumi_gcp/netapp/volume_replication.py +4 -2
- pulumi_gcp/netapp/volume_snapshot.py +4 -2
- pulumi_gcp/networkconnectivity/internal_range.py +14 -12
- pulumi_gcp/networksecurity/gateway_security_policy.py +16 -4
- pulumi_gcp/networksecurity/tls_inspection_policy.py +22 -4
- pulumi_gcp/networkservices/__init__.py +1 -0
- pulumi_gcp/networkservices/_inputs.py +245 -27
- pulumi_gcp/networkservices/gateway.py +12 -6
- pulumi_gcp/networkservices/lb_route_extension.py +663 -0
- pulumi_gcp/networkservices/lb_traffic_extension.py +28 -540
- pulumi_gcp/networkservices/outputs.py +251 -20
- pulumi_gcp/organizations/access_approval_settings.py +4 -2
- pulumi_gcp/orgpolicy/policy.py +2 -2
- pulumi_gcp/parallelstore/instance.py +20 -18
- pulumi_gcp/projects/access_approval_settings.py +4 -2
- pulumi_gcp/pubsub/_inputs.py +16 -0
- pulumi_gcp/pubsub/outputs.py +25 -0
- pulumi_gcp/pubsub/schema.py +4 -2
- pulumi_gcp/pubsub/subscription.py +102 -66
- pulumi_gcp/pubsub/topic.py +4 -2
- pulumi_gcp/pulumi-plugin.json +1 -1
- pulumi_gcp/redis/cluster.py +30 -28
- pulumi_gcp/redis/instance.py +4 -2
- pulumi_gcp/secretmanager/secret.py +4 -2
- pulumi_gcp/securesourcemanager/instance.py +20 -8
- pulumi_gcp/securitycenter/instance_iam_binding.py +14 -12
- pulumi_gcp/securitycenter/instance_iam_member.py +14 -12
- pulumi_gcp/securitycenter/instance_iam_policy.py +14 -12
- pulumi_gcp/serviceaccount/key.py +2 -2
- pulumi_gcp/sql/database_instance.py +4 -2
- pulumi_gcp/sql/user.py +4 -4
- pulumi_gcp/storage/get_project_service_account.py +4 -2
- pulumi_gcp/storage/insights_report_config.py +12 -10
- pulumi_gcp/storage/notification.py +18 -16
- pulumi_gcp/storage/transfer_agent_pool.py +4 -2
- pulumi_gcp/storage/transfer_job.py +14 -4
- pulumi_gcp/tpu/_inputs.py +2 -2
- pulumi_gcp/tpu/outputs.py +2 -2
- pulumi_gcp/tpu/v2_vm.py +10 -6
- pulumi_gcp/vertex/ai_endpoint.py +24 -22
- pulumi_gcp/vertex/ai_index_endpoint.py +20 -18
- pulumi_gcp/vertex/ai_tensorboard.py +14 -12
- pulumi_gcp/vmwareengine/external_address.py +4 -2
- pulumi_gcp/vmwareengine/network.py +8 -4
- {pulumi_gcp-7.24.0a1716588893.dist-info → pulumi_gcp-7.25.0.dist-info}/METADATA +1 -1
- {pulumi_gcp-7.24.0a1716588893.dist-info → pulumi_gcp-7.25.0.dist-info}/RECORD +179 -165
- {pulumi_gcp-7.24.0a1716588893.dist-info → pulumi_gcp-7.25.0.dist-info}/WHEEL +0 -0
- {pulumi_gcp-7.24.0a1716588893.dist-info → pulumi_gcp-7.25.0.dist-info}/top_level.txt +0 -0
@@ -242,18 +242,19 @@ class InstanceIamPolicy(pulumi.CustomResource):
|
|
242
242
|
crypto_key = gcp.kms.CryptoKey("crypto_key",
|
243
243
|
name="my-instance",
|
244
244
|
key_ring=key_ring.id)
|
245
|
+
project = gcp.organizations.get_project()
|
246
|
+
crypto_key_member = gcp.kms.CryptoKeyIAMMember("crypto_key_member",
|
247
|
+
crypto_key_id=crypto_key.id,
|
248
|
+
role="roles/cloudkms.cryptoKeyEncrypterDecrypter",
|
249
|
+
member=f"serviceAccount:service-{project.number}@gcp-sa-datafusion.iam.gserviceaccount.com")
|
245
250
|
cmek = gcp.datafusion.Instance("cmek",
|
246
251
|
name="my-instance",
|
247
252
|
region="us-central1",
|
248
253
|
type="BASIC",
|
249
254
|
crypto_key_config=gcp.datafusion.InstanceCryptoKeyConfigArgs(
|
250
255
|
key_reference=crypto_key.id,
|
251
|
-
)
|
252
|
-
|
253
|
-
crypto_key_member = gcp.kms.CryptoKeyIAMMember("crypto_key_member",
|
254
|
-
crypto_key_id=crypto_key.id,
|
255
|
-
role="roles/cloudkms.cryptoKeyEncrypterDecrypter",
|
256
|
-
member=f"serviceAccount:service-{project.number}@gcp-sa-datafusion.iam.gserviceaccount.com")
|
256
|
+
),
|
257
|
+
opts=pulumi.ResourceOptions(depends_on=[crypto_key_member]))
|
257
258
|
```
|
258
259
|
### Data Fusion Instance Enterprise
|
259
260
|
|
@@ -409,18 +410,19 @@ class InstanceIamPolicy(pulumi.CustomResource):
|
|
409
410
|
crypto_key = gcp.kms.CryptoKey("crypto_key",
|
410
411
|
name="my-instance",
|
411
412
|
key_ring=key_ring.id)
|
413
|
+
project = gcp.organizations.get_project()
|
414
|
+
crypto_key_member = gcp.kms.CryptoKeyIAMMember("crypto_key_member",
|
415
|
+
crypto_key_id=crypto_key.id,
|
416
|
+
role="roles/cloudkms.cryptoKeyEncrypterDecrypter",
|
417
|
+
member=f"serviceAccount:service-{project.number}@gcp-sa-datafusion.iam.gserviceaccount.com")
|
412
418
|
cmek = gcp.datafusion.Instance("cmek",
|
413
419
|
name="my-instance",
|
414
420
|
region="us-central1",
|
415
421
|
type="BASIC",
|
416
422
|
crypto_key_config=gcp.datafusion.InstanceCryptoKeyConfigArgs(
|
417
423
|
key_reference=crypto_key.id,
|
418
|
-
)
|
419
|
-
|
420
|
-
crypto_key_member = gcp.kms.CryptoKeyIAMMember("crypto_key_member",
|
421
|
-
crypto_key_id=crypto_key.id,
|
422
|
-
role="roles/cloudkms.cryptoKeyEncrypterDecrypter",
|
423
|
-
member=f"serviceAccount:service-{project.number}@gcp-sa-datafusion.iam.gserviceaccount.com")
|
424
|
+
),
|
425
|
+
opts=pulumi.ResourceOptions(depends_on=[crypto_key_member]))
|
424
426
|
```
|
425
427
|
### Data Fusion Instance Enterprise
|
426
428
|
|
pulumi_gcp/serviceaccount/key.py
CHANGED
@@ -401,7 +401,7 @@ class Key(pulumi.CustomResource):
|
|
401
401
|
name="google-application-credentials",
|
402
402
|
),
|
403
403
|
data={
|
404
|
-
"json": std.base64decode_output(input=mykey.private_key).apply(lambda invoke: invoke.result),
|
404
|
+
"credentials.json": std.base64decode_output(input=mykey.private_key).apply(lambda invoke: invoke.result),
|
405
405
|
})
|
406
406
|
```
|
407
407
|
|
@@ -487,7 +487,7 @@ class Key(pulumi.CustomResource):
|
|
487
487
|
name="google-application-credentials",
|
488
488
|
),
|
489
489
|
data={
|
490
|
-
"json": std.base64decode_output(input=mykey.private_key).apply(lambda invoke: invoke.result),
|
490
|
+
"credentials.json": std.base64decode_output(input=mykey.private_key).apply(lambda invoke: invoke.result),
|
491
491
|
})
|
492
492
|
```
|
493
493
|
|
@@ -857,7 +857,8 @@ class DatabaseInstance(pulumi.CustomResource):
|
|
857
857
|
private_network=private_network.id,
|
858
858
|
enable_private_path_for_google_cloud_services=True,
|
859
859
|
),
|
860
|
-
)
|
860
|
+
),
|
861
|
+
opts=pulumi.ResourceOptions(depends_on=[private_vpc_connection]))
|
861
862
|
```
|
862
863
|
|
863
864
|
### ENTERPRISE_PLUS Instance with data_cache_config
|
@@ -1050,7 +1051,8 @@ class DatabaseInstance(pulumi.CustomResource):
|
|
1050
1051
|
private_network=private_network.id,
|
1051
1052
|
enable_private_path_for_google_cloud_services=True,
|
1052
1053
|
),
|
1053
|
-
)
|
1054
|
+
),
|
1055
|
+
opts=pulumi.ResourceOptions(depends_on=[private_vpc_connection]))
|
1054
1056
|
```
|
1055
1057
|
|
1056
1058
|
### ENTERPRISE_PLUS Instance with data_cache_config
|
pulumi_gcp/sql/user.py
CHANGED
@@ -407,7 +407,7 @@ class User(pulumi.CustomResource):
|
|
407
407
|
settings=gcp.sql.DatabaseInstanceSettingsArgs(
|
408
408
|
tier="db-f1-micro",
|
409
409
|
database_flags=[gcp.sql.DatabaseInstanceSettingsDatabaseFlagArgs(
|
410
|
-
name="
|
410
|
+
name="cloudsql_iam_authentication",
|
411
411
|
value="on",
|
412
412
|
)],
|
413
413
|
))
|
@@ -436,7 +436,7 @@ class User(pulumi.CustomResource):
|
|
436
436
|
settings=gcp.sql.DatabaseInstanceSettingsArgs(
|
437
437
|
tier="db-f1-micro",
|
438
438
|
database_flags=[gcp.sql.DatabaseInstanceSettingsDatabaseFlagArgs(
|
439
|
-
name="
|
439
|
+
name="cloudsql_iam_authentication",
|
440
440
|
value="on",
|
441
441
|
)],
|
442
442
|
))
|
@@ -543,7 +543,7 @@ class User(pulumi.CustomResource):
|
|
543
543
|
settings=gcp.sql.DatabaseInstanceSettingsArgs(
|
544
544
|
tier="db-f1-micro",
|
545
545
|
database_flags=[gcp.sql.DatabaseInstanceSettingsDatabaseFlagArgs(
|
546
|
-
name="
|
546
|
+
name="cloudsql_iam_authentication",
|
547
547
|
value="on",
|
548
548
|
)],
|
549
549
|
))
|
@@ -572,7 +572,7 @@ class User(pulumi.CustomResource):
|
|
572
572
|
settings=gcp.sql.DatabaseInstanceSettingsArgs(
|
573
573
|
tier="db-f1-micro",
|
574
574
|
database_flags=[gcp.sql.DatabaseInstanceSettingsDatabaseFlagArgs(
|
575
|
-
name="
|
575
|
+
name="cloudsql_iam_authentication",
|
576
576
|
value="on",
|
577
577
|
)],
|
578
578
|
))
|
@@ -155,7 +155,8 @@ def get_project_service_account(project: Optional[str] = None,
|
|
155
155
|
location="US",
|
156
156
|
encryption=gcp.storage.BucketEncryptionArgs(
|
157
157
|
default_kms_key_name="your-crypto-key-id",
|
158
|
-
)
|
158
|
+
),
|
159
|
+
opts=pulumi.ResourceOptions(depends_on=[binding]))
|
159
160
|
```
|
160
161
|
|
161
162
|
|
@@ -246,7 +247,8 @@ def get_project_service_account_output(project: Optional[pulumi.Input[Optional[s
|
|
246
247
|
location="US",
|
247
248
|
encryption=gcp.storage.BucketEncryptionArgs(
|
248
249
|
default_kms_key_name="your-crypto-key-id",
|
249
|
-
)
|
250
|
+
),
|
251
|
+
opts=pulumi.ResourceOptions(depends_on=[binding]))
|
250
252
|
```
|
251
253
|
|
252
254
|
|
@@ -270,6 +270,10 @@ class InsightsReportConfig(pulumi.CustomResource):
|
|
270
270
|
location="us-central1",
|
271
271
|
force_destroy=True,
|
272
272
|
uniform_bucket_level_access=True)
|
273
|
+
admin = gcp.storage.BucketIAMMember("admin",
|
274
|
+
bucket=report_bucket.name,
|
275
|
+
role="roles/storage.admin",
|
276
|
+
member=f"serviceAccount:service-{project.number}@gcp-sa-storageinsights.iam.gserviceaccount.com")
|
273
277
|
config = gcp.storage.InsightsReportConfig("config",
|
274
278
|
display_name="Test Report Config",
|
275
279
|
location="us-central1",
|
@@ -304,11 +308,8 @@ class InsightsReportConfig(pulumi.CustomResource):
|
|
304
308
|
bucket=report_bucket.name,
|
305
309
|
destination_path="test-insights-reports",
|
306
310
|
),
|
307
|
-
)
|
308
|
-
|
309
|
-
bucket=report_bucket.name,
|
310
|
-
role="roles/storage.admin",
|
311
|
-
member=f"serviceAccount:service-{project.number}@gcp-sa-storageinsights.iam.gserviceaccount.com")
|
311
|
+
),
|
312
|
+
opts=pulumi.ResourceOptions(depends_on=[admin]))
|
312
313
|
```
|
313
314
|
|
314
315
|
## Import
|
@@ -374,6 +375,10 @@ class InsightsReportConfig(pulumi.CustomResource):
|
|
374
375
|
location="us-central1",
|
375
376
|
force_destroy=True,
|
376
377
|
uniform_bucket_level_access=True)
|
378
|
+
admin = gcp.storage.BucketIAMMember("admin",
|
379
|
+
bucket=report_bucket.name,
|
380
|
+
role="roles/storage.admin",
|
381
|
+
member=f"serviceAccount:service-{project.number}@gcp-sa-storageinsights.iam.gserviceaccount.com")
|
377
382
|
config = gcp.storage.InsightsReportConfig("config",
|
378
383
|
display_name="Test Report Config",
|
379
384
|
location="us-central1",
|
@@ -408,11 +413,8 @@ class InsightsReportConfig(pulumi.CustomResource):
|
|
408
413
|
bucket=report_bucket.name,
|
409
414
|
destination_path="test-insights-reports",
|
410
415
|
),
|
411
|
-
)
|
412
|
-
|
413
|
-
bucket=report_bucket.name,
|
414
|
-
role="roles/storage.admin",
|
415
|
-
member=f"serviceAccount:service-{project.number}@gcp-sa-storageinsights.iam.gserviceaccount.com")
|
416
|
+
),
|
417
|
+
opts=pulumi.ResourceOptions(depends_on=[admin]))
|
416
418
|
```
|
417
419
|
|
418
420
|
## Import
|
@@ -304,11 +304,17 @@ class Notification(pulumi.CustomResource):
|
|
304
304
|
import pulumi
|
305
305
|
import pulumi_gcp as gcp
|
306
306
|
|
307
|
+
# Enable notifications by giving the correct IAM permission to the unique service account.
|
308
|
+
gcs_account = gcp.storage.get_project_service_account()
|
309
|
+
topic = gcp.pubsub.Topic("topic", name="default_topic")
|
310
|
+
binding = gcp.pubsub.TopicIAMBinding("binding",
|
311
|
+
topic=topic.id,
|
312
|
+
role="roles/pubsub.publisher",
|
313
|
+
members=[f"serviceAccount:{gcs_account.email_address}"])
|
307
314
|
# End enabling notifications
|
308
315
|
bucket = gcp.storage.Bucket("bucket",
|
309
316
|
name="default_bucket",
|
310
317
|
location="US")
|
311
|
-
topic = gcp.pubsub.Topic("topic", name="default_topic")
|
312
318
|
notification = gcp.storage.Notification("notification",
|
313
319
|
bucket=bucket.name,
|
314
320
|
payload_format="JSON_API_V1",
|
@@ -319,13 +325,8 @@ class Notification(pulumi.CustomResource):
|
|
319
325
|
],
|
320
326
|
custom_attributes={
|
321
327
|
"new-attribute": "new-attribute-value",
|
322
|
-
}
|
323
|
-
|
324
|
-
gcs_account = gcp.storage.get_project_service_account()
|
325
|
-
binding = gcp.pubsub.TopicIAMBinding("binding",
|
326
|
-
topic=topic.id,
|
327
|
-
role="roles/pubsub.publisher",
|
328
|
-
members=[f"serviceAccount:{gcs_account.email_address}"])
|
328
|
+
},
|
329
|
+
opts=pulumi.ResourceOptions(depends_on=[binding]))
|
329
330
|
```
|
330
331
|
|
331
332
|
## Import
|
@@ -384,11 +385,17 @@ class Notification(pulumi.CustomResource):
|
|
384
385
|
import pulumi
|
385
386
|
import pulumi_gcp as gcp
|
386
387
|
|
388
|
+
# Enable notifications by giving the correct IAM permission to the unique service account.
|
389
|
+
gcs_account = gcp.storage.get_project_service_account()
|
390
|
+
topic = gcp.pubsub.Topic("topic", name="default_topic")
|
391
|
+
binding = gcp.pubsub.TopicIAMBinding("binding",
|
392
|
+
topic=topic.id,
|
393
|
+
role="roles/pubsub.publisher",
|
394
|
+
members=[f"serviceAccount:{gcs_account.email_address}"])
|
387
395
|
# End enabling notifications
|
388
396
|
bucket = gcp.storage.Bucket("bucket",
|
389
397
|
name="default_bucket",
|
390
398
|
location="US")
|
391
|
-
topic = gcp.pubsub.Topic("topic", name="default_topic")
|
392
399
|
notification = gcp.storage.Notification("notification",
|
393
400
|
bucket=bucket.name,
|
394
401
|
payload_format="JSON_API_V1",
|
@@ -399,13 +406,8 @@ class Notification(pulumi.CustomResource):
|
|
399
406
|
],
|
400
407
|
custom_attributes={
|
401
408
|
"new-attribute": "new-attribute-value",
|
402
|
-
}
|
403
|
-
|
404
|
-
gcs_account = gcp.storage.get_project_service_account()
|
405
|
-
binding = gcp.pubsub.TopicIAMBinding("binding",
|
406
|
-
topic=topic.id,
|
407
|
-
role="roles/pubsub.publisher",
|
408
|
-
members=[f"serviceAccount:{gcs_account.email_address}"])
|
409
|
+
},
|
410
|
+
opts=pulumi.ResourceOptions(depends_on=[binding]))
|
409
411
|
```
|
410
412
|
|
411
413
|
## Import
|
@@ -258,7 +258,8 @@ class TransferAgentPool(pulumi.CustomResource):
|
|
258
258
|
display_name="Source A to destination Z",
|
259
259
|
bandwidth_limit=gcp.storage.TransferAgentPoolBandwidthLimitArgs(
|
260
260
|
limit_mbps="120",
|
261
|
-
)
|
261
|
+
),
|
262
|
+
opts=pulumi.ResourceOptions(depends_on=[pubsub_editor_role]))
|
262
263
|
```
|
263
264
|
|
264
265
|
## Import
|
@@ -337,7 +338,8 @@ class TransferAgentPool(pulumi.CustomResource):
|
|
337
338
|
display_name="Source A to destination Z",
|
338
339
|
bandwidth_limit=gcp.storage.TransferAgentPoolBandwidthLimitArgs(
|
339
340
|
limit_mbps="120",
|
340
|
-
)
|
341
|
+
),
|
342
|
+
opts=pulumi.ResourceOptions(depends_on=[pubsub_editor_role]))
|
341
343
|
```
|
342
344
|
|
343
345
|
## Import
|
@@ -384,7 +384,8 @@ class TransferJob(pulumi.CustomResource):
|
|
384
384
|
s3_backup_bucket_bucket_iam_member = gcp.storage.BucketIAMMember("s3-backup-bucket",
|
385
385
|
bucket=s3_backup_bucket.name,
|
386
386
|
role="roles/storage.admin",
|
387
|
-
member=f"serviceAccount:{default.email}"
|
387
|
+
member=f"serviceAccount:{default.email}",
|
388
|
+
opts=pulumi.ResourceOptions(depends_on=[s3_backup_bucket]))
|
388
389
|
topic = gcp.pubsub.Topic("topic", name=pubsub_topic_name)
|
389
390
|
notification_config = gcp.pubsub.TopicIAMMember("notification_config",
|
390
391
|
topic=topic.id,
|
@@ -439,7 +440,11 @@ class TransferJob(pulumi.CustomResource):
|
|
439
440
|
"TRANSFER_OPERATION_FAILED",
|
440
441
|
],
|
441
442
|
payload_format="JSON",
|
442
|
-
)
|
443
|
+
),
|
444
|
+
opts=pulumi.ResourceOptions(depends_on=[
|
445
|
+
s3_backup_bucket_bucket_iam_member,
|
446
|
+
notification_config,
|
447
|
+
]))
|
443
448
|
```
|
444
449
|
|
445
450
|
## Import
|
@@ -501,7 +506,8 @@ class TransferJob(pulumi.CustomResource):
|
|
501
506
|
s3_backup_bucket_bucket_iam_member = gcp.storage.BucketIAMMember("s3-backup-bucket",
|
502
507
|
bucket=s3_backup_bucket.name,
|
503
508
|
role="roles/storage.admin",
|
504
|
-
member=f"serviceAccount:{default.email}"
|
509
|
+
member=f"serviceAccount:{default.email}",
|
510
|
+
opts=pulumi.ResourceOptions(depends_on=[s3_backup_bucket]))
|
505
511
|
topic = gcp.pubsub.Topic("topic", name=pubsub_topic_name)
|
506
512
|
notification_config = gcp.pubsub.TopicIAMMember("notification_config",
|
507
513
|
topic=topic.id,
|
@@ -556,7 +562,11 @@ class TransferJob(pulumi.CustomResource):
|
|
556
562
|
"TRANSFER_OPERATION_FAILED",
|
557
563
|
],
|
558
564
|
payload_format="JSON",
|
559
|
-
)
|
565
|
+
),
|
566
|
+
opts=pulumi.ResourceOptions(depends_on=[
|
567
|
+
s3_backup_bucket_bucket_iam_member,
|
568
|
+
notification_config,
|
569
|
+
]))
|
560
570
|
```
|
561
571
|
|
562
572
|
## Import
|
pulumi_gcp/tpu/_inputs.py
CHANGED
@@ -96,7 +96,7 @@ class V2VmAcceleratorConfigArgs:
|
|
96
96
|
"""
|
97
97
|
:param pulumi.Input[str] topology: Topology of TPU in chips.
|
98
98
|
:param pulumi.Input[str] type: Type of TPU.
|
99
|
-
Possible values are: `V2`, `V3`, `V4`.
|
99
|
+
Possible values are: `V2`, `V3`, `V4`, `V5P`.
|
100
100
|
"""
|
101
101
|
pulumi.set(__self__, "topology", topology)
|
102
102
|
pulumi.set(__self__, "type", type)
|
@@ -118,7 +118,7 @@ class V2VmAcceleratorConfigArgs:
|
|
118
118
|
def type(self) -> pulumi.Input[str]:
|
119
119
|
"""
|
120
120
|
Type of TPU.
|
121
|
-
Possible values are: `V2`, `V3`, `V4`.
|
121
|
+
Possible values are: `V2`, `V3`, `V4`, `V5P`.
|
122
122
|
"""
|
123
123
|
return pulumi.get(self, "type")
|
124
124
|
|
pulumi_gcp/tpu/outputs.py
CHANGED
@@ -102,7 +102,7 @@ class V2VmAcceleratorConfig(dict):
|
|
102
102
|
"""
|
103
103
|
:param str topology: Topology of TPU in chips.
|
104
104
|
:param str type: Type of TPU.
|
105
|
-
Possible values are: `V2`, `V3`, `V4`.
|
105
|
+
Possible values are: `V2`, `V3`, `V4`, `V5P`.
|
106
106
|
"""
|
107
107
|
pulumi.set(__self__, "topology", topology)
|
108
108
|
pulumi.set(__self__, "type", type)
|
@@ -120,7 +120,7 @@ class V2VmAcceleratorConfig(dict):
|
|
120
120
|
def type(self) -> str:
|
121
121
|
"""
|
122
122
|
Type of TPU.
|
123
|
-
Possible values are: `V2`, `V3`, `V4`.
|
123
|
+
Possible values are: `V2`, `V3`, `V4`, `V5P`.
|
124
124
|
"""
|
125
125
|
return pulumi.get(self, "type")
|
126
126
|
|
pulumi_gcp/tpu/v2_vm.py
CHANGED
@@ -851,6 +851,9 @@ class V2Vm(pulumi.CustomResource):
|
|
851
851
|
size=10,
|
852
852
|
type="pd-ssd",
|
853
853
|
zone="us-central1-c")
|
854
|
+
# Wait after service account creation to limit eventual consistency errors.
|
855
|
+
wait60_seconds = time.index.Sleep("wait_60_seconds", create_duration=60s,
|
856
|
+
opts=pulumi.ResourceOptions(depends_on=[sa]))
|
854
857
|
tpu = gcp.tpu.V2Vm("tpu",
|
855
858
|
name="test-tpu",
|
856
859
|
zone="us-central1-c",
|
@@ -887,9 +890,8 @@ class V2Vm(pulumi.CustomResource):
|
|
887
890
|
metadata={
|
888
891
|
"foo": "bar",
|
889
892
|
},
|
890
|
-
tags=["foo"]
|
891
|
-
|
892
|
-
wait60_seconds = time.index.Sleep("wait_60_seconds", create_duration=60s)
|
893
|
+
tags=["foo"],
|
894
|
+
opts=pulumi.ResourceOptions(depends_on=[wait60_seconds]))
|
893
895
|
```
|
894
896
|
|
895
897
|
## Import
|
@@ -1008,6 +1010,9 @@ class V2Vm(pulumi.CustomResource):
|
|
1008
1010
|
size=10,
|
1009
1011
|
type="pd-ssd",
|
1010
1012
|
zone="us-central1-c")
|
1013
|
+
# Wait after service account creation to limit eventual consistency errors.
|
1014
|
+
wait60_seconds = time.index.Sleep("wait_60_seconds", create_duration=60s,
|
1015
|
+
opts=pulumi.ResourceOptions(depends_on=[sa]))
|
1011
1016
|
tpu = gcp.tpu.V2Vm("tpu",
|
1012
1017
|
name="test-tpu",
|
1013
1018
|
zone="us-central1-c",
|
@@ -1044,9 +1049,8 @@ class V2Vm(pulumi.CustomResource):
|
|
1044
1049
|
metadata={
|
1045
1050
|
"foo": "bar",
|
1046
1051
|
},
|
1047
|
-
tags=["foo"]
|
1048
|
-
|
1049
|
-
wait60_seconds = time.index.Sleep("wait_60_seconds", create_duration=60s)
|
1052
|
+
tags=["foo"],
|
1053
|
+
opts=pulumi.ResourceOptions(depends_on=[wait60_seconds]))
|
1050
1054
|
```
|
1051
1055
|
|
1052
1056
|
## Import
|
pulumi_gcp/vertex/ai_endpoint.py
CHANGED
@@ -494,6 +494,16 @@ class AiEndpoint(pulumi.CustomResource):
|
|
494
494
|
import pulumi_gcp as gcp
|
495
495
|
|
496
496
|
vertex_network = gcp.compute.Network("vertex_network", name="network-name")
|
497
|
+
vertex_range = gcp.compute.GlobalAddress("vertex_range",
|
498
|
+
name="address-name",
|
499
|
+
purpose="VPC_PEERING",
|
500
|
+
address_type="INTERNAL",
|
501
|
+
prefix_length=24,
|
502
|
+
network=vertex_network.id)
|
503
|
+
vertex_vpc_connection = gcp.servicenetworking.Connection("vertex_vpc_connection",
|
504
|
+
network=vertex_network.id,
|
505
|
+
service="servicenetworking.googleapis.com",
|
506
|
+
reserved_peering_ranges=[vertex_range.name])
|
497
507
|
project = gcp.organizations.get_project()
|
498
508
|
endpoint = gcp.vertex.AiEndpoint("endpoint",
|
499
509
|
name="endpoint-name",
|
@@ -507,17 +517,8 @@ class AiEndpoint(pulumi.CustomResource):
|
|
507
517
|
network=vertex_network.name.apply(lambda name: f"projects/{project.number}/global/networks/{name}"),
|
508
518
|
encryption_spec=gcp.vertex.AiEndpointEncryptionSpecArgs(
|
509
519
|
kms_key_name="kms-name",
|
510
|
-
)
|
511
|
-
|
512
|
-
name="address-name",
|
513
|
-
purpose="VPC_PEERING",
|
514
|
-
address_type="INTERNAL",
|
515
|
-
prefix_length=24,
|
516
|
-
network=vertex_network.id)
|
517
|
-
vertex_vpc_connection = gcp.servicenetworking.Connection("vertex_vpc_connection",
|
518
|
-
network=vertex_network.id,
|
519
|
-
service="servicenetworking.googleapis.com",
|
520
|
-
reserved_peering_ranges=[vertex_range.name])
|
520
|
+
),
|
521
|
+
opts=pulumi.ResourceOptions(depends_on=[vertex_vpc_connection]))
|
521
522
|
crypto_key = gcp.kms.CryptoKeyIAMMember("crypto_key",
|
522
523
|
crypto_key_id="kms-name",
|
523
524
|
role="roles/cloudkms.cryptoKeyEncrypterDecrypter",
|
@@ -591,6 +592,16 @@ class AiEndpoint(pulumi.CustomResource):
|
|
591
592
|
import pulumi_gcp as gcp
|
592
593
|
|
593
594
|
vertex_network = gcp.compute.Network("vertex_network", name="network-name")
|
595
|
+
vertex_range = gcp.compute.GlobalAddress("vertex_range",
|
596
|
+
name="address-name",
|
597
|
+
purpose="VPC_PEERING",
|
598
|
+
address_type="INTERNAL",
|
599
|
+
prefix_length=24,
|
600
|
+
network=vertex_network.id)
|
601
|
+
vertex_vpc_connection = gcp.servicenetworking.Connection("vertex_vpc_connection",
|
602
|
+
network=vertex_network.id,
|
603
|
+
service="servicenetworking.googleapis.com",
|
604
|
+
reserved_peering_ranges=[vertex_range.name])
|
594
605
|
project = gcp.organizations.get_project()
|
595
606
|
endpoint = gcp.vertex.AiEndpoint("endpoint",
|
596
607
|
name="endpoint-name",
|
@@ -604,17 +615,8 @@ class AiEndpoint(pulumi.CustomResource):
|
|
604
615
|
network=vertex_network.name.apply(lambda name: f"projects/{project.number}/global/networks/{name}"),
|
605
616
|
encryption_spec=gcp.vertex.AiEndpointEncryptionSpecArgs(
|
606
617
|
kms_key_name="kms-name",
|
607
|
-
)
|
608
|
-
|
609
|
-
name="address-name",
|
610
|
-
purpose="VPC_PEERING",
|
611
|
-
address_type="INTERNAL",
|
612
|
-
prefix_length=24,
|
613
|
-
network=vertex_network.id)
|
614
|
-
vertex_vpc_connection = gcp.servicenetworking.Connection("vertex_vpc_connection",
|
615
|
-
network=vertex_network.id,
|
616
|
-
service="servicenetworking.googleapis.com",
|
617
|
-
reserved_peering_ranges=[vertex_range.name])
|
618
|
+
),
|
619
|
+
opts=pulumi.ResourceOptions(depends_on=[vertex_vpc_connection]))
|
618
620
|
crypto_key = gcp.kms.CryptoKeyIAMMember("crypto_key",
|
619
621
|
crypto_key_id="kms-name",
|
620
622
|
role="roles/cloudkms.cryptoKeyEncrypterDecrypter",
|
@@ -468,15 +468,6 @@ class AiIndexEndpoint(pulumi.CustomResource):
|
|
468
468
|
import pulumi_gcp as gcp
|
469
469
|
|
470
470
|
vertex_network = gcp.compute.Network("vertex_network", name="network-name")
|
471
|
-
project = gcp.organizations.get_project()
|
472
|
-
index_endpoint = gcp.vertex.AiIndexEndpoint("index_endpoint",
|
473
|
-
display_name="sample-endpoint",
|
474
|
-
description="A sample vertex endpoint",
|
475
|
-
region="us-central1",
|
476
|
-
labels={
|
477
|
-
"label-one": "value-one",
|
478
|
-
},
|
479
|
-
network=vertex_network.name.apply(lambda name: f"projects/{project.number}/global/networks/{name}"))
|
480
471
|
vertex_range = gcp.compute.GlobalAddress("vertex_range",
|
481
472
|
name="address-name",
|
482
473
|
purpose="VPC_PEERING",
|
@@ -487,6 +478,16 @@ class AiIndexEndpoint(pulumi.CustomResource):
|
|
487
478
|
network=vertex_network.id,
|
488
479
|
service="servicenetworking.googleapis.com",
|
489
480
|
reserved_peering_ranges=[vertex_range.name])
|
481
|
+
project = gcp.organizations.get_project()
|
482
|
+
index_endpoint = gcp.vertex.AiIndexEndpoint("index_endpoint",
|
483
|
+
display_name="sample-endpoint",
|
484
|
+
description="A sample vertex endpoint",
|
485
|
+
region="us-central1",
|
486
|
+
labels={
|
487
|
+
"label-one": "value-one",
|
488
|
+
},
|
489
|
+
network=vertex_network.name.apply(lambda name: f"projects/{project.number}/global/networks/{name}"),
|
490
|
+
opts=pulumi.ResourceOptions(depends_on=[vertex_vpc_connection]))
|
490
491
|
```
|
491
492
|
### Vertex Ai Index Endpoint With Psc
|
492
493
|
|
@@ -596,15 +597,6 @@ class AiIndexEndpoint(pulumi.CustomResource):
|
|
596
597
|
import pulumi_gcp as gcp
|
597
598
|
|
598
599
|
vertex_network = gcp.compute.Network("vertex_network", name="network-name")
|
599
|
-
project = gcp.organizations.get_project()
|
600
|
-
index_endpoint = gcp.vertex.AiIndexEndpoint("index_endpoint",
|
601
|
-
display_name="sample-endpoint",
|
602
|
-
description="A sample vertex endpoint",
|
603
|
-
region="us-central1",
|
604
|
-
labels={
|
605
|
-
"label-one": "value-one",
|
606
|
-
},
|
607
|
-
network=vertex_network.name.apply(lambda name: f"projects/{project.number}/global/networks/{name}"))
|
608
600
|
vertex_range = gcp.compute.GlobalAddress("vertex_range",
|
609
601
|
name="address-name",
|
610
602
|
purpose="VPC_PEERING",
|
@@ -615,6 +607,16 @@ class AiIndexEndpoint(pulumi.CustomResource):
|
|
615
607
|
network=vertex_network.id,
|
616
608
|
service="servicenetworking.googleapis.com",
|
617
609
|
reserved_peering_ranges=[vertex_range.name])
|
610
|
+
project = gcp.organizations.get_project()
|
611
|
+
index_endpoint = gcp.vertex.AiIndexEndpoint("index_endpoint",
|
612
|
+
display_name="sample-endpoint",
|
613
|
+
description="A sample vertex endpoint",
|
614
|
+
region="us-central1",
|
615
|
+
labels={
|
616
|
+
"label-one": "value-one",
|
617
|
+
},
|
618
|
+
network=vertex_network.name.apply(lambda name: f"projects/{project.number}/global/networks/{name}"),
|
619
|
+
opts=pulumi.ResourceOptions(depends_on=[vertex_vpc_connection]))
|
618
620
|
```
|
619
621
|
### Vertex Ai Index Endpoint With Psc
|
620
622
|
|
@@ -410,6 +410,11 @@ class AiTensorboard(pulumi.CustomResource):
|
|
410
410
|
import pulumi
|
411
411
|
import pulumi_gcp as gcp
|
412
412
|
|
413
|
+
project = gcp.organizations.get_project()
|
414
|
+
crypto_key = gcp.kms.CryptoKeyIAMMember("crypto_key",
|
415
|
+
crypto_key_id="kms-name",
|
416
|
+
role="roles/cloudkms.cryptoKeyEncrypterDecrypter",
|
417
|
+
member=f"serviceAccount:service-{project.number}@gcp-sa-aiplatform.iam.gserviceaccount.com")
|
413
418
|
tensorboard = gcp.vertex.AiTensorboard("tensorboard",
|
414
419
|
display_name="terraform",
|
415
420
|
description="sample description",
|
@@ -420,12 +425,8 @@ class AiTensorboard(pulumi.CustomResource):
|
|
420
425
|
region="us-central1",
|
421
426
|
encryption_spec=gcp.vertex.AiTensorboardEncryptionSpecArgs(
|
422
427
|
kms_key_name="kms-name",
|
423
|
-
)
|
424
|
-
|
425
|
-
crypto_key = gcp.kms.CryptoKeyIAMMember("crypto_key",
|
426
|
-
crypto_key_id="kms-name",
|
427
|
-
role="roles/cloudkms.cryptoKeyEncrypterDecrypter",
|
428
|
-
member=f"serviceAccount:service-{project.number}@gcp-sa-aiplatform.iam.gserviceaccount.com")
|
428
|
+
),
|
429
|
+
opts=pulumi.ResourceOptions(depends_on=[crypto_key]))
|
429
430
|
```
|
430
431
|
|
431
432
|
## Import
|
@@ -513,6 +514,11 @@ class AiTensorboard(pulumi.CustomResource):
|
|
513
514
|
import pulumi
|
514
515
|
import pulumi_gcp as gcp
|
515
516
|
|
517
|
+
project = gcp.organizations.get_project()
|
518
|
+
crypto_key = gcp.kms.CryptoKeyIAMMember("crypto_key",
|
519
|
+
crypto_key_id="kms-name",
|
520
|
+
role="roles/cloudkms.cryptoKeyEncrypterDecrypter",
|
521
|
+
member=f"serviceAccount:service-{project.number}@gcp-sa-aiplatform.iam.gserviceaccount.com")
|
516
522
|
tensorboard = gcp.vertex.AiTensorboard("tensorboard",
|
517
523
|
display_name="terraform",
|
518
524
|
description="sample description",
|
@@ -523,12 +529,8 @@ class AiTensorboard(pulumi.CustomResource):
|
|
523
529
|
region="us-central1",
|
524
530
|
encryption_spec=gcp.vertex.AiTensorboardEncryptionSpecArgs(
|
525
531
|
kms_key_name="kms-name",
|
526
|
-
)
|
527
|
-
|
528
|
-
crypto_key = gcp.kms.CryptoKeyIAMMember("crypto_key",
|
529
|
-
crypto_key_id="kms-name",
|
530
|
-
role="roles/cloudkms.cryptoKeyEncrypterDecrypter",
|
531
|
-
member=f"serviceAccount:service-{project.number}@gcp-sa-aiplatform.iam.gserviceaccount.com")
|
532
|
+
),
|
533
|
+
opts=pulumi.ResourceOptions(depends_on=[crypto_key]))
|
532
534
|
```
|
533
535
|
|
534
536
|
## Import
|
@@ -315,7 +315,8 @@ class ExternalAddress(pulumi.CustomResource):
|
|
315
315
|
name="sample-external-address",
|
316
316
|
parent=external_address_pc.id,
|
317
317
|
internal_ip="192.168.0.66",
|
318
|
-
description="Sample description."
|
318
|
+
description="Sample description.",
|
319
|
+
opts=pulumi.ResourceOptions(depends_on=[external_address_np]))
|
319
320
|
```
|
320
321
|
|
321
322
|
## Import
|
@@ -392,7 +393,8 @@ class ExternalAddress(pulumi.CustomResource):
|
|
392
393
|
name="sample-external-address",
|
393
394
|
parent=external_address_pc.id,
|
394
395
|
internal_ip="192.168.0.66",
|
395
|
-
description="Sample description."
|
396
|
+
description="Sample description.",
|
397
|
+
opts=pulumi.ResourceOptions(depends_on=[external_address_np]))
|
396
398
|
```
|
397
399
|
|
398
400
|
## Import
|