pulumi-gcp 8.7.0a1730183903__py3-none-any.whl → 8.8.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 (437) hide show
  1. pulumi_gcp/__init__.py +78 -0
  2. pulumi_gcp/accesscontextmanager/access_policy_iam_binding.py +4 -4
  3. pulumi_gcp/accesscontextmanager/access_policy_iam_member.py +4 -4
  4. pulumi_gcp/accesscontextmanager/access_policy_iam_policy.py +4 -4
  5. pulumi_gcp/accesscontextmanager/service_perimeter.py +2 -0
  6. pulumi_gcp/accesscontextmanager/service_perimeter_dry_run_egress_policy.py +4 -0
  7. pulumi_gcp/accesscontextmanager/service_perimeter_dry_run_ingress_policy.py +4 -0
  8. pulumi_gcp/accesscontextmanager/service_perimeter_egress_policy.py +4 -0
  9. pulumi_gcp/accesscontextmanager/service_perimeter_ingress_policy.py +4 -0
  10. pulumi_gcp/accesscontextmanager/service_perimeters.py +2 -0
  11. pulumi_gcp/apigateway/api_config_iam_binding.py +2 -2
  12. pulumi_gcp/apigateway/api_config_iam_member.py +2 -2
  13. pulumi_gcp/apigateway/api_config_iam_policy.py +2 -2
  14. pulumi_gcp/apigateway/api_iam_binding.py +2 -2
  15. pulumi_gcp/apigateway/api_iam_member.py +2 -2
  16. pulumi_gcp/apigateway/api_iam_policy.py +2 -2
  17. pulumi_gcp/apigateway/gateway_iam_binding.py +2 -2
  18. pulumi_gcp/apigateway/gateway_iam_member.py +2 -2
  19. pulumi_gcp/apigateway/gateway_iam_policy.py +2 -2
  20. pulumi_gcp/apigee/__init__.py +2 -0
  21. pulumi_gcp/apigee/_inputs.py +108 -0
  22. pulumi_gcp/apigee/app_group.py +811 -0
  23. pulumi_gcp/apigee/developer.py +757 -0
  24. pulumi_gcp/apigee/environment_iam_binding.py +4 -4
  25. pulumi_gcp/apigee/environment_iam_member.py +4 -4
  26. pulumi_gcp/apigee/environment_iam_policy.py +4 -4
  27. pulumi_gcp/apigee/outputs.py +64 -0
  28. pulumi_gcp/appengine/engine_split_traffic.py +4 -4
  29. pulumi_gcp/apphub/_inputs.py +6 -3
  30. pulumi_gcp/apphub/application.py +30 -4
  31. pulumi_gcp/apphub/outputs.py +8 -4
  32. pulumi_gcp/artifactregistry/get_docker_image.py +40 -0
  33. pulumi_gcp/artifactregistry/repository_iam_binding.py +2 -2
  34. pulumi_gcp/artifactregistry/repository_iam_member.py +2 -2
  35. pulumi_gcp/artifactregistry/repository_iam_policy.py +2 -2
  36. pulumi_gcp/assuredworkloads/_inputs.py +34 -0
  37. pulumi_gcp/assuredworkloads/outputs.py +37 -0
  38. pulumi_gcp/assuredworkloads/workload.py +56 -3
  39. pulumi_gcp/backupdisasterrecovery/_inputs.py +0 -6
  40. pulumi_gcp/backupdisasterrecovery/management_server.py +80 -34
  41. pulumi_gcp/backupdisasterrecovery/outputs.py +0 -4
  42. pulumi_gcp/biglake/table.py +12 -12
  43. pulumi_gcp/bigquery/_inputs.py +60 -0
  44. pulumi_gcp/bigquery/connection.py +14 -14
  45. pulumi_gcp/bigquery/connection_iam_binding.py +2 -2
  46. pulumi_gcp/bigquery/connection_iam_member.py +2 -2
  47. pulumi_gcp/bigquery/connection_iam_policy.py +2 -2
  48. pulumi_gcp/bigquery/dataset.py +99 -2
  49. pulumi_gcp/bigquery/dataset_access.py +2 -2
  50. pulumi_gcp/bigquery/dataset_iam_binding.py +53 -0
  51. pulumi_gcp/bigquery/dataset_iam_member.py +53 -0
  52. pulumi_gcp/bigquery/dataset_iam_policy.py +32 -0
  53. pulumi_gcp/bigquery/get_dataset.py +12 -1
  54. pulumi_gcp/bigquery/iam_binding.py +2 -2
  55. pulumi_gcp/bigquery/iam_member.py +2 -2
  56. pulumi_gcp/bigquery/iam_policy.py +2 -2
  57. pulumi_gcp/bigquery/job.py +6 -6
  58. pulumi_gcp/bigquery/outputs.py +87 -0
  59. pulumi_gcp/bigquery/routine.py +6 -6
  60. pulumi_gcp/bigqueryanalyticshub/data_exchange_iam_binding.py +2 -2
  61. pulumi_gcp/bigqueryanalyticshub/data_exchange_iam_member.py +2 -2
  62. pulumi_gcp/bigqueryanalyticshub/data_exchange_iam_policy.py +2 -2
  63. pulumi_gcp/bigqueryanalyticshub/listing_iam_binding.py +2 -2
  64. pulumi_gcp/bigqueryanalyticshub/listing_iam_member.py +2 -2
  65. pulumi_gcp/bigqueryanalyticshub/listing_iam_policy.py +2 -2
  66. pulumi_gcp/bigquerydatapolicy/data_policy_iam_binding.py +2 -2
  67. pulumi_gcp/bigquerydatapolicy/data_policy_iam_member.py +2 -2
  68. pulumi_gcp/bigquerydatapolicy/data_policy_iam_policy.py +2 -2
  69. pulumi_gcp/binaryauthorization/attestor_iam_binding.py +2 -2
  70. pulumi_gcp/binaryauthorization/attestor_iam_member.py +2 -2
  71. pulumi_gcp/binaryauthorization/attestor_iam_policy.py +2 -2
  72. pulumi_gcp/certificateauthority/ca_pool_iam_binding.py +2 -2
  73. pulumi_gcp/certificateauthority/ca_pool_iam_member.py +2 -2
  74. pulumi_gcp/certificateauthority/ca_pool_iam_policy.py +2 -2
  75. pulumi_gcp/certificateauthority/certificate_template_iam_binding.py +2 -2
  76. pulumi_gcp/certificateauthority/certificate_template_iam_member.py +2 -2
  77. pulumi_gcp/certificateauthority/certificate_template_iam_policy.py +2 -2
  78. pulumi_gcp/cloudbuild/trigger.py +18 -18
  79. pulumi_gcp/cloudbuildv2/connection_iam_binding.py +2 -2
  80. pulumi_gcp/cloudbuildv2/connection_iam_member.py +2 -2
  81. pulumi_gcp/cloudbuildv2/connection_iam_policy.py +2 -2
  82. pulumi_gcp/clouddeploy/delivery_pipeline.py +10 -10
  83. pulumi_gcp/cloudfunctions/function_iam_binding.py +2 -2
  84. pulumi_gcp/cloudfunctions/function_iam_member.py +2 -2
  85. pulumi_gcp/cloudfunctions/function_iam_policy.py +2 -2
  86. pulumi_gcp/cloudfunctionsv2/function.py +22 -22
  87. pulumi_gcp/cloudfunctionsv2/function_iam_binding.py +2 -2
  88. pulumi_gcp/cloudfunctionsv2/function_iam_member.py +2 -2
  89. pulumi_gcp/cloudfunctionsv2/function_iam_policy.py +2 -2
  90. pulumi_gcp/cloudrun/iam_binding.py +2 -2
  91. pulumi_gcp/cloudrun/iam_member.py +2 -2
  92. pulumi_gcp/cloudrun/iam_policy.py +2 -2
  93. pulumi_gcp/cloudrun/service.py +24 -24
  94. pulumi_gcp/cloudrunv2/get_service.py +12 -1
  95. pulumi_gcp/cloudrunv2/job_iam_binding.py +2 -2
  96. pulumi_gcp/cloudrunv2/job_iam_member.py +2 -2
  97. pulumi_gcp/cloudrunv2/job_iam_policy.py +2 -2
  98. pulumi_gcp/cloudrunv2/service.py +94 -2
  99. pulumi_gcp/cloudrunv2/service_iam_binding.py +2 -2
  100. pulumi_gcp/cloudrunv2/service_iam_member.py +2 -2
  101. pulumi_gcp/cloudrunv2/service_iam_policy.py +2 -2
  102. pulumi_gcp/cloudscheduler/job.py +4 -4
  103. pulumi_gcp/cloudtasks/queue_iam_binding.py +2 -2
  104. pulumi_gcp/cloudtasks/queue_iam_member.py +2 -2
  105. pulumi_gcp/cloudtasks/queue_iam_policy.py +2 -2
  106. pulumi_gcp/compute/__init__.py +1 -0
  107. pulumi_gcp/compute/_inputs.py +396 -166
  108. pulumi_gcp/compute/backend_bucket_iam_binding.py +2 -2
  109. pulumi_gcp/compute/backend_bucket_iam_member.py +2 -2
  110. pulumi_gcp/compute/backend_bucket_iam_policy.py +2 -2
  111. pulumi_gcp/compute/backend_service.py +76 -0
  112. pulumi_gcp/compute/backend_service_iam_binding.py +2 -2
  113. pulumi_gcp/compute/backend_service_iam_member.py +2 -2
  114. pulumi_gcp/compute/backend_service_iam_policy.py +2 -2
  115. pulumi_gcp/compute/disk_iam_binding.py +2 -2
  116. pulumi_gcp/compute/disk_iam_member.py +2 -2
  117. pulumi_gcp/compute/disk_iam_policy.py +2 -2
  118. pulumi_gcp/compute/get_backend_service.py +12 -1
  119. pulumi_gcp/compute/get_instance.py +29 -1
  120. pulumi_gcp/compute/get_instance_guest_attributes.py +277 -0
  121. pulumi_gcp/compute/get_instance_template.py +29 -1
  122. pulumi_gcp/compute/get_region_instance_group_manager.py +0 -18
  123. pulumi_gcp/compute/get_region_instance_template.py +29 -1
  124. pulumi_gcp/compute/image.py +76 -22
  125. pulumi_gcp/compute/image_iam_binding.py +2 -2
  126. pulumi_gcp/compute/image_iam_member.py +2 -2
  127. pulumi_gcp/compute/image_iam_policy.py +2 -2
  128. pulumi_gcp/compute/instance.py +89 -0
  129. pulumi_gcp/compute/instance_from_machine_image.py +82 -0
  130. pulumi_gcp/compute/instance_from_template.py +82 -0
  131. pulumi_gcp/compute/instance_iam_binding.py +2 -2
  132. pulumi_gcp/compute/instance_iam_member.py +2 -2
  133. pulumi_gcp/compute/instance_iam_policy.py +2 -2
  134. pulumi_gcp/compute/instance_template.py +75 -0
  135. pulumi_gcp/compute/machine_image_iam_binding.py +2 -2
  136. pulumi_gcp/compute/machine_image_iam_member.py +2 -2
  137. pulumi_gcp/compute/machine_image_iam_policy.py +2 -2
  138. pulumi_gcp/compute/network_firewall_policy_association.py +76 -50
  139. pulumi_gcp/compute/network_firewall_policy_rule.py +149 -103
  140. pulumi_gcp/compute/outputs.py +367 -110
  141. pulumi_gcp/compute/region_backend_service.py +94 -0
  142. pulumi_gcp/compute/region_backend_service_iam_binding.py +2 -2
  143. pulumi_gcp/compute/region_backend_service_iam_member.py +2 -2
  144. pulumi_gcp/compute/region_backend_service_iam_policy.py +2 -2
  145. pulumi_gcp/compute/region_disk_iam_binding.py +2 -2
  146. pulumi_gcp/compute/region_disk_iam_member.py +2 -2
  147. pulumi_gcp/compute/region_disk_iam_policy.py +2 -2
  148. pulumi_gcp/compute/region_instance_template.py +75 -0
  149. pulumi_gcp/compute/region_network_endpoint_group.py +6 -4
  150. pulumi_gcp/compute/region_network_firewall_policy_association.py +104 -54
  151. pulumi_gcp/compute/region_network_firewall_policy_rule.py +160 -107
  152. pulumi_gcp/compute/region_security_policy_rule.py +74 -0
  153. pulumi_gcp/compute/security_policy_rule.py +111 -13
  154. pulumi_gcp/compute/snapshot_iam_binding.py +2 -2
  155. pulumi_gcp/compute/snapshot_iam_member.py +2 -2
  156. pulumi_gcp/compute/snapshot_iam_policy.py +2 -2
  157. pulumi_gcp/compute/subnetwork_iam_binding.py +2 -2
  158. pulumi_gcp/compute/subnetwork_iam_member.py +2 -2
  159. pulumi_gcp/compute/subnetwork_iam_policy.py +2 -2
  160. pulumi_gcp/compute/url_map.py +10 -10
  161. pulumi_gcp/config/__init__.pyi +4 -0
  162. pulumi_gcp/config/vars.py +8 -0
  163. pulumi_gcp/container/attached_cluster.py +9 -6
  164. pulumi_gcp/container/aws_node_pool.py +12 -12
  165. pulumi_gcp/container/outputs.py +2 -2
  166. pulumi_gcp/containeranalysis/note_iam_binding.py +2 -2
  167. pulumi_gcp/containeranalysis/note_iam_member.py +2 -2
  168. pulumi_gcp/containeranalysis/note_iam_policy.py +2 -2
  169. pulumi_gcp/datacatalog/entry_group_iam_binding.py +2 -2
  170. pulumi_gcp/datacatalog/entry_group_iam_member.py +2 -2
  171. pulumi_gcp/datacatalog/entry_group_iam_policy.py +2 -2
  172. pulumi_gcp/datacatalog/policy_tag_iam_binding.py +4 -4
  173. pulumi_gcp/datacatalog/policy_tag_iam_member.py +4 -4
  174. pulumi_gcp/datacatalog/policy_tag_iam_policy.py +4 -4
  175. pulumi_gcp/datacatalog/tag_template_iam_binding.py +2 -2
  176. pulumi_gcp/datacatalog/tag_template_iam_member.py +2 -2
  177. pulumi_gcp/datacatalog/tag_template_iam_policy.py +2 -2
  178. pulumi_gcp/datacatalog/taxonomy_iam_binding.py +2 -2
  179. pulumi_gcp/datacatalog/taxonomy_iam_member.py +2 -2
  180. pulumi_gcp/datacatalog/taxonomy_iam_policy.py +2 -2
  181. pulumi_gcp/dataplex/aspect_type_iam_binding.py +2 -2
  182. pulumi_gcp/dataplex/aspect_type_iam_member.py +2 -2
  183. pulumi_gcp/dataplex/aspect_type_iam_policy.py +2 -2
  184. pulumi_gcp/dataplex/asset_iam_binding.py +2 -2
  185. pulumi_gcp/dataplex/asset_iam_member.py +2 -2
  186. pulumi_gcp/dataplex/asset_iam_policy.py +2 -2
  187. pulumi_gcp/dataplex/datascan_iam_binding.py +2 -2
  188. pulumi_gcp/dataplex/datascan_iam_member.py +2 -2
  189. pulumi_gcp/dataplex/datascan_iam_policy.py +2 -2
  190. pulumi_gcp/dataplex/entry_group_iam_binding.py +2 -2
  191. pulumi_gcp/dataplex/entry_group_iam_member.py +2 -2
  192. pulumi_gcp/dataplex/entry_group_iam_policy.py +2 -2
  193. pulumi_gcp/dataplex/entry_type_iam_binding.py +2 -2
  194. pulumi_gcp/dataplex/entry_type_iam_member.py +2 -2
  195. pulumi_gcp/dataplex/entry_type_iam_policy.py +2 -2
  196. pulumi_gcp/dataplex/lake_iam_binding.py +2 -2
  197. pulumi_gcp/dataplex/lake_iam_member.py +2 -2
  198. pulumi_gcp/dataplex/lake_iam_policy.py +2 -2
  199. pulumi_gcp/dataplex/task.py +4 -4
  200. pulumi_gcp/dataplex/task_iam_binding.py +2 -2
  201. pulumi_gcp/dataplex/task_iam_member.py +2 -2
  202. pulumi_gcp/dataplex/task_iam_policy.py +2 -2
  203. pulumi_gcp/dataplex/zone_iam_binding.py +2 -2
  204. pulumi_gcp/dataplex/zone_iam_member.py +2 -2
  205. pulumi_gcp/dataplex/zone_iam_policy.py +2 -2
  206. pulumi_gcp/dataproc/autoscaling_policy_iam_binding.py +2 -2
  207. pulumi_gcp/dataproc/autoscaling_policy_iam_member.py +2 -2
  208. pulumi_gcp/dataproc/autoscaling_policy_iam_policy.py +2 -2
  209. pulumi_gcp/dataproc/batch.py +24 -24
  210. pulumi_gcp/dataproc/cluster.py +2 -2
  211. pulumi_gcp/dataproc/job.py +4 -4
  212. pulumi_gcp/dataproc/metastore_federation_iam_binding.py +2 -2
  213. pulumi_gcp/dataproc/metastore_federation_iam_member.py +2 -2
  214. pulumi_gcp/dataproc/metastore_federation_iam_policy.py +2 -2
  215. pulumi_gcp/dataproc/metastore_service_iam_binding.py +2 -2
  216. pulumi_gcp/dataproc/metastore_service_iam_member.py +2 -2
  217. pulumi_gcp/dataproc/metastore_service_iam_policy.py +2 -2
  218. pulumi_gcp/datastream/stream.py +2 -2
  219. pulumi_gcp/diagflow/_inputs.py +472 -2
  220. pulumi_gcp/diagflow/cx_agent.py +64 -4
  221. pulumi_gcp/diagflow/cx_flow.py +34 -4
  222. pulumi_gcp/diagflow/cx_page.py +10 -10
  223. pulumi_gcp/diagflow/outputs.py +378 -2
  224. pulumi_gcp/dns/dns_managed_zone_iam_binding.py +2 -2
  225. pulumi_gcp/dns/dns_managed_zone_iam_member.py +2 -2
  226. pulumi_gcp/dns/dns_managed_zone_iam_policy.py +2 -2
  227. pulumi_gcp/endpoints/consumers_iam_binding.py +2 -2
  228. pulumi_gcp/endpoints/consumers_iam_member.py +2 -2
  229. pulumi_gcp/endpoints/consumers_iam_policy.py +2 -2
  230. pulumi_gcp/endpoints/service_iam_binding.py +4 -4
  231. pulumi_gcp/endpoints/service_iam_member.py +4 -4
  232. pulumi_gcp/endpoints/service_iam_policy.py +4 -4
  233. pulumi_gcp/firebase/extensions_instance.py +24 -24
  234. pulumi_gcp/gkebackup/backup_plan_iam_binding.py +2 -2
  235. pulumi_gcp/gkebackup/backup_plan_iam_member.py +2 -2
  236. pulumi_gcp/gkebackup/backup_plan_iam_policy.py +2 -2
  237. pulumi_gcp/gkebackup/restore_plan.py +18 -18
  238. pulumi_gcp/gkebackup/restore_plan_iam_binding.py +2 -2
  239. pulumi_gcp/gkebackup/restore_plan_iam_member.py +2 -2
  240. pulumi_gcp/gkebackup/restore_plan_iam_policy.py +2 -2
  241. pulumi_gcp/gkehub/_inputs.py +21 -21
  242. pulumi_gcp/gkehub/feature.py +2 -4
  243. pulumi_gcp/gkehub/feature_iam_binding.py +2 -2
  244. pulumi_gcp/gkehub/feature_iam_member.py +2 -2
  245. pulumi_gcp/gkehub/feature_iam_policy.py +2 -2
  246. pulumi_gcp/gkehub/membership_iam_binding.py +2 -2
  247. pulumi_gcp/gkehub/membership_iam_member.py +2 -2
  248. pulumi_gcp/gkehub/membership_iam_policy.py +2 -2
  249. pulumi_gcp/gkehub/outputs.py +13 -13
  250. pulumi_gcp/gkehub/scope_iam_binding.py +2 -2
  251. pulumi_gcp/gkehub/scope_iam_member.py +2 -2
  252. pulumi_gcp/gkehub/scope_iam_policy.py +2 -2
  253. pulumi_gcp/healthcare/consent_store_iam_binding.py +4 -4
  254. pulumi_gcp/healthcare/consent_store_iam_member.py +4 -4
  255. pulumi_gcp/healthcare/consent_store_iam_policy.py +4 -4
  256. pulumi_gcp/iam/workload_identity_pool_provider.py +56 -0
  257. pulumi_gcp/iap/__init__.py +1 -0
  258. pulumi_gcp/iap/_inputs.py +1002 -0
  259. pulumi_gcp/iap/app_engine_service_iam_binding.py +2 -2
  260. pulumi_gcp/iap/app_engine_service_iam_member.py +2 -2
  261. pulumi_gcp/iap/app_engine_service_iam_policy.py +2 -2
  262. pulumi_gcp/iap/app_engine_version_iam_binding.py +2 -2
  263. pulumi_gcp/iap/app_engine_version_iam_member.py +2 -2
  264. pulumi_gcp/iap/app_engine_version_iam_policy.py +2 -2
  265. pulumi_gcp/iap/outputs.py +827 -0
  266. pulumi_gcp/iap/settings.py +546 -0
  267. pulumi_gcp/iap/tunnel_dest_group_iam_binding.py +2 -2
  268. pulumi_gcp/iap/tunnel_dest_group_iam_member.py +2 -2
  269. pulumi_gcp/iap/tunnel_dest_group_iam_policy.py +2 -2
  270. pulumi_gcp/iap/tunnel_iam_binding.py +2 -2
  271. pulumi_gcp/iap/tunnel_iam_member.py +2 -2
  272. pulumi_gcp/iap/tunnel_iam_policy.py +2 -2
  273. pulumi_gcp/iap/tunnel_instance_iam_binding.py +2 -2
  274. pulumi_gcp/iap/tunnel_instance_iam_member.py +2 -2
  275. pulumi_gcp/iap/tunnel_instance_iam_policy.py +2 -2
  276. pulumi_gcp/iap/web_backend_service_iam_binding.py +2 -2
  277. pulumi_gcp/iap/web_backend_service_iam_member.py +2 -2
  278. pulumi_gcp/iap/web_backend_service_iam_policy.py +2 -2
  279. pulumi_gcp/iap/web_iam_binding.py +2 -2
  280. pulumi_gcp/iap/web_iam_member.py +2 -2
  281. pulumi_gcp/iap/web_iam_policy.py +2 -2
  282. pulumi_gcp/iap/web_region_backend_service_iam_binding.py +2 -2
  283. pulumi_gcp/iap/web_region_backend_service_iam_member.py +2 -2
  284. pulumi_gcp/iap/web_region_backend_service_iam_policy.py +2 -2
  285. pulumi_gcp/iap/web_type_app_enging_iam_binding.py +2 -2
  286. pulumi_gcp/iap/web_type_app_enging_iam_member.py +2 -2
  287. pulumi_gcp/iap/web_type_app_enging_iam_policy.py +2 -2
  288. pulumi_gcp/iap/web_type_compute_iam_binding.py +2 -2
  289. pulumi_gcp/iap/web_type_compute_iam_member.py +2 -2
  290. pulumi_gcp/iap/web_type_compute_iam_policy.py +2 -2
  291. pulumi_gcp/identityplatform/config.py +2 -2
  292. pulumi_gcp/kms/ekm_connection_iam_binding.py +2 -2
  293. pulumi_gcp/kms/ekm_connection_iam_member.py +2 -2
  294. pulumi_gcp/kms/ekm_connection_iam_policy.py +2 -2
  295. pulumi_gcp/logging/log_view_iam_binding.py +4 -4
  296. pulumi_gcp/logging/log_view_iam_member.py +4 -4
  297. pulumi_gcp/logging/log_view_iam_policy.py +4 -4
  298. pulumi_gcp/looker/instance.py +104 -2
  299. pulumi_gcp/memorystore/_inputs.py +117 -4
  300. pulumi_gcp/memorystore/instance.py +105 -0
  301. pulumi_gcp/memorystore/outputs.py +80 -4
  302. pulumi_gcp/monitoring/_inputs.py +23 -0
  303. pulumi_gcp/monitoring/get_secret_version.py +22 -3
  304. pulumi_gcp/monitoring/outputs.py +16 -0
  305. pulumi_gcp/networkconnectivity/__init__.py +1 -0
  306. pulumi_gcp/networkconnectivity/_inputs.py +148 -0
  307. pulumi_gcp/networkconnectivity/group.py +764 -0
  308. pulumi_gcp/networkconnectivity/outputs.py +125 -0
  309. pulumi_gcp/networkconnectivity/spoke.py +144 -0
  310. pulumi_gcp/networksecurity/address_group_iam_binding.py +2 -2
  311. pulumi_gcp/networksecurity/address_group_iam_member.py +2 -2
  312. pulumi_gcp/networksecurity/address_group_iam_policy.py +2 -2
  313. pulumi_gcp/networksecurity/gateway_security_policy.py +7 -0
  314. pulumi_gcp/networksecurity/server_tls_policy.py +2 -2
  315. pulumi_gcp/networkservices/edge_cache_service.py +2 -2
  316. pulumi_gcp/networkservices/http_route.py +4 -4
  317. pulumi_gcp/notebooks/instance_iam_binding.py +2 -2
  318. pulumi_gcp/notebooks/instance_iam_member.py +2 -2
  319. pulumi_gcp/notebooks/instance_iam_policy.py +2 -2
  320. pulumi_gcp/notebooks/runtime_iam_binding.py +2 -2
  321. pulumi_gcp/notebooks/runtime_iam_member.py +2 -2
  322. pulumi_gcp/notebooks/runtime_iam_policy.py +2 -2
  323. pulumi_gcp/oracledatabase/__init__.py +20 -0
  324. pulumi_gcp/oracledatabase/_inputs.py +4745 -0
  325. pulumi_gcp/oracledatabase/autonomous_database.py +983 -0
  326. pulumi_gcp/oracledatabase/cloud_exadata_infrastructure.py +842 -0
  327. pulumi_gcp/oracledatabase/cloud_vm_cluster.py +1086 -0
  328. pulumi_gcp/oracledatabase/get_autonomous_database.py +290 -0
  329. pulumi_gcp/oracledatabase/get_autonomous_databases.py +150 -0
  330. pulumi_gcp/oracledatabase/get_cloud_exadata_infrastructure.py +257 -0
  331. pulumi_gcp/oracledatabase/get_cloud_exadata_infrastructures.py +150 -0
  332. pulumi_gcp/oracledatabase/get_cloud_vm_cluster.py +290 -0
  333. pulumi_gcp/oracledatabase/get_cloud_vm_clusters.py +150 -0
  334. pulumi_gcp/oracledatabase/get_db_nodes.py +245 -0
  335. pulumi_gcp/oracledatabase/get_db_servers.py +245 -0
  336. pulumi_gcp/oracledatabase/outputs.py +9304 -0
  337. pulumi_gcp/organizations/folder.py +7 -7
  338. pulumi_gcp/organizations/project.py +7 -7
  339. pulumi_gcp/orgpolicy/_inputs.py +3 -3
  340. pulumi_gcp/orgpolicy/outputs.py +2 -2
  341. pulumi_gcp/osconfig/os_policy_assignment.py +4 -4
  342. pulumi_gcp/privilegedaccessmanager/get_entitlement.py +46 -2
  343. pulumi_gcp/provider.py +40 -0
  344. pulumi_gcp/pubsub/schema_iam_binding.py +2 -2
  345. pulumi_gcp/pubsub/schema_iam_member.py +2 -2
  346. pulumi_gcp/pubsub/schema_iam_policy.py +2 -2
  347. pulumi_gcp/pubsub/subscription.py +18 -66
  348. pulumi_gcp/pubsub/topic_iam_binding.py +2 -2
  349. pulumi_gcp/pubsub/topic_iam_member.py +2 -2
  350. pulumi_gcp/pubsub/topic_iam_policy.py +2 -2
  351. pulumi_gcp/pulumi-plugin.json +1 -1
  352. pulumi_gcp/runtimeconfig/config_iam_binding.py +2 -2
  353. pulumi_gcp/runtimeconfig/config_iam_member.py +2 -2
  354. pulumi_gcp/runtimeconfig/config_iam_policy.py +2 -2
  355. pulumi_gcp/secretmanager/get_regional_secret_version.py +24 -5
  356. pulumi_gcp/secretmanager/get_regional_secret_version_access.py +24 -5
  357. pulumi_gcp/secretmanager/get_secret_version.py +22 -3
  358. pulumi_gcp/secretmanager/get_secret_version_access.py +22 -3
  359. pulumi_gcp/secretmanager/regional_secret.py +2 -2
  360. pulumi_gcp/secretmanager/regional_secret_iam_binding.py +2 -2
  361. pulumi_gcp/secretmanager/regional_secret_iam_member.py +2 -2
  362. pulumi_gcp/secretmanager/regional_secret_iam_policy.py +2 -2
  363. pulumi_gcp/secretmanager/secret_iam_binding.py +2 -2
  364. pulumi_gcp/secretmanager/secret_iam_member.py +2 -2
  365. pulumi_gcp/secretmanager/secret_iam_policy.py +2 -2
  366. pulumi_gcp/securesourcemanager/repository_iam_binding.py +2 -2
  367. pulumi_gcp/securesourcemanager/repository_iam_member.py +2 -2
  368. pulumi_gcp/securesourcemanager/repository_iam_policy.py +2 -2
  369. pulumi_gcp/securitycenter/v2_organization_source_iam_binding.py +4 -4
  370. pulumi_gcp/securitycenter/v2_organization_source_iam_member.py +4 -4
  371. pulumi_gcp/securitycenter/v2_organization_source_iam_policy.py +4 -4
  372. pulumi_gcp/serviceaccount/__init__.py +1 -0
  373. pulumi_gcp/serviceaccount/get_account.py +15 -1
  374. pulumi_gcp/serviceaccount/get_s.py +132 -0
  375. pulumi_gcp/serviceaccount/outputs.py +89 -0
  376. pulumi_gcp/servicedirectory/namespace_iam_binding.py +4 -4
  377. pulumi_gcp/servicedirectory/namespace_iam_member.py +4 -4
  378. pulumi_gcp/servicedirectory/namespace_iam_policy.py +4 -4
  379. pulumi_gcp/servicedirectory/service_iam_binding.py +4 -4
  380. pulumi_gcp/servicedirectory/service_iam_member.py +4 -4
  381. pulumi_gcp/servicedirectory/service_iam_policy.py +4 -4
  382. pulumi_gcp/siteverification/get_token.py +0 -16
  383. pulumi_gcp/siteverification/owner.py +0 -16
  384. pulumi_gcp/sourcerepo/repository_iam_binding.py +2 -2
  385. pulumi_gcp/sourcerepo/repository_iam_member.py +2 -2
  386. pulumi_gcp/sourcerepo/repository_iam_policy.py +2 -2
  387. pulumi_gcp/spanner/_inputs.py +237 -17
  388. pulumi_gcp/spanner/outputs.py +307 -12
  389. pulumi_gcp/sql/_inputs.py +12 -9
  390. pulumi_gcp/sql/outputs.py +8 -6
  391. pulumi_gcp/sql/user.py +28 -21
  392. pulumi_gcp/storage/_inputs.py +33 -0
  393. pulumi_gcp/storage/bucket.py +47 -0
  394. pulumi_gcp/storage/bucket_iam_binding.py +2 -2
  395. pulumi_gcp/storage/bucket_iam_member.py +2 -2
  396. pulumi_gcp/storage/bucket_iam_policy.py +2 -2
  397. pulumi_gcp/storage/get_bucket.py +12 -1
  398. pulumi_gcp/storage/managed_folder_iam_binding.py +4 -4
  399. pulumi_gcp/storage/managed_folder_iam_member.py +4 -4
  400. pulumi_gcp/storage/managed_folder_iam_policy.py +4 -4
  401. pulumi_gcp/storage/outputs.py +38 -0
  402. pulumi_gcp/tags/tag_key_iam_binding.py +4 -4
  403. pulumi_gcp/tags/tag_key_iam_member.py +4 -4
  404. pulumi_gcp/tags/tag_key_iam_policy.py +4 -4
  405. pulumi_gcp/tags/tag_value_iam_binding.py +4 -4
  406. pulumi_gcp/tags/tag_value_iam_member.py +4 -4
  407. pulumi_gcp/tags/tag_value_iam_policy.py +4 -4
  408. pulumi_gcp/transcoder/__init__.py +11 -0
  409. pulumi_gcp/transcoder/_inputs.py +3991 -0
  410. pulumi_gcp/transcoder/job.py +2134 -0
  411. pulumi_gcp/transcoder/job_template.py +1524 -0
  412. pulumi_gcp/transcoder/outputs.py +2918 -0
  413. pulumi_gcp/vertex/ai_deployment_resource_pool.py +2 -2
  414. pulumi_gcp/vertex/ai_feature_store_entity_type_iam_binding.py +2 -2
  415. pulumi_gcp/vertex/ai_feature_store_entity_type_iam_member.py +2 -2
  416. pulumi_gcp/vertex/ai_feature_store_entity_type_iam_policy.py +2 -2
  417. pulumi_gcp/vertex/ai_feature_store_iam_binding.py +2 -2
  418. pulumi_gcp/vertex/ai_feature_store_iam_member.py +2 -2
  419. pulumi_gcp/vertex/ai_feature_store_iam_policy.py +2 -2
  420. pulumi_gcp/vmwareengine/_inputs.py +912 -6
  421. pulumi_gcp/vmwareengine/cluster.py +100 -2
  422. pulumi_gcp/vmwareengine/get_cluster.py +12 -1
  423. pulumi_gcp/vmwareengine/outputs.py +1310 -49
  424. pulumi_gcp/vmwareengine/private_cloud.py +44 -0
  425. pulumi_gcp/workstations/_inputs.py +54 -0
  426. pulumi_gcp/workstations/outputs.py +32 -0
  427. pulumi_gcp/workstations/workstation_config.py +211 -6
  428. pulumi_gcp/workstations/workstation_config_iam_binding.py +2 -2
  429. pulumi_gcp/workstations/workstation_config_iam_member.py +2 -2
  430. pulumi_gcp/workstations/workstation_config_iam_policy.py +2 -2
  431. pulumi_gcp/workstations/workstation_iam_binding.py +2 -2
  432. pulumi_gcp/workstations/workstation_iam_member.py +2 -2
  433. pulumi_gcp/workstations/workstation_iam_policy.py +2 -2
  434. {pulumi_gcp-8.7.0a1730183903.dist-info → pulumi_gcp-8.8.0.dist-info}/METADATA +1 -1
  435. {pulumi_gcp-8.7.0a1730183903.dist-info → pulumi_gcp-8.8.0.dist-info}/RECORD +437 -412
  436. {pulumi_gcp-8.7.0a1730183903.dist-info → pulumi_gcp-8.8.0.dist-info}/WHEEL +1 -1
  437. {pulumi_gcp-8.7.0a1730183903.dist-info → pulumi_gcp-8.8.0.dist-info}/top_level.txt +0 -0
pulumi_gcp/sql/user.py CHANGED
@@ -53,9 +53,10 @@ class UserArgs:
53
53
  is not provided, the provider project is used.
54
54
  :param pulumi.Input[str] type: The user type. It determines the method to authenticate the
55
55
  user during login. The default is the database's built-in user type. Flags
56
- include "BUILT_IN", "CLOUD_IAM_USER", and "CLOUD_IAM_SERVICE_ACCOUNT" for both
57
- [Postgres](https://cloud.google.com/sql/docs/postgres/admin-api/rest/v1beta4/users#sqlusertype) and [MySQL](https://cloud.google.com/sql/docs/mysql/admin-api/rest/v1beta4/users#sqlusertype).
58
- MySQL also includes "CLOUD_IAM_GROUP", "CLOUD_IAM_GROUP_USER" and "CLOUD_IAM_GROUP_SERVICE_ACCOUNT".
56
+ include "BUILT_IN", "CLOUD_IAM_USER", "CLOUD_IAM_SERVICE_ACCOUNT", "CLOUD_IAM_GROUP",
57
+ "CLOUD_IAM_GROUP_USER" and "CLOUD_IAM_GROUP_SERVICE_ACCOUNT" for
58
+ [Postgres](https://cloud.google.com/sql/docs/postgres/admin-api/rest/v1beta4/users#sqlusertype)
59
+ and [MySQL](https://cloud.google.com/sql/docs/mysql/admin-api/rest/v1beta4/users#sqlusertype).
59
60
  """
60
61
  pulumi.set(__self__, "instance", instance)
61
62
  if deletion_policy is not None:
@@ -174,9 +175,10 @@ class UserArgs:
174
175
  """
175
176
  The user type. It determines the method to authenticate the
176
177
  user during login. The default is the database's built-in user type. Flags
177
- include "BUILT_IN", "CLOUD_IAM_USER", and "CLOUD_IAM_SERVICE_ACCOUNT" for both
178
- [Postgres](https://cloud.google.com/sql/docs/postgres/admin-api/rest/v1beta4/users#sqlusertype) and [MySQL](https://cloud.google.com/sql/docs/mysql/admin-api/rest/v1beta4/users#sqlusertype).
179
- MySQL also includes "CLOUD_IAM_GROUP", "CLOUD_IAM_GROUP_USER" and "CLOUD_IAM_GROUP_SERVICE_ACCOUNT".
178
+ include "BUILT_IN", "CLOUD_IAM_USER", "CLOUD_IAM_SERVICE_ACCOUNT", "CLOUD_IAM_GROUP",
179
+ "CLOUD_IAM_GROUP_USER" and "CLOUD_IAM_GROUP_SERVICE_ACCOUNT" for
180
+ [Postgres](https://cloud.google.com/sql/docs/postgres/admin-api/rest/v1beta4/users#sqlusertype)
181
+ and [MySQL](https://cloud.google.com/sql/docs/mysql/admin-api/rest/v1beta4/users#sqlusertype).
180
182
  """
181
183
  return pulumi.get(self, "type")
182
184
 
@@ -221,9 +223,10 @@ class _UserState:
221
223
  is not provided, the provider project is used.
222
224
  :param pulumi.Input[str] type: The user type. It determines the method to authenticate the
223
225
  user during login. The default is the database's built-in user type. Flags
224
- include "BUILT_IN", "CLOUD_IAM_USER", and "CLOUD_IAM_SERVICE_ACCOUNT" for both
225
- [Postgres](https://cloud.google.com/sql/docs/postgres/admin-api/rest/v1beta4/users#sqlusertype) and [MySQL](https://cloud.google.com/sql/docs/mysql/admin-api/rest/v1beta4/users#sqlusertype).
226
- MySQL also includes "CLOUD_IAM_GROUP", "CLOUD_IAM_GROUP_USER" and "CLOUD_IAM_GROUP_SERVICE_ACCOUNT".
226
+ include "BUILT_IN", "CLOUD_IAM_USER", "CLOUD_IAM_SERVICE_ACCOUNT", "CLOUD_IAM_GROUP",
227
+ "CLOUD_IAM_GROUP_USER" and "CLOUD_IAM_GROUP_SERVICE_ACCOUNT" for
228
+ [Postgres](https://cloud.google.com/sql/docs/postgres/admin-api/rest/v1beta4/users#sqlusertype)
229
+ and [MySQL](https://cloud.google.com/sql/docs/mysql/admin-api/rest/v1beta4/users#sqlusertype).
227
230
  """
228
231
  if deletion_policy is not None:
229
232
  pulumi.set(__self__, "deletion_policy", deletion_policy)
@@ -354,9 +357,10 @@ class _UserState:
354
357
  """
355
358
  The user type. It determines the method to authenticate the
356
359
  user during login. The default is the database's built-in user type. Flags
357
- include "BUILT_IN", "CLOUD_IAM_USER", and "CLOUD_IAM_SERVICE_ACCOUNT" for both
358
- [Postgres](https://cloud.google.com/sql/docs/postgres/admin-api/rest/v1beta4/users#sqlusertype) and [MySQL](https://cloud.google.com/sql/docs/mysql/admin-api/rest/v1beta4/users#sqlusertype).
359
- MySQL also includes "CLOUD_IAM_GROUP", "CLOUD_IAM_GROUP_USER" and "CLOUD_IAM_GROUP_SERVICE_ACCOUNT".
360
+ include "BUILT_IN", "CLOUD_IAM_USER", "CLOUD_IAM_SERVICE_ACCOUNT", "CLOUD_IAM_GROUP",
361
+ "CLOUD_IAM_GROUP_USER" and "CLOUD_IAM_GROUP_SERVICE_ACCOUNT" for
362
+ [Postgres](https://cloud.google.com/sql/docs/postgres/admin-api/rest/v1beta4/users#sqlusertype)
363
+ and [MySQL](https://cloud.google.com/sql/docs/mysql/admin-api/rest/v1beta4/users#sqlusertype).
360
364
  """
361
365
  return pulumi.get(self, "type")
362
366
 
@@ -507,9 +511,10 @@ class User(pulumi.CustomResource):
507
511
  is not provided, the provider project is used.
508
512
  :param pulumi.Input[str] type: The user type. It determines the method to authenticate the
509
513
  user during login. The default is the database's built-in user type. Flags
510
- include "BUILT_IN", "CLOUD_IAM_USER", and "CLOUD_IAM_SERVICE_ACCOUNT" for both
511
- [Postgres](https://cloud.google.com/sql/docs/postgres/admin-api/rest/v1beta4/users#sqlusertype) and [MySQL](https://cloud.google.com/sql/docs/mysql/admin-api/rest/v1beta4/users#sqlusertype).
512
- MySQL also includes "CLOUD_IAM_GROUP", "CLOUD_IAM_GROUP_USER" and "CLOUD_IAM_GROUP_SERVICE_ACCOUNT".
514
+ include "BUILT_IN", "CLOUD_IAM_USER", "CLOUD_IAM_SERVICE_ACCOUNT", "CLOUD_IAM_GROUP",
515
+ "CLOUD_IAM_GROUP_USER" and "CLOUD_IAM_GROUP_SERVICE_ACCOUNT" for
516
+ [Postgres](https://cloud.google.com/sql/docs/postgres/admin-api/rest/v1beta4/users#sqlusertype)
517
+ and [MySQL](https://cloud.google.com/sql/docs/mysql/admin-api/rest/v1beta4/users#sqlusertype).
513
518
  """
514
519
  ...
515
520
  @overload
@@ -714,9 +719,10 @@ class User(pulumi.CustomResource):
714
719
  is not provided, the provider project is used.
715
720
  :param pulumi.Input[str] type: The user type. It determines the method to authenticate the
716
721
  user during login. The default is the database's built-in user type. Flags
717
- include "BUILT_IN", "CLOUD_IAM_USER", and "CLOUD_IAM_SERVICE_ACCOUNT" for both
718
- [Postgres](https://cloud.google.com/sql/docs/postgres/admin-api/rest/v1beta4/users#sqlusertype) and [MySQL](https://cloud.google.com/sql/docs/mysql/admin-api/rest/v1beta4/users#sqlusertype).
719
- MySQL also includes "CLOUD_IAM_GROUP", "CLOUD_IAM_GROUP_USER" and "CLOUD_IAM_GROUP_SERVICE_ACCOUNT".
722
+ include "BUILT_IN", "CLOUD_IAM_USER", "CLOUD_IAM_SERVICE_ACCOUNT", "CLOUD_IAM_GROUP",
723
+ "CLOUD_IAM_GROUP_USER" and "CLOUD_IAM_GROUP_SERVICE_ACCOUNT" for
724
+ [Postgres](https://cloud.google.com/sql/docs/postgres/admin-api/rest/v1beta4/users#sqlusertype)
725
+ and [MySQL](https://cloud.google.com/sql/docs/mysql/admin-api/rest/v1beta4/users#sqlusertype).
720
726
  """
721
727
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
722
728
 
@@ -811,9 +817,10 @@ class User(pulumi.CustomResource):
811
817
  """
812
818
  The user type. It determines the method to authenticate the
813
819
  user during login. The default is the database's built-in user type. Flags
814
- include "BUILT_IN", "CLOUD_IAM_USER", and "CLOUD_IAM_SERVICE_ACCOUNT" for both
815
- [Postgres](https://cloud.google.com/sql/docs/postgres/admin-api/rest/v1beta4/users#sqlusertype) and [MySQL](https://cloud.google.com/sql/docs/mysql/admin-api/rest/v1beta4/users#sqlusertype).
816
- MySQL also includes "CLOUD_IAM_GROUP", "CLOUD_IAM_GROUP_USER" and "CLOUD_IAM_GROUP_SERVICE_ACCOUNT".
820
+ include "BUILT_IN", "CLOUD_IAM_USER", "CLOUD_IAM_SERVICE_ACCOUNT", "CLOUD_IAM_GROUP",
821
+ "CLOUD_IAM_GROUP_USER" and "CLOUD_IAM_GROUP_SERVICE_ACCOUNT" for
822
+ [Postgres](https://cloud.google.com/sql/docs/postgres/admin-api/rest/v1beta4/users#sqlusertype)
823
+ and [MySQL](https://cloud.google.com/sql/docs/mysql/admin-api/rest/v1beta4/users#sqlusertype).
817
824
  """
818
825
  return pulumi.get(self, "type")
819
826
 
@@ -23,6 +23,8 @@ __all__ = [
23
23
  'BucketCustomPlacementConfigArgsDict',
24
24
  'BucketEncryptionArgs',
25
25
  'BucketEncryptionArgsDict',
26
+ 'BucketHierarchicalNamespaceArgs',
27
+ 'BucketHierarchicalNamespaceArgsDict',
26
28
  'BucketIAMBindingConditionArgs',
27
29
  'BucketIAMBindingConditionArgsDict',
28
30
  'BucketIAMMemberConditionArgs',
@@ -355,6 +357,37 @@ class BucketEncryptionArgs:
355
357
  pulumi.set(self, "default_kms_key_name", value)
356
358
 
357
359
 
360
+ if not MYPY:
361
+ class BucketHierarchicalNamespaceArgsDict(TypedDict):
362
+ enabled: pulumi.Input[bool]
363
+ """
364
+ Enables hierarchical namespace for the bucket.
365
+ """
366
+ elif False:
367
+ BucketHierarchicalNamespaceArgsDict: TypeAlias = Mapping[str, Any]
368
+
369
+ @pulumi.input_type
370
+ class BucketHierarchicalNamespaceArgs:
371
+ def __init__(__self__, *,
372
+ enabled: pulumi.Input[bool]):
373
+ """
374
+ :param pulumi.Input[bool] enabled: Enables hierarchical namespace for the bucket.
375
+ """
376
+ pulumi.set(__self__, "enabled", enabled)
377
+
378
+ @property
379
+ @pulumi.getter
380
+ def enabled(self) -> pulumi.Input[bool]:
381
+ """
382
+ Enables hierarchical namespace for the bucket.
383
+ """
384
+ return pulumi.get(self, "enabled")
385
+
386
+ @enabled.setter
387
+ def enabled(self, value: pulumi.Input[bool]):
388
+ pulumi.set(self, "enabled", value)
389
+
390
+
358
391
  if not MYPY:
359
392
  class BucketIAMBindingConditionArgsDict(TypedDict):
360
393
  expression: pulumi.Input[str]
@@ -29,6 +29,7 @@ class BucketArgs:
29
29
  enable_object_retention: Optional[pulumi.Input[bool]] = None,
30
30
  encryption: Optional[pulumi.Input['BucketEncryptionArgs']] = None,
31
31
  force_destroy: Optional[pulumi.Input[bool]] = None,
32
+ hierarchical_namespace: Optional[pulumi.Input['BucketHierarchicalNamespaceArgs']] = None,
32
33
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
33
34
  lifecycle_rules: Optional[pulumi.Input[Sequence[pulumi.Input['BucketLifecycleRuleArgs']]]] = None,
34
35
  logging: Optional[pulumi.Input['BucketLoggingArgs']] = None,
@@ -57,6 +58,7 @@ class BucketArgs:
57
58
  :param pulumi.Input[bool] force_destroy: When deleting a bucket, this
58
59
  boolean option will delete all contained objects. If you try to delete a
59
60
  bucket that contains objects, the provider will fail that run.
61
+ :param pulumi.Input['BucketHierarchicalNamespaceArgs'] hierarchical_namespace: The bucket's hierarchical namespace policy, which defines the bucket capability to handle folders in logical structure. Structure is documented below. To use this configuration, `uniform_bucket_level_access` must be enabled on bucket.
60
62
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: A map of key/value label pairs to assign to the bucket.
61
63
  :param pulumi.Input[Sequence[pulumi.Input['BucketLifecycleRuleArgs']]] lifecycle_rules: The bucket's [Lifecycle Rules](https://cloud.google.com/storage/docs/lifecycle#configuration) configuration. Multiple blocks of this type are permitted. Structure is documented below.
62
64
  :param pulumi.Input['BucketLoggingArgs'] logging: The bucket's [Access & Storage Logs](https://cloud.google.com/storage/docs/access-logs) configuration. Structure is documented below.
@@ -89,6 +91,8 @@ class BucketArgs:
89
91
  pulumi.set(__self__, "encryption", encryption)
90
92
  if force_destroy is not None:
91
93
  pulumi.set(__self__, "force_destroy", force_destroy)
94
+ if hierarchical_namespace is not None:
95
+ pulumi.set(__self__, "hierarchical_namespace", hierarchical_namespace)
92
96
  if labels is not None:
93
97
  pulumi.set(__self__, "labels", labels)
94
98
  if lifecycle_rules is not None:
@@ -218,6 +222,18 @@ class BucketArgs:
218
222
  def force_destroy(self, value: Optional[pulumi.Input[bool]]):
219
223
  pulumi.set(self, "force_destroy", value)
220
224
 
225
+ @property
226
+ @pulumi.getter(name="hierarchicalNamespace")
227
+ def hierarchical_namespace(self) -> Optional[pulumi.Input['BucketHierarchicalNamespaceArgs']]:
228
+ """
229
+ The bucket's hierarchical namespace policy, which defines the bucket capability to handle folders in logical structure. Structure is documented below. To use this configuration, `uniform_bucket_level_access` must be enabled on bucket.
230
+ """
231
+ return pulumi.get(self, "hierarchical_namespace")
232
+
233
+ @hierarchical_namespace.setter
234
+ def hierarchical_namespace(self, value: Optional[pulumi.Input['BucketHierarchicalNamespaceArgs']]):
235
+ pulumi.set(self, "hierarchical_namespace", value)
236
+
221
237
  @property
222
238
  @pulumi.getter
223
239
  def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
@@ -400,6 +416,7 @@ class _BucketState:
400
416
  enable_object_retention: Optional[pulumi.Input[bool]] = None,
401
417
  encryption: Optional[pulumi.Input['BucketEncryptionArgs']] = None,
402
418
  force_destroy: Optional[pulumi.Input[bool]] = None,
419
+ hierarchical_namespace: Optional[pulumi.Input['BucketHierarchicalNamespaceArgs']] = None,
403
420
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
404
421
  lifecycle_rules: Optional[pulumi.Input[Sequence[pulumi.Input['BucketLifecycleRuleArgs']]]] = None,
405
422
  location: Optional[pulumi.Input[str]] = None,
@@ -430,6 +447,7 @@ class _BucketState:
430
447
  :param pulumi.Input[bool] force_destroy: When deleting a bucket, this
431
448
  boolean option will delete all contained objects. If you try to delete a
432
449
  bucket that contains objects, the provider will fail that run.
450
+ :param pulumi.Input['BucketHierarchicalNamespaceArgs'] hierarchical_namespace: The bucket's hierarchical namespace policy, which defines the bucket capability to handle folders in logical structure. Structure is documented below. To use this configuration, `uniform_bucket_level_access` must be enabled on bucket.
433
451
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: A map of key/value label pairs to assign to the bucket.
434
452
  :param pulumi.Input[Sequence[pulumi.Input['BucketLifecycleRuleArgs']]] lifecycle_rules: The bucket's [Lifecycle Rules](https://cloud.google.com/storage/docs/lifecycle#configuration) configuration. Multiple blocks of this type are permitted. Structure is documented below.
435
453
  :param pulumi.Input[str] location: The [GCS location](https://cloud.google.com/storage/docs/bucket-locations).
@@ -470,6 +488,8 @@ class _BucketState:
470
488
  pulumi.set(__self__, "encryption", encryption)
471
489
  if force_destroy is not None:
472
490
  pulumi.set(__self__, "force_destroy", force_destroy)
491
+ if hierarchical_namespace is not None:
492
+ pulumi.set(__self__, "hierarchical_namespace", hierarchical_namespace)
473
493
  if labels is not None:
474
494
  pulumi.set(__self__, "labels", labels)
475
495
  if lifecycle_rules is not None:
@@ -604,6 +624,18 @@ class _BucketState:
604
624
  def force_destroy(self, value: Optional[pulumi.Input[bool]]):
605
625
  pulumi.set(self, "force_destroy", value)
606
626
 
627
+ @property
628
+ @pulumi.getter(name="hierarchicalNamespace")
629
+ def hierarchical_namespace(self) -> Optional[pulumi.Input['BucketHierarchicalNamespaceArgs']]:
630
+ """
631
+ The bucket's hierarchical namespace policy, which defines the bucket capability to handle folders in logical structure. Structure is documented below. To use this configuration, `uniform_bucket_level_access` must be enabled on bucket.
632
+ """
633
+ return pulumi.get(self, "hierarchical_namespace")
634
+
635
+ @hierarchical_namespace.setter
636
+ def hierarchical_namespace(self, value: Optional[pulumi.Input['BucketHierarchicalNamespaceArgs']]):
637
+ pulumi.set(self, "hierarchical_namespace", value)
638
+
607
639
  @property
608
640
  @pulumi.getter
609
641
  def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
@@ -849,6 +881,7 @@ class Bucket(pulumi.CustomResource):
849
881
  enable_object_retention: Optional[pulumi.Input[bool]] = None,
850
882
  encryption: Optional[pulumi.Input[Union['BucketEncryptionArgs', 'BucketEncryptionArgsDict']]] = None,
851
883
  force_destroy: Optional[pulumi.Input[bool]] = None,
884
+ hierarchical_namespace: Optional[pulumi.Input[Union['BucketHierarchicalNamespaceArgs', 'BucketHierarchicalNamespaceArgsDict']]] = None,
852
885
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
853
886
  lifecycle_rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['BucketLifecycleRuleArgs', 'BucketLifecycleRuleArgsDict']]]]] = None,
854
887
  location: Optional[pulumi.Input[str]] = None,
@@ -1014,6 +1047,7 @@ class Bucket(pulumi.CustomResource):
1014
1047
  :param pulumi.Input[bool] force_destroy: When deleting a bucket, this
1015
1048
  boolean option will delete all contained objects. If you try to delete a
1016
1049
  bucket that contains objects, the provider will fail that run.
1050
+ :param pulumi.Input[Union['BucketHierarchicalNamespaceArgs', 'BucketHierarchicalNamespaceArgsDict']] hierarchical_namespace: The bucket's hierarchical namespace policy, which defines the bucket capability to handle folders in logical structure. Structure is documented below. To use this configuration, `uniform_bucket_level_access` must be enabled on bucket.
1017
1051
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: A map of key/value label pairs to assign to the bucket.
1018
1052
  :param pulumi.Input[Sequence[pulumi.Input[Union['BucketLifecycleRuleArgs', 'BucketLifecycleRuleArgsDict']]]] lifecycle_rules: The bucket's [Lifecycle Rules](https://cloud.google.com/storage/docs/lifecycle#configuration) configuration. Multiple blocks of this type are permitted. Structure is documented below.
1019
1053
  :param pulumi.Input[str] location: The [GCS location](https://cloud.google.com/storage/docs/bucket-locations).
@@ -1200,6 +1234,7 @@ class Bucket(pulumi.CustomResource):
1200
1234
  enable_object_retention: Optional[pulumi.Input[bool]] = None,
1201
1235
  encryption: Optional[pulumi.Input[Union['BucketEncryptionArgs', 'BucketEncryptionArgsDict']]] = None,
1202
1236
  force_destroy: Optional[pulumi.Input[bool]] = None,
1237
+ hierarchical_namespace: Optional[pulumi.Input[Union['BucketHierarchicalNamespaceArgs', 'BucketHierarchicalNamespaceArgsDict']]] = None,
1203
1238
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
1204
1239
  lifecycle_rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['BucketLifecycleRuleArgs', 'BucketLifecycleRuleArgsDict']]]]] = None,
1205
1240
  location: Optional[pulumi.Input[str]] = None,
@@ -1231,6 +1266,7 @@ class Bucket(pulumi.CustomResource):
1231
1266
  __props__.__dict__["enable_object_retention"] = enable_object_retention
1232
1267
  __props__.__dict__["encryption"] = encryption
1233
1268
  __props__.__dict__["force_destroy"] = force_destroy
1269
+ __props__.__dict__["hierarchical_namespace"] = hierarchical_namespace
1234
1270
  __props__.__dict__["labels"] = labels
1235
1271
  __props__.__dict__["lifecycle_rules"] = lifecycle_rules
1236
1272
  if location is None and not opts.urn:
@@ -1273,6 +1309,7 @@ class Bucket(pulumi.CustomResource):
1273
1309
  enable_object_retention: Optional[pulumi.Input[bool]] = None,
1274
1310
  encryption: Optional[pulumi.Input[Union['BucketEncryptionArgs', 'BucketEncryptionArgsDict']]] = None,
1275
1311
  force_destroy: Optional[pulumi.Input[bool]] = None,
1312
+ hierarchical_namespace: Optional[pulumi.Input[Union['BucketHierarchicalNamespaceArgs', 'BucketHierarchicalNamespaceArgsDict']]] = None,
1276
1313
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
1277
1314
  lifecycle_rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['BucketLifecycleRuleArgs', 'BucketLifecycleRuleArgsDict']]]]] = None,
1278
1315
  location: Optional[pulumi.Input[str]] = None,
@@ -1308,6 +1345,7 @@ class Bucket(pulumi.CustomResource):
1308
1345
  :param pulumi.Input[bool] force_destroy: When deleting a bucket, this
1309
1346
  boolean option will delete all contained objects. If you try to delete a
1310
1347
  bucket that contains objects, the provider will fail that run.
1348
+ :param pulumi.Input[Union['BucketHierarchicalNamespaceArgs', 'BucketHierarchicalNamespaceArgsDict']] hierarchical_namespace: The bucket's hierarchical namespace policy, which defines the bucket capability to handle folders in logical structure. Structure is documented below. To use this configuration, `uniform_bucket_level_access` must be enabled on bucket.
1311
1349
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: A map of key/value label pairs to assign to the bucket.
1312
1350
  :param pulumi.Input[Sequence[pulumi.Input[Union['BucketLifecycleRuleArgs', 'BucketLifecycleRuleArgsDict']]]] lifecycle_rules: The bucket's [Lifecycle Rules](https://cloud.google.com/storage/docs/lifecycle#configuration) configuration. Multiple blocks of this type are permitted. Structure is documented below.
1313
1351
  :param pulumi.Input[str] location: The [GCS location](https://cloud.google.com/storage/docs/bucket-locations).
@@ -1344,6 +1382,7 @@ class Bucket(pulumi.CustomResource):
1344
1382
  __props__.__dict__["enable_object_retention"] = enable_object_retention
1345
1383
  __props__.__dict__["encryption"] = encryption
1346
1384
  __props__.__dict__["force_destroy"] = force_destroy
1385
+ __props__.__dict__["hierarchical_namespace"] = hierarchical_namespace
1347
1386
  __props__.__dict__["labels"] = labels
1348
1387
  __props__.__dict__["lifecycle_rules"] = lifecycle_rules
1349
1388
  __props__.__dict__["location"] = location
@@ -1428,6 +1467,14 @@ class Bucket(pulumi.CustomResource):
1428
1467
  """
1429
1468
  return pulumi.get(self, "force_destroy")
1430
1469
 
1470
+ @property
1471
+ @pulumi.getter(name="hierarchicalNamespace")
1472
+ def hierarchical_namespace(self) -> pulumi.Output[Optional['outputs.BucketHierarchicalNamespace']]:
1473
+ """
1474
+ The bucket's hierarchical namespace policy, which defines the bucket capability to handle folders in logical structure. Structure is documented below. To use this configuration, `uniform_bucket_level_access` must be enabled on bucket.
1475
+ """
1476
+ return pulumi.get(self, "hierarchical_namespace")
1477
+
1431
1478
  @property
1432
1479
  @pulumi.getter
1433
1480
  def labels(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
@@ -487,7 +487,7 @@ class BucketIAMBinding(pulumi.CustomResource):
487
487
  $ pulumi import gcp:storage/bucketIAMBinding:BucketIAMBinding editor b/{{bucket}}
488
488
  ```
489
489
 
490
- -> **Custom Roles**: If you're importing a IAM resource with a custom role, make sure to use the
490
+ -> **Custom Roles** If you're importing a IAM resource with a custom role, make sure to use the
491
491
 
492
492
  full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.
493
493
 
@@ -767,7 +767,7 @@ class BucketIAMBinding(pulumi.CustomResource):
767
767
  $ pulumi import gcp:storage/bucketIAMBinding:BucketIAMBinding editor b/{{bucket}}
768
768
  ```
769
769
 
770
- -> **Custom Roles**: If you're importing a IAM resource with a custom role, make sure to use the
770
+ -> **Custom Roles** If you're importing a IAM resource with a custom role, make sure to use the
771
771
 
772
772
  full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.
773
773
 
@@ -487,7 +487,7 @@ class BucketIAMMember(pulumi.CustomResource):
487
487
  $ pulumi import gcp:storage/bucketIAMMember:BucketIAMMember editor b/{{bucket}}
488
488
  ```
489
489
 
490
- -> **Custom Roles**: If you're importing a IAM resource with a custom role, make sure to use the
490
+ -> **Custom Roles** If you're importing a IAM resource with a custom role, make sure to use the
491
491
 
492
492
  full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.
493
493
 
@@ -767,7 +767,7 @@ class BucketIAMMember(pulumi.CustomResource):
767
767
  $ pulumi import gcp:storage/bucketIAMMember:BucketIAMMember editor b/{{bucket}}
768
768
  ```
769
769
 
770
- -> **Custom Roles**: If you're importing a IAM resource with a custom role, make sure to use the
770
+ -> **Custom Roles** If you're importing a IAM resource with a custom role, make sure to use the
771
771
 
772
772
  full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.
773
773
 
@@ -372,7 +372,7 @@ class BucketIAMPolicy(pulumi.CustomResource):
372
372
  $ pulumi import gcp:storage/bucketIAMPolicy:BucketIAMPolicy editor b/{{bucket}}
373
373
  ```
374
374
 
375
- -> **Custom Roles**: If you're importing a IAM resource with a custom role, make sure to use the
375
+ -> **Custom Roles** If you're importing a IAM resource with a custom role, make sure to use the
376
376
 
377
377
  full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.
378
378
 
@@ -638,7 +638,7 @@ class BucketIAMPolicy(pulumi.CustomResource):
638
638
  $ pulumi import gcp:storage/bucketIAMPolicy:BucketIAMPolicy editor b/{{bucket}}
639
639
  ```
640
640
 
641
- -> **Custom Roles**: If you're importing a IAM resource with a custom role, make sure to use the
641
+ -> **Custom Roles** If you're importing a IAM resource with a custom role, make sure to use the
642
642
 
643
643
  full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.
644
644
 
@@ -27,7 +27,7 @@ class GetBucketResult:
27
27
  """
28
28
  A collection of values returned by getBucket.
29
29
  """
30
- def __init__(__self__, autoclasses=None, cors=None, custom_placement_configs=None, default_event_based_hold=None, effective_labels=None, enable_object_retention=None, encryptions=None, force_destroy=None, id=None, labels=None, lifecycle_rules=None, location=None, loggings=None, name=None, project=None, project_number=None, public_access_prevention=None, pulumi_labels=None, requester_pays=None, retention_policies=None, rpo=None, self_link=None, soft_delete_policies=None, storage_class=None, uniform_bucket_level_access=None, url=None, versionings=None, websites=None):
30
+ def __init__(__self__, autoclasses=None, cors=None, custom_placement_configs=None, default_event_based_hold=None, effective_labels=None, enable_object_retention=None, encryptions=None, force_destroy=None, hierarchical_namespaces=None, id=None, labels=None, lifecycle_rules=None, location=None, loggings=None, name=None, project=None, project_number=None, public_access_prevention=None, pulumi_labels=None, requester_pays=None, retention_policies=None, rpo=None, self_link=None, soft_delete_policies=None, storage_class=None, uniform_bucket_level_access=None, url=None, versionings=None, websites=None):
31
31
  if autoclasses and not isinstance(autoclasses, list):
32
32
  raise TypeError("Expected argument 'autoclasses' to be a list")
33
33
  pulumi.set(__self__, "autoclasses", autoclasses)
@@ -52,6 +52,9 @@ class GetBucketResult:
52
52
  if force_destroy and not isinstance(force_destroy, bool):
53
53
  raise TypeError("Expected argument 'force_destroy' to be a bool")
54
54
  pulumi.set(__self__, "force_destroy", force_destroy)
55
+ if hierarchical_namespaces and not isinstance(hierarchical_namespaces, list):
56
+ raise TypeError("Expected argument 'hierarchical_namespaces' to be a list")
57
+ pulumi.set(__self__, "hierarchical_namespaces", hierarchical_namespaces)
55
58
  if id and not isinstance(id, str):
56
59
  raise TypeError("Expected argument 'id' to be a str")
57
60
  pulumi.set(__self__, "id", id)
@@ -153,6 +156,11 @@ class GetBucketResult:
153
156
  def force_destroy(self) -> bool:
154
157
  return pulumi.get(self, "force_destroy")
155
158
 
159
+ @property
160
+ @pulumi.getter(name="hierarchicalNamespaces")
161
+ def hierarchical_namespaces(self) -> Sequence['outputs.GetBucketHierarchicalNamespaceResult']:
162
+ return pulumi.get(self, "hierarchical_namespaces")
163
+
156
164
  @property
157
165
  @pulumi.getter
158
166
  def id(self) -> str:
@@ -271,6 +279,7 @@ class AwaitableGetBucketResult(GetBucketResult):
271
279
  enable_object_retention=self.enable_object_retention,
272
280
  encryptions=self.encryptions,
273
281
  force_destroy=self.force_destroy,
282
+ hierarchical_namespaces=self.hierarchical_namespaces,
274
283
  id=self.id,
275
284
  labels=self.labels,
276
285
  lifecycle_rules=self.lifecycle_rules,
@@ -330,6 +339,7 @@ def get_bucket(name: Optional[str] = None,
330
339
  enable_object_retention=pulumi.get(__ret__, 'enable_object_retention'),
331
340
  encryptions=pulumi.get(__ret__, 'encryptions'),
332
341
  force_destroy=pulumi.get(__ret__, 'force_destroy'),
342
+ hierarchical_namespaces=pulumi.get(__ret__, 'hierarchical_namespaces'),
333
343
  id=pulumi.get(__ret__, 'id'),
334
344
  labels=pulumi.get(__ret__, 'labels'),
335
345
  lifecycle_rules=pulumi.get(__ret__, 'lifecycle_rules'),
@@ -386,6 +396,7 @@ def get_bucket_output(name: Optional[pulumi.Input[str]] = None,
386
396
  enable_object_retention=pulumi.get(__response__, 'enable_object_retention'),
387
397
  encryptions=pulumi.get(__response__, 'encryptions'),
388
398
  force_destroy=pulumi.get(__response__, 'force_destroy'),
399
+ hierarchical_namespaces=pulumi.get(__response__, 'hierarchical_namespaces'),
389
400
  id=pulumi.get(__response__, 'id'),
390
401
  labels=pulumi.get(__response__, 'labels'),
391
402
  lifecycle_rules=pulumi.get(__response__, 'lifecycle_rules'),
@@ -383,7 +383,7 @@ class ManagedFolderIamBinding(pulumi.CustomResource):
383
383
  })
384
384
  ```
385
385
 
386
- ## > **Custom Roles**: If you're importing a IAM resource with a custom role, make sure to use the
386
+ ## > **Custom Roles** If you're importing a IAM resource with a custom role, make sure to use the
387
387
 
388
388
  full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.
389
389
  ---
@@ -532,7 +532,7 @@ class ManagedFolderIamBinding(pulumi.CustomResource):
532
532
  $ pulumi import gcp:storage/managedFolderIamBinding:ManagedFolderIamBinding editor b/{{bucket}}/managedFolders/{{managed_folder}}
533
533
  ```
534
534
 
535
- -> **Custom Roles**: If you're importing a IAM resource with a custom role, make sure to use the
535
+ -> **Custom Roles** If you're importing a IAM resource with a custom role, make sure to use the
536
536
 
537
537
  full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.
538
538
 
@@ -677,7 +677,7 @@ class ManagedFolderIamBinding(pulumi.CustomResource):
677
677
  })
678
678
  ```
679
679
 
680
- ## > **Custom Roles**: If you're importing a IAM resource with a custom role, make sure to use the
680
+ ## > **Custom Roles** If you're importing a IAM resource with a custom role, make sure to use the
681
681
 
682
682
  full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.
683
683
  ---
@@ -826,7 +826,7 @@ class ManagedFolderIamBinding(pulumi.CustomResource):
826
826
  $ pulumi import gcp:storage/managedFolderIamBinding:ManagedFolderIamBinding editor b/{{bucket}}/managedFolders/{{managed_folder}}
827
827
  ```
828
828
 
829
- -> **Custom Roles**: If you're importing a IAM resource with a custom role, make sure to use the
829
+ -> **Custom Roles** If you're importing a IAM resource with a custom role, make sure to use the
830
830
 
831
831
  full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.
832
832
 
@@ -383,7 +383,7 @@ class ManagedFolderIamMember(pulumi.CustomResource):
383
383
  })
384
384
  ```
385
385
 
386
- ## > **Custom Roles**: If you're importing a IAM resource with a custom role, make sure to use the
386
+ ## > **Custom Roles** If you're importing a IAM resource with a custom role, make sure to use the
387
387
 
388
388
  full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.
389
389
  ---
@@ -532,7 +532,7 @@ class ManagedFolderIamMember(pulumi.CustomResource):
532
532
  $ pulumi import gcp:storage/managedFolderIamMember:ManagedFolderIamMember editor b/{{bucket}}/managedFolders/{{managed_folder}}
533
533
  ```
534
534
 
535
- -> **Custom Roles**: If you're importing a IAM resource with a custom role, make sure to use the
535
+ -> **Custom Roles** If you're importing a IAM resource with a custom role, make sure to use the
536
536
 
537
537
  full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.
538
538
 
@@ -677,7 +677,7 @@ class ManagedFolderIamMember(pulumi.CustomResource):
677
677
  })
678
678
  ```
679
679
 
680
- ## > **Custom Roles**: If you're importing a IAM resource with a custom role, make sure to use the
680
+ ## > **Custom Roles** If you're importing a IAM resource with a custom role, make sure to use the
681
681
 
682
682
  full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.
683
683
  ---
@@ -826,7 +826,7 @@ class ManagedFolderIamMember(pulumi.CustomResource):
826
826
  $ pulumi import gcp:storage/managedFolderIamMember:ManagedFolderIamMember editor b/{{bucket}}/managedFolders/{{managed_folder}}
827
827
  ```
828
828
 
829
- -> **Custom Roles**: If you're importing a IAM resource with a custom role, make sure to use the
829
+ -> **Custom Roles** If you're importing a IAM resource with a custom role, make sure to use the
830
830
 
831
831
  full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.
832
832
 
@@ -268,7 +268,7 @@ class ManagedFolderIamPolicy(pulumi.CustomResource):
268
268
  })
269
269
  ```
270
270
 
271
- ## > **Custom Roles**: If you're importing a IAM resource with a custom role, make sure to use the
271
+ ## > **Custom Roles** If you're importing a IAM resource with a custom role, make sure to use the
272
272
 
273
273
  full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.
274
274
  ---
@@ -417,7 +417,7 @@ class ManagedFolderIamPolicy(pulumi.CustomResource):
417
417
  $ pulumi import gcp:storage/managedFolderIamPolicy:ManagedFolderIamPolicy editor b/{{bucket}}/managedFolders/{{managed_folder}}
418
418
  ```
419
419
 
420
- -> **Custom Roles**: If you're importing a IAM resource with a custom role, make sure to use the
420
+ -> **Custom Roles** If you're importing a IAM resource with a custom role, make sure to use the
421
421
 
422
422
  full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.
423
423
 
@@ -548,7 +548,7 @@ class ManagedFolderIamPolicy(pulumi.CustomResource):
548
548
  })
549
549
  ```
550
550
 
551
- ## > **Custom Roles**: If you're importing a IAM resource with a custom role, make sure to use the
551
+ ## > **Custom Roles** If you're importing a IAM resource with a custom role, make sure to use the
552
552
 
553
553
  full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.
554
554
  ---
@@ -697,7 +697,7 @@ class ManagedFolderIamPolicy(pulumi.CustomResource):
697
697
  $ pulumi import gcp:storage/managedFolderIamPolicy:ManagedFolderIamPolicy editor b/{{bucket}}/managedFolders/{{managed_folder}}
698
698
  ```
699
699
 
700
- -> **Custom Roles**: If you're importing a IAM resource with a custom role, make sure to use the
700
+ -> **Custom Roles** If you're importing a IAM resource with a custom role, make sure to use the
701
701
 
702
702
  full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.
703
703
 
@@ -20,6 +20,7 @@ __all__ = [
20
20
  'BucketCor',
21
21
  'BucketCustomPlacementConfig',
22
22
  'BucketEncryption',
23
+ 'BucketHierarchicalNamespace',
23
24
  'BucketIAMBindingCondition',
24
25
  'BucketIAMMemberCondition',
25
26
  'BucketLifecycleRule',
@@ -66,6 +67,7 @@ __all__ = [
66
67
  'GetBucketCorResult',
67
68
  'GetBucketCustomPlacementConfigResult',
68
69
  'GetBucketEncryptionResult',
70
+ 'GetBucketHierarchicalNamespaceResult',
69
71
  'GetBucketLifecycleRuleResult',
70
72
  'GetBucketLifecycleRuleActionResult',
71
73
  'GetBucketLifecycleRuleConditionResult',
@@ -299,6 +301,24 @@ class BucketEncryption(dict):
299
301
  return pulumi.get(self, "default_kms_key_name")
300
302
 
301
303
 
304
+ @pulumi.output_type
305
+ class BucketHierarchicalNamespace(dict):
306
+ def __init__(__self__, *,
307
+ enabled: bool):
308
+ """
309
+ :param bool enabled: Enables hierarchical namespace for the bucket.
310
+ """
311
+ pulumi.set(__self__, "enabled", enabled)
312
+
313
+ @property
314
+ @pulumi.getter
315
+ def enabled(self) -> bool:
316
+ """
317
+ Enables hierarchical namespace for the bucket.
318
+ """
319
+ return pulumi.get(self, "enabled")
320
+
321
+
302
322
  @pulumi.output_type
303
323
  class BucketIAMBindingCondition(dict):
304
324
  def __init__(__self__, *,
@@ -2838,6 +2858,24 @@ class GetBucketEncryptionResult(dict):
2838
2858
  return pulumi.get(self, "default_kms_key_name")
2839
2859
 
2840
2860
 
2861
+ @pulumi.output_type
2862
+ class GetBucketHierarchicalNamespaceResult(dict):
2863
+ def __init__(__self__, *,
2864
+ enabled: bool):
2865
+ """
2866
+ :param bool enabled: Set this field true to organize bucket with logical file system structure.
2867
+ """
2868
+ pulumi.set(__self__, "enabled", enabled)
2869
+
2870
+ @property
2871
+ @pulumi.getter
2872
+ def enabled(self) -> bool:
2873
+ """
2874
+ Set this field true to organize bucket with logical file system structure.
2875
+ """
2876
+ return pulumi.get(self, "enabled")
2877
+
2878
+
2841
2879
  @pulumi.output_type
2842
2880
  class GetBucketLifecycleRuleResult(dict):
2843
2881
  def __init__(__self__, *,
@@ -279,7 +279,7 @@ class TagKeyIamBinding(pulumi.CustomResource):
279
279
  member="user:jane@example.com")
280
280
  ```
281
281
 
282
- ## > **Custom Roles**: If you're importing a IAM resource with a custom role, make sure to use the
282
+ ## > **Custom Roles** If you're importing a IAM resource with a custom role, make sure to use the
283
283
 
284
284
  full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.
285
285
  ---
@@ -368,7 +368,7 @@ class TagKeyIamBinding(pulumi.CustomResource):
368
368
  $ pulumi import gcp:tags/tagKeyIamBinding:TagKeyIamBinding editor tagKeys/{{tag_key}}
369
369
  ```
370
370
 
371
- -> **Custom Roles**: If you're importing a IAM resource with a custom role, make sure to use the
371
+ -> **Custom Roles** If you're importing a IAM resource with a custom role, make sure to use the
372
372
 
373
373
  full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.
374
374
 
@@ -450,7 +450,7 @@ class TagKeyIamBinding(pulumi.CustomResource):
450
450
  member="user:jane@example.com")
451
451
  ```
452
452
 
453
- ## > **Custom Roles**: If you're importing a IAM resource with a custom role, make sure to use the
453
+ ## > **Custom Roles** If you're importing a IAM resource with a custom role, make sure to use the
454
454
 
455
455
  full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.
456
456
  ---
@@ -539,7 +539,7 @@ class TagKeyIamBinding(pulumi.CustomResource):
539
539
  $ pulumi import gcp:tags/tagKeyIamBinding:TagKeyIamBinding editor tagKeys/{{tag_key}}
540
540
  ```
541
541
 
542
- -> **Custom Roles**: If you're importing a IAM resource with a custom role, make sure to use the
542
+ -> **Custom Roles** If you're importing a IAM resource with a custom role, make sure to use the
543
543
 
544
544
  full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.
545
545