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.
Files changed (179) hide show
  1. pulumi_gcp/__init__.py +88 -0
  2. pulumi_gcp/accesscontextmanager/service_perimeter_egress_policy.py +0 -64
  3. pulumi_gcp/accesscontextmanager/service_perimeter_ingress_policy.py +0 -70
  4. pulumi_gcp/alloydb/backup.py +50 -42
  5. pulumi_gcp/alloydb/cluster.py +56 -48
  6. pulumi_gcp/alloydb/instance.py +50 -42
  7. pulumi_gcp/alloydb/user.py +32 -24
  8. pulumi_gcp/apigateway/api_config.py +0 -114
  9. pulumi_gcp/apigateway/gateway.py +0 -44
  10. pulumi_gcp/apigee/addons_config.py +14 -4
  11. pulumi_gcp/apigee/endpoint_attachment.py +4 -2
  12. pulumi_gcp/apigee/env_group.py +4 -2
  13. pulumi_gcp/apigee/environment.py +4 -2
  14. pulumi_gcp/apigee/instance.py +22 -8
  15. pulumi_gcp/apigee/keystores_aliases_self_signed_cert.py +26 -10
  16. pulumi_gcp/apigee/nat_address.py +10 -2
  17. pulumi_gcp/apigee/organization.py +18 -6
  18. pulumi_gcp/apigee/sync_authorization.py +8 -4
  19. pulumi_gcp/apigee/target_server.py +26 -10
  20. pulumi_gcp/appengine/_inputs.py +18 -0
  21. pulumi_gcp/appengine/domain_mapping.py +1 -1
  22. pulumi_gcp/appengine/outputs.py +16 -0
  23. pulumi_gcp/apphub/service.py +40 -20
  24. pulumi_gcp/apphub/service_project_attachment.py +16 -8
  25. pulumi_gcp/apphub/workload.py +0 -418
  26. pulumi_gcp/applicationintegration/auth_config.py +4 -2
  27. pulumi_gcp/artifactregistry/repository.py +14 -12
  28. pulumi_gcp/backupdisasterrecovery/management_server.py +4 -2
  29. pulumi_gcp/bigquery/_inputs.py +286 -2
  30. pulumi_gcp/bigquery/data_transfer_config.py +8 -4
  31. pulumi_gcp/bigquery/job.py +22 -16
  32. pulumi_gcp/bigquery/outputs.py +289 -2
  33. pulumi_gcp/bigquery/table.py +77 -35
  34. pulumi_gcp/certificateauthority/authority.py +10 -2
  35. pulumi_gcp/certificateauthority/certificate.py +8 -4
  36. pulumi_gcp/certificatemanager/certificate.py +84 -80
  37. pulumi_gcp/certificatemanager/certificate_issuance_config.py +32 -30
  38. pulumi_gcp/cloudbuild/bitbucket_server_config.py +12 -6
  39. pulumi_gcp/cloudbuild/trigger.py +22 -14
  40. pulumi_gcp/cloudbuild/worker_pool.py +12 -6
  41. pulumi_gcp/cloudbuildv2/connection.py +10 -2
  42. pulumi_gcp/cloudbuildv2/repository.py +10 -2
  43. pulumi_gcp/cloudfunctionsv2/function.py +110 -66
  44. pulumi_gcp/cloudids/endpoint.py +4 -2
  45. pulumi_gcp/cloudrun/_inputs.py +80 -4
  46. pulumi_gcp/cloudrun/outputs.py +137 -4
  47. pulumi_gcp/cloudrunv2/job.py +32 -20
  48. pulumi_gcp/cloudrunv2/service.py +28 -20
  49. pulumi_gcp/composer/user_workloads_secret.py +4 -4
  50. pulumi_gcp/compute/__init__.py +1 -0
  51. pulumi_gcp/compute/_inputs.py +398 -176
  52. pulumi_gcp/compute/forwarding_rule.py +225 -817
  53. pulumi_gcp/compute/get_subnetworks.py +157 -0
  54. pulumi_gcp/compute/global_forwarding_rule.py +0 -766
  55. pulumi_gcp/compute/instance_group.py +0 -100
  56. pulumi_gcp/compute/instance_group_membership.py +2 -2
  57. pulumi_gcp/compute/interconnect_attachment.py +82 -0
  58. pulumi_gcp/compute/network_endpoint.py +2 -2
  59. pulumi_gcp/compute/network_endpoint_list.py +2 -2
  60. pulumi_gcp/compute/outputs.py +609 -161
  61. pulumi_gcp/compute/packet_mirroring.py +4 -2
  62. pulumi_gcp/compute/region_security_policy_rule.py +4 -2
  63. pulumi_gcp/compute/region_ssl_certificate.py +0 -188
  64. pulumi_gcp/compute/region_ssl_policy.py +39 -40
  65. pulumi_gcp/compute/route.py +10 -2
  66. pulumi_gcp/compute/security_policy_rule.py +55 -1
  67. pulumi_gcp/compute/ssl_certificate.py +0 -166
  68. pulumi_gcp/compute/target_instance.py +4 -2
  69. pulumi_gcp/compute/vpn_gateway.py +12 -2
  70. pulumi_gcp/compute/vpn_tunnel.py +26 -16
  71. pulumi_gcp/container/_inputs.py +560 -0
  72. pulumi_gcp/container/outputs.py +1106 -51
  73. pulumi_gcp/databasemigrationservice/connection_profile.py +32 -16
  74. pulumi_gcp/datacatalog/policy_tag.py +4 -2
  75. pulumi_gcp/datafusion/instance.py +14 -12
  76. pulumi_gcp/dataplex/__init__.py +10 -0
  77. pulumi_gcp/dataplex/_inputs.py +160 -0
  78. pulumi_gcp/dataplex/aspect_type.py +1077 -0
  79. pulumi_gcp/dataplex/aspect_type_iam_binding.py +765 -0
  80. pulumi_gcp/dataplex/aspect_type_iam_member.py +765 -0
  81. pulumi_gcp/dataplex/aspect_type_iam_policy.py +604 -0
  82. pulumi_gcp/dataplex/asset.py +4 -2
  83. pulumi_gcp/dataplex/datascan.py +16 -14
  84. pulumi_gcp/dataplex/entry_group.py +722 -0
  85. pulumi_gcp/dataplex/entry_group_iam_binding.py +765 -0
  86. pulumi_gcp/dataplex/entry_group_iam_member.py +765 -0
  87. pulumi_gcp/dataplex/entry_group_iam_policy.py +604 -0
  88. pulumi_gcp/dataplex/get_aspect_type_iam_policy.py +164 -0
  89. pulumi_gcp/dataplex/get_entry_group_iam_policy.py +164 -0
  90. pulumi_gcp/dataplex/outputs.py +112 -0
  91. pulumi_gcp/datastore/data_store_index.py +4 -2
  92. pulumi_gcp/datastream/connection_profile.py +47 -0
  93. pulumi_gcp/datastream/private_connection.py +47 -0
  94. pulumi_gcp/datastream/stream.py +63 -10
  95. pulumi_gcp/diagflow/cx_test_case.py +4 -4
  96. pulumi_gcp/diagflow/entity_type.py +4 -2
  97. pulumi_gcp/diagflow/fulfillment.py +4 -2
  98. pulumi_gcp/diagflow/intent.py +8 -4
  99. pulumi_gcp/dns/get_managed_zone.py +3 -3
  100. pulumi_gcp/dns/managed_zone.py +7 -7
  101. pulumi_gcp/dns/outputs.py +2 -2
  102. pulumi_gcp/edgecontainer/node_pool.py +4 -2
  103. pulumi_gcp/edgecontainer/vpn_connection.py +4 -2
  104. pulumi_gcp/eventarc/channel.py +4 -2
  105. pulumi_gcp/eventarc/google_channel_config.py +4 -2
  106. pulumi_gcp/firebase/app_check_app_attest_config.py +16 -8
  107. pulumi_gcp/firebase/app_check_debug_token.py +8 -4
  108. pulumi_gcp/firebase/app_check_device_check_config.py +8 -4
  109. pulumi_gcp/firebase/app_check_play_integrity_config.py +16 -8
  110. pulumi_gcp/firebase/app_check_recaptcha_enterprise_config.py +8 -4
  111. pulumi_gcp/firebase/app_check_recaptcha_v3_config.py +8 -4
  112. pulumi_gcp/firebase/app_check_service_config.py +12 -6
  113. pulumi_gcp/firebase/database_instance.py +4 -2
  114. pulumi_gcp/firebaserules/release.py +0 -98
  115. pulumi_gcp/firestore/database.py +24 -20
  116. pulumi_gcp/firestore/document.py +24 -12
  117. pulumi_gcp/folder/access_approval_settings.py +4 -2
  118. pulumi_gcp/gkehub/membership_binding.py +14 -4
  119. pulumi_gcp/gkehub/membership_rbac_role_binding.py +8 -4
  120. pulumi_gcp/gkehub/namespace.py +4 -2
  121. pulumi_gcp/gkehub/scope_rbac_role_binding.py +4 -2
  122. pulumi_gcp/integrationconnectors/connection.py +4 -2
  123. pulumi_gcp/integrationconnectors/managed_zone.py +18 -6
  124. pulumi_gcp/kms/__init__.py +2 -0
  125. pulumi_gcp/kms/autokey_config.py +366 -0
  126. pulumi_gcp/kms/key_handle.py +548 -0
  127. pulumi_gcp/logging/folder_settings.py +12 -10
  128. pulumi_gcp/logging/linked_dataset.py +4 -2
  129. pulumi_gcp/logging/organization_settings.py +12 -10
  130. pulumi_gcp/logging/project_bucket_config.py +4 -2
  131. pulumi_gcp/looker/instance.py +12 -10
  132. pulumi_gcp/netapp/volume_replication.py +4 -2
  133. pulumi_gcp/netapp/volume_snapshot.py +4 -2
  134. pulumi_gcp/networkconnectivity/internal_range.py +14 -12
  135. pulumi_gcp/networksecurity/gateway_security_policy.py +16 -4
  136. pulumi_gcp/networksecurity/tls_inspection_policy.py +22 -4
  137. pulumi_gcp/networkservices/__init__.py +1 -0
  138. pulumi_gcp/networkservices/_inputs.py +245 -27
  139. pulumi_gcp/networkservices/gateway.py +12 -6
  140. pulumi_gcp/networkservices/lb_route_extension.py +663 -0
  141. pulumi_gcp/networkservices/lb_traffic_extension.py +28 -540
  142. pulumi_gcp/networkservices/outputs.py +251 -20
  143. pulumi_gcp/organizations/access_approval_settings.py +4 -2
  144. pulumi_gcp/orgpolicy/policy.py +2 -2
  145. pulumi_gcp/parallelstore/instance.py +20 -18
  146. pulumi_gcp/projects/access_approval_settings.py +4 -2
  147. pulumi_gcp/pubsub/_inputs.py +16 -0
  148. pulumi_gcp/pubsub/outputs.py +25 -0
  149. pulumi_gcp/pubsub/schema.py +4 -2
  150. pulumi_gcp/pubsub/subscription.py +102 -66
  151. pulumi_gcp/pubsub/topic.py +4 -2
  152. pulumi_gcp/pulumi-plugin.json +1 -1
  153. pulumi_gcp/redis/cluster.py +30 -28
  154. pulumi_gcp/redis/instance.py +4 -2
  155. pulumi_gcp/secretmanager/secret.py +4 -2
  156. pulumi_gcp/securesourcemanager/instance.py +20 -8
  157. pulumi_gcp/securitycenter/instance_iam_binding.py +14 -12
  158. pulumi_gcp/securitycenter/instance_iam_member.py +14 -12
  159. pulumi_gcp/securitycenter/instance_iam_policy.py +14 -12
  160. pulumi_gcp/serviceaccount/key.py +2 -2
  161. pulumi_gcp/sql/database_instance.py +4 -2
  162. pulumi_gcp/sql/user.py +4 -4
  163. pulumi_gcp/storage/get_project_service_account.py +4 -2
  164. pulumi_gcp/storage/insights_report_config.py +12 -10
  165. pulumi_gcp/storage/notification.py +18 -16
  166. pulumi_gcp/storage/transfer_agent_pool.py +4 -2
  167. pulumi_gcp/storage/transfer_job.py +14 -4
  168. pulumi_gcp/tpu/_inputs.py +2 -2
  169. pulumi_gcp/tpu/outputs.py +2 -2
  170. pulumi_gcp/tpu/v2_vm.py +10 -6
  171. pulumi_gcp/vertex/ai_endpoint.py +24 -22
  172. pulumi_gcp/vertex/ai_index_endpoint.py +20 -18
  173. pulumi_gcp/vertex/ai_tensorboard.py +14 -12
  174. pulumi_gcp/vmwareengine/external_address.py +4 -2
  175. pulumi_gcp/vmwareengine/network.py +8 -4
  176. {pulumi_gcp-7.24.0a1716588893.dist-info → pulumi_gcp-7.25.0.dist-info}/METADATA +1 -1
  177. {pulumi_gcp-7.24.0a1716588893.dist-info → pulumi_gcp-7.25.0.dist-info}/RECORD +179 -165
  178. {pulumi_gcp-7.24.0a1716588893.dist-info → pulumi_gcp-7.25.0.dist-info}/WHEEL +0 -0
  179. {pulumi_gcp-7.24.0a1716588893.dist-info → pulumi_gcp-7.25.0.dist-info}/top_level.txt +0 -0
@@ -955,6 +955,15 @@ class Subscription(pulumi.CustomResource):
955
955
  import pulumi_gcp as gcp
956
956
 
957
957
  example = gcp.pubsub.Topic("example", name="example-topic")
958
+ project = gcp.organizations.get_project()
959
+ viewer = gcp.projects.IAMMember("viewer",
960
+ project=project.project_id,
961
+ role="roles/bigquery.metadataViewer",
962
+ member=f"serviceAccount:service-{project.number}@gcp-sa-pubsub.iam.gserviceaccount.com")
963
+ editor = gcp.projects.IAMMember("editor",
964
+ project=project.project_id,
965
+ role="roles/bigquery.dataEditor",
966
+ member=f"serviceAccount:service-{project.number}@gcp-sa-pubsub.iam.gserviceaccount.com")
958
967
  test = gcp.bigquery.Dataset("test", dataset_id="example_dataset")
959
968
  test_table = gcp.bigquery.Table("test",
960
969
  deletion_protection=False,
@@ -974,7 +983,19 @@ class Subscription(pulumi.CustomResource):
974
983
  topic=example.id,
975
984
  bigquery_config=gcp.pubsub.SubscriptionBigqueryConfigArgs(
976
985
  table=pulumi.Output.all(test_table.project, test_table.dataset_id, test_table.table_id).apply(lambda project, dataset_id, table_id: f"{project}.{dataset_id}.{table_id}"),
977
- ))
986
+ ),
987
+ opts=pulumi.ResourceOptions(depends_on=[
988
+ viewer,
989
+ editor,
990
+ ]))
991
+ ```
992
+ ### Pubsub Subscription Push Bq Table Schema
993
+
994
+ ```python
995
+ import pulumi
996
+ import pulumi_gcp as gcp
997
+
998
+ example = gcp.pubsub.Topic("example", name="example-topic")
978
999
  project = gcp.organizations.get_project()
979
1000
  viewer = gcp.projects.IAMMember("viewer",
980
1001
  project=project.project_id,
@@ -984,14 +1005,6 @@ class Subscription(pulumi.CustomResource):
984
1005
  project=project.project_id,
985
1006
  role="roles/bigquery.dataEditor",
986
1007
  member=f"serviceAccount:service-{project.number}@gcp-sa-pubsub.iam.gserviceaccount.com")
987
- ```
988
- ### Pubsub Subscription Push Bq Table Schema
989
-
990
- ```python
991
- import pulumi
992
- import pulumi_gcp as gcp
993
-
994
- example = gcp.pubsub.Topic("example", name="example-topic")
995
1008
  test = gcp.bigquery.Dataset("test", dataset_id="example_dataset")
996
1009
  test_table = gcp.bigquery.Table("test",
997
1010
  deletion_protection=False,
@@ -1012,16 +1025,11 @@ class Subscription(pulumi.CustomResource):
1012
1025
  bigquery_config=gcp.pubsub.SubscriptionBigqueryConfigArgs(
1013
1026
  table=pulumi.Output.all(test_table.project, test_table.dataset_id, test_table.table_id).apply(lambda project, dataset_id, table_id: f"{project}.{dataset_id}.{table_id}"),
1014
1027
  use_table_schema=True,
1015
- ))
1016
- project = gcp.organizations.get_project()
1017
- viewer = gcp.projects.IAMMember("viewer",
1018
- project=project.project_id,
1019
- role="roles/bigquery.metadataViewer",
1020
- member=f"serviceAccount:service-{project.number}@gcp-sa-pubsub.iam.gserviceaccount.com")
1021
- editor = gcp.projects.IAMMember("editor",
1022
- project=project.project_id,
1023
- role="roles/bigquery.dataEditor",
1024
- member=f"serviceAccount:service-{project.number}@gcp-sa-pubsub.iam.gserviceaccount.com")
1028
+ ),
1029
+ opts=pulumi.ResourceOptions(depends_on=[
1030
+ viewer,
1031
+ editor,
1032
+ ]))
1025
1033
  ```
1026
1034
  ### Pubsub Subscription Push Cloudstorage
1027
1035
 
@@ -1034,21 +1042,26 @@ class Subscription(pulumi.CustomResource):
1034
1042
  location="US",
1035
1043
  uniform_bucket_level_access=True)
1036
1044
  example_topic = gcp.pubsub.Topic("example", name="example-topic")
1045
+ project = gcp.organizations.get_project()
1046
+ admin = gcp.storage.BucketIAMMember("admin",
1047
+ bucket=example.name,
1048
+ role="roles/storage.admin",
1049
+ member=f"serviceAccount:service-{project.number}@gcp-sa-pubsub.iam.gserviceaccount.com")
1037
1050
  example_subscription = gcp.pubsub.Subscription("example",
1038
1051
  name="example-subscription",
1039
1052
  topic=example_topic.id,
1040
1053
  cloud_storage_config=gcp.pubsub.SubscriptionCloudStorageConfigArgs(
1041
1054
  bucket=example.name,
1042
1055
  filename_prefix="pre-",
1043
- filename_suffix="-_2067",
1056
+ filename_suffix="-_40785",
1057
+ filename_datetime_format="YYYY-MM-DD/hh_mm_ssZ",
1044
1058
  max_bytes=1000,
1045
1059
  max_duration="300s",
1046
- ))
1047
- project = gcp.organizations.get_project()
1048
- admin = gcp.storage.BucketIAMMember("admin",
1049
- bucket=example.name,
1050
- role="roles/storage.admin",
1051
- member=f"serviceAccount:service-{project.number}@gcp-sa-pubsub.iam.gserviceaccount.com")
1060
+ ),
1061
+ opts=pulumi.ResourceOptions(depends_on=[
1062
+ example,
1063
+ admin,
1064
+ ]))
1052
1065
  ```
1053
1066
  ### Pubsub Subscription Push Cloudstorage Avro
1054
1067
 
@@ -1061,24 +1074,29 @@ class Subscription(pulumi.CustomResource):
1061
1074
  location="US",
1062
1075
  uniform_bucket_level_access=True)
1063
1076
  example_topic = gcp.pubsub.Topic("example", name="example-topic")
1077
+ project = gcp.organizations.get_project()
1078
+ admin = gcp.storage.BucketIAMMember("admin",
1079
+ bucket=example.name,
1080
+ role="roles/storage.admin",
1081
+ member=f"serviceAccount:service-{project.number}@gcp-sa-pubsub.iam.gserviceaccount.com")
1064
1082
  example_subscription = gcp.pubsub.Subscription("example",
1065
1083
  name="example-subscription",
1066
1084
  topic=example_topic.id,
1067
1085
  cloud_storage_config=gcp.pubsub.SubscriptionCloudStorageConfigArgs(
1068
1086
  bucket=example.name,
1069
1087
  filename_prefix="pre-",
1070
- filename_suffix="-_40785",
1088
+ filename_suffix="-_79169",
1089
+ filename_datetime_format="YYYY-MM-DD/hh_mm_ssZ",
1071
1090
  max_bytes=1000,
1072
1091
  max_duration="300s",
1073
1092
  avro_config=gcp.pubsub.SubscriptionCloudStorageConfigAvroConfigArgs(
1074
1093
  write_metadata=True,
1075
1094
  ),
1076
- ))
1077
- project = gcp.organizations.get_project()
1078
- admin = gcp.storage.BucketIAMMember("admin",
1079
- bucket=example.name,
1080
- role="roles/storage.admin",
1081
- member=f"serviceAccount:service-{project.number}@gcp-sa-pubsub.iam.gserviceaccount.com")
1095
+ ),
1096
+ opts=pulumi.ResourceOptions(depends_on=[
1097
+ example,
1098
+ admin,
1099
+ ]))
1082
1100
  ```
1083
1101
 
1084
1102
  ## Import
@@ -1282,6 +1300,15 @@ class Subscription(pulumi.CustomResource):
1282
1300
  import pulumi_gcp as gcp
1283
1301
 
1284
1302
  example = gcp.pubsub.Topic("example", name="example-topic")
1303
+ project = gcp.organizations.get_project()
1304
+ viewer = gcp.projects.IAMMember("viewer",
1305
+ project=project.project_id,
1306
+ role="roles/bigquery.metadataViewer",
1307
+ member=f"serviceAccount:service-{project.number}@gcp-sa-pubsub.iam.gserviceaccount.com")
1308
+ editor = gcp.projects.IAMMember("editor",
1309
+ project=project.project_id,
1310
+ role="roles/bigquery.dataEditor",
1311
+ member=f"serviceAccount:service-{project.number}@gcp-sa-pubsub.iam.gserviceaccount.com")
1285
1312
  test = gcp.bigquery.Dataset("test", dataset_id="example_dataset")
1286
1313
  test_table = gcp.bigquery.Table("test",
1287
1314
  deletion_protection=False,
@@ -1301,7 +1328,19 @@ class Subscription(pulumi.CustomResource):
1301
1328
  topic=example.id,
1302
1329
  bigquery_config=gcp.pubsub.SubscriptionBigqueryConfigArgs(
1303
1330
  table=pulumi.Output.all(test_table.project, test_table.dataset_id, test_table.table_id).apply(lambda project, dataset_id, table_id: f"{project}.{dataset_id}.{table_id}"),
1304
- ))
1331
+ ),
1332
+ opts=pulumi.ResourceOptions(depends_on=[
1333
+ viewer,
1334
+ editor,
1335
+ ]))
1336
+ ```
1337
+ ### Pubsub Subscription Push Bq Table Schema
1338
+
1339
+ ```python
1340
+ import pulumi
1341
+ import pulumi_gcp as gcp
1342
+
1343
+ example = gcp.pubsub.Topic("example", name="example-topic")
1305
1344
  project = gcp.organizations.get_project()
1306
1345
  viewer = gcp.projects.IAMMember("viewer",
1307
1346
  project=project.project_id,
@@ -1311,14 +1350,6 @@ class Subscription(pulumi.CustomResource):
1311
1350
  project=project.project_id,
1312
1351
  role="roles/bigquery.dataEditor",
1313
1352
  member=f"serviceAccount:service-{project.number}@gcp-sa-pubsub.iam.gserviceaccount.com")
1314
- ```
1315
- ### Pubsub Subscription Push Bq Table Schema
1316
-
1317
- ```python
1318
- import pulumi
1319
- import pulumi_gcp as gcp
1320
-
1321
- example = gcp.pubsub.Topic("example", name="example-topic")
1322
1353
  test = gcp.bigquery.Dataset("test", dataset_id="example_dataset")
1323
1354
  test_table = gcp.bigquery.Table("test",
1324
1355
  deletion_protection=False,
@@ -1339,16 +1370,11 @@ class Subscription(pulumi.CustomResource):
1339
1370
  bigquery_config=gcp.pubsub.SubscriptionBigqueryConfigArgs(
1340
1371
  table=pulumi.Output.all(test_table.project, test_table.dataset_id, test_table.table_id).apply(lambda project, dataset_id, table_id: f"{project}.{dataset_id}.{table_id}"),
1341
1372
  use_table_schema=True,
1342
- ))
1343
- project = gcp.organizations.get_project()
1344
- viewer = gcp.projects.IAMMember("viewer",
1345
- project=project.project_id,
1346
- role="roles/bigquery.metadataViewer",
1347
- member=f"serviceAccount:service-{project.number}@gcp-sa-pubsub.iam.gserviceaccount.com")
1348
- editor = gcp.projects.IAMMember("editor",
1349
- project=project.project_id,
1350
- role="roles/bigquery.dataEditor",
1351
- member=f"serviceAccount:service-{project.number}@gcp-sa-pubsub.iam.gserviceaccount.com")
1373
+ ),
1374
+ opts=pulumi.ResourceOptions(depends_on=[
1375
+ viewer,
1376
+ editor,
1377
+ ]))
1352
1378
  ```
1353
1379
  ### Pubsub Subscription Push Cloudstorage
1354
1380
 
@@ -1361,21 +1387,26 @@ class Subscription(pulumi.CustomResource):
1361
1387
  location="US",
1362
1388
  uniform_bucket_level_access=True)
1363
1389
  example_topic = gcp.pubsub.Topic("example", name="example-topic")
1390
+ project = gcp.organizations.get_project()
1391
+ admin = gcp.storage.BucketIAMMember("admin",
1392
+ bucket=example.name,
1393
+ role="roles/storage.admin",
1394
+ member=f"serviceAccount:service-{project.number}@gcp-sa-pubsub.iam.gserviceaccount.com")
1364
1395
  example_subscription = gcp.pubsub.Subscription("example",
1365
1396
  name="example-subscription",
1366
1397
  topic=example_topic.id,
1367
1398
  cloud_storage_config=gcp.pubsub.SubscriptionCloudStorageConfigArgs(
1368
1399
  bucket=example.name,
1369
1400
  filename_prefix="pre-",
1370
- filename_suffix="-_2067",
1401
+ filename_suffix="-_40785",
1402
+ filename_datetime_format="YYYY-MM-DD/hh_mm_ssZ",
1371
1403
  max_bytes=1000,
1372
1404
  max_duration="300s",
1373
- ))
1374
- project = gcp.organizations.get_project()
1375
- admin = gcp.storage.BucketIAMMember("admin",
1376
- bucket=example.name,
1377
- role="roles/storage.admin",
1378
- member=f"serviceAccount:service-{project.number}@gcp-sa-pubsub.iam.gserviceaccount.com")
1405
+ ),
1406
+ opts=pulumi.ResourceOptions(depends_on=[
1407
+ example,
1408
+ admin,
1409
+ ]))
1379
1410
  ```
1380
1411
  ### Pubsub Subscription Push Cloudstorage Avro
1381
1412
 
@@ -1388,24 +1419,29 @@ class Subscription(pulumi.CustomResource):
1388
1419
  location="US",
1389
1420
  uniform_bucket_level_access=True)
1390
1421
  example_topic = gcp.pubsub.Topic("example", name="example-topic")
1422
+ project = gcp.organizations.get_project()
1423
+ admin = gcp.storage.BucketIAMMember("admin",
1424
+ bucket=example.name,
1425
+ role="roles/storage.admin",
1426
+ member=f"serviceAccount:service-{project.number}@gcp-sa-pubsub.iam.gserviceaccount.com")
1391
1427
  example_subscription = gcp.pubsub.Subscription("example",
1392
1428
  name="example-subscription",
1393
1429
  topic=example_topic.id,
1394
1430
  cloud_storage_config=gcp.pubsub.SubscriptionCloudStorageConfigArgs(
1395
1431
  bucket=example.name,
1396
1432
  filename_prefix="pre-",
1397
- filename_suffix="-_40785",
1433
+ filename_suffix="-_79169",
1434
+ filename_datetime_format="YYYY-MM-DD/hh_mm_ssZ",
1398
1435
  max_bytes=1000,
1399
1436
  max_duration="300s",
1400
1437
  avro_config=gcp.pubsub.SubscriptionCloudStorageConfigAvroConfigArgs(
1401
1438
  write_metadata=True,
1402
1439
  ),
1403
- ))
1404
- project = gcp.organizations.get_project()
1405
- admin = gcp.storage.BucketIAMMember("admin",
1406
- bucket=example.name,
1407
- role="roles/storage.admin",
1408
- member=f"serviceAccount:service-{project.number}@gcp-sa-pubsub.iam.gserviceaccount.com")
1440
+ ),
1441
+ opts=pulumi.ResourceOptions(depends_on=[
1442
+ example,
1443
+ admin,
1444
+ ]))
1409
1445
  ```
1410
1446
 
1411
1447
  ## Import
@@ -509,7 +509,8 @@ class Topic(pulumi.CustomResource):
509
509
  schema_settings=gcp.pubsub.TopicSchemaSettingsArgs(
510
510
  schema="projects/my-project-name/schemas/example",
511
511
  encoding="JSON",
512
- ))
512
+ ),
513
+ opts=pulumi.ResourceOptions(depends_on=[example]))
513
514
  ```
514
515
  ### Pubsub Topic Ingestion Kinesis
515
516
 
@@ -677,7 +678,8 @@ class Topic(pulumi.CustomResource):
677
678
  schema_settings=gcp.pubsub.TopicSchemaSettingsArgs(
678
679
  schema="projects/my-project-name/schemas/example",
679
680
  encoding="JSON",
680
- ))
681
+ ),
682
+ opts=pulumi.ResourceOptions(depends_on=[example]))
681
683
  ```
682
684
  ### Pubsub Topic Ingestion Kinesis
683
685
 
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "resource": true,
3
3
  "name": "gcp",
4
- "version": "7.24.0-alpha.1716588893"
4
+ "version": "7.25.0"
5
5
  }
@@ -561,20 +561,6 @@ class Cluster(pulumi.CustomResource):
561
561
  producer_net = gcp.compute.Network("producer_net",
562
562
  name="mynetwork",
563
563
  auto_create_subnetworks=False)
564
- cluster_ha = gcp.redis.Cluster("cluster-ha",
565
- name="ha-cluster",
566
- shard_count=3,
567
- psc_configs=[gcp.redis.ClusterPscConfigArgs(
568
- network=producer_net.id,
569
- )],
570
- region="us-central1",
571
- replica_count=1,
572
- node_type="REDIS_SHARED_CORE_NANO",
573
- transit_encryption_mode="TRANSIT_ENCRYPTION_MODE_DISABLED",
574
- authorization_mode="AUTH_MODE_DISABLED",
575
- redis_configs={
576
- "maxmemory-policy": "volatile-ttl",
577
- })
578
564
  producer_subnet = gcp.compute.Subnetwork("producer_subnet",
579
565
  name="mysubnet",
580
566
  ip_cidr_range="10.0.0.248/29",
@@ -589,6 +575,21 @@ class Cluster(pulumi.CustomResource):
589
575
  psc_config=gcp.networkconnectivity.ServiceConnectionPolicyPscConfigArgs(
590
576
  subnetworks=[producer_subnet.id],
591
577
  ))
578
+ cluster_ha = gcp.redis.Cluster("cluster-ha",
579
+ name="ha-cluster",
580
+ shard_count=3,
581
+ psc_configs=[gcp.redis.ClusterPscConfigArgs(
582
+ network=producer_net.id,
583
+ )],
584
+ region="us-central1",
585
+ replica_count=1,
586
+ node_type="REDIS_SHARED_CORE_NANO",
587
+ transit_encryption_mode="TRANSIT_ENCRYPTION_MODE_DISABLED",
588
+ authorization_mode="AUTH_MODE_DISABLED",
589
+ redis_configs={
590
+ "maxmemory-policy": "volatile-ttl",
591
+ },
592
+ opts=pulumi.ResourceOptions(depends_on=[default]))
592
593
  ```
593
594
 
594
595
  ## Import
@@ -670,20 +671,6 @@ class Cluster(pulumi.CustomResource):
670
671
  producer_net = gcp.compute.Network("producer_net",
671
672
  name="mynetwork",
672
673
  auto_create_subnetworks=False)
673
- cluster_ha = gcp.redis.Cluster("cluster-ha",
674
- name="ha-cluster",
675
- shard_count=3,
676
- psc_configs=[gcp.redis.ClusterPscConfigArgs(
677
- network=producer_net.id,
678
- )],
679
- region="us-central1",
680
- replica_count=1,
681
- node_type="REDIS_SHARED_CORE_NANO",
682
- transit_encryption_mode="TRANSIT_ENCRYPTION_MODE_DISABLED",
683
- authorization_mode="AUTH_MODE_DISABLED",
684
- redis_configs={
685
- "maxmemory-policy": "volatile-ttl",
686
- })
687
674
  producer_subnet = gcp.compute.Subnetwork("producer_subnet",
688
675
  name="mysubnet",
689
676
  ip_cidr_range="10.0.0.248/29",
@@ -698,6 +685,21 @@ class Cluster(pulumi.CustomResource):
698
685
  psc_config=gcp.networkconnectivity.ServiceConnectionPolicyPscConfigArgs(
699
686
  subnetworks=[producer_subnet.id],
700
687
  ))
688
+ cluster_ha = gcp.redis.Cluster("cluster-ha",
689
+ name="ha-cluster",
690
+ shard_count=3,
691
+ psc_configs=[gcp.redis.ClusterPscConfigArgs(
692
+ network=producer_net.id,
693
+ )],
694
+ region="us-central1",
695
+ replica_count=1,
696
+ node_type="REDIS_SHARED_CORE_NANO",
697
+ transit_encryption_mode="TRANSIT_ENCRYPTION_MODE_DISABLED",
698
+ authorization_mode="AUTH_MODE_DISABLED",
699
+ redis_configs={
700
+ "maxmemory-policy": "volatile-ttl",
701
+ },
702
+ opts=pulumi.ResourceOptions(depends_on=[default]))
701
703
  ```
702
704
 
703
705
  ## Import
@@ -1309,7 +1309,8 @@ class Instance(pulumi.CustomResource):
1309
1309
  authorized_network=redis_network.id,
1310
1310
  connect_mode="PRIVATE_SERVICE_ACCESS",
1311
1311
  redis_version="REDIS_4_0",
1312
- display_name="Test Instance")
1312
+ display_name="Test Instance",
1313
+ opts=pulumi.ResourceOptions(depends_on=[private_service_connection]))
1313
1314
  ```
1314
1315
  ### Redis Instance Mrr
1315
1316
 
@@ -1604,7 +1605,8 @@ class Instance(pulumi.CustomResource):
1604
1605
  authorized_network=redis_network.id,
1605
1606
  connect_mode="PRIVATE_SERVICE_ACCESS",
1606
1607
  redis_version="REDIS_4_0",
1607
- display_name="Test Instance")
1608
+ display_name="Test Instance",
1609
+ opts=pulumi.ResourceOptions(depends_on=[private_service_connection]))
1608
1610
  ```
1609
1611
  ### Redis Instance Mrr
1610
1612
 
@@ -659,7 +659,8 @@ class Secret(pulumi.CustomResource):
659
659
  kms_key_name="kms-key",
660
660
  ),
661
661
  ),
662
- ))
662
+ ),
663
+ opts=pulumi.ResourceOptions(depends_on=[kms_secret_binding]))
663
664
  ```
664
665
 
665
666
  ## Import
@@ -818,7 +819,8 @@ class Secret(pulumi.CustomResource):
818
819
  kms_key_name="kms-key",
819
820
  ),
820
821
  ),
821
- ))
822
+ ),
823
+ opts=pulumi.ResourceOptions(depends_on=[kms_secret_binding]))
822
824
  ```
823
825
 
824
826
  ## Import
@@ -439,7 +439,8 @@ class Instance(pulumi.CustomResource):
439
439
  default = gcp.securesourcemanager.Instance("default",
440
440
  location="us-central1",
441
441
  instance_id="my-instance",
442
- kms_key=crypto_key.id)
442
+ kms_key=crypto_key.id,
443
+ opts=pulumi.ResourceOptions(depends_on=[crypto_key_binding]))
443
444
  ```
444
445
  ### Secure Source Manager Instance Private
445
446
 
@@ -493,15 +494,20 @@ class Instance(pulumi.CustomResource):
493
494
  ca_pool=ca_pool.id,
494
495
  role="roles/privateca.certificateRequester",
495
496
  members=[f"serviceAccount:service-{project.number}@gcp-sa-sourcemanager.iam.gserviceaccount.com"])
497
+ # ca pool IAM permissions can take time to propagate
498
+ wait60_seconds = time.index.Sleep("wait_60_seconds", create_duration=60s,
499
+ opts=pulumi.ResourceOptions(depends_on=[ca_pool_binding]))
496
500
  default = gcp.securesourcemanager.Instance("default",
497
501
  instance_id="my-instance",
498
502
  location="us-central1",
499
503
  private_config=gcp.securesourcemanager.InstancePrivateConfigArgs(
500
504
  is_private=True,
501
505
  ca_pool=ca_pool.id,
502
- ))
503
- # ca pool IAM permissions can take time to propagate
504
- wait60_seconds = time.index.Sleep("wait_60_seconds", create_duration=60s)
506
+ ),
507
+ opts=pulumi.ResourceOptions(depends_on=[
508
+ root_ca,
509
+ wait60_seconds,
510
+ ]))
505
511
  ```
506
512
 
507
513
  ## Import
@@ -601,7 +607,8 @@ class Instance(pulumi.CustomResource):
601
607
  default = gcp.securesourcemanager.Instance("default",
602
608
  location="us-central1",
603
609
  instance_id="my-instance",
604
- kms_key=crypto_key.id)
610
+ kms_key=crypto_key.id,
611
+ opts=pulumi.ResourceOptions(depends_on=[crypto_key_binding]))
605
612
  ```
606
613
  ### Secure Source Manager Instance Private
607
614
 
@@ -655,15 +662,20 @@ class Instance(pulumi.CustomResource):
655
662
  ca_pool=ca_pool.id,
656
663
  role="roles/privateca.certificateRequester",
657
664
  members=[f"serviceAccount:service-{project.number}@gcp-sa-sourcemanager.iam.gserviceaccount.com"])
665
+ # ca pool IAM permissions can take time to propagate
666
+ wait60_seconds = time.index.Sleep("wait_60_seconds", create_duration=60s,
667
+ opts=pulumi.ResourceOptions(depends_on=[ca_pool_binding]))
658
668
  default = gcp.securesourcemanager.Instance("default",
659
669
  instance_id="my-instance",
660
670
  location="us-central1",
661
671
  private_config=gcp.securesourcemanager.InstancePrivateConfigArgs(
662
672
  is_private=True,
663
673
  ca_pool=ca_pool.id,
664
- ))
665
- # ca pool IAM permissions can take time to propagate
666
- wait60_seconds = time.index.Sleep("wait_60_seconds", create_duration=60s)
674
+ ),
675
+ opts=pulumi.ResourceOptions(depends_on=[
676
+ root_ca,
677
+ wait60_seconds,
678
+ ]))
667
679
  ```
668
680
 
669
681
  ## Import
@@ -293,18 +293,19 @@ class InstanceIamBinding(pulumi.CustomResource):
293
293
  crypto_key = gcp.kms.CryptoKey("crypto_key",
294
294
  name="my-instance",
295
295
  key_ring=key_ring.id)
296
+ project = gcp.organizations.get_project()
297
+ crypto_key_member = gcp.kms.CryptoKeyIAMMember("crypto_key_member",
298
+ crypto_key_id=crypto_key.id,
299
+ role="roles/cloudkms.cryptoKeyEncrypterDecrypter",
300
+ member=f"serviceAccount:service-{project.number}@gcp-sa-datafusion.iam.gserviceaccount.com")
296
301
  cmek = gcp.datafusion.Instance("cmek",
297
302
  name="my-instance",
298
303
  region="us-central1",
299
304
  type="BASIC",
300
305
  crypto_key_config=gcp.datafusion.InstanceCryptoKeyConfigArgs(
301
306
  key_reference=crypto_key.id,
302
- ))
303
- project = gcp.organizations.get_project()
304
- crypto_key_member = gcp.kms.CryptoKeyIAMMember("crypto_key_member",
305
- crypto_key_id=crypto_key.id,
306
- role="roles/cloudkms.cryptoKeyEncrypterDecrypter",
307
- member=f"serviceAccount:service-{project.number}@gcp-sa-datafusion.iam.gserviceaccount.com")
307
+ ),
308
+ opts=pulumi.ResourceOptions(depends_on=[crypto_key_member]))
308
309
  ```
309
310
  ### Data Fusion Instance Enterprise
310
311
 
@@ -460,18 +461,19 @@ class InstanceIamBinding(pulumi.CustomResource):
460
461
  crypto_key = gcp.kms.CryptoKey("crypto_key",
461
462
  name="my-instance",
462
463
  key_ring=key_ring.id)
464
+ project = gcp.organizations.get_project()
465
+ crypto_key_member = gcp.kms.CryptoKeyIAMMember("crypto_key_member",
466
+ crypto_key_id=crypto_key.id,
467
+ role="roles/cloudkms.cryptoKeyEncrypterDecrypter",
468
+ member=f"serviceAccount:service-{project.number}@gcp-sa-datafusion.iam.gserviceaccount.com")
463
469
  cmek = gcp.datafusion.Instance("cmek",
464
470
  name="my-instance",
465
471
  region="us-central1",
466
472
  type="BASIC",
467
473
  crypto_key_config=gcp.datafusion.InstanceCryptoKeyConfigArgs(
468
474
  key_reference=crypto_key.id,
469
- ))
470
- project = gcp.organizations.get_project()
471
- crypto_key_member = gcp.kms.CryptoKeyIAMMember("crypto_key_member",
472
- crypto_key_id=crypto_key.id,
473
- role="roles/cloudkms.cryptoKeyEncrypterDecrypter",
474
- member=f"serviceAccount:service-{project.number}@gcp-sa-datafusion.iam.gserviceaccount.com")
475
+ ),
476
+ opts=pulumi.ResourceOptions(depends_on=[crypto_key_member]))
475
477
  ```
476
478
  ### Data Fusion Instance Enterprise
477
479
 
@@ -293,18 +293,19 @@ class InstanceIamMember(pulumi.CustomResource):
293
293
  crypto_key = gcp.kms.CryptoKey("crypto_key",
294
294
  name="my-instance",
295
295
  key_ring=key_ring.id)
296
+ project = gcp.organizations.get_project()
297
+ crypto_key_member = gcp.kms.CryptoKeyIAMMember("crypto_key_member",
298
+ crypto_key_id=crypto_key.id,
299
+ role="roles/cloudkms.cryptoKeyEncrypterDecrypter",
300
+ member=f"serviceAccount:service-{project.number}@gcp-sa-datafusion.iam.gserviceaccount.com")
296
301
  cmek = gcp.datafusion.Instance("cmek",
297
302
  name="my-instance",
298
303
  region="us-central1",
299
304
  type="BASIC",
300
305
  crypto_key_config=gcp.datafusion.InstanceCryptoKeyConfigArgs(
301
306
  key_reference=crypto_key.id,
302
- ))
303
- project = gcp.organizations.get_project()
304
- crypto_key_member = gcp.kms.CryptoKeyIAMMember("crypto_key_member",
305
- crypto_key_id=crypto_key.id,
306
- role="roles/cloudkms.cryptoKeyEncrypterDecrypter",
307
- member=f"serviceAccount:service-{project.number}@gcp-sa-datafusion.iam.gserviceaccount.com")
307
+ ),
308
+ opts=pulumi.ResourceOptions(depends_on=[crypto_key_member]))
308
309
  ```
309
310
  ### Data Fusion Instance Enterprise
310
311
 
@@ -460,18 +461,19 @@ class InstanceIamMember(pulumi.CustomResource):
460
461
  crypto_key = gcp.kms.CryptoKey("crypto_key",
461
462
  name="my-instance",
462
463
  key_ring=key_ring.id)
464
+ project = gcp.organizations.get_project()
465
+ crypto_key_member = gcp.kms.CryptoKeyIAMMember("crypto_key_member",
466
+ crypto_key_id=crypto_key.id,
467
+ role="roles/cloudkms.cryptoKeyEncrypterDecrypter",
468
+ member=f"serviceAccount:service-{project.number}@gcp-sa-datafusion.iam.gserviceaccount.com")
463
469
  cmek = gcp.datafusion.Instance("cmek",
464
470
  name="my-instance",
465
471
  region="us-central1",
466
472
  type="BASIC",
467
473
  crypto_key_config=gcp.datafusion.InstanceCryptoKeyConfigArgs(
468
474
  key_reference=crypto_key.id,
469
- ))
470
- project = gcp.organizations.get_project()
471
- crypto_key_member = gcp.kms.CryptoKeyIAMMember("crypto_key_member",
472
- crypto_key_id=crypto_key.id,
473
- role="roles/cloudkms.cryptoKeyEncrypterDecrypter",
474
- member=f"serviceAccount:service-{project.number}@gcp-sa-datafusion.iam.gserviceaccount.com")
475
+ ),
476
+ opts=pulumi.ResourceOptions(depends_on=[crypto_key_member]))
475
477
  ```
476
478
  ### Data Fusion Instance Enterprise
477
479