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
@@ -528,7 +528,6 @@ class Function(pulumi.CustomResource):
|
|
528
528
|
available_memory="256M",
|
529
529
|
timeout_seconds=60,
|
530
530
|
))
|
531
|
-
pulumi.export("functionUri", function.service_config.uri)
|
532
531
|
```
|
533
532
|
### Cloudfunctions2 Full
|
534
533
|
|
@@ -684,15 +683,18 @@ class Function(pulumi.CustomResource):
|
|
684
683
|
invoking = gcp.projects.IAMMember("invoking",
|
685
684
|
project="my-project-name",
|
686
685
|
role="roles/run.invoker",
|
687
|
-
member=account.email.apply(lambda email: f"serviceAccount:{email}")
|
686
|
+
member=account.email.apply(lambda email: f"serviceAccount:{email}"),
|
687
|
+
opts=pulumi.ResourceOptions(depends_on=[gcs_pubsub_publishing]))
|
688
688
|
event_receiving = gcp.projects.IAMMember("event-receiving",
|
689
689
|
project="my-project-name",
|
690
690
|
role="roles/eventarc.eventReceiver",
|
691
|
-
member=account.email.apply(lambda email: f"serviceAccount:{email}")
|
691
|
+
member=account.email.apply(lambda email: f"serviceAccount:{email}"),
|
692
|
+
opts=pulumi.ResourceOptions(depends_on=[invoking]))
|
692
693
|
artifactregistry_reader = gcp.projects.IAMMember("artifactregistry-reader",
|
693
694
|
project="my-project-name",
|
694
695
|
role="roles/artifactregistry.reader",
|
695
|
-
member=account.email.apply(lambda email: f"serviceAccount:{email}")
|
696
|
+
member=account.email.apply(lambda email: f"serviceAccount:{email}"),
|
697
|
+
opts=pulumi.ResourceOptions(depends_on=[event_receiving]))
|
696
698
|
function = gcp.cloudfunctionsv2.Function("function",
|
697
699
|
name="gcf-function",
|
698
700
|
location="us-central1",
|
@@ -730,7 +732,11 @@ class Function(pulumi.CustomResource):
|
|
730
732
|
attribute="bucket",
|
731
733
|
value=trigger_bucket.name,
|
732
734
|
)],
|
733
|
-
)
|
735
|
+
),
|
736
|
+
opts=pulumi.ResourceOptions(depends_on=[
|
737
|
+
event_receiving,
|
738
|
+
artifactregistry_reader,
|
739
|
+
]))
|
734
740
|
```
|
735
741
|
### Cloudfunctions2 Basic Auditlogs
|
736
742
|
|
@@ -768,11 +774,13 @@ class Function(pulumi.CustomResource):
|
|
768
774
|
event_receiving = gcp.projects.IAMMember("event-receiving",
|
769
775
|
project="my-project-name",
|
770
776
|
role="roles/eventarc.eventReceiver",
|
771
|
-
member=account.email.apply(lambda email: f"serviceAccount:{email}")
|
777
|
+
member=account.email.apply(lambda email: f"serviceAccount:{email}"),
|
778
|
+
opts=pulumi.ResourceOptions(depends_on=[invoking]))
|
772
779
|
artifactregistry_reader = gcp.projects.IAMMember("artifactregistry-reader",
|
773
780
|
project="my-project-name",
|
774
781
|
role="roles/artifactregistry.reader",
|
775
|
-
member=account.email.apply(lambda email: f"serviceAccount:{email}")
|
782
|
+
member=account.email.apply(lambda email: f"serviceAccount:{email}"),
|
783
|
+
opts=pulumi.ResourceOptions(depends_on=[event_receiving]))
|
776
784
|
function = gcp.cloudfunctionsv2.Function("function",
|
777
785
|
name="gcf-function",
|
778
786
|
location="us-central1",
|
@@ -822,7 +830,11 @@ class Function(pulumi.CustomResource):
|
|
822
830
|
operator="match-path-pattern",
|
823
831
|
),
|
824
832
|
],
|
825
|
-
)
|
833
|
+
),
|
834
|
+
opts=pulumi.ResourceOptions(depends_on=[
|
835
|
+
event_receiving,
|
836
|
+
artifactregistry_reader,
|
837
|
+
]))
|
826
838
|
```
|
827
839
|
### Cloudfunctions2 Basic Builder
|
828
840
|
|
@@ -856,7 +868,12 @@ class Function(pulumi.CustomResource):
|
|
856
868
|
bucket=bucket.name,
|
857
869
|
source=pulumi.FileAsset("function-source.zip"))
|
858
870
|
# builder permissions need to stablize before it can pull the source zip
|
859
|
-
wait60s = time.index.Sleep("wait_60s", create_duration=60s
|
871
|
+
wait60s = time.index.Sleep("wait_60s", create_duration=60s,
|
872
|
+
opts=pulumi.ResourceOptions(depends_on=[
|
873
|
+
log_writer,
|
874
|
+
artifact_registry_writer,
|
875
|
+
storage_object_admin,
|
876
|
+
]))
|
860
877
|
function = gcp.cloudfunctionsv2.Function("function",
|
861
878
|
name="function-v2",
|
862
879
|
location="us-central1",
|
@@ -876,8 +893,8 @@ class Function(pulumi.CustomResource):
|
|
876
893
|
max_instance_count=1,
|
877
894
|
available_memory="256M",
|
878
895
|
timeout_seconds=60,
|
879
|
-
)
|
880
|
-
|
896
|
+
),
|
897
|
+
opts=pulumi.ResourceOptions(depends_on=[wait60s]))
|
881
898
|
```
|
882
899
|
### Cloudfunctions2 Secret Env
|
883
900
|
|
@@ -903,6 +920,10 @@ class Function(pulumi.CustomResource):
|
|
903
920
|
)],
|
904
921
|
),
|
905
922
|
))
|
923
|
+
secret_secret_version = gcp.secretmanager.SecretVersion("secret",
|
924
|
+
secret=secret.name,
|
925
|
+
secret_data="secret",
|
926
|
+
enabled=True)
|
906
927
|
function = gcp.cloudfunctionsv2.Function("function",
|
907
928
|
name="function-secret",
|
908
929
|
location="us-central1",
|
@@ -927,11 +948,8 @@ class Function(pulumi.CustomResource):
|
|
927
948
|
secret=secret.secret_id,
|
928
949
|
version="latest",
|
929
950
|
)],
|
930
|
-
)
|
931
|
-
|
932
|
-
secret=secret.name,
|
933
|
-
secret_data="secret",
|
934
|
-
enabled=True)
|
951
|
+
),
|
952
|
+
opts=pulumi.ResourceOptions(depends_on=[secret_secret_version]))
|
935
953
|
```
|
936
954
|
### Cloudfunctions2 Secret Volume
|
937
955
|
|
@@ -957,6 +975,10 @@ class Function(pulumi.CustomResource):
|
|
957
975
|
)],
|
958
976
|
),
|
959
977
|
))
|
978
|
+
secret_secret_version = gcp.secretmanager.SecretVersion("secret",
|
979
|
+
secret=secret.name,
|
980
|
+
secret_data="secret",
|
981
|
+
enabled=True)
|
960
982
|
function = gcp.cloudfunctionsv2.Function("function",
|
961
983
|
name="function-secret",
|
962
984
|
location="us-central1",
|
@@ -980,11 +1002,8 @@ class Function(pulumi.CustomResource):
|
|
980
1002
|
project_id=project,
|
981
1003
|
secret=secret.secret_id,
|
982
1004
|
)],
|
983
|
-
)
|
984
|
-
|
985
|
-
secret=secret.name,
|
986
|
-
secret_data="secret",
|
987
|
-
enabled=True)
|
1005
|
+
),
|
1006
|
+
opts=pulumi.ResourceOptions(depends_on=[secret_secret_version]))
|
988
1007
|
```
|
989
1008
|
### Cloudfunctions2 Private Workerpool
|
990
1009
|
|
@@ -1053,16 +1072,6 @@ class Function(pulumi.CustomResource):
|
|
1053
1072
|
repository_id="ar-repo",
|
1054
1073
|
location="us-central1",
|
1055
1074
|
format="DOCKER")
|
1056
|
-
encoded_ar_repo = gcp.artifactregistry.Repository("encoded-ar-repo",
|
1057
|
-
location="us-central1",
|
1058
|
-
repository_id="cmek-repo",
|
1059
|
-
format="DOCKER",
|
1060
|
-
kms_key_name="cmek-key")
|
1061
|
-
binding = gcp.artifactregistry.RepositoryIamBinding("binding",
|
1062
|
-
location=encoded_ar_repo.location,
|
1063
|
-
repository=encoded_ar_repo.name,
|
1064
|
-
role="roles/artifactregistry.admin",
|
1065
|
-
members=[f"serviceAccount:service-{project_get_project.number}@gcf-admin-robot.iam.gserviceaccount.com"])
|
1066
1075
|
gcf_cmek_keyuser = gcp.kms.CryptoKeyIAMBinding("gcf_cmek_keyuser",
|
1067
1076
|
crypto_key_id="cmek-key",
|
1068
1077
|
role="roles/cloudkms.cryptoKeyEncrypterDecrypter",
|
@@ -1072,7 +1081,19 @@ class Function(pulumi.CustomResource):
|
|
1072
1081
|
f"serviceAccount:service-{project_get_project.number}@gs-project-accounts.iam.gserviceaccount.com",
|
1073
1082
|
f"serviceAccount:service-{project_get_project.number}@serverless-robot-prod.iam.gserviceaccount.com",
|
1074
1083
|
ea_sa.email.apply(lambda email: f"serviceAccount:{email}"),
|
1075
|
-
]
|
1084
|
+
],
|
1085
|
+
opts=pulumi.ResourceOptions(depends_on=[ea_sa]))
|
1086
|
+
encoded_ar_repo = gcp.artifactregistry.Repository("encoded-ar-repo",
|
1087
|
+
location="us-central1",
|
1088
|
+
repository_id="cmek-repo",
|
1089
|
+
format="DOCKER",
|
1090
|
+
kms_key_name="cmek-key",
|
1091
|
+
opts=pulumi.ResourceOptions(depends_on=[gcf_cmek_keyuser]))
|
1092
|
+
binding = gcp.artifactregistry.RepositoryIamBinding("binding",
|
1093
|
+
location=encoded_ar_repo.location,
|
1094
|
+
repository=encoded_ar_repo.name,
|
1095
|
+
role="roles/artifactregistry.admin",
|
1096
|
+
members=[f"serviceAccount:service-{project_get_project.number}@gcf-admin-robot.iam.gserviceaccount.com"])
|
1076
1097
|
function = gcp.cloudfunctionsv2.Function("function",
|
1077
1098
|
name="function-cmek",
|
1078
1099
|
location="us-central1",
|
@@ -1093,7 +1114,8 @@ class Function(pulumi.CustomResource):
|
|
1093
1114
|
max_instance_count=1,
|
1094
1115
|
available_memory="256M",
|
1095
1116
|
timeout_seconds=60,
|
1096
|
-
)
|
1117
|
+
),
|
1118
|
+
opts=pulumi.ResourceOptions(depends_on=[gcf_cmek_keyuser]))
|
1097
1119
|
```
|
1098
1120
|
|
1099
1121
|
## Import
|
@@ -1195,7 +1217,6 @@ class Function(pulumi.CustomResource):
|
|
1195
1217
|
available_memory="256M",
|
1196
1218
|
timeout_seconds=60,
|
1197
1219
|
))
|
1198
|
-
pulumi.export("functionUri", function.service_config.uri)
|
1199
1220
|
```
|
1200
1221
|
### Cloudfunctions2 Full
|
1201
1222
|
|
@@ -1351,15 +1372,18 @@ class Function(pulumi.CustomResource):
|
|
1351
1372
|
invoking = gcp.projects.IAMMember("invoking",
|
1352
1373
|
project="my-project-name",
|
1353
1374
|
role="roles/run.invoker",
|
1354
|
-
member=account.email.apply(lambda email: f"serviceAccount:{email}")
|
1375
|
+
member=account.email.apply(lambda email: f"serviceAccount:{email}"),
|
1376
|
+
opts=pulumi.ResourceOptions(depends_on=[gcs_pubsub_publishing]))
|
1355
1377
|
event_receiving = gcp.projects.IAMMember("event-receiving",
|
1356
1378
|
project="my-project-name",
|
1357
1379
|
role="roles/eventarc.eventReceiver",
|
1358
|
-
member=account.email.apply(lambda email: f"serviceAccount:{email}")
|
1380
|
+
member=account.email.apply(lambda email: f"serviceAccount:{email}"),
|
1381
|
+
opts=pulumi.ResourceOptions(depends_on=[invoking]))
|
1359
1382
|
artifactregistry_reader = gcp.projects.IAMMember("artifactregistry-reader",
|
1360
1383
|
project="my-project-name",
|
1361
1384
|
role="roles/artifactregistry.reader",
|
1362
|
-
member=account.email.apply(lambda email: f"serviceAccount:{email}")
|
1385
|
+
member=account.email.apply(lambda email: f"serviceAccount:{email}"),
|
1386
|
+
opts=pulumi.ResourceOptions(depends_on=[event_receiving]))
|
1363
1387
|
function = gcp.cloudfunctionsv2.Function("function",
|
1364
1388
|
name="gcf-function",
|
1365
1389
|
location="us-central1",
|
@@ -1397,7 +1421,11 @@ class Function(pulumi.CustomResource):
|
|
1397
1421
|
attribute="bucket",
|
1398
1422
|
value=trigger_bucket.name,
|
1399
1423
|
)],
|
1400
|
-
)
|
1424
|
+
),
|
1425
|
+
opts=pulumi.ResourceOptions(depends_on=[
|
1426
|
+
event_receiving,
|
1427
|
+
artifactregistry_reader,
|
1428
|
+
]))
|
1401
1429
|
```
|
1402
1430
|
### Cloudfunctions2 Basic Auditlogs
|
1403
1431
|
|
@@ -1435,11 +1463,13 @@ class Function(pulumi.CustomResource):
|
|
1435
1463
|
event_receiving = gcp.projects.IAMMember("event-receiving",
|
1436
1464
|
project="my-project-name",
|
1437
1465
|
role="roles/eventarc.eventReceiver",
|
1438
|
-
member=account.email.apply(lambda email: f"serviceAccount:{email}")
|
1466
|
+
member=account.email.apply(lambda email: f"serviceAccount:{email}"),
|
1467
|
+
opts=pulumi.ResourceOptions(depends_on=[invoking]))
|
1439
1468
|
artifactregistry_reader = gcp.projects.IAMMember("artifactregistry-reader",
|
1440
1469
|
project="my-project-name",
|
1441
1470
|
role="roles/artifactregistry.reader",
|
1442
|
-
member=account.email.apply(lambda email: f"serviceAccount:{email}")
|
1471
|
+
member=account.email.apply(lambda email: f"serviceAccount:{email}"),
|
1472
|
+
opts=pulumi.ResourceOptions(depends_on=[event_receiving]))
|
1443
1473
|
function = gcp.cloudfunctionsv2.Function("function",
|
1444
1474
|
name="gcf-function",
|
1445
1475
|
location="us-central1",
|
@@ -1489,7 +1519,11 @@ class Function(pulumi.CustomResource):
|
|
1489
1519
|
operator="match-path-pattern",
|
1490
1520
|
),
|
1491
1521
|
],
|
1492
|
-
)
|
1522
|
+
),
|
1523
|
+
opts=pulumi.ResourceOptions(depends_on=[
|
1524
|
+
event_receiving,
|
1525
|
+
artifactregistry_reader,
|
1526
|
+
]))
|
1493
1527
|
```
|
1494
1528
|
### Cloudfunctions2 Basic Builder
|
1495
1529
|
|
@@ -1523,7 +1557,12 @@ class Function(pulumi.CustomResource):
|
|
1523
1557
|
bucket=bucket.name,
|
1524
1558
|
source=pulumi.FileAsset("function-source.zip"))
|
1525
1559
|
# builder permissions need to stablize before it can pull the source zip
|
1526
|
-
wait60s = time.index.Sleep("wait_60s", create_duration=60s
|
1560
|
+
wait60s = time.index.Sleep("wait_60s", create_duration=60s,
|
1561
|
+
opts=pulumi.ResourceOptions(depends_on=[
|
1562
|
+
log_writer,
|
1563
|
+
artifact_registry_writer,
|
1564
|
+
storage_object_admin,
|
1565
|
+
]))
|
1527
1566
|
function = gcp.cloudfunctionsv2.Function("function",
|
1528
1567
|
name="function-v2",
|
1529
1568
|
location="us-central1",
|
@@ -1543,8 +1582,8 @@ class Function(pulumi.CustomResource):
|
|
1543
1582
|
max_instance_count=1,
|
1544
1583
|
available_memory="256M",
|
1545
1584
|
timeout_seconds=60,
|
1546
|
-
)
|
1547
|
-
|
1585
|
+
),
|
1586
|
+
opts=pulumi.ResourceOptions(depends_on=[wait60s]))
|
1548
1587
|
```
|
1549
1588
|
### Cloudfunctions2 Secret Env
|
1550
1589
|
|
@@ -1570,6 +1609,10 @@ class Function(pulumi.CustomResource):
|
|
1570
1609
|
)],
|
1571
1610
|
),
|
1572
1611
|
))
|
1612
|
+
secret_secret_version = gcp.secretmanager.SecretVersion("secret",
|
1613
|
+
secret=secret.name,
|
1614
|
+
secret_data="secret",
|
1615
|
+
enabled=True)
|
1573
1616
|
function = gcp.cloudfunctionsv2.Function("function",
|
1574
1617
|
name="function-secret",
|
1575
1618
|
location="us-central1",
|
@@ -1594,11 +1637,8 @@ class Function(pulumi.CustomResource):
|
|
1594
1637
|
secret=secret.secret_id,
|
1595
1638
|
version="latest",
|
1596
1639
|
)],
|
1597
|
-
)
|
1598
|
-
|
1599
|
-
secret=secret.name,
|
1600
|
-
secret_data="secret",
|
1601
|
-
enabled=True)
|
1640
|
+
),
|
1641
|
+
opts=pulumi.ResourceOptions(depends_on=[secret_secret_version]))
|
1602
1642
|
```
|
1603
1643
|
### Cloudfunctions2 Secret Volume
|
1604
1644
|
|
@@ -1624,6 +1664,10 @@ class Function(pulumi.CustomResource):
|
|
1624
1664
|
)],
|
1625
1665
|
),
|
1626
1666
|
))
|
1667
|
+
secret_secret_version = gcp.secretmanager.SecretVersion("secret",
|
1668
|
+
secret=secret.name,
|
1669
|
+
secret_data="secret",
|
1670
|
+
enabled=True)
|
1627
1671
|
function = gcp.cloudfunctionsv2.Function("function",
|
1628
1672
|
name="function-secret",
|
1629
1673
|
location="us-central1",
|
@@ -1647,11 +1691,8 @@ class Function(pulumi.CustomResource):
|
|
1647
1691
|
project_id=project,
|
1648
1692
|
secret=secret.secret_id,
|
1649
1693
|
)],
|
1650
|
-
)
|
1651
|
-
|
1652
|
-
secret=secret.name,
|
1653
|
-
secret_data="secret",
|
1654
|
-
enabled=True)
|
1694
|
+
),
|
1695
|
+
opts=pulumi.ResourceOptions(depends_on=[secret_secret_version]))
|
1655
1696
|
```
|
1656
1697
|
### Cloudfunctions2 Private Workerpool
|
1657
1698
|
|
@@ -1720,16 +1761,6 @@ class Function(pulumi.CustomResource):
|
|
1720
1761
|
repository_id="ar-repo",
|
1721
1762
|
location="us-central1",
|
1722
1763
|
format="DOCKER")
|
1723
|
-
encoded_ar_repo = gcp.artifactregistry.Repository("encoded-ar-repo",
|
1724
|
-
location="us-central1",
|
1725
|
-
repository_id="cmek-repo",
|
1726
|
-
format="DOCKER",
|
1727
|
-
kms_key_name="cmek-key")
|
1728
|
-
binding = gcp.artifactregistry.RepositoryIamBinding("binding",
|
1729
|
-
location=encoded_ar_repo.location,
|
1730
|
-
repository=encoded_ar_repo.name,
|
1731
|
-
role="roles/artifactregistry.admin",
|
1732
|
-
members=[f"serviceAccount:service-{project_get_project.number}@gcf-admin-robot.iam.gserviceaccount.com"])
|
1733
1764
|
gcf_cmek_keyuser = gcp.kms.CryptoKeyIAMBinding("gcf_cmek_keyuser",
|
1734
1765
|
crypto_key_id="cmek-key",
|
1735
1766
|
role="roles/cloudkms.cryptoKeyEncrypterDecrypter",
|
@@ -1739,7 +1770,19 @@ class Function(pulumi.CustomResource):
|
|
1739
1770
|
f"serviceAccount:service-{project_get_project.number}@gs-project-accounts.iam.gserviceaccount.com",
|
1740
1771
|
f"serviceAccount:service-{project_get_project.number}@serverless-robot-prod.iam.gserviceaccount.com",
|
1741
1772
|
ea_sa.email.apply(lambda email: f"serviceAccount:{email}"),
|
1742
|
-
]
|
1773
|
+
],
|
1774
|
+
opts=pulumi.ResourceOptions(depends_on=[ea_sa]))
|
1775
|
+
encoded_ar_repo = gcp.artifactregistry.Repository("encoded-ar-repo",
|
1776
|
+
location="us-central1",
|
1777
|
+
repository_id="cmek-repo",
|
1778
|
+
format="DOCKER",
|
1779
|
+
kms_key_name="cmek-key",
|
1780
|
+
opts=pulumi.ResourceOptions(depends_on=[gcf_cmek_keyuser]))
|
1781
|
+
binding = gcp.artifactregistry.RepositoryIamBinding("binding",
|
1782
|
+
location=encoded_ar_repo.location,
|
1783
|
+
repository=encoded_ar_repo.name,
|
1784
|
+
role="roles/artifactregistry.admin",
|
1785
|
+
members=[f"serviceAccount:service-{project_get_project.number}@gcf-admin-robot.iam.gserviceaccount.com"])
|
1743
1786
|
function = gcp.cloudfunctionsv2.Function("function",
|
1744
1787
|
name="function-cmek",
|
1745
1788
|
location="us-central1",
|
@@ -1760,7 +1803,8 @@ class Function(pulumi.CustomResource):
|
|
1760
1803
|
max_instance_count=1,
|
1761
1804
|
available_memory="256M",
|
1762
1805
|
timeout_seconds=60,
|
1763
|
-
)
|
1806
|
+
),
|
1807
|
+
opts=pulumi.ResourceOptions(depends_on=[gcf_cmek_keyuser]))
|
1764
1808
|
```
|
1765
1809
|
|
1766
1810
|
## Import
|
pulumi_gcp/cloudids/endpoint.py
CHANGED
@@ -375,7 +375,8 @@ class Endpoint(pulumi.CustomResource):
|
|
375
375
|
name="test",
|
376
376
|
location="us-central1-f",
|
377
377
|
network=default.id,
|
378
|
-
severity="INFORMATIONAL"
|
378
|
+
severity="INFORMATIONAL",
|
379
|
+
opts=pulumi.ResourceOptions(depends_on=[private_service_connection]))
|
379
380
|
```
|
380
381
|
|
381
382
|
## Import
|
@@ -453,7 +454,8 @@ class Endpoint(pulumi.CustomResource):
|
|
453
454
|
name="test",
|
454
455
|
location="us-central1-f",
|
455
456
|
network=default.id,
|
456
|
-
severity="INFORMATIONAL"
|
457
|
+
severity="INFORMATIONAL",
|
458
|
+
opts=pulumi.ResourceOptions(depends_on=[private_service_connection]))
|
457
459
|
```
|
458
460
|
|
459
461
|
## Import
|
pulumi_gcp/cloudrun/_inputs.py
CHANGED
@@ -48,6 +48,7 @@ __all__ = [
|
|
48
48
|
'ServiceTemplateSpecVolumeArgs',
|
49
49
|
'ServiceTemplateSpecVolumeCsiArgs',
|
50
50
|
'ServiceTemplateSpecVolumeEmptyDirArgs',
|
51
|
+
'ServiceTemplateSpecVolumeNfsArgs',
|
51
52
|
'ServiceTemplateSpecVolumeSecretArgs',
|
52
53
|
'ServiceTemplateSpecVolumeSecretItemArgs',
|
53
54
|
'ServiceTrafficArgs',
|
@@ -2884,6 +2885,7 @@ class ServiceTemplateSpecVolumeArgs:
|
|
2884
2885
|
name: pulumi.Input[str],
|
2885
2886
|
csi: Optional[pulumi.Input['ServiceTemplateSpecVolumeCsiArgs']] = None,
|
2886
2887
|
empty_dir: Optional[pulumi.Input['ServiceTemplateSpecVolumeEmptyDirArgs']] = None,
|
2888
|
+
nfs: Optional[pulumi.Input['ServiceTemplateSpecVolumeNfsArgs']] = None,
|
2887
2889
|
secret: Optional[pulumi.Input['ServiceTemplateSpecVolumeSecretArgs']] = None):
|
2888
2890
|
"""
|
2889
2891
|
:param pulumi.Input[str] name: Volume's name.
|
@@ -2891,6 +2893,10 @@ class ServiceTemplateSpecVolumeArgs:
|
|
2891
2893
|
Structure is documented below.
|
2892
2894
|
:param pulumi.Input['ServiceTemplateSpecVolumeEmptyDirArgs'] empty_dir: Ephemeral storage which can be backed by real disks (HD, SSD), network storage or memory (i.e. tmpfs). For now only in memory (tmpfs) is supported. It is ephemeral in the sense that when the sandbox is taken down, the data is destroyed with it (it does not persist across sandbox runs).
|
2893
2895
|
Structure is documented below.
|
2896
|
+
:param pulumi.Input['ServiceTemplateSpecVolumeNfsArgs'] nfs: A filesystem backed by a Network File System share. This filesystem requires the
|
2897
|
+
run.googleapis.com/execution-environment annotation to be set to "gen2" and
|
2898
|
+
run.googleapis.com/launch-stage set to "BETA" or "ALPHA".
|
2899
|
+
Structure is documented below.
|
2894
2900
|
:param pulumi.Input['ServiceTemplateSpecVolumeSecretArgs'] secret: The secret's value will be presented as the content of a file whose
|
2895
2901
|
name is defined in the item path. If no items are defined, the name of
|
2896
2902
|
the file is the secret_name.
|
@@ -2901,6 +2907,8 @@ class ServiceTemplateSpecVolumeArgs:
|
|
2901
2907
|
pulumi.set(__self__, "csi", csi)
|
2902
2908
|
if empty_dir is not None:
|
2903
2909
|
pulumi.set(__self__, "empty_dir", empty_dir)
|
2910
|
+
if nfs is not None:
|
2911
|
+
pulumi.set(__self__, "nfs", nfs)
|
2904
2912
|
if secret is not None:
|
2905
2913
|
pulumi.set(__self__, "secret", secret)
|
2906
2914
|
|
@@ -2942,6 +2950,21 @@ class ServiceTemplateSpecVolumeArgs:
|
|
2942
2950
|
def empty_dir(self, value: Optional[pulumi.Input['ServiceTemplateSpecVolumeEmptyDirArgs']]):
|
2943
2951
|
pulumi.set(self, "empty_dir", value)
|
2944
2952
|
|
2953
|
+
@property
|
2954
|
+
@pulumi.getter
|
2955
|
+
def nfs(self) -> Optional[pulumi.Input['ServiceTemplateSpecVolumeNfsArgs']]:
|
2956
|
+
"""
|
2957
|
+
A filesystem backed by a Network File System share. This filesystem requires the
|
2958
|
+
run.googleapis.com/execution-environment annotation to be set to "gen2" and
|
2959
|
+
run.googleapis.com/launch-stage set to "BETA" or "ALPHA".
|
2960
|
+
Structure is documented below.
|
2961
|
+
"""
|
2962
|
+
return pulumi.get(self, "nfs")
|
2963
|
+
|
2964
|
+
@nfs.setter
|
2965
|
+
def nfs(self, value: Optional[pulumi.Input['ServiceTemplateSpecVolumeNfsArgs']]):
|
2966
|
+
pulumi.set(self, "nfs", value)
|
2967
|
+
|
2945
2968
|
@property
|
2946
2969
|
@pulumi.getter
|
2947
2970
|
def secret(self) -> Optional[pulumi.Input['ServiceTemplateSpecVolumeSecretArgs']]:
|
@@ -2973,8 +2996,6 @@ class ServiceTemplateSpecVolumeCsiArgs:
|
|
2973
2996
|
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] volume_attributes: Driver-specific attributes. The following options are supported for available drivers:
|
2974
2997
|
* gcsfuse.run.googleapis.com
|
2975
2998
|
* bucketName: The name of the Cloud Storage Bucket that backs this volume. The Cloud Run Service identity must have access to this bucket.
|
2976
|
-
|
2977
|
-
- - -
|
2978
2999
|
"""
|
2979
3000
|
pulumi.set(__self__, "driver", driver)
|
2980
3001
|
if read_only is not None:
|
@@ -3016,8 +3037,6 @@ class ServiceTemplateSpecVolumeCsiArgs:
|
|
3016
3037
|
Driver-specific attributes. The following options are supported for available drivers:
|
3017
3038
|
* gcsfuse.run.googleapis.com
|
3018
3039
|
* bucketName: The name of the Cloud Storage Bucket that backs this volume. The Cloud Run Service identity must have access to this bucket.
|
3019
|
-
|
3020
|
-
- - -
|
3021
3040
|
"""
|
3022
3041
|
return pulumi.get(self, "volume_attributes")
|
3023
3042
|
|
@@ -3065,6 +3084,63 @@ class ServiceTemplateSpecVolumeEmptyDirArgs:
|
|
3065
3084
|
pulumi.set(self, "size_limit", value)
|
3066
3085
|
|
3067
3086
|
|
3087
|
+
@pulumi.input_type
|
3088
|
+
class ServiceTemplateSpecVolumeNfsArgs:
|
3089
|
+
def __init__(__self__, *,
|
3090
|
+
path: pulumi.Input[str],
|
3091
|
+
server: pulumi.Input[str],
|
3092
|
+
read_only: Optional[pulumi.Input[bool]] = None):
|
3093
|
+
"""
|
3094
|
+
:param pulumi.Input[str] path: Path exported by the NFS server
|
3095
|
+
:param pulumi.Input[str] server: IP address or hostname of the NFS server
|
3096
|
+
:param pulumi.Input[bool] read_only: If true, mount the NFS volume as read only in all mounts. Defaults to false.
|
3097
|
+
|
3098
|
+
- - -
|
3099
|
+
"""
|
3100
|
+
pulumi.set(__self__, "path", path)
|
3101
|
+
pulumi.set(__self__, "server", server)
|
3102
|
+
if read_only is not None:
|
3103
|
+
pulumi.set(__self__, "read_only", read_only)
|
3104
|
+
|
3105
|
+
@property
|
3106
|
+
@pulumi.getter
|
3107
|
+
def path(self) -> pulumi.Input[str]:
|
3108
|
+
"""
|
3109
|
+
Path exported by the NFS server
|
3110
|
+
"""
|
3111
|
+
return pulumi.get(self, "path")
|
3112
|
+
|
3113
|
+
@path.setter
|
3114
|
+
def path(self, value: pulumi.Input[str]):
|
3115
|
+
pulumi.set(self, "path", value)
|
3116
|
+
|
3117
|
+
@property
|
3118
|
+
@pulumi.getter
|
3119
|
+
def server(self) -> pulumi.Input[str]:
|
3120
|
+
"""
|
3121
|
+
IP address or hostname of the NFS server
|
3122
|
+
"""
|
3123
|
+
return pulumi.get(self, "server")
|
3124
|
+
|
3125
|
+
@server.setter
|
3126
|
+
def server(self, value: pulumi.Input[str]):
|
3127
|
+
pulumi.set(self, "server", value)
|
3128
|
+
|
3129
|
+
@property
|
3130
|
+
@pulumi.getter(name="readOnly")
|
3131
|
+
def read_only(self) -> Optional[pulumi.Input[bool]]:
|
3132
|
+
"""
|
3133
|
+
If true, mount the NFS volume as read only in all mounts. Defaults to false.
|
3134
|
+
|
3135
|
+
- - -
|
3136
|
+
"""
|
3137
|
+
return pulumi.get(self, "read_only")
|
3138
|
+
|
3139
|
+
@read_only.setter
|
3140
|
+
def read_only(self, value: Optional[pulumi.Input[bool]]):
|
3141
|
+
pulumi.set(self, "read_only", value)
|
3142
|
+
|
3143
|
+
|
3068
3144
|
@pulumi.input_type
|
3069
3145
|
class ServiceTemplateSpecVolumeSecretArgs:
|
3070
3146
|
def __init__(__self__, *,
|