pulumi-gcp 7.29.0a1719417555__py3-none-any.whl → 7.30.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 (1485) hide show
  1. pulumi_gcp/__init__.py +32 -0
  2. pulumi_gcp/_inputs.py +15 -0
  3. pulumi_gcp/accessapproval/get_folder_service_account.py +5 -0
  4. pulumi_gcp/accessapproval/get_organization_service_account.py +5 -0
  5. pulumi_gcp/accessapproval/get_project_service_account.py +5 -0
  6. pulumi_gcp/accesscontextmanager/_inputs.py +2066 -6
  7. pulumi_gcp/accesscontextmanager/access_level.py +37 -32
  8. pulumi_gcp/accesscontextmanager/access_level_condition.py +53 -48
  9. pulumi_gcp/accesscontextmanager/access_levels.py +70 -65
  10. pulumi_gcp/accesscontextmanager/access_policy.py +5 -0
  11. pulumi_gcp/accesscontextmanager/access_policy_iam_binding.py +24 -19
  12. pulumi_gcp/accesscontextmanager/access_policy_iam_member.py +24 -19
  13. pulumi_gcp/accesscontextmanager/access_policy_iam_policy.py +21 -16
  14. pulumi_gcp/accesscontextmanager/authorized_orgs_desc.py +5 -0
  15. pulumi_gcp/accesscontextmanager/egress_policy.py +5 -0
  16. pulumi_gcp/accesscontextmanager/gcp_user_access_binding.py +33 -28
  17. pulumi_gcp/accesscontextmanager/get_access_policy_iam_policy.py +5 -0
  18. pulumi_gcp/accesscontextmanager/ingress_policy.py +5 -0
  19. pulumi_gcp/accesscontextmanager/outputs.py +5 -0
  20. pulumi_gcp/accesscontextmanager/service_perimeter.py +201 -196
  21. pulumi_gcp/accesscontextmanager/service_perimeter_dry_run_resource.py +11 -6
  22. pulumi_gcp/accesscontextmanager/service_perimeter_egress_policy.py +15 -10
  23. pulumi_gcp/accesscontextmanager/service_perimeter_ingress_policy.py +15 -10
  24. pulumi_gcp/accesscontextmanager/service_perimeter_resource.py +11 -6
  25. pulumi_gcp/accesscontextmanager/service_perimeters.py +60 -55
  26. pulumi_gcp/activedirectory/domain.py +5 -0
  27. pulumi_gcp/activedirectory/domain_trust.py +5 -0
  28. pulumi_gcp/activedirectory/peering.py +5 -0
  29. pulumi_gcp/alloydb/_inputs.py +535 -0
  30. pulumi_gcp/alloydb/backup.py +26 -21
  31. pulumi_gcp/alloydb/cluster.py +177 -172
  32. pulumi_gcp/alloydb/get_locations.py +5 -0
  33. pulumi_gcp/alloydb/get_supported_database_flags.py +5 -0
  34. pulumi_gcp/alloydb/instance.py +77 -72
  35. pulumi_gcp/alloydb/outputs.py +5 -0
  36. pulumi_gcp/alloydb/user.py +17 -12
  37. pulumi_gcp/apigateway/_inputs.py +168 -0
  38. pulumi_gcp/apigateway/api.py +5 -0
  39. pulumi_gcp/apigateway/api_config.py +25 -20
  40. pulumi_gcp/apigateway/api_config_iam_binding.py +24 -19
  41. pulumi_gcp/apigateway/api_config_iam_member.py +24 -19
  42. pulumi_gcp/apigateway/api_config_iam_policy.py +21 -16
  43. pulumi_gcp/apigateway/api_iam_binding.py +24 -19
  44. pulumi_gcp/apigateway/api_iam_member.py +24 -19
  45. pulumi_gcp/apigateway/api_iam_policy.py +21 -16
  46. pulumi_gcp/apigateway/gateway.py +5 -0
  47. pulumi_gcp/apigateway/gateway_iam_binding.py +24 -19
  48. pulumi_gcp/apigateway/gateway_iam_member.py +24 -19
  49. pulumi_gcp/apigateway/gateway_iam_policy.py +21 -16
  50. pulumi_gcp/apigateway/get_api_config_iam_policy.py +5 -0
  51. pulumi_gcp/apigateway/get_api_iam_policy.py +5 -0
  52. pulumi_gcp/apigateway/get_gateway_iam_policy.py +5 -0
  53. pulumi_gcp/apigateway/outputs.py +5 -0
  54. pulumi_gcp/apigee/_inputs.py +508 -0
  55. pulumi_gcp/apigee/addons_config.py +60 -55
  56. pulumi_gcp/apigee/endpoint_attachment.py +5 -0
  57. pulumi_gcp/apigee/env_group.py +5 -0
  58. pulumi_gcp/apigee/env_group_attachment.py +5 -0
  59. pulumi_gcp/apigee/env_keystore.py +5 -0
  60. pulumi_gcp/apigee/env_references.py +5 -0
  61. pulumi_gcp/apigee/environment.py +10 -5
  62. pulumi_gcp/apigee/environment_iam_binding.py +24 -19
  63. pulumi_gcp/apigee/environment_iam_member.py +24 -19
  64. pulumi_gcp/apigee/environment_iam_policy.py +21 -16
  65. pulumi_gcp/apigee/flowhook.py +5 -0
  66. pulumi_gcp/apigee/get_environment_iam_policy.py +5 -0
  67. pulumi_gcp/apigee/instance.py +5 -0
  68. pulumi_gcp/apigee/instance_attachment.py +5 -0
  69. pulumi_gcp/apigee/keystores_aliases_key_cert_file.py +10 -5
  70. pulumi_gcp/apigee/keystores_aliases_pkcs12.py +7 -2
  71. pulumi_gcp/apigee/keystores_aliases_self_signed_cert.py +31 -26
  72. pulumi_gcp/apigee/nat_address.py +5 -0
  73. pulumi_gcp/apigee/organization.py +10 -5
  74. pulumi_gcp/apigee/outputs.py +5 -0
  75. pulumi_gcp/apigee/sharedflow.py +7 -2
  76. pulumi_gcp/apigee/sharedflow_deployment.py +5 -0
  77. pulumi_gcp/apigee/sync_authorization.py +5 -0
  78. pulumi_gcp/apigee/target_server.py +10 -5
  79. pulumi_gcp/appengine/_inputs.py +990 -7
  80. pulumi_gcp/appengine/application.py +17 -12
  81. pulumi_gcp/appengine/application_url_dispatch_rules.py +46 -41
  82. pulumi_gcp/appengine/domain_mapping.py +18 -13
  83. pulumi_gcp/appengine/engine_split_traffic.py +50 -45
  84. pulumi_gcp/appengine/firewall_rule.py +5 -0
  85. pulumi_gcp/appengine/flexible_app_version.py +130 -125
  86. pulumi_gcp/appengine/get_default_service_account.py +5 -0
  87. pulumi_gcp/appengine/outputs.py +5 -0
  88. pulumi_gcp/appengine/service_network_settings.py +32 -27
  89. pulumi_gcp/appengine/standard_app_version.py +109 -104
  90. pulumi_gcp/apphub/_inputs.py +370 -0
  91. pulumi_gcp/apphub/application.py +67 -62
  92. pulumi_gcp/apphub/get_application.py +5 -0
  93. pulumi_gcp/apphub/get_discovered_service.py +5 -0
  94. pulumi_gcp/apphub/get_discovered_workload.py +5 -0
  95. pulumi_gcp/apphub/outputs.py +5 -0
  96. pulumi_gcp/apphub/service.py +78 -73
  97. pulumi_gcp/apphub/service_project_attachment.py +5 -0
  98. pulumi_gcp/apphub/workload.py +14 -9
  99. pulumi_gcp/applicationintegration/_inputs.py +324 -0
  100. pulumi_gcp/applicationintegration/auth_config.py +29 -24
  101. pulumi_gcp/applicationintegration/client.py +24 -19
  102. pulumi_gcp/applicationintegration/outputs.py +5 -0
  103. pulumi_gcp/artifactregistry/_inputs.py +392 -0
  104. pulumi_gcp/artifactregistry/get_docker_image.py +7 -2
  105. pulumi_gcp/artifactregistry/get_repository.py +5 -0
  106. pulumi_gcp/artifactregistry/get_repository_iam_policy.py +5 -0
  107. pulumi_gcp/artifactregistry/outputs.py +5 -0
  108. pulumi_gcp/artifactregistry/repository.py +338 -333
  109. pulumi_gcp/artifactregistry/repository_iam_binding.py +24 -19
  110. pulumi_gcp/artifactregistry/repository_iam_member.py +24 -19
  111. pulumi_gcp/artifactregistry/repository_iam_policy.py +21 -16
  112. pulumi_gcp/artifactregistry/vpcsc_config.py +5 -0
  113. pulumi_gcp/assuredworkloads/_inputs.py +117 -0
  114. pulumi_gcp/assuredworkloads/outputs.py +5 -0
  115. pulumi_gcp/assuredworkloads/workload.py +86 -81
  116. pulumi_gcp/backupdisasterrecovery/_inputs.py +41 -0
  117. pulumi_gcp/backupdisasterrecovery/get_management_server.py +5 -0
  118. pulumi_gcp/backupdisasterrecovery/management_server.py +20 -15
  119. pulumi_gcp/backupdisasterrecovery/outputs.py +5 -0
  120. pulumi_gcp/beyondcorp/_inputs.py +86 -0
  121. pulumi_gcp/beyondcorp/app_connection.py +57 -52
  122. pulumi_gcp/beyondcorp/app_connector.py +30 -25
  123. pulumi_gcp/beyondcorp/app_gateway.py +7 -2
  124. pulumi_gcp/beyondcorp/get_app_connection.py +5 -0
  125. pulumi_gcp/beyondcorp/get_app_connector.py +5 -0
  126. pulumi_gcp/beyondcorp/get_app_gateway.py +5 -0
  127. pulumi_gcp/beyondcorp/outputs.py +5 -0
  128. pulumi_gcp/biglake/_inputs.py +64 -0
  129. pulumi_gcp/biglake/catalog.py +5 -0
  130. pulumi_gcp/biglake/database.py +18 -13
  131. pulumi_gcp/biglake/outputs.py +5 -0
  132. pulumi_gcp/biglake/table.py +36 -31
  133. pulumi_gcp/bigquery/_inputs.py +1930 -6
  134. pulumi_gcp/bigquery/app_profile.py +133 -128
  135. pulumi_gcp/bigquery/bi_reservation.py +10 -5
  136. pulumi_gcp/bigquery/capacity_commitment.py +5 -0
  137. pulumi_gcp/bigquery/connection.py +181 -176
  138. pulumi_gcp/bigquery/connection_iam_binding.py +24 -19
  139. pulumi_gcp/bigquery/connection_iam_member.py +24 -19
  140. pulumi_gcp/bigquery/connection_iam_policy.py +21 -16
  141. pulumi_gcp/bigquery/data_transfer_config.py +20 -15
  142. pulumi_gcp/bigquery/dataset.py +132 -127
  143. pulumi_gcp/bigquery/dataset_access.py +72 -67
  144. pulumi_gcp/bigquery/dataset_iam_binding.py +24 -19
  145. pulumi_gcp/bigquery/dataset_iam_member.py +24 -19
  146. pulumi_gcp/bigquery/dataset_iam_policy.py +21 -16
  147. pulumi_gcp/bigquery/get_connection_iam_policy.py +5 -0
  148. pulumi_gcp/bigquery/get_dataset.py +5 -0
  149. pulumi_gcp/bigquery/get_dataset_iam_policy.py +5 -0
  150. pulumi_gcp/bigquery/get_default_service_account.py +5 -0
  151. pulumi_gcp/bigquery/get_table_iam_policy.py +5 -0
  152. pulumi_gcp/bigquery/iam_binding.py +102 -97
  153. pulumi_gcp/bigquery/iam_member.py +102 -97
  154. pulumi_gcp/bigquery/iam_policy.py +97 -92
  155. pulumi_gcp/bigquery/job.py +229 -224
  156. pulumi_gcp/bigquery/outputs.py +5 -0
  157. pulumi_gcp/bigquery/reservation.py +16 -11
  158. pulumi_gcp/bigquery/reservation_assignment.py +5 -0
  159. pulumi_gcp/bigquery/routine.py +114 -109
  160. pulumi_gcp/bigquery/table.py +67 -62
  161. pulumi_gcp/bigqueryanalyticshub/_inputs.py +97 -0
  162. pulumi_gcp/bigqueryanalyticshub/data_exchange.py +5 -0
  163. pulumi_gcp/bigqueryanalyticshub/data_exchange_iam_binding.py +24 -19
  164. pulumi_gcp/bigqueryanalyticshub/data_exchange_iam_member.py +24 -19
  165. pulumi_gcp/bigqueryanalyticshub/data_exchange_iam_policy.py +21 -16
  166. pulumi_gcp/bigqueryanalyticshub/get_data_exchange_iam_policy.py +5 -0
  167. pulumi_gcp/bigqueryanalyticshub/get_listing_iam_policy.py +5 -0
  168. pulumi_gcp/bigqueryanalyticshub/listing.py +45 -40
  169. pulumi_gcp/bigqueryanalyticshub/listing_iam_binding.py +24 -19
  170. pulumi_gcp/bigqueryanalyticshub/listing_iam_member.py +24 -19
  171. pulumi_gcp/bigqueryanalyticshub/listing_iam_policy.py +21 -16
  172. pulumi_gcp/bigqueryanalyticshub/outputs.py +5 -0
  173. pulumi_gcp/bigquerydatapolicy/_inputs.py +40 -0
  174. pulumi_gcp/bigquerydatapolicy/data_policy.py +24 -19
  175. pulumi_gcp/bigquerydatapolicy/data_policy_iam_binding.py +24 -19
  176. pulumi_gcp/bigquerydatapolicy/data_policy_iam_member.py +24 -19
  177. pulumi_gcp/bigquerydatapolicy/data_policy_iam_policy.py +21 -16
  178. pulumi_gcp/bigquerydatapolicy/get_iam_policy.py +5 -0
  179. pulumi_gcp/bigquerydatapolicy/outputs.py +5 -0
  180. pulumi_gcp/bigtable/_inputs.py +202 -0
  181. pulumi_gcp/bigtable/authorized_view.py +10 -5
  182. pulumi_gcp/bigtable/gc_policy.py +113 -54
  183. pulumi_gcp/bigtable/get_instance_iam_policy.py +5 -0
  184. pulumi_gcp/bigtable/get_table_iam_policy.py +5 -0
  185. pulumi_gcp/bigtable/instance.py +52 -47
  186. pulumi_gcp/bigtable/instance_iam_binding.py +24 -19
  187. pulumi_gcp/bigtable/instance_iam_member.py +24 -19
  188. pulumi_gcp/bigtable/instance_iam_policy.py +21 -16
  189. pulumi_gcp/bigtable/outputs.py +5 -0
  190. pulumi_gcp/bigtable/table.py +39 -34
  191. pulumi_gcp/bigtable/table_iam_binding.py +24 -19
  192. pulumi_gcp/bigtable/table_iam_member.py +24 -19
  193. pulumi_gcp/bigtable/table_iam_policy.py +21 -16
  194. pulumi_gcp/billing/_inputs.py +257 -0
  195. pulumi_gcp/billing/account_iam_binding.py +24 -19
  196. pulumi_gcp/billing/account_iam_member.py +24 -19
  197. pulumi_gcp/billing/account_iam_policy.py +21 -16
  198. pulumi_gcp/billing/budget.py +225 -220
  199. pulumi_gcp/billing/get_account_iam_policy.py +5 -0
  200. pulumi_gcp/billing/outputs.py +5 -0
  201. pulumi_gcp/billing/project_info.py +5 -0
  202. pulumi_gcp/billing/sub_account.py +5 -0
  203. pulumi_gcp/binaryauthorization/_inputs.py +199 -0
  204. pulumi_gcp/binaryauthorization/attestor.py +68 -63
  205. pulumi_gcp/binaryauthorization/attestor_iam_binding.py +24 -19
  206. pulumi_gcp/binaryauthorization/attestor_iam_member.py +24 -19
  207. pulumi_gcp/binaryauthorization/attestor_iam_policy.py +21 -16
  208. pulumi_gcp/binaryauthorization/get_attestor_iam_policy.py +5 -0
  209. pulumi_gcp/binaryauthorization/outputs.py +5 -0
  210. pulumi_gcp/binaryauthorization/policy.py +88 -83
  211. pulumi_gcp/blockchainnodeengine/_inputs.py +131 -0
  212. pulumi_gcp/blockchainnodeengine/blockchain_nodes.py +62 -57
  213. pulumi_gcp/blockchainnodeengine/outputs.py +5 -0
  214. pulumi_gcp/certificateauthority/_inputs.py +2157 -36
  215. pulumi_gcp/certificateauthority/authority.py +398 -393
  216. pulumi_gcp/certificateauthority/ca_pool.py +189 -184
  217. pulumi_gcp/certificateauthority/ca_pool_iam_binding.py +102 -97
  218. pulumi_gcp/certificateauthority/ca_pool_iam_member.py +102 -97
  219. pulumi_gcp/certificateauthority/ca_pool_iam_policy.py +97 -92
  220. pulumi_gcp/certificateauthority/certificate.py +636 -631
  221. pulumi_gcp/certificateauthority/certificate_template.py +134 -129
  222. pulumi_gcp/certificateauthority/certificate_template_iam_binding.py +102 -97
  223. pulumi_gcp/certificateauthority/certificate_template_iam_member.py +102 -97
  224. pulumi_gcp/certificateauthority/certificate_template_iam_policy.py +97 -92
  225. pulumi_gcp/certificateauthority/get_authority.py +5 -0
  226. pulumi_gcp/certificateauthority/get_ca_pool_iam_policy.py +5 -0
  227. pulumi_gcp/certificateauthority/get_certificate_template_iam_policy.py +5 -0
  228. pulumi_gcp/certificateauthority/outputs.py +5 -0
  229. pulumi_gcp/certificatemanager/_inputs.py +256 -0
  230. pulumi_gcp/certificatemanager/certificate.py +203 -198
  231. pulumi_gcp/certificatemanager/certificate_issuance_config.py +76 -71
  232. pulumi_gcp/certificatemanager/certificate_map.py +7 -2
  233. pulumi_gcp/certificatemanager/certificate_map_entry.py +13 -8
  234. pulumi_gcp/certificatemanager/dns_authorization.py +7 -2
  235. pulumi_gcp/certificatemanager/get_certificate_map.py +5 -0
  236. pulumi_gcp/certificatemanager/outputs.py +5 -0
  237. pulumi_gcp/certificatemanager/trust_config.py +26 -21
  238. pulumi_gcp/cloudasset/_inputs.py +151 -0
  239. pulumi_gcp/cloudasset/folder_feed.py +35 -30
  240. pulumi_gcp/cloudasset/get_resources_search_all.py +5 -0
  241. pulumi_gcp/cloudasset/get_search_all_resources.py +5 -0
  242. pulumi_gcp/cloudasset/organization_feed.py +35 -30
  243. pulumi_gcp/cloudasset/outputs.py +5 -0
  244. pulumi_gcp/cloudasset/project_feed.py +35 -30
  245. pulumi_gcp/cloudbuild/_inputs.py +1038 -29
  246. pulumi_gcp/cloudbuild/bitbucket_server_config.py +61 -56
  247. pulumi_gcp/cloudbuild/get_trigger.py +5 -0
  248. pulumi_gcp/cloudbuild/outputs.py +5 -0
  249. pulumi_gcp/cloudbuild/trigger.py +733 -728
  250. pulumi_gcp/cloudbuild/worker_pool.py +43 -38
  251. pulumi_gcp/cloudbuildv2/_inputs.py +335 -0
  252. pulumi_gcp/cloudbuildv2/connection.py +106 -101
  253. pulumi_gcp/cloudbuildv2/connection_iam_binding.py +24 -19
  254. pulumi_gcp/cloudbuildv2/connection_iam_member.py +24 -19
  255. pulumi_gcp/cloudbuildv2/connection_iam_policy.py +21 -16
  256. pulumi_gcp/cloudbuildv2/get_connection_iam_policy.py +5 -0
  257. pulumi_gcp/cloudbuildv2/outputs.py +5 -0
  258. pulumi_gcp/cloudbuildv2/repository.py +67 -62
  259. pulumi_gcp/clouddeploy/_inputs.py +700 -0
  260. pulumi_gcp/clouddeploy/automation.py +101 -96
  261. pulumi_gcp/clouddeploy/custom_target_type.py +88 -83
  262. pulumi_gcp/clouddeploy/custom_target_type_iam_binding.py +8 -3
  263. pulumi_gcp/clouddeploy/custom_target_type_iam_member.py +8 -3
  264. pulumi_gcp/clouddeploy/custom_target_type_iam_policy.py +5 -0
  265. pulumi_gcp/clouddeploy/delivery_pipeline.py +162 -157
  266. pulumi_gcp/clouddeploy/delivery_pipeline_iam_binding.py +8 -3
  267. pulumi_gcp/clouddeploy/delivery_pipeline_iam_member.py +8 -3
  268. pulumi_gcp/clouddeploy/delivery_pipeline_iam_policy.py +5 -0
  269. pulumi_gcp/clouddeploy/get_custom_target_type_iam_policy.py +5 -0
  270. pulumi_gcp/clouddeploy/get_delivery_pipeline_iam_policy.py +5 -0
  271. pulumi_gcp/clouddeploy/get_target_iam_policy.py +5 -0
  272. pulumi_gcp/clouddeploy/outputs.py +5 -0
  273. pulumi_gcp/clouddeploy/target.py +69 -64
  274. pulumi_gcp/clouddeploy/target_iam_binding.py +8 -3
  275. pulumi_gcp/clouddeploy/target_iam_member.py +8 -3
  276. pulumi_gcp/clouddeploy/target_iam_policy.py +5 -0
  277. pulumi_gcp/clouddomains/_inputs.py +372 -0
  278. pulumi_gcp/clouddomains/outputs.py +5 -0
  279. pulumi_gcp/clouddomains/registration.py +121 -116
  280. pulumi_gcp/cloudfunctions/_inputs.py +132 -0
  281. pulumi_gcp/cloudfunctions/function.py +25 -20
  282. pulumi_gcp/cloudfunctions/function_iam_binding.py +24 -19
  283. pulumi_gcp/cloudfunctions/function_iam_member.py +24 -19
  284. pulumi_gcp/cloudfunctions/function_iam_policy.py +21 -16
  285. pulumi_gcp/cloudfunctions/get_function.py +5 -0
  286. pulumi_gcp/cloudfunctions/get_function_iam_policy.py +5 -0
  287. pulumi_gcp/cloudfunctions/outputs.py +5 -0
  288. pulumi_gcp/cloudfunctionsv2/_inputs.py +454 -0
  289. pulumi_gcp/cloudfunctionsv2/function.py +746 -509
  290. pulumi_gcp/cloudfunctionsv2/function_iam_binding.py +24 -19
  291. pulumi_gcp/cloudfunctionsv2/function_iam_member.py +24 -19
  292. pulumi_gcp/cloudfunctionsv2/function_iam_policy.py +21 -16
  293. pulumi_gcp/cloudfunctionsv2/get_function.py +5 -0
  294. pulumi_gcp/cloudfunctionsv2/get_function_iam_policy.py +5 -0
  295. pulumi_gcp/cloudfunctionsv2/outputs.py +134 -1
  296. pulumi_gcp/cloudidentity/_inputs.py +161 -0
  297. pulumi_gcp/cloudidentity/get_group_lookup.py +9 -4
  298. pulumi_gcp/cloudidentity/get_group_memberships.py +5 -0
  299. pulumi_gcp/cloudidentity/get_groups.py +5 -0
  300. pulumi_gcp/cloudidentity/group.py +18 -13
  301. pulumi_gcp/cloudidentity/group_membership.py +68 -63
  302. pulumi_gcp/cloudidentity/outputs.py +5 -0
  303. pulumi_gcp/cloudids/endpoint.py +5 -0
  304. pulumi_gcp/cloudquota/_inputs.py +44 -0
  305. pulumi_gcp/cloudquota/get_s_quota_info.py +5 -0
  306. pulumi_gcp/cloudquota/get_s_quota_infos.py +5 -0
  307. pulumi_gcp/cloudquota/outputs.py +5 -0
  308. pulumi_gcp/cloudquota/s_quota_preference.py +16 -11
  309. pulumi_gcp/cloudrun/_inputs.py +1165 -15
  310. pulumi_gcp/cloudrun/domain_mapping.py +49 -44
  311. pulumi_gcp/cloudrun/get_locations.py +5 -0
  312. pulumi_gcp/cloudrun/get_service.py +5 -0
  313. pulumi_gcp/cloudrun/get_service_iam_policy.py +5 -0
  314. pulumi_gcp/cloudrun/iam_binding.py +24 -19
  315. pulumi_gcp/cloudrun/iam_member.py +24 -19
  316. pulumi_gcp/cloudrun/iam_policy.py +21 -16
  317. pulumi_gcp/cloudrun/outputs.py +5 -0
  318. pulumi_gcp/cloudrun/service.py +270 -265
  319. pulumi_gcp/cloudrunv2/_inputs.py +1338 -5
  320. pulumi_gcp/cloudrunv2/get_job.py +5 -0
  321. pulumi_gcp/cloudrunv2/get_job_iam_policy.py +5 -0
  322. pulumi_gcp/cloudrunv2/get_service.py +5 -0
  323. pulumi_gcp/cloudrunv2/get_service_iam_policy.py +5 -0
  324. pulumi_gcp/cloudrunv2/job.py +287 -282
  325. pulumi_gcp/cloudrunv2/job_iam_binding.py +24 -19
  326. pulumi_gcp/cloudrunv2/job_iam_member.py +24 -19
  327. pulumi_gcp/cloudrunv2/job_iam_policy.py +21 -16
  328. pulumi_gcp/cloudrunv2/outputs.py +5 -0
  329. pulumi_gcp/cloudrunv2/service.py +437 -432
  330. pulumi_gcp/cloudrunv2/service_iam_binding.py +24 -19
  331. pulumi_gcp/cloudrunv2/service_iam_member.py +24 -19
  332. pulumi_gcp/cloudrunv2/service_iam_policy.py +21 -16
  333. pulumi_gcp/cloudscheduler/_inputs.py +193 -0
  334. pulumi_gcp/cloudscheduler/job.py +127 -122
  335. pulumi_gcp/cloudscheduler/outputs.py +5 -0
  336. pulumi_gcp/cloudtasks/_inputs.py +134 -0
  337. pulumi_gcp/cloudtasks/get_queue_iam_policy.py +5 -0
  338. pulumi_gcp/cloudtasks/outputs.py +5 -0
  339. pulumi_gcp/cloudtasks/queue.py +63 -58
  340. pulumi_gcp/cloudtasks/queue_iam_binding.py +24 -19
  341. pulumi_gcp/cloudtasks/queue_iam_member.py +24 -19
  342. pulumi_gcp/cloudtasks/queue_iam_policy.py +21 -16
  343. pulumi_gcp/composer/_inputs.py +566 -0
  344. pulumi_gcp/composer/environment.py +15 -10
  345. pulumi_gcp/composer/get_environment.py +5 -0
  346. pulumi_gcp/composer/get_image_versions.py +15 -10
  347. pulumi_gcp/composer/get_user_workloads_config_map.py +15 -10
  348. pulumi_gcp/composer/get_user_workloads_secret.py +15 -10
  349. pulumi_gcp/composer/outputs.py +5 -0
  350. pulumi_gcp/composer/user_workloads_config_map.py +15 -10
  351. pulumi_gcp/composer/user_workloads_secret.py +15 -10
  352. pulumi_gcp/compute/_inputs.py +14134 -145
  353. pulumi_gcp/compute/address.py +27 -29
  354. pulumi_gcp/compute/attached_disk.py +21 -16
  355. pulumi_gcp/compute/autoscaler.py +98 -93
  356. pulumi_gcp/compute/backend_bucket.py +30 -25
  357. pulumi_gcp/compute/backend_bucket_iam_binding.py +8 -3
  358. pulumi_gcp/compute/backend_bucket_iam_member.py +8 -3
  359. pulumi_gcp/compute/backend_bucket_iam_policy.py +5 -0
  360. pulumi_gcp/compute/backend_bucket_signed_url_key.py +5 -0
  361. pulumi_gcp/compute/backend_service.py +204 -213
  362. pulumi_gcp/compute/backend_service_iam_binding.py +10 -5
  363. pulumi_gcp/compute/backend_service_iam_member.py +10 -5
  364. pulumi_gcp/compute/backend_service_iam_policy.py +5 -0
  365. pulumi_gcp/compute/backend_service_signed_url_key.py +35 -30
  366. pulumi_gcp/compute/ca_external_account_key.py +5 -0
  367. pulumi_gcp/compute/disk.py +54 -49
  368. pulumi_gcp/compute/disk_async_replication.py +10 -5
  369. pulumi_gcp/compute/disk_iam_binding.py +24 -19
  370. pulumi_gcp/compute/disk_iam_member.py +24 -19
  371. pulumi_gcp/compute/disk_iam_policy.py +21 -16
  372. pulumi_gcp/compute/disk_resource_policy_attachment.py +21 -16
  373. pulumi_gcp/compute/external_vpn_gateway.py +24 -19
  374. pulumi_gcp/compute/firewall.py +42 -37
  375. pulumi_gcp/compute/firewall_policy.py +5 -0
  376. pulumi_gcp/compute/firewall_policy_association.py +5 -0
  377. pulumi_gcp/compute/firewall_policy_rule.py +44 -39
  378. pulumi_gcp/compute/forwarding_rule.py +248 -264
  379. pulumi_gcp/compute/get_address.py +5 -0
  380. pulumi_gcp/compute/get_addresses.py +5 -0
  381. pulumi_gcp/compute/get_backend_bucket.py +5 -0
  382. pulumi_gcp/compute/get_backend_bucket_iam_policy.py +5 -0
  383. pulumi_gcp/compute/get_backend_service.py +5 -0
  384. pulumi_gcp/compute/get_backend_service_iam_policy.py +5 -0
  385. pulumi_gcp/compute/get_certificate.py +5 -0
  386. pulumi_gcp/compute/get_default_service_account.py +5 -0
  387. pulumi_gcp/compute/get_disk.py +13 -8
  388. pulumi_gcp/compute/get_disk_iam_policy.py +5 -0
  389. pulumi_gcp/compute/get_forwarding_rule.py +5 -0
  390. pulumi_gcp/compute/get_forwarding_rules.py +5 -0
  391. pulumi_gcp/compute/get_global_address.py +5 -0
  392. pulumi_gcp/compute/get_global_forwarding_rule.py +5 -0
  393. pulumi_gcp/compute/get_hc_vpn_gateway.py +5 -0
  394. pulumi_gcp/compute/get_health_check.py +5 -0
  395. pulumi_gcp/compute/get_image.py +15 -10
  396. pulumi_gcp/compute/get_image_iam_policy.py +5 -0
  397. pulumi_gcp/compute/get_instance.py +5 -0
  398. pulumi_gcp/compute/get_instance_group.py +5 -0
  399. pulumi_gcp/compute/get_instance_group_manager.py +5 -0
  400. pulumi_gcp/compute/get_instance_iam_policy.py +5 -0
  401. pulumi_gcp/compute/get_instance_serial_port.py +29 -24
  402. pulumi_gcp/compute/get_instance_template.py +5 -0
  403. pulumi_gcp/compute/get_lbip_ranges.py +5 -0
  404. pulumi_gcp/compute/get_machine_image_iam_policy.py +5 -0
  405. pulumi_gcp/compute/get_machine_types.py +5 -0
  406. pulumi_gcp/compute/get_netblock_ip_ranges.py +5 -0
  407. pulumi_gcp/compute/get_network.py +5 -0
  408. pulumi_gcp/compute/get_network_endpoint_group.py +5 -0
  409. pulumi_gcp/compute/get_network_peering.py +5 -0
  410. pulumi_gcp/compute/get_networks.py +5 -0
  411. pulumi_gcp/compute/get_node_types.py +5 -0
  412. pulumi_gcp/compute/get_region_backend_service_iam_policy.py +5 -0
  413. pulumi_gcp/compute/get_region_disk.py +5 -0
  414. pulumi_gcp/compute/get_region_disk_iam_policy.py +5 -0
  415. pulumi_gcp/compute/get_region_instance_group.py +5 -0
  416. pulumi_gcp/compute/get_region_instance_template.py +5 -0
  417. pulumi_gcp/compute/get_region_network_endpoint_group.py +5 -0
  418. pulumi_gcp/compute/get_region_ssl_certificate.py +5 -0
  419. pulumi_gcp/compute/get_regions.py +5 -0
  420. pulumi_gcp/compute/get_reservation.py +5 -0
  421. pulumi_gcp/compute/get_resource_policy.py +5 -0
  422. pulumi_gcp/compute/get_router.py +5 -0
  423. pulumi_gcp/compute/get_router_nat.py +5 -0
  424. pulumi_gcp/compute/get_router_status.py +5 -0
  425. pulumi_gcp/compute/get_security_policy.py +5 -0
  426. pulumi_gcp/compute/get_snapshot.py +5 -0
  427. pulumi_gcp/compute/get_snapshot_iam_policy.py +5 -0
  428. pulumi_gcp/compute/get_ssl_policy.py +5 -0
  429. pulumi_gcp/compute/get_subnetwork.py +5 -0
  430. pulumi_gcp/compute/get_subnetwork_iam_policy.py +5 -0
  431. pulumi_gcp/compute/get_subnetworks.py +5 -0
  432. pulumi_gcp/compute/get_vpn_gateway.py +5 -0
  433. pulumi_gcp/compute/get_zones.py +5 -0
  434. pulumi_gcp/compute/global_address.py +5 -0
  435. pulumi_gcp/compute/global_forwarding_rule.py +211 -227
  436. pulumi_gcp/compute/global_network_endpoint.py +5 -0
  437. pulumi_gcp/compute/global_network_endpoint_group.py +5 -0
  438. pulumi_gcp/compute/ha_vpn_gateway.py +32 -27
  439. pulumi_gcp/compute/health_check.py +174 -169
  440. pulumi_gcp/compute/http_health_check.py +5 -0
  441. pulumi_gcp/compute/https_health_check.py +5 -0
  442. pulumi_gcp/compute/image.py +50 -45
  443. pulumi_gcp/compute/image_iam_binding.py +102 -97
  444. pulumi_gcp/compute/image_iam_member.py +102 -97
  445. pulumi_gcp/compute/image_iam_policy.py +97 -92
  446. pulumi_gcp/compute/instance.py +104 -99
  447. pulumi_gcp/compute/instance_from_machine_image.py +61 -56
  448. pulumi_gcp/compute/instance_from_template.py +88 -83
  449. pulumi_gcp/compute/instance_group.py +26 -21
  450. pulumi_gcp/compute/instance_group_manager.py +138 -133
  451. pulumi_gcp/compute/instance_group_membership.py +21 -16
  452. pulumi_gcp/compute/instance_group_named_port.py +13 -8
  453. pulumi_gcp/compute/instance_iam_binding.py +102 -97
  454. pulumi_gcp/compute/instance_iam_member.py +102 -97
  455. pulumi_gcp/compute/instance_iam_policy.py +97 -92
  456. pulumi_gcp/compute/instance_settings.py +16 -11
  457. pulumi_gcp/compute/instance_template.py +147 -142
  458. pulumi_gcp/compute/interconnect.py +14 -9
  459. pulumi_gcp/compute/interconnect_attachment.py +19 -14
  460. pulumi_gcp/compute/machine_image.py +48 -43
  461. pulumi_gcp/compute/machine_image_iam_binding.py +102 -97
  462. pulumi_gcp/compute/machine_image_iam_member.py +102 -97
  463. pulumi_gcp/compute/machine_image_iam_policy.py +97 -92
  464. pulumi_gcp/compute/managed_ssl_certificate.py +40 -42
  465. pulumi_gcp/compute/manged_ssl_certificate.py +40 -42
  466. pulumi_gcp/compute/network.py +5 -0
  467. pulumi_gcp/compute/network_attachment.py +45 -24
  468. pulumi_gcp/compute/network_edge_security_service.py +5 -0
  469. pulumi_gcp/compute/network_endpoint.py +23 -18
  470. pulumi_gcp/compute/network_endpoint_group.py +5 -0
  471. pulumi_gcp/compute/network_endpoint_list.py +66 -61
  472. pulumi_gcp/compute/network_firewall_policy.py +5 -0
  473. pulumi_gcp/compute/network_firewall_policy_association.py +5 -0
  474. pulumi_gcp/compute/network_firewall_policy_rule.py +41 -36
  475. pulumi_gcp/compute/network_peering.py +5 -0
  476. pulumi_gcp/compute/network_peering_routes_config.py +41 -36
  477. pulumi_gcp/compute/node_group.py +50 -45
  478. pulumi_gcp/compute/node_template.py +21 -16
  479. pulumi_gcp/compute/organization_security_policy.py +5 -0
  480. pulumi_gcp/compute/organization_security_policy_association.py +31 -26
  481. pulumi_gcp/compute/organization_security_policy_rule.py +36 -31
  482. pulumi_gcp/compute/outputs.py +509 -8
  483. pulumi_gcp/compute/packet_mirroring.py +83 -78
  484. pulumi_gcp/compute/per_instance_config.py +56 -51
  485. pulumi_gcp/compute/project_cloud_armor_tier.py +5 -0
  486. pulumi_gcp/compute/project_default_network_tier.py +5 -0
  487. pulumi_gcp/compute/project_metadata.py +5 -0
  488. pulumi_gcp/compute/project_metadata_item.py +5 -0
  489. pulumi_gcp/compute/public_advertised_prefix.py +5 -0
  490. pulumi_gcp/compute/public_delegated_prefix.py +5 -0
  491. pulumi_gcp/compute/region_autoscaler.py +60 -55
  492. pulumi_gcp/compute/region_backend_service.py +203 -212
  493. pulumi_gcp/compute/region_backend_service_iam_binding.py +10 -5
  494. pulumi_gcp/compute/region_backend_service_iam_member.py +10 -5
  495. pulumi_gcp/compute/region_backend_service_iam_policy.py +5 -0
  496. pulumi_gcp/compute/region_commitment.py +47 -42
  497. pulumi_gcp/compute/region_disk.py +49 -44
  498. pulumi_gcp/compute/region_disk_iam_binding.py +146 -114
  499. pulumi_gcp/compute/region_disk_iam_member.py +146 -114
  500. pulumi_gcp/compute/region_disk_iam_policy.py +136 -104
  501. pulumi_gcp/compute/region_disk_resource_policy_attachment.py +21 -16
  502. pulumi_gcp/compute/region_health_check.py +174 -169
  503. pulumi_gcp/compute/region_instance_group_manager.py +134 -129
  504. pulumi_gcp/compute/region_instance_template.py +55 -50
  505. pulumi_gcp/compute/region_network_endpoint.py +23 -18
  506. pulumi_gcp/compute/region_network_endpoint_group.py +135 -130
  507. pulumi_gcp/compute/region_network_firewall_policy.py +5 -0
  508. pulumi_gcp/compute/region_network_firewall_policy_association.py +5 -0
  509. pulumi_gcp/compute/region_network_firewall_policy_rule.py +41 -36
  510. pulumi_gcp/compute/region_per_instance_config.py +66 -61
  511. pulumi_gcp/compute/region_security_policy.py +49 -44
  512. pulumi_gcp/compute/region_security_policy_rule.py +161 -156
  513. pulumi_gcp/compute/region_ssl_certificate.py +5 -7
  514. pulumi_gcp/compute/region_ssl_policy.py +5 -0
  515. pulumi_gcp/compute/region_target_http_proxy.py +43 -38
  516. pulumi_gcp/compute/region_target_https_proxy.py +97 -92
  517. pulumi_gcp/compute/region_target_tcp_proxy.py +11 -6
  518. pulumi_gcp/compute/region_url_map.py +824 -819
  519. pulumi_gcp/compute/reservation.py +29 -24
  520. pulumi_gcp/compute/resource_policy.py +153 -148
  521. pulumi_gcp/compute/route.py +17 -12
  522. pulumi_gcp/compute/router.py +40 -35
  523. pulumi_gcp/compute/router_interface.py +5 -0
  524. pulumi_gcp/compute/router_nat.py +98 -93
  525. pulumi_gcp/compute/router_peer.py +78 -73
  526. pulumi_gcp/compute/router_status.py +5 -0
  527. pulumi_gcp/compute/security_policy.py +201 -196
  528. pulumi_gcp/compute/security_policy_rule.py +80 -75
  529. pulumi_gcp/compute/security_scan_config.py +15 -10
  530. pulumi_gcp/compute/service_attachment.py +60 -55
  531. pulumi_gcp/compute/shared_vpc_host_project.py +5 -0
  532. pulumi_gcp/compute/shared_vpc_service_project.py +5 -0
  533. pulumi_gcp/compute/snapshot.py +15 -10
  534. pulumi_gcp/compute/snapshot_iam_binding.py +24 -19
  535. pulumi_gcp/compute/snapshot_iam_member.py +24 -19
  536. pulumi_gcp/compute/snapshot_iam_policy.py +21 -16
  537. pulumi_gcp/compute/ssl_certificate.py +5 -7
  538. pulumi_gcp/compute/ssl_policy.py +5 -0
  539. pulumi_gcp/compute/subnetwork.py +33 -28
  540. pulumi_gcp/compute/subnetwork_iam_binding.py +102 -97
  541. pulumi_gcp/compute/subnetwork_iam_member.py +102 -97
  542. pulumi_gcp/compute/subnetwork_iam_policy.py +97 -92
  543. pulumi_gcp/compute/target_grpc_proxy.py +129 -124
  544. pulumi_gcp/compute/target_http_proxy.py +61 -56
  545. pulumi_gcp/compute/target_https_proxy.py +209 -129
  546. pulumi_gcp/compute/target_instance.py +63 -58
  547. pulumi_gcp/compute/target_pool.py +5 -0
  548. pulumi_gcp/compute/target_ssl_proxy.py +11 -6
  549. pulumi_gcp/compute/target_tcp_proxy.py +11 -6
  550. pulumi_gcp/compute/url_map.py +986 -726
  551. pulumi_gcp/compute/vpn_gateway.py +5 -0
  552. pulumi_gcp/compute/vpn_tunnel.py +5 -0
  553. pulumi_gcp/config/__init__.pyi +5 -0
  554. pulumi_gcp/config/outputs.py +5 -0
  555. pulumi_gcp/config/vars.py +5 -0
  556. pulumi_gcp/container/_inputs.py +5502 -823
  557. pulumi_gcp/container/attached_cluster.py +128 -123
  558. pulumi_gcp/container/aws_cluster.py +361 -356
  559. pulumi_gcp/container/aws_node_pool.py +556 -551
  560. pulumi_gcp/container/azure_client.py +7 -2
  561. pulumi_gcp/container/azure_cluster.py +135 -130
  562. pulumi_gcp/container/azure_node_pool.py +117 -112
  563. pulumi_gcp/container/cluster.py +224 -219
  564. pulumi_gcp/container/get_attached_install_manifest.py +5 -0
  565. pulumi_gcp/container/get_attached_versions.py +5 -0
  566. pulumi_gcp/container/get_aws_versions.py +5 -0
  567. pulumi_gcp/container/get_azure_versions.py +5 -0
  568. pulumi_gcp/container/get_cluster.py +5 -0
  569. pulumi_gcp/container/get_engine_versions.py +5 -0
  570. pulumi_gcp/container/get_registry_image.py +5 -0
  571. pulumi_gcp/container/get_registry_repository.py +5 -0
  572. pulumi_gcp/container/node_pool.py +78 -73
  573. pulumi_gcp/container/outputs.py +5 -0
  574. pulumi_gcp/container/registry.py +5 -0
  575. pulumi_gcp/containeranalysis/_inputs.py +121 -0
  576. pulumi_gcp/containeranalysis/get_note_iam_policy.py +5 -0
  577. pulumi_gcp/containeranalysis/note.py +49 -44
  578. pulumi_gcp/containeranalysis/note_iam_binding.py +24 -19
  579. pulumi_gcp/containeranalysis/note_iam_member.py +24 -19
  580. pulumi_gcp/containeranalysis/note_iam_policy.py +21 -16
  581. pulumi_gcp/containeranalysis/occurence.py +10 -5
  582. pulumi_gcp/containeranalysis/outputs.py +5 -0
  583. pulumi_gcp/databasemigrationservice/_inputs.py +578 -0
  584. pulumi_gcp/databasemigrationservice/connection_profile.py +188 -183
  585. pulumi_gcp/databasemigrationservice/outputs.py +5 -0
  586. pulumi_gcp/databasemigrationservice/private_connection.py +20 -15
  587. pulumi_gcp/datacatalog/_inputs.py +318 -0
  588. pulumi_gcp/datacatalog/entry.py +20 -15
  589. pulumi_gcp/datacatalog/entry_group.py +5 -0
  590. pulumi_gcp/datacatalog/entry_group_iam_binding.py +24 -19
  591. pulumi_gcp/datacatalog/entry_group_iam_member.py +24 -19
  592. pulumi_gcp/datacatalog/entry_group_iam_policy.py +21 -16
  593. pulumi_gcp/datacatalog/get_entry_group_iam_policy.py +5 -0
  594. pulumi_gcp/datacatalog/get_policy_tag_iam_policy.py +5 -0
  595. pulumi_gcp/datacatalog/get_tag_template_iam_policy.py +5 -0
  596. pulumi_gcp/datacatalog/get_taxonomy_iam_policy.py +5 -0
  597. pulumi_gcp/datacatalog/outputs.py +5 -0
  598. pulumi_gcp/datacatalog/policy_tag.py +5 -0
  599. pulumi_gcp/datacatalog/policy_tag_iam_binding.py +24 -19
  600. pulumi_gcp/datacatalog/policy_tag_iam_member.py +24 -19
  601. pulumi_gcp/datacatalog/policy_tag_iam_policy.py +21 -16
  602. pulumi_gcp/datacatalog/tag.py +264 -259
  603. pulumi_gcp/datacatalog/tag_template.py +76 -71
  604. pulumi_gcp/datacatalog/tag_template_iam_binding.py +24 -19
  605. pulumi_gcp/datacatalog/tag_template_iam_member.py +24 -19
  606. pulumi_gcp/datacatalog/tag_template_iam_policy.py +21 -16
  607. pulumi_gcp/datacatalog/taxonomy.py +5 -0
  608. pulumi_gcp/datacatalog/taxonomy_iam_binding.py +24 -19
  609. pulumi_gcp/datacatalog/taxonomy_iam_member.py +24 -19
  610. pulumi_gcp/datacatalog/taxonomy_iam_policy.py +21 -16
  611. pulumi_gcp/dataflow/_inputs.py +316 -0
  612. pulumi_gcp/dataflow/flex_template_job.py +5 -0
  613. pulumi_gcp/dataflow/job.py +5 -0
  614. pulumi_gcp/dataflow/outputs.py +5 -0
  615. pulumi_gcp/dataflow/pipeline.py +75 -70
  616. pulumi_gcp/dataform/_inputs.py +251 -0
  617. pulumi_gcp/dataform/get_repository_iam_policy.py +5 -0
  618. pulumi_gcp/dataform/outputs.py +5 -0
  619. pulumi_gcp/dataform/repository.py +41 -36
  620. pulumi_gcp/dataform/repository_iam_binding.py +8 -3
  621. pulumi_gcp/dataform/repository_iam_member.py +8 -3
  622. pulumi_gcp/dataform/repository_iam_policy.py +5 -0
  623. pulumi_gcp/dataform/repository_release_config.py +58 -53
  624. pulumi_gcp/dataform/repository_workflow_config.py +94 -89
  625. pulumi_gcp/datafusion/_inputs.py +224 -8
  626. pulumi_gcp/datafusion/get_instance_iam_policy.py +5 -0
  627. pulumi_gcp/datafusion/instance.py +119 -50
  628. pulumi_gcp/datafusion/outputs.py +132 -7
  629. pulumi_gcp/dataloss/_inputs.py +6566 -114
  630. pulumi_gcp/dataloss/outputs.py +5 -0
  631. pulumi_gcp/dataloss/prevention_deidentify_template.py +226 -221
  632. pulumi_gcp/dataloss/prevention_discovery_config.py +22 -17
  633. pulumi_gcp/dataloss/prevention_inspect_template.py +442 -437
  634. pulumi_gcp/dataloss/prevention_job_trigger.py +701 -696
  635. pulumi_gcp/dataloss/prevention_stored_info_type.py +62 -57
  636. pulumi_gcp/dataplex/_inputs.py +1212 -6
  637. pulumi_gcp/dataplex/aspect_type.py +5 -0
  638. pulumi_gcp/dataplex/aspect_type_iam_binding.py +24 -19
  639. pulumi_gcp/dataplex/aspect_type_iam_member.py +24 -19
  640. pulumi_gcp/dataplex/aspect_type_iam_policy.py +21 -16
  641. pulumi_gcp/dataplex/asset.py +47 -42
  642. pulumi_gcp/dataplex/asset_iam_binding.py +24 -19
  643. pulumi_gcp/dataplex/asset_iam_member.py +24 -19
  644. pulumi_gcp/dataplex/asset_iam_policy.py +21 -16
  645. pulumi_gcp/dataplex/datascan.py +289 -284
  646. pulumi_gcp/dataplex/datascan_iam_binding.py +24 -19
  647. pulumi_gcp/dataplex/datascan_iam_member.py +24 -19
  648. pulumi_gcp/dataplex/datascan_iam_policy.py +21 -16
  649. pulumi_gcp/dataplex/entry_group.py +5 -0
  650. pulumi_gcp/dataplex/entry_group_iam_binding.py +24 -19
  651. pulumi_gcp/dataplex/entry_group_iam_member.py +24 -19
  652. pulumi_gcp/dataplex/entry_group_iam_policy.py +21 -16
  653. pulumi_gcp/dataplex/entry_type.py +16 -11
  654. pulumi_gcp/dataplex/entry_type_iam_binding.py +24 -19
  655. pulumi_gcp/dataplex/entry_type_iam_member.py +24 -19
  656. pulumi_gcp/dataplex/entry_type_iam_policy.py +21 -16
  657. pulumi_gcp/dataplex/get_aspect_type_iam_policy.py +5 -0
  658. pulumi_gcp/dataplex/get_asset_iam_policy.py +5 -0
  659. pulumi_gcp/dataplex/get_datascan_iam_policy.py +5 -0
  660. pulumi_gcp/dataplex/get_entry_group_iam_policy.py +5 -0
  661. pulumi_gcp/dataplex/get_entry_type_iam_policy.py +5 -0
  662. pulumi_gcp/dataplex/get_lake_iam_policy.py +5 -0
  663. pulumi_gcp/dataplex/get_task_iam_policy.py +5 -0
  664. pulumi_gcp/dataplex/get_zone_iam_policy.py +5 -0
  665. pulumi_gcp/dataplex/lake.py +14 -9
  666. pulumi_gcp/dataplex/lake_iam_binding.py +24 -19
  667. pulumi_gcp/dataplex/lake_iam_member.py +24 -19
  668. pulumi_gcp/dataplex/lake_iam_policy.py +21 -16
  669. pulumi_gcp/dataplex/outputs.py +5 -0
  670. pulumi_gcp/dataplex/task.py +173 -168
  671. pulumi_gcp/dataplex/task_iam_binding.py +24 -19
  672. pulumi_gcp/dataplex/task_iam_member.py +24 -19
  673. pulumi_gcp/dataplex/task_iam_policy.py +21 -16
  674. pulumi_gcp/dataplex/zone.py +29 -24
  675. pulumi_gcp/dataplex/zone_iam_binding.py +24 -19
  676. pulumi_gcp/dataplex/zone_iam_member.py +24 -19
  677. pulumi_gcp/dataplex/zone_iam_policy.py +21 -16
  678. pulumi_gcp/dataproc/_inputs.py +3214 -39
  679. pulumi_gcp/dataproc/autoscaling_policy.py +50 -45
  680. pulumi_gcp/dataproc/autoscaling_policy_iam_binding.py +24 -19
  681. pulumi_gcp/dataproc/autoscaling_policy_iam_member.py +24 -19
  682. pulumi_gcp/dataproc/autoscaling_policy_iam_policy.py +21 -16
  683. pulumi_gcp/dataproc/cluster.py +109 -104
  684. pulumi_gcp/dataproc/cluster_iam_binding.py +24 -19
  685. pulumi_gcp/dataproc/cluster_iam_member.py +24 -19
  686. pulumi_gcp/dataproc/cluster_iam_policy.py +21 -16
  687. pulumi_gcp/dataproc/get_autoscaling_policy_iam_policy.py +5 -0
  688. pulumi_gcp/dataproc/get_cluster_iam_policy.py +5 -0
  689. pulumi_gcp/dataproc/get_job_iam_policy.py +5 -0
  690. pulumi_gcp/dataproc/get_metastore_federation_iam_policy.py +5 -0
  691. pulumi_gcp/dataproc/get_metastore_service.py +5 -0
  692. pulumi_gcp/dataproc/get_metastore_service_iam_policy.py +5 -0
  693. pulumi_gcp/dataproc/job.py +95 -90
  694. pulumi_gcp/dataproc/job_iam_binding.py +24 -19
  695. pulumi_gcp/dataproc/job_iam_member.py +24 -19
  696. pulumi_gcp/dataproc/job_iam_policy.py +21 -16
  697. pulumi_gcp/dataproc/metastore_federation.py +56 -51
  698. pulumi_gcp/dataproc/metastore_federation_iam_binding.py +24 -19
  699. pulumi_gcp/dataproc/metastore_federation_iam_member.py +24 -19
  700. pulumi_gcp/dataproc/metastore_federation_iam_policy.py +21 -16
  701. pulumi_gcp/dataproc/metastore_service.py +239 -234
  702. pulumi_gcp/dataproc/metastore_service_iam_binding.py +24 -19
  703. pulumi_gcp/dataproc/metastore_service_iam_member.py +24 -19
  704. pulumi_gcp/dataproc/metastore_service_iam_policy.py +21 -16
  705. pulumi_gcp/dataproc/outputs.py +5 -0
  706. pulumi_gcp/dataproc/workflow_template.py +112 -107
  707. pulumi_gcp/datastore/_inputs.py +22 -0
  708. pulumi_gcp/datastore/data_store_index.py +26 -21
  709. pulumi_gcp/datastore/outputs.py +5 -0
  710. pulumi_gcp/datastream/_inputs.py +1631 -35
  711. pulumi_gcp/datastream/connection_profile.py +251 -246
  712. pulumi_gcp/datastream/get_static_ips.py +5 -0
  713. pulumi_gcp/datastream/outputs.py +5 -0
  714. pulumi_gcp/datastream/private_connection.py +20 -15
  715. pulumi_gcp/datastream/stream.py +777 -772
  716. pulumi_gcp/deploymentmanager/_inputs.py +66 -0
  717. pulumi_gcp/deploymentmanager/deployment.py +33 -28
  718. pulumi_gcp/deploymentmanager/outputs.py +5 -0
  719. pulumi_gcp/diagflow/_inputs.py +2590 -41
  720. pulumi_gcp/diagflow/agent.py +5 -0
  721. pulumi_gcp/diagflow/cx_agent.py +75 -70
  722. pulumi_gcp/diagflow/cx_entity_type.py +37 -32
  723. pulumi_gcp/diagflow/cx_environment.py +22 -17
  724. pulumi_gcp/diagflow/cx_flow.py +455 -450
  725. pulumi_gcp/diagflow/cx_intent.py +55 -50
  726. pulumi_gcp/diagflow/cx_page.py +718 -713
  727. pulumi_gcp/diagflow/cx_security_settings.py +69 -64
  728. pulumi_gcp/diagflow/cx_test_case.py +197 -192
  729. pulumi_gcp/diagflow/cx_version.py +13 -8
  730. pulumi_gcp/diagflow/cx_webhook.py +27 -22
  731. pulumi_gcp/diagflow/entity_type.py +26 -21
  732. pulumi_gcp/diagflow/fulfillment.py +27 -22
  733. pulumi_gcp/diagflow/intent.py +7 -2
  734. pulumi_gcp/diagflow/outputs.py +5 -0
  735. pulumi_gcp/discoveryengine/_inputs.py +183 -0
  736. pulumi_gcp/discoveryengine/chat_engine.py +37 -32
  737. pulumi_gcp/discoveryengine/data_store.py +32 -27
  738. pulumi_gcp/discoveryengine/outputs.py +5 -0
  739. pulumi_gcp/discoveryengine/search_engine.py +17 -12
  740. pulumi_gcp/dns/_inputs.py +589 -0
  741. pulumi_gcp/dns/dns_managed_zone_iam_binding.py +24 -19
  742. pulumi_gcp/dns/dns_managed_zone_iam_member.py +24 -19
  743. pulumi_gcp/dns/dns_managed_zone_iam_policy.py +21 -16
  744. pulumi_gcp/dns/get_keys.py +13 -8
  745. pulumi_gcp/dns/get_managed_zone.py +5 -0
  746. pulumi_gcp/dns/get_managed_zone_iam_policy.py +5 -0
  747. pulumi_gcp/dns/get_managed_zones.py +5 -0
  748. pulumi_gcp/dns/get_record_set.py +5 -0
  749. pulumi_gcp/dns/managed_zone.py +183 -178
  750. pulumi_gcp/dns/outputs.py +5 -0
  751. pulumi_gcp/dns/policy.py +47 -42
  752. pulumi_gcp/dns/record_set.py +100 -95
  753. pulumi_gcp/dns/response_policy.py +81 -76
  754. pulumi_gcp/dns/response_policy_rule.py +38 -33
  755. pulumi_gcp/edgecontainer/_inputs.py +464 -0
  756. pulumi_gcp/edgecontainer/cluster.py +152 -147
  757. pulumi_gcp/edgecontainer/node_pool.py +109 -104
  758. pulumi_gcp/edgecontainer/outputs.py +5 -0
  759. pulumi_gcp/edgecontainer/vpn_connection.py +36 -31
  760. pulumi_gcp/edgenetwork/network.py +5 -0
  761. pulumi_gcp/edgenetwork/subnet.py +5 -0
  762. pulumi_gcp/endpoints/_inputs.py +101 -0
  763. pulumi_gcp/endpoints/consumers_iam_binding.py +8 -3
  764. pulumi_gcp/endpoints/consumers_iam_member.py +8 -3
  765. pulumi_gcp/endpoints/consumers_iam_policy.py +5 -0
  766. pulumi_gcp/endpoints/get_service_consumers_iam_policy.py +5 -0
  767. pulumi_gcp/endpoints/get_service_iam_policy.py +5 -0
  768. pulumi_gcp/endpoints/outputs.py +5 -0
  769. pulumi_gcp/endpoints/service.py +9 -4
  770. pulumi_gcp/endpoints/service_iam_binding.py +24 -19
  771. pulumi_gcp/endpoints/service_iam_member.py +24 -19
  772. pulumi_gcp/endpoints/service_iam_policy.py +21 -16
  773. pulumi_gcp/essentialcontacts/_inputs.py +313 -0
  774. pulumi_gcp/essentialcontacts/contact.py +5 -0
  775. pulumi_gcp/essentialcontacts/document_ai_processor.py +5 -0
  776. pulumi_gcp/essentialcontacts/document_ai_processor_default_version.py +5 -0
  777. pulumi_gcp/essentialcontacts/document_ai_warehouse_document_schema.py +40 -35
  778. pulumi_gcp/essentialcontacts/document_ai_warehouse_location.py +5 -0
  779. pulumi_gcp/essentialcontacts/outputs.py +5 -0
  780. pulumi_gcp/eventarc/_inputs.py +145 -0
  781. pulumi_gcp/eventarc/channel.py +5 -0
  782. pulumi_gcp/eventarc/google_channel_config.py +5 -0
  783. pulumi_gcp/eventarc/outputs.py +5 -0
  784. pulumi_gcp/eventarc/trigger.py +78 -73
  785. pulumi_gcp/filestore/_inputs.py +108 -0
  786. pulumi_gcp/filestore/backup.py +23 -18
  787. pulumi_gcp/filestore/get_instance.py +5 -0
  788. pulumi_gcp/filestore/instance.py +107 -102
  789. pulumi_gcp/filestore/outputs.py +5 -0
  790. pulumi_gcp/filestore/snapshot.py +37 -32
  791. pulumi_gcp/firebase/_inputs.py +511 -0
  792. pulumi_gcp/firebase/android_app.py +21 -16
  793. pulumi_gcp/firebase/app_check_app_attest_config.py +5 -0
  794. pulumi_gcp/firebase/app_check_debug_token.py +5 -0
  795. pulumi_gcp/firebase/app_check_device_check_config.py +5 -0
  796. pulumi_gcp/firebase/app_check_play_integrity_config.py +5 -0
  797. pulumi_gcp/firebase/app_check_recaptcha_enterprise_config.py +5 -0
  798. pulumi_gcp/firebase/app_check_recaptcha_v3_config.py +5 -0
  799. pulumi_gcp/firebase/app_check_service_config.py +5 -0
  800. pulumi_gcp/firebase/apple_app.py +15 -10
  801. pulumi_gcp/firebase/database_instance.py +5 -0
  802. pulumi_gcp/firebase/extensions_instance.py +30 -25
  803. pulumi_gcp/firebase/get_android_app.py +5 -0
  804. pulumi_gcp/firebase/get_android_app_config.py +5 -0
  805. pulumi_gcp/firebase/get_apple_app.py +5 -0
  806. pulumi_gcp/firebase/get_apple_app_config.py +5 -0
  807. pulumi_gcp/firebase/get_hosting_channel.py +5 -0
  808. pulumi_gcp/firebase/get_web_app.py +5 -0
  809. pulumi_gcp/firebase/get_web_app_config.py +5 -0
  810. pulumi_gcp/firebase/hosting_channel.py +5 -0
  811. pulumi_gcp/firebase/hosting_custom_domain.py +39 -34
  812. pulumi_gcp/firebase/hosting_release.py +33 -28
  813. pulumi_gcp/firebase/hosting_site.py +5 -0
  814. pulumi_gcp/firebase/hosting_version.py +76 -71
  815. pulumi_gcp/firebase/outputs.py +5 -0
  816. pulumi_gcp/firebase/project.py +5 -0
  817. pulumi_gcp/firebase/storage_bucket.py +5 -0
  818. pulumi_gcp/firebase/web_app.py +15 -10
  819. pulumi_gcp/firebaserules/_inputs.py +51 -0
  820. pulumi_gcp/firebaserules/outputs.py +5 -0
  821. pulumi_gcp/firebaserules/release.py +5 -0
  822. pulumi_gcp/firebaserules/ruleset.py +40 -35
  823. pulumi_gcp/firestore/_inputs.py +154 -0
  824. pulumi_gcp/firestore/backup_schedule.py +23 -18
  825. pulumi_gcp/firestore/database.py +22 -17
  826. pulumi_gcp/firestore/document.py +5 -0
  827. pulumi_gcp/firestore/field.py +63 -58
  828. pulumi_gcp/firestore/index.py +72 -67
  829. pulumi_gcp/firestore/outputs.py +5 -0
  830. pulumi_gcp/folder/_inputs.py +165 -0
  831. pulumi_gcp/folder/access_approval_settings.py +28 -23
  832. pulumi_gcp/folder/get_iam_policy.py +5 -0
  833. pulumi_gcp/folder/get_organization_policy.py +5 -0
  834. pulumi_gcp/folder/iam_audit_config.py +130 -125
  835. pulumi_gcp/folder/iam_binding.py +8 -3
  836. pulumi_gcp/folder/iam_member.py +130 -125
  837. pulumi_gcp/folder/iam_policy.py +125 -120
  838. pulumi_gcp/folder/organization_policy.py +54 -49
  839. pulumi_gcp/folder/outputs.py +5 -0
  840. pulumi_gcp/gkebackup/_inputs.py +694 -0
  841. pulumi_gcp/gkebackup/backup_plan.py +436 -431
  842. pulumi_gcp/gkebackup/backup_plan_iam_binding.py +24 -19
  843. pulumi_gcp/gkebackup/backup_plan_iam_member.py +24 -19
  844. pulumi_gcp/gkebackup/backup_plan_iam_policy.py +21 -16
  845. pulumi_gcp/gkebackup/get_backup_plan_iam_policy.py +5 -0
  846. pulumi_gcp/gkebackup/get_restore_plan_iam_policy.py +5 -0
  847. pulumi_gcp/gkebackup/outputs.py +5 -0
  848. pulumi_gcp/gkebackup/restore_plan.py +580 -575
  849. pulumi_gcp/gkebackup/restore_plan_iam_binding.py +336 -956
  850. pulumi_gcp/gkebackup/restore_plan_iam_member.py +336 -956
  851. pulumi_gcp/gkebackup/restore_plan_iam_policy.py +243 -953
  852. pulumi_gcp/gkehub/_inputs.py +1204 -6
  853. pulumi_gcp/gkehub/feature.py +319 -314
  854. pulumi_gcp/gkehub/feature_iam_binding.py +24 -19
  855. pulumi_gcp/gkehub/feature_iam_member.py +24 -19
  856. pulumi_gcp/gkehub/feature_iam_policy.py +21 -16
  857. pulumi_gcp/gkehub/feature_membership.py +184 -179
  858. pulumi_gcp/gkehub/fleet.py +24 -19
  859. pulumi_gcp/gkehub/get_feature_iam_policy.py +5 -0
  860. pulumi_gcp/gkehub/get_membership_iam_policy.py +5 -0
  861. pulumi_gcp/gkehub/get_scope_iam_policy.py +5 -0
  862. pulumi_gcp/gkehub/membership.py +57 -52
  863. pulumi_gcp/gkehub/membership_binding.py +17 -12
  864. pulumi_gcp/gkehub/membership_iam_binding.py +24 -19
  865. pulumi_gcp/gkehub/membership_iam_member.py +24 -19
  866. pulumi_gcp/gkehub/membership_iam_policy.py +21 -16
  867. pulumi_gcp/gkehub/membership_rbac_role_binding.py +28 -23
  868. pulumi_gcp/gkehub/namespace.py +7 -2
  869. pulumi_gcp/gkehub/outputs.py +5 -0
  870. pulumi_gcp/gkehub/scope.py +7 -2
  871. pulumi_gcp/gkehub/scope_iam_binding.py +24 -19
  872. pulumi_gcp/gkehub/scope_iam_member.py +24 -19
  873. pulumi_gcp/gkehub/scope_iam_policy.py +21 -16
  874. pulumi_gcp/gkehub/scope_rbac_role_binding.py +18 -13
  875. pulumi_gcp/gkeonprem/_inputs.py +2318 -18
  876. pulumi_gcp/gkeonprem/bare_metal_admin_cluster.py +335 -330
  877. pulumi_gcp/gkeonprem/bare_metal_cluster.py +528 -523
  878. pulumi_gcp/gkeonprem/bare_metal_node_pool.py +262 -257
  879. pulumi_gcp/gkeonprem/outputs.py +5 -0
  880. pulumi_gcp/gkeonprem/v_mware_cluster.py +399 -394
  881. pulumi_gcp/gkeonprem/v_mware_node_pool.py +89 -84
  882. pulumi_gcp/healthcare/_inputs.py +359 -0
  883. pulumi_gcp/healthcare/consent_store.py +5 -0
  884. pulumi_gcp/healthcare/consent_store_iam_binding.py +24 -19
  885. pulumi_gcp/healthcare/consent_store_iam_member.py +24 -19
  886. pulumi_gcp/healthcare/consent_store_iam_policy.py +21 -16
  887. pulumi_gcp/healthcare/dataset.py +115 -0
  888. pulumi_gcp/healthcare/dataset_iam_binding.py +24 -19
  889. pulumi_gcp/healthcare/dataset_iam_member.py +24 -19
  890. pulumi_gcp/healthcare/dataset_iam_policy.py +21 -16
  891. pulumi_gcp/healthcare/dicom_store.py +39 -34
  892. pulumi_gcp/healthcare/dicom_store_iam_binding.py +24 -19
  893. pulumi_gcp/healthcare/dicom_store_iam_member.py +24 -19
  894. pulumi_gcp/healthcare/dicom_store_iam_policy.py +21 -16
  895. pulumi_gcp/healthcare/fhir_store.py +62 -57
  896. pulumi_gcp/healthcare/fhir_store_iam_binding.py +24 -19
  897. pulumi_gcp/healthcare/fhir_store_iam_member.py +24 -19
  898. pulumi_gcp/healthcare/fhir_store_iam_policy.py +21 -16
  899. pulumi_gcp/healthcare/get_consent_store_iam_policy.py +5 -0
  900. pulumi_gcp/healthcare/get_dataset_iam_policy.py +5 -0
  901. pulumi_gcp/healthcare/get_dicom_store_iam_policy.py +5 -0
  902. pulumi_gcp/healthcare/get_fhir_store_iam_policy.py +5 -0
  903. pulumi_gcp/healthcare/get_hl7_v2_store_iam_policy.py +5 -0
  904. pulumi_gcp/healthcare/hl7_store.py +46 -41
  905. pulumi_gcp/healthcare/hl7_store_iam_binding.py +24 -19
  906. pulumi_gcp/healthcare/hl7_store_iam_member.py +24 -19
  907. pulumi_gcp/healthcare/hl7_store_iam_policy.py +21 -16
  908. pulumi_gcp/healthcare/outputs.py +48 -0
  909. pulumi_gcp/iam/_inputs.py +433 -0
  910. pulumi_gcp/iam/access_boundary_policy.py +54 -49
  911. pulumi_gcp/iam/deny_policy.py +56 -51
  912. pulumi_gcp/iam/get_rule.py +5 -0
  913. pulumi_gcp/iam/get_testable_permissions.py +5 -0
  914. pulumi_gcp/iam/get_workload_identity_pool.py +5 -0
  915. pulumi_gcp/iam/get_workload_identity_pool_provider.py +5 -0
  916. pulumi_gcp/iam/outputs.py +5 -0
  917. pulumi_gcp/iam/workforce_pool.py +22 -17
  918. pulumi_gcp/iam/workforce_pool_provider.py +184 -179
  919. pulumi_gcp/iam/workload_identity_pool.py +5 -0
  920. pulumi_gcp/iam/workload_identity_pool_provider.py +68 -63
  921. pulumi_gcp/iap/_inputs.py +411 -0
  922. pulumi_gcp/iap/app_engine_service_iam_binding.py +102 -97
  923. pulumi_gcp/iap/app_engine_service_iam_member.py +102 -97
  924. pulumi_gcp/iap/app_engine_service_iam_policy.py +97 -92
  925. pulumi_gcp/iap/app_engine_version_iam_binding.py +102 -97
  926. pulumi_gcp/iap/app_engine_version_iam_member.py +102 -97
  927. pulumi_gcp/iap/app_engine_version_iam_policy.py +97 -92
  928. pulumi_gcp/iap/brand.py +5 -0
  929. pulumi_gcp/iap/client.py +5 -0
  930. pulumi_gcp/iap/get_app_engine_service_iam_policy.py +5 -0
  931. pulumi_gcp/iap/get_app_engine_version_iam_policy.py +5 -0
  932. pulumi_gcp/iap/get_client.py +5 -0
  933. pulumi_gcp/iap/get_tunnel_dest_group_iam_policy.py +5 -0
  934. pulumi_gcp/iap/get_tunnel_iam_policy.py +5 -0
  935. pulumi_gcp/iap/get_tunnel_instance_iam_policy.py +5 -0
  936. pulumi_gcp/iap/get_web_backend_service_iam_policy.py +5 -0
  937. pulumi_gcp/iap/get_web_iam_policy.py +5 -0
  938. pulumi_gcp/iap/get_web_region_backend_service_iam_policy.py +5 -0
  939. pulumi_gcp/iap/get_web_type_app_engine_iam_policy.py +5 -0
  940. pulumi_gcp/iap/get_web_type_compute_iam_policy.py +5 -0
  941. pulumi_gcp/iap/outputs.py +5 -0
  942. pulumi_gcp/iap/tunnel_dest_group.py +5 -0
  943. pulumi_gcp/iap/tunnel_dest_group_iam_binding.py +102 -97
  944. pulumi_gcp/iap/tunnel_dest_group_iam_member.py +102 -97
  945. pulumi_gcp/iap/tunnel_dest_group_iam_policy.py +97 -92
  946. pulumi_gcp/iap/tunnel_iam_binding.py +102 -97
  947. pulumi_gcp/iap/tunnel_iam_member.py +102 -97
  948. pulumi_gcp/iap/tunnel_iam_policy.py +97 -92
  949. pulumi_gcp/iap/tunnel_instance_iam_binding.py +102 -97
  950. pulumi_gcp/iap/tunnel_instance_iam_member.py +102 -97
  951. pulumi_gcp/iap/tunnel_instance_iam_policy.py +97 -92
  952. pulumi_gcp/iap/web_backend_service_iam_binding.py +102 -97
  953. pulumi_gcp/iap/web_backend_service_iam_member.py +102 -97
  954. pulumi_gcp/iap/web_backend_service_iam_policy.py +97 -92
  955. pulumi_gcp/iap/web_iam_binding.py +102 -97
  956. pulumi_gcp/iap/web_iam_member.py +102 -97
  957. pulumi_gcp/iap/web_iam_policy.py +97 -92
  958. pulumi_gcp/iap/web_region_backend_service_iam_binding.py +102 -97
  959. pulumi_gcp/iap/web_region_backend_service_iam_member.py +102 -97
  960. pulumi_gcp/iap/web_region_backend_service_iam_policy.py +97 -92
  961. pulumi_gcp/iap/web_type_app_enging_iam_binding.py +102 -97
  962. pulumi_gcp/iap/web_type_app_enging_iam_member.py +102 -97
  963. pulumi_gcp/iap/web_type_app_enging_iam_policy.py +97 -92
  964. pulumi_gcp/iap/web_type_compute_iam_binding.py +102 -97
  965. pulumi_gcp/iap/web_type_compute_iam_member.py +102 -97
  966. pulumi_gcp/iap/web_type_compute_iam_policy.py +97 -92
  967. pulumi_gcp/identityplatform/_inputs.py +576 -0
  968. pulumi_gcp/identityplatform/config.py +120 -115
  969. pulumi_gcp/identityplatform/default_supported_idp_config.py +5 -0
  970. pulumi_gcp/identityplatform/inbound_saml_config.py +39 -34
  971. pulumi_gcp/identityplatform/oauth_idp_config.py +5 -0
  972. pulumi_gcp/identityplatform/outputs.py +5 -0
  973. pulumi_gcp/identityplatform/project_default_config.py +38 -33
  974. pulumi_gcp/identityplatform/tenant.py +5 -0
  975. pulumi_gcp/identityplatform/tenant_default_supported_idp_config.py +5 -0
  976. pulumi_gcp/identityplatform/tenant_inbound_saml_config.py +39 -34
  977. pulumi_gcp/identityplatform/tenant_oauth_idp_config.py +5 -0
  978. pulumi_gcp/integrationconnectors/_inputs.py +868 -0
  979. pulumi_gcp/integrationconnectors/connection.py +465 -460
  980. pulumi_gcp/integrationconnectors/endpoint_attachment.py +5 -0
  981. pulumi_gcp/integrationconnectors/managed_zone.py +15 -10
  982. pulumi_gcp/integrationconnectors/outputs.py +5 -0
  983. pulumi_gcp/kms/_inputs.py +303 -0
  984. pulumi_gcp/kms/autokey_config.py +5 -0
  985. pulumi_gcp/kms/crypto_key.py +18 -13
  986. pulumi_gcp/kms/crypto_key_iam_binding.py +56 -51
  987. pulumi_gcp/kms/crypto_key_iam_member.py +56 -51
  988. pulumi_gcp/kms/crypto_key_iam_policy.py +51 -46
  989. pulumi_gcp/kms/crypto_key_version.py +12 -7
  990. pulumi_gcp/kms/ekm_connection.py +24 -19
  991. pulumi_gcp/kms/get_crypto_key_iam_policy.py +5 -0
  992. pulumi_gcp/kms/get_key_ring_iam_policy.py +5 -0
  993. pulumi_gcp/kms/get_kms_crypto_key.py +5 -0
  994. pulumi_gcp/kms/get_kms_crypto_key_version.py +5 -0
  995. pulumi_gcp/kms/get_kms_key_ring.py +5 -0
  996. pulumi_gcp/kms/get_kms_secret.py +11 -6
  997. pulumi_gcp/kms/get_kms_secret_asymmetric.py +17 -12
  998. pulumi_gcp/kms/get_kms_secret_ciphertext.py +23 -18
  999. pulumi_gcp/kms/key_handle.py +5 -0
  1000. pulumi_gcp/kms/key_ring.py +5 -0
  1001. pulumi_gcp/kms/key_ring_iam_binding.py +102 -97
  1002. pulumi_gcp/kms/key_ring_iam_member.py +102 -97
  1003. pulumi_gcp/kms/key_ring_iam_policy.py +97 -92
  1004. pulumi_gcp/kms/key_ring_import_job.py +9 -4
  1005. pulumi_gcp/kms/outputs.py +5 -0
  1006. pulumi_gcp/kms/secret_ciphertext.py +23 -18
  1007. pulumi_gcp/logging/_inputs.py +520 -0
  1008. pulumi_gcp/logging/billing_account_bucket_config.py +16 -11
  1009. pulumi_gcp/logging/billing_account_exclusion.py +5 -0
  1010. pulumi_gcp/logging/billing_account_sink.py +15 -10
  1011. pulumi_gcp/logging/folder_bucket_config.py +16 -11
  1012. pulumi_gcp/logging/folder_exclusion.py +5 -0
  1013. pulumi_gcp/logging/folder_settings.py +5 -0
  1014. pulumi_gcp/logging/folder_sink.py +15 -10
  1015. pulumi_gcp/logging/get_folder_settings.py +5 -0
  1016. pulumi_gcp/logging/get_log_view_iam_policy.py +5 -0
  1017. pulumi_gcp/logging/get_organization_settings.py +5 -0
  1018. pulumi_gcp/logging/get_project_cmek_settings.py +5 -0
  1019. pulumi_gcp/logging/get_project_settings.py +5 -0
  1020. pulumi_gcp/logging/get_sink.py +5 -0
  1021. pulumi_gcp/logging/linked_dataset.py +10 -5
  1022. pulumi_gcp/logging/log_view.py +5 -0
  1023. pulumi_gcp/logging/log_view_iam_binding.py +10 -5
  1024. pulumi_gcp/logging/log_view_iam_member.py +10 -5
  1025. pulumi_gcp/logging/log_view_iam_policy.py +5 -0
  1026. pulumi_gcp/logging/metric.py +97 -92
  1027. pulumi_gcp/logging/organization_bucket_config.py +16 -11
  1028. pulumi_gcp/logging/organization_exclusion.py +5 -0
  1029. pulumi_gcp/logging/organization_settings.py +5 -0
  1030. pulumi_gcp/logging/organization_sink.py +15 -10
  1031. pulumi_gcp/logging/outputs.py +5 -0
  1032. pulumi_gcp/logging/project_bucket_config.py +21 -16
  1033. pulumi_gcp/logging/project_exclusion.py +5 -0
  1034. pulumi_gcp/logging/project_sink.py +15 -10
  1035. pulumi_gcp/looker/_inputs.py +211 -0
  1036. pulumi_gcp/looker/instance.py +204 -199
  1037. pulumi_gcp/looker/outputs.py +5 -0
  1038. pulumi_gcp/managedkafka/_inputs.py +69 -0
  1039. pulumi_gcp/managedkafka/cluster.py +72 -67
  1040. pulumi_gcp/managedkafka/outputs.py +5 -0
  1041. pulumi_gcp/managedkafka/topic.py +27 -22
  1042. pulumi_gcp/memcache/_inputs.py +184 -0
  1043. pulumi_gcp/memcache/instance.py +56 -51
  1044. pulumi_gcp/memcache/outputs.py +5 -0
  1045. pulumi_gcp/migrationcenter/_inputs.py +182 -0
  1046. pulumi_gcp/migrationcenter/group.py +5 -0
  1047. pulumi_gcp/migrationcenter/outputs.py +5 -0
  1048. pulumi_gcp/migrationcenter/preference_set.py +82 -77
  1049. pulumi_gcp/ml/_inputs.py +17 -0
  1050. pulumi_gcp/ml/engine_model.py +10 -5
  1051. pulumi_gcp/ml/outputs.py +5 -0
  1052. pulumi_gcp/monitoring/_inputs.py +1778 -62
  1053. pulumi_gcp/monitoring/alert_policy.py +128 -123
  1054. pulumi_gcp/monitoring/custom_service.py +16 -11
  1055. pulumi_gcp/monitoring/dashboard.py +5 -0
  1056. pulumi_gcp/monitoring/generic_service.py +20 -15
  1057. pulumi_gcp/monitoring/get_app_engine_service.py +21 -16
  1058. pulumi_gcp/monitoring/get_cluster_istio_service.py +5 -0
  1059. pulumi_gcp/monitoring/get_istio_canonical_service.py +5 -0
  1060. pulumi_gcp/monitoring/get_mesh_istio_service.py +5 -0
  1061. pulumi_gcp/monitoring/get_notification_channel.py +29 -24
  1062. pulumi_gcp/monitoring/get_secret_version.py +5 -0
  1063. pulumi_gcp/monitoring/get_uptime_check_i_ps.py +5 -0
  1064. pulumi_gcp/monitoring/group.py +5 -0
  1065. pulumi_gcp/monitoring/metric_descriptor.py +49 -44
  1066. pulumi_gcp/monitoring/monitored_project.py +5 -0
  1067. pulumi_gcp/monitoring/notification_channel.py +16 -11
  1068. pulumi_gcp/monitoring/outputs.py +68 -0
  1069. pulumi_gcp/monitoring/slo.py +120 -115
  1070. pulumi_gcp/monitoring/uptime_check_config.py +241 -236
  1071. pulumi_gcp/netapp/_inputs.py +311 -0
  1072. pulumi_gcp/netapp/active_directory.py +5 -0
  1073. pulumi_gcp/netapp/backup.py +11 -6
  1074. pulumi_gcp/netapp/backup_policy.py +5 -0
  1075. pulumi_gcp/netapp/backup_vault.py +5 -0
  1076. pulumi_gcp/netapp/kmsconfig.py +5 -0
  1077. pulumi_gcp/netapp/outputs.py +5 -0
  1078. pulumi_gcp/netapp/storage_pool.py +5 -0
  1079. pulumi_gcp/netapp/volume.py +27 -22
  1080. pulumi_gcp/netapp/volume_replication.py +24 -19
  1081. pulumi_gcp/netapp/volume_snapshot.py +5 -0
  1082. pulumi_gcp/networkconnectivity/_inputs.py +253 -0
  1083. pulumi_gcp/networkconnectivity/hub.py +7 -2
  1084. pulumi_gcp/networkconnectivity/internal_range.py +5 -0
  1085. pulumi_gcp/networkconnectivity/outputs.py +5 -0
  1086. pulumi_gcp/networkconnectivity/policy_based_route.py +46 -41
  1087. pulumi_gcp/networkconnectivity/regional_endpoint.py +5 -0
  1088. pulumi_gcp/networkconnectivity/service_connection_policy.py +20 -15
  1089. pulumi_gcp/networkconnectivity/spoke.py +71 -66
  1090. pulumi_gcp/networkmanagement/_inputs.py +87 -0
  1091. pulumi_gcp/networkmanagement/connectivity_test.py +85 -80
  1092. pulumi_gcp/networkmanagement/outputs.py +5 -0
  1093. pulumi_gcp/networksecurity/_inputs.py +321 -0
  1094. pulumi_gcp/networksecurity/address_group.py +5 -0
  1095. pulumi_gcp/networksecurity/address_group_iam_binding.py +297 -5
  1096. pulumi_gcp/networksecurity/address_group_iam_member.py +297 -5
  1097. pulumi_gcp/networksecurity/address_group_iam_policy.py +5 -0
  1098. pulumi_gcp/networksecurity/authorization_policy.py +52 -47
  1099. pulumi_gcp/networksecurity/client_tls_policy.py +45 -40
  1100. pulumi_gcp/networksecurity/firewall_endpoint.py +5 -0
  1101. pulumi_gcp/networksecurity/firewall_endpoint_association.py +5 -0
  1102. pulumi_gcp/networksecurity/gateway_security_policy.py +91 -86
  1103. pulumi_gcp/networksecurity/gateway_security_policy_rule.py +5 -0
  1104. pulumi_gcp/networksecurity/get_address_group_iam_policy.py +5 -0
  1105. pulumi_gcp/networksecurity/outputs.py +5 -0
  1106. pulumi_gcp/networksecurity/security_profile.py +40 -35
  1107. pulumi_gcp/networksecurity/security_profile_group.py +5 -0
  1108. pulumi_gcp/networksecurity/server_tls_policy.py +101 -96
  1109. pulumi_gcp/networksecurity/tls_inspection_policy.py +193 -188
  1110. pulumi_gcp/networksecurity/url_list.py +5 -0
  1111. pulumi_gcp/networkservices/_inputs.py +1781 -29
  1112. pulumi_gcp/networkservices/edge_cache_keyset.py +51 -46
  1113. pulumi_gcp/networkservices/edge_cache_origin.py +89 -84
  1114. pulumi_gcp/networkservices/edge_cache_service.py +567 -562
  1115. pulumi_gcp/networkservices/endpoint_policy.py +55 -50
  1116. pulumi_gcp/networkservices/gateway.py +21 -16
  1117. pulumi_gcp/networkservices/grpc_route.py +146 -141
  1118. pulumi_gcp/networkservices/http_route.py +294 -289
  1119. pulumi_gcp/networkservices/lb_route_extension.py +10 -5
  1120. pulumi_gcp/networkservices/lb_traffic_extension.py +10 -5
  1121. pulumi_gcp/networkservices/mesh.py +5 -0
  1122. pulumi_gcp/networkservices/outputs.py +5 -0
  1123. pulumi_gcp/networkservices/service_binding.py +5 -0
  1124. pulumi_gcp/networkservices/service_lb_policies.py +27 -22
  1125. pulumi_gcp/networkservices/tcp_route.py +106 -101
  1126. pulumi_gcp/networkservices/tls_route.py +82 -77
  1127. pulumi_gcp/notebooks/_inputs.py +615 -0
  1128. pulumi_gcp/notebooks/environment.py +21 -16
  1129. pulumi_gcp/notebooks/get_instance_iam_policy.py +5 -0
  1130. pulumi_gcp/notebooks/get_runtime_iam_policy.py +5 -0
  1131. pulumi_gcp/notebooks/instance.py +78 -73
  1132. pulumi_gcp/notebooks/instance_iam_binding.py +24 -19
  1133. pulumi_gcp/notebooks/instance_iam_member.py +24 -19
  1134. pulumi_gcp/notebooks/instance_iam_policy.py +21 -16
  1135. pulumi_gcp/notebooks/location.py +5 -0
  1136. pulumi_gcp/notebooks/outputs.py +5 -0
  1137. pulumi_gcp/notebooks/runtime.py +222 -217
  1138. pulumi_gcp/notebooks/runtime_iam_binding.py +24 -19
  1139. pulumi_gcp/notebooks/runtime_iam_member.py +24 -19
  1140. pulumi_gcp/notebooks/runtime_iam_policy.py +21 -16
  1141. pulumi_gcp/organizations/_inputs.py +231 -0
  1142. pulumi_gcp/organizations/access_approval_settings.py +36 -31
  1143. pulumi_gcp/organizations/folder.py +5 -0
  1144. pulumi_gcp/organizations/get_active_folder.py +5 -0
  1145. pulumi_gcp/organizations/get_billing_account.py +5 -0
  1146. pulumi_gcp/organizations/get_client_config.py +5 -0
  1147. pulumi_gcp/organizations/get_client_open_id_user_info.py +5 -0
  1148. pulumi_gcp/organizations/get_folder.py +5 -0
  1149. pulumi_gcp/organizations/get_folders.py +5 -0
  1150. pulumi_gcp/organizations/get_iam_policy.py +13 -8
  1151. pulumi_gcp/organizations/get_organization.py +5 -0
  1152. pulumi_gcp/organizations/get_project.py +5 -0
  1153. pulumi_gcp/organizations/iam_audit_config.py +18 -13
  1154. pulumi_gcp/organizations/iam_binding.py +8 -3
  1155. pulumi_gcp/organizations/iam_custom_role.py +5 -0
  1156. pulumi_gcp/organizations/iam_member.py +130 -125
  1157. pulumi_gcp/organizations/iam_policy.py +125 -120
  1158. pulumi_gcp/organizations/outputs.py +5 -0
  1159. pulumi_gcp/organizations/policy.py +54 -49
  1160. pulumi_gcp/organizations/project.py +5 -0
  1161. pulumi_gcp/orgpolicy/_inputs.py +183 -0
  1162. pulumi_gcp/orgpolicy/custom_constraint.py +15 -10
  1163. pulumi_gcp/orgpolicy/outputs.py +5 -0
  1164. pulumi_gcp/orgpolicy/policy.py +103 -98
  1165. pulumi_gcp/osconfig/_inputs.py +2235 -30
  1166. pulumi_gcp/osconfig/guest_policies.py +171 -166
  1167. pulumi_gcp/osconfig/os_policy_assignment.py +158 -153
  1168. pulumi_gcp/osconfig/outputs.py +5 -0
  1169. pulumi_gcp/osconfig/patch_deployment.py +326 -321
  1170. pulumi_gcp/oslogin/ssh_public_key.py +5 -0
  1171. pulumi_gcp/parallelstore/instance.py +5 -0
  1172. pulumi_gcp/privilegedaccessmanager/_inputs.py +170 -0
  1173. pulumi_gcp/privilegedaccessmanager/entitlement.py +94 -89
  1174. pulumi_gcp/privilegedaccessmanager/outputs.py +5 -0
  1175. pulumi_gcp/projects/_inputs.py +262 -0
  1176. pulumi_gcp/projects/access_approval_settings.py +30 -25
  1177. pulumi_gcp/projects/api_key.py +88 -83
  1178. pulumi_gcp/projects/default_service_accounts.py +5 -0
  1179. pulumi_gcp/projects/get_iam_policy.py +5 -0
  1180. pulumi_gcp/projects/get_organization_policy.py +5 -0
  1181. pulumi_gcp/projects/get_project.py +5 -0
  1182. pulumi_gcp/projects/get_project_service.py +5 -0
  1183. pulumi_gcp/projects/iam_audit_config.py +130 -125
  1184. pulumi_gcp/projects/iam_binding.py +130 -125
  1185. pulumi_gcp/projects/iam_custom_role.py +5 -0
  1186. pulumi_gcp/projects/iam_member.py +130 -125
  1187. pulumi_gcp/projects/iam_member_remove.py +5 -0
  1188. pulumi_gcp/projects/iam_policy.py +125 -120
  1189. pulumi_gcp/projects/organization_policy.py +54 -49
  1190. pulumi_gcp/projects/outputs.py +5 -0
  1191. pulumi_gcp/projects/service.py +5 -0
  1192. pulumi_gcp/projects/service_identity.py +5 -0
  1193. pulumi_gcp/projects/usage_export_bucket.py +5 -0
  1194. pulumi_gcp/provider.py +7 -2
  1195. pulumi_gcp/pubsub/_inputs.py +438 -0
  1196. pulumi_gcp/pubsub/get_schema_iam_policy.py +5 -0
  1197. pulumi_gcp/pubsub/get_subscription.py +5 -0
  1198. pulumi_gcp/pubsub/get_subscription_iam_policy.py +5 -0
  1199. pulumi_gcp/pubsub/get_topic.py +5 -0
  1200. pulumi_gcp/pubsub/get_topic_iam_policy.py +5 -0
  1201. pulumi_gcp/pubsub/lite_reservation.py +5 -0
  1202. pulumi_gcp/pubsub/lite_subscription.py +36 -31
  1203. pulumi_gcp/pubsub/lite_topic.py +46 -41
  1204. pulumi_gcp/pubsub/outputs.py +5 -0
  1205. pulumi_gcp/pubsub/schema.py +13 -8
  1206. pulumi_gcp/pubsub/schema_iam_binding.py +24 -19
  1207. pulumi_gcp/pubsub/schema_iam_member.py +24 -19
  1208. pulumi_gcp/pubsub/schema_iam_policy.py +21 -16
  1209. pulumi_gcp/pubsub/subscription.py +141 -136
  1210. pulumi_gcp/pubsub/subscription_iam_binding.py +24 -19
  1211. pulumi_gcp/pubsub/subscription_iam_member.py +24 -19
  1212. pulumi_gcp/pubsub/subscription_iam_policy.py +21 -16
  1213. pulumi_gcp/pubsub/topic.py +50 -45
  1214. pulumi_gcp/pubsub/topic_iam_binding.py +24 -19
  1215. pulumi_gcp/pubsub/topic_iam_member.py +24 -19
  1216. pulumi_gcp/pubsub/topic_iam_policy.py +21 -16
  1217. pulumi_gcp/pulumi-plugin.json +1 -1
  1218. pulumi_gcp/recaptcha/_inputs.py +89 -0
  1219. pulumi_gcp/recaptcha/enterprise_key.py +132 -127
  1220. pulumi_gcp/recaptcha/outputs.py +5 -0
  1221. pulumi_gcp/redis/_inputs.py +321 -0
  1222. pulumi_gcp/redis/cluster.py +59 -54
  1223. pulumi_gcp/redis/get_instance.py +5 -0
  1224. pulumi_gcp/redis/instance.py +51 -46
  1225. pulumi_gcp/redis/outputs.py +5 -0
  1226. pulumi_gcp/resourcemanager/lien.py +5 -0
  1227. pulumi_gcp/runtimeconfig/_inputs.py +25 -0
  1228. pulumi_gcp/runtimeconfig/config.py +5 -0
  1229. pulumi_gcp/runtimeconfig/config_iam_binding.py +8 -3
  1230. pulumi_gcp/runtimeconfig/config_iam_member.py +8 -3
  1231. pulumi_gcp/runtimeconfig/config_iam_policy.py +5 -0
  1232. pulumi_gcp/runtimeconfig/get_config.py +5 -0
  1233. pulumi_gcp/runtimeconfig/get_config_iam_policy.py +5 -0
  1234. pulumi_gcp/runtimeconfig/get_variable.py +5 -0
  1235. pulumi_gcp/runtimeconfig/outputs.py +5 -0
  1236. pulumi_gcp/runtimeconfig/variable.py +5 -0
  1237. pulumi_gcp/secretmanager/_inputs.py +143 -0
  1238. pulumi_gcp/secretmanager/get_secret.py +5 -0
  1239. pulumi_gcp/secretmanager/get_secret_iam_policy.py +5 -0
  1240. pulumi_gcp/secretmanager/get_secret_version.py +5 -0
  1241. pulumi_gcp/secretmanager/get_secret_version_access.py +5 -0
  1242. pulumi_gcp/secretmanager/get_secrets.py +5 -0
  1243. pulumi_gcp/secretmanager/outputs.py +5 -0
  1244. pulumi_gcp/secretmanager/secret.py +68 -63
  1245. pulumi_gcp/secretmanager/secret_iam_binding.py +102 -97
  1246. pulumi_gcp/secretmanager/secret_iam_member.py +102 -97
  1247. pulumi_gcp/secretmanager/secret_iam_policy.py +97 -92
  1248. pulumi_gcp/secretmanager/secret_version.py +53 -48
  1249. pulumi_gcp/securesourcemanager/_inputs.py +75 -0
  1250. pulumi_gcp/securesourcemanager/get_instance_iam_policy.py +5 -0
  1251. pulumi_gcp/securesourcemanager/instance.py +78 -73
  1252. pulumi_gcp/securesourcemanager/instance_iam_binding.py +8 -3
  1253. pulumi_gcp/securesourcemanager/instance_iam_member.py +8 -3
  1254. pulumi_gcp/securesourcemanager/instance_iam_policy.py +5 -0
  1255. pulumi_gcp/securesourcemanager/outputs.py +5 -0
  1256. pulumi_gcp/securitycenter/_inputs.py +860 -7
  1257. pulumi_gcp/securitycenter/event_threat_detection_custom_module.py +5 -0
  1258. pulumi_gcp/securitycenter/folder_custom_module.py +82 -77
  1259. pulumi_gcp/securitycenter/get_source_iam_policy.py +5 -0
  1260. pulumi_gcp/securitycenter/instance_iam_binding.py +102 -33
  1261. pulumi_gcp/securitycenter/instance_iam_member.py +102 -33
  1262. pulumi_gcp/securitycenter/instance_iam_policy.py +99 -30
  1263. pulumi_gcp/securitycenter/management_folder_security_health_analytics_custom_module.py +82 -77
  1264. pulumi_gcp/securitycenter/management_organization_event_threat_detection_custom_module.py +5 -0
  1265. pulumi_gcp/securitycenter/management_organization_security_health_analytics_custom_module.py +82 -77
  1266. pulumi_gcp/securitycenter/management_project_security_health_analytics_custom_module.py +82 -77
  1267. pulumi_gcp/securitycenter/mute_config.py +5 -0
  1268. pulumi_gcp/securitycenter/notification_config.py +16 -11
  1269. pulumi_gcp/securitycenter/organization_custom_module.py +82 -77
  1270. pulumi_gcp/securitycenter/outputs.py +5 -0
  1271. pulumi_gcp/securitycenter/project_custom_module.py +82 -77
  1272. pulumi_gcp/securitycenter/source.py +5 -0
  1273. pulumi_gcp/securitycenter/source_iam_binding.py +8 -3
  1274. pulumi_gcp/securitycenter/source_iam_member.py +8 -3
  1275. pulumi_gcp/securitycenter/source_iam_policy.py +5 -0
  1276. pulumi_gcp/securityposture/_inputs.py +457 -0
  1277. pulumi_gcp/securityposture/outputs.py +5 -0
  1278. pulumi_gcp/securityposture/posture.py +186 -181
  1279. pulumi_gcp/securityposture/posture_deployment.py +35 -30
  1280. pulumi_gcp/serviceaccount/_inputs.py +51 -0
  1281. pulumi_gcp/serviceaccount/account.py +5 -0
  1282. pulumi_gcp/serviceaccount/get_account.py +5 -0
  1283. pulumi_gcp/serviceaccount/get_account_access_token.py +5 -0
  1284. pulumi_gcp/serviceaccount/get_account_id_token.py +5 -0
  1285. pulumi_gcp/serviceaccount/get_account_jwt.py +5 -0
  1286. pulumi_gcp/serviceaccount/get_account_key.py +5 -0
  1287. pulumi_gcp/serviceaccount/get_iam_policy.py +5 -0
  1288. pulumi_gcp/serviceaccount/iam_binding.py +66 -61
  1289. pulumi_gcp/serviceaccount/iam_member.py +66 -61
  1290. pulumi_gcp/serviceaccount/iam_policy.py +61 -56
  1291. pulumi_gcp/serviceaccount/key.py +5 -0
  1292. pulumi_gcp/serviceaccount/outputs.py +5 -0
  1293. pulumi_gcp/servicedirectory/_inputs.py +43 -0
  1294. pulumi_gcp/servicedirectory/endpoint.py +5 -0
  1295. pulumi_gcp/servicedirectory/get_namespace_iam_policy.py +5 -0
  1296. pulumi_gcp/servicedirectory/get_service_iam_policy.py +5 -0
  1297. pulumi_gcp/servicedirectory/namespace.py +5 -0
  1298. pulumi_gcp/servicedirectory/namespace_iam_binding.py +24 -19
  1299. pulumi_gcp/servicedirectory/namespace_iam_member.py +24 -19
  1300. pulumi_gcp/servicedirectory/namespace_iam_policy.py +21 -16
  1301. pulumi_gcp/servicedirectory/outputs.py +5 -0
  1302. pulumi_gcp/servicedirectory/service.py +5 -0
  1303. pulumi_gcp/servicedirectory/service_iam_binding.py +24 -19
  1304. pulumi_gcp/servicedirectory/service_iam_member.py +24 -19
  1305. pulumi_gcp/servicedirectory/service_iam_policy.py +21 -16
  1306. pulumi_gcp/servicenetworking/connection.py +5 -0
  1307. pulumi_gcp/servicenetworking/get_peered_dns_domain.py +5 -0
  1308. pulumi_gcp/servicenetworking/peered_dns_domain.py +5 -0
  1309. pulumi_gcp/servicenetworking/vpc_service_controls.py +5 -0
  1310. pulumi_gcp/serviceusage/consumer_quota_override.py +5 -0
  1311. pulumi_gcp/sourcerepo/_inputs.py +49 -0
  1312. pulumi_gcp/sourcerepo/get_repository.py +5 -0
  1313. pulumi_gcp/sourcerepo/get_repository_iam_policy.py +5 -0
  1314. pulumi_gcp/sourcerepo/outputs.py +5 -0
  1315. pulumi_gcp/sourcerepo/repository.py +20 -15
  1316. pulumi_gcp/sourcerepo/repository_iam_binding.py +116 -102
  1317. pulumi_gcp/sourcerepo/repository_iam_member.py +116 -102
  1318. pulumi_gcp/sourcerepo/repository_iam_policy.py +106 -92
  1319. pulumi_gcp/spanner/_inputs.py +157 -0
  1320. pulumi_gcp/spanner/database.py +10 -5
  1321. pulumi_gcp/spanner/database_iam_binding.py +102 -97
  1322. pulumi_gcp/spanner/database_iam_member.py +102 -97
  1323. pulumi_gcp/spanner/database_iam_policy.py +97 -92
  1324. pulumi_gcp/spanner/get_database_iam_policy.py +5 -0
  1325. pulumi_gcp/spanner/get_instance.py +5 -0
  1326. pulumi_gcp/spanner/get_instance_iam_policy.py +5 -0
  1327. pulumi_gcp/spanner/instance.py +30 -25
  1328. pulumi_gcp/spanner/instance_config.py +10 -5
  1329. pulumi_gcp/spanner/instance_iam_binding.py +24 -19
  1330. pulumi_gcp/spanner/instance_iam_member.py +24 -19
  1331. pulumi_gcp/spanner/instance_iam_policy.py +21 -16
  1332. pulumi_gcp/spanner/outputs.py +5 -0
  1333. pulumi_gcp/sql/_inputs.py +616 -0
  1334. pulumi_gcp/sql/database.py +17 -12
  1335. pulumi_gcp/sql/database_instance.py +93 -88
  1336. pulumi_gcp/sql/get_backup_run.py +5 -0
  1337. pulumi_gcp/sql/get_ca_certs.py +5 -0
  1338. pulumi_gcp/sql/get_database.py +5 -0
  1339. pulumi_gcp/sql/get_database_instance.py +5 -0
  1340. pulumi_gcp/sql/get_database_instance_latest_recovery_time.py +5 -0
  1341. pulumi_gcp/sql/get_database_instances.py +5 -0
  1342. pulumi_gcp/sql/get_databases.py +5 -0
  1343. pulumi_gcp/sql/get_tiers.py +5 -0
  1344. pulumi_gcp/sql/outputs.py +5 -0
  1345. pulumi_gcp/sql/source_representation_instance.py +5 -0
  1346. pulumi_gcp/sql/ssl_cert.py +11 -6
  1347. pulumi_gcp/sql/user.py +43 -38
  1348. pulumi_gcp/storage/__init__.py +5 -0
  1349. pulumi_gcp/storage/_inputs.py +960 -2
  1350. pulumi_gcp/storage/bucket.py +125 -120
  1351. pulumi_gcp/storage/bucket_access_control.py +5 -0
  1352. pulumi_gcp/storage/bucket_acl.py +5 -0
  1353. pulumi_gcp/storage/bucket_iam_binding.py +102 -97
  1354. pulumi_gcp/storage/bucket_iam_member.py +102 -97
  1355. pulumi_gcp/storage/bucket_iam_policy.py +97 -92
  1356. pulumi_gcp/storage/bucket_object.py +15 -10
  1357. pulumi_gcp/storage/default_object_access_control.py +7 -2
  1358. pulumi_gcp/storage/default_object_acl.py +5 -0
  1359. pulumi_gcp/storage/get_bucket.py +5 -0
  1360. pulumi_gcp/storage/get_bucket_iam_policy.py +5 -0
  1361. pulumi_gcp/storage/get_bucket_object.py +5 -0
  1362. pulumi_gcp/storage/get_bucket_object_content.py +5 -0
  1363. pulumi_gcp/storage/get_bucket_objects.py +5 -0
  1364. pulumi_gcp/storage/get_buckets.py +5 -0
  1365. pulumi_gcp/storage/get_managed_folder_iam_policy.py +115 -0
  1366. pulumi_gcp/storage/get_object_signed_url.py +5 -0
  1367. pulumi_gcp/storage/get_project_service_account.py +11 -6
  1368. pulumi_gcp/storage/get_transfer_project_service_account.py +5 -0
  1369. pulumi_gcp/storage/get_transfer_project_servie_account.py +5 -0
  1370. pulumi_gcp/storage/hmac_key.py +5 -0
  1371. pulumi_gcp/storage/insights_report_config.py +76 -71
  1372. pulumi_gcp/storage/managed_folder.py +440 -0
  1373. pulumi_gcp/storage/managed_folder_iam_binding.py +947 -0
  1374. pulumi_gcp/storage/managed_folder_iam_member.py +947 -0
  1375. pulumi_gcp/storage/managed_folder_iam_policy.py +766 -0
  1376. pulumi_gcp/storage/notification.py +5 -0
  1377. pulumi_gcp/storage/object_access_control.py +7 -2
  1378. pulumi_gcp/storage/object_acl.py +5 -0
  1379. pulumi_gcp/storage/outputs.py +81 -0
  1380. pulumi_gcp/storage/transfer_agent_pool.py +16 -11
  1381. pulumi_gcp/storage/transfer_job.py +113 -108
  1382. pulumi_gcp/tags/_inputs.py +43 -0
  1383. pulumi_gcp/tags/get_tag_key.py +5 -0
  1384. pulumi_gcp/tags/get_tag_key_iam_policy.py +5 -0
  1385. pulumi_gcp/tags/get_tag_keys.py +5 -0
  1386. pulumi_gcp/tags/get_tag_value.py +5 -0
  1387. pulumi_gcp/tags/get_tag_value_iam_policy.py +5 -0
  1388. pulumi_gcp/tags/get_tag_values.py +5 -0
  1389. pulumi_gcp/tags/location_tag_binding.py +5 -0
  1390. pulumi_gcp/tags/outputs.py +5 -0
  1391. pulumi_gcp/tags/tag_binding.py +5 -0
  1392. pulumi_gcp/tags/tag_key.py +5 -0
  1393. pulumi_gcp/tags/tag_key_iam_binding.py +24 -19
  1394. pulumi_gcp/tags/tag_key_iam_member.py +24 -19
  1395. pulumi_gcp/tags/tag_key_iam_policy.py +21 -16
  1396. pulumi_gcp/tags/tag_value.py +5 -0
  1397. pulumi_gcp/tags/tag_value_iam_binding.py +24 -19
  1398. pulumi_gcp/tags/tag_value_iam_member.py +24 -19
  1399. pulumi_gcp/tags/tag_value_iam_policy.py +21 -16
  1400. pulumi_gcp/tpu/_inputs.py +194 -0
  1401. pulumi_gcp/tpu/get_tensorflow_versions.py +5 -0
  1402. pulumi_gcp/tpu/get_v2_accelerator_types.py +5 -0
  1403. pulumi_gcp/tpu/get_v2_runtime_versions.py +5 -0
  1404. pulumi_gcp/tpu/node.py +18 -13
  1405. pulumi_gcp/tpu/outputs.py +5 -0
  1406. pulumi_gcp/tpu/v2_vm.py +87 -82
  1407. pulumi_gcp/vertex/_inputs.py +843 -2
  1408. pulumi_gcp/vertex/ai_dataset.py +10 -5
  1409. pulumi_gcp/vertex/ai_deployment_resource_pool.py +36 -31
  1410. pulumi_gcp/vertex/ai_endpoint.py +18 -13
  1411. pulumi_gcp/vertex/ai_endpoint_iam_binding.py +8 -3
  1412. pulumi_gcp/vertex/ai_endpoint_iam_member.py +8 -3
  1413. pulumi_gcp/vertex/ai_endpoint_iam_policy.py +5 -0
  1414. pulumi_gcp/vertex/ai_feature_group.py +22 -17
  1415. pulumi_gcp/vertex/ai_feature_group_feature.py +17 -12
  1416. pulumi_gcp/vertex/ai_feature_online_store.py +80 -75
  1417. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +151 -146
  1418. pulumi_gcp/vertex/ai_feature_store.py +57 -52
  1419. pulumi_gcp/vertex/ai_feature_store_entity_type.py +92 -87
  1420. pulumi_gcp/vertex/ai_feature_store_entity_type_feature.py +41 -36
  1421. pulumi_gcp/vertex/ai_feature_store_entity_type_iam_binding.py +8 -3
  1422. pulumi_gcp/vertex/ai_feature_store_entity_type_iam_member.py +8 -3
  1423. pulumi_gcp/vertex/ai_feature_store_entity_type_iam_policy.py +5 -0
  1424. pulumi_gcp/vertex/ai_feature_store_iam_binding.py +8 -3
  1425. pulumi_gcp/vertex/ai_feature_store_iam_member.py +8 -3
  1426. pulumi_gcp/vertex/ai_feature_store_iam_policy.py +5 -0
  1427. pulumi_gcp/vertex/ai_index.py +68 -63
  1428. pulumi_gcp/vertex/ai_index_endpoint.py +18 -13
  1429. pulumi_gcp/vertex/ai_metadata_store.py +12 -7
  1430. pulumi_gcp/vertex/ai_tensorboard.py +16 -11
  1431. pulumi_gcp/vertex/get_ai_endpoint_iam_policy.py +5 -0
  1432. pulumi_gcp/vertex/get_ai_featurestore_entitytype_iam_policy.py +5 -0
  1433. pulumi_gcp/vertex/get_ai_featurestore_iam_policy.py +5 -0
  1434. pulumi_gcp/vertex/get_ai_index.py +5 -0
  1435. pulumi_gcp/vertex/outputs.py +7 -2
  1436. pulumi_gcp/vmwareengine/_inputs.py +290 -0
  1437. pulumi_gcp/vmwareengine/cluster.py +74 -69
  1438. pulumi_gcp/vmwareengine/external_access_rule.py +61 -56
  1439. pulumi_gcp/vmwareengine/external_address.py +27 -22
  1440. pulumi_gcp/vmwareengine/get_cluster.py +5 -0
  1441. pulumi_gcp/vmwareengine/get_external_access_rule.py +5 -0
  1442. pulumi_gcp/vmwareengine/get_external_address.py +5 -0
  1443. pulumi_gcp/vmwareengine/get_network.py +5 -0
  1444. pulumi_gcp/vmwareengine/get_network_peering.py +5 -0
  1445. pulumi_gcp/vmwareengine/get_network_policy.py +5 -0
  1446. pulumi_gcp/vmwareengine/get_nsx_credentials.py +5 -0
  1447. pulumi_gcp/vmwareengine/get_private_cloud.py +5 -0
  1448. pulumi_gcp/vmwareengine/get_subnet.py +5 -0
  1449. pulumi_gcp/vmwareengine/get_vcenter_credentials.py +5 -0
  1450. pulumi_gcp/vmwareengine/network.py +7 -2
  1451. pulumi_gcp/vmwareengine/network_peering.py +5 -0
  1452. pulumi_gcp/vmwareengine/network_policy.py +27 -22
  1453. pulumi_gcp/vmwareengine/outputs.py +5 -0
  1454. pulumi_gcp/vmwareengine/private_cloud.py +67 -62
  1455. pulumi_gcp/vmwareengine/subnet.py +29 -24
  1456. pulumi_gcp/vpcaccess/_inputs.py +22 -0
  1457. pulumi_gcp/vpcaccess/connector.py +16 -11
  1458. pulumi_gcp/vpcaccess/get_connector.py +5 -0
  1459. pulumi_gcp/vpcaccess/outputs.py +5 -0
  1460. pulumi_gcp/workbench/_inputs.py +319 -0
  1461. pulumi_gcp/workbench/get_instance_iam_policy.py +5 -0
  1462. pulumi_gcp/workbench/instance.py +144 -139
  1463. pulumi_gcp/workbench/instance_iam_binding.py +8 -3
  1464. pulumi_gcp/workbench/instance_iam_member.py +8 -3
  1465. pulumi_gcp/workbench/instance_iam_policy.py +5 -0
  1466. pulumi_gcp/workbench/outputs.py +5 -0
  1467. pulumi_gcp/workflows/workflow.py +5 -0
  1468. pulumi_gcp/workstations/_inputs.py +433 -0
  1469. pulumi_gcp/workstations/get_workstation_config_iam_policy.py +5 -0
  1470. pulumi_gcp/workstations/get_workstation_iam_policy.py +5 -0
  1471. pulumi_gcp/workstations/outputs.py +5 -0
  1472. pulumi_gcp/workstations/workstation.py +19 -14
  1473. pulumi_gcp/workstations/workstation_cluster.py +35 -30
  1474. pulumi_gcp/workstations/workstation_config.py +251 -246
  1475. pulumi_gcp/workstations/workstation_config_iam_binding.py +8 -3
  1476. pulumi_gcp/workstations/workstation_config_iam_member.py +8 -3
  1477. pulumi_gcp/workstations/workstation_config_iam_policy.py +5 -0
  1478. pulumi_gcp/workstations/workstation_iam_binding.py +8 -3
  1479. pulumi_gcp/workstations/workstation_iam_member.py +8 -3
  1480. pulumi_gcp/workstations/workstation_iam_policy.py +5 -0
  1481. {pulumi_gcp-7.29.0a1719417555.dist-info → pulumi_gcp-7.30.0.dist-info}/METADATA +2 -1
  1482. pulumi_gcp-7.30.0.dist-info/RECORD +1605 -0
  1483. {pulumi_gcp-7.29.0a1719417555.dist-info → pulumi_gcp-7.30.0.dist-info}/WHEEL +1 -1
  1484. pulumi_gcp-7.29.0a1719417555.dist-info/RECORD +0 -1600
  1485. {pulumi_gcp-7.29.0a1719417555.dist-info → pulumi_gcp-7.30.0.dist-info}/top_level.txt +0 -0
@@ -4,9 +4,14 @@
4
4
 
5
5
  import copy
6
6
  import warnings
7
+ import sys
7
8
  import pulumi
8
9
  import pulumi.runtime
9
10
  from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
10
15
  from .. import _utilities
11
16
 
12
17
  __all__ = ['RestorePlanIamPolicyArgs', 'RestorePlanIamPolicy']
@@ -20,8 +25,15 @@ class RestorePlanIamPolicyArgs:
20
25
  project: Optional[pulumi.Input[str]] = None):
21
26
  """
22
27
  The set of arguments for constructing a RestorePlanIamPolicy resource.
28
+ :param pulumi.Input[str] policy_data: The policy data generated by
29
+ a `organizations_get_iam_policy` data source.
23
30
  :param pulumi.Input[str] location: The region of the Restore Plan.
24
- :param pulumi.Input[str] name: The full name of the BackupPlan Resource.
31
+ Used to find the parent resource to bind the IAM policy to. If not specified,
32
+ the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
33
+ location is specified, it is taken from the provider configuration.
34
+ :param pulumi.Input[str] name: Used to find the parent resource to bind the IAM policy to
35
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
36
+ 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.
25
37
  """
26
38
  pulumi.set(__self__, "policy_data", policy_data)
27
39
  if location is not None:
@@ -34,6 +46,10 @@ class RestorePlanIamPolicyArgs:
34
46
  @property
35
47
  @pulumi.getter(name="policyData")
36
48
  def policy_data(self) -> pulumi.Input[str]:
49
+ """
50
+ The policy data generated by
51
+ a `organizations_get_iam_policy` data source.
52
+ """
37
53
  return pulumi.get(self, "policy_data")
38
54
 
39
55
  @policy_data.setter
@@ -45,6 +61,9 @@ class RestorePlanIamPolicyArgs:
45
61
  def location(self) -> Optional[pulumi.Input[str]]:
46
62
  """
47
63
  The region of the Restore Plan.
64
+ Used to find the parent resource to bind the IAM policy to. If not specified,
65
+ the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
66
+ location is specified, it is taken from the provider configuration.
48
67
  """
49
68
  return pulumi.get(self, "location")
50
69
 
@@ -56,7 +75,7 @@ class RestorePlanIamPolicyArgs:
56
75
  @pulumi.getter
57
76
  def name(self) -> Optional[pulumi.Input[str]]:
58
77
  """
59
- The full name of the BackupPlan Resource.
78
+ Used to find the parent resource to bind the IAM policy to
60
79
  """
61
80
  return pulumi.get(self, "name")
62
81
 
@@ -67,6 +86,10 @@ class RestorePlanIamPolicyArgs:
67
86
  @property
68
87
  @pulumi.getter
69
88
  def project(self) -> Optional[pulumi.Input[str]]:
89
+ """
90
+ The ID of the project in which the resource belongs.
91
+ 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
+ """
70
93
  return pulumi.get(self, "project")
71
94
 
72
95
  @project.setter
@@ -84,8 +107,16 @@ class _RestorePlanIamPolicyState:
84
107
  project: Optional[pulumi.Input[str]] = None):
85
108
  """
86
109
  Input properties used for looking up and filtering RestorePlanIamPolicy resources.
110
+ :param pulumi.Input[str] etag: (Computed) The etag of the IAM policy.
87
111
  :param pulumi.Input[str] location: The region of the Restore Plan.
88
- :param pulumi.Input[str] name: The full name of the BackupPlan Resource.
112
+ Used to find the parent resource to bind the IAM policy to. If not specified,
113
+ the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
114
+ location is specified, it is taken from the provider configuration.
115
+ :param pulumi.Input[str] name: Used to find the parent resource to bind the IAM policy to
116
+ :param pulumi.Input[str] policy_data: The policy data generated by
117
+ a `organizations_get_iam_policy` data source.
118
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
119
+ 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.
89
120
  """
90
121
  if etag is not None:
91
122
  pulumi.set(__self__, "etag", etag)
@@ -101,6 +132,9 @@ class _RestorePlanIamPolicyState:
101
132
  @property
102
133
  @pulumi.getter
103
134
  def etag(self) -> Optional[pulumi.Input[str]]:
135
+ """
136
+ (Computed) The etag of the IAM policy.
137
+ """
104
138
  return pulumi.get(self, "etag")
105
139
 
106
140
  @etag.setter
@@ -112,6 +146,9 @@ class _RestorePlanIamPolicyState:
112
146
  def location(self) -> Optional[pulumi.Input[str]]:
113
147
  """
114
148
  The region of the Restore Plan.
149
+ Used to find the parent resource to bind the IAM policy to. If not specified,
150
+ the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
151
+ location is specified, it is taken from the provider configuration.
115
152
  """
116
153
  return pulumi.get(self, "location")
117
154
 
@@ -123,7 +160,7 @@ class _RestorePlanIamPolicyState:
123
160
  @pulumi.getter
124
161
  def name(self) -> Optional[pulumi.Input[str]]:
125
162
  """
126
- The full name of the BackupPlan Resource.
163
+ Used to find the parent resource to bind the IAM policy to
127
164
  """
128
165
  return pulumi.get(self, "name")
129
166
 
@@ -134,6 +171,10 @@ class _RestorePlanIamPolicyState:
134
171
  @property
135
172
  @pulumi.getter(name="policyData")
136
173
  def policy_data(self) -> Optional[pulumi.Input[str]]:
174
+ """
175
+ The policy data generated by
176
+ a `organizations_get_iam_policy` data source.
177
+ """
137
178
  return pulumi.get(self, "policy_data")
138
179
 
139
180
  @policy_data.setter
@@ -143,6 +184,10 @@ class _RestorePlanIamPolicyState:
143
184
  @property
144
185
  @pulumi.getter
145
186
  def project(self) -> Optional[pulumi.Input[str]]:
187
+ """
188
+ The ID of the project in which the resource belongs.
189
+ 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.
190
+ """
146
191
  return pulumi.get(self, "project")
147
192
 
148
193
  @project.setter
@@ -161,544 +206,159 @@ class RestorePlanIamPolicy(pulumi.CustomResource):
161
206
  project: Optional[pulumi.Input[str]] = None,
162
207
  __props__=None):
163
208
  """
164
- Represents a Restore Plan instance.
209
+ Three different resources help you manage your IAM policy for Backup for GKE RestorePlan. Each of these resources serves a different use case:
165
210
 
166
- To get more information about RestorePlan, see:
211
+ * `gkebackup.RestorePlanIamPolicy`: Authoritative. Sets the IAM policy for the restoreplan and replaces any existing policy already attached.
212
+ * `gkebackup.RestorePlanIamBinding`: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the restoreplan are preserved.
213
+ * `gkebackup.RestorePlanIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the restoreplan are preserved.
167
214
 
168
- * [API documentation](https://cloud.google.com/kubernetes-engine/docs/add-on/backup-for-gke/reference/rest/v1/projects.locations.restorePlans)
169
- * How-to Guides
170
- * [Official Documentation](https://cloud.google.com/kubernetes-engine/docs/add-on/backup-for-gke)
215
+ A data source can be used to retrieve policy data in advent you do not need creation
171
216
 
172
- ## Example Usage
217
+ * `gkebackup.RestorePlanIamPolicy`: Retrieves the IAM policy for the restoreplan
173
218
 
174
- ### Gkebackup Restoreplan All Namespaces
219
+ > **Note:** `gkebackup.RestorePlanIamPolicy` **cannot** be used in conjunction with `gkebackup.RestorePlanIamBinding` and `gkebackup.RestorePlanIamMember` or they will fight over what your policy should be.
175
220
 
176
- ```python
177
- import pulumi
178
- import pulumi_gcp as gcp
221
+ > **Note:** `gkebackup.RestorePlanIamBinding` resources **can be** used in conjunction with `gkebackup.RestorePlanIamMember` resources **only if** they do not grant privilege to the same role.
179
222
 
180
- primary = gcp.container.Cluster("primary",
181
- name="restore-all-ns-cluster",
182
- location="us-central1",
183
- initial_node_count=1,
184
- workload_identity_config=gcp.container.ClusterWorkloadIdentityConfigArgs(
185
- workload_pool="my-project-name.svc.id.goog",
186
- ),
187
- addons_config=gcp.container.ClusterAddonsConfigArgs(
188
- gke_backup_agent_config=gcp.container.ClusterAddonsConfigGkeBackupAgentConfigArgs(
189
- enabled=True,
190
- ),
191
- ),
192
- deletion_protection="",
193
- network="default",
194
- subnetwork="default")
195
- basic = gcp.gkebackup.BackupPlan("basic",
196
- name="restore-all-ns",
197
- cluster=primary.id,
198
- location="us-central1",
199
- backup_config=gcp.gkebackup.BackupPlanBackupConfigArgs(
200
- include_volume_data=True,
201
- include_secrets=True,
202
- all_namespaces=True,
203
- ))
204
- all_ns = gcp.gkebackup.RestorePlan("all_ns",
205
- name="restore-all-ns",
206
- location="us-central1",
207
- backup_plan=basic.id,
208
- cluster=primary.id,
209
- restore_config=gcp.gkebackup.RestorePlanRestoreConfigArgs(
210
- all_namespaces=True,
211
- namespaced_resource_restore_mode="FAIL_ON_CONFLICT",
212
- volume_data_restore_policy="RESTORE_VOLUME_DATA_FROM_BACKUP",
213
- cluster_resource_restore_scope=gcp.gkebackup.RestorePlanRestoreConfigClusterResourceRestoreScopeArgs(
214
- all_group_kinds=True,
215
- ),
216
- cluster_resource_conflict_policy="USE_EXISTING_VERSION",
217
- ))
218
- ```
219
- ### Gkebackup Restoreplan Rollback Namespace
223
+ ## gkebackup.RestorePlanIamPolicy
220
224
 
221
225
  ```python
222
226
  import pulumi
223
227
  import pulumi_gcp as gcp
224
228
 
225
- primary = gcp.container.Cluster("primary",
226
- name="rollback-ns-cluster",
227
- location="us-central1",
228
- initial_node_count=1,
229
- workload_identity_config=gcp.container.ClusterWorkloadIdentityConfigArgs(
230
- workload_pool="my-project-name.svc.id.goog",
231
- ),
232
- addons_config=gcp.container.ClusterAddonsConfigArgs(
233
- gke_backup_agent_config=gcp.container.ClusterAddonsConfigGkeBackupAgentConfigArgs(
234
- enabled=True,
235
- ),
236
- ),
237
- deletion_protection="",
238
- network="default",
239
- subnetwork="default")
240
- basic = gcp.gkebackup.BackupPlan("basic",
241
- name="rollback-ns",
242
- cluster=primary.id,
243
- location="us-central1",
244
- backup_config=gcp.gkebackup.BackupPlanBackupConfigArgs(
245
- include_volume_data=True,
246
- include_secrets=True,
247
- all_namespaces=True,
248
- ))
249
- rollback_ns = gcp.gkebackup.RestorePlan("rollback_ns",
250
- name="rollback-ns-rp",
251
- location="us-central1",
252
- backup_plan=basic.id,
253
- cluster=primary.id,
254
- restore_config=gcp.gkebackup.RestorePlanRestoreConfigArgs(
255
- selected_namespaces=gcp.gkebackup.RestorePlanRestoreConfigSelectedNamespacesArgs(
256
- namespaces=["my-ns"],
257
- ),
258
- namespaced_resource_restore_mode="DELETE_AND_RESTORE",
259
- volume_data_restore_policy="RESTORE_VOLUME_DATA_FROM_BACKUP",
260
- cluster_resource_restore_scope=gcp.gkebackup.RestorePlanRestoreConfigClusterResourceRestoreScopeArgs(
261
- selected_group_kinds=[
262
- gcp.gkebackup.RestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindArgs(
263
- resource_group="apiextension.k8s.io",
264
- resource_kind="CustomResourceDefinition",
265
- ),
266
- gcp.gkebackup.RestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindArgs(
267
- resource_group="storage.k8s.io",
268
- resource_kind="StorageClass",
269
- ),
270
- ],
271
- ),
272
- cluster_resource_conflict_policy="USE_EXISTING_VERSION",
273
- ))
229
+ admin = gcp.organizations.get_iam_policy(bindings=[{
230
+ "role": "roles/viewer",
231
+ "members": ["user:jane@example.com"],
232
+ }])
233
+ policy = gcp.gkebackup.RestorePlanIamPolicy("policy",
234
+ project=all_ns["project"],
235
+ location=all_ns["location"],
236
+ name=all_ns["name"],
237
+ policy_data=admin.policy_data)
274
238
  ```
275
- ### Gkebackup Restoreplan Protected Application
276
-
277
- ```python
278
- import pulumi
279
- import pulumi_gcp as gcp
280
239
 
281
- primary = gcp.container.Cluster("primary",
282
- name="rollback-app-cluster",
283
- location="us-central1",
284
- initial_node_count=1,
285
- workload_identity_config=gcp.container.ClusterWorkloadIdentityConfigArgs(
286
- workload_pool="my-project-name.svc.id.goog",
287
- ),
288
- addons_config=gcp.container.ClusterAddonsConfigArgs(
289
- gke_backup_agent_config=gcp.container.ClusterAddonsConfigGkeBackupAgentConfigArgs(
290
- enabled=True,
291
- ),
292
- ),
293
- deletion_protection="",
294
- network="default",
295
- subnetwork="default")
296
- basic = gcp.gkebackup.BackupPlan("basic",
297
- name="rollback-app",
298
- cluster=primary.id,
299
- location="us-central1",
300
- backup_config=gcp.gkebackup.BackupPlanBackupConfigArgs(
301
- include_volume_data=True,
302
- include_secrets=True,
303
- all_namespaces=True,
304
- ))
305
- rollback_app = gcp.gkebackup.RestorePlan("rollback_app",
306
- name="rollback-app-rp",
307
- location="us-central1",
308
- backup_plan=basic.id,
309
- cluster=primary.id,
310
- restore_config=gcp.gkebackup.RestorePlanRestoreConfigArgs(
311
- selected_applications=gcp.gkebackup.RestorePlanRestoreConfigSelectedApplicationsArgs(
312
- namespaced_names=[gcp.gkebackup.RestorePlanRestoreConfigSelectedApplicationsNamespacedNameArgs(
313
- name="my-app",
314
- namespace="my-ns",
315
- )],
316
- ),
317
- namespaced_resource_restore_mode="DELETE_AND_RESTORE",
318
- volume_data_restore_policy="REUSE_VOLUME_HANDLE_FROM_BACKUP",
319
- cluster_resource_restore_scope=gcp.gkebackup.RestorePlanRestoreConfigClusterResourceRestoreScopeArgs(
320
- no_group_kinds=True,
321
- ),
322
- ))
323
- ```
324
- ### Gkebackup Restoreplan All Cluster Resources
240
+ ## gkebackup.RestorePlanIamBinding
325
241
 
326
242
  ```python
327
243
  import pulumi
328
244
  import pulumi_gcp as gcp
329
245
 
330
- primary = gcp.container.Cluster("primary",
331
- name="all-groupkinds-cluster",
332
- location="us-central1",
333
- initial_node_count=1,
334
- workload_identity_config=gcp.container.ClusterWorkloadIdentityConfigArgs(
335
- workload_pool="my-project-name.svc.id.goog",
336
- ),
337
- addons_config=gcp.container.ClusterAddonsConfigArgs(
338
- gke_backup_agent_config=gcp.container.ClusterAddonsConfigGkeBackupAgentConfigArgs(
339
- enabled=True,
340
- ),
341
- ),
342
- deletion_protection="",
343
- network="default",
344
- subnetwork="default")
345
- basic = gcp.gkebackup.BackupPlan("basic",
346
- name="all-groupkinds",
347
- cluster=primary.id,
348
- location="us-central1",
349
- backup_config=gcp.gkebackup.BackupPlanBackupConfigArgs(
350
- include_volume_data=True,
351
- include_secrets=True,
352
- all_namespaces=True,
353
- ))
354
- all_cluster_resources = gcp.gkebackup.RestorePlan("all_cluster_resources",
355
- name="all-groupkinds-rp",
356
- location="us-central1",
357
- backup_plan=basic.id,
358
- cluster=primary.id,
359
- restore_config=gcp.gkebackup.RestorePlanRestoreConfigArgs(
360
- no_namespaces=True,
361
- namespaced_resource_restore_mode="FAIL_ON_CONFLICT",
362
- cluster_resource_restore_scope=gcp.gkebackup.RestorePlanRestoreConfigClusterResourceRestoreScopeArgs(
363
- all_group_kinds=True,
364
- ),
365
- cluster_resource_conflict_policy="USE_EXISTING_VERSION",
366
- ))
246
+ binding = gcp.gkebackup.RestorePlanIamBinding("binding",
247
+ project=all_ns["project"],
248
+ location=all_ns["location"],
249
+ name=all_ns["name"],
250
+ role="roles/viewer",
251
+ members=["user:jane@example.com"])
367
252
  ```
368
- ### Gkebackup Restoreplan Rename Namespace
369
-
370
- ```python
371
- import pulumi
372
- import pulumi_gcp as gcp
373
253
 
374
- primary = gcp.container.Cluster("primary",
375
- name="rename-ns-cluster",
376
- location="us-central1",
377
- initial_node_count=1,
378
- workload_identity_config=gcp.container.ClusterWorkloadIdentityConfigArgs(
379
- workload_pool="my-project-name.svc.id.goog",
380
- ),
381
- addons_config=gcp.container.ClusterAddonsConfigArgs(
382
- gke_backup_agent_config=gcp.container.ClusterAddonsConfigGkeBackupAgentConfigArgs(
383
- enabled=True,
384
- ),
385
- ),
386
- deletion_protection="",
387
- network="default",
388
- subnetwork="default")
389
- basic = gcp.gkebackup.BackupPlan("basic",
390
- name="rename-ns",
391
- cluster=primary.id,
392
- location="us-central1",
393
- backup_config=gcp.gkebackup.BackupPlanBackupConfigArgs(
394
- include_volume_data=True,
395
- include_secrets=True,
396
- all_namespaces=True,
397
- ))
398
- rename_ns = gcp.gkebackup.RestorePlan("rename_ns",
399
- name="rename-ns-rp",
400
- location="us-central1",
401
- backup_plan=basic.id,
402
- cluster=primary.id,
403
- restore_config=gcp.gkebackup.RestorePlanRestoreConfigArgs(
404
- selected_namespaces=gcp.gkebackup.RestorePlanRestoreConfigSelectedNamespacesArgs(
405
- namespaces=["ns1"],
406
- ),
407
- namespaced_resource_restore_mode="FAIL_ON_CONFLICT",
408
- volume_data_restore_policy="REUSE_VOLUME_HANDLE_FROM_BACKUP",
409
- cluster_resource_restore_scope=gcp.gkebackup.RestorePlanRestoreConfigClusterResourceRestoreScopeArgs(
410
- no_group_kinds=True,
411
- ),
412
- transformation_rules=[
413
- gcp.gkebackup.RestorePlanRestoreConfigTransformationRuleArgs(
414
- description="rename namespace from ns1 to ns2",
415
- resource_filter=gcp.gkebackup.RestorePlanRestoreConfigTransformationRuleResourceFilterArgs(
416
- group_kinds=[gcp.gkebackup.RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindArgs(
417
- resource_kind="Namespace",
418
- )],
419
- json_path=".metadata[?(@.name == 'ns1')]",
420
- ),
421
- field_actions=[gcp.gkebackup.RestorePlanRestoreConfigTransformationRuleFieldActionArgs(
422
- op="REPLACE",
423
- path="/metadata/name",
424
- value="ns2",
425
- )],
426
- ),
427
- gcp.gkebackup.RestorePlanRestoreConfigTransformationRuleArgs(
428
- description="move all resources from ns1 to ns2",
429
- resource_filter=gcp.gkebackup.RestorePlanRestoreConfigTransformationRuleResourceFilterArgs(
430
- namespaces=["ns1"],
431
- ),
432
- field_actions=[gcp.gkebackup.RestorePlanRestoreConfigTransformationRuleFieldActionArgs(
433
- op="REPLACE",
434
- path="/metadata/namespace",
435
- value="ns2",
436
- )],
437
- ),
438
- ],
439
- ))
440
- ```
441
- ### Gkebackup Restoreplan Second Transformation
254
+ ## gkebackup.RestorePlanIamMember
442
255
 
443
256
  ```python
444
257
  import pulumi
445
258
  import pulumi_gcp as gcp
446
259
 
447
- primary = gcp.container.Cluster("primary",
448
- name="transform-rule-cluster",
449
- location="us-central1",
450
- initial_node_count=1,
451
- workload_identity_config=gcp.container.ClusterWorkloadIdentityConfigArgs(
452
- workload_pool="my-project-name.svc.id.goog",
453
- ),
454
- addons_config=gcp.container.ClusterAddonsConfigArgs(
455
- gke_backup_agent_config=gcp.container.ClusterAddonsConfigGkeBackupAgentConfigArgs(
456
- enabled=True,
457
- ),
458
- ),
459
- deletion_protection="",
460
- network="default",
461
- subnetwork="default")
462
- basic = gcp.gkebackup.BackupPlan("basic",
463
- name="transform-rule",
464
- cluster=primary.id,
465
- location="us-central1",
466
- backup_config=gcp.gkebackup.BackupPlanBackupConfigArgs(
467
- include_volume_data=True,
468
- include_secrets=True,
469
- all_namespaces=True,
470
- ))
471
- transform_rule = gcp.gkebackup.RestorePlan("transform_rule",
472
- name="transform-rule-rp",
473
- description="copy nginx env variables",
474
- labels={
475
- "app": "nginx",
476
- },
477
- location="us-central1",
478
- backup_plan=basic.id,
479
- cluster=primary.id,
480
- restore_config=gcp.gkebackup.RestorePlanRestoreConfigArgs(
481
- excluded_namespaces=gcp.gkebackup.RestorePlanRestoreConfigExcludedNamespacesArgs(
482
- namespaces=["my-ns"],
483
- ),
484
- namespaced_resource_restore_mode="DELETE_AND_RESTORE",
485
- volume_data_restore_policy="RESTORE_VOLUME_DATA_FROM_BACKUP",
486
- cluster_resource_restore_scope=gcp.gkebackup.RestorePlanRestoreConfigClusterResourceRestoreScopeArgs(
487
- excluded_group_kinds=[gcp.gkebackup.RestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindArgs(
488
- resource_group="apiextension.k8s.io",
489
- resource_kind="CustomResourceDefinition",
490
- )],
491
- ),
492
- cluster_resource_conflict_policy="USE_EXISTING_VERSION",
493
- transformation_rules=[gcp.gkebackup.RestorePlanRestoreConfigTransformationRuleArgs(
494
- description="Copy environment variables from the nginx container to the install init container.",
495
- resource_filter=gcp.gkebackup.RestorePlanRestoreConfigTransformationRuleResourceFilterArgs(
496
- group_kinds=[gcp.gkebackup.RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindArgs(
497
- resource_kind="Pod",
498
- resource_group="",
499
- )],
500
- json_path=".metadata[?(@.name == 'nginx')]",
501
- ),
502
- field_actions=[gcp.gkebackup.RestorePlanRestoreConfigTransformationRuleFieldActionArgs(
503
- op="COPY",
504
- path="/spec/initContainers/0/env",
505
- from_path="/spec/containers/0/env",
506
- )],
507
- )],
508
- ))
260
+ member = gcp.gkebackup.RestorePlanIamMember("member",
261
+ project=all_ns["project"],
262
+ location=all_ns["location"],
263
+ name=all_ns["name"],
264
+ role="roles/viewer",
265
+ member="user:jane@example.com")
509
266
  ```
510
- ### Gkebackup Restoreplan Gitops Mode
267
+
268
+ ## gkebackup.RestorePlanIamPolicy
511
269
 
512
270
  ```python
513
271
  import pulumi
514
272
  import pulumi_gcp as gcp
515
273
 
516
- primary = gcp.container.Cluster("primary",
517
- name="gitops-mode-cluster",
518
- location="us-central1",
519
- initial_node_count=1,
520
- workload_identity_config=gcp.container.ClusterWorkloadIdentityConfigArgs(
521
- workload_pool="my-project-name.svc.id.goog",
522
- ),
523
- addons_config=gcp.container.ClusterAddonsConfigArgs(
524
- gke_backup_agent_config=gcp.container.ClusterAddonsConfigGkeBackupAgentConfigArgs(
525
- enabled=True,
526
- ),
527
- ),
528
- deletion_protection="",
529
- network="default",
530
- subnetwork="default")
531
- basic = gcp.gkebackup.BackupPlan("basic",
532
- name="gitops-mode",
533
- cluster=primary.id,
534
- location="us-central1",
535
- backup_config=gcp.gkebackup.BackupPlanBackupConfigArgs(
536
- include_volume_data=True,
537
- include_secrets=True,
538
- all_namespaces=True,
539
- ))
540
- gitops_mode = gcp.gkebackup.RestorePlan("gitops_mode",
541
- name="gitops-mode",
542
- location="us-central1",
543
- backup_plan=basic.id,
544
- cluster=primary.id,
545
- restore_config=gcp.gkebackup.RestorePlanRestoreConfigArgs(
546
- all_namespaces=True,
547
- namespaced_resource_restore_mode="MERGE_SKIP_ON_CONFLICT",
548
- volume_data_restore_policy="RESTORE_VOLUME_DATA_FROM_BACKUP",
549
- cluster_resource_restore_scope=gcp.gkebackup.RestorePlanRestoreConfigClusterResourceRestoreScopeArgs(
550
- all_group_kinds=True,
551
- ),
552
- cluster_resource_conflict_policy="USE_EXISTING_VERSION",
553
- ))
274
+ admin = gcp.organizations.get_iam_policy(bindings=[{
275
+ "role": "roles/viewer",
276
+ "members": ["user:jane@example.com"],
277
+ }])
278
+ policy = gcp.gkebackup.RestorePlanIamPolicy("policy",
279
+ project=all_ns["project"],
280
+ location=all_ns["location"],
281
+ name=all_ns["name"],
282
+ policy_data=admin.policy_data)
554
283
  ```
555
- ### Gkebackup Restoreplan Restore Order
284
+
285
+ ## gkebackup.RestorePlanIamBinding
556
286
 
557
287
  ```python
558
288
  import pulumi
559
289
  import pulumi_gcp as gcp
560
290
 
561
- primary = gcp.container.Cluster("primary",
562
- name="restore-order-cluster",
563
- location="us-central1",
564
- initial_node_count=1,
565
- workload_identity_config=gcp.container.ClusterWorkloadIdentityConfigArgs(
566
- workload_pool="my-project-name.svc.id.goog",
567
- ),
568
- addons_config=gcp.container.ClusterAddonsConfigArgs(
569
- gke_backup_agent_config=gcp.container.ClusterAddonsConfigGkeBackupAgentConfigArgs(
570
- enabled=True,
571
- ),
572
- ),
573
- deletion_protection="",
574
- network="default",
575
- subnetwork="default")
576
- basic = gcp.gkebackup.BackupPlan("basic",
577
- name="restore-order",
578
- cluster=primary.id,
579
- location="us-central1",
580
- backup_config=gcp.gkebackup.BackupPlanBackupConfigArgs(
581
- include_volume_data=True,
582
- include_secrets=True,
583
- all_namespaces=True,
584
- ))
585
- restore_order = gcp.gkebackup.RestorePlan("restore_order",
586
- name="restore-order",
587
- location="us-central1",
588
- backup_plan=basic.id,
589
- cluster=primary.id,
590
- restore_config=gcp.gkebackup.RestorePlanRestoreConfigArgs(
591
- all_namespaces=True,
592
- namespaced_resource_restore_mode="FAIL_ON_CONFLICT",
593
- volume_data_restore_policy="RESTORE_VOLUME_DATA_FROM_BACKUP",
594
- cluster_resource_restore_scope=gcp.gkebackup.RestorePlanRestoreConfigClusterResourceRestoreScopeArgs(
595
- all_group_kinds=True,
596
- ),
597
- cluster_resource_conflict_policy="USE_EXISTING_VERSION",
598
- restore_order=gcp.gkebackup.RestorePlanRestoreConfigRestoreOrderArgs(
599
- group_kind_dependencies=[
600
- gcp.gkebackup.RestorePlanRestoreConfigRestoreOrderGroupKindDependencyArgs(
601
- satisfying=gcp.gkebackup.RestorePlanRestoreConfigRestoreOrderGroupKindDependencySatisfyingArgs(
602
- resource_group="stable.example.com",
603
- resource_kind="kindA",
604
- ),
605
- requiring=gcp.gkebackup.RestorePlanRestoreConfigRestoreOrderGroupKindDependencyRequiringArgs(
606
- resource_group="stable.example.com",
607
- resource_kind="kindB",
608
- ),
609
- ),
610
- gcp.gkebackup.RestorePlanRestoreConfigRestoreOrderGroupKindDependencyArgs(
611
- satisfying=gcp.gkebackup.RestorePlanRestoreConfigRestoreOrderGroupKindDependencySatisfyingArgs(
612
- resource_group="stable.example.com",
613
- resource_kind="kindB",
614
- ),
615
- requiring=gcp.gkebackup.RestorePlanRestoreConfigRestoreOrderGroupKindDependencyRequiringArgs(
616
- resource_group="stable.example.com",
617
- resource_kind="kindC",
618
- ),
619
- ),
620
- ],
621
- ),
622
- ))
291
+ binding = gcp.gkebackup.RestorePlanIamBinding("binding",
292
+ project=all_ns["project"],
293
+ location=all_ns["location"],
294
+ name=all_ns["name"],
295
+ role="roles/viewer",
296
+ members=["user:jane@example.com"])
623
297
  ```
624
- ### Gkebackup Restoreplan Volume Res
298
+
299
+ ## gkebackup.RestorePlanIamMember
625
300
 
626
301
  ```python
627
302
  import pulumi
628
303
  import pulumi_gcp as gcp
629
304
 
630
- primary = gcp.container.Cluster("primary",
631
- name="volume-res-cluster",
632
- location="us-central1",
633
- initial_node_count=1,
634
- workload_identity_config=gcp.container.ClusterWorkloadIdentityConfigArgs(
635
- workload_pool="my-project-name.svc.id.goog",
636
- ),
637
- addons_config=gcp.container.ClusterAddonsConfigArgs(
638
- gke_backup_agent_config=gcp.container.ClusterAddonsConfigGkeBackupAgentConfigArgs(
639
- enabled=True,
640
- ),
641
- ),
642
- deletion_protection="",
643
- network="default",
644
- subnetwork="default")
645
- basic = gcp.gkebackup.BackupPlan("basic",
646
- name="volume-res",
647
- cluster=primary.id,
648
- location="us-central1",
649
- backup_config=gcp.gkebackup.BackupPlanBackupConfigArgs(
650
- include_volume_data=True,
651
- include_secrets=True,
652
- all_namespaces=True,
653
- ))
654
- volume_res = gcp.gkebackup.RestorePlan("volume_res",
655
- name="volume-res",
656
- location="us-central1",
657
- backup_plan=basic.id,
658
- cluster=primary.id,
659
- restore_config=gcp.gkebackup.RestorePlanRestoreConfigArgs(
660
- all_namespaces=True,
661
- namespaced_resource_restore_mode="FAIL_ON_CONFLICT",
662
- volume_data_restore_policy="NO_VOLUME_DATA_RESTORATION",
663
- cluster_resource_restore_scope=gcp.gkebackup.RestorePlanRestoreConfigClusterResourceRestoreScopeArgs(
664
- all_group_kinds=True,
665
- ),
666
- cluster_resource_conflict_policy="USE_EXISTING_VERSION",
667
- volume_data_restore_policy_bindings=[gcp.gkebackup.RestorePlanRestoreConfigVolumeDataRestorePolicyBindingArgs(
668
- policy="RESTORE_VOLUME_DATA_FROM_BACKUP",
669
- volume_type="GCE_PERSISTENT_DISK",
670
- )],
671
- ))
305
+ member = gcp.gkebackup.RestorePlanIamMember("member",
306
+ project=all_ns["project"],
307
+ location=all_ns["location"],
308
+ name=all_ns["name"],
309
+ role="roles/viewer",
310
+ member="user:jane@example.com")
672
311
  ```
673
312
 
674
313
  ## Import
675
314
 
676
- RestorePlan can be imported using any of these accepted formats:
315
+ For all import syntaxes, the "resource in question" can take any of the following forms:
316
+
317
+ * projects/{{project}}/locations/{{location}}/restorePlans/{{name}}
677
318
 
678
- * `projects/{{project}}/locations/{{location}}/restorePlans/{{name}}`
319
+ * {{project}}/{{location}}/{{name}}
679
320
 
680
- * `{{project}}/{{location}}/{{name}}`
321
+ * {{location}}/{{name}}
681
322
 
682
- * `{{location}}/{{name}}`
323
+ * {{name}}
683
324
 
684
- When using the `pulumi import` command, RestorePlan can be imported using one of the formats above. For example:
325
+ Any variables not passed in the import command will be taken from the provider configuration.
326
+
327
+ Backup for GKE restoreplan IAM resources can be imported using the resource identifiers, role, and member.
328
+
329
+ IAM member imports use space-delimited identifiers: the resource in question, the role, and the member identity, e.g.
685
330
 
686
331
  ```sh
687
- $ pulumi import gcp:gkebackup/restorePlanIamPolicy:RestorePlanIamPolicy default projects/{{project}}/locations/{{location}}/restorePlans/{{name}}
332
+ $ pulumi import gcp:gkebackup/restorePlanIamPolicy:RestorePlanIamPolicy editor "projects/{{project}}/locations/{{location}}/restorePlans/{{restore_plan}} roles/viewer user:jane@example.com"
688
333
  ```
689
334
 
335
+ IAM binding imports use space-delimited identifiers: the resource in question and the role, e.g.
336
+
690
337
  ```sh
691
- $ pulumi import gcp:gkebackup/restorePlanIamPolicy:RestorePlanIamPolicy default {{project}}/{{location}}/{{name}}
338
+ $ pulumi import gcp:gkebackup/restorePlanIamPolicy:RestorePlanIamPolicy editor "projects/{{project}}/locations/{{location}}/restorePlans/{{restore_plan}} roles/viewer"
692
339
  ```
693
340
 
341
+ IAM policy imports use the identifier of the resource in question, e.g.
342
+
694
343
  ```sh
695
- $ pulumi import gcp:gkebackup/restorePlanIamPolicy:RestorePlanIamPolicy default {{location}}/{{name}}
344
+ $ pulumi import gcp:gkebackup/restorePlanIamPolicy:RestorePlanIamPolicy editor projects/{{project}}/locations/{{location}}/restorePlans/{{restore_plan}}
696
345
  ```
697
346
 
347
+ -> **Custom Roles**: If you're importing a IAM resource with a custom role, make sure to use the
348
+
349
+ full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.
350
+
698
351
  :param str resource_name: The name of the resource.
699
352
  :param pulumi.ResourceOptions opts: Options for the resource.
700
353
  :param pulumi.Input[str] location: The region of the Restore Plan.
701
- :param pulumi.Input[str] name: The full name of the BackupPlan Resource.
354
+ Used to find the parent resource to bind the IAM policy to. If not specified,
355
+ the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
356
+ location is specified, it is taken from the provider configuration.
357
+ :param pulumi.Input[str] name: Used to find the parent resource to bind the IAM policy to
358
+ :param pulumi.Input[str] policy_data: The policy data generated by
359
+ a `organizations_get_iam_policy` data source.
360
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
361
+ 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.
702
362
  """
703
363
  ...
704
364
  @overload
@@ -707,540 +367,148 @@ class RestorePlanIamPolicy(pulumi.CustomResource):
707
367
  args: RestorePlanIamPolicyArgs,
708
368
  opts: Optional[pulumi.ResourceOptions] = None):
709
369
  """
710
- Represents a Restore Plan instance.
370
+ Three different resources help you manage your IAM policy for Backup for GKE RestorePlan. Each of these resources serves a different use case:
711
371
 
712
- To get more information about RestorePlan, see:
372
+ * `gkebackup.RestorePlanIamPolicy`: Authoritative. Sets the IAM policy for the restoreplan and replaces any existing policy already attached.
373
+ * `gkebackup.RestorePlanIamBinding`: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the restoreplan are preserved.
374
+ * `gkebackup.RestorePlanIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the restoreplan are preserved.
713
375
 
714
- * [API documentation](https://cloud.google.com/kubernetes-engine/docs/add-on/backup-for-gke/reference/rest/v1/projects.locations.restorePlans)
715
- * How-to Guides
716
- * [Official Documentation](https://cloud.google.com/kubernetes-engine/docs/add-on/backup-for-gke)
376
+ A data source can be used to retrieve policy data in advent you do not need creation
717
377
 
718
- ## Example Usage
378
+ * `gkebackup.RestorePlanIamPolicy`: Retrieves the IAM policy for the restoreplan
719
379
 
720
- ### Gkebackup Restoreplan All Namespaces
380
+ > **Note:** `gkebackup.RestorePlanIamPolicy` **cannot** be used in conjunction with `gkebackup.RestorePlanIamBinding` and `gkebackup.RestorePlanIamMember` or they will fight over what your policy should be.
721
381
 
722
- ```python
723
- import pulumi
724
- import pulumi_gcp as gcp
382
+ > **Note:** `gkebackup.RestorePlanIamBinding` resources **can be** used in conjunction with `gkebackup.RestorePlanIamMember` resources **only if** they do not grant privilege to the same role.
725
383
 
726
- primary = gcp.container.Cluster("primary",
727
- name="restore-all-ns-cluster",
728
- location="us-central1",
729
- initial_node_count=1,
730
- workload_identity_config=gcp.container.ClusterWorkloadIdentityConfigArgs(
731
- workload_pool="my-project-name.svc.id.goog",
732
- ),
733
- addons_config=gcp.container.ClusterAddonsConfigArgs(
734
- gke_backup_agent_config=gcp.container.ClusterAddonsConfigGkeBackupAgentConfigArgs(
735
- enabled=True,
736
- ),
737
- ),
738
- deletion_protection="",
739
- network="default",
740
- subnetwork="default")
741
- basic = gcp.gkebackup.BackupPlan("basic",
742
- name="restore-all-ns",
743
- cluster=primary.id,
744
- location="us-central1",
745
- backup_config=gcp.gkebackup.BackupPlanBackupConfigArgs(
746
- include_volume_data=True,
747
- include_secrets=True,
748
- all_namespaces=True,
749
- ))
750
- all_ns = gcp.gkebackup.RestorePlan("all_ns",
751
- name="restore-all-ns",
752
- location="us-central1",
753
- backup_plan=basic.id,
754
- cluster=primary.id,
755
- restore_config=gcp.gkebackup.RestorePlanRestoreConfigArgs(
756
- all_namespaces=True,
757
- namespaced_resource_restore_mode="FAIL_ON_CONFLICT",
758
- volume_data_restore_policy="RESTORE_VOLUME_DATA_FROM_BACKUP",
759
- cluster_resource_restore_scope=gcp.gkebackup.RestorePlanRestoreConfigClusterResourceRestoreScopeArgs(
760
- all_group_kinds=True,
761
- ),
762
- cluster_resource_conflict_policy="USE_EXISTING_VERSION",
763
- ))
764
- ```
765
- ### Gkebackup Restoreplan Rollback Namespace
384
+ ## gkebackup.RestorePlanIamPolicy
766
385
 
767
386
  ```python
768
387
  import pulumi
769
388
  import pulumi_gcp as gcp
770
389
 
771
- primary = gcp.container.Cluster("primary",
772
- name="rollback-ns-cluster",
773
- location="us-central1",
774
- initial_node_count=1,
775
- workload_identity_config=gcp.container.ClusterWorkloadIdentityConfigArgs(
776
- workload_pool="my-project-name.svc.id.goog",
777
- ),
778
- addons_config=gcp.container.ClusterAddonsConfigArgs(
779
- gke_backup_agent_config=gcp.container.ClusterAddonsConfigGkeBackupAgentConfigArgs(
780
- enabled=True,
781
- ),
782
- ),
783
- deletion_protection="",
784
- network="default",
785
- subnetwork="default")
786
- basic = gcp.gkebackup.BackupPlan("basic",
787
- name="rollback-ns",
788
- cluster=primary.id,
789
- location="us-central1",
790
- backup_config=gcp.gkebackup.BackupPlanBackupConfigArgs(
791
- include_volume_data=True,
792
- include_secrets=True,
793
- all_namespaces=True,
794
- ))
795
- rollback_ns = gcp.gkebackup.RestorePlan("rollback_ns",
796
- name="rollback-ns-rp",
797
- location="us-central1",
798
- backup_plan=basic.id,
799
- cluster=primary.id,
800
- restore_config=gcp.gkebackup.RestorePlanRestoreConfigArgs(
801
- selected_namespaces=gcp.gkebackup.RestorePlanRestoreConfigSelectedNamespacesArgs(
802
- namespaces=["my-ns"],
803
- ),
804
- namespaced_resource_restore_mode="DELETE_AND_RESTORE",
805
- volume_data_restore_policy="RESTORE_VOLUME_DATA_FROM_BACKUP",
806
- cluster_resource_restore_scope=gcp.gkebackup.RestorePlanRestoreConfigClusterResourceRestoreScopeArgs(
807
- selected_group_kinds=[
808
- gcp.gkebackup.RestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindArgs(
809
- resource_group="apiextension.k8s.io",
810
- resource_kind="CustomResourceDefinition",
811
- ),
812
- gcp.gkebackup.RestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindArgs(
813
- resource_group="storage.k8s.io",
814
- resource_kind="StorageClass",
815
- ),
816
- ],
817
- ),
818
- cluster_resource_conflict_policy="USE_EXISTING_VERSION",
819
- ))
390
+ admin = gcp.organizations.get_iam_policy(bindings=[{
391
+ "role": "roles/viewer",
392
+ "members": ["user:jane@example.com"],
393
+ }])
394
+ policy = gcp.gkebackup.RestorePlanIamPolicy("policy",
395
+ project=all_ns["project"],
396
+ location=all_ns["location"],
397
+ name=all_ns["name"],
398
+ policy_data=admin.policy_data)
820
399
  ```
821
- ### Gkebackup Restoreplan Protected Application
822
-
823
- ```python
824
- import pulumi
825
- import pulumi_gcp as gcp
826
400
 
827
- primary = gcp.container.Cluster("primary",
828
- name="rollback-app-cluster",
829
- location="us-central1",
830
- initial_node_count=1,
831
- workload_identity_config=gcp.container.ClusterWorkloadIdentityConfigArgs(
832
- workload_pool="my-project-name.svc.id.goog",
833
- ),
834
- addons_config=gcp.container.ClusterAddonsConfigArgs(
835
- gke_backup_agent_config=gcp.container.ClusterAddonsConfigGkeBackupAgentConfigArgs(
836
- enabled=True,
837
- ),
838
- ),
839
- deletion_protection="",
840
- network="default",
841
- subnetwork="default")
842
- basic = gcp.gkebackup.BackupPlan("basic",
843
- name="rollback-app",
844
- cluster=primary.id,
845
- location="us-central1",
846
- backup_config=gcp.gkebackup.BackupPlanBackupConfigArgs(
847
- include_volume_data=True,
848
- include_secrets=True,
849
- all_namespaces=True,
850
- ))
851
- rollback_app = gcp.gkebackup.RestorePlan("rollback_app",
852
- name="rollback-app-rp",
853
- location="us-central1",
854
- backup_plan=basic.id,
855
- cluster=primary.id,
856
- restore_config=gcp.gkebackup.RestorePlanRestoreConfigArgs(
857
- selected_applications=gcp.gkebackup.RestorePlanRestoreConfigSelectedApplicationsArgs(
858
- namespaced_names=[gcp.gkebackup.RestorePlanRestoreConfigSelectedApplicationsNamespacedNameArgs(
859
- name="my-app",
860
- namespace="my-ns",
861
- )],
862
- ),
863
- namespaced_resource_restore_mode="DELETE_AND_RESTORE",
864
- volume_data_restore_policy="REUSE_VOLUME_HANDLE_FROM_BACKUP",
865
- cluster_resource_restore_scope=gcp.gkebackup.RestorePlanRestoreConfigClusterResourceRestoreScopeArgs(
866
- no_group_kinds=True,
867
- ),
868
- ))
869
- ```
870
- ### Gkebackup Restoreplan All Cluster Resources
401
+ ## gkebackup.RestorePlanIamBinding
871
402
 
872
403
  ```python
873
404
  import pulumi
874
405
  import pulumi_gcp as gcp
875
406
 
876
- primary = gcp.container.Cluster("primary",
877
- name="all-groupkinds-cluster",
878
- location="us-central1",
879
- initial_node_count=1,
880
- workload_identity_config=gcp.container.ClusterWorkloadIdentityConfigArgs(
881
- workload_pool="my-project-name.svc.id.goog",
882
- ),
883
- addons_config=gcp.container.ClusterAddonsConfigArgs(
884
- gke_backup_agent_config=gcp.container.ClusterAddonsConfigGkeBackupAgentConfigArgs(
885
- enabled=True,
886
- ),
887
- ),
888
- deletion_protection="",
889
- network="default",
890
- subnetwork="default")
891
- basic = gcp.gkebackup.BackupPlan("basic",
892
- name="all-groupkinds",
893
- cluster=primary.id,
894
- location="us-central1",
895
- backup_config=gcp.gkebackup.BackupPlanBackupConfigArgs(
896
- include_volume_data=True,
897
- include_secrets=True,
898
- all_namespaces=True,
899
- ))
900
- all_cluster_resources = gcp.gkebackup.RestorePlan("all_cluster_resources",
901
- name="all-groupkinds-rp",
902
- location="us-central1",
903
- backup_plan=basic.id,
904
- cluster=primary.id,
905
- restore_config=gcp.gkebackup.RestorePlanRestoreConfigArgs(
906
- no_namespaces=True,
907
- namespaced_resource_restore_mode="FAIL_ON_CONFLICT",
908
- cluster_resource_restore_scope=gcp.gkebackup.RestorePlanRestoreConfigClusterResourceRestoreScopeArgs(
909
- all_group_kinds=True,
910
- ),
911
- cluster_resource_conflict_policy="USE_EXISTING_VERSION",
912
- ))
407
+ binding = gcp.gkebackup.RestorePlanIamBinding("binding",
408
+ project=all_ns["project"],
409
+ location=all_ns["location"],
410
+ name=all_ns["name"],
411
+ role="roles/viewer",
412
+ members=["user:jane@example.com"])
913
413
  ```
914
- ### Gkebackup Restoreplan Rename Namespace
915
-
916
- ```python
917
- import pulumi
918
- import pulumi_gcp as gcp
919
414
 
920
- primary = gcp.container.Cluster("primary",
921
- name="rename-ns-cluster",
922
- location="us-central1",
923
- initial_node_count=1,
924
- workload_identity_config=gcp.container.ClusterWorkloadIdentityConfigArgs(
925
- workload_pool="my-project-name.svc.id.goog",
926
- ),
927
- addons_config=gcp.container.ClusterAddonsConfigArgs(
928
- gke_backup_agent_config=gcp.container.ClusterAddonsConfigGkeBackupAgentConfigArgs(
929
- enabled=True,
930
- ),
931
- ),
932
- deletion_protection="",
933
- network="default",
934
- subnetwork="default")
935
- basic = gcp.gkebackup.BackupPlan("basic",
936
- name="rename-ns",
937
- cluster=primary.id,
938
- location="us-central1",
939
- backup_config=gcp.gkebackup.BackupPlanBackupConfigArgs(
940
- include_volume_data=True,
941
- include_secrets=True,
942
- all_namespaces=True,
943
- ))
944
- rename_ns = gcp.gkebackup.RestorePlan("rename_ns",
945
- name="rename-ns-rp",
946
- location="us-central1",
947
- backup_plan=basic.id,
948
- cluster=primary.id,
949
- restore_config=gcp.gkebackup.RestorePlanRestoreConfigArgs(
950
- selected_namespaces=gcp.gkebackup.RestorePlanRestoreConfigSelectedNamespacesArgs(
951
- namespaces=["ns1"],
952
- ),
953
- namespaced_resource_restore_mode="FAIL_ON_CONFLICT",
954
- volume_data_restore_policy="REUSE_VOLUME_HANDLE_FROM_BACKUP",
955
- cluster_resource_restore_scope=gcp.gkebackup.RestorePlanRestoreConfigClusterResourceRestoreScopeArgs(
956
- no_group_kinds=True,
957
- ),
958
- transformation_rules=[
959
- gcp.gkebackup.RestorePlanRestoreConfigTransformationRuleArgs(
960
- description="rename namespace from ns1 to ns2",
961
- resource_filter=gcp.gkebackup.RestorePlanRestoreConfigTransformationRuleResourceFilterArgs(
962
- group_kinds=[gcp.gkebackup.RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindArgs(
963
- resource_kind="Namespace",
964
- )],
965
- json_path=".metadata[?(@.name == 'ns1')]",
966
- ),
967
- field_actions=[gcp.gkebackup.RestorePlanRestoreConfigTransformationRuleFieldActionArgs(
968
- op="REPLACE",
969
- path="/metadata/name",
970
- value="ns2",
971
- )],
972
- ),
973
- gcp.gkebackup.RestorePlanRestoreConfigTransformationRuleArgs(
974
- description="move all resources from ns1 to ns2",
975
- resource_filter=gcp.gkebackup.RestorePlanRestoreConfigTransformationRuleResourceFilterArgs(
976
- namespaces=["ns1"],
977
- ),
978
- field_actions=[gcp.gkebackup.RestorePlanRestoreConfigTransformationRuleFieldActionArgs(
979
- op="REPLACE",
980
- path="/metadata/namespace",
981
- value="ns2",
982
- )],
983
- ),
984
- ],
985
- ))
986
- ```
987
- ### Gkebackup Restoreplan Second Transformation
415
+ ## gkebackup.RestorePlanIamMember
988
416
 
989
417
  ```python
990
418
  import pulumi
991
419
  import pulumi_gcp as gcp
992
420
 
993
- primary = gcp.container.Cluster("primary",
994
- name="transform-rule-cluster",
995
- location="us-central1",
996
- initial_node_count=1,
997
- workload_identity_config=gcp.container.ClusterWorkloadIdentityConfigArgs(
998
- workload_pool="my-project-name.svc.id.goog",
999
- ),
1000
- addons_config=gcp.container.ClusterAddonsConfigArgs(
1001
- gke_backup_agent_config=gcp.container.ClusterAddonsConfigGkeBackupAgentConfigArgs(
1002
- enabled=True,
1003
- ),
1004
- ),
1005
- deletion_protection="",
1006
- network="default",
1007
- subnetwork="default")
1008
- basic = gcp.gkebackup.BackupPlan("basic",
1009
- name="transform-rule",
1010
- cluster=primary.id,
1011
- location="us-central1",
1012
- backup_config=gcp.gkebackup.BackupPlanBackupConfigArgs(
1013
- include_volume_data=True,
1014
- include_secrets=True,
1015
- all_namespaces=True,
1016
- ))
1017
- transform_rule = gcp.gkebackup.RestorePlan("transform_rule",
1018
- name="transform-rule-rp",
1019
- description="copy nginx env variables",
1020
- labels={
1021
- "app": "nginx",
1022
- },
1023
- location="us-central1",
1024
- backup_plan=basic.id,
1025
- cluster=primary.id,
1026
- restore_config=gcp.gkebackup.RestorePlanRestoreConfigArgs(
1027
- excluded_namespaces=gcp.gkebackup.RestorePlanRestoreConfigExcludedNamespacesArgs(
1028
- namespaces=["my-ns"],
1029
- ),
1030
- namespaced_resource_restore_mode="DELETE_AND_RESTORE",
1031
- volume_data_restore_policy="RESTORE_VOLUME_DATA_FROM_BACKUP",
1032
- cluster_resource_restore_scope=gcp.gkebackup.RestorePlanRestoreConfigClusterResourceRestoreScopeArgs(
1033
- excluded_group_kinds=[gcp.gkebackup.RestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindArgs(
1034
- resource_group="apiextension.k8s.io",
1035
- resource_kind="CustomResourceDefinition",
1036
- )],
1037
- ),
1038
- cluster_resource_conflict_policy="USE_EXISTING_VERSION",
1039
- transformation_rules=[gcp.gkebackup.RestorePlanRestoreConfigTransformationRuleArgs(
1040
- description="Copy environment variables from the nginx container to the install init container.",
1041
- resource_filter=gcp.gkebackup.RestorePlanRestoreConfigTransformationRuleResourceFilterArgs(
1042
- group_kinds=[gcp.gkebackup.RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindArgs(
1043
- resource_kind="Pod",
1044
- resource_group="",
1045
- )],
1046
- json_path=".metadata[?(@.name == 'nginx')]",
1047
- ),
1048
- field_actions=[gcp.gkebackup.RestorePlanRestoreConfigTransformationRuleFieldActionArgs(
1049
- op="COPY",
1050
- path="/spec/initContainers/0/env",
1051
- from_path="/spec/containers/0/env",
1052
- )],
1053
- )],
1054
- ))
421
+ member = gcp.gkebackup.RestorePlanIamMember("member",
422
+ project=all_ns["project"],
423
+ location=all_ns["location"],
424
+ name=all_ns["name"],
425
+ role="roles/viewer",
426
+ member="user:jane@example.com")
1055
427
  ```
1056
- ### Gkebackup Restoreplan Gitops Mode
428
+
429
+ ## gkebackup.RestorePlanIamPolicy
1057
430
 
1058
431
  ```python
1059
432
  import pulumi
1060
433
  import pulumi_gcp as gcp
1061
434
 
1062
- primary = gcp.container.Cluster("primary",
1063
- name="gitops-mode-cluster",
1064
- location="us-central1",
1065
- initial_node_count=1,
1066
- workload_identity_config=gcp.container.ClusterWorkloadIdentityConfigArgs(
1067
- workload_pool="my-project-name.svc.id.goog",
1068
- ),
1069
- addons_config=gcp.container.ClusterAddonsConfigArgs(
1070
- gke_backup_agent_config=gcp.container.ClusterAddonsConfigGkeBackupAgentConfigArgs(
1071
- enabled=True,
1072
- ),
1073
- ),
1074
- deletion_protection="",
1075
- network="default",
1076
- subnetwork="default")
1077
- basic = gcp.gkebackup.BackupPlan("basic",
1078
- name="gitops-mode",
1079
- cluster=primary.id,
1080
- location="us-central1",
1081
- backup_config=gcp.gkebackup.BackupPlanBackupConfigArgs(
1082
- include_volume_data=True,
1083
- include_secrets=True,
1084
- all_namespaces=True,
1085
- ))
1086
- gitops_mode = gcp.gkebackup.RestorePlan("gitops_mode",
1087
- name="gitops-mode",
1088
- location="us-central1",
1089
- backup_plan=basic.id,
1090
- cluster=primary.id,
1091
- restore_config=gcp.gkebackup.RestorePlanRestoreConfigArgs(
1092
- all_namespaces=True,
1093
- namespaced_resource_restore_mode="MERGE_SKIP_ON_CONFLICT",
1094
- volume_data_restore_policy="RESTORE_VOLUME_DATA_FROM_BACKUP",
1095
- cluster_resource_restore_scope=gcp.gkebackup.RestorePlanRestoreConfigClusterResourceRestoreScopeArgs(
1096
- all_group_kinds=True,
1097
- ),
1098
- cluster_resource_conflict_policy="USE_EXISTING_VERSION",
1099
- ))
435
+ admin = gcp.organizations.get_iam_policy(bindings=[{
436
+ "role": "roles/viewer",
437
+ "members": ["user:jane@example.com"],
438
+ }])
439
+ policy = gcp.gkebackup.RestorePlanIamPolicy("policy",
440
+ project=all_ns["project"],
441
+ location=all_ns["location"],
442
+ name=all_ns["name"],
443
+ policy_data=admin.policy_data)
1100
444
  ```
1101
- ### Gkebackup Restoreplan Restore Order
445
+
446
+ ## gkebackup.RestorePlanIamBinding
1102
447
 
1103
448
  ```python
1104
449
  import pulumi
1105
450
  import pulumi_gcp as gcp
1106
451
 
1107
- primary = gcp.container.Cluster("primary",
1108
- name="restore-order-cluster",
1109
- location="us-central1",
1110
- initial_node_count=1,
1111
- workload_identity_config=gcp.container.ClusterWorkloadIdentityConfigArgs(
1112
- workload_pool="my-project-name.svc.id.goog",
1113
- ),
1114
- addons_config=gcp.container.ClusterAddonsConfigArgs(
1115
- gke_backup_agent_config=gcp.container.ClusterAddonsConfigGkeBackupAgentConfigArgs(
1116
- enabled=True,
1117
- ),
1118
- ),
1119
- deletion_protection="",
1120
- network="default",
1121
- subnetwork="default")
1122
- basic = gcp.gkebackup.BackupPlan("basic",
1123
- name="restore-order",
1124
- cluster=primary.id,
1125
- location="us-central1",
1126
- backup_config=gcp.gkebackup.BackupPlanBackupConfigArgs(
1127
- include_volume_data=True,
1128
- include_secrets=True,
1129
- all_namespaces=True,
1130
- ))
1131
- restore_order = gcp.gkebackup.RestorePlan("restore_order",
1132
- name="restore-order",
1133
- location="us-central1",
1134
- backup_plan=basic.id,
1135
- cluster=primary.id,
1136
- restore_config=gcp.gkebackup.RestorePlanRestoreConfigArgs(
1137
- all_namespaces=True,
1138
- namespaced_resource_restore_mode="FAIL_ON_CONFLICT",
1139
- volume_data_restore_policy="RESTORE_VOLUME_DATA_FROM_BACKUP",
1140
- cluster_resource_restore_scope=gcp.gkebackup.RestorePlanRestoreConfigClusterResourceRestoreScopeArgs(
1141
- all_group_kinds=True,
1142
- ),
1143
- cluster_resource_conflict_policy="USE_EXISTING_VERSION",
1144
- restore_order=gcp.gkebackup.RestorePlanRestoreConfigRestoreOrderArgs(
1145
- group_kind_dependencies=[
1146
- gcp.gkebackup.RestorePlanRestoreConfigRestoreOrderGroupKindDependencyArgs(
1147
- satisfying=gcp.gkebackup.RestorePlanRestoreConfigRestoreOrderGroupKindDependencySatisfyingArgs(
1148
- resource_group="stable.example.com",
1149
- resource_kind="kindA",
1150
- ),
1151
- requiring=gcp.gkebackup.RestorePlanRestoreConfigRestoreOrderGroupKindDependencyRequiringArgs(
1152
- resource_group="stable.example.com",
1153
- resource_kind="kindB",
1154
- ),
1155
- ),
1156
- gcp.gkebackup.RestorePlanRestoreConfigRestoreOrderGroupKindDependencyArgs(
1157
- satisfying=gcp.gkebackup.RestorePlanRestoreConfigRestoreOrderGroupKindDependencySatisfyingArgs(
1158
- resource_group="stable.example.com",
1159
- resource_kind="kindB",
1160
- ),
1161
- requiring=gcp.gkebackup.RestorePlanRestoreConfigRestoreOrderGroupKindDependencyRequiringArgs(
1162
- resource_group="stable.example.com",
1163
- resource_kind="kindC",
1164
- ),
1165
- ),
1166
- ],
1167
- ),
1168
- ))
452
+ binding = gcp.gkebackup.RestorePlanIamBinding("binding",
453
+ project=all_ns["project"],
454
+ location=all_ns["location"],
455
+ name=all_ns["name"],
456
+ role="roles/viewer",
457
+ members=["user:jane@example.com"])
1169
458
  ```
1170
- ### Gkebackup Restoreplan Volume Res
459
+
460
+ ## gkebackup.RestorePlanIamMember
1171
461
 
1172
462
  ```python
1173
463
  import pulumi
1174
464
  import pulumi_gcp as gcp
1175
465
 
1176
- primary = gcp.container.Cluster("primary",
1177
- name="volume-res-cluster",
1178
- location="us-central1",
1179
- initial_node_count=1,
1180
- workload_identity_config=gcp.container.ClusterWorkloadIdentityConfigArgs(
1181
- workload_pool="my-project-name.svc.id.goog",
1182
- ),
1183
- addons_config=gcp.container.ClusterAddonsConfigArgs(
1184
- gke_backup_agent_config=gcp.container.ClusterAddonsConfigGkeBackupAgentConfigArgs(
1185
- enabled=True,
1186
- ),
1187
- ),
1188
- deletion_protection="",
1189
- network="default",
1190
- subnetwork="default")
1191
- basic = gcp.gkebackup.BackupPlan("basic",
1192
- name="volume-res",
1193
- cluster=primary.id,
1194
- location="us-central1",
1195
- backup_config=gcp.gkebackup.BackupPlanBackupConfigArgs(
1196
- include_volume_data=True,
1197
- include_secrets=True,
1198
- all_namespaces=True,
1199
- ))
1200
- volume_res = gcp.gkebackup.RestorePlan("volume_res",
1201
- name="volume-res",
1202
- location="us-central1",
1203
- backup_plan=basic.id,
1204
- cluster=primary.id,
1205
- restore_config=gcp.gkebackup.RestorePlanRestoreConfigArgs(
1206
- all_namespaces=True,
1207
- namespaced_resource_restore_mode="FAIL_ON_CONFLICT",
1208
- volume_data_restore_policy="NO_VOLUME_DATA_RESTORATION",
1209
- cluster_resource_restore_scope=gcp.gkebackup.RestorePlanRestoreConfigClusterResourceRestoreScopeArgs(
1210
- all_group_kinds=True,
1211
- ),
1212
- cluster_resource_conflict_policy="USE_EXISTING_VERSION",
1213
- volume_data_restore_policy_bindings=[gcp.gkebackup.RestorePlanRestoreConfigVolumeDataRestorePolicyBindingArgs(
1214
- policy="RESTORE_VOLUME_DATA_FROM_BACKUP",
1215
- volume_type="GCE_PERSISTENT_DISK",
1216
- )],
1217
- ))
466
+ member = gcp.gkebackup.RestorePlanIamMember("member",
467
+ project=all_ns["project"],
468
+ location=all_ns["location"],
469
+ name=all_ns["name"],
470
+ role="roles/viewer",
471
+ member="user:jane@example.com")
1218
472
  ```
1219
473
 
1220
474
  ## Import
1221
475
 
1222
- RestorePlan can be imported using any of these accepted formats:
476
+ For all import syntaxes, the "resource in question" can take any of the following forms:
477
+
478
+ * projects/{{project}}/locations/{{location}}/restorePlans/{{name}}
1223
479
 
1224
- * `projects/{{project}}/locations/{{location}}/restorePlans/{{name}}`
480
+ * {{project}}/{{location}}/{{name}}
1225
481
 
1226
- * `{{project}}/{{location}}/{{name}}`
482
+ * {{location}}/{{name}}
1227
483
 
1228
- * `{{location}}/{{name}}`
484
+ * {{name}}
1229
485
 
1230
- When using the `pulumi import` command, RestorePlan can be imported using one of the formats above. For example:
486
+ Any variables not passed in the import command will be taken from the provider configuration.
487
+
488
+ Backup for GKE restoreplan IAM resources can be imported using the resource identifiers, role, and member.
489
+
490
+ IAM member imports use space-delimited identifiers: the resource in question, the role, and the member identity, e.g.
1231
491
 
1232
492
  ```sh
1233
- $ pulumi import gcp:gkebackup/restorePlanIamPolicy:RestorePlanIamPolicy default projects/{{project}}/locations/{{location}}/restorePlans/{{name}}
493
+ $ pulumi import gcp:gkebackup/restorePlanIamPolicy:RestorePlanIamPolicy editor "projects/{{project}}/locations/{{location}}/restorePlans/{{restore_plan}} roles/viewer user:jane@example.com"
1234
494
  ```
1235
495
 
496
+ IAM binding imports use space-delimited identifiers: the resource in question and the role, e.g.
497
+
1236
498
  ```sh
1237
- $ pulumi import gcp:gkebackup/restorePlanIamPolicy:RestorePlanIamPolicy default {{project}}/{{location}}/{{name}}
499
+ $ pulumi import gcp:gkebackup/restorePlanIamPolicy:RestorePlanIamPolicy editor "projects/{{project}}/locations/{{location}}/restorePlans/{{restore_plan}} roles/viewer"
1238
500
  ```
1239
501
 
502
+ IAM policy imports use the identifier of the resource in question, e.g.
503
+
1240
504
  ```sh
1241
- $ pulumi import gcp:gkebackup/restorePlanIamPolicy:RestorePlanIamPolicy default {{location}}/{{name}}
505
+ $ pulumi import gcp:gkebackup/restorePlanIamPolicy:RestorePlanIamPolicy editor projects/{{project}}/locations/{{location}}/restorePlans/{{restore_plan}}
1242
506
  ```
1243
507
 
508
+ -> **Custom Roles**: If you're importing a IAM resource with a custom role, make sure to use the
509
+
510
+ full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.
511
+
1244
512
  :param str resource_name: The name of the resource.
1245
513
  :param RestorePlanIamPolicyArgs args: The arguments to use to populate this resource's properties.
1246
514
  :param pulumi.ResourceOptions opts: Options for the resource.
@@ -1298,8 +566,16 @@ class RestorePlanIamPolicy(pulumi.CustomResource):
1298
566
  :param str resource_name: The unique name of the resulting resource.
1299
567
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
1300
568
  :param pulumi.ResourceOptions opts: Options for the resource.
569
+ :param pulumi.Input[str] etag: (Computed) The etag of the IAM policy.
1301
570
  :param pulumi.Input[str] location: The region of the Restore Plan.
1302
- :param pulumi.Input[str] name: The full name of the BackupPlan Resource.
571
+ Used to find the parent resource to bind the IAM policy to. If not specified,
572
+ the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
573
+ location is specified, it is taken from the provider configuration.
574
+ :param pulumi.Input[str] name: Used to find the parent resource to bind the IAM policy to
575
+ :param pulumi.Input[str] policy_data: The policy data generated by
576
+ a `organizations_get_iam_policy` data source.
577
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
578
+ 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.
1303
579
  """
1304
580
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
1305
581
 
@@ -1315,6 +591,9 @@ class RestorePlanIamPolicy(pulumi.CustomResource):
1315
591
  @property
1316
592
  @pulumi.getter
1317
593
  def etag(self) -> pulumi.Output[str]:
594
+ """
595
+ (Computed) The etag of the IAM policy.
596
+ """
1318
597
  return pulumi.get(self, "etag")
1319
598
 
1320
599
  @property
@@ -1322,6 +601,9 @@ class RestorePlanIamPolicy(pulumi.CustomResource):
1322
601
  def location(self) -> pulumi.Output[str]:
1323
602
  """
1324
603
  The region of the Restore Plan.
604
+ Used to find the parent resource to bind the IAM policy to. If not specified,
605
+ the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
606
+ location is specified, it is taken from the provider configuration.
1325
607
  """
1326
608
  return pulumi.get(self, "location")
1327
609
 
@@ -1329,17 +611,25 @@ class RestorePlanIamPolicy(pulumi.CustomResource):
1329
611
  @pulumi.getter
1330
612
  def name(self) -> pulumi.Output[str]:
1331
613
  """
1332
- The full name of the BackupPlan Resource.
614
+ Used to find the parent resource to bind the IAM policy to
1333
615
  """
1334
616
  return pulumi.get(self, "name")
1335
617
 
1336
618
  @property
1337
619
  @pulumi.getter(name="policyData")
1338
620
  def policy_data(self) -> pulumi.Output[str]:
621
+ """
622
+ The policy data generated by
623
+ a `organizations_get_iam_policy` data source.
624
+ """
1339
625
  return pulumi.get(self, "policy_data")
1340
626
 
1341
627
  @property
1342
628
  @pulumi.getter
1343
629
  def project(self) -> pulumi.Output[str]:
630
+ """
631
+ The ID of the project in which the resource belongs.
632
+ 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.
633
+ """
1344
634
  return pulumi.get(self, "project")
1345
635