pulumi-gcp 7.18.0a1712687150__py3-none-any.whl → 7.19.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (343) hide show
  1. pulumi_gcp/__init__.py +11 -0
  2. pulumi_gcp/accesscontextmanager/access_policy.py +4 -4
  3. pulumi_gcp/accesscontextmanager/access_policy_iam_binding.py +136 -47
  4. pulumi_gcp/accesscontextmanager/access_policy_iam_member.py +136 -47
  5. pulumi_gcp/accesscontextmanager/access_policy_iam_policy.py +90 -84
  6. pulumi_gcp/apigateway/api_config_iam_binding.py +147 -52
  7. pulumi_gcp/apigateway/api_config_iam_member.py +147 -52
  8. pulumi_gcp/apigateway/api_config_iam_policy.py +96 -84
  9. pulumi_gcp/apigateway/api_iam_binding.py +147 -52
  10. pulumi_gcp/apigateway/api_iam_member.py +147 -52
  11. pulumi_gcp/apigateway/api_iam_policy.py +96 -84
  12. pulumi_gcp/apigateway/gateway_iam_binding.py +153 -52
  13. pulumi_gcp/apigateway/gateway_iam_member.py +153 -52
  14. pulumi_gcp/apigateway/gateway_iam_policy.py +102 -84
  15. pulumi_gcp/apigee/environment_iam_binding.py +139 -44
  16. pulumi_gcp/apigee/environment_iam_member.py +139 -44
  17. pulumi_gcp/apigee/environment_iam_policy.py +96 -84
  18. pulumi_gcp/apigee/sync_authorization.py +4 -4
  19. pulumi_gcp/applicationintegration/client.py +22 -14
  20. pulumi_gcp/artifactregistry/repository_iam_binding.py +156 -55
  21. pulumi_gcp/artifactregistry/repository_iam_member.py +156 -55
  22. pulumi_gcp/artifactregistry/repository_iam_policy.py +102 -84
  23. pulumi_gcp/bigquery/connection_iam_binding.py +158 -57
  24. pulumi_gcp/bigquery/connection_iam_member.py +158 -57
  25. pulumi_gcp/bigquery/connection_iam_policy.py +102 -84
  26. pulumi_gcp/bigquery/dataset_iam_binding.py +135 -40
  27. pulumi_gcp/bigquery/dataset_iam_member.py +135 -40
  28. pulumi_gcp/bigquery/dataset_iam_policy.py +96 -70
  29. pulumi_gcp/bigquery/iam_binding.py +283 -54
  30. pulumi_gcp/bigquery/iam_member.py +283 -54
  31. pulumi_gcp/bigquery/iam_policy.py +230 -84
  32. pulumi_gcp/bigqueryanalyticshub/data_exchange_iam_binding.py +155 -54
  33. pulumi_gcp/bigqueryanalyticshub/data_exchange_iam_member.py +155 -54
  34. pulumi_gcp/bigqueryanalyticshub/data_exchange_iam_policy.py +102 -84
  35. pulumi_gcp/bigqueryanalyticshub/listing_iam_binding.py +161 -54
  36. pulumi_gcp/bigqueryanalyticshub/listing_iam_member.py +161 -54
  37. pulumi_gcp/bigqueryanalyticshub/listing_iam_policy.py +108 -84
  38. pulumi_gcp/bigquerydatapolicy/data_policy_iam_binding.py +155 -54
  39. pulumi_gcp/bigquerydatapolicy/data_policy_iam_member.py +155 -54
  40. pulumi_gcp/bigquerydatapolicy/data_policy_iam_policy.py +102 -84
  41. pulumi_gcp/bigtable/instance_iam_binding.py +123 -32
  42. pulumi_gcp/bigtable/instance_iam_member.py +123 -32
  43. pulumi_gcp/bigtable/instance_iam_policy.py +92 -63
  44. pulumi_gcp/bigtable/table_iam_binding.py +160 -63
  45. pulumi_gcp/bigtable/table_iam_member.py +160 -63
  46. pulumi_gcp/bigtable/table_iam_policy.py +98 -63
  47. pulumi_gcp/billing/account_iam_binding.py +120 -31
  48. pulumi_gcp/billing/account_iam_member.py +120 -31
  49. pulumi_gcp/billing/account_iam_policy.py +90 -49
  50. pulumi_gcp/binaryauthorization/attestor_iam_binding.py +147 -52
  51. pulumi_gcp/binaryauthorization/attestor_iam_member.py +147 -52
  52. pulumi_gcp/binaryauthorization/attestor_iam_policy.py +96 -84
  53. pulumi_gcp/certificateauthority/ca_pool_iam_binding.py +262 -57
  54. pulumi_gcp/certificateauthority/ca_pool_iam_member.py +262 -57
  55. pulumi_gcp/certificateauthority/ca_pool_iam_policy.py +206 -84
  56. pulumi_gcp/certificateauthority/certificate_template_iam_binding.py +259 -54
  57. pulumi_gcp/certificateauthority/certificate_template_iam_member.py +259 -54
  58. pulumi_gcp/certificateauthority/certificate_template_iam_policy.py +206 -84
  59. pulumi_gcp/cloudbuildv2/connection_iam_binding.py +161 -60
  60. pulumi_gcp/cloudbuildv2/connection_iam_member.py +161 -60
  61. pulumi_gcp/cloudbuildv2/connection_iam_policy.py +102 -84
  62. pulumi_gcp/cloudfunctions/function_iam_binding.py +153 -52
  63. pulumi_gcp/cloudfunctions/function_iam_member.py +153 -52
  64. pulumi_gcp/cloudfunctions/function_iam_policy.py +102 -84
  65. pulumi_gcp/cloudfunctionsv2/function_iam_binding.py +154 -53
  66. pulumi_gcp/cloudfunctionsv2/function_iam_member.py +154 -53
  67. pulumi_gcp/cloudfunctionsv2/function_iam_policy.py +102 -84
  68. pulumi_gcp/cloudrun/iam_binding.py +155 -54
  69. pulumi_gcp/cloudrun/iam_member.py +155 -54
  70. pulumi_gcp/cloudrun/iam_policy.py +102 -84
  71. pulumi_gcp/cloudrunv2/_inputs.py +73 -0
  72. pulumi_gcp/cloudrunv2/job_iam_binding.py +161 -60
  73. pulumi_gcp/cloudrunv2/job_iam_member.py +161 -60
  74. pulumi_gcp/cloudrunv2/job_iam_policy.py +102 -84
  75. pulumi_gcp/cloudrunv2/outputs.py +126 -0
  76. pulumi_gcp/cloudrunv2/service_iam_binding.py +161 -60
  77. pulumi_gcp/cloudrunv2/service_iam_member.py +161 -60
  78. pulumi_gcp/cloudrunv2/service_iam_policy.py +102 -84
  79. pulumi_gcp/cloudtasks/queue_iam_binding.py +161 -60
  80. pulumi_gcp/cloudtasks/queue_iam_member.py +161 -60
  81. pulumi_gcp/cloudtasks/queue_iam_policy.py +102 -84
  82. pulumi_gcp/compute/_inputs.py +24 -0
  83. pulumi_gcp/compute/backend_bucket_iam_binding.py +58 -59
  84. pulumi_gcp/compute/backend_bucket_iam_member.py +58 -59
  85. pulumi_gcp/compute/backend_bucket_iam_policy.py +0 -84
  86. pulumi_gcp/compute/backend_service_iam_binding.py +60 -61
  87. pulumi_gcp/compute/backend_service_iam_member.py +60 -61
  88. pulumi_gcp/compute/backend_service_iam_policy.py +0 -84
  89. pulumi_gcp/compute/disk_iam_binding.py +160 -59
  90. pulumi_gcp/compute/disk_iam_member.py +160 -59
  91. pulumi_gcp/compute/disk_iam_policy.py +102 -84
  92. pulumi_gcp/compute/get_router_nat.py +11 -1
  93. pulumi_gcp/compute/image_iam_binding.py +271 -54
  94. pulumi_gcp/compute/image_iam_member.py +271 -54
  95. pulumi_gcp/compute/image_iam_policy.py +218 -84
  96. pulumi_gcp/compute/instance_iam_binding.py +283 -54
  97. pulumi_gcp/compute/instance_iam_member.py +283 -54
  98. pulumi_gcp/compute/instance_iam_policy.py +230 -84
  99. pulumi_gcp/compute/instance_settings.py +16 -0
  100. pulumi_gcp/compute/machine_image_iam_binding.py +271 -54
  101. pulumi_gcp/compute/machine_image_iam_member.py +271 -54
  102. pulumi_gcp/compute/machine_image_iam_policy.py +218 -84
  103. pulumi_gcp/compute/outputs.py +41 -0
  104. pulumi_gcp/compute/region_backend_service_iam_binding.py +60 -61
  105. pulumi_gcp/compute/region_backend_service_iam_member.py +60 -61
  106. pulumi_gcp/compute/region_backend_service_iam_policy.py +0 -84
  107. pulumi_gcp/compute/region_disk_iam_binding.py +160 -59
  108. pulumi_gcp/compute/region_disk_iam_member.py +160 -59
  109. pulumi_gcp/compute/region_disk_iam_policy.py +102 -84
  110. pulumi_gcp/compute/router_interface.py +47 -0
  111. pulumi_gcp/compute/router_nat.py +68 -0
  112. pulumi_gcp/compute/router_peer.py +141 -0
  113. pulumi_gcp/compute/snapshot_iam_binding.py +154 -59
  114. pulumi_gcp/compute/snapshot_iam_member.py +154 -59
  115. pulumi_gcp/compute/snapshot_iam_policy.py +96 -84
  116. pulumi_gcp/compute/subnetwork_iam_binding.py +284 -55
  117. pulumi_gcp/compute/subnetwork_iam_member.py +284 -55
  118. pulumi_gcp/compute/subnetwork_iam_policy.py +230 -84
  119. pulumi_gcp/config/__init__.pyi +2 -0
  120. pulumi_gcp/config/vars.py +4 -0
  121. pulumi_gcp/container/_inputs.py +65 -8
  122. pulumi_gcp/container/cluster.py +47 -0
  123. pulumi_gcp/container/get_cluster.py +11 -1
  124. pulumi_gcp/container/outputs.py +94 -10
  125. pulumi_gcp/containeranalysis/note_iam_binding.py +154 -59
  126. pulumi_gcp/containeranalysis/note_iam_member.py +154 -59
  127. pulumi_gcp/containeranalysis/note_iam_policy.py +96 -84
  128. pulumi_gcp/datacatalog/entry_group_iam_binding.py +141 -52
  129. pulumi_gcp/datacatalog/entry_group_iam_member.py +141 -52
  130. pulumi_gcp/datacatalog/entry_group_iam_policy.py +90 -84
  131. pulumi_gcp/datacatalog/policy_tag_iam_binding.py +133 -44
  132. pulumi_gcp/datacatalog/policy_tag_iam_member.py +133 -44
  133. pulumi_gcp/datacatalog/policy_tag_iam_policy.py +90 -84
  134. pulumi_gcp/datacatalog/tag_template_iam_binding.py +142 -53
  135. pulumi_gcp/datacatalog/tag_template_iam_member.py +142 -53
  136. pulumi_gcp/datacatalog/tag_template_iam_policy.py +90 -84
  137. pulumi_gcp/datacatalog/taxonomy_iam_binding.py +142 -53
  138. pulumi_gcp/datacatalog/taxonomy_iam_member.py +142 -53
  139. pulumi_gcp/datacatalog/taxonomy_iam_policy.py +90 -84
  140. pulumi_gcp/dataplex/asset_iam_binding.py +165 -52
  141. pulumi_gcp/dataplex/asset_iam_member.py +165 -52
  142. pulumi_gcp/dataplex/asset_iam_policy.py +114 -84
  143. pulumi_gcp/dataplex/datascan_iam_binding.py +155 -54
  144. pulumi_gcp/dataplex/datascan_iam_member.py +155 -54
  145. pulumi_gcp/dataplex/datascan_iam_policy.py +102 -84
  146. pulumi_gcp/dataplex/lake_iam_binding.py +153 -52
  147. pulumi_gcp/dataplex/lake_iam_member.py +153 -52
  148. pulumi_gcp/dataplex/lake_iam_policy.py +102 -84
  149. pulumi_gcp/dataplex/task_iam_binding.py +161 -54
  150. pulumi_gcp/dataplex/task_iam_member.py +161 -54
  151. pulumi_gcp/dataplex/task_iam_policy.py +108 -84
  152. pulumi_gcp/dataplex/zone_iam_binding.py +159 -52
  153. pulumi_gcp/dataplex/zone_iam_member.py +159 -52
  154. pulumi_gcp/dataplex/zone_iam_policy.py +108 -84
  155. pulumi_gcp/dataproc/autoscaling_policy_iam_binding.py +173 -72
  156. pulumi_gcp/dataproc/autoscaling_policy_iam_member.py +173 -72
  157. pulumi_gcp/dataproc/autoscaling_policy_iam_policy.py +102 -84
  158. pulumi_gcp/dataproc/cluster_iam_binding.py +130 -37
  159. pulumi_gcp/dataproc/cluster_iam_member.py +130 -37
  160. pulumi_gcp/dataproc/cluster_iam_policy.py +94 -63
  161. pulumi_gcp/dataproc/job_iam_binding.py +156 -0
  162. pulumi_gcp/dataproc/job_iam_member.py +156 -0
  163. pulumi_gcp/dataproc/job_iam_policy.py +94 -0
  164. pulumi_gcp/dataproc/metastore_federation_iam_binding.py +53 -54
  165. pulumi_gcp/dataproc/metastore_federation_iam_member.py +53 -54
  166. pulumi_gcp/dataproc/metastore_federation_iam_policy.py +0 -84
  167. pulumi_gcp/dataproc/metastore_service_iam_binding.py +156 -55
  168. pulumi_gcp/dataproc/metastore_service_iam_member.py +156 -55
  169. pulumi_gcp/dataproc/metastore_service_iam_policy.py +102 -84
  170. pulumi_gcp/datastore/data_store_index.py +14 -0
  171. pulumi_gcp/dns/_inputs.py +22 -22
  172. pulumi_gcp/dns/dns_managed_zone_iam_binding.py +147 -52
  173. pulumi_gcp/dns/dns_managed_zone_iam_member.py +147 -52
  174. pulumi_gcp/dns/dns_managed_zone_iam_policy.py +96 -84
  175. pulumi_gcp/dns/outputs.py +22 -22
  176. pulumi_gcp/endpoints/consumers_iam_binding.py +83 -0
  177. pulumi_gcp/endpoints/consumers_iam_member.py +83 -0
  178. pulumi_gcp/endpoints/service_iam_binding.py +173 -0
  179. pulumi_gcp/endpoints/service_iam_member.py +173 -0
  180. pulumi_gcp/endpoints/service_iam_policy.py +90 -0
  181. pulumi_gcp/firestore/_inputs.py +80 -11
  182. pulumi_gcp/firestore/backup_schedule.py +9 -9
  183. pulumi_gcp/firestore/document.py +0 -4
  184. pulumi_gcp/firestore/index.py +116 -42
  185. pulumi_gcp/firestore/outputs.py +70 -11
  186. pulumi_gcp/folder/iam_audit_config.py +270 -0
  187. pulumi_gcp/folder/iam_member.py +318 -0
  188. pulumi_gcp/folder/iam_policy.py +270 -0
  189. pulumi_gcp/gkebackup/_inputs.py +358 -3
  190. pulumi_gcp/gkebackup/backup_plan.py +294 -0
  191. pulumi_gcp/gkebackup/backup_plan_iam_binding.py +162 -61
  192. pulumi_gcp/gkebackup/backup_plan_iam_member.py +162 -61
  193. pulumi_gcp/gkebackup/backup_plan_iam_policy.py +102 -84
  194. pulumi_gcp/gkebackup/outputs.py +353 -3
  195. pulumi_gcp/gkehub/feature_iam_binding.py +161 -60
  196. pulumi_gcp/gkehub/feature_iam_member.py +161 -60
  197. pulumi_gcp/gkehub/feature_iam_policy.py +102 -84
  198. pulumi_gcp/gkehub/membership_iam_binding.py +159 -58
  199. pulumi_gcp/gkehub/membership_iam_member.py +159 -58
  200. pulumi_gcp/gkehub/membership_iam_policy.py +102 -84
  201. pulumi_gcp/gkehub/scope_iam_binding.py +147 -52
  202. pulumi_gcp/gkehub/scope_iam_member.py +147 -52
  203. pulumi_gcp/gkehub/scope_iam_policy.py +96 -84
  204. pulumi_gcp/gkeonprem/v_mware_cluster.py +49 -0
  205. pulumi_gcp/healthcare/consent_store_iam_binding.py +139 -44
  206. pulumi_gcp/healthcare/consent_store_iam_member.py +139 -44
  207. pulumi_gcp/healthcare/consent_store_iam_policy.py +96 -84
  208. pulumi_gcp/healthcare/dataset_iam_binding.py +126 -37
  209. pulumi_gcp/healthcare/dataset_iam_member.py +126 -37
  210. pulumi_gcp/healthcare/dataset_iam_policy.py +90 -63
  211. pulumi_gcp/healthcare/dicom_store_iam_binding.py +126 -37
  212. pulumi_gcp/healthcare/dicom_store_iam_member.py +126 -37
  213. pulumi_gcp/healthcare/dicom_store_iam_policy.py +90 -63
  214. pulumi_gcp/healthcare/fhir_store_iam_binding.py +121 -32
  215. pulumi_gcp/healthcare/fhir_store_iam_member.py +121 -32
  216. pulumi_gcp/healthcare/fhir_store_iam_policy.py +90 -63
  217. pulumi_gcp/healthcare/hl7_store_iam_binding.py +121 -32
  218. pulumi_gcp/healthcare/hl7_store_iam_member.py +121 -32
  219. pulumi_gcp/healthcare/hl7_store_iam_policy.py +90 -63
  220. pulumi_gcp/iap/app_engine_service_iam_binding.py +284 -55
  221. pulumi_gcp/iap/app_engine_service_iam_member.py +284 -55
  222. pulumi_gcp/iap/app_engine_service_iam_policy.py +230 -84
  223. pulumi_gcp/iap/app_engine_version_iam_binding.py +297 -56
  224. pulumi_gcp/iap/app_engine_version_iam_member.py +297 -56
  225. pulumi_gcp/iap/app_engine_version_iam_policy.py +242 -84
  226. pulumi_gcp/iap/tunnel_dest_group_iam_binding.py +283 -54
  227. pulumi_gcp/iap/tunnel_dest_group_iam_member.py +283 -54
  228. pulumi_gcp/iap/tunnel_dest_group_iam_policy.py +230 -84
  229. pulumi_gcp/iap/tunnel_iam_binding.py +259 -54
  230. pulumi_gcp/iap/tunnel_iam_member.py +259 -54
  231. pulumi_gcp/iap/tunnel_iam_policy.py +206 -84
  232. pulumi_gcp/iap/tunnel_instance_iam_binding.py +283 -54
  233. pulumi_gcp/iap/tunnel_instance_iam_member.py +283 -54
  234. pulumi_gcp/iap/tunnel_instance_iam_policy.py +230 -84
  235. pulumi_gcp/iap/web_backend_service_iam_binding.py +272 -55
  236. pulumi_gcp/iap/web_backend_service_iam_member.py +272 -55
  237. pulumi_gcp/iap/web_backend_service_iam_policy.py +218 -84
  238. pulumi_gcp/iap/web_iam_binding.py +259 -54
  239. pulumi_gcp/iap/web_iam_member.py +259 -54
  240. pulumi_gcp/iap/web_iam_policy.py +206 -84
  241. pulumi_gcp/iap/web_region_backend_service_iam_binding.py +284 -55
  242. pulumi_gcp/iap/web_region_backend_service_iam_member.py +284 -55
  243. pulumi_gcp/iap/web_region_backend_service_iam_policy.py +230 -84
  244. pulumi_gcp/iap/web_type_app_enging_iam_binding.py +271 -54
  245. pulumi_gcp/iap/web_type_app_enging_iam_member.py +271 -54
  246. pulumi_gcp/iap/web_type_app_enging_iam_policy.py +218 -84
  247. pulumi_gcp/iap/web_type_compute_iam_binding.py +259 -54
  248. pulumi_gcp/iap/web_type_compute_iam_member.py +259 -54
  249. pulumi_gcp/iap/web_type_compute_iam_policy.py +206 -84
  250. pulumi_gcp/kms/crypto_key_iam_binding.py +36 -37
  251. pulumi_gcp/kms/crypto_key_iam_member.py +36 -37
  252. pulumi_gcp/kms/crypto_key_iam_policy.py +0 -63
  253. pulumi_gcp/kms/key_ring_iam_binding.py +253 -32
  254. pulumi_gcp/kms/key_ring_iam_member.py +253 -32
  255. pulumi_gcp/kms/key_ring_iam_policy.py +222 -63
  256. pulumi_gcp/looker/instance.py +20 -30
  257. pulumi_gcp/networksecurity/address_group_iam_policy.py +0 -84
  258. pulumi_gcp/networksecurity/firewall_endpoint.py +2 -0
  259. pulumi_gcp/networksecurity/firewall_endpoint_association.py +61 -0
  260. pulumi_gcp/notebooks/instance_iam_binding.py +154 -53
  261. pulumi_gcp/notebooks/instance_iam_member.py +154 -53
  262. pulumi_gcp/notebooks/instance_iam_policy.py +102 -84
  263. pulumi_gcp/notebooks/runtime_iam_binding.py +155 -54
  264. pulumi_gcp/notebooks/runtime_iam_member.py +155 -54
  265. pulumi_gcp/notebooks/runtime_iam_policy.py +102 -84
  266. pulumi_gcp/organizations/iam_member.py +330 -0
  267. pulumi_gcp/organizations/iam_policy.py +282 -0
  268. pulumi_gcp/parallelstore/__init__.py +8 -0
  269. pulumi_gcp/parallelstore/instance.py +1128 -0
  270. pulumi_gcp/projects/iam_audit_config.py +270 -0
  271. pulumi_gcp/projects/iam_binding.py +318 -0
  272. pulumi_gcp/projects/iam_member.py +318 -0
  273. pulumi_gcp/projects/iam_policy.py +270 -0
  274. pulumi_gcp/provider.py +20 -0
  275. pulumi_gcp/pubsub/schema_iam_binding.py +148 -53
  276. pulumi_gcp/pubsub/schema_iam_member.py +148 -53
  277. pulumi_gcp/pubsub/schema_iam_policy.py +96 -84
  278. pulumi_gcp/pubsub/subscription_iam_binding.py +146 -57
  279. pulumi_gcp/pubsub/subscription_iam_member.py +146 -57
  280. pulumi_gcp/pubsub/subscription_iam_policy.py +90 -63
  281. pulumi_gcp/pubsub/topic_iam_binding.py +148 -53
  282. pulumi_gcp/pubsub/topic_iam_member.py +148 -53
  283. pulumi_gcp/pubsub/topic_iam_policy.py +96 -84
  284. pulumi_gcp/redis/cluster.py +91 -0
  285. pulumi_gcp/runtimeconfig/config_iam_binding.py +51 -52
  286. pulumi_gcp/runtimeconfig/config_iam_member.py +51 -52
  287. pulumi_gcp/runtimeconfig/config_iam_policy.py +0 -84
  288. pulumi_gcp/secretmanager/secret_iam_binding.py +147 -52
  289. pulumi_gcp/secretmanager/secret_iam_member.py +147 -52
  290. pulumi_gcp/secretmanager/secret_iam_policy.py +96 -84
  291. pulumi_gcp/serviceaccount/iam_binding.py +262 -51
  292. pulumi_gcp/serviceaccount/iam_member.py +262 -51
  293. pulumi_gcp/serviceaccount/iam_policy.py +212 -63
  294. pulumi_gcp/servicedirectory/namespace_iam_binding.py +136 -47
  295. pulumi_gcp/servicedirectory/namespace_iam_member.py +136 -47
  296. pulumi_gcp/servicedirectory/namespace_iam_policy.py +90 -84
  297. pulumi_gcp/servicedirectory/service_iam_binding.py +136 -47
  298. pulumi_gcp/servicedirectory/service_iam_member.py +136 -47
  299. pulumi_gcp/servicedirectory/service_iam_policy.py +90 -84
  300. pulumi_gcp/sourcerepo/repository_iam_binding.py +147 -52
  301. pulumi_gcp/sourcerepo/repository_iam_member.py +147 -52
  302. pulumi_gcp/sourcerepo/repository_iam_policy.py +96 -84
  303. pulumi_gcp/spanner/database_iam_binding.py +253 -32
  304. pulumi_gcp/spanner/database_iam_member.py +253 -32
  305. pulumi_gcp/spanner/database_iam_policy.py +222 -63
  306. pulumi_gcp/spanner/instance_iam_binding.py +121 -32
  307. pulumi_gcp/spanner/instance_iam_member.py +121 -32
  308. pulumi_gcp/spanner/instance_iam_policy.py +90 -63
  309. pulumi_gcp/sql/_inputs.py +16 -0
  310. pulumi_gcp/sql/outputs.py +36 -0
  311. pulumi_gcp/storage/bucket.py +28 -0
  312. pulumi_gcp/storage/bucket_iam_binding.py +255 -50
  313. pulumi_gcp/storage/bucket_iam_member.py +255 -50
  314. pulumi_gcp/storage/bucket_iam_policy.py +206 -84
  315. pulumi_gcp/storage/get_bucket.py +17 -2
  316. pulumi_gcp/tags/__init__.py +2 -0
  317. pulumi_gcp/tags/get_tag_keys.py +101 -0
  318. pulumi_gcp/tags/get_tag_values.py +101 -0
  319. pulumi_gcp/tags/outputs.py +200 -0
  320. pulumi_gcp/tags/tag_key_iam_binding.py +149 -60
  321. pulumi_gcp/tags/tag_key_iam_member.py +149 -60
  322. pulumi_gcp/tags/tag_key_iam_policy.py +90 -84
  323. pulumi_gcp/tags/tag_value_iam_binding.py +149 -60
  324. pulumi_gcp/tags/tag_value_iam_member.py +149 -60
  325. pulumi_gcp/tags/tag_value_iam_policy.py +90 -84
  326. pulumi_gcp/vertex/ai_feature_store_entity_type_iam_binding.py +33 -34
  327. pulumi_gcp/vertex/ai_feature_store_entity_type_iam_member.py +33 -34
  328. pulumi_gcp/vertex/ai_feature_store_entity_type_iam_policy.py +0 -84
  329. pulumi_gcp/vertex/ai_feature_store_iam_binding.py +51 -52
  330. pulumi_gcp/vertex/ai_feature_store_iam_member.py +51 -52
  331. pulumi_gcp/vertex/ai_feature_store_iam_policy.py +0 -84
  332. pulumi_gcp/vmwareengine/get_private_cloud.py +21 -1
  333. pulumi_gcp/vmwareengine/private_cloud.py +101 -7
  334. pulumi_gcp/workstations/workstation_config_iam_binding.py +53 -54
  335. pulumi_gcp/workstations/workstation_config_iam_member.py +53 -54
  336. pulumi_gcp/workstations/workstation_config_iam_policy.py +0 -84
  337. pulumi_gcp/workstations/workstation_iam_binding.py +53 -54
  338. pulumi_gcp/workstations/workstation_iam_member.py +53 -54
  339. pulumi_gcp/workstations/workstation_iam_policy.py +0 -84
  340. {pulumi_gcp-7.18.0a1712687150.dist-info → pulumi_gcp-7.19.0.dist-info}/METADATA +1 -1
  341. {pulumi_gcp-7.18.0a1712687150.dist-info → pulumi_gcp-7.19.0.dist-info}/RECORD +343 -339
  342. {pulumi_gcp-7.18.0a1712687150.dist-info → pulumi_gcp-7.19.0.dist-info}/WHEEL +0 -0
  343. {pulumi_gcp-7.18.0a1712687150.dist-info → pulumi_gcp-7.19.0.dist-info}/top_level.txt +0 -0
@@ -401,6 +401,7 @@ class _BucketState:
401
401
  logging: Optional[pulumi.Input['BucketLoggingArgs']] = None,
402
402
  name: Optional[pulumi.Input[str]] = None,
403
403
  project: Optional[pulumi.Input[str]] = None,
404
+ project_number: Optional[pulumi.Input[int]] = None,
404
405
  public_access_prevention: Optional[pulumi.Input[str]] = None,
405
406
  pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
406
407
  requester_pays: Optional[pulumi.Input[bool]] = None,
@@ -435,6 +436,7 @@ class _BucketState:
435
436
  :param pulumi.Input[str] name: The name of the bucket.
436
437
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs. If it
437
438
  is not provided, the provider project is used.
439
+ :param pulumi.Input[int] project_number: The project number of the project in which the resource belongs.
438
440
  :param pulumi.Input[str] public_access_prevention: Prevents public access to a bucket. Acceptable values are "inherited" or "enforced". If "inherited", the bucket uses [public access prevention](https://cloud.google.com/storage/docs/public-access-prevention). only if the bucket is subject to the public access prevention organization policy constraint. Defaults to "inherited".
439
441
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource and default labels configured on the provider.
440
442
  :param pulumi.Input[bool] requester_pays: Enables [Requester Pays](https://cloud.google.com/storage/docs/requester-pays) on a storage bucket.
@@ -477,6 +479,8 @@ class _BucketState:
477
479
  pulumi.set(__self__, "name", name)
478
480
  if project is not None:
479
481
  pulumi.set(__self__, "project", project)
482
+ if project_number is not None:
483
+ pulumi.set(__self__, "project_number", project_number)
480
484
  if public_access_prevention is not None:
481
485
  pulumi.set(__self__, "public_access_prevention", public_access_prevention)
482
486
  if pulumi_labels is not None:
@@ -676,6 +680,18 @@ class _BucketState:
676
680
  def project(self, value: Optional[pulumi.Input[str]]):
677
681
  pulumi.set(self, "project", value)
678
682
 
683
+ @property
684
+ @pulumi.getter(name="projectNumber")
685
+ def project_number(self) -> Optional[pulumi.Input[int]]:
686
+ """
687
+ The project number of the project in which the resource belongs.
688
+ """
689
+ return pulumi.get(self, "project_number")
690
+
691
+ @project_number.setter
692
+ def project_number(self, value: Optional[pulumi.Input[int]]):
693
+ pulumi.set(self, "project_number", value)
694
+
679
695
  @property
680
696
  @pulumi.getter(name="publicAccessPrevention")
681
697
  def public_access_prevention(self) -> Optional[pulumi.Input[str]]:
@@ -1202,6 +1218,7 @@ class Bucket(pulumi.CustomResource):
1202
1218
  __props__.__dict__["versioning"] = versioning
1203
1219
  __props__.__dict__["website"] = website
1204
1220
  __props__.__dict__["effective_labels"] = None
1221
+ __props__.__dict__["project_number"] = None
1205
1222
  __props__.__dict__["pulumi_labels"] = None
1206
1223
  __props__.__dict__["self_link"] = None
1207
1224
  __props__.__dict__["url"] = None
@@ -1231,6 +1248,7 @@ class Bucket(pulumi.CustomResource):
1231
1248
  logging: Optional[pulumi.Input[pulumi.InputType['BucketLoggingArgs']]] = None,
1232
1249
  name: Optional[pulumi.Input[str]] = None,
1233
1250
  project: Optional[pulumi.Input[str]] = None,
1251
+ project_number: Optional[pulumi.Input[int]] = None,
1234
1252
  public_access_prevention: Optional[pulumi.Input[str]] = None,
1235
1253
  pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
1236
1254
  requester_pays: Optional[pulumi.Input[bool]] = None,
@@ -1270,6 +1288,7 @@ class Bucket(pulumi.CustomResource):
1270
1288
  :param pulumi.Input[str] name: The name of the bucket.
1271
1289
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs. If it
1272
1290
  is not provided, the provider project is used.
1291
+ :param pulumi.Input[int] project_number: The project number of the project in which the resource belongs.
1273
1292
  :param pulumi.Input[str] public_access_prevention: Prevents public access to a bucket. Acceptable values are "inherited" or "enforced". If "inherited", the bucket uses [public access prevention](https://cloud.google.com/storage/docs/public-access-prevention). only if the bucket is subject to the public access prevention organization policy constraint. Defaults to "inherited".
1274
1293
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource and default labels configured on the provider.
1275
1294
  :param pulumi.Input[bool] requester_pays: Enables [Requester Pays](https://cloud.google.com/storage/docs/requester-pays) on a storage bucket.
@@ -1302,6 +1321,7 @@ class Bucket(pulumi.CustomResource):
1302
1321
  __props__.__dict__["logging"] = logging
1303
1322
  __props__.__dict__["name"] = name
1304
1323
  __props__.__dict__["project"] = project
1324
+ __props__.__dict__["project_number"] = project_number
1305
1325
  __props__.__dict__["public_access_prevention"] = public_access_prevention
1306
1326
  __props__.__dict__["pulumi_labels"] = pulumi_labels
1307
1327
  __props__.__dict__["requester_pays"] = requester_pays
@@ -1434,6 +1454,14 @@ class Bucket(pulumi.CustomResource):
1434
1454
  """
1435
1455
  return pulumi.get(self, "project")
1436
1456
 
1457
+ @property
1458
+ @pulumi.getter(name="projectNumber")
1459
+ def project_number(self) -> pulumi.Output[int]:
1460
+ """
1461
+ The project number of the project in which the resource belongs.
1462
+ """
1463
+ return pulumi.get(self, "project_number")
1464
+
1437
1465
  @property
1438
1466
  @pulumi.getter(name="publicAccessPrevention")
1439
1467
  def public_access_prevention(self) -> pulumi.Output[str]:
@@ -23,8 +23,7 @@ class BucketIAMBindingArgs:
23
23
  """
24
24
  The set of arguments for constructing a BucketIAMBinding resource.
25
25
  :param pulumi.Input[str] bucket: Used to find the parent resource to bind the IAM policy to
26
-
27
- * `member/members` - (Required) Identities that will be granted the privilege in `role`.
26
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] members: Identities that will be granted the privilege in `role`.
28
27
  Each entry can have one of the following values:
29
28
  * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
30
29
  * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
@@ -52,8 +51,18 @@ class BucketIAMBindingArgs:
52
51
  def bucket(self) -> pulumi.Input[str]:
53
52
  """
54
53
  Used to find the parent resource to bind the IAM policy to
54
+ """
55
+ return pulumi.get(self, "bucket")
55
56
 
56
- * `member/members` - (Required) Identities that will be granted the privilege in `role`.
57
+ @bucket.setter
58
+ def bucket(self, value: pulumi.Input[str]):
59
+ pulumi.set(self, "bucket", value)
60
+
61
+ @property
62
+ @pulumi.getter
63
+ def members(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]:
64
+ """
65
+ Identities that will be granted the privilege in `role`.
57
66
  Each entry can have one of the following values:
58
67
  * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
59
68
  * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
@@ -65,15 +74,6 @@ class BucketIAMBindingArgs:
65
74
  * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
66
75
  * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
67
76
  """
68
- return pulumi.get(self, "bucket")
69
-
70
- @bucket.setter
71
- def bucket(self, value: pulumi.Input[str]):
72
- pulumi.set(self, "bucket", value)
73
-
74
- @property
75
- @pulumi.getter
76
- def members(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]:
77
77
  return pulumi.get(self, "members")
78
78
 
79
79
  @members.setter
@@ -119,8 +119,10 @@ class _BucketIAMBindingState:
119
119
  """
120
120
  Input properties used for looking up and filtering BucketIAMBinding resources.
121
121
  :param pulumi.Input[str] bucket: Used to find the parent resource to bind the IAM policy to
122
-
123
- * `member/members` - (Required) Identities that will be granted the privilege in `role`.
122
+ :param pulumi.Input['BucketIAMBindingConditionArgs'] condition: An [IAM Condition](https://cloud.google.com/iam/docs/conditions-overview) for a given binding.
123
+ Structure is documented below.
124
+ :param pulumi.Input[str] etag: (Computed) The etag of the IAM policy.
125
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] members: Identities that will be granted the privilege in `role`.
124
126
  Each entry can have one of the following values:
125
127
  * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
126
128
  * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
@@ -131,9 +133,6 @@ class _BucketIAMBindingState:
131
133
  * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
132
134
  * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
133
135
  * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
134
- :param pulumi.Input['BucketIAMBindingConditionArgs'] condition: An [IAM Condition](https://cloud.google.com/iam/docs/conditions-overview) for a given binding.
135
- Structure is documented below.
136
- :param pulumi.Input[str] etag: (Computed) The etag of the IAM policy.
137
136
  :param pulumi.Input[str] role: The role that should be applied. Only one
138
137
  `storage.BucketIAMBinding` can be used per role. Note that custom roles must be of the format
139
138
  `[projects|organizations]/{parent-name}/roles/{role-name}`.
@@ -154,18 +153,6 @@ class _BucketIAMBindingState:
154
153
  def bucket(self) -> Optional[pulumi.Input[str]]:
155
154
  """
156
155
  Used to find the parent resource to bind the IAM policy to
157
-
158
- * `member/members` - (Required) Identities that will be granted the privilege in `role`.
159
- Each entry can have one of the following values:
160
- * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
161
- * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
162
- * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
163
- * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
164
- * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
165
- * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
166
- * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
167
- * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
168
- * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
169
156
  """
170
157
  return pulumi.get(self, "bucket")
171
158
 
@@ -201,6 +188,19 @@ class _BucketIAMBindingState:
201
188
  @property
202
189
  @pulumi.getter
203
190
  def members(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
191
+ """
192
+ Identities that will be granted the privilege in `role`.
193
+ Each entry can have one of the following values:
194
+ * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
195
+ * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
196
+ * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
197
+ * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
198
+ * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
199
+ * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
200
+ * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
201
+ * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
202
+ * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
203
+ """
204
204
  return pulumi.get(self, "members")
205
205
 
206
206
  @members.setter
@@ -352,6 +352,109 @@ class BucketIAMBinding(pulumi.CustomResource):
352
352
  ```
353
353
  <!--End PulumiCodeChooser -->
354
354
 
355
+ ## google\\_storage\\_bucket\\_iam\\_policy
356
+
357
+ <!--Start PulumiCodeChooser -->
358
+ ```python
359
+ import pulumi
360
+ import pulumi_gcp as gcp
361
+
362
+ admin = gcp.organizations.get_iam_policy(bindings=[gcp.organizations.GetIAMPolicyBindingArgs(
363
+ role="roles/storage.admin",
364
+ members=["user:jane@example.com"],
365
+ )])
366
+ policy = gcp.storage.BucketIAMPolicy("policy",
367
+ bucket=default["name"],
368
+ policy_data=admin.policy_data)
369
+ ```
370
+ <!--End PulumiCodeChooser -->
371
+
372
+ With IAM Conditions:
373
+
374
+ <!--Start PulumiCodeChooser -->
375
+ ```python
376
+ import pulumi
377
+ import pulumi_gcp as gcp
378
+
379
+ admin = gcp.organizations.get_iam_policy(bindings=[gcp.organizations.GetIAMPolicyBindingArgs(
380
+ role="roles/storage.admin",
381
+ members=["user:jane@example.com"],
382
+ condition=gcp.organizations.GetIAMPolicyBindingConditionArgs(
383
+ title="expires_after_2019_12_31",
384
+ description="Expiring at midnight of 2019-12-31",
385
+ expression="request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
386
+ ),
387
+ )])
388
+ policy = gcp.storage.BucketIAMPolicy("policy",
389
+ bucket=default["name"],
390
+ policy_data=admin.policy_data)
391
+ ```
392
+ <!--End PulumiCodeChooser -->
393
+ ## google\\_storage\\_bucket\\_iam\\_binding
394
+
395
+ <!--Start PulumiCodeChooser -->
396
+ ```python
397
+ import pulumi
398
+ import pulumi_gcp as gcp
399
+
400
+ binding = gcp.storage.BucketIAMBinding("binding",
401
+ bucket=default["name"],
402
+ role="roles/storage.admin",
403
+ members=["user:jane@example.com"])
404
+ ```
405
+ <!--End PulumiCodeChooser -->
406
+
407
+ With IAM Conditions:
408
+
409
+ <!--Start PulumiCodeChooser -->
410
+ ```python
411
+ import pulumi
412
+ import pulumi_gcp as gcp
413
+
414
+ binding = gcp.storage.BucketIAMBinding("binding",
415
+ bucket=default["name"],
416
+ role="roles/storage.admin",
417
+ members=["user:jane@example.com"],
418
+ condition=gcp.storage.BucketIAMBindingConditionArgs(
419
+ title="expires_after_2019_12_31",
420
+ description="Expiring at midnight of 2019-12-31",
421
+ expression="request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
422
+ ))
423
+ ```
424
+ <!--End PulumiCodeChooser -->
425
+ ## google\\_storage\\_bucket\\_iam\\_member
426
+
427
+ <!--Start PulumiCodeChooser -->
428
+ ```python
429
+ import pulumi
430
+ import pulumi_gcp as gcp
431
+
432
+ member = gcp.storage.BucketIAMMember("member",
433
+ bucket=default["name"],
434
+ role="roles/storage.admin",
435
+ member="user:jane@example.com")
436
+ ```
437
+ <!--End PulumiCodeChooser -->
438
+
439
+ With IAM Conditions:
440
+
441
+ <!--Start PulumiCodeChooser -->
442
+ ```python
443
+ import pulumi
444
+ import pulumi_gcp as gcp
445
+
446
+ member = gcp.storage.BucketIAMMember("member",
447
+ bucket=default["name"],
448
+ role="roles/storage.admin",
449
+ member="user:jane@example.com",
450
+ condition=gcp.storage.BucketIAMMemberConditionArgs(
451
+ title="expires_after_2019_12_31",
452
+ description="Expiring at midnight of 2019-12-31",
453
+ expression="request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
454
+ ))
455
+ ```
456
+ <!--End PulumiCodeChooser -->
457
+
355
458
  ## Import
356
459
 
357
460
  For all import syntaxes, the "resource in question" can take any of the following forms:
@@ -389,8 +492,9 @@ class BucketIAMBinding(pulumi.CustomResource):
389
492
  :param str resource_name: The name of the resource.
390
493
  :param pulumi.ResourceOptions opts: Options for the resource.
391
494
  :param pulumi.Input[str] bucket: Used to find the parent resource to bind the IAM policy to
392
-
393
- * `member/members` - (Required) Identities that will be granted the privilege in `role`.
495
+ :param pulumi.Input[pulumi.InputType['BucketIAMBindingConditionArgs']] condition: An [IAM Condition](https://cloud.google.com/iam/docs/conditions-overview) for a given binding.
496
+ Structure is documented below.
497
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] members: Identities that will be granted the privilege in `role`.
394
498
  Each entry can have one of the following values:
395
499
  * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
396
500
  * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
@@ -401,8 +505,6 @@ class BucketIAMBinding(pulumi.CustomResource):
401
505
  * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
402
506
  * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
403
507
  * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
404
- :param pulumi.Input[pulumi.InputType['BucketIAMBindingConditionArgs']] condition: An [IAM Condition](https://cloud.google.com/iam/docs/conditions-overview) for a given binding.
405
- Structure is documented below.
406
508
  :param pulumi.Input[str] role: The role that should be applied. Only one
407
509
  `storage.BucketIAMBinding` can be used per role. Note that custom roles must be of the format
408
510
  `[projects|organizations]/{parent-name}/roles/{role-name}`.
@@ -533,6 +635,109 @@ class BucketIAMBinding(pulumi.CustomResource):
533
635
  ```
534
636
  <!--End PulumiCodeChooser -->
535
637
 
638
+ ## google\\_storage\\_bucket\\_iam\\_policy
639
+
640
+ <!--Start PulumiCodeChooser -->
641
+ ```python
642
+ import pulumi
643
+ import pulumi_gcp as gcp
644
+
645
+ admin = gcp.organizations.get_iam_policy(bindings=[gcp.organizations.GetIAMPolicyBindingArgs(
646
+ role="roles/storage.admin",
647
+ members=["user:jane@example.com"],
648
+ )])
649
+ policy = gcp.storage.BucketIAMPolicy("policy",
650
+ bucket=default["name"],
651
+ policy_data=admin.policy_data)
652
+ ```
653
+ <!--End PulumiCodeChooser -->
654
+
655
+ With IAM Conditions:
656
+
657
+ <!--Start PulumiCodeChooser -->
658
+ ```python
659
+ import pulumi
660
+ import pulumi_gcp as gcp
661
+
662
+ admin = gcp.organizations.get_iam_policy(bindings=[gcp.organizations.GetIAMPolicyBindingArgs(
663
+ role="roles/storage.admin",
664
+ members=["user:jane@example.com"],
665
+ condition=gcp.organizations.GetIAMPolicyBindingConditionArgs(
666
+ title="expires_after_2019_12_31",
667
+ description="Expiring at midnight of 2019-12-31",
668
+ expression="request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
669
+ ),
670
+ )])
671
+ policy = gcp.storage.BucketIAMPolicy("policy",
672
+ bucket=default["name"],
673
+ policy_data=admin.policy_data)
674
+ ```
675
+ <!--End PulumiCodeChooser -->
676
+ ## google\\_storage\\_bucket\\_iam\\_binding
677
+
678
+ <!--Start PulumiCodeChooser -->
679
+ ```python
680
+ import pulumi
681
+ import pulumi_gcp as gcp
682
+
683
+ binding = gcp.storage.BucketIAMBinding("binding",
684
+ bucket=default["name"],
685
+ role="roles/storage.admin",
686
+ members=["user:jane@example.com"])
687
+ ```
688
+ <!--End PulumiCodeChooser -->
689
+
690
+ With IAM Conditions:
691
+
692
+ <!--Start PulumiCodeChooser -->
693
+ ```python
694
+ import pulumi
695
+ import pulumi_gcp as gcp
696
+
697
+ binding = gcp.storage.BucketIAMBinding("binding",
698
+ bucket=default["name"],
699
+ role="roles/storage.admin",
700
+ members=["user:jane@example.com"],
701
+ condition=gcp.storage.BucketIAMBindingConditionArgs(
702
+ title="expires_after_2019_12_31",
703
+ description="Expiring at midnight of 2019-12-31",
704
+ expression="request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
705
+ ))
706
+ ```
707
+ <!--End PulumiCodeChooser -->
708
+ ## google\\_storage\\_bucket\\_iam\\_member
709
+
710
+ <!--Start PulumiCodeChooser -->
711
+ ```python
712
+ import pulumi
713
+ import pulumi_gcp as gcp
714
+
715
+ member = gcp.storage.BucketIAMMember("member",
716
+ bucket=default["name"],
717
+ role="roles/storage.admin",
718
+ member="user:jane@example.com")
719
+ ```
720
+ <!--End PulumiCodeChooser -->
721
+
722
+ With IAM Conditions:
723
+
724
+ <!--Start PulumiCodeChooser -->
725
+ ```python
726
+ import pulumi
727
+ import pulumi_gcp as gcp
728
+
729
+ member = gcp.storage.BucketIAMMember("member",
730
+ bucket=default["name"],
731
+ role="roles/storage.admin",
732
+ member="user:jane@example.com",
733
+ condition=gcp.storage.BucketIAMMemberConditionArgs(
734
+ title="expires_after_2019_12_31",
735
+ description="Expiring at midnight of 2019-12-31",
736
+ expression="request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
737
+ ))
738
+ ```
739
+ <!--End PulumiCodeChooser -->
740
+
536
741
  ## Import
537
742
 
538
743
  For all import syntaxes, the "resource in question" can take any of the following forms:
@@ -629,8 +834,10 @@ class BucketIAMBinding(pulumi.CustomResource):
629
834
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
630
835
  :param pulumi.ResourceOptions opts: Options for the resource.
631
836
  :param pulumi.Input[str] bucket: Used to find the parent resource to bind the IAM policy to
632
-
633
- * `member/members` - (Required) Identities that will be granted the privilege in `role`.
837
+ :param pulumi.Input[pulumi.InputType['BucketIAMBindingConditionArgs']] condition: An [IAM Condition](https://cloud.google.com/iam/docs/conditions-overview) for a given binding.
838
+ Structure is documented below.
839
+ :param pulumi.Input[str] etag: (Computed) The etag of the IAM policy.
840
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] members: Identities that will be granted the privilege in `role`.
634
841
  Each entry can have one of the following values:
635
842
  * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
636
843
  * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
@@ -641,9 +848,6 @@ class BucketIAMBinding(pulumi.CustomResource):
641
848
  * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
642
849
  * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
643
850
  * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
644
- :param pulumi.Input[pulumi.InputType['BucketIAMBindingConditionArgs']] condition: An [IAM Condition](https://cloud.google.com/iam/docs/conditions-overview) for a given binding.
645
- Structure is documented below.
646
- :param pulumi.Input[str] etag: (Computed) The etag of the IAM policy.
647
851
  :param pulumi.Input[str] role: The role that should be applied. Only one
648
852
  `storage.BucketIAMBinding` can be used per role. Note that custom roles must be of the format
649
853
  `[projects|organizations]/{parent-name}/roles/{role-name}`.
@@ -664,18 +868,6 @@ class BucketIAMBinding(pulumi.CustomResource):
664
868
  def bucket(self) -> pulumi.Output[str]:
665
869
  """
666
870
  Used to find the parent resource to bind the IAM policy to
667
-
668
- * `member/members` - (Required) Identities that will be granted the privilege in `role`.
669
- Each entry can have one of the following values:
670
- * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
671
- * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
672
- * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
673
- * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
674
- * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
675
- * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
676
- * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
677
- * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
678
- * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
679
871
  """
680
872
  return pulumi.get(self, "bucket")
681
873
 
@@ -699,6 +891,19 @@ class BucketIAMBinding(pulumi.CustomResource):
699
891
  @property
700
892
  @pulumi.getter
701
893
  def members(self) -> pulumi.Output[Sequence[str]]:
894
+ """
895
+ Identities that will be granted the privilege in `role`.
896
+ Each entry can have one of the following values:
897
+ * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
898
+ * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
899
+ * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
900
+ * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
901
+ * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
902
+ * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
903
+ * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
904
+ * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
905
+ * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
906
+ """
702
907
  return pulumi.get(self, "members")
703
908
 
704
909
  @property