pulumi-gcp 8.10.0a1731950704__py3-none-any.whl → 8.10.1__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 (388) hide show
  1. pulumi_gcp/__init__.py +24 -0
  2. pulumi_gcp/accessapproval/get_folder_service_account.py +2 -2
  3. pulumi_gcp/accessapproval/get_organization_service_account.py +2 -2
  4. pulumi_gcp/accessapproval/get_project_service_account.py +2 -2
  5. pulumi_gcp/accesscontextmanager/__init__.py +1 -0
  6. pulumi_gcp/accesscontextmanager/_inputs.py +90 -54
  7. pulumi_gcp/accesscontextmanager/get_access_policy.py +158 -0
  8. pulumi_gcp/accesscontextmanager/get_access_policy_iam_policy.py +2 -2
  9. pulumi_gcp/accesscontextmanager/outputs.py +60 -36
  10. pulumi_gcp/alloydb/get_locations.py +2 -2
  11. pulumi_gcp/alloydb/get_supported_database_flags.py +2 -2
  12. pulumi_gcp/apigateway/get_api_config_iam_policy.py +2 -2
  13. pulumi_gcp/apigateway/get_api_iam_policy.py +2 -2
  14. pulumi_gcp/apigateway/get_gateway_iam_policy.py +2 -2
  15. pulumi_gcp/apigee/get_environment_iam_policy.py +2 -2
  16. pulumi_gcp/appengine/get_default_service_account.py +2 -2
  17. pulumi_gcp/apphub/get_application.py +2 -2
  18. pulumi_gcp/apphub/get_discovered_service.py +2 -2
  19. pulumi_gcp/apphub/get_discovered_workload.py +2 -2
  20. pulumi_gcp/artifactregistry/_inputs.py +56 -0
  21. pulumi_gcp/artifactregistry/get_docker_image.py +2 -2
  22. pulumi_gcp/artifactregistry/get_locations.py +2 -2
  23. pulumi_gcp/artifactregistry/get_repository.py +2 -2
  24. pulumi_gcp/artifactregistry/get_repository_iam_policy.py +2 -2
  25. pulumi_gcp/artifactregistry/outputs.py +65 -0
  26. pulumi_gcp/artifactregistry/repository.py +48 -0
  27. pulumi_gcp/backupdisasterrecovery/__init__.py +1 -0
  28. pulumi_gcp/backupdisasterrecovery/backup_vault.py +63 -0
  29. pulumi_gcp/backupdisasterrecovery/get_backup_plan.py +2 -2
  30. pulumi_gcp/backupdisasterrecovery/get_backup_plan_association.py +2 -2
  31. pulumi_gcp/backupdisasterrecovery/get_data_source.py +263 -0
  32. pulumi_gcp/backupdisasterrecovery/get_management_server.py +2 -2
  33. pulumi_gcp/backupdisasterrecovery/outputs.py +402 -0
  34. pulumi_gcp/beyondcorp/get_app_connection.py +2 -2
  35. pulumi_gcp/beyondcorp/get_app_connector.py +2 -2
  36. pulumi_gcp/beyondcorp/get_app_gateway.py +2 -2
  37. pulumi_gcp/bigquery/get_connection_iam_policy.py +2 -2
  38. pulumi_gcp/bigquery/get_dataset.py +2 -2
  39. pulumi_gcp/bigquery/get_dataset_iam_policy.py +2 -2
  40. pulumi_gcp/bigquery/get_default_service_account.py +2 -2
  41. pulumi_gcp/bigquery/get_table_iam_policy.py +2 -2
  42. pulumi_gcp/bigquery/get_tables.py +2 -2
  43. pulumi_gcp/bigqueryanalyticshub/get_data_exchange_iam_policy.py +2 -2
  44. pulumi_gcp/bigqueryanalyticshub/get_listing_iam_policy.py +2 -2
  45. pulumi_gcp/bigquerydatapolicy/get_iam_policy.py +2 -2
  46. pulumi_gcp/bigtable/get_instance_iam_policy.py +2 -2
  47. pulumi_gcp/bigtable/get_table_iam_policy.py +2 -2
  48. pulumi_gcp/billing/get_account_iam_policy.py +2 -2
  49. pulumi_gcp/binaryauthorization/get_attestor_iam_policy.py +2 -2
  50. pulumi_gcp/certificateauthority/authority.py +28 -138
  51. pulumi_gcp/certificateauthority/get_authority.py +2 -2
  52. pulumi_gcp/certificateauthority/get_ca_pool_iam_policy.py +2 -2
  53. pulumi_gcp/certificateauthority/get_certificate_template_iam_policy.py +2 -2
  54. pulumi_gcp/certificatemanager/get_certificate_map.py +2 -2
  55. pulumi_gcp/certificatemanager/get_certificates.py +2 -2
  56. pulumi_gcp/cloudasset/get_resources_search_all.py +2 -2
  57. pulumi_gcp/cloudasset/get_search_all_resources.py +2 -2
  58. pulumi_gcp/cloudbuild/get_trigger.py +2 -2
  59. pulumi_gcp/cloudbuildv2/get_connection_iam_policy.py +2 -2
  60. pulumi_gcp/clouddeploy/get_custom_target_type_iam_policy.py +2 -2
  61. pulumi_gcp/clouddeploy/get_delivery_pipeline_iam_policy.py +2 -2
  62. pulumi_gcp/clouddeploy/get_target_iam_policy.py +2 -2
  63. pulumi_gcp/cloudfunctions/get_function.py +2 -2
  64. pulumi_gcp/cloudfunctions/get_function_iam_policy.py +2 -2
  65. pulumi_gcp/cloudfunctionsv2/get_function.py +2 -2
  66. pulumi_gcp/cloudfunctionsv2/get_function_iam_policy.py +2 -2
  67. pulumi_gcp/cloudidentity/get_group_lookup.py +2 -2
  68. pulumi_gcp/cloudidentity/get_group_memberships.py +2 -2
  69. pulumi_gcp/cloudidentity/get_group_transitive_memberships.py +2 -2
  70. pulumi_gcp/cloudidentity/get_groups.py +2 -2
  71. pulumi_gcp/cloudquota/get_s_quota_info.py +2 -2
  72. pulumi_gcp/cloudquota/get_s_quota_infos.py +2 -2
  73. pulumi_gcp/cloudrun/get_locations.py +2 -2
  74. pulumi_gcp/cloudrun/get_service.py +2 -2
  75. pulumi_gcp/cloudrun/get_service_iam_policy.py +2 -2
  76. pulumi_gcp/cloudrun/service.py +0 -10
  77. pulumi_gcp/cloudrunv2/get_job.py +2 -2
  78. pulumi_gcp/cloudrunv2/get_job_iam_policy.py +2 -2
  79. pulumi_gcp/cloudrunv2/get_service.py +17 -6
  80. pulumi_gcp/cloudrunv2/get_service_iam_policy.py +2 -2
  81. pulumi_gcp/cloudrunv2/service.py +30 -2
  82. pulumi_gcp/cloudtasks/get_queue_iam_policy.py +2 -2
  83. pulumi_gcp/composer/get_environment.py +2 -2
  84. pulumi_gcp/composer/get_image_versions.py +2 -2
  85. pulumi_gcp/composer/get_user_workloads_config_map.py +2 -2
  86. pulumi_gcp/composer/get_user_workloads_secret.py +2 -2
  87. pulumi_gcp/compute/_inputs.py +12 -12
  88. pulumi_gcp/compute/get_address.py +2 -2
  89. pulumi_gcp/compute/get_addresses.py +2 -2
  90. pulumi_gcp/compute/get_backend_bucket.py +2 -2
  91. pulumi_gcp/compute/get_backend_bucket_iam_policy.py +2 -2
  92. pulumi_gcp/compute/get_backend_service.py +2 -2
  93. pulumi_gcp/compute/get_backend_service_iam_policy.py +2 -2
  94. pulumi_gcp/compute/get_certificate.py +2 -2
  95. pulumi_gcp/compute/get_default_service_account.py +2 -2
  96. pulumi_gcp/compute/get_disk.py +2 -2
  97. pulumi_gcp/compute/get_disk_iam_policy.py +2 -2
  98. pulumi_gcp/compute/get_forwarding_rule.py +2 -2
  99. pulumi_gcp/compute/get_forwarding_rules.py +2 -2
  100. pulumi_gcp/compute/get_global_address.py +2 -2
  101. pulumi_gcp/compute/get_global_forwarding_rule.py +2 -2
  102. pulumi_gcp/compute/get_hc_vpn_gateway.py +2 -2
  103. pulumi_gcp/compute/get_health_check.py +2 -2
  104. pulumi_gcp/compute/get_image.py +2 -2
  105. pulumi_gcp/compute/get_image_iam_policy.py +2 -2
  106. pulumi_gcp/compute/get_instance.py +2 -2
  107. pulumi_gcp/compute/get_instance_group.py +2 -2
  108. pulumi_gcp/compute/get_instance_group_manager.py +2 -2
  109. pulumi_gcp/compute/get_instance_guest_attributes.py +2 -2
  110. pulumi_gcp/compute/get_instance_iam_policy.py +2 -2
  111. pulumi_gcp/compute/get_instance_serial_port.py +2 -2
  112. pulumi_gcp/compute/get_instance_template.py +2 -2
  113. pulumi_gcp/compute/get_lbip_ranges.py +2 -2
  114. pulumi_gcp/compute/get_machine_image_iam_policy.py +2 -2
  115. pulumi_gcp/compute/get_machine_types.py +2 -2
  116. pulumi_gcp/compute/get_netblock_ip_ranges.py +2 -2
  117. pulumi_gcp/compute/get_network.py +2 -2
  118. pulumi_gcp/compute/get_network_endpoint_group.py +2 -2
  119. pulumi_gcp/compute/get_network_peering.py +2 -2
  120. pulumi_gcp/compute/get_networks.py +2 -2
  121. pulumi_gcp/compute/get_node_types.py +2 -2
  122. pulumi_gcp/compute/get_region_backend_service_iam_policy.py +2 -2
  123. pulumi_gcp/compute/get_region_disk.py +2 -2
  124. pulumi_gcp/compute/get_region_disk_iam_policy.py +2 -2
  125. pulumi_gcp/compute/get_region_instance_group.py +2 -2
  126. pulumi_gcp/compute/get_region_instance_group_manager.py +2 -2
  127. pulumi_gcp/compute/get_region_instance_template.py +2 -2
  128. pulumi_gcp/compute/get_region_network_endpoint_group.py +2 -2
  129. pulumi_gcp/compute/get_region_ssl_certificate.py +2 -2
  130. pulumi_gcp/compute/get_regions.py +2 -2
  131. pulumi_gcp/compute/get_reservation.py +2 -2
  132. pulumi_gcp/compute/get_resource_policy.py +2 -2
  133. pulumi_gcp/compute/get_router.py +2 -2
  134. pulumi_gcp/compute/get_router_nat.py +2 -2
  135. pulumi_gcp/compute/get_router_status.py +2 -2
  136. pulumi_gcp/compute/get_security_policy.py +2 -2
  137. pulumi_gcp/compute/get_snapshot.py +2 -2
  138. pulumi_gcp/compute/get_snapshot_iam_policy.py +2 -2
  139. pulumi_gcp/compute/get_ssl_policy.py +2 -2
  140. pulumi_gcp/compute/get_subnetwork.py +2 -2
  141. pulumi_gcp/compute/get_subnetwork_iam_policy.py +2 -2
  142. pulumi_gcp/compute/get_subnetworks.py +2 -2
  143. pulumi_gcp/compute/get_vpn_gateway.py +2 -2
  144. pulumi_gcp/compute/get_zones.py +2 -2
  145. pulumi_gcp/compute/outputs.py +10 -10
  146. pulumi_gcp/compute/router_status.py +2 -2
  147. pulumi_gcp/container/get_attached_install_manifest.py +2 -2
  148. pulumi_gcp/container/get_attached_versions.py +2 -2
  149. pulumi_gcp/container/get_aws_versions.py +2 -2
  150. pulumi_gcp/container/get_azure_versions.py +2 -2
  151. pulumi_gcp/container/get_cluster.py +2 -2
  152. pulumi_gcp/container/get_engine_versions.py +2 -2
  153. pulumi_gcp/container/get_registry_image.py +2 -2
  154. pulumi_gcp/container/get_registry_repository.py +2 -2
  155. pulumi_gcp/containeranalysis/get_note_iam_policy.py +2 -2
  156. pulumi_gcp/datacatalog/get_entry_group_iam_policy.py +2 -2
  157. pulumi_gcp/datacatalog/get_policy_tag_iam_policy.py +2 -2
  158. pulumi_gcp/datacatalog/get_tag_template_iam_policy.py +2 -2
  159. pulumi_gcp/datacatalog/get_taxonomy_iam_policy.py +2 -2
  160. pulumi_gcp/dataform/get_repository_iam_policy.py +2 -2
  161. pulumi_gcp/datafusion/get_instance_iam_policy.py +2 -2
  162. pulumi_gcp/dataplex/get_aspect_type_iam_policy.py +2 -2
  163. pulumi_gcp/dataplex/get_asset_iam_policy.py +2 -2
  164. pulumi_gcp/dataplex/get_datascan_iam_policy.py +2 -2
  165. pulumi_gcp/dataplex/get_entry_group_iam_policy.py +2 -2
  166. pulumi_gcp/dataplex/get_entry_type_iam_policy.py +2 -2
  167. pulumi_gcp/dataplex/get_lake_iam_policy.py +2 -2
  168. pulumi_gcp/dataplex/get_task_iam_policy.py +2 -2
  169. pulumi_gcp/dataplex/get_zone_iam_policy.py +2 -2
  170. pulumi_gcp/dataproc/__init__.py +1 -0
  171. pulumi_gcp/dataproc/_inputs.py +490 -0
  172. pulumi_gcp/dataproc/gdc_spark_application.py +1658 -0
  173. pulumi_gcp/dataproc/get_autoscaling_policy_iam_policy.py +2 -2
  174. pulumi_gcp/dataproc/get_cluster_iam_policy.py +2 -2
  175. pulumi_gcp/dataproc/get_job_iam_policy.py +2 -2
  176. pulumi_gcp/dataproc/get_metastore_federation_iam_policy.py +2 -2
  177. pulumi_gcp/dataproc/get_metastore_service.py +2 -2
  178. pulumi_gcp/dataproc/get_metastore_service_iam_policy.py +2 -2
  179. pulumi_gcp/dataproc/outputs.py +385 -0
  180. pulumi_gcp/datastream/get_static_ips.py +2 -2
  181. pulumi_gcp/dns/get_keys.py +2 -2
  182. pulumi_gcp/dns/get_managed_zone.py +2 -2
  183. pulumi_gcp/dns/get_managed_zone_iam_policy.py +2 -2
  184. pulumi_gcp/dns/get_managed_zones.py +2 -2
  185. pulumi_gcp/dns/get_record_set.py +2 -2
  186. pulumi_gcp/endpoints/get_service_consumers_iam_policy.py +2 -2
  187. pulumi_gcp/endpoints/get_service_iam_policy.py +2 -2
  188. pulumi_gcp/filestore/_inputs.py +152 -0
  189. pulumi_gcp/filestore/get_instance.py +14 -3
  190. pulumi_gcp/filestore/instance.py +47 -0
  191. pulumi_gcp/filestore/outputs.py +229 -0
  192. pulumi_gcp/firebase/get_android_app.py +2 -2
  193. pulumi_gcp/firebase/get_android_app_config.py +2 -2
  194. pulumi_gcp/firebase/get_apple_app.py +2 -2
  195. pulumi_gcp/firebase/get_apple_app_config.py +2 -2
  196. pulumi_gcp/firebase/get_hosting_channel.py +2 -2
  197. pulumi_gcp/firebase/get_web_app.py +2 -2
  198. pulumi_gcp/firebase/get_web_app_config.py +2 -2
  199. pulumi_gcp/folder/get_iam_policy.py +2 -2
  200. pulumi_gcp/folder/get_organization_policy.py +2 -2
  201. pulumi_gcp/gkebackup/get_backup_plan_iam_policy.py +2 -2
  202. pulumi_gcp/gkebackup/get_restore_plan_iam_policy.py +2 -2
  203. pulumi_gcp/gkehub/get_feature_iam_policy.py +2 -2
  204. pulumi_gcp/gkehub/get_membership_binding.py +2 -2
  205. pulumi_gcp/gkehub/get_membership_iam_policy.py +2 -2
  206. pulumi_gcp/gkehub/get_scope_iam_policy.py +2 -2
  207. pulumi_gcp/healthcare/get_consent_store_iam_policy.py +2 -2
  208. pulumi_gcp/healthcare/get_dataset_iam_policy.py +2 -2
  209. pulumi_gcp/healthcare/get_dicom_store_iam_policy.py +2 -2
  210. pulumi_gcp/healthcare/get_fhir_store_iam_policy.py +2 -2
  211. pulumi_gcp/healthcare/get_hl7_v2_store_iam_policy.py +2 -2
  212. pulumi_gcp/iam/__init__.py +2 -0
  213. pulumi_gcp/iam/_inputs.py +274 -0
  214. pulumi_gcp/iam/folders_policy_binding.py +917 -0
  215. pulumi_gcp/iam/get_rule.py +2 -2
  216. pulumi_gcp/iam/get_testable_permissions.py +2 -2
  217. pulumi_gcp/iam/get_workload_identity_pool.py +2 -2
  218. pulumi_gcp/iam/get_workload_identity_pool_provider.py +2 -2
  219. pulumi_gcp/iam/organizations_policy_binding.py +901 -0
  220. pulumi_gcp/iam/outputs.py +198 -0
  221. pulumi_gcp/iap/get_app_engine_service_iam_policy.py +2 -2
  222. pulumi_gcp/iap/get_app_engine_version_iam_policy.py +2 -2
  223. pulumi_gcp/iap/get_client.py +2 -2
  224. pulumi_gcp/iap/get_tunnel_dest_group_iam_policy.py +2 -2
  225. pulumi_gcp/iap/get_tunnel_iam_policy.py +2 -2
  226. pulumi_gcp/iap/get_tunnel_instance_iam_policy.py +2 -2
  227. pulumi_gcp/iap/get_web_backend_service_iam_policy.py +2 -2
  228. pulumi_gcp/iap/get_web_iam_policy.py +2 -2
  229. pulumi_gcp/iap/get_web_region_backend_service_iam_policy.py +2 -2
  230. pulumi_gcp/iap/get_web_type_app_engine_iam_policy.py +2 -2
  231. pulumi_gcp/iap/get_web_type_compute_iam_policy.py +2 -2
  232. pulumi_gcp/kms/get_crypto_key_iam_policy.py +2 -2
  233. pulumi_gcp/kms/get_crypto_key_latest_version.py +2 -2
  234. pulumi_gcp/kms/get_crypto_key_versions.py +2 -2
  235. pulumi_gcp/kms/get_crypto_keys.py +2 -2
  236. pulumi_gcp/kms/get_ekm_connection_iam_policy.py +2 -2
  237. pulumi_gcp/kms/get_key_ring_iam_policy.py +2 -2
  238. pulumi_gcp/kms/get_key_rings.py +2 -2
  239. pulumi_gcp/kms/get_kms_crypto_key.py +2 -2
  240. pulumi_gcp/kms/get_kms_crypto_key_version.py +2 -2
  241. pulumi_gcp/kms/get_kms_key_ring.py +2 -2
  242. pulumi_gcp/kms/get_kms_secret.py +2 -2
  243. pulumi_gcp/kms/get_kms_secret_asymmetric.py +2 -2
  244. pulumi_gcp/kms/get_kms_secret_ciphertext.py +2 -2
  245. pulumi_gcp/logging/get_folder_settings.py +2 -2
  246. pulumi_gcp/logging/get_log_view_iam_policy.py +2 -2
  247. pulumi_gcp/logging/get_organization_settings.py +2 -2
  248. pulumi_gcp/logging/get_project_cmek_settings.py +2 -2
  249. pulumi_gcp/logging/get_project_settings.py +2 -2
  250. pulumi_gcp/logging/get_sink.py +2 -2
  251. pulumi_gcp/managedkafka/cluster.py +4 -0
  252. pulumi_gcp/managedkafka/topic.py +4 -0
  253. pulumi_gcp/monitoring/get_app_engine_service.py +2 -2
  254. pulumi_gcp/monitoring/get_cluster_istio_service.py +2 -2
  255. pulumi_gcp/monitoring/get_istio_canonical_service.py +2 -2
  256. pulumi_gcp/monitoring/get_mesh_istio_service.py +2 -2
  257. pulumi_gcp/monitoring/get_notification_channel.py +2 -2
  258. pulumi_gcp/monitoring/get_secret_version.py +2 -2
  259. pulumi_gcp/monitoring/get_uptime_check_i_ps.py +2 -2
  260. pulumi_gcp/networksecurity/get_address_group_iam_policy.py +2 -2
  261. pulumi_gcp/notebooks/get_instance_iam_policy.py +2 -2
  262. pulumi_gcp/notebooks/get_runtime_iam_policy.py +2 -2
  263. pulumi_gcp/oracledatabase/get_autonomous_database.py +2 -2
  264. pulumi_gcp/oracledatabase/get_autonomous_databases.py +2 -2
  265. pulumi_gcp/oracledatabase/get_cloud_exadata_infrastructure.py +2 -2
  266. pulumi_gcp/oracledatabase/get_cloud_exadata_infrastructures.py +2 -2
  267. pulumi_gcp/oracledatabase/get_cloud_vm_cluster.py +2 -2
  268. pulumi_gcp/oracledatabase/get_cloud_vm_clusters.py +2 -2
  269. pulumi_gcp/oracledatabase/get_db_nodes.py +2 -2
  270. pulumi_gcp/oracledatabase/get_db_servers.py +2 -2
  271. pulumi_gcp/organizations/get_active_folder.py +2 -2
  272. pulumi_gcp/organizations/get_billing_account.py +2 -2
  273. pulumi_gcp/organizations/get_client_config.py +2 -2
  274. pulumi_gcp/organizations/get_client_open_id_user_info.py +2 -2
  275. pulumi_gcp/organizations/get_folder.py +2 -2
  276. pulumi_gcp/organizations/get_folders.py +2 -2
  277. pulumi_gcp/organizations/get_iam_policy.py +2 -2
  278. pulumi_gcp/organizations/get_organization.py +2 -2
  279. pulumi_gcp/organizations/get_project.py +2 -2
  280. pulumi_gcp/privilegedaccessmanager/get_entitlement.py +2 -2
  281. pulumi_gcp/projects/get_iam_policy.py +2 -2
  282. pulumi_gcp/projects/get_organization_policy.py +2 -2
  283. pulumi_gcp/projects/get_project.py +2 -2
  284. pulumi_gcp/projects/get_project_service.py +2 -2
  285. pulumi_gcp/pubsub/get_schema_iam_policy.py +2 -2
  286. pulumi_gcp/pubsub/get_subscription.py +2 -2
  287. pulumi_gcp/pubsub/get_subscription_iam_policy.py +2 -2
  288. pulumi_gcp/pubsub/get_topic.py +2 -2
  289. pulumi_gcp/pubsub/get_topic_iam_policy.py +2 -2
  290. pulumi_gcp/pubsub/subscription.py +8 -8
  291. pulumi_gcp/pulumi-plugin.json +1 -1
  292. pulumi_gcp/redis/_inputs.py +213 -0
  293. pulumi_gcp/redis/cluster.py +289 -0
  294. pulumi_gcp/redis/get_instance.py +2 -2
  295. pulumi_gcp/redis/outputs.py +185 -0
  296. pulumi_gcp/runtimeconfig/get_config.py +2 -2
  297. pulumi_gcp/runtimeconfig/get_config_iam_policy.py +2 -2
  298. pulumi_gcp/runtimeconfig/get_variable.py +2 -2
  299. pulumi_gcp/secretmanager/get_regional_secret.py +2 -2
  300. pulumi_gcp/secretmanager/get_regional_secret_iam_policy.py +2 -2
  301. pulumi_gcp/secretmanager/get_regional_secret_version.py +2 -2
  302. pulumi_gcp/secretmanager/get_regional_secret_version_access.py +2 -2
  303. pulumi_gcp/secretmanager/get_regional_secrets.py +2 -2
  304. pulumi_gcp/secretmanager/get_secret.py +2 -2
  305. pulumi_gcp/secretmanager/get_secret_iam_policy.py +2 -2
  306. pulumi_gcp/secretmanager/get_secret_version.py +2 -2
  307. pulumi_gcp/secretmanager/get_secret_version_access.py +2 -2
  308. pulumi_gcp/secretmanager/get_secrets.py +2 -2
  309. pulumi_gcp/securesourcemanager/_inputs.py +33 -0
  310. pulumi_gcp/securesourcemanager/get_instance_iam_policy.py +2 -2
  311. pulumi_gcp/securesourcemanager/get_repository_iam_policy.py +2 -2
  312. pulumi_gcp/securesourcemanager/instance.py +90 -3
  313. pulumi_gcp/securesourcemanager/outputs.py +19 -0
  314. pulumi_gcp/securitycenter/get_source_iam_policy.py +2 -2
  315. pulumi_gcp/securitycenter/get_v2_organization_source_iam_policy.py +2 -2
  316. pulumi_gcp/serviceaccount/get_account.py +2 -2
  317. pulumi_gcp/serviceaccount/get_account_access_token.py +2 -2
  318. pulumi_gcp/serviceaccount/get_account_id_token.py +2 -2
  319. pulumi_gcp/serviceaccount/get_account_jwt.py +2 -2
  320. pulumi_gcp/serviceaccount/get_account_key.py +2 -2
  321. pulumi_gcp/serviceaccount/get_iam_policy.py +2 -2
  322. pulumi_gcp/serviceaccount/get_s.py +2 -2
  323. pulumi_gcp/servicedirectory/get_namespace_iam_policy.py +2 -2
  324. pulumi_gcp/servicedirectory/get_service_iam_policy.py +2 -2
  325. pulumi_gcp/servicenetworking/get_peered_dns_domain.py +2 -2
  326. pulumi_gcp/siteverification/get_token.py +2 -2
  327. pulumi_gcp/sourcerepo/get_repository.py +2 -2
  328. pulumi_gcp/sourcerepo/get_repository_iam_policy.py +2 -2
  329. pulumi_gcp/spanner/database.py +14 -14
  330. pulumi_gcp/spanner/get_database.py +2 -2
  331. pulumi_gcp/spanner/get_database_iam_policy.py +2 -2
  332. pulumi_gcp/spanner/get_instance.py +2 -2
  333. pulumi_gcp/spanner/get_instance_iam_policy.py +2 -2
  334. pulumi_gcp/sql/_inputs.py +73 -0
  335. pulumi_gcp/sql/database_instance.py +60 -0
  336. pulumi_gcp/sql/get_backup_run.py +2 -2
  337. pulumi_gcp/sql/get_ca_certs.py +2 -2
  338. pulumi_gcp/sql/get_database.py +2 -2
  339. pulumi_gcp/sql/get_database_instance.py +2 -2
  340. pulumi_gcp/sql/get_database_instance_latest_recovery_time.py +2 -2
  341. pulumi_gcp/sql/get_database_instances.py +2 -2
  342. pulumi_gcp/sql/get_databases.py +2 -2
  343. pulumi_gcp/sql/get_tiers.py +2 -2
  344. pulumi_gcp/sql/outputs.py +146 -0
  345. pulumi_gcp/sql/user.py +2 -2
  346. pulumi_gcp/storage/get_bucket.py +2 -2
  347. pulumi_gcp/storage/get_bucket_iam_policy.py +2 -2
  348. pulumi_gcp/storage/get_bucket_object.py +2 -2
  349. pulumi_gcp/storage/get_bucket_object_content.py +2 -2
  350. pulumi_gcp/storage/get_bucket_objects.py +2 -2
  351. pulumi_gcp/storage/get_buckets.py +2 -2
  352. pulumi_gcp/storage/get_managed_folder_iam_policy.py +2 -2
  353. pulumi_gcp/storage/get_object_signed_url.py +2 -2
  354. pulumi_gcp/storage/get_project_service_account.py +2 -2
  355. pulumi_gcp/storage/get_transfer_project_service_account.py +2 -2
  356. pulumi_gcp/storage/get_transfer_project_servie_account.py +2 -2
  357. pulumi_gcp/tags/get_tag_key.py +2 -2
  358. pulumi_gcp/tags/get_tag_key_iam_policy.py +2 -2
  359. pulumi_gcp/tags/get_tag_keys.py +2 -2
  360. pulumi_gcp/tags/get_tag_value.py +2 -2
  361. pulumi_gcp/tags/get_tag_value_iam_policy.py +2 -2
  362. pulumi_gcp/tags/get_tag_values.py +2 -2
  363. pulumi_gcp/tags/location_tag_binding.py +8 -8
  364. pulumi_gcp/tpu/get_tensorflow_versions.py +2 -2
  365. pulumi_gcp/tpu/get_v2_accelerator_types.py +2 -2
  366. pulumi_gcp/tpu/get_v2_runtime_versions.py +2 -2
  367. pulumi_gcp/vertex/get_ai_endpoint_iam_policy.py +2 -2
  368. pulumi_gcp/vertex/get_ai_featurestore_entitytype_iam_policy.py +2 -2
  369. pulumi_gcp/vertex/get_ai_featurestore_iam_policy.py +2 -2
  370. pulumi_gcp/vertex/get_ai_index.py +2 -2
  371. pulumi_gcp/vmwareengine/get_cluster.py +2 -2
  372. pulumi_gcp/vmwareengine/get_external_access_rule.py +2 -2
  373. pulumi_gcp/vmwareengine/get_external_address.py +2 -2
  374. pulumi_gcp/vmwareengine/get_network.py +2 -2
  375. pulumi_gcp/vmwareengine/get_network_peering.py +2 -2
  376. pulumi_gcp/vmwareengine/get_network_policy.py +2 -2
  377. pulumi_gcp/vmwareengine/get_nsx_credentials.py +2 -2
  378. pulumi_gcp/vmwareengine/get_private_cloud.py +2 -2
  379. pulumi_gcp/vmwareengine/get_subnet.py +2 -2
  380. pulumi_gcp/vmwareengine/get_vcenter_credentials.py +2 -2
  381. pulumi_gcp/vpcaccess/get_connector.py +2 -2
  382. pulumi_gcp/workbench/get_instance_iam_policy.py +2 -2
  383. pulumi_gcp/workstations/get_workstation_config_iam_policy.py +2 -2
  384. pulumi_gcp/workstations/get_workstation_iam_policy.py +2 -2
  385. {pulumi_gcp-8.10.0a1731950704.dist-info → pulumi_gcp-8.10.1.dist-info}/METADATA +5 -5
  386. {pulumi_gcp-8.10.0a1731950704.dist-info → pulumi_gcp-8.10.1.dist-info}/RECORD +388 -383
  387. {pulumi_gcp-8.10.0a1731950704.dist-info → pulumi_gcp-8.10.1.dist-info}/WHEEL +1 -1
  388. {pulumi_gcp-8.10.0a1731950704.dist-info → pulumi_gcp-8.10.1.dist-info}/top_level.txt +0 -0
pulumi_gcp/__init__.py CHANGED
@@ -4123,6 +4123,14 @@ _utilities.register(
4123
4123
  "gcp:dataproc/gdcServiceInstance:GdcServiceInstance": "GdcServiceInstance"
4124
4124
  }
4125
4125
  },
4126
+ {
4127
+ "pkg": "gcp",
4128
+ "mod": "dataproc/gdcSparkApplication",
4129
+ "fqn": "pulumi_gcp.dataproc",
4130
+ "classes": {
4131
+ "gcp:dataproc/gdcSparkApplication:GdcSparkApplication": "GdcSparkApplication"
4132
+ }
4133
+ },
4126
4134
  {
4127
4135
  "pkg": "gcp",
4128
4136
  "mod": "dataproc/job",
@@ -5371,6 +5379,22 @@ _utilities.register(
5371
5379
  "gcp:iam/denyPolicy:DenyPolicy": "DenyPolicy"
5372
5380
  }
5373
5381
  },
5382
+ {
5383
+ "pkg": "gcp",
5384
+ "mod": "iam/foldersPolicyBinding",
5385
+ "fqn": "pulumi_gcp.iam",
5386
+ "classes": {
5387
+ "gcp:iam/foldersPolicyBinding:FoldersPolicyBinding": "FoldersPolicyBinding"
5388
+ }
5389
+ },
5390
+ {
5391
+ "pkg": "gcp",
5392
+ "mod": "iam/organizationsPolicyBinding",
5393
+ "fqn": "pulumi_gcp.iam",
5394
+ "classes": {
5395
+ "gcp:iam/organizationsPolicyBinding:OrganizationsPolicyBinding": "OrganizationsPolicyBinding"
5396
+ }
5397
+ },
5374
5398
  {
5375
5399
  "pkg": "gcp",
5376
5400
  "mod": "iam/principalAccessBoundaryPolicy",
@@ -121,7 +121,7 @@ def get_folder_service_account(folder_id: Optional[str] = None,
121
121
  id=pulumi.get(__ret__, 'id'),
122
122
  name=pulumi.get(__ret__, 'name'))
123
123
  def get_folder_service_account_output(folder_id: Optional[pulumi.Input[str]] = None,
124
- opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetFolderServiceAccountResult]:
124
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetFolderServiceAccountResult]:
125
125
  """
126
126
  Get the email address of a folder's Access Approval service account.
127
127
 
@@ -149,7 +149,7 @@ def get_folder_service_account_output(folder_id: Optional[pulumi.Input[str]] = N
149
149
  """
150
150
  __args__ = dict()
151
151
  __args__['folderId'] = folder_id
152
- opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
152
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
153
153
  __ret__ = pulumi.runtime.invoke_output('gcp:accessapproval/getFolderServiceAccount:getFolderServiceAccount', __args__, opts=opts, typ=GetFolderServiceAccountResult)
154
154
  return __ret__.apply(lambda __response__: GetFolderServiceAccountResult(
155
155
  account_email=pulumi.get(__response__, 'account_email'),
@@ -121,7 +121,7 @@ def get_organization_service_account(organization_id: Optional[str] = None,
121
121
  name=pulumi.get(__ret__, 'name'),
122
122
  organization_id=pulumi.get(__ret__, 'organization_id'))
123
123
  def get_organization_service_account_output(organization_id: Optional[pulumi.Input[str]] = None,
124
- opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetOrganizationServiceAccountResult]:
124
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetOrganizationServiceAccountResult]:
125
125
  """
126
126
  Get the email address of an organization's Access Approval service account.
127
127
 
@@ -149,7 +149,7 @@ def get_organization_service_account_output(organization_id: Optional[pulumi.Inp
149
149
  """
150
150
  __args__ = dict()
151
151
  __args__['organizationId'] = organization_id
152
- opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
152
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
153
153
  __ret__ = pulumi.runtime.invoke_output('gcp:accessapproval/getOrganizationServiceAccount:getOrganizationServiceAccount', __args__, opts=opts, typ=GetOrganizationServiceAccountResult)
154
154
  return __ret__.apply(lambda __response__: GetOrganizationServiceAccountResult(
155
155
  account_email=pulumi.get(__response__, 'account_email'),
@@ -121,7 +121,7 @@ def get_project_service_account(project_id: Optional[str] = None,
121
121
  name=pulumi.get(__ret__, 'name'),
122
122
  project_id=pulumi.get(__ret__, 'project_id'))
123
123
  def get_project_service_account_output(project_id: Optional[pulumi.Input[str]] = None,
124
- opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetProjectServiceAccountResult]:
124
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetProjectServiceAccountResult]:
125
125
  """
126
126
  Get the email address of a project's Access Approval service account.
127
127
 
@@ -149,7 +149,7 @@ def get_project_service_account_output(project_id: Optional[pulumi.Input[str]] =
149
149
  """
150
150
  __args__ = dict()
151
151
  __args__['projectId'] = project_id
152
- opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
152
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
153
153
  __ret__ = pulumi.runtime.invoke_output('gcp:accessapproval/getProjectServiceAccount:getProjectServiceAccount', __args__, opts=opts, typ=GetProjectServiceAccountResult)
154
154
  return __ret__.apply(lambda __response__: GetProjectServiceAccountResult(
155
155
  account_email=pulumi.get(__response__, 'account_email'),
@@ -15,6 +15,7 @@ from .access_policy_iam_policy import *
15
15
  from .authorized_orgs_desc import *
16
16
  from .egress_policy import *
17
17
  from .gcp_user_access_binding import *
18
+ from .get_access_policy import *
18
19
  from .get_access_policy_iam_policy import *
19
20
  from .ingress_policy import *
20
21
  from .service_perimeter import *
@@ -2231,9 +2231,11 @@ if not MYPY:
2231
2231
  class ServicePerimeterDryRunEgressPolicyEgressFromArgsDict(TypedDict):
2232
2232
  identities: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
2233
2233
  """
2234
- A list of identities that are allowed access through this `EgressPolicy`.
2235
- Should be in the format of email address. The email address should
2236
- represent individual user or service account only.
2234
+ Identities can be an individual user, service account, Google group,
2235
+ or third-party identity. For third-party identity, only single identities
2236
+ are supported and other identity types are not supported.The v1 identities
2237
+ that have the prefix user, group and serviceAccount in
2238
+ https://cloud.google.com/iam/docs/principal-identifiers#v1 are supported.
2237
2239
  """
2238
2240
  identity_type: NotRequired[pulumi.Input[str]]
2239
2241
  """
@@ -2263,9 +2265,11 @@ class ServicePerimeterDryRunEgressPolicyEgressFromArgs:
2263
2265
  source_restriction: Optional[pulumi.Input[str]] = None,
2264
2266
  sources: Optional[pulumi.Input[Sequence[pulumi.Input['ServicePerimeterDryRunEgressPolicyEgressFromSourceArgs']]]] = None):
2265
2267
  """
2266
- :param pulumi.Input[Sequence[pulumi.Input[str]]] identities: A list of identities that are allowed access through this `EgressPolicy`.
2267
- Should be in the format of email address. The email address should
2268
- represent individual user or service account only.
2268
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] identities: Identities can be an individual user, service account, Google group,
2269
+ or third-party identity. For third-party identity, only single identities
2270
+ are supported and other identity types are not supported.The v1 identities
2271
+ that have the prefix user, group and serviceAccount in
2272
+ https://cloud.google.com/iam/docs/principal-identifiers#v1 are supported.
2269
2273
  :param pulumi.Input[str] identity_type: Specifies the type of identities that are allowed access to outside the
2270
2274
  perimeter. If left unspecified, then members of `identities` field will
2271
2275
  be allowed access.
@@ -2288,9 +2292,11 @@ class ServicePerimeterDryRunEgressPolicyEgressFromArgs:
2288
2292
  @pulumi.getter
2289
2293
  def identities(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
2290
2294
  """
2291
- A list of identities that are allowed access through this `EgressPolicy`.
2292
- Should be in the format of email address. The email address should
2293
- represent individual user or service account only.
2295
+ Identities can be an individual user, service account, Google group,
2296
+ or third-party identity. For third-party identity, only single identities
2297
+ are supported and other identity types are not supported.The v1 identities
2298
+ that have the prefix user, group and serviceAccount in
2299
+ https://cloud.google.com/iam/docs/principal-identifiers#v1 are supported.
2294
2300
  """
2295
2301
  return pulumi.get(self, "identities")
2296
2302
 
@@ -2603,9 +2609,11 @@ if not MYPY:
2603
2609
  class ServicePerimeterDryRunIngressPolicyIngressFromArgsDict(TypedDict):
2604
2610
  identities: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
2605
2611
  """
2606
- A list of identities that are allowed access through this ingress policy.
2607
- Should be in the format of email address. The email address should represent
2608
- individual user or service account only.
2612
+ Identities can be an individual user, service account, Google group,
2613
+ or third-party identity. For third-party identity, only single identities
2614
+ are supported and other identity types are not supported.The v1 identities
2615
+ that have the prefix user, group and serviceAccount in
2616
+ https://cloud.google.com/iam/docs/principal-identifiers#v1 are supported.
2609
2617
  """
2610
2618
  identity_type: NotRequired[pulumi.Input[str]]
2611
2619
  """
@@ -2629,9 +2637,11 @@ class ServicePerimeterDryRunIngressPolicyIngressFromArgs:
2629
2637
  identity_type: Optional[pulumi.Input[str]] = None,
2630
2638
  sources: Optional[pulumi.Input[Sequence[pulumi.Input['ServicePerimeterDryRunIngressPolicyIngressFromSourceArgs']]]] = None):
2631
2639
  """
2632
- :param pulumi.Input[Sequence[pulumi.Input[str]]] identities: A list of identities that are allowed access through this ingress policy.
2633
- Should be in the format of email address. The email address should represent
2634
- individual user or service account only.
2640
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] identities: Identities can be an individual user, service account, Google group,
2641
+ or third-party identity. For third-party identity, only single identities
2642
+ are supported and other identity types are not supported.The v1 identities
2643
+ that have the prefix user, group and serviceAccount in
2644
+ https://cloud.google.com/iam/docs/principal-identifiers#v1 are supported.
2635
2645
  :param pulumi.Input[str] identity_type: Specifies the type of identities that are allowed access from outside the
2636
2646
  perimeter. If left unspecified, then members of `identities` field will be
2637
2647
  allowed access.
@@ -2650,9 +2660,11 @@ class ServicePerimeterDryRunIngressPolicyIngressFromArgs:
2650
2660
  @pulumi.getter
2651
2661
  def identities(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
2652
2662
  """
2653
- A list of identities that are allowed access through this ingress policy.
2654
- Should be in the format of email address. The email address should represent
2655
- individual user or service account only.
2663
+ Identities can be an individual user, service account, Google group,
2664
+ or third-party identity. For third-party identity, only single identities
2665
+ are supported and other identity types are not supported.The v1 identities
2666
+ that have the prefix user, group and serviceAccount in
2667
+ https://cloud.google.com/iam/docs/principal-identifiers#v1 are supported.
2656
2668
  """
2657
2669
  return pulumi.get(self, "identities")
2658
2670
 
@@ -2991,9 +3003,11 @@ if not MYPY:
2991
3003
  class ServicePerimeterEgressPolicyEgressFromArgsDict(TypedDict):
2992
3004
  identities: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
2993
3005
  """
2994
- A list of identities that are allowed access through this `EgressPolicy`.
2995
- Should be in the format of email address. The email address should
2996
- represent individual user or service account only.
3006
+ Identities can be an individual user, service account, Google group,
3007
+ or third-party identity. For third-party identity, only single identities
3008
+ are supported and other identity types are not supported.The v1 identities
3009
+ that have the prefix user, group and serviceAccount in
3010
+ https://cloud.google.com/iam/docs/principal-identifiers#v1 are supported.
2997
3011
  """
2998
3012
  identity_type: NotRequired[pulumi.Input[str]]
2999
3013
  """
@@ -3023,9 +3037,11 @@ class ServicePerimeterEgressPolicyEgressFromArgs:
3023
3037
  source_restriction: Optional[pulumi.Input[str]] = None,
3024
3038
  sources: Optional[pulumi.Input[Sequence[pulumi.Input['ServicePerimeterEgressPolicyEgressFromSourceArgs']]]] = None):
3025
3039
  """
3026
- :param pulumi.Input[Sequence[pulumi.Input[str]]] identities: A list of identities that are allowed access through this `EgressPolicy`.
3027
- Should be in the format of email address. The email address should
3028
- represent individual user or service account only.
3040
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] identities: Identities can be an individual user, service account, Google group,
3041
+ or third-party identity. For third-party identity, only single identities
3042
+ are supported and other identity types are not supported.The v1 identities
3043
+ that have the prefix user, group and serviceAccount in
3044
+ https://cloud.google.com/iam/docs/principal-identifiers#v1 are supported.
3029
3045
  :param pulumi.Input[str] identity_type: Specifies the type of identities that are allowed access to outside the
3030
3046
  perimeter. If left unspecified, then members of `identities` field will
3031
3047
  be allowed access.
@@ -3048,9 +3064,11 @@ class ServicePerimeterEgressPolicyEgressFromArgs:
3048
3064
  @pulumi.getter
3049
3065
  def identities(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
3050
3066
  """
3051
- A list of identities that are allowed access through this `EgressPolicy`.
3052
- Should be in the format of email address. The email address should
3053
- represent individual user or service account only.
3067
+ Identities can be an individual user, service account, Google group,
3068
+ or third-party identity. For third-party identity, only single identities
3069
+ are supported and other identity types are not supported.The v1 identities
3070
+ that have the prefix user, group and serviceAccount in
3071
+ https://cloud.google.com/iam/docs/principal-identifiers#v1 are supported.
3054
3072
  """
3055
3073
  return pulumi.get(self, "identities")
3056
3074
 
@@ -3363,9 +3381,11 @@ if not MYPY:
3363
3381
  class ServicePerimeterIngressPolicyIngressFromArgsDict(TypedDict):
3364
3382
  identities: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
3365
3383
  """
3366
- A list of identities that are allowed access through this ingress policy.
3367
- Should be in the format of email address. The email address should represent
3368
- individual user or service account only.
3384
+ Identities can be an individual user, service account, Google group,
3385
+ or third-party identity. For third-party identity, only single identities
3386
+ are supported and other identity types are not supported.The v1 identities
3387
+ that have the prefix user, group and serviceAccount in
3388
+ https://cloud.google.com/iam/docs/principal-identifiers#v1 are supported.
3369
3389
  """
3370
3390
  identity_type: NotRequired[pulumi.Input[str]]
3371
3391
  """
@@ -3389,9 +3409,11 @@ class ServicePerimeterIngressPolicyIngressFromArgs:
3389
3409
  identity_type: Optional[pulumi.Input[str]] = None,
3390
3410
  sources: Optional[pulumi.Input[Sequence[pulumi.Input['ServicePerimeterIngressPolicyIngressFromSourceArgs']]]] = None):
3391
3411
  """
3392
- :param pulumi.Input[Sequence[pulumi.Input[str]]] identities: A list of identities that are allowed access through this ingress policy.
3393
- Should be in the format of email address. The email address should represent
3394
- individual user or service account only.
3412
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] identities: Identities can be an individual user, service account, Google group,
3413
+ or third-party identity. For third-party identity, only single identities
3414
+ are supported and other identity types are not supported.The v1 identities
3415
+ that have the prefix user, group and serviceAccount in
3416
+ https://cloud.google.com/iam/docs/principal-identifiers#v1 are supported.
3395
3417
  :param pulumi.Input[str] identity_type: Specifies the type of identities that are allowed access from outside the
3396
3418
  perimeter. If left unspecified, then members of `identities` field will be
3397
3419
  allowed access.
@@ -3410,9 +3432,11 @@ class ServicePerimeterIngressPolicyIngressFromArgs:
3410
3432
  @pulumi.getter
3411
3433
  def identities(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
3412
3434
  """
3413
- A list of identities that are allowed access through this ingress policy.
3414
- Should be in the format of email address. The email address should represent
3415
- individual user or service account only.
3435
+ Identities can be an individual user, service account, Google group,
3436
+ or third-party identity. For third-party identity, only single identities
3437
+ are supported and other identity types are not supported.The v1 identities
3438
+ that have the prefix user, group and serviceAccount in
3439
+ https://cloud.google.com/iam/docs/principal-identifiers#v1 are supported.
3416
3440
  """
3417
3441
  return pulumi.get(self, "identities")
3418
3442
 
@@ -6572,9 +6596,11 @@ if not MYPY:
6572
6596
  class ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromArgsDict(TypedDict):
6573
6597
  identities: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
6574
6598
  """
6575
- A list of identities that are allowed access through this `EgressPolicy`.
6576
- Should be in the format of email address. The email address should
6577
- represent individual user or service account only.
6599
+ Identities can be an individual user, service account, Google group,
6600
+ or third-party identity. For third-party identity, only single identities
6601
+ are supported and other identity types are not supported.The v1 identities
6602
+ that have the prefix user, group and serviceAccount in
6603
+ https://cloud.google.com/iam/docs/principal-identifiers#v1 are supported.
6578
6604
  """
6579
6605
  identity_type: NotRequired[pulumi.Input[str]]
6580
6606
  """
@@ -6604,9 +6630,11 @@ class ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromArgs:
6604
6630
  source_restriction: Optional[pulumi.Input[str]] = None,
6605
6631
  sources: Optional[pulumi.Input[Sequence[pulumi.Input['ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromSourceArgs']]]] = None):
6606
6632
  """
6607
- :param pulumi.Input[Sequence[pulumi.Input[str]]] identities: A list of identities that are allowed access through this `EgressPolicy`.
6608
- Should be in the format of email address. The email address should
6609
- represent individual user or service account only.
6633
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] identities: Identities can be an individual user, service account, Google group,
6634
+ or third-party identity. For third-party identity, only single identities
6635
+ are supported and other identity types are not supported.The v1 identities
6636
+ that have the prefix user, group and serviceAccount in
6637
+ https://cloud.google.com/iam/docs/principal-identifiers#v1 are supported.
6610
6638
  :param pulumi.Input[str] identity_type: Specifies the type of identities that are allowed access to outside the
6611
6639
  perimeter. If left unspecified, then members of `identities` field will
6612
6640
  be allowed access.
@@ -6629,9 +6657,11 @@ class ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromArgs:
6629
6657
  @pulumi.getter
6630
6658
  def identities(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
6631
6659
  """
6632
- A list of identities that are allowed access through this `EgressPolicy`.
6633
- Should be in the format of email address. The email address should
6634
- represent individual user or service account only.
6660
+ Identities can be an individual user, service account, Google group,
6661
+ or third-party identity. For third-party identity, only single identities
6662
+ are supported and other identity types are not supported.The v1 identities
6663
+ that have the prefix user, group and serviceAccount in
6664
+ https://cloud.google.com/iam/docs/principal-identifiers#v1 are supported.
6635
6665
  """
6636
6666
  return pulumi.get(self, "identities")
6637
6667
 
@@ -7698,9 +7728,11 @@ if not MYPY:
7698
7728
  class ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromArgsDict(TypedDict):
7699
7729
  identities: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
7700
7730
  """
7701
- A list of identities that are allowed access through this `EgressPolicy`.
7702
- Should be in the format of email address. The email address should
7703
- represent individual user or service account only.
7731
+ Identities can be an individual user, service account, Google group,
7732
+ or third-party identity. For third-party identity, only single identities
7733
+ are supported and other identity types are not supported.The v1 identities
7734
+ that have the prefix user, group and serviceAccount in
7735
+ https://cloud.google.com/iam/docs/principal-identifiers#v1 are supported.
7704
7736
  """
7705
7737
  identity_type: NotRequired[pulumi.Input[str]]
7706
7738
  """
@@ -7730,9 +7762,11 @@ class ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromArgs:
7730
7762
  source_restriction: Optional[pulumi.Input[str]] = None,
7731
7763
  sources: Optional[pulumi.Input[Sequence[pulumi.Input['ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromSourceArgs']]]] = None):
7732
7764
  """
7733
- :param pulumi.Input[Sequence[pulumi.Input[str]]] identities: A list of identities that are allowed access through this `EgressPolicy`.
7734
- Should be in the format of email address. The email address should
7735
- represent individual user or service account only.
7765
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] identities: Identities can be an individual user, service account, Google group,
7766
+ or third-party identity. For third-party identity, only single identities
7767
+ are supported and other identity types are not supported.The v1 identities
7768
+ that have the prefix user, group and serviceAccount in
7769
+ https://cloud.google.com/iam/docs/principal-identifiers#v1 are supported.
7736
7770
  :param pulumi.Input[str] identity_type: Specifies the type of identities that are allowed access to outside the
7737
7771
  perimeter. If left unspecified, then members of `identities` field will
7738
7772
  be allowed access.
@@ -7755,9 +7789,11 @@ class ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromArgs:
7755
7789
  @pulumi.getter
7756
7790
  def identities(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
7757
7791
  """
7758
- A list of identities that are allowed access through this `EgressPolicy`.
7759
- Should be in the format of email address. The email address should
7760
- represent individual user or service account only.
7792
+ Identities can be an individual user, service account, Google group,
7793
+ or third-party identity. For third-party identity, only single identities
7794
+ are supported and other identity types are not supported.The v1 identities
7795
+ that have the prefix user, group and serviceAccount in
7796
+ https://cloud.google.com/iam/docs/principal-identifiers#v1 are supported.
7761
7797
  """
7762
7798
  return pulumi.get(self, "identities")
7763
7799
 
@@ -0,0 +1,158 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import copy
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from .. import _utilities
16
+
17
+ __all__ = [
18
+ 'GetAccessPolicyResult',
19
+ 'AwaitableGetAccessPolicyResult',
20
+ 'get_access_policy',
21
+ 'get_access_policy_output',
22
+ ]
23
+
24
+ @pulumi.output_type
25
+ class GetAccessPolicyResult:
26
+ """
27
+ A collection of values returned by getAccessPolicy.
28
+ """
29
+ def __init__(__self__, id=None, name=None, parent=None, scopes=None, title=None):
30
+ if id and not isinstance(id, str):
31
+ raise TypeError("Expected argument 'id' to be a str")
32
+ pulumi.set(__self__, "id", id)
33
+ if name and not isinstance(name, str):
34
+ raise TypeError("Expected argument 'name' to be a str")
35
+ pulumi.set(__self__, "name", name)
36
+ if parent and not isinstance(parent, str):
37
+ raise TypeError("Expected argument 'parent' to be a str")
38
+ pulumi.set(__self__, "parent", parent)
39
+ if scopes and not isinstance(scopes, list):
40
+ raise TypeError("Expected argument 'scopes' to be a list")
41
+ pulumi.set(__self__, "scopes", scopes)
42
+ if title and not isinstance(title, str):
43
+ raise TypeError("Expected argument 'title' to be a str")
44
+ pulumi.set(__self__, "title", title)
45
+
46
+ @property
47
+ @pulumi.getter
48
+ def id(self) -> str:
49
+ """
50
+ The provider-assigned unique ID for this managed resource.
51
+ """
52
+ return pulumi.get(self, "id")
53
+
54
+ @property
55
+ @pulumi.getter
56
+ def name(self) -> str:
57
+ """
58
+ Resource name of the AccessPolicy.
59
+ """
60
+ return pulumi.get(self, "name")
61
+
62
+ @property
63
+ @pulumi.getter
64
+ def parent(self) -> str:
65
+ return pulumi.get(self, "parent")
66
+
67
+ @property
68
+ @pulumi.getter
69
+ def scopes(self) -> Optional[Sequence[str]]:
70
+ return pulumi.get(self, "scopes")
71
+
72
+ @property
73
+ @pulumi.getter
74
+ def title(self) -> str:
75
+ """
76
+ Human readable title. Does not affect behavior.
77
+ """
78
+ return pulumi.get(self, "title")
79
+
80
+
81
+ class AwaitableGetAccessPolicyResult(GetAccessPolicyResult):
82
+ # pylint: disable=using-constant-test
83
+ def __await__(self):
84
+ if False:
85
+ yield self
86
+ return GetAccessPolicyResult(
87
+ id=self.id,
88
+ name=self.name,
89
+ parent=self.parent,
90
+ scopes=self.scopes,
91
+ title=self.title)
92
+
93
+
94
+ def get_access_policy(parent: Optional[str] = None,
95
+ scopes: Optional[Sequence[str]] = None,
96
+ opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetAccessPolicyResult:
97
+ """
98
+ Get information about an Access Context Manager AccessPolicy.
99
+
100
+ ## Example Usage
101
+
102
+ ```python
103
+ import pulumi
104
+ import pulumi_gcp as gcp
105
+
106
+ policy_org = gcp.accesscontextmanager.get_access_policy(parent="organizations/1234567")
107
+ policy_scoped = gcp.accesscontextmanager.get_access_policy(parent="organizations/1234567",
108
+ scopes=["projects/1234567"])
109
+ ```
110
+
111
+
112
+ :param str parent: The parent of this AccessPolicy in the Cloud Resource Hierarchy. Format: `organizations/{{organization_id}}`
113
+ :param Sequence[str] scopes: Folder or project on which this policy is applicable. Format: `folders/{{folder_id}}` or `projects/{{project_number}}`
114
+ """
115
+ __args__ = dict()
116
+ __args__['parent'] = parent
117
+ __args__['scopes'] = scopes
118
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
119
+ __ret__ = pulumi.runtime.invoke('gcp:accesscontextmanager/getAccessPolicy:getAccessPolicy', __args__, opts=opts, typ=GetAccessPolicyResult).value
120
+
121
+ return AwaitableGetAccessPolicyResult(
122
+ id=pulumi.get(__ret__, 'id'),
123
+ name=pulumi.get(__ret__, 'name'),
124
+ parent=pulumi.get(__ret__, 'parent'),
125
+ scopes=pulumi.get(__ret__, 'scopes'),
126
+ title=pulumi.get(__ret__, 'title'))
127
+ def get_access_policy_output(parent: Optional[pulumi.Input[str]] = None,
128
+ scopes: Optional[pulumi.Input[Optional[Sequence[str]]]] = None,
129
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetAccessPolicyResult]:
130
+ """
131
+ Get information about an Access Context Manager AccessPolicy.
132
+
133
+ ## Example Usage
134
+
135
+ ```python
136
+ import pulumi
137
+ import pulumi_gcp as gcp
138
+
139
+ policy_org = gcp.accesscontextmanager.get_access_policy(parent="organizations/1234567")
140
+ policy_scoped = gcp.accesscontextmanager.get_access_policy(parent="organizations/1234567",
141
+ scopes=["projects/1234567"])
142
+ ```
143
+
144
+
145
+ :param str parent: The parent of this AccessPolicy in the Cloud Resource Hierarchy. Format: `organizations/{{organization_id}}`
146
+ :param Sequence[str] scopes: Folder or project on which this policy is applicable. Format: `folders/{{folder_id}}` or `projects/{{project_number}}`
147
+ """
148
+ __args__ = dict()
149
+ __args__['parent'] = parent
150
+ __args__['scopes'] = scopes
151
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
152
+ __ret__ = pulumi.runtime.invoke_output('gcp:accesscontextmanager/getAccessPolicy:getAccessPolicy', __args__, opts=opts, typ=GetAccessPolicyResult)
153
+ return __ret__.apply(lambda __response__: GetAccessPolicyResult(
154
+ id=pulumi.get(__response__, 'id'),
155
+ name=pulumi.get(__response__, 'name'),
156
+ parent=pulumi.get(__response__, 'parent'),
157
+ scopes=pulumi.get(__response__, 'scopes'),
158
+ title=pulumi.get(__response__, 'title')))
@@ -111,7 +111,7 @@ def get_access_policy_iam_policy(name: Optional[str] = None,
111
111
  name=pulumi.get(__ret__, 'name'),
112
112
  policy_data=pulumi.get(__ret__, 'policy_data'))
113
113
  def get_access_policy_iam_policy_output(name: Optional[pulumi.Input[str]] = None,
114
- opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetAccessPolicyIamPolicyResult]:
114
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetAccessPolicyIamPolicyResult]:
115
115
  """
116
116
  Retrieves the current IAM policy data for accesspolicy
117
117
 
@@ -129,7 +129,7 @@ def get_access_policy_iam_policy_output(name: Optional[pulumi.Input[str]] = None
129
129
  """
130
130
  __args__ = dict()
131
131
  __args__['name'] = name
132
- opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
132
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
133
133
  __ret__ = pulumi.runtime.invoke_output('gcp:accesscontextmanager/getAccessPolicyIamPolicy:getAccessPolicyIamPolicy', __args__, opts=opts, typ=GetAccessPolicyIamPolicyResult)
134
134
  return __ret__.apply(lambda __response__: GetAccessPolicyIamPolicyResult(
135
135
  etag=pulumi.get(__response__, 'etag'),