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
@@ -26,18 +26,6 @@ class RuntimeIamPolicyArgs:
26
26
  :param pulumi.Input[str] location: A reference to the zone where the machine resides. Used to find the parent resource to bind the IAM policy to
27
27
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
28
28
  If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
29
-
30
- * `member/members` - (Required) Identities that will be granted the privilege in `role`.
31
- Each entry can have one of the following values:
32
- * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
33
- * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
34
- * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
35
- * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
36
- * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
37
- * **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.
38
- * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
39
- * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
40
- * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
41
29
  """
42
30
  pulumi.set(__self__, "policy_data", policy_data)
43
31
  pulumi.set(__self__, "runtime_name", runtime_name)
@@ -89,18 +77,6 @@ class RuntimeIamPolicyArgs:
89
77
  """
90
78
  The ID of the project in which the resource belongs.
91
79
  If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
92
-
93
- * `member/members` - (Required) Identities that will be granted the privilege in `role`.
94
- Each entry can have one of the following values:
95
- * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
96
- * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
97
- * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
98
- * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
99
- * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
100
- * **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.
101
- * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
102
- * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
103
- * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
104
80
  """
105
81
  return pulumi.get(self, "project")
106
82
 
@@ -125,18 +101,6 @@ class _RuntimeIamPolicyState:
125
101
  a `organizations_get_iam_policy` data source.
126
102
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
127
103
  If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
128
-
129
- * `member/members` - (Required) Identities that will be granted the privilege in `role`.
130
- Each entry can have one of the following values:
131
- * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
132
- * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
133
- * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
134
- * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
135
- * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
136
- * **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.
137
- * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
138
- * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
139
- * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
140
104
  :param pulumi.Input[str] runtime_name: Used to find the parent resource to bind the IAM policy to
141
105
  """
142
106
  if etag is not None:
@@ -193,18 +157,6 @@ class _RuntimeIamPolicyState:
193
157
  """
194
158
  The ID of the project in which the resource belongs.
195
159
  If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
196
-
197
- * `member/members` - (Required) Identities that will be granted the privilege in `role`.
198
- Each entry can have one of the following values:
199
- * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
200
- * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
201
- * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
202
- * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
203
- * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
204
- * **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.
205
- * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
206
- * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
207
- * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
208
160
  """
209
161
  return pulumi.get(self, "project")
210
162
 
@@ -301,6 +253,57 @@ class RuntimeIamPolicy(pulumi.CustomResource):
301
253
  ```
302
254
  <!--End PulumiCodeChooser -->
303
255
 
256
+ ## google\\_notebooks\\_runtime\\_iam\\_policy
257
+
258
+ <!--Start PulumiCodeChooser -->
259
+ ```python
260
+ import pulumi
261
+ import pulumi_gcp as gcp
262
+
263
+ admin = gcp.organizations.get_iam_policy(bindings=[gcp.organizations.GetIAMPolicyBindingArgs(
264
+ role="roles/viewer",
265
+ members=["user:jane@example.com"],
266
+ )])
267
+ policy = gcp.notebooks.RuntimeIamPolicy("policy",
268
+ project=runtime["project"],
269
+ location=runtime["location"],
270
+ runtime_name=runtime["name"],
271
+ policy_data=admin.policy_data)
272
+ ```
273
+ <!--End PulumiCodeChooser -->
274
+
275
+ ## google\\_notebooks\\_runtime\\_iam\\_binding
276
+
277
+ <!--Start PulumiCodeChooser -->
278
+ ```python
279
+ import pulumi
280
+ import pulumi_gcp as gcp
281
+
282
+ binding = gcp.notebooks.RuntimeIamBinding("binding",
283
+ project=runtime["project"],
284
+ location=runtime["location"],
285
+ runtime_name=runtime["name"],
286
+ role="roles/viewer",
287
+ members=["user:jane@example.com"])
288
+ ```
289
+ <!--End PulumiCodeChooser -->
290
+
291
+ ## google\\_notebooks\\_runtime\\_iam\\_member
292
+
293
+ <!--Start PulumiCodeChooser -->
294
+ ```python
295
+ import pulumi
296
+ import pulumi_gcp as gcp
297
+
298
+ member = gcp.notebooks.RuntimeIamMember("member",
299
+ project=runtime["project"],
300
+ location=runtime["location"],
301
+ runtime_name=runtime["name"],
302
+ role="roles/viewer",
303
+ member="user:jane@example.com")
304
+ ```
305
+ <!--End PulumiCodeChooser -->
306
+
304
307
  ## Import
305
308
 
306
309
  For all import syntaxes, the "resource in question" can take any of the following forms:
@@ -346,18 +349,6 @@ class RuntimeIamPolicy(pulumi.CustomResource):
346
349
  a `organizations_get_iam_policy` data source.
347
350
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
348
351
  If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
349
-
350
- * `member/members` - (Required) Identities that will be granted the privilege in `role`.
351
- Each entry can have one of the following values:
352
- * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
353
- * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
354
- * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
355
- * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
356
- * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
357
- * **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.
358
- * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
359
- * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
360
- * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
361
352
  :param pulumi.Input[str] runtime_name: Used to find the parent resource to bind the IAM policy to
362
353
  """
363
354
  ...
@@ -432,6 +423,57 @@ class RuntimeIamPolicy(pulumi.CustomResource):
432
423
  ```
433
424
  <!--End PulumiCodeChooser -->
434
425
 
426
+ ## google\\_notebooks\\_runtime\\_iam\\_policy
427
+
428
+ <!--Start PulumiCodeChooser -->
429
+ ```python
430
+ import pulumi
431
+ import pulumi_gcp as gcp
432
+
433
+ admin = gcp.organizations.get_iam_policy(bindings=[gcp.organizations.GetIAMPolicyBindingArgs(
434
+ role="roles/viewer",
435
+ members=["user:jane@example.com"],
436
+ )])
437
+ policy = gcp.notebooks.RuntimeIamPolicy("policy",
438
+ project=runtime["project"],
439
+ location=runtime["location"],
440
+ runtime_name=runtime["name"],
441
+ policy_data=admin.policy_data)
442
+ ```
443
+ <!--End PulumiCodeChooser -->
444
+
445
+ ## google\\_notebooks\\_runtime\\_iam\\_binding
446
+
447
+ <!--Start PulumiCodeChooser -->
448
+ ```python
449
+ import pulumi
450
+ import pulumi_gcp as gcp
451
+
452
+ binding = gcp.notebooks.RuntimeIamBinding("binding",
453
+ project=runtime["project"],
454
+ location=runtime["location"],
455
+ runtime_name=runtime["name"],
456
+ role="roles/viewer",
457
+ members=["user:jane@example.com"])
458
+ ```
459
+ <!--End PulumiCodeChooser -->
460
+
461
+ ## google\\_notebooks\\_runtime\\_iam\\_member
462
+
463
+ <!--Start PulumiCodeChooser -->
464
+ ```python
465
+ import pulumi
466
+ import pulumi_gcp as gcp
467
+
468
+ member = gcp.notebooks.RuntimeIamMember("member",
469
+ project=runtime["project"],
470
+ location=runtime["location"],
471
+ runtime_name=runtime["name"],
472
+ role="roles/viewer",
473
+ member="user:jane@example.com")
474
+ ```
475
+ <!--End PulumiCodeChooser -->
476
+
435
477
  ## Import
436
478
 
437
479
  For all import syntaxes, the "resource in question" can take any of the following forms:
@@ -535,18 +577,6 @@ class RuntimeIamPolicy(pulumi.CustomResource):
535
577
  a `organizations_get_iam_policy` data source.
536
578
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
537
579
  If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
538
-
539
- * `member/members` - (Required) Identities that will be granted the privilege in `role`.
540
- Each entry can have one of the following values:
541
- * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
542
- * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
543
- * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
544
- * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
545
- * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
546
- * **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.
547
- * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
548
- * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
549
- * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
550
580
  :param pulumi.Input[str] runtime_name: Used to find the parent resource to bind the IAM policy to
551
581
  """
552
582
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
@@ -591,18 +621,6 @@ class RuntimeIamPolicy(pulumi.CustomResource):
591
621
  """
592
622
  The ID of the project in which the resource belongs.
593
623
  If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
594
-
595
- * `member/members` - (Required) Identities that will be granted the privilege in `role`.
596
- Each entry can have one of the following values:
597
- * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
598
- * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
599
- * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
600
- * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
601
- * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
602
- * **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.
603
- * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
604
- * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
605
- * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
606
624
  """
607
625
  return pulumi.get(self, "project")
608
626
 
@@ -22,6 +22,12 @@ class IAMMemberArgs:
22
22
  condition: Optional[pulumi.Input['IAMMemberConditionArgs']] = None):
23
23
  """
24
24
  The set of arguments for constructing a IAMMember resource.
25
+ :param pulumi.Input[str] member: Identities that will be granted the privilege in `role`.
26
+ Each entry can have one of the following values:
27
+ * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
28
+ * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
29
+ * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
30
+ * **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.
25
31
  :param pulumi.Input[str] org_id: The organization id of the target organization.
26
32
  :param pulumi.Input[str] role: The role that should be applied. Only one
27
33
  `organizations.IAMBinding` can be used per role. Note that custom roles must be of the format
@@ -38,6 +44,14 @@ class IAMMemberArgs:
38
44
  @property
39
45
  @pulumi.getter
40
46
  def member(self) -> pulumi.Input[str]:
47
+ """
48
+ Identities that will be granted the privilege in `role`.
49
+ Each entry can have one of the following values:
50
+ * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
51
+ * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
52
+ * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
53
+ * **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.
54
+ """
41
55
  return pulumi.get(self, "member")
42
56
 
43
57
  @member.setter
@@ -97,6 +111,12 @@ class _IAMMemberState:
97
111
  :param pulumi.Input['IAMMemberConditionArgs'] condition: An [IAM Condition](https://cloud.google.com/iam/docs/conditions-overview) for a given binding.
98
112
  Structure is documented below.
99
113
  :param pulumi.Input[str] etag: (Computed) The etag of the organization's IAM policy.
114
+ :param pulumi.Input[str] member: Identities that will be granted the privilege in `role`.
115
+ Each entry can have one of the following values:
116
+ * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
117
+ * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
118
+ * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
119
+ * **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.
100
120
  :param pulumi.Input[str] org_id: The organization id of the target organization.
101
121
  :param pulumi.Input[str] role: The role that should be applied. Only one
102
122
  `organizations.IAMBinding` can be used per role. Note that custom roles must be of the format
@@ -141,6 +161,14 @@ class _IAMMemberState:
141
161
  @property
142
162
  @pulumi.getter
143
163
  def member(self) -> Optional[pulumi.Input[str]]:
164
+ """
165
+ Identities that will be granted the privilege in `role`.
166
+ Each entry can have one of the following values:
167
+ * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
168
+ * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
169
+ * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
170
+ * **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.
171
+ """
144
172
  return pulumi.get(self, "member")
145
173
 
146
174
  @member.setter
@@ -337,6 +365,147 @@ class IAMMember(pulumi.CustomResource):
337
365
  ```
338
366
  <!--End PulumiCodeChooser -->
339
367
 
368
+ ## google\\_organization\\_iam\\_policy
369
+
370
+ !> **Warning:** New organizations have several default policies which will,
371
+ without extreme caution, be **overwritten** by use of this resource.
372
+ The safest alternative is to use multiple `organizations.IAMBinding`
373
+ resources. This resource makes it easy to remove your own access to
374
+ an organization, which will require a call to Google Support to have
375
+ fixed, and can take multiple days to resolve.
376
+
377
+ In general, this resource should only be used with organizations
378
+ fully managed by this provider.I f you do use this resource,
379
+ the best way to be sure that you are not making dangerous changes is to start
380
+ by **importing** your existing policy, and examining the diff very closely.
381
+
382
+ <!--Start PulumiCodeChooser -->
383
+ ```python
384
+ import pulumi
385
+ import pulumi_gcp as gcp
386
+
387
+ admin = gcp.organizations.get_iam_policy(bindings=[gcp.organizations.GetIAMPolicyBindingArgs(
388
+ role="roles/editor",
389
+ members=["user:jane@example.com"],
390
+ )])
391
+ organization = gcp.organizations.IAMPolicy("organization",
392
+ org_id="1234567890",
393
+ policy_data=admin.policy_data)
394
+ ```
395
+ <!--End PulumiCodeChooser -->
396
+
397
+ With IAM Conditions:
398
+
399
+ <!--Start PulumiCodeChooser -->
400
+ ```python
401
+ import pulumi
402
+ import pulumi_gcp as gcp
403
+
404
+ admin = gcp.organizations.get_iam_policy(bindings=[gcp.organizations.GetIAMPolicyBindingArgs(
405
+ role="roles/editor",
406
+ members=["user:jane@example.com"],
407
+ condition=gcp.organizations.GetIAMPolicyBindingConditionArgs(
408
+ title="expires_after_2019_12_31",
409
+ description="Expiring at midnight of 2019-12-31",
410
+ expression="request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
411
+ ),
412
+ )])
413
+ organization = gcp.organizations.IAMPolicy("organization",
414
+ org_id="1234567890",
415
+ policy_data=admin.policy_data)
416
+ ```
417
+ <!--End PulumiCodeChooser -->
418
+
419
+ ## google\\_organization\\_iam\\_binding
420
+
421
+ > **Note:** If `role` is set to `roles/owner` and you don't specify a user or service account you have access to in `members`, you can lock yourself out of your organization.
422
+
423
+ <!--Start PulumiCodeChooser -->
424
+ ```python
425
+ import pulumi
426
+ import pulumi_gcp as gcp
427
+
428
+ organization = gcp.organizations.IAMBinding("organization",
429
+ org_id="1234567890",
430
+ role="roles/editor",
431
+ members=["user:jane@example.com"])
432
+ ```
433
+ <!--End PulumiCodeChooser -->
434
+
435
+ With IAM Conditions:
436
+
437
+ <!--Start PulumiCodeChooser -->
438
+ ```python
439
+ import pulumi
440
+ import pulumi_gcp as gcp
441
+
442
+ organization = gcp.organizations.IAMBinding("organization",
443
+ org_id="1234567890",
444
+ role="roles/editor",
445
+ members=["user:jane@example.com"],
446
+ condition=gcp.organizations.IAMBindingConditionArgs(
447
+ title="expires_after_2019_12_31",
448
+ description="Expiring at midnight of 2019-12-31",
449
+ expression="request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
450
+ ))
451
+ ```
452
+ <!--End PulumiCodeChooser -->
453
+
454
+ ## google\\_organization\\_iam\\_member
455
+
456
+ <!--Start PulumiCodeChooser -->
457
+ ```python
458
+ import pulumi
459
+ import pulumi_gcp as gcp
460
+
461
+ organization = gcp.organizations.IAMMember("organization",
462
+ org_id="1234567890",
463
+ role="roles/editor",
464
+ member="user:jane@example.com")
465
+ ```
466
+ <!--End PulumiCodeChooser -->
467
+
468
+ With IAM Conditions:
469
+
470
+ <!--Start PulumiCodeChooser -->
471
+ ```python
472
+ import pulumi
473
+ import pulumi_gcp as gcp
474
+
475
+ organization = gcp.organizations.IAMMember("organization",
476
+ org_id="1234567890",
477
+ role="roles/editor",
478
+ member="user:jane@example.com",
479
+ condition=gcp.organizations.IAMMemberConditionArgs(
480
+ title="expires_after_2019_12_31",
481
+ description="Expiring at midnight of 2019-12-31",
482
+ expression="request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
483
+ ))
484
+ ```
485
+ <!--End PulumiCodeChooser -->
486
+
487
+ ## google\\_organization\\_iam\\_audit\\_config
488
+
489
+ <!--Start PulumiCodeChooser -->
490
+ ```python
491
+ import pulumi
492
+ import pulumi_gcp as gcp
493
+
494
+ organization = gcp.organizations.IamAuditConfig("organization",
495
+ org_id="1234567890",
496
+ service="allServices",
497
+ audit_log_configs=[
498
+ gcp.organizations.IamAuditConfigAuditLogConfigArgs(
499
+ log_type="ADMIN_READ",
500
+ ),
501
+ gcp.organizations.IamAuditConfigAuditLogConfigArgs(
502
+ log_type="DATA_READ",
503
+ exempted_members=["user:joebloggs@example.com"],
504
+ ),
505
+ ])
506
+ ```
507
+ <!--End PulumiCodeChooser -->
508
+
340
509
  ## Import
341
510
 
342
511
  ### Importing Audit Configs
@@ -367,6 +536,12 @@ class IAMMember(pulumi.CustomResource):
367
536
  :param pulumi.ResourceOptions opts: Options for the resource.
368
537
  :param pulumi.Input[pulumi.InputType['IAMMemberConditionArgs']] condition: An [IAM Condition](https://cloud.google.com/iam/docs/conditions-overview) for a given binding.
369
538
  Structure is documented below.
539
+ :param pulumi.Input[str] member: Identities that will be granted the privilege in `role`.
540
+ Each entry can have one of the following values:
541
+ * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
542
+ * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
543
+ * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
544
+ * **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.
370
545
  :param pulumi.Input[str] org_id: The organization id of the target organization.
371
546
  :param pulumi.Input[str] role: The role that should be applied. Only one
372
547
  `organizations.IAMBinding` can be used per role. Note that custom roles must be of the format
@@ -531,6 +706,147 @@ class IAMMember(pulumi.CustomResource):
531
706
  ```
532
707
  <!--End PulumiCodeChooser -->
533
708
 
709
+ ## google\\_organization\\_iam\\_policy
710
+
711
+ !> **Warning:** New organizations have several default policies which will,
712
+ without extreme caution, be **overwritten** by use of this resource.
713
+ The safest alternative is to use multiple `organizations.IAMBinding`
714
+ resources. This resource makes it easy to remove your own access to
715
+ an organization, which will require a call to Google Support to have
716
+ fixed, and can take multiple days to resolve.
717
+
718
+ In general, this resource should only be used with organizations
719
+ fully managed by this provider.I f you do use this resource,
720
+ the best way to be sure that you are not making dangerous changes is to start
721
+ by **importing** your existing policy, and examining the diff very closely.
722
+
723
+ <!--Start PulumiCodeChooser -->
724
+ ```python
725
+ import pulumi
726
+ import pulumi_gcp as gcp
727
+
728
+ admin = gcp.organizations.get_iam_policy(bindings=[gcp.organizations.GetIAMPolicyBindingArgs(
729
+ role="roles/editor",
730
+ members=["user:jane@example.com"],
731
+ )])
732
+ organization = gcp.organizations.IAMPolicy("organization",
733
+ org_id="1234567890",
734
+ policy_data=admin.policy_data)
735
+ ```
736
+ <!--End PulumiCodeChooser -->
737
+
738
+ With IAM Conditions:
739
+
740
+ <!--Start PulumiCodeChooser -->
741
+ ```python
742
+ import pulumi
743
+ import pulumi_gcp as gcp
744
+
745
+ admin = gcp.organizations.get_iam_policy(bindings=[gcp.organizations.GetIAMPolicyBindingArgs(
746
+ role="roles/editor",
747
+ members=["user:jane@example.com"],
748
+ condition=gcp.organizations.GetIAMPolicyBindingConditionArgs(
749
+ title="expires_after_2019_12_31",
750
+ description="Expiring at midnight of 2019-12-31",
751
+ expression="request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
752
+ ),
753
+ )])
754
+ organization = gcp.organizations.IAMPolicy("organization",
755
+ org_id="1234567890",
756
+ policy_data=admin.policy_data)
757
+ ```
758
+ <!--End PulumiCodeChooser -->
759
+
760
+ ## google\\_organization\\_iam\\_binding
761
+
762
+ > **Note:** If `role` is set to `roles/owner` and you don't specify a user or service account you have access to in `members`, you can lock yourself out of your organization.
763
+
764
+ <!--Start PulumiCodeChooser -->
765
+ ```python
766
+ import pulumi
767
+ import pulumi_gcp as gcp
768
+
769
+ organization = gcp.organizations.IAMBinding("organization",
770
+ org_id="1234567890",
771
+ role="roles/editor",
772
+ members=["user:jane@example.com"])
773
+ ```
774
+ <!--End PulumiCodeChooser -->
775
+
776
+ With IAM Conditions:
777
+
778
+ <!--Start PulumiCodeChooser -->
779
+ ```python
780
+ import pulumi
781
+ import pulumi_gcp as gcp
782
+
783
+ organization = gcp.organizations.IAMBinding("organization",
784
+ org_id="1234567890",
785
+ role="roles/editor",
786
+ members=["user:jane@example.com"],
787
+ condition=gcp.organizations.IAMBindingConditionArgs(
788
+ title="expires_after_2019_12_31",
789
+ description="Expiring at midnight of 2019-12-31",
790
+ expression="request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
791
+ ))
792
+ ```
793
+ <!--End PulumiCodeChooser -->
794
+
795
+ ## google\\_organization\\_iam\\_member
796
+
797
+ <!--Start PulumiCodeChooser -->
798
+ ```python
799
+ import pulumi
800
+ import pulumi_gcp as gcp
801
+
802
+ organization = gcp.organizations.IAMMember("organization",
803
+ org_id="1234567890",
804
+ role="roles/editor",
805
+ member="user:jane@example.com")
806
+ ```
807
+ <!--End PulumiCodeChooser -->
808
+
809
+ With IAM Conditions:
810
+
811
+ <!--Start PulumiCodeChooser -->
812
+ ```python
813
+ import pulumi
814
+ import pulumi_gcp as gcp
815
+
816
+ organization = gcp.organizations.IAMMember("organization",
817
+ org_id="1234567890",
818
+ role="roles/editor",
819
+ member="user:jane@example.com",
820
+ condition=gcp.organizations.IAMMemberConditionArgs(
821
+ title="expires_after_2019_12_31",
822
+ description="Expiring at midnight of 2019-12-31",
823
+ expression="request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
824
+ ))
825
+ ```
826
+ <!--End PulumiCodeChooser -->
827
+
828
+ ## google\\_organization\\_iam\\_audit\\_config
829
+
830
+ <!--Start PulumiCodeChooser -->
831
+ ```python
832
+ import pulumi
833
+ import pulumi_gcp as gcp
834
+
835
+ organization = gcp.organizations.IamAuditConfig("organization",
836
+ org_id="1234567890",
837
+ service="allServices",
838
+ audit_log_configs=[
839
+ gcp.organizations.IamAuditConfigAuditLogConfigArgs(
840
+ log_type="ADMIN_READ",
841
+ ),
842
+ gcp.organizations.IamAuditConfigAuditLogConfigArgs(
843
+ log_type="DATA_READ",
844
+ exempted_members=["user:joebloggs@example.com"],
845
+ ),
846
+ ])
847
+ ```
848
+ <!--End PulumiCodeChooser -->
849
+
534
850
  ## Import
535
851
 
536
852
  ### Importing Audit Configs
@@ -621,6 +937,12 @@ class IAMMember(pulumi.CustomResource):
621
937
  :param pulumi.Input[pulumi.InputType['IAMMemberConditionArgs']] condition: An [IAM Condition](https://cloud.google.com/iam/docs/conditions-overview) for a given binding.
622
938
  Structure is documented below.
623
939
  :param pulumi.Input[str] etag: (Computed) The etag of the organization's IAM policy.
940
+ :param pulumi.Input[str] member: Identities that will be granted the privilege in `role`.
941
+ Each entry can have one of the following values:
942
+ * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
943
+ * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
944
+ * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
945
+ * **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.
624
946
  :param pulumi.Input[str] org_id: The organization id of the target organization.
625
947
  :param pulumi.Input[str] role: The role that should be applied. Only one
626
948
  `organizations.IAMBinding` can be used per role. Note that custom roles must be of the format
@@ -657,6 +979,14 @@ class IAMMember(pulumi.CustomResource):
657
979
  @property
658
980
  @pulumi.getter
659
981
  def member(self) -> pulumi.Output[str]:
982
+ """
983
+ Identities that will be granted the privilege in `role`.
984
+ Each entry can have one of the following values:
985
+ * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
986
+ * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
987
+ * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
988
+ * **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.
989
+ """
660
990
  return pulumi.get(self, "member")
661
991
 
662
992
  @property