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
  from . import outputs
12
17
  from ._inputs import *
@@ -24,8 +29,27 @@ class RestorePlanIamBindingArgs:
24
29
  project: Optional[pulumi.Input[str]] = None):
25
30
  """
26
31
  The set of arguments for constructing a RestorePlanIamBinding resource.
32
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] members: Identities that will be granted the privilege in `role`.
33
+ Each entry can have one of the following values:
34
+ * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
35
+ * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
36
+ * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
37
+ * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
38
+ * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
39
+ * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
40
+ * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
41
+ * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
42
+ * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
43
+ :param pulumi.Input[str] role: The role that should be applied. Only one
44
+ `gkebackup.RestorePlanIamBinding` can be used per role. Note that custom roles must be of the format
45
+ `[projects|organizations]/{parent-name}/roles/{role-name}`.
27
46
  :param pulumi.Input[str] location: The region of the Restore Plan.
28
- :param pulumi.Input[str] name: The full name of the BackupPlan Resource.
47
+ Used to find the parent resource to bind the IAM policy to. If not specified,
48
+ the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
49
+ location is specified, it is taken from the provider configuration.
50
+ :param pulumi.Input[str] name: Used to find the parent resource to bind the IAM policy to
51
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
52
+ If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
29
53
  """
30
54
  pulumi.set(__self__, "members", members)
31
55
  pulumi.set(__self__, "role", role)
@@ -41,6 +65,19 @@ class RestorePlanIamBindingArgs:
41
65
  @property
42
66
  @pulumi.getter
43
67
  def members(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]:
68
+ """
69
+ Identities that will be granted the privilege in `role`.
70
+ Each entry can have one of the following values:
71
+ * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
72
+ * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
73
+ * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
74
+ * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
75
+ * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
76
+ * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
77
+ * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
78
+ * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
79
+ * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
80
+ """
44
81
  return pulumi.get(self, "members")
45
82
 
46
83
  @members.setter
@@ -50,6 +87,11 @@ class RestorePlanIamBindingArgs:
50
87
  @property
51
88
  @pulumi.getter
52
89
  def role(self) -> pulumi.Input[str]:
90
+ """
91
+ The role that should be applied. Only one
92
+ `gkebackup.RestorePlanIamBinding` can be used per role. Note that custom roles must be of the format
93
+ `[projects|organizations]/{parent-name}/roles/{role-name}`.
94
+ """
53
95
  return pulumi.get(self, "role")
54
96
 
55
97
  @role.setter
@@ -70,6 +112,9 @@ class RestorePlanIamBindingArgs:
70
112
  def location(self) -> Optional[pulumi.Input[str]]:
71
113
  """
72
114
  The region of the Restore Plan.
115
+ Used to find the parent resource to bind the IAM policy to. If not specified,
116
+ the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
117
+ location is specified, it is taken from the provider configuration.
73
118
  """
74
119
  return pulumi.get(self, "location")
75
120
 
@@ -81,7 +126,7 @@ class RestorePlanIamBindingArgs:
81
126
  @pulumi.getter
82
127
  def name(self) -> Optional[pulumi.Input[str]]:
83
128
  """
84
- The full name of the BackupPlan Resource.
129
+ Used to find the parent resource to bind the IAM policy to
85
130
  """
86
131
  return pulumi.get(self, "name")
87
132
 
@@ -92,6 +137,10 @@ class RestorePlanIamBindingArgs:
92
137
  @property
93
138
  @pulumi.getter
94
139
  def project(self) -> Optional[pulumi.Input[str]]:
140
+ """
141
+ The ID of the project in which the resource belongs.
142
+ 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.
143
+ """
95
144
  return pulumi.get(self, "project")
96
145
 
97
146
  @project.setter
@@ -111,8 +160,28 @@ class _RestorePlanIamBindingState:
111
160
  role: Optional[pulumi.Input[str]] = None):
112
161
  """
113
162
  Input properties used for looking up and filtering RestorePlanIamBinding resources.
163
+ :param pulumi.Input[str] etag: (Computed) The etag of the IAM policy.
114
164
  :param pulumi.Input[str] location: The region of the Restore Plan.
115
- :param pulumi.Input[str] name: The full name of the BackupPlan Resource.
165
+ Used to find the parent resource to bind the IAM policy to. If not specified,
166
+ the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
167
+ location is specified, it is taken from the provider configuration.
168
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] members: Identities that will be granted the privilege in `role`.
169
+ Each entry can have one of the following values:
170
+ * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
171
+ * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
172
+ * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
173
+ * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
174
+ * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
175
+ * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
176
+ * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
177
+ * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
178
+ * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
179
+ :param pulumi.Input[str] name: Used to find the parent resource to bind the IAM policy to
180
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
181
+ 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.
182
+ :param pulumi.Input[str] role: The role that should be applied. Only one
183
+ `gkebackup.RestorePlanIamBinding` can be used per role. Note that custom roles must be of the format
184
+ `[projects|organizations]/{parent-name}/roles/{role-name}`.
116
185
  """
117
186
  if condition is not None:
118
187
  pulumi.set(__self__, "condition", condition)
@@ -141,6 +210,9 @@ class _RestorePlanIamBindingState:
141
210
  @property
142
211
  @pulumi.getter
143
212
  def etag(self) -> Optional[pulumi.Input[str]]:
213
+ """
214
+ (Computed) The etag of the IAM policy.
215
+ """
144
216
  return pulumi.get(self, "etag")
145
217
 
146
218
  @etag.setter
@@ -152,6 +224,9 @@ class _RestorePlanIamBindingState:
152
224
  def location(self) -> Optional[pulumi.Input[str]]:
153
225
  """
154
226
  The region of the Restore Plan.
227
+ Used to find the parent resource to bind the IAM policy to. If not specified,
228
+ the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
229
+ location is specified, it is taken from the provider configuration.
155
230
  """
156
231
  return pulumi.get(self, "location")
157
232
 
@@ -162,6 +237,19 @@ class _RestorePlanIamBindingState:
162
237
  @property
163
238
  @pulumi.getter
164
239
  def members(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
240
+ """
241
+ Identities that will be granted the privilege in `role`.
242
+ Each entry can have one of the following values:
243
+ * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
244
+ * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
245
+ * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
246
+ * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
247
+ * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
248
+ * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
249
+ * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
250
+ * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
251
+ * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
252
+ """
165
253
  return pulumi.get(self, "members")
166
254
 
167
255
  @members.setter
@@ -172,7 +260,7 @@ class _RestorePlanIamBindingState:
172
260
  @pulumi.getter
173
261
  def name(self) -> Optional[pulumi.Input[str]]:
174
262
  """
175
- The full name of the BackupPlan Resource.
263
+ Used to find the parent resource to bind the IAM policy to
176
264
  """
177
265
  return pulumi.get(self, "name")
178
266
 
@@ -183,6 +271,10 @@ class _RestorePlanIamBindingState:
183
271
  @property
184
272
  @pulumi.getter
185
273
  def project(self) -> Optional[pulumi.Input[str]]:
274
+ """
275
+ The ID of the project in which the resource belongs.
276
+ 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.
277
+ """
186
278
  return pulumi.get(self, "project")
187
279
 
188
280
  @project.setter
@@ -192,6 +284,11 @@ class _RestorePlanIamBindingState:
192
284
  @property
193
285
  @pulumi.getter
194
286
  def role(self) -> Optional[pulumi.Input[str]]:
287
+ """
288
+ The role that should be applied. Only one
289
+ `gkebackup.RestorePlanIamBinding` can be used per role. Note that custom roles must be of the format
290
+ `[projects|organizations]/{parent-name}/roles/{role-name}`.
291
+ """
195
292
  return pulumi.get(self, "role")
196
293
 
197
294
  @role.setter
@@ -204,7 +301,7 @@ class RestorePlanIamBinding(pulumi.CustomResource):
204
301
  def __init__(__self__,
205
302
  resource_name: str,
206
303
  opts: Optional[pulumi.ResourceOptions] = None,
207
- condition: Optional[pulumi.Input[pulumi.InputType['RestorePlanIamBindingConditionArgs']]] = None,
304
+ condition: Optional[pulumi.Input[Union['RestorePlanIamBindingConditionArgs', 'RestorePlanIamBindingConditionArgsDict']]] = None,
208
305
  location: Optional[pulumi.Input[str]] = None,
209
306
  members: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
210
307
  name: Optional[pulumi.Input[str]] = None,
@@ -212,544 +309,171 @@ class RestorePlanIamBinding(pulumi.CustomResource):
212
309
  role: Optional[pulumi.Input[str]] = None,
213
310
  __props__=None):
214
311
  """
215
- Represents a Restore Plan instance.
312
+ Three different resources help you manage your IAM policy for Backup for GKE RestorePlan. Each of these resources serves a different use case:
216
313
 
217
- To get more information about RestorePlan, see:
314
+ * `gkebackup.RestorePlanIamPolicy`: Authoritative. Sets the IAM policy for the restoreplan and replaces any existing policy already attached.
315
+ * `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.
316
+ * `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.
218
317
 
219
- * [API documentation](https://cloud.google.com/kubernetes-engine/docs/add-on/backup-for-gke/reference/rest/v1/projects.locations.restorePlans)
220
- * How-to Guides
221
- * [Official Documentation](https://cloud.google.com/kubernetes-engine/docs/add-on/backup-for-gke)
318
+ A data source can be used to retrieve policy data in advent you do not need creation
222
319
 
223
- ## Example Usage
320
+ * `gkebackup.RestorePlanIamPolicy`: Retrieves the IAM policy for the restoreplan
224
321
 
225
- ### Gkebackup Restoreplan All Namespaces
322
+ > **Note:** `gkebackup.RestorePlanIamPolicy` **cannot** be used in conjunction with `gkebackup.RestorePlanIamBinding` and `gkebackup.RestorePlanIamMember` or they will fight over what your policy should be.
226
323
 
227
- ```python
228
- import pulumi
229
- import pulumi_gcp as gcp
324
+ > **Note:** `gkebackup.RestorePlanIamBinding` resources **can be** used in conjunction with `gkebackup.RestorePlanIamMember` resources **only if** they do not grant privilege to the same role.
230
325
 
231
- primary = gcp.container.Cluster("primary",
232
- name="restore-all-ns-cluster",
233
- location="us-central1",
234
- initial_node_count=1,
235
- workload_identity_config=gcp.container.ClusterWorkloadIdentityConfigArgs(
236
- workload_pool="my-project-name.svc.id.goog",
237
- ),
238
- addons_config=gcp.container.ClusterAddonsConfigArgs(
239
- gke_backup_agent_config=gcp.container.ClusterAddonsConfigGkeBackupAgentConfigArgs(
240
- enabled=True,
241
- ),
242
- ),
243
- deletion_protection="",
244
- network="default",
245
- subnetwork="default")
246
- basic = gcp.gkebackup.BackupPlan("basic",
247
- name="restore-all-ns",
248
- cluster=primary.id,
249
- location="us-central1",
250
- backup_config=gcp.gkebackup.BackupPlanBackupConfigArgs(
251
- include_volume_data=True,
252
- include_secrets=True,
253
- all_namespaces=True,
254
- ))
255
- all_ns = gcp.gkebackup.RestorePlan("all_ns",
256
- name="restore-all-ns",
257
- location="us-central1",
258
- backup_plan=basic.id,
259
- cluster=primary.id,
260
- restore_config=gcp.gkebackup.RestorePlanRestoreConfigArgs(
261
- all_namespaces=True,
262
- namespaced_resource_restore_mode="FAIL_ON_CONFLICT",
263
- volume_data_restore_policy="RESTORE_VOLUME_DATA_FROM_BACKUP",
264
- cluster_resource_restore_scope=gcp.gkebackup.RestorePlanRestoreConfigClusterResourceRestoreScopeArgs(
265
- all_group_kinds=True,
266
- ),
267
- cluster_resource_conflict_policy="USE_EXISTING_VERSION",
268
- ))
269
- ```
270
- ### Gkebackup Restoreplan Rollback Namespace
326
+ ## gkebackup.RestorePlanIamPolicy
271
327
 
272
328
  ```python
273
329
  import pulumi
274
330
  import pulumi_gcp as gcp
275
331
 
276
- primary = gcp.container.Cluster("primary",
277
- name="rollback-ns-cluster",
278
- location="us-central1",
279
- initial_node_count=1,
280
- workload_identity_config=gcp.container.ClusterWorkloadIdentityConfigArgs(
281
- workload_pool="my-project-name.svc.id.goog",
282
- ),
283
- addons_config=gcp.container.ClusterAddonsConfigArgs(
284
- gke_backup_agent_config=gcp.container.ClusterAddonsConfigGkeBackupAgentConfigArgs(
285
- enabled=True,
286
- ),
287
- ),
288
- deletion_protection="",
289
- network="default",
290
- subnetwork="default")
291
- basic = gcp.gkebackup.BackupPlan("basic",
292
- name="rollback-ns",
293
- cluster=primary.id,
294
- location="us-central1",
295
- backup_config=gcp.gkebackup.BackupPlanBackupConfigArgs(
296
- include_volume_data=True,
297
- include_secrets=True,
298
- all_namespaces=True,
299
- ))
300
- rollback_ns = gcp.gkebackup.RestorePlan("rollback_ns",
301
- name="rollback-ns-rp",
302
- location="us-central1",
303
- backup_plan=basic.id,
304
- cluster=primary.id,
305
- restore_config=gcp.gkebackup.RestorePlanRestoreConfigArgs(
306
- selected_namespaces=gcp.gkebackup.RestorePlanRestoreConfigSelectedNamespacesArgs(
307
- namespaces=["my-ns"],
308
- ),
309
- namespaced_resource_restore_mode="DELETE_AND_RESTORE",
310
- volume_data_restore_policy="RESTORE_VOLUME_DATA_FROM_BACKUP",
311
- cluster_resource_restore_scope=gcp.gkebackup.RestorePlanRestoreConfigClusterResourceRestoreScopeArgs(
312
- selected_group_kinds=[
313
- gcp.gkebackup.RestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindArgs(
314
- resource_group="apiextension.k8s.io",
315
- resource_kind="CustomResourceDefinition",
316
- ),
317
- gcp.gkebackup.RestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindArgs(
318
- resource_group="storage.k8s.io",
319
- resource_kind="StorageClass",
320
- ),
321
- ],
322
- ),
323
- cluster_resource_conflict_policy="USE_EXISTING_VERSION",
324
- ))
332
+ admin = gcp.organizations.get_iam_policy(bindings=[{
333
+ "role": "roles/viewer",
334
+ "members": ["user:jane@example.com"],
335
+ }])
336
+ policy = gcp.gkebackup.RestorePlanIamPolicy("policy",
337
+ project=all_ns["project"],
338
+ location=all_ns["location"],
339
+ name=all_ns["name"],
340
+ policy_data=admin.policy_data)
325
341
  ```
326
- ### Gkebackup Restoreplan Protected Application
327
342
 
328
- ```python
329
- import pulumi
330
- import pulumi_gcp as gcp
331
-
332
- primary = gcp.container.Cluster("primary",
333
- name="rollback-app-cluster",
334
- location="us-central1",
335
- initial_node_count=1,
336
- workload_identity_config=gcp.container.ClusterWorkloadIdentityConfigArgs(
337
- workload_pool="my-project-name.svc.id.goog",
338
- ),
339
- addons_config=gcp.container.ClusterAddonsConfigArgs(
340
- gke_backup_agent_config=gcp.container.ClusterAddonsConfigGkeBackupAgentConfigArgs(
341
- enabled=True,
342
- ),
343
- ),
344
- deletion_protection="",
345
- network="default",
346
- subnetwork="default")
347
- basic = gcp.gkebackup.BackupPlan("basic",
348
- name="rollback-app",
349
- cluster=primary.id,
350
- location="us-central1",
351
- backup_config=gcp.gkebackup.BackupPlanBackupConfigArgs(
352
- include_volume_data=True,
353
- include_secrets=True,
354
- all_namespaces=True,
355
- ))
356
- rollback_app = gcp.gkebackup.RestorePlan("rollback_app",
357
- name="rollback-app-rp",
358
- location="us-central1",
359
- backup_plan=basic.id,
360
- cluster=primary.id,
361
- restore_config=gcp.gkebackup.RestorePlanRestoreConfigArgs(
362
- selected_applications=gcp.gkebackup.RestorePlanRestoreConfigSelectedApplicationsArgs(
363
- namespaced_names=[gcp.gkebackup.RestorePlanRestoreConfigSelectedApplicationsNamespacedNameArgs(
364
- name="my-app",
365
- namespace="my-ns",
366
- )],
367
- ),
368
- namespaced_resource_restore_mode="DELETE_AND_RESTORE",
369
- volume_data_restore_policy="REUSE_VOLUME_HANDLE_FROM_BACKUP",
370
- cluster_resource_restore_scope=gcp.gkebackup.RestorePlanRestoreConfigClusterResourceRestoreScopeArgs(
371
- no_group_kinds=True,
372
- ),
373
- ))
374
- ```
375
- ### Gkebackup Restoreplan All Cluster Resources
343
+ ## gkebackup.RestorePlanIamBinding
376
344
 
377
345
  ```python
378
346
  import pulumi
379
347
  import pulumi_gcp as gcp
380
348
 
381
- primary = gcp.container.Cluster("primary",
382
- name="all-groupkinds-cluster",
383
- location="us-central1",
384
- initial_node_count=1,
385
- workload_identity_config=gcp.container.ClusterWorkloadIdentityConfigArgs(
386
- workload_pool="my-project-name.svc.id.goog",
387
- ),
388
- addons_config=gcp.container.ClusterAddonsConfigArgs(
389
- gke_backup_agent_config=gcp.container.ClusterAddonsConfigGkeBackupAgentConfigArgs(
390
- enabled=True,
391
- ),
392
- ),
393
- deletion_protection="",
394
- network="default",
395
- subnetwork="default")
396
- basic = gcp.gkebackup.BackupPlan("basic",
397
- name="all-groupkinds",
398
- cluster=primary.id,
399
- location="us-central1",
400
- backup_config=gcp.gkebackup.BackupPlanBackupConfigArgs(
401
- include_volume_data=True,
402
- include_secrets=True,
403
- all_namespaces=True,
404
- ))
405
- all_cluster_resources = gcp.gkebackup.RestorePlan("all_cluster_resources",
406
- name="all-groupkinds-rp",
407
- location="us-central1",
408
- backup_plan=basic.id,
409
- cluster=primary.id,
410
- restore_config=gcp.gkebackup.RestorePlanRestoreConfigArgs(
411
- no_namespaces=True,
412
- namespaced_resource_restore_mode="FAIL_ON_CONFLICT",
413
- cluster_resource_restore_scope=gcp.gkebackup.RestorePlanRestoreConfigClusterResourceRestoreScopeArgs(
414
- all_group_kinds=True,
415
- ),
416
- cluster_resource_conflict_policy="USE_EXISTING_VERSION",
417
- ))
349
+ binding = gcp.gkebackup.RestorePlanIamBinding("binding",
350
+ project=all_ns["project"],
351
+ location=all_ns["location"],
352
+ name=all_ns["name"],
353
+ role="roles/viewer",
354
+ members=["user:jane@example.com"])
418
355
  ```
419
- ### Gkebackup Restoreplan Rename Namespace
420
356
 
421
- ```python
422
- import pulumi
423
- import pulumi_gcp as gcp
424
-
425
- primary = gcp.container.Cluster("primary",
426
- name="rename-ns-cluster",
427
- location="us-central1",
428
- initial_node_count=1,
429
- workload_identity_config=gcp.container.ClusterWorkloadIdentityConfigArgs(
430
- workload_pool="my-project-name.svc.id.goog",
431
- ),
432
- addons_config=gcp.container.ClusterAddonsConfigArgs(
433
- gke_backup_agent_config=gcp.container.ClusterAddonsConfigGkeBackupAgentConfigArgs(
434
- enabled=True,
435
- ),
436
- ),
437
- deletion_protection="",
438
- network="default",
439
- subnetwork="default")
440
- basic = gcp.gkebackup.BackupPlan("basic",
441
- name="rename-ns",
442
- cluster=primary.id,
443
- location="us-central1",
444
- backup_config=gcp.gkebackup.BackupPlanBackupConfigArgs(
445
- include_volume_data=True,
446
- include_secrets=True,
447
- all_namespaces=True,
448
- ))
449
- rename_ns = gcp.gkebackup.RestorePlan("rename_ns",
450
- name="rename-ns-rp",
451
- location="us-central1",
452
- backup_plan=basic.id,
453
- cluster=primary.id,
454
- restore_config=gcp.gkebackup.RestorePlanRestoreConfigArgs(
455
- selected_namespaces=gcp.gkebackup.RestorePlanRestoreConfigSelectedNamespacesArgs(
456
- namespaces=["ns1"],
457
- ),
458
- namespaced_resource_restore_mode="FAIL_ON_CONFLICT",
459
- volume_data_restore_policy="REUSE_VOLUME_HANDLE_FROM_BACKUP",
460
- cluster_resource_restore_scope=gcp.gkebackup.RestorePlanRestoreConfigClusterResourceRestoreScopeArgs(
461
- no_group_kinds=True,
462
- ),
463
- transformation_rules=[
464
- gcp.gkebackup.RestorePlanRestoreConfigTransformationRuleArgs(
465
- description="rename namespace from ns1 to ns2",
466
- resource_filter=gcp.gkebackup.RestorePlanRestoreConfigTransformationRuleResourceFilterArgs(
467
- group_kinds=[gcp.gkebackup.RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindArgs(
468
- resource_kind="Namespace",
469
- )],
470
- json_path=".metadata[?(@.name == 'ns1')]",
471
- ),
472
- field_actions=[gcp.gkebackup.RestorePlanRestoreConfigTransformationRuleFieldActionArgs(
473
- op="REPLACE",
474
- path="/metadata/name",
475
- value="ns2",
476
- )],
477
- ),
478
- gcp.gkebackup.RestorePlanRestoreConfigTransformationRuleArgs(
479
- description="move all resources from ns1 to ns2",
480
- resource_filter=gcp.gkebackup.RestorePlanRestoreConfigTransformationRuleResourceFilterArgs(
481
- namespaces=["ns1"],
482
- ),
483
- field_actions=[gcp.gkebackup.RestorePlanRestoreConfigTransformationRuleFieldActionArgs(
484
- op="REPLACE",
485
- path="/metadata/namespace",
486
- value="ns2",
487
- )],
488
- ),
489
- ],
490
- ))
491
- ```
492
- ### Gkebackup Restoreplan Second Transformation
357
+ ## gkebackup.RestorePlanIamMember
493
358
 
494
359
  ```python
495
360
  import pulumi
496
361
  import pulumi_gcp as gcp
497
362
 
498
- primary = gcp.container.Cluster("primary",
499
- name="transform-rule-cluster",
500
- location="us-central1",
501
- initial_node_count=1,
502
- workload_identity_config=gcp.container.ClusterWorkloadIdentityConfigArgs(
503
- workload_pool="my-project-name.svc.id.goog",
504
- ),
505
- addons_config=gcp.container.ClusterAddonsConfigArgs(
506
- gke_backup_agent_config=gcp.container.ClusterAddonsConfigGkeBackupAgentConfigArgs(
507
- enabled=True,
508
- ),
509
- ),
510
- deletion_protection="",
511
- network="default",
512
- subnetwork="default")
513
- basic = gcp.gkebackup.BackupPlan("basic",
514
- name="transform-rule",
515
- cluster=primary.id,
516
- location="us-central1",
517
- backup_config=gcp.gkebackup.BackupPlanBackupConfigArgs(
518
- include_volume_data=True,
519
- include_secrets=True,
520
- all_namespaces=True,
521
- ))
522
- transform_rule = gcp.gkebackup.RestorePlan("transform_rule",
523
- name="transform-rule-rp",
524
- description="copy nginx env variables",
525
- labels={
526
- "app": "nginx",
527
- },
528
- location="us-central1",
529
- backup_plan=basic.id,
530
- cluster=primary.id,
531
- restore_config=gcp.gkebackup.RestorePlanRestoreConfigArgs(
532
- excluded_namespaces=gcp.gkebackup.RestorePlanRestoreConfigExcludedNamespacesArgs(
533
- namespaces=["my-ns"],
534
- ),
535
- namespaced_resource_restore_mode="DELETE_AND_RESTORE",
536
- volume_data_restore_policy="RESTORE_VOLUME_DATA_FROM_BACKUP",
537
- cluster_resource_restore_scope=gcp.gkebackup.RestorePlanRestoreConfigClusterResourceRestoreScopeArgs(
538
- excluded_group_kinds=[gcp.gkebackup.RestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindArgs(
539
- resource_group="apiextension.k8s.io",
540
- resource_kind="CustomResourceDefinition",
541
- )],
542
- ),
543
- cluster_resource_conflict_policy="USE_EXISTING_VERSION",
544
- transformation_rules=[gcp.gkebackup.RestorePlanRestoreConfigTransformationRuleArgs(
545
- description="Copy environment variables from the nginx container to the install init container.",
546
- resource_filter=gcp.gkebackup.RestorePlanRestoreConfigTransformationRuleResourceFilterArgs(
547
- group_kinds=[gcp.gkebackup.RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindArgs(
548
- resource_kind="Pod",
549
- resource_group="",
550
- )],
551
- json_path=".metadata[?(@.name == 'nginx')]",
552
- ),
553
- field_actions=[gcp.gkebackup.RestorePlanRestoreConfigTransformationRuleFieldActionArgs(
554
- op="COPY",
555
- path="/spec/initContainers/0/env",
556
- from_path="/spec/containers/0/env",
557
- )],
558
- )],
559
- ))
363
+ member = gcp.gkebackup.RestorePlanIamMember("member",
364
+ project=all_ns["project"],
365
+ location=all_ns["location"],
366
+ name=all_ns["name"],
367
+ role="roles/viewer",
368
+ member="user:jane@example.com")
560
369
  ```
561
- ### Gkebackup Restoreplan Gitops Mode
370
+
371
+ ## gkebackup.RestorePlanIamPolicy
562
372
 
563
373
  ```python
564
374
  import pulumi
565
375
  import pulumi_gcp as gcp
566
376
 
567
- primary = gcp.container.Cluster("primary",
568
- name="gitops-mode-cluster",
569
- location="us-central1",
570
- initial_node_count=1,
571
- workload_identity_config=gcp.container.ClusterWorkloadIdentityConfigArgs(
572
- workload_pool="my-project-name.svc.id.goog",
573
- ),
574
- addons_config=gcp.container.ClusterAddonsConfigArgs(
575
- gke_backup_agent_config=gcp.container.ClusterAddonsConfigGkeBackupAgentConfigArgs(
576
- enabled=True,
577
- ),
578
- ),
579
- deletion_protection="",
580
- network="default",
581
- subnetwork="default")
582
- basic = gcp.gkebackup.BackupPlan("basic",
583
- name="gitops-mode",
584
- cluster=primary.id,
585
- location="us-central1",
586
- backup_config=gcp.gkebackup.BackupPlanBackupConfigArgs(
587
- include_volume_data=True,
588
- include_secrets=True,
589
- all_namespaces=True,
590
- ))
591
- gitops_mode = gcp.gkebackup.RestorePlan("gitops_mode",
592
- name="gitops-mode",
593
- location="us-central1",
594
- backup_plan=basic.id,
595
- cluster=primary.id,
596
- restore_config=gcp.gkebackup.RestorePlanRestoreConfigArgs(
597
- all_namespaces=True,
598
- namespaced_resource_restore_mode="MERGE_SKIP_ON_CONFLICT",
599
- volume_data_restore_policy="RESTORE_VOLUME_DATA_FROM_BACKUP",
600
- cluster_resource_restore_scope=gcp.gkebackup.RestorePlanRestoreConfigClusterResourceRestoreScopeArgs(
601
- all_group_kinds=True,
602
- ),
603
- cluster_resource_conflict_policy="USE_EXISTING_VERSION",
604
- ))
377
+ admin = gcp.organizations.get_iam_policy(bindings=[{
378
+ "role": "roles/viewer",
379
+ "members": ["user:jane@example.com"],
380
+ }])
381
+ policy = gcp.gkebackup.RestorePlanIamPolicy("policy",
382
+ project=all_ns["project"],
383
+ location=all_ns["location"],
384
+ name=all_ns["name"],
385
+ policy_data=admin.policy_data)
605
386
  ```
606
- ### Gkebackup Restoreplan Restore Order
387
+
388
+ ## gkebackup.RestorePlanIamBinding
607
389
 
608
390
  ```python
609
391
  import pulumi
610
392
  import pulumi_gcp as gcp
611
393
 
612
- primary = gcp.container.Cluster("primary",
613
- name="restore-order-cluster",
614
- location="us-central1",
615
- initial_node_count=1,
616
- workload_identity_config=gcp.container.ClusterWorkloadIdentityConfigArgs(
617
- workload_pool="my-project-name.svc.id.goog",
618
- ),
619
- addons_config=gcp.container.ClusterAddonsConfigArgs(
620
- gke_backup_agent_config=gcp.container.ClusterAddonsConfigGkeBackupAgentConfigArgs(
621
- enabled=True,
622
- ),
623
- ),
624
- deletion_protection="",
625
- network="default",
626
- subnetwork="default")
627
- basic = gcp.gkebackup.BackupPlan("basic",
628
- name="restore-order",
629
- cluster=primary.id,
630
- location="us-central1",
631
- backup_config=gcp.gkebackup.BackupPlanBackupConfigArgs(
632
- include_volume_data=True,
633
- include_secrets=True,
634
- all_namespaces=True,
635
- ))
636
- restore_order = gcp.gkebackup.RestorePlan("restore_order",
637
- name="restore-order",
638
- location="us-central1",
639
- backup_plan=basic.id,
640
- cluster=primary.id,
641
- restore_config=gcp.gkebackup.RestorePlanRestoreConfigArgs(
642
- all_namespaces=True,
643
- namespaced_resource_restore_mode="FAIL_ON_CONFLICT",
644
- volume_data_restore_policy="RESTORE_VOLUME_DATA_FROM_BACKUP",
645
- cluster_resource_restore_scope=gcp.gkebackup.RestorePlanRestoreConfigClusterResourceRestoreScopeArgs(
646
- all_group_kinds=True,
647
- ),
648
- cluster_resource_conflict_policy="USE_EXISTING_VERSION",
649
- restore_order=gcp.gkebackup.RestorePlanRestoreConfigRestoreOrderArgs(
650
- group_kind_dependencies=[
651
- gcp.gkebackup.RestorePlanRestoreConfigRestoreOrderGroupKindDependencyArgs(
652
- satisfying=gcp.gkebackup.RestorePlanRestoreConfigRestoreOrderGroupKindDependencySatisfyingArgs(
653
- resource_group="stable.example.com",
654
- resource_kind="kindA",
655
- ),
656
- requiring=gcp.gkebackup.RestorePlanRestoreConfigRestoreOrderGroupKindDependencyRequiringArgs(
657
- resource_group="stable.example.com",
658
- resource_kind="kindB",
659
- ),
660
- ),
661
- gcp.gkebackup.RestorePlanRestoreConfigRestoreOrderGroupKindDependencyArgs(
662
- satisfying=gcp.gkebackup.RestorePlanRestoreConfigRestoreOrderGroupKindDependencySatisfyingArgs(
663
- resource_group="stable.example.com",
664
- resource_kind="kindB",
665
- ),
666
- requiring=gcp.gkebackup.RestorePlanRestoreConfigRestoreOrderGroupKindDependencyRequiringArgs(
667
- resource_group="stable.example.com",
668
- resource_kind="kindC",
669
- ),
670
- ),
671
- ],
672
- ),
673
- ))
394
+ binding = gcp.gkebackup.RestorePlanIamBinding("binding",
395
+ project=all_ns["project"],
396
+ location=all_ns["location"],
397
+ name=all_ns["name"],
398
+ role="roles/viewer",
399
+ members=["user:jane@example.com"])
674
400
  ```
675
- ### Gkebackup Restoreplan Volume Res
401
+
402
+ ## gkebackup.RestorePlanIamMember
676
403
 
677
404
  ```python
678
405
  import pulumi
679
406
  import pulumi_gcp as gcp
680
407
 
681
- primary = gcp.container.Cluster("primary",
682
- name="volume-res-cluster",
683
- location="us-central1",
684
- initial_node_count=1,
685
- workload_identity_config=gcp.container.ClusterWorkloadIdentityConfigArgs(
686
- workload_pool="my-project-name.svc.id.goog",
687
- ),
688
- addons_config=gcp.container.ClusterAddonsConfigArgs(
689
- gke_backup_agent_config=gcp.container.ClusterAddonsConfigGkeBackupAgentConfigArgs(
690
- enabled=True,
691
- ),
692
- ),
693
- deletion_protection="",
694
- network="default",
695
- subnetwork="default")
696
- basic = gcp.gkebackup.BackupPlan("basic",
697
- name="volume-res",
698
- cluster=primary.id,
699
- location="us-central1",
700
- backup_config=gcp.gkebackup.BackupPlanBackupConfigArgs(
701
- include_volume_data=True,
702
- include_secrets=True,
703
- all_namespaces=True,
704
- ))
705
- volume_res = gcp.gkebackup.RestorePlan("volume_res",
706
- name="volume-res",
707
- location="us-central1",
708
- backup_plan=basic.id,
709
- cluster=primary.id,
710
- restore_config=gcp.gkebackup.RestorePlanRestoreConfigArgs(
711
- all_namespaces=True,
712
- namespaced_resource_restore_mode="FAIL_ON_CONFLICT",
713
- volume_data_restore_policy="NO_VOLUME_DATA_RESTORATION",
714
- cluster_resource_restore_scope=gcp.gkebackup.RestorePlanRestoreConfigClusterResourceRestoreScopeArgs(
715
- all_group_kinds=True,
716
- ),
717
- cluster_resource_conflict_policy="USE_EXISTING_VERSION",
718
- volume_data_restore_policy_bindings=[gcp.gkebackup.RestorePlanRestoreConfigVolumeDataRestorePolicyBindingArgs(
719
- policy="RESTORE_VOLUME_DATA_FROM_BACKUP",
720
- volume_type="GCE_PERSISTENT_DISK",
721
- )],
722
- ))
408
+ member = gcp.gkebackup.RestorePlanIamMember("member",
409
+ project=all_ns["project"],
410
+ location=all_ns["location"],
411
+ name=all_ns["name"],
412
+ role="roles/viewer",
413
+ member="user:jane@example.com")
723
414
  ```
724
415
 
725
416
  ## Import
726
417
 
727
- RestorePlan can be imported using any of these accepted formats:
418
+ For all import syntaxes, the "resource in question" can take any of the following forms:
728
419
 
729
- * `projects/{{project}}/locations/{{location}}/restorePlans/{{name}}`
420
+ * projects/{{project}}/locations/{{location}}/restorePlans/{{name}}
730
421
 
731
- * `{{project}}/{{location}}/{{name}}`
422
+ * {{project}}/{{location}}/{{name}}
732
423
 
733
- * `{{location}}/{{name}}`
424
+ * {{location}}/{{name}}
734
425
 
735
- When using the `pulumi import` command, RestorePlan can be imported using one of the formats above. For example:
426
+ * {{name}}
427
+
428
+ Any variables not passed in the import command will be taken from the provider configuration.
429
+
430
+ Backup for GKE restoreplan IAM resources can be imported using the resource identifiers, role, and member.
431
+
432
+ IAM member imports use space-delimited identifiers: the resource in question, the role, and the member identity, e.g.
736
433
 
737
434
  ```sh
738
- $ pulumi import gcp:gkebackup/restorePlanIamBinding:RestorePlanIamBinding default projects/{{project}}/locations/{{location}}/restorePlans/{{name}}
435
+ $ pulumi import gcp:gkebackup/restorePlanIamBinding:RestorePlanIamBinding editor "projects/{{project}}/locations/{{location}}/restorePlans/{{restore_plan}} roles/viewer user:jane@example.com"
739
436
  ```
740
437
 
438
+ IAM binding imports use space-delimited identifiers: the resource in question and the role, e.g.
439
+
741
440
  ```sh
742
- $ pulumi import gcp:gkebackup/restorePlanIamBinding:RestorePlanIamBinding default {{project}}/{{location}}/{{name}}
441
+ $ pulumi import gcp:gkebackup/restorePlanIamBinding:RestorePlanIamBinding editor "projects/{{project}}/locations/{{location}}/restorePlans/{{restore_plan}} roles/viewer"
743
442
  ```
744
443
 
444
+ IAM policy imports use the identifier of the resource in question, e.g.
445
+
745
446
  ```sh
746
- $ pulumi import gcp:gkebackup/restorePlanIamBinding:RestorePlanIamBinding default {{location}}/{{name}}
447
+ $ pulumi import gcp:gkebackup/restorePlanIamBinding:RestorePlanIamBinding editor projects/{{project}}/locations/{{location}}/restorePlans/{{restore_plan}}
747
448
  ```
748
449
 
450
+ -> **Custom Roles**: If you're importing a IAM resource with a custom role, make sure to use the
451
+
452
+ full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.
453
+
749
454
  :param str resource_name: The name of the resource.
750
455
  :param pulumi.ResourceOptions opts: Options for the resource.
751
456
  :param pulumi.Input[str] location: The region of the Restore Plan.
752
- :param pulumi.Input[str] name: The full name of the BackupPlan Resource.
457
+ Used to find the parent resource to bind the IAM policy to. If not specified,
458
+ the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
459
+ location is specified, it is taken from the provider configuration.
460
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] members: Identities that will be granted the privilege in `role`.
461
+ Each entry can have one of the following values:
462
+ * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
463
+ * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
464
+ * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
465
+ * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
466
+ * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
467
+ * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
468
+ * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
469
+ * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
470
+ * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
471
+ :param pulumi.Input[str] name: Used to find the parent resource to bind the IAM policy to
472
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
473
+ 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.
474
+ :param pulumi.Input[str] role: The role that should be applied. Only one
475
+ `gkebackup.RestorePlanIamBinding` can be used per role. Note that custom roles must be of the format
476
+ `[projects|organizations]/{parent-name}/roles/{role-name}`.
753
477
  """
754
478
  ...
755
479
  @overload
@@ -758,540 +482,148 @@ class RestorePlanIamBinding(pulumi.CustomResource):
758
482
  args: RestorePlanIamBindingArgs,
759
483
  opts: Optional[pulumi.ResourceOptions] = None):
760
484
  """
761
- Represents a Restore Plan instance.
485
+ Three different resources help you manage your IAM policy for Backup for GKE RestorePlan. Each of these resources serves a different use case:
762
486
 
763
- To get more information about RestorePlan, see:
487
+ * `gkebackup.RestorePlanIamPolicy`: Authoritative. Sets the IAM policy for the restoreplan and replaces any existing policy already attached.
488
+ * `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.
489
+ * `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.
764
490
 
765
- * [API documentation](https://cloud.google.com/kubernetes-engine/docs/add-on/backup-for-gke/reference/rest/v1/projects.locations.restorePlans)
766
- * How-to Guides
767
- * [Official Documentation](https://cloud.google.com/kubernetes-engine/docs/add-on/backup-for-gke)
491
+ A data source can be used to retrieve policy data in advent you do not need creation
768
492
 
769
- ## Example Usage
493
+ * `gkebackup.RestorePlanIamPolicy`: Retrieves the IAM policy for the restoreplan
770
494
 
771
- ### Gkebackup Restoreplan All Namespaces
495
+ > **Note:** `gkebackup.RestorePlanIamPolicy` **cannot** be used in conjunction with `gkebackup.RestorePlanIamBinding` and `gkebackup.RestorePlanIamMember` or they will fight over what your policy should be.
772
496
 
773
- ```python
774
- import pulumi
775
- import pulumi_gcp as gcp
497
+ > **Note:** `gkebackup.RestorePlanIamBinding` resources **can be** used in conjunction with `gkebackup.RestorePlanIamMember` resources **only if** they do not grant privilege to the same role.
776
498
 
777
- primary = gcp.container.Cluster("primary",
778
- name="restore-all-ns-cluster",
779
- location="us-central1",
780
- initial_node_count=1,
781
- workload_identity_config=gcp.container.ClusterWorkloadIdentityConfigArgs(
782
- workload_pool="my-project-name.svc.id.goog",
783
- ),
784
- addons_config=gcp.container.ClusterAddonsConfigArgs(
785
- gke_backup_agent_config=gcp.container.ClusterAddonsConfigGkeBackupAgentConfigArgs(
786
- enabled=True,
787
- ),
788
- ),
789
- deletion_protection="",
790
- network="default",
791
- subnetwork="default")
792
- basic = gcp.gkebackup.BackupPlan("basic",
793
- name="restore-all-ns",
794
- cluster=primary.id,
795
- location="us-central1",
796
- backup_config=gcp.gkebackup.BackupPlanBackupConfigArgs(
797
- include_volume_data=True,
798
- include_secrets=True,
799
- all_namespaces=True,
800
- ))
801
- all_ns = gcp.gkebackup.RestorePlan("all_ns",
802
- name="restore-all-ns",
803
- location="us-central1",
804
- backup_plan=basic.id,
805
- cluster=primary.id,
806
- restore_config=gcp.gkebackup.RestorePlanRestoreConfigArgs(
807
- all_namespaces=True,
808
- namespaced_resource_restore_mode="FAIL_ON_CONFLICT",
809
- volume_data_restore_policy="RESTORE_VOLUME_DATA_FROM_BACKUP",
810
- cluster_resource_restore_scope=gcp.gkebackup.RestorePlanRestoreConfigClusterResourceRestoreScopeArgs(
811
- all_group_kinds=True,
812
- ),
813
- cluster_resource_conflict_policy="USE_EXISTING_VERSION",
814
- ))
815
- ```
816
- ### Gkebackup Restoreplan Rollback Namespace
499
+ ## gkebackup.RestorePlanIamPolicy
817
500
 
818
501
  ```python
819
502
  import pulumi
820
503
  import pulumi_gcp as gcp
821
504
 
822
- primary = gcp.container.Cluster("primary",
823
- name="rollback-ns-cluster",
824
- location="us-central1",
825
- initial_node_count=1,
826
- workload_identity_config=gcp.container.ClusterWorkloadIdentityConfigArgs(
827
- workload_pool="my-project-name.svc.id.goog",
828
- ),
829
- addons_config=gcp.container.ClusterAddonsConfigArgs(
830
- gke_backup_agent_config=gcp.container.ClusterAddonsConfigGkeBackupAgentConfigArgs(
831
- enabled=True,
832
- ),
833
- ),
834
- deletion_protection="",
835
- network="default",
836
- subnetwork="default")
837
- basic = gcp.gkebackup.BackupPlan("basic",
838
- name="rollback-ns",
839
- cluster=primary.id,
840
- location="us-central1",
841
- backup_config=gcp.gkebackup.BackupPlanBackupConfigArgs(
842
- include_volume_data=True,
843
- include_secrets=True,
844
- all_namespaces=True,
845
- ))
846
- rollback_ns = gcp.gkebackup.RestorePlan("rollback_ns",
847
- name="rollback-ns-rp",
848
- location="us-central1",
849
- backup_plan=basic.id,
850
- cluster=primary.id,
851
- restore_config=gcp.gkebackup.RestorePlanRestoreConfigArgs(
852
- selected_namespaces=gcp.gkebackup.RestorePlanRestoreConfigSelectedNamespacesArgs(
853
- namespaces=["my-ns"],
854
- ),
855
- namespaced_resource_restore_mode="DELETE_AND_RESTORE",
856
- volume_data_restore_policy="RESTORE_VOLUME_DATA_FROM_BACKUP",
857
- cluster_resource_restore_scope=gcp.gkebackup.RestorePlanRestoreConfigClusterResourceRestoreScopeArgs(
858
- selected_group_kinds=[
859
- gcp.gkebackup.RestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindArgs(
860
- resource_group="apiextension.k8s.io",
861
- resource_kind="CustomResourceDefinition",
862
- ),
863
- gcp.gkebackup.RestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindArgs(
864
- resource_group="storage.k8s.io",
865
- resource_kind="StorageClass",
866
- ),
867
- ],
868
- ),
869
- cluster_resource_conflict_policy="USE_EXISTING_VERSION",
870
- ))
505
+ admin = gcp.organizations.get_iam_policy(bindings=[{
506
+ "role": "roles/viewer",
507
+ "members": ["user:jane@example.com"],
508
+ }])
509
+ policy = gcp.gkebackup.RestorePlanIamPolicy("policy",
510
+ project=all_ns["project"],
511
+ location=all_ns["location"],
512
+ name=all_ns["name"],
513
+ policy_data=admin.policy_data)
871
514
  ```
872
- ### Gkebackup Restoreplan Protected Application
873
-
874
- ```python
875
- import pulumi
876
- import pulumi_gcp as gcp
877
515
 
878
- primary = gcp.container.Cluster("primary",
879
- name="rollback-app-cluster",
880
- location="us-central1",
881
- initial_node_count=1,
882
- workload_identity_config=gcp.container.ClusterWorkloadIdentityConfigArgs(
883
- workload_pool="my-project-name.svc.id.goog",
884
- ),
885
- addons_config=gcp.container.ClusterAddonsConfigArgs(
886
- gke_backup_agent_config=gcp.container.ClusterAddonsConfigGkeBackupAgentConfigArgs(
887
- enabled=True,
888
- ),
889
- ),
890
- deletion_protection="",
891
- network="default",
892
- subnetwork="default")
893
- basic = gcp.gkebackup.BackupPlan("basic",
894
- name="rollback-app",
895
- cluster=primary.id,
896
- location="us-central1",
897
- backup_config=gcp.gkebackup.BackupPlanBackupConfigArgs(
898
- include_volume_data=True,
899
- include_secrets=True,
900
- all_namespaces=True,
901
- ))
902
- rollback_app = gcp.gkebackup.RestorePlan("rollback_app",
903
- name="rollback-app-rp",
904
- location="us-central1",
905
- backup_plan=basic.id,
906
- cluster=primary.id,
907
- restore_config=gcp.gkebackup.RestorePlanRestoreConfigArgs(
908
- selected_applications=gcp.gkebackup.RestorePlanRestoreConfigSelectedApplicationsArgs(
909
- namespaced_names=[gcp.gkebackup.RestorePlanRestoreConfigSelectedApplicationsNamespacedNameArgs(
910
- name="my-app",
911
- namespace="my-ns",
912
- )],
913
- ),
914
- namespaced_resource_restore_mode="DELETE_AND_RESTORE",
915
- volume_data_restore_policy="REUSE_VOLUME_HANDLE_FROM_BACKUP",
916
- cluster_resource_restore_scope=gcp.gkebackup.RestorePlanRestoreConfigClusterResourceRestoreScopeArgs(
917
- no_group_kinds=True,
918
- ),
919
- ))
920
- ```
921
- ### Gkebackup Restoreplan All Cluster Resources
516
+ ## gkebackup.RestorePlanIamBinding
922
517
 
923
518
  ```python
924
519
  import pulumi
925
520
  import pulumi_gcp as gcp
926
521
 
927
- primary = gcp.container.Cluster("primary",
928
- name="all-groupkinds-cluster",
929
- location="us-central1",
930
- initial_node_count=1,
931
- workload_identity_config=gcp.container.ClusterWorkloadIdentityConfigArgs(
932
- workload_pool="my-project-name.svc.id.goog",
933
- ),
934
- addons_config=gcp.container.ClusterAddonsConfigArgs(
935
- gke_backup_agent_config=gcp.container.ClusterAddonsConfigGkeBackupAgentConfigArgs(
936
- enabled=True,
937
- ),
938
- ),
939
- deletion_protection="",
940
- network="default",
941
- subnetwork="default")
942
- basic = gcp.gkebackup.BackupPlan("basic",
943
- name="all-groupkinds",
944
- cluster=primary.id,
945
- location="us-central1",
946
- backup_config=gcp.gkebackup.BackupPlanBackupConfigArgs(
947
- include_volume_data=True,
948
- include_secrets=True,
949
- all_namespaces=True,
950
- ))
951
- all_cluster_resources = gcp.gkebackup.RestorePlan("all_cluster_resources",
952
- name="all-groupkinds-rp",
953
- location="us-central1",
954
- backup_plan=basic.id,
955
- cluster=primary.id,
956
- restore_config=gcp.gkebackup.RestorePlanRestoreConfigArgs(
957
- no_namespaces=True,
958
- namespaced_resource_restore_mode="FAIL_ON_CONFLICT",
959
- cluster_resource_restore_scope=gcp.gkebackup.RestorePlanRestoreConfigClusterResourceRestoreScopeArgs(
960
- all_group_kinds=True,
961
- ),
962
- cluster_resource_conflict_policy="USE_EXISTING_VERSION",
963
- ))
522
+ binding = gcp.gkebackup.RestorePlanIamBinding("binding",
523
+ project=all_ns["project"],
524
+ location=all_ns["location"],
525
+ name=all_ns["name"],
526
+ role="roles/viewer",
527
+ members=["user:jane@example.com"])
964
528
  ```
965
- ### Gkebackup Restoreplan Rename Namespace
966
529
 
967
- ```python
968
- import pulumi
969
- import pulumi_gcp as gcp
970
-
971
- primary = gcp.container.Cluster("primary",
972
- name="rename-ns-cluster",
973
- location="us-central1",
974
- initial_node_count=1,
975
- workload_identity_config=gcp.container.ClusterWorkloadIdentityConfigArgs(
976
- workload_pool="my-project-name.svc.id.goog",
977
- ),
978
- addons_config=gcp.container.ClusterAddonsConfigArgs(
979
- gke_backup_agent_config=gcp.container.ClusterAddonsConfigGkeBackupAgentConfigArgs(
980
- enabled=True,
981
- ),
982
- ),
983
- deletion_protection="",
984
- network="default",
985
- subnetwork="default")
986
- basic = gcp.gkebackup.BackupPlan("basic",
987
- name="rename-ns",
988
- cluster=primary.id,
989
- location="us-central1",
990
- backup_config=gcp.gkebackup.BackupPlanBackupConfigArgs(
991
- include_volume_data=True,
992
- include_secrets=True,
993
- all_namespaces=True,
994
- ))
995
- rename_ns = gcp.gkebackup.RestorePlan("rename_ns",
996
- name="rename-ns-rp",
997
- location="us-central1",
998
- backup_plan=basic.id,
999
- cluster=primary.id,
1000
- restore_config=gcp.gkebackup.RestorePlanRestoreConfigArgs(
1001
- selected_namespaces=gcp.gkebackup.RestorePlanRestoreConfigSelectedNamespacesArgs(
1002
- namespaces=["ns1"],
1003
- ),
1004
- namespaced_resource_restore_mode="FAIL_ON_CONFLICT",
1005
- volume_data_restore_policy="REUSE_VOLUME_HANDLE_FROM_BACKUP",
1006
- cluster_resource_restore_scope=gcp.gkebackup.RestorePlanRestoreConfigClusterResourceRestoreScopeArgs(
1007
- no_group_kinds=True,
1008
- ),
1009
- transformation_rules=[
1010
- gcp.gkebackup.RestorePlanRestoreConfigTransformationRuleArgs(
1011
- description="rename namespace from ns1 to ns2",
1012
- resource_filter=gcp.gkebackup.RestorePlanRestoreConfigTransformationRuleResourceFilterArgs(
1013
- group_kinds=[gcp.gkebackup.RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindArgs(
1014
- resource_kind="Namespace",
1015
- )],
1016
- json_path=".metadata[?(@.name == 'ns1')]",
1017
- ),
1018
- field_actions=[gcp.gkebackup.RestorePlanRestoreConfigTransformationRuleFieldActionArgs(
1019
- op="REPLACE",
1020
- path="/metadata/name",
1021
- value="ns2",
1022
- )],
1023
- ),
1024
- gcp.gkebackup.RestorePlanRestoreConfigTransformationRuleArgs(
1025
- description="move all resources from ns1 to ns2",
1026
- resource_filter=gcp.gkebackup.RestorePlanRestoreConfigTransformationRuleResourceFilterArgs(
1027
- namespaces=["ns1"],
1028
- ),
1029
- field_actions=[gcp.gkebackup.RestorePlanRestoreConfigTransformationRuleFieldActionArgs(
1030
- op="REPLACE",
1031
- path="/metadata/namespace",
1032
- value="ns2",
1033
- )],
1034
- ),
1035
- ],
1036
- ))
1037
- ```
1038
- ### Gkebackup Restoreplan Second Transformation
530
+ ## gkebackup.RestorePlanIamMember
1039
531
 
1040
532
  ```python
1041
533
  import pulumi
1042
534
  import pulumi_gcp as gcp
1043
535
 
1044
- primary = gcp.container.Cluster("primary",
1045
- name="transform-rule-cluster",
1046
- location="us-central1",
1047
- initial_node_count=1,
1048
- workload_identity_config=gcp.container.ClusterWorkloadIdentityConfigArgs(
1049
- workload_pool="my-project-name.svc.id.goog",
1050
- ),
1051
- addons_config=gcp.container.ClusterAddonsConfigArgs(
1052
- gke_backup_agent_config=gcp.container.ClusterAddonsConfigGkeBackupAgentConfigArgs(
1053
- enabled=True,
1054
- ),
1055
- ),
1056
- deletion_protection="",
1057
- network="default",
1058
- subnetwork="default")
1059
- basic = gcp.gkebackup.BackupPlan("basic",
1060
- name="transform-rule",
1061
- cluster=primary.id,
1062
- location="us-central1",
1063
- backup_config=gcp.gkebackup.BackupPlanBackupConfigArgs(
1064
- include_volume_data=True,
1065
- include_secrets=True,
1066
- all_namespaces=True,
1067
- ))
1068
- transform_rule = gcp.gkebackup.RestorePlan("transform_rule",
1069
- name="transform-rule-rp",
1070
- description="copy nginx env variables",
1071
- labels={
1072
- "app": "nginx",
1073
- },
1074
- location="us-central1",
1075
- backup_plan=basic.id,
1076
- cluster=primary.id,
1077
- restore_config=gcp.gkebackup.RestorePlanRestoreConfigArgs(
1078
- excluded_namespaces=gcp.gkebackup.RestorePlanRestoreConfigExcludedNamespacesArgs(
1079
- namespaces=["my-ns"],
1080
- ),
1081
- namespaced_resource_restore_mode="DELETE_AND_RESTORE",
1082
- volume_data_restore_policy="RESTORE_VOLUME_DATA_FROM_BACKUP",
1083
- cluster_resource_restore_scope=gcp.gkebackup.RestorePlanRestoreConfigClusterResourceRestoreScopeArgs(
1084
- excluded_group_kinds=[gcp.gkebackup.RestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindArgs(
1085
- resource_group="apiextension.k8s.io",
1086
- resource_kind="CustomResourceDefinition",
1087
- )],
1088
- ),
1089
- cluster_resource_conflict_policy="USE_EXISTING_VERSION",
1090
- transformation_rules=[gcp.gkebackup.RestorePlanRestoreConfigTransformationRuleArgs(
1091
- description="Copy environment variables from the nginx container to the install init container.",
1092
- resource_filter=gcp.gkebackup.RestorePlanRestoreConfigTransformationRuleResourceFilterArgs(
1093
- group_kinds=[gcp.gkebackup.RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindArgs(
1094
- resource_kind="Pod",
1095
- resource_group="",
1096
- )],
1097
- json_path=".metadata[?(@.name == 'nginx')]",
1098
- ),
1099
- field_actions=[gcp.gkebackup.RestorePlanRestoreConfigTransformationRuleFieldActionArgs(
1100
- op="COPY",
1101
- path="/spec/initContainers/0/env",
1102
- from_path="/spec/containers/0/env",
1103
- )],
1104
- )],
1105
- ))
536
+ member = gcp.gkebackup.RestorePlanIamMember("member",
537
+ project=all_ns["project"],
538
+ location=all_ns["location"],
539
+ name=all_ns["name"],
540
+ role="roles/viewer",
541
+ member="user:jane@example.com")
1106
542
  ```
1107
- ### Gkebackup Restoreplan Gitops Mode
543
+
544
+ ## gkebackup.RestorePlanIamPolicy
1108
545
 
1109
546
  ```python
1110
547
  import pulumi
1111
548
  import pulumi_gcp as gcp
1112
549
 
1113
- primary = gcp.container.Cluster("primary",
1114
- name="gitops-mode-cluster",
1115
- location="us-central1",
1116
- initial_node_count=1,
1117
- workload_identity_config=gcp.container.ClusterWorkloadIdentityConfigArgs(
1118
- workload_pool="my-project-name.svc.id.goog",
1119
- ),
1120
- addons_config=gcp.container.ClusterAddonsConfigArgs(
1121
- gke_backup_agent_config=gcp.container.ClusterAddonsConfigGkeBackupAgentConfigArgs(
1122
- enabled=True,
1123
- ),
1124
- ),
1125
- deletion_protection="",
1126
- network="default",
1127
- subnetwork="default")
1128
- basic = gcp.gkebackup.BackupPlan("basic",
1129
- name="gitops-mode",
1130
- cluster=primary.id,
1131
- location="us-central1",
1132
- backup_config=gcp.gkebackup.BackupPlanBackupConfigArgs(
1133
- include_volume_data=True,
1134
- include_secrets=True,
1135
- all_namespaces=True,
1136
- ))
1137
- gitops_mode = gcp.gkebackup.RestorePlan("gitops_mode",
1138
- name="gitops-mode",
1139
- location="us-central1",
1140
- backup_plan=basic.id,
1141
- cluster=primary.id,
1142
- restore_config=gcp.gkebackup.RestorePlanRestoreConfigArgs(
1143
- all_namespaces=True,
1144
- namespaced_resource_restore_mode="MERGE_SKIP_ON_CONFLICT",
1145
- volume_data_restore_policy="RESTORE_VOLUME_DATA_FROM_BACKUP",
1146
- cluster_resource_restore_scope=gcp.gkebackup.RestorePlanRestoreConfigClusterResourceRestoreScopeArgs(
1147
- all_group_kinds=True,
1148
- ),
1149
- cluster_resource_conflict_policy="USE_EXISTING_VERSION",
1150
- ))
550
+ admin = gcp.organizations.get_iam_policy(bindings=[{
551
+ "role": "roles/viewer",
552
+ "members": ["user:jane@example.com"],
553
+ }])
554
+ policy = gcp.gkebackup.RestorePlanIamPolicy("policy",
555
+ project=all_ns["project"],
556
+ location=all_ns["location"],
557
+ name=all_ns["name"],
558
+ policy_data=admin.policy_data)
1151
559
  ```
1152
- ### Gkebackup Restoreplan Restore Order
560
+
561
+ ## gkebackup.RestorePlanIamBinding
1153
562
 
1154
563
  ```python
1155
564
  import pulumi
1156
565
  import pulumi_gcp as gcp
1157
566
 
1158
- primary = gcp.container.Cluster("primary",
1159
- name="restore-order-cluster",
1160
- location="us-central1",
1161
- initial_node_count=1,
1162
- workload_identity_config=gcp.container.ClusterWorkloadIdentityConfigArgs(
1163
- workload_pool="my-project-name.svc.id.goog",
1164
- ),
1165
- addons_config=gcp.container.ClusterAddonsConfigArgs(
1166
- gke_backup_agent_config=gcp.container.ClusterAddonsConfigGkeBackupAgentConfigArgs(
1167
- enabled=True,
1168
- ),
1169
- ),
1170
- deletion_protection="",
1171
- network="default",
1172
- subnetwork="default")
1173
- basic = gcp.gkebackup.BackupPlan("basic",
1174
- name="restore-order",
1175
- cluster=primary.id,
1176
- location="us-central1",
1177
- backup_config=gcp.gkebackup.BackupPlanBackupConfigArgs(
1178
- include_volume_data=True,
1179
- include_secrets=True,
1180
- all_namespaces=True,
1181
- ))
1182
- restore_order = gcp.gkebackup.RestorePlan("restore_order",
1183
- name="restore-order",
1184
- location="us-central1",
1185
- backup_plan=basic.id,
1186
- cluster=primary.id,
1187
- restore_config=gcp.gkebackup.RestorePlanRestoreConfigArgs(
1188
- all_namespaces=True,
1189
- namespaced_resource_restore_mode="FAIL_ON_CONFLICT",
1190
- volume_data_restore_policy="RESTORE_VOLUME_DATA_FROM_BACKUP",
1191
- cluster_resource_restore_scope=gcp.gkebackup.RestorePlanRestoreConfigClusterResourceRestoreScopeArgs(
1192
- all_group_kinds=True,
1193
- ),
1194
- cluster_resource_conflict_policy="USE_EXISTING_VERSION",
1195
- restore_order=gcp.gkebackup.RestorePlanRestoreConfigRestoreOrderArgs(
1196
- group_kind_dependencies=[
1197
- gcp.gkebackup.RestorePlanRestoreConfigRestoreOrderGroupKindDependencyArgs(
1198
- satisfying=gcp.gkebackup.RestorePlanRestoreConfigRestoreOrderGroupKindDependencySatisfyingArgs(
1199
- resource_group="stable.example.com",
1200
- resource_kind="kindA",
1201
- ),
1202
- requiring=gcp.gkebackup.RestorePlanRestoreConfigRestoreOrderGroupKindDependencyRequiringArgs(
1203
- resource_group="stable.example.com",
1204
- resource_kind="kindB",
1205
- ),
1206
- ),
1207
- gcp.gkebackup.RestorePlanRestoreConfigRestoreOrderGroupKindDependencyArgs(
1208
- satisfying=gcp.gkebackup.RestorePlanRestoreConfigRestoreOrderGroupKindDependencySatisfyingArgs(
1209
- resource_group="stable.example.com",
1210
- resource_kind="kindB",
1211
- ),
1212
- requiring=gcp.gkebackup.RestorePlanRestoreConfigRestoreOrderGroupKindDependencyRequiringArgs(
1213
- resource_group="stable.example.com",
1214
- resource_kind="kindC",
1215
- ),
1216
- ),
1217
- ],
1218
- ),
1219
- ))
567
+ binding = gcp.gkebackup.RestorePlanIamBinding("binding",
568
+ project=all_ns["project"],
569
+ location=all_ns["location"],
570
+ name=all_ns["name"],
571
+ role="roles/viewer",
572
+ members=["user:jane@example.com"])
1220
573
  ```
1221
- ### Gkebackup Restoreplan Volume Res
574
+
575
+ ## gkebackup.RestorePlanIamMember
1222
576
 
1223
577
  ```python
1224
578
  import pulumi
1225
579
  import pulumi_gcp as gcp
1226
580
 
1227
- primary = gcp.container.Cluster("primary",
1228
- name="volume-res-cluster",
1229
- location="us-central1",
1230
- initial_node_count=1,
1231
- workload_identity_config=gcp.container.ClusterWorkloadIdentityConfigArgs(
1232
- workload_pool="my-project-name.svc.id.goog",
1233
- ),
1234
- addons_config=gcp.container.ClusterAddonsConfigArgs(
1235
- gke_backup_agent_config=gcp.container.ClusterAddonsConfigGkeBackupAgentConfigArgs(
1236
- enabled=True,
1237
- ),
1238
- ),
1239
- deletion_protection="",
1240
- network="default",
1241
- subnetwork="default")
1242
- basic = gcp.gkebackup.BackupPlan("basic",
1243
- name="volume-res",
1244
- cluster=primary.id,
1245
- location="us-central1",
1246
- backup_config=gcp.gkebackup.BackupPlanBackupConfigArgs(
1247
- include_volume_data=True,
1248
- include_secrets=True,
1249
- all_namespaces=True,
1250
- ))
1251
- volume_res = gcp.gkebackup.RestorePlan("volume_res",
1252
- name="volume-res",
1253
- location="us-central1",
1254
- backup_plan=basic.id,
1255
- cluster=primary.id,
1256
- restore_config=gcp.gkebackup.RestorePlanRestoreConfigArgs(
1257
- all_namespaces=True,
1258
- namespaced_resource_restore_mode="FAIL_ON_CONFLICT",
1259
- volume_data_restore_policy="NO_VOLUME_DATA_RESTORATION",
1260
- cluster_resource_restore_scope=gcp.gkebackup.RestorePlanRestoreConfigClusterResourceRestoreScopeArgs(
1261
- all_group_kinds=True,
1262
- ),
1263
- cluster_resource_conflict_policy="USE_EXISTING_VERSION",
1264
- volume_data_restore_policy_bindings=[gcp.gkebackup.RestorePlanRestoreConfigVolumeDataRestorePolicyBindingArgs(
1265
- policy="RESTORE_VOLUME_DATA_FROM_BACKUP",
1266
- volume_type="GCE_PERSISTENT_DISK",
1267
- )],
1268
- ))
581
+ member = gcp.gkebackup.RestorePlanIamMember("member",
582
+ project=all_ns["project"],
583
+ location=all_ns["location"],
584
+ name=all_ns["name"],
585
+ role="roles/viewer",
586
+ member="user:jane@example.com")
1269
587
  ```
1270
588
 
1271
589
  ## Import
1272
590
 
1273
- RestorePlan can be imported using any of these accepted formats:
591
+ For all import syntaxes, the "resource in question" can take any of the following forms:
592
+
593
+ * projects/{{project}}/locations/{{location}}/restorePlans/{{name}}
594
+
595
+ * {{project}}/{{location}}/{{name}}
596
+
597
+ * {{location}}/{{name}}
1274
598
 
1275
- * `projects/{{project}}/locations/{{location}}/restorePlans/{{name}}`
599
+ * {{name}}
1276
600
 
1277
- * `{{project}}/{{location}}/{{name}}`
601
+ Any variables not passed in the import command will be taken from the provider configuration.
1278
602
 
1279
- * `{{location}}/{{name}}`
603
+ Backup for GKE restoreplan IAM resources can be imported using the resource identifiers, role, and member.
1280
604
 
1281
- When using the `pulumi import` command, RestorePlan can be imported using one of the formats above. For example:
605
+ IAM member imports use space-delimited identifiers: the resource in question, the role, and the member identity, e.g.
1282
606
 
1283
607
  ```sh
1284
- $ pulumi import gcp:gkebackup/restorePlanIamBinding:RestorePlanIamBinding default projects/{{project}}/locations/{{location}}/restorePlans/{{name}}
608
+ $ pulumi import gcp:gkebackup/restorePlanIamBinding:RestorePlanIamBinding editor "projects/{{project}}/locations/{{location}}/restorePlans/{{restore_plan}} roles/viewer user:jane@example.com"
1285
609
  ```
1286
610
 
611
+ IAM binding imports use space-delimited identifiers: the resource in question and the role, e.g.
612
+
1287
613
  ```sh
1288
- $ pulumi import gcp:gkebackup/restorePlanIamBinding:RestorePlanIamBinding default {{project}}/{{location}}/{{name}}
614
+ $ pulumi import gcp:gkebackup/restorePlanIamBinding:RestorePlanIamBinding editor "projects/{{project}}/locations/{{location}}/restorePlans/{{restore_plan}} roles/viewer"
1289
615
  ```
1290
616
 
617
+ IAM policy imports use the identifier of the resource in question, e.g.
618
+
1291
619
  ```sh
1292
- $ pulumi import gcp:gkebackup/restorePlanIamBinding:RestorePlanIamBinding default {{location}}/{{name}}
620
+ $ pulumi import gcp:gkebackup/restorePlanIamBinding:RestorePlanIamBinding editor projects/{{project}}/locations/{{location}}/restorePlans/{{restore_plan}}
1293
621
  ```
1294
622
 
623
+ -> **Custom Roles**: If you're importing a IAM resource with a custom role, make sure to use the
624
+
625
+ full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.
626
+
1295
627
  :param str resource_name: The name of the resource.
1296
628
  :param RestorePlanIamBindingArgs args: The arguments to use to populate this resource's properties.
1297
629
  :param pulumi.ResourceOptions opts: Options for the resource.
@@ -1307,7 +639,7 @@ class RestorePlanIamBinding(pulumi.CustomResource):
1307
639
  def _internal_init(__self__,
1308
640
  resource_name: str,
1309
641
  opts: Optional[pulumi.ResourceOptions] = None,
1310
- condition: Optional[pulumi.Input[pulumi.InputType['RestorePlanIamBindingConditionArgs']]] = None,
642
+ condition: Optional[pulumi.Input[Union['RestorePlanIamBindingConditionArgs', 'RestorePlanIamBindingConditionArgsDict']]] = None,
1311
643
  location: Optional[pulumi.Input[str]] = None,
1312
644
  members: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1313
645
  name: Optional[pulumi.Input[str]] = None,
@@ -1343,7 +675,7 @@ class RestorePlanIamBinding(pulumi.CustomResource):
1343
675
  def get(resource_name: str,
1344
676
  id: pulumi.Input[str],
1345
677
  opts: Optional[pulumi.ResourceOptions] = None,
1346
- condition: Optional[pulumi.Input[pulumi.InputType['RestorePlanIamBindingConditionArgs']]] = None,
678
+ condition: Optional[pulumi.Input[Union['RestorePlanIamBindingConditionArgs', 'RestorePlanIamBindingConditionArgsDict']]] = None,
1347
679
  etag: Optional[pulumi.Input[str]] = None,
1348
680
  location: Optional[pulumi.Input[str]] = None,
1349
681
  members: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
@@ -1357,8 +689,28 @@ class RestorePlanIamBinding(pulumi.CustomResource):
1357
689
  :param str resource_name: The unique name of the resulting resource.
1358
690
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
1359
691
  :param pulumi.ResourceOptions opts: Options for the resource.
692
+ :param pulumi.Input[str] etag: (Computed) The etag of the IAM policy.
1360
693
  :param pulumi.Input[str] location: The region of the Restore Plan.
1361
- :param pulumi.Input[str] name: The full name of the BackupPlan Resource.
694
+ Used to find the parent resource to bind the IAM policy to. If not specified,
695
+ the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
696
+ location is specified, it is taken from the provider configuration.
697
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] members: Identities that will be granted the privilege in `role`.
698
+ Each entry can have one of the following values:
699
+ * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
700
+ * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
701
+ * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
702
+ * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
703
+ * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
704
+ * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
705
+ * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
706
+ * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
707
+ * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
708
+ :param pulumi.Input[str] name: Used to find the parent resource to bind the IAM policy to
709
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
710
+ 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.
711
+ :param pulumi.Input[str] role: The role that should be applied. Only one
712
+ `gkebackup.RestorePlanIamBinding` can be used per role. Note that custom roles must be of the format
713
+ `[projects|organizations]/{parent-name}/roles/{role-name}`.
1362
714
  """
1363
715
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
1364
716
 
@@ -1381,6 +733,9 @@ class RestorePlanIamBinding(pulumi.CustomResource):
1381
733
  @property
1382
734
  @pulumi.getter
1383
735
  def etag(self) -> pulumi.Output[str]:
736
+ """
737
+ (Computed) The etag of the IAM policy.
738
+ """
1384
739
  return pulumi.get(self, "etag")
1385
740
 
1386
741
  @property
@@ -1388,29 +743,54 @@ class RestorePlanIamBinding(pulumi.CustomResource):
1388
743
  def location(self) -> pulumi.Output[str]:
1389
744
  """
1390
745
  The region of the Restore Plan.
746
+ Used to find the parent resource to bind the IAM policy to. If not specified,
747
+ the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
748
+ location is specified, it is taken from the provider configuration.
1391
749
  """
1392
750
  return pulumi.get(self, "location")
1393
751
 
1394
752
  @property
1395
753
  @pulumi.getter
1396
754
  def members(self) -> pulumi.Output[Sequence[str]]:
755
+ """
756
+ Identities that will be granted the privilege in `role`.
757
+ Each entry can have one of the following values:
758
+ * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
759
+ * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
760
+ * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
761
+ * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
762
+ * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
763
+ * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
764
+ * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
765
+ * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
766
+ * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
767
+ """
1397
768
  return pulumi.get(self, "members")
1398
769
 
1399
770
  @property
1400
771
  @pulumi.getter
1401
772
  def name(self) -> pulumi.Output[str]:
1402
773
  """
1403
- The full name of the BackupPlan Resource.
774
+ Used to find the parent resource to bind the IAM policy to
1404
775
  """
1405
776
  return pulumi.get(self, "name")
1406
777
 
1407
778
  @property
1408
779
  @pulumi.getter
1409
780
  def project(self) -> pulumi.Output[str]:
781
+ """
782
+ The ID of the project in which the resource belongs.
783
+ 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.
784
+ """
1410
785
  return pulumi.get(self, "project")
1411
786
 
1412
787
  @property
1413
788
  @pulumi.getter
1414
789
  def role(self) -> pulumi.Output[str]:
790
+ """
791
+ The role that should be applied. Only one
792
+ `gkebackup.RestorePlanIamBinding` can be used per role. Note that custom roles must be of the format
793
+ `[projects|organizations]/{parent-name}/roles/{role-name}`.
794
+ """
1415
795
  return pulumi.get(self, "role")
1416
796