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
@@ -0,0 +1,917 @@
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
+ from . import outputs
17
+ from ._inputs import *
18
+
19
+ __all__ = ['FoldersPolicyBindingArgs', 'FoldersPolicyBinding']
20
+
21
+ @pulumi.input_type
22
+ class FoldersPolicyBindingArgs:
23
+ def __init__(__self__, *,
24
+ folder: pulumi.Input[str],
25
+ location: pulumi.Input[str],
26
+ policy: pulumi.Input[str],
27
+ policy_binding_id: pulumi.Input[str],
28
+ target: pulumi.Input['FoldersPolicyBindingTargetArgs'],
29
+ annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
30
+ condition: Optional[pulumi.Input['FoldersPolicyBindingConditionArgs']] = None,
31
+ display_name: Optional[pulumi.Input[str]] = None,
32
+ policy_kind: Optional[pulumi.Input[str]] = None):
33
+ """
34
+ The set of arguments for constructing a FoldersPolicyBinding resource.
35
+ :param pulumi.Input[str] folder: The parent folder for the PolicyBinding.
36
+ :param pulumi.Input[str] location: The location of the PolicyBinding.
37
+ :param pulumi.Input[str] policy: Required. Immutable. The resource name of the policy to be bound. The binding parent and policy must belong to the same Organization (or Project).
38
+ :param pulumi.Input[str] policy_binding_id: The Policy Binding ID.
39
+ :param pulumi.Input['FoldersPolicyBindingTargetArgs'] target: Target is the full resource name of the resource to which the policy will be bound. Immutable once set.
40
+ Structure is documented below.
41
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] annotations: Optional. User defined annotations. See https://google.aip.dev/148#annotations for more details such as format and size
42
+ limitations **Note**: This field is non-authoritative, and will only manage the annotations present in your
43
+ configuration. Please refer to the field 'effective_annotations' for all of the annotations present on the resource.
44
+ :param pulumi.Input['FoldersPolicyBindingConditionArgs'] condition: Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The
45
+ syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \\"Summary
46
+ size limit\\" description: \\"Determines if a summary is less than 100 chars\\" expression: \\"document.summary.size() <
47
+ 100\\" Example (Equality): title: \\"Requestor is owner\\" description: \\"Determines if requestor is the document owner\\"
48
+ expression: \\"document.owner == request.auth.claims.email\\" Example (Logic): title: \\"Public documents\\" description:
49
+ \\"Determine whether the document should be publicly visible\\" expression: \\"document.type != 'private' && document.type
50
+ != 'internal'\\" Example (Data Manipulation): title: \\"Notification string\\" description: \\"Create a notification string
51
+ with a timestamp.\\" expression: \\"'New message received at ' + string(document.create_time)\\" The exact variables and
52
+ functions that may be referenced within an expression are determined by the service that evaluates it. See the service
53
+ documentation for additional information.
54
+ :param pulumi.Input[str] display_name: Optional. The description of the policy binding. Must be less than or equal to 63 characters.
55
+ :param pulumi.Input[str] policy_kind: Immutable. The kind of the policy to attach in this binding. This field must be one of the following: - Left empty (will
56
+ be automatically set to the policy kind) - The input policy kind Possible values: POLICY_KIND_UNSPECIFIED
57
+ PRINCIPAL_ACCESS_BOUNDARY ACCESS
58
+ """
59
+ pulumi.set(__self__, "folder", folder)
60
+ pulumi.set(__self__, "location", location)
61
+ pulumi.set(__self__, "policy", policy)
62
+ pulumi.set(__self__, "policy_binding_id", policy_binding_id)
63
+ pulumi.set(__self__, "target", target)
64
+ if annotations is not None:
65
+ pulumi.set(__self__, "annotations", annotations)
66
+ if condition is not None:
67
+ pulumi.set(__self__, "condition", condition)
68
+ if display_name is not None:
69
+ pulumi.set(__self__, "display_name", display_name)
70
+ if policy_kind is not None:
71
+ pulumi.set(__self__, "policy_kind", policy_kind)
72
+
73
+ @property
74
+ @pulumi.getter
75
+ def folder(self) -> pulumi.Input[str]:
76
+ """
77
+ The parent folder for the PolicyBinding.
78
+ """
79
+ return pulumi.get(self, "folder")
80
+
81
+ @folder.setter
82
+ def folder(self, value: pulumi.Input[str]):
83
+ pulumi.set(self, "folder", value)
84
+
85
+ @property
86
+ @pulumi.getter
87
+ def location(self) -> pulumi.Input[str]:
88
+ """
89
+ The location of the PolicyBinding.
90
+ """
91
+ return pulumi.get(self, "location")
92
+
93
+ @location.setter
94
+ def location(self, value: pulumi.Input[str]):
95
+ pulumi.set(self, "location", value)
96
+
97
+ @property
98
+ @pulumi.getter
99
+ def policy(self) -> pulumi.Input[str]:
100
+ """
101
+ Required. Immutable. The resource name of the policy to be bound. The binding parent and policy must belong to the same Organization (or Project).
102
+ """
103
+ return pulumi.get(self, "policy")
104
+
105
+ @policy.setter
106
+ def policy(self, value: pulumi.Input[str]):
107
+ pulumi.set(self, "policy", value)
108
+
109
+ @property
110
+ @pulumi.getter(name="policyBindingId")
111
+ def policy_binding_id(self) -> pulumi.Input[str]:
112
+ """
113
+ The Policy Binding ID.
114
+ """
115
+ return pulumi.get(self, "policy_binding_id")
116
+
117
+ @policy_binding_id.setter
118
+ def policy_binding_id(self, value: pulumi.Input[str]):
119
+ pulumi.set(self, "policy_binding_id", value)
120
+
121
+ @property
122
+ @pulumi.getter
123
+ def target(self) -> pulumi.Input['FoldersPolicyBindingTargetArgs']:
124
+ """
125
+ Target is the full resource name of the resource to which the policy will be bound. Immutable once set.
126
+ Structure is documented below.
127
+ """
128
+ return pulumi.get(self, "target")
129
+
130
+ @target.setter
131
+ def target(self, value: pulumi.Input['FoldersPolicyBindingTargetArgs']):
132
+ pulumi.set(self, "target", value)
133
+
134
+ @property
135
+ @pulumi.getter
136
+ def annotations(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
137
+ """
138
+ Optional. User defined annotations. See https://google.aip.dev/148#annotations for more details such as format and size
139
+ limitations **Note**: This field is non-authoritative, and will only manage the annotations present in your
140
+ configuration. Please refer to the field 'effective_annotations' for all of the annotations present on the resource.
141
+ """
142
+ return pulumi.get(self, "annotations")
143
+
144
+ @annotations.setter
145
+ def annotations(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
146
+ pulumi.set(self, "annotations", value)
147
+
148
+ @property
149
+ @pulumi.getter
150
+ def condition(self) -> Optional[pulumi.Input['FoldersPolicyBindingConditionArgs']]:
151
+ """
152
+ Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The
153
+ syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \\"Summary
154
+ size limit\\" description: \\"Determines if a summary is less than 100 chars\\" expression: \\"document.summary.size() <
155
+ 100\\" Example (Equality): title: \\"Requestor is owner\\" description: \\"Determines if requestor is the document owner\\"
156
+ expression: \\"document.owner == request.auth.claims.email\\" Example (Logic): title: \\"Public documents\\" description:
157
+ \\"Determine whether the document should be publicly visible\\" expression: \\"document.type != 'private' && document.type
158
+ != 'internal'\\" Example (Data Manipulation): title: \\"Notification string\\" description: \\"Create a notification string
159
+ with a timestamp.\\" expression: \\"'New message received at ' + string(document.create_time)\\" The exact variables and
160
+ functions that may be referenced within an expression are determined by the service that evaluates it. See the service
161
+ documentation for additional information.
162
+ """
163
+ return pulumi.get(self, "condition")
164
+
165
+ @condition.setter
166
+ def condition(self, value: Optional[pulumi.Input['FoldersPolicyBindingConditionArgs']]):
167
+ pulumi.set(self, "condition", value)
168
+
169
+ @property
170
+ @pulumi.getter(name="displayName")
171
+ def display_name(self) -> Optional[pulumi.Input[str]]:
172
+ """
173
+ Optional. The description of the policy binding. Must be less than or equal to 63 characters.
174
+ """
175
+ return pulumi.get(self, "display_name")
176
+
177
+ @display_name.setter
178
+ def display_name(self, value: Optional[pulumi.Input[str]]):
179
+ pulumi.set(self, "display_name", value)
180
+
181
+ @property
182
+ @pulumi.getter(name="policyKind")
183
+ def policy_kind(self) -> Optional[pulumi.Input[str]]:
184
+ """
185
+ Immutable. The kind of the policy to attach in this binding. This field must be one of the following: - Left empty (will
186
+ be automatically set to the policy kind) - The input policy kind Possible values: POLICY_KIND_UNSPECIFIED
187
+ PRINCIPAL_ACCESS_BOUNDARY ACCESS
188
+ """
189
+ return pulumi.get(self, "policy_kind")
190
+
191
+ @policy_kind.setter
192
+ def policy_kind(self, value: Optional[pulumi.Input[str]]):
193
+ pulumi.set(self, "policy_kind", value)
194
+
195
+
196
+ @pulumi.input_type
197
+ class _FoldersPolicyBindingState:
198
+ def __init__(__self__, *,
199
+ annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
200
+ condition: Optional[pulumi.Input['FoldersPolicyBindingConditionArgs']] = None,
201
+ create_time: Optional[pulumi.Input[str]] = None,
202
+ display_name: Optional[pulumi.Input[str]] = None,
203
+ effective_annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
204
+ etag: Optional[pulumi.Input[str]] = None,
205
+ folder: Optional[pulumi.Input[str]] = None,
206
+ location: Optional[pulumi.Input[str]] = None,
207
+ name: Optional[pulumi.Input[str]] = None,
208
+ policy: Optional[pulumi.Input[str]] = None,
209
+ policy_binding_id: Optional[pulumi.Input[str]] = None,
210
+ policy_kind: Optional[pulumi.Input[str]] = None,
211
+ policy_uid: Optional[pulumi.Input[str]] = None,
212
+ target: Optional[pulumi.Input['FoldersPolicyBindingTargetArgs']] = None,
213
+ uid: Optional[pulumi.Input[str]] = None,
214
+ update_time: Optional[pulumi.Input[str]] = None):
215
+ """
216
+ Input properties used for looking up and filtering FoldersPolicyBinding resources.
217
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] annotations: Optional. User defined annotations. See https://google.aip.dev/148#annotations for more details such as format and size
218
+ limitations **Note**: This field is non-authoritative, and will only manage the annotations present in your
219
+ configuration. Please refer to the field 'effective_annotations' for all of the annotations present on the resource.
220
+ :param pulumi.Input['FoldersPolicyBindingConditionArgs'] condition: Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The
221
+ syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \\"Summary
222
+ size limit\\" description: \\"Determines if a summary is less than 100 chars\\" expression: \\"document.summary.size() <
223
+ 100\\" Example (Equality): title: \\"Requestor is owner\\" description: \\"Determines if requestor is the document owner\\"
224
+ expression: \\"document.owner == request.auth.claims.email\\" Example (Logic): title: \\"Public documents\\" description:
225
+ \\"Determine whether the document should be publicly visible\\" expression: \\"document.type != 'private' && document.type
226
+ != 'internal'\\" Example (Data Manipulation): title: \\"Notification string\\" description: \\"Create a notification string
227
+ with a timestamp.\\" expression: \\"'New message received at ' + string(document.create_time)\\" The exact variables and
228
+ functions that may be referenced within an expression are determined by the service that evaluates it. See the service
229
+ documentation for additional information.
230
+ :param pulumi.Input[str] create_time: Output only. The time when the policy binding was created.
231
+ :param pulumi.Input[str] display_name: Optional. The description of the policy binding. Must be less than or equal to 63 characters.
232
+ :param pulumi.Input[str] etag: Optional. The etag for the policy binding. If this is provided on update, it must match the server's etag.
233
+ :param pulumi.Input[str] folder: The parent folder for the PolicyBinding.
234
+ :param pulumi.Input[str] location: The location of the PolicyBinding.
235
+ :param pulumi.Input[str] name: The name of the policy binding in the format `{binding_parent/locations/{location}/policyBindings/{policy_binding_id}`
236
+ :param pulumi.Input[str] policy: Required. Immutable. The resource name of the policy to be bound. The binding parent and policy must belong to the same Organization (or Project).
237
+ :param pulumi.Input[str] policy_binding_id: The Policy Binding ID.
238
+ :param pulumi.Input[str] policy_kind: Immutable. The kind of the policy to attach in this binding. This field must be one of the following: - Left empty (will
239
+ be automatically set to the policy kind) - The input policy kind Possible values: POLICY_KIND_UNSPECIFIED
240
+ PRINCIPAL_ACCESS_BOUNDARY ACCESS
241
+ :param pulumi.Input[str] policy_uid: Output only. The globally unique ID of the policy to be bound.
242
+ :param pulumi.Input['FoldersPolicyBindingTargetArgs'] target: Target is the full resource name of the resource to which the policy will be bound. Immutable once set.
243
+ Structure is documented below.
244
+ :param pulumi.Input[str] uid: Output only. The globally unique ID of the policy binding. Assigned when the policy binding is created.
245
+ :param pulumi.Input[str] update_time: Output only. The time when the policy binding was most recently updated.
246
+ """
247
+ if annotations is not None:
248
+ pulumi.set(__self__, "annotations", annotations)
249
+ if condition is not None:
250
+ pulumi.set(__self__, "condition", condition)
251
+ if create_time is not None:
252
+ pulumi.set(__self__, "create_time", create_time)
253
+ if display_name is not None:
254
+ pulumi.set(__self__, "display_name", display_name)
255
+ if effective_annotations is not None:
256
+ pulumi.set(__self__, "effective_annotations", effective_annotations)
257
+ if etag is not None:
258
+ pulumi.set(__self__, "etag", etag)
259
+ if folder is not None:
260
+ pulumi.set(__self__, "folder", folder)
261
+ if location is not None:
262
+ pulumi.set(__self__, "location", location)
263
+ if name is not None:
264
+ pulumi.set(__self__, "name", name)
265
+ if policy is not None:
266
+ pulumi.set(__self__, "policy", policy)
267
+ if policy_binding_id is not None:
268
+ pulumi.set(__self__, "policy_binding_id", policy_binding_id)
269
+ if policy_kind is not None:
270
+ pulumi.set(__self__, "policy_kind", policy_kind)
271
+ if policy_uid is not None:
272
+ pulumi.set(__self__, "policy_uid", policy_uid)
273
+ if target is not None:
274
+ pulumi.set(__self__, "target", target)
275
+ if uid is not None:
276
+ pulumi.set(__self__, "uid", uid)
277
+ if update_time is not None:
278
+ pulumi.set(__self__, "update_time", update_time)
279
+
280
+ @property
281
+ @pulumi.getter
282
+ def annotations(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
283
+ """
284
+ Optional. User defined annotations. See https://google.aip.dev/148#annotations for more details such as format and size
285
+ limitations **Note**: This field is non-authoritative, and will only manage the annotations present in your
286
+ configuration. Please refer to the field 'effective_annotations' for all of the annotations present on the resource.
287
+ """
288
+ return pulumi.get(self, "annotations")
289
+
290
+ @annotations.setter
291
+ def annotations(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
292
+ pulumi.set(self, "annotations", value)
293
+
294
+ @property
295
+ @pulumi.getter
296
+ def condition(self) -> Optional[pulumi.Input['FoldersPolicyBindingConditionArgs']]:
297
+ """
298
+ Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The
299
+ syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \\"Summary
300
+ size limit\\" description: \\"Determines if a summary is less than 100 chars\\" expression: \\"document.summary.size() <
301
+ 100\\" Example (Equality): title: \\"Requestor is owner\\" description: \\"Determines if requestor is the document owner\\"
302
+ expression: \\"document.owner == request.auth.claims.email\\" Example (Logic): title: \\"Public documents\\" description:
303
+ \\"Determine whether the document should be publicly visible\\" expression: \\"document.type != 'private' && document.type
304
+ != 'internal'\\" Example (Data Manipulation): title: \\"Notification string\\" description: \\"Create a notification string
305
+ with a timestamp.\\" expression: \\"'New message received at ' + string(document.create_time)\\" The exact variables and
306
+ functions that may be referenced within an expression are determined by the service that evaluates it. See the service
307
+ documentation for additional information.
308
+ """
309
+ return pulumi.get(self, "condition")
310
+
311
+ @condition.setter
312
+ def condition(self, value: Optional[pulumi.Input['FoldersPolicyBindingConditionArgs']]):
313
+ pulumi.set(self, "condition", value)
314
+
315
+ @property
316
+ @pulumi.getter(name="createTime")
317
+ def create_time(self) -> Optional[pulumi.Input[str]]:
318
+ """
319
+ Output only. The time when the policy binding was created.
320
+ """
321
+ return pulumi.get(self, "create_time")
322
+
323
+ @create_time.setter
324
+ def create_time(self, value: Optional[pulumi.Input[str]]):
325
+ pulumi.set(self, "create_time", value)
326
+
327
+ @property
328
+ @pulumi.getter(name="displayName")
329
+ def display_name(self) -> Optional[pulumi.Input[str]]:
330
+ """
331
+ Optional. The description of the policy binding. Must be less than or equal to 63 characters.
332
+ """
333
+ return pulumi.get(self, "display_name")
334
+
335
+ @display_name.setter
336
+ def display_name(self, value: Optional[pulumi.Input[str]]):
337
+ pulumi.set(self, "display_name", value)
338
+
339
+ @property
340
+ @pulumi.getter(name="effectiveAnnotations")
341
+ def effective_annotations(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
342
+ return pulumi.get(self, "effective_annotations")
343
+
344
+ @effective_annotations.setter
345
+ def effective_annotations(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
346
+ pulumi.set(self, "effective_annotations", value)
347
+
348
+ @property
349
+ @pulumi.getter
350
+ def etag(self) -> Optional[pulumi.Input[str]]:
351
+ """
352
+ Optional. The etag for the policy binding. If this is provided on update, it must match the server's etag.
353
+ """
354
+ return pulumi.get(self, "etag")
355
+
356
+ @etag.setter
357
+ def etag(self, value: Optional[pulumi.Input[str]]):
358
+ pulumi.set(self, "etag", value)
359
+
360
+ @property
361
+ @pulumi.getter
362
+ def folder(self) -> Optional[pulumi.Input[str]]:
363
+ """
364
+ The parent folder for the PolicyBinding.
365
+ """
366
+ return pulumi.get(self, "folder")
367
+
368
+ @folder.setter
369
+ def folder(self, value: Optional[pulumi.Input[str]]):
370
+ pulumi.set(self, "folder", value)
371
+
372
+ @property
373
+ @pulumi.getter
374
+ def location(self) -> Optional[pulumi.Input[str]]:
375
+ """
376
+ The location of the PolicyBinding.
377
+ """
378
+ return pulumi.get(self, "location")
379
+
380
+ @location.setter
381
+ def location(self, value: Optional[pulumi.Input[str]]):
382
+ pulumi.set(self, "location", value)
383
+
384
+ @property
385
+ @pulumi.getter
386
+ def name(self) -> Optional[pulumi.Input[str]]:
387
+ """
388
+ The name of the policy binding in the format `{binding_parent/locations/{location}/policyBindings/{policy_binding_id}`
389
+ """
390
+ return pulumi.get(self, "name")
391
+
392
+ @name.setter
393
+ def name(self, value: Optional[pulumi.Input[str]]):
394
+ pulumi.set(self, "name", value)
395
+
396
+ @property
397
+ @pulumi.getter
398
+ def policy(self) -> Optional[pulumi.Input[str]]:
399
+ """
400
+ Required. Immutable. The resource name of the policy to be bound. The binding parent and policy must belong to the same Organization (or Project).
401
+ """
402
+ return pulumi.get(self, "policy")
403
+
404
+ @policy.setter
405
+ def policy(self, value: Optional[pulumi.Input[str]]):
406
+ pulumi.set(self, "policy", value)
407
+
408
+ @property
409
+ @pulumi.getter(name="policyBindingId")
410
+ def policy_binding_id(self) -> Optional[pulumi.Input[str]]:
411
+ """
412
+ The Policy Binding ID.
413
+ """
414
+ return pulumi.get(self, "policy_binding_id")
415
+
416
+ @policy_binding_id.setter
417
+ def policy_binding_id(self, value: Optional[pulumi.Input[str]]):
418
+ pulumi.set(self, "policy_binding_id", value)
419
+
420
+ @property
421
+ @pulumi.getter(name="policyKind")
422
+ def policy_kind(self) -> Optional[pulumi.Input[str]]:
423
+ """
424
+ Immutable. The kind of the policy to attach in this binding. This field must be one of the following: - Left empty (will
425
+ be automatically set to the policy kind) - The input policy kind Possible values: POLICY_KIND_UNSPECIFIED
426
+ PRINCIPAL_ACCESS_BOUNDARY ACCESS
427
+ """
428
+ return pulumi.get(self, "policy_kind")
429
+
430
+ @policy_kind.setter
431
+ def policy_kind(self, value: Optional[pulumi.Input[str]]):
432
+ pulumi.set(self, "policy_kind", value)
433
+
434
+ @property
435
+ @pulumi.getter(name="policyUid")
436
+ def policy_uid(self) -> Optional[pulumi.Input[str]]:
437
+ """
438
+ Output only. The globally unique ID of the policy to be bound.
439
+ """
440
+ return pulumi.get(self, "policy_uid")
441
+
442
+ @policy_uid.setter
443
+ def policy_uid(self, value: Optional[pulumi.Input[str]]):
444
+ pulumi.set(self, "policy_uid", value)
445
+
446
+ @property
447
+ @pulumi.getter
448
+ def target(self) -> Optional[pulumi.Input['FoldersPolicyBindingTargetArgs']]:
449
+ """
450
+ Target is the full resource name of the resource to which the policy will be bound. Immutable once set.
451
+ Structure is documented below.
452
+ """
453
+ return pulumi.get(self, "target")
454
+
455
+ @target.setter
456
+ def target(self, value: Optional[pulumi.Input['FoldersPolicyBindingTargetArgs']]):
457
+ pulumi.set(self, "target", value)
458
+
459
+ @property
460
+ @pulumi.getter
461
+ def uid(self) -> Optional[pulumi.Input[str]]:
462
+ """
463
+ Output only. The globally unique ID of the policy binding. Assigned when the policy binding is created.
464
+ """
465
+ return pulumi.get(self, "uid")
466
+
467
+ @uid.setter
468
+ def uid(self, value: Optional[pulumi.Input[str]]):
469
+ pulumi.set(self, "uid", value)
470
+
471
+ @property
472
+ @pulumi.getter(name="updateTime")
473
+ def update_time(self) -> Optional[pulumi.Input[str]]:
474
+ """
475
+ Output only. The time when the policy binding was most recently updated.
476
+ """
477
+ return pulumi.get(self, "update_time")
478
+
479
+ @update_time.setter
480
+ def update_time(self, value: Optional[pulumi.Input[str]]):
481
+ pulumi.set(self, "update_time", value)
482
+
483
+
484
+ class FoldersPolicyBinding(pulumi.CustomResource):
485
+ @overload
486
+ def __init__(__self__,
487
+ resource_name: str,
488
+ opts: Optional[pulumi.ResourceOptions] = None,
489
+ annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
490
+ condition: Optional[pulumi.Input[Union['FoldersPolicyBindingConditionArgs', 'FoldersPolicyBindingConditionArgsDict']]] = None,
491
+ display_name: Optional[pulumi.Input[str]] = None,
492
+ folder: Optional[pulumi.Input[str]] = None,
493
+ location: Optional[pulumi.Input[str]] = None,
494
+ policy: Optional[pulumi.Input[str]] = None,
495
+ policy_binding_id: Optional[pulumi.Input[str]] = None,
496
+ policy_kind: Optional[pulumi.Input[str]] = None,
497
+ target: Optional[pulumi.Input[Union['FoldersPolicyBindingTargetArgs', 'FoldersPolicyBindingTargetArgsDict']]] = None,
498
+ __props__=None):
499
+ """
500
+ ## Example Usage
501
+
502
+ ### Iam Folders Policy Binding
503
+
504
+ ```python
505
+ import pulumi
506
+ import pulumi_gcp as gcp
507
+ import pulumi_time as time
508
+
509
+ pab_policy = gcp.iam.PrincipalAccessBoundaryPolicy("pab_policy",
510
+ organization="123456789",
511
+ location="global",
512
+ display_name="test folder binding",
513
+ principal_access_boundary_policy_id="my-pab-policy")
514
+ folder = gcp.organizations.Folder("folder",
515
+ display_name="test folder",
516
+ parent="organizations/123456789",
517
+ deletion_protection=False)
518
+ wait120s = time.index.Sleep("wait_120s", create_duration=120s,
519
+ opts = pulumi.ResourceOptions(depends_on=[folder]))
520
+ my_folder_binding = gcp.iam.FoldersPolicyBinding("my-folder-binding",
521
+ folder=folder.folder_id,
522
+ location="global",
523
+ display_name="test folder binding",
524
+ policy_kind="PRINCIPAL_ACCESS_BOUNDARY",
525
+ policy_binding_id="test-folder-binding",
526
+ policy=pab_policy.principal_access_boundary_policy_id.apply(lambda principal_access_boundary_policy_id: f"organizations/123456789/locations/global/principalAccessBoundaryPolicies/{principal_access_boundary_policy_id}"),
527
+ target={
528
+ "principal_set": folder.folder_id.apply(lambda folder_id: f"//cloudresourcemanager.googleapis.com/folders/{folder_id}"),
529
+ },
530
+ opts = pulumi.ResourceOptions(depends_on=[wait120s]))
531
+ ```
532
+
533
+ ## Import
534
+
535
+ FoldersPolicyBinding can be imported using any of these accepted formats:
536
+
537
+ * `folders/{{folder}}/locations/{{location}}/policyBindings/{{policy_binding_id}}`
538
+
539
+ * `{{folder}}/{{location}}/{{policy_binding_id}}`
540
+
541
+ When using the `pulumi import` command, FoldersPolicyBinding can be imported using one of the formats above. For example:
542
+
543
+ ```sh
544
+ $ pulumi import gcp:iam/foldersPolicyBinding:FoldersPolicyBinding default folders/{{folder}}/locations/{{location}}/policyBindings/{{policy_binding_id}}
545
+ ```
546
+
547
+ ```sh
548
+ $ pulumi import gcp:iam/foldersPolicyBinding:FoldersPolicyBinding default {{folder}}/{{location}}/{{policy_binding_id}}
549
+ ```
550
+
551
+ :param str resource_name: The name of the resource.
552
+ :param pulumi.ResourceOptions opts: Options for the resource.
553
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] annotations: Optional. User defined annotations. See https://google.aip.dev/148#annotations for more details such as format and size
554
+ limitations **Note**: This field is non-authoritative, and will only manage the annotations present in your
555
+ configuration. Please refer to the field 'effective_annotations' for all of the annotations present on the resource.
556
+ :param pulumi.Input[Union['FoldersPolicyBindingConditionArgs', 'FoldersPolicyBindingConditionArgsDict']] condition: Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The
557
+ syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \\"Summary
558
+ size limit\\" description: \\"Determines if a summary is less than 100 chars\\" expression: \\"document.summary.size() <
559
+ 100\\" Example (Equality): title: \\"Requestor is owner\\" description: \\"Determines if requestor is the document owner\\"
560
+ expression: \\"document.owner == request.auth.claims.email\\" Example (Logic): title: \\"Public documents\\" description:
561
+ \\"Determine whether the document should be publicly visible\\" expression: \\"document.type != 'private' && document.type
562
+ != 'internal'\\" Example (Data Manipulation): title: \\"Notification string\\" description: \\"Create a notification string
563
+ with a timestamp.\\" expression: \\"'New message received at ' + string(document.create_time)\\" The exact variables and
564
+ functions that may be referenced within an expression are determined by the service that evaluates it. See the service
565
+ documentation for additional information.
566
+ :param pulumi.Input[str] display_name: Optional. The description of the policy binding. Must be less than or equal to 63 characters.
567
+ :param pulumi.Input[str] folder: The parent folder for the PolicyBinding.
568
+ :param pulumi.Input[str] location: The location of the PolicyBinding.
569
+ :param pulumi.Input[str] policy: Required. Immutable. The resource name of the policy to be bound. The binding parent and policy must belong to the same Organization (or Project).
570
+ :param pulumi.Input[str] policy_binding_id: The Policy Binding ID.
571
+ :param pulumi.Input[str] policy_kind: Immutable. The kind of the policy to attach in this binding. This field must be one of the following: - Left empty (will
572
+ be automatically set to the policy kind) - The input policy kind Possible values: POLICY_KIND_UNSPECIFIED
573
+ PRINCIPAL_ACCESS_BOUNDARY ACCESS
574
+ :param pulumi.Input[Union['FoldersPolicyBindingTargetArgs', 'FoldersPolicyBindingTargetArgsDict']] target: Target is the full resource name of the resource to which the policy will be bound. Immutable once set.
575
+ Structure is documented below.
576
+ """
577
+ ...
578
+ @overload
579
+ def __init__(__self__,
580
+ resource_name: str,
581
+ args: FoldersPolicyBindingArgs,
582
+ opts: Optional[pulumi.ResourceOptions] = None):
583
+ """
584
+ ## Example Usage
585
+
586
+ ### Iam Folders Policy Binding
587
+
588
+ ```python
589
+ import pulumi
590
+ import pulumi_gcp as gcp
591
+ import pulumi_time as time
592
+
593
+ pab_policy = gcp.iam.PrincipalAccessBoundaryPolicy("pab_policy",
594
+ organization="123456789",
595
+ location="global",
596
+ display_name="test folder binding",
597
+ principal_access_boundary_policy_id="my-pab-policy")
598
+ folder = gcp.organizations.Folder("folder",
599
+ display_name="test folder",
600
+ parent="organizations/123456789",
601
+ deletion_protection=False)
602
+ wait120s = time.index.Sleep("wait_120s", create_duration=120s,
603
+ opts = pulumi.ResourceOptions(depends_on=[folder]))
604
+ my_folder_binding = gcp.iam.FoldersPolicyBinding("my-folder-binding",
605
+ folder=folder.folder_id,
606
+ location="global",
607
+ display_name="test folder binding",
608
+ policy_kind="PRINCIPAL_ACCESS_BOUNDARY",
609
+ policy_binding_id="test-folder-binding",
610
+ policy=pab_policy.principal_access_boundary_policy_id.apply(lambda principal_access_boundary_policy_id: f"organizations/123456789/locations/global/principalAccessBoundaryPolicies/{principal_access_boundary_policy_id}"),
611
+ target={
612
+ "principal_set": folder.folder_id.apply(lambda folder_id: f"//cloudresourcemanager.googleapis.com/folders/{folder_id}"),
613
+ },
614
+ opts = pulumi.ResourceOptions(depends_on=[wait120s]))
615
+ ```
616
+
617
+ ## Import
618
+
619
+ FoldersPolicyBinding can be imported using any of these accepted formats:
620
+
621
+ * `folders/{{folder}}/locations/{{location}}/policyBindings/{{policy_binding_id}}`
622
+
623
+ * `{{folder}}/{{location}}/{{policy_binding_id}}`
624
+
625
+ When using the `pulumi import` command, FoldersPolicyBinding can be imported using one of the formats above. For example:
626
+
627
+ ```sh
628
+ $ pulumi import gcp:iam/foldersPolicyBinding:FoldersPolicyBinding default folders/{{folder}}/locations/{{location}}/policyBindings/{{policy_binding_id}}
629
+ ```
630
+
631
+ ```sh
632
+ $ pulumi import gcp:iam/foldersPolicyBinding:FoldersPolicyBinding default {{folder}}/{{location}}/{{policy_binding_id}}
633
+ ```
634
+
635
+ :param str resource_name: The name of the resource.
636
+ :param FoldersPolicyBindingArgs args: The arguments to use to populate this resource's properties.
637
+ :param pulumi.ResourceOptions opts: Options for the resource.
638
+ """
639
+ ...
640
+ def __init__(__self__, resource_name: str, *args, **kwargs):
641
+ resource_args, opts = _utilities.get_resource_args_opts(FoldersPolicyBindingArgs, pulumi.ResourceOptions, *args, **kwargs)
642
+ if resource_args is not None:
643
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
644
+ else:
645
+ __self__._internal_init(resource_name, *args, **kwargs)
646
+
647
+ def _internal_init(__self__,
648
+ resource_name: str,
649
+ opts: Optional[pulumi.ResourceOptions] = None,
650
+ annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
651
+ condition: Optional[pulumi.Input[Union['FoldersPolicyBindingConditionArgs', 'FoldersPolicyBindingConditionArgsDict']]] = None,
652
+ display_name: Optional[pulumi.Input[str]] = None,
653
+ folder: Optional[pulumi.Input[str]] = None,
654
+ location: Optional[pulumi.Input[str]] = None,
655
+ policy: Optional[pulumi.Input[str]] = None,
656
+ policy_binding_id: Optional[pulumi.Input[str]] = None,
657
+ policy_kind: Optional[pulumi.Input[str]] = None,
658
+ target: Optional[pulumi.Input[Union['FoldersPolicyBindingTargetArgs', 'FoldersPolicyBindingTargetArgsDict']]] = None,
659
+ __props__=None):
660
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
661
+ if not isinstance(opts, pulumi.ResourceOptions):
662
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
663
+ if opts.id is None:
664
+ if __props__ is not None:
665
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
666
+ __props__ = FoldersPolicyBindingArgs.__new__(FoldersPolicyBindingArgs)
667
+
668
+ __props__.__dict__["annotations"] = annotations
669
+ __props__.__dict__["condition"] = condition
670
+ __props__.__dict__["display_name"] = display_name
671
+ if folder is None and not opts.urn:
672
+ raise TypeError("Missing required property 'folder'")
673
+ __props__.__dict__["folder"] = folder
674
+ if location is None and not opts.urn:
675
+ raise TypeError("Missing required property 'location'")
676
+ __props__.__dict__["location"] = location
677
+ if policy is None and not opts.urn:
678
+ raise TypeError("Missing required property 'policy'")
679
+ __props__.__dict__["policy"] = policy
680
+ if policy_binding_id is None and not opts.urn:
681
+ raise TypeError("Missing required property 'policy_binding_id'")
682
+ __props__.__dict__["policy_binding_id"] = policy_binding_id
683
+ __props__.__dict__["policy_kind"] = policy_kind
684
+ if target is None and not opts.urn:
685
+ raise TypeError("Missing required property 'target'")
686
+ __props__.__dict__["target"] = target
687
+ __props__.__dict__["create_time"] = None
688
+ __props__.__dict__["effective_annotations"] = None
689
+ __props__.__dict__["etag"] = None
690
+ __props__.__dict__["name"] = None
691
+ __props__.__dict__["policy_uid"] = None
692
+ __props__.__dict__["uid"] = None
693
+ __props__.__dict__["update_time"] = None
694
+ super(FoldersPolicyBinding, __self__).__init__(
695
+ 'gcp:iam/foldersPolicyBinding:FoldersPolicyBinding',
696
+ resource_name,
697
+ __props__,
698
+ opts)
699
+
700
+ @staticmethod
701
+ def get(resource_name: str,
702
+ id: pulumi.Input[str],
703
+ opts: Optional[pulumi.ResourceOptions] = None,
704
+ annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
705
+ condition: Optional[pulumi.Input[Union['FoldersPolicyBindingConditionArgs', 'FoldersPolicyBindingConditionArgsDict']]] = None,
706
+ create_time: Optional[pulumi.Input[str]] = None,
707
+ display_name: Optional[pulumi.Input[str]] = None,
708
+ effective_annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
709
+ etag: Optional[pulumi.Input[str]] = None,
710
+ folder: Optional[pulumi.Input[str]] = None,
711
+ location: Optional[pulumi.Input[str]] = None,
712
+ name: Optional[pulumi.Input[str]] = None,
713
+ policy: Optional[pulumi.Input[str]] = None,
714
+ policy_binding_id: Optional[pulumi.Input[str]] = None,
715
+ policy_kind: Optional[pulumi.Input[str]] = None,
716
+ policy_uid: Optional[pulumi.Input[str]] = None,
717
+ target: Optional[pulumi.Input[Union['FoldersPolicyBindingTargetArgs', 'FoldersPolicyBindingTargetArgsDict']]] = None,
718
+ uid: Optional[pulumi.Input[str]] = None,
719
+ update_time: Optional[pulumi.Input[str]] = None) -> 'FoldersPolicyBinding':
720
+ """
721
+ Get an existing FoldersPolicyBinding resource's state with the given name, id, and optional extra
722
+ properties used to qualify the lookup.
723
+
724
+ :param str resource_name: The unique name of the resulting resource.
725
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
726
+ :param pulumi.ResourceOptions opts: Options for the resource.
727
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] annotations: Optional. User defined annotations. See https://google.aip.dev/148#annotations for more details such as format and size
728
+ limitations **Note**: This field is non-authoritative, and will only manage the annotations present in your
729
+ configuration. Please refer to the field 'effective_annotations' for all of the annotations present on the resource.
730
+ :param pulumi.Input[Union['FoldersPolicyBindingConditionArgs', 'FoldersPolicyBindingConditionArgsDict']] condition: Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The
731
+ syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \\"Summary
732
+ size limit\\" description: \\"Determines if a summary is less than 100 chars\\" expression: \\"document.summary.size() <
733
+ 100\\" Example (Equality): title: \\"Requestor is owner\\" description: \\"Determines if requestor is the document owner\\"
734
+ expression: \\"document.owner == request.auth.claims.email\\" Example (Logic): title: \\"Public documents\\" description:
735
+ \\"Determine whether the document should be publicly visible\\" expression: \\"document.type != 'private' && document.type
736
+ != 'internal'\\" Example (Data Manipulation): title: \\"Notification string\\" description: \\"Create a notification string
737
+ with a timestamp.\\" expression: \\"'New message received at ' + string(document.create_time)\\" The exact variables and
738
+ functions that may be referenced within an expression are determined by the service that evaluates it. See the service
739
+ documentation for additional information.
740
+ :param pulumi.Input[str] create_time: Output only. The time when the policy binding was created.
741
+ :param pulumi.Input[str] display_name: Optional. The description of the policy binding. Must be less than or equal to 63 characters.
742
+ :param pulumi.Input[str] etag: Optional. The etag for the policy binding. If this is provided on update, it must match the server's etag.
743
+ :param pulumi.Input[str] folder: The parent folder for the PolicyBinding.
744
+ :param pulumi.Input[str] location: The location of the PolicyBinding.
745
+ :param pulumi.Input[str] name: The name of the policy binding in the format `{binding_parent/locations/{location}/policyBindings/{policy_binding_id}`
746
+ :param pulumi.Input[str] policy: Required. Immutable. The resource name of the policy to be bound. The binding parent and policy must belong to the same Organization (or Project).
747
+ :param pulumi.Input[str] policy_binding_id: The Policy Binding ID.
748
+ :param pulumi.Input[str] policy_kind: Immutable. The kind of the policy to attach in this binding. This field must be one of the following: - Left empty (will
749
+ be automatically set to the policy kind) - The input policy kind Possible values: POLICY_KIND_UNSPECIFIED
750
+ PRINCIPAL_ACCESS_BOUNDARY ACCESS
751
+ :param pulumi.Input[str] policy_uid: Output only. The globally unique ID of the policy to be bound.
752
+ :param pulumi.Input[Union['FoldersPolicyBindingTargetArgs', 'FoldersPolicyBindingTargetArgsDict']] target: Target is the full resource name of the resource to which the policy will be bound. Immutable once set.
753
+ Structure is documented below.
754
+ :param pulumi.Input[str] uid: Output only. The globally unique ID of the policy binding. Assigned when the policy binding is created.
755
+ :param pulumi.Input[str] update_time: Output only. The time when the policy binding was most recently updated.
756
+ """
757
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
758
+
759
+ __props__ = _FoldersPolicyBindingState.__new__(_FoldersPolicyBindingState)
760
+
761
+ __props__.__dict__["annotations"] = annotations
762
+ __props__.__dict__["condition"] = condition
763
+ __props__.__dict__["create_time"] = create_time
764
+ __props__.__dict__["display_name"] = display_name
765
+ __props__.__dict__["effective_annotations"] = effective_annotations
766
+ __props__.__dict__["etag"] = etag
767
+ __props__.__dict__["folder"] = folder
768
+ __props__.__dict__["location"] = location
769
+ __props__.__dict__["name"] = name
770
+ __props__.__dict__["policy"] = policy
771
+ __props__.__dict__["policy_binding_id"] = policy_binding_id
772
+ __props__.__dict__["policy_kind"] = policy_kind
773
+ __props__.__dict__["policy_uid"] = policy_uid
774
+ __props__.__dict__["target"] = target
775
+ __props__.__dict__["uid"] = uid
776
+ __props__.__dict__["update_time"] = update_time
777
+ return FoldersPolicyBinding(resource_name, opts=opts, __props__=__props__)
778
+
779
+ @property
780
+ @pulumi.getter
781
+ def annotations(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
782
+ """
783
+ Optional. User defined annotations. See https://google.aip.dev/148#annotations for more details such as format and size
784
+ limitations **Note**: This field is non-authoritative, and will only manage the annotations present in your
785
+ configuration. Please refer to the field 'effective_annotations' for all of the annotations present on the resource.
786
+ """
787
+ return pulumi.get(self, "annotations")
788
+
789
+ @property
790
+ @pulumi.getter
791
+ def condition(self) -> pulumi.Output[Optional['outputs.FoldersPolicyBindingCondition']]:
792
+ """
793
+ Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The
794
+ syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \\"Summary
795
+ size limit\\" description: \\"Determines if a summary is less than 100 chars\\" expression: \\"document.summary.size() <
796
+ 100\\" Example (Equality): title: \\"Requestor is owner\\" description: \\"Determines if requestor is the document owner\\"
797
+ expression: \\"document.owner == request.auth.claims.email\\" Example (Logic): title: \\"Public documents\\" description:
798
+ \\"Determine whether the document should be publicly visible\\" expression: \\"document.type != 'private' && document.type
799
+ != 'internal'\\" Example (Data Manipulation): title: \\"Notification string\\" description: \\"Create a notification string
800
+ with a timestamp.\\" expression: \\"'New message received at ' + string(document.create_time)\\" The exact variables and
801
+ functions that may be referenced within an expression are determined by the service that evaluates it. See the service
802
+ documentation for additional information.
803
+ """
804
+ return pulumi.get(self, "condition")
805
+
806
+ @property
807
+ @pulumi.getter(name="createTime")
808
+ def create_time(self) -> pulumi.Output[str]:
809
+ """
810
+ Output only. The time when the policy binding was created.
811
+ """
812
+ return pulumi.get(self, "create_time")
813
+
814
+ @property
815
+ @pulumi.getter(name="displayName")
816
+ def display_name(self) -> pulumi.Output[Optional[str]]:
817
+ """
818
+ Optional. The description of the policy binding. Must be less than or equal to 63 characters.
819
+ """
820
+ return pulumi.get(self, "display_name")
821
+
822
+ @property
823
+ @pulumi.getter(name="effectiveAnnotations")
824
+ def effective_annotations(self) -> pulumi.Output[Mapping[str, str]]:
825
+ return pulumi.get(self, "effective_annotations")
826
+
827
+ @property
828
+ @pulumi.getter
829
+ def etag(self) -> pulumi.Output[str]:
830
+ """
831
+ Optional. The etag for the policy binding. If this is provided on update, it must match the server's etag.
832
+ """
833
+ return pulumi.get(self, "etag")
834
+
835
+ @property
836
+ @pulumi.getter
837
+ def folder(self) -> pulumi.Output[str]:
838
+ """
839
+ The parent folder for the PolicyBinding.
840
+ """
841
+ return pulumi.get(self, "folder")
842
+
843
+ @property
844
+ @pulumi.getter
845
+ def location(self) -> pulumi.Output[str]:
846
+ """
847
+ The location of the PolicyBinding.
848
+ """
849
+ return pulumi.get(self, "location")
850
+
851
+ @property
852
+ @pulumi.getter
853
+ def name(self) -> pulumi.Output[str]:
854
+ """
855
+ The name of the policy binding in the format `{binding_parent/locations/{location}/policyBindings/{policy_binding_id}`
856
+ """
857
+ return pulumi.get(self, "name")
858
+
859
+ @property
860
+ @pulumi.getter
861
+ def policy(self) -> pulumi.Output[str]:
862
+ """
863
+ Required. Immutable. The resource name of the policy to be bound. The binding parent and policy must belong to the same Organization (or Project).
864
+ """
865
+ return pulumi.get(self, "policy")
866
+
867
+ @property
868
+ @pulumi.getter(name="policyBindingId")
869
+ def policy_binding_id(self) -> pulumi.Output[str]:
870
+ """
871
+ The Policy Binding ID.
872
+ """
873
+ return pulumi.get(self, "policy_binding_id")
874
+
875
+ @property
876
+ @pulumi.getter(name="policyKind")
877
+ def policy_kind(self) -> pulumi.Output[Optional[str]]:
878
+ """
879
+ Immutable. The kind of the policy to attach in this binding. This field must be one of the following: - Left empty (will
880
+ be automatically set to the policy kind) - The input policy kind Possible values: POLICY_KIND_UNSPECIFIED
881
+ PRINCIPAL_ACCESS_BOUNDARY ACCESS
882
+ """
883
+ return pulumi.get(self, "policy_kind")
884
+
885
+ @property
886
+ @pulumi.getter(name="policyUid")
887
+ def policy_uid(self) -> pulumi.Output[str]:
888
+ """
889
+ Output only. The globally unique ID of the policy to be bound.
890
+ """
891
+ return pulumi.get(self, "policy_uid")
892
+
893
+ @property
894
+ @pulumi.getter
895
+ def target(self) -> pulumi.Output['outputs.FoldersPolicyBindingTarget']:
896
+ """
897
+ Target is the full resource name of the resource to which the policy will be bound. Immutable once set.
898
+ Structure is documented below.
899
+ """
900
+ return pulumi.get(self, "target")
901
+
902
+ @property
903
+ @pulumi.getter
904
+ def uid(self) -> pulumi.Output[str]:
905
+ """
906
+ Output only. The globally unique ID of the policy binding. Assigned when the policy binding is created.
907
+ """
908
+ return pulumi.get(self, "uid")
909
+
910
+ @property
911
+ @pulumi.getter(name="updateTime")
912
+ def update_time(self) -> pulumi.Output[str]:
913
+ """
914
+ Output only. The time when the policy binding was most recently updated.
915
+ """
916
+ return pulumi.get(self, "update_time")
917
+