pulumi-gcp 8.8.0a1730788810__py3-none-any.whl → 8.8.0a1730875301__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 (347) hide show
  1. pulumi_gcp/__init__.py +8 -0
  2. pulumi_gcp/accesscontextmanager/access_policy_iam_binding.py +4 -4
  3. pulumi_gcp/accesscontextmanager/access_policy_iam_member.py +4 -4
  4. pulumi_gcp/accesscontextmanager/access_policy_iam_policy.py +4 -4
  5. pulumi_gcp/apigateway/api_config_iam_binding.py +2 -2
  6. pulumi_gcp/apigateway/api_config_iam_member.py +2 -2
  7. pulumi_gcp/apigateway/api_config_iam_policy.py +2 -2
  8. pulumi_gcp/apigateway/api_iam_binding.py +2 -2
  9. pulumi_gcp/apigateway/api_iam_member.py +2 -2
  10. pulumi_gcp/apigateway/api_iam_policy.py +2 -2
  11. pulumi_gcp/apigateway/gateway_iam_binding.py +2 -2
  12. pulumi_gcp/apigateway/gateway_iam_member.py +2 -2
  13. pulumi_gcp/apigateway/gateway_iam_policy.py +2 -2
  14. pulumi_gcp/apigee/environment_iam_binding.py +4 -4
  15. pulumi_gcp/apigee/environment_iam_member.py +4 -4
  16. pulumi_gcp/apigee/environment_iam_policy.py +4 -4
  17. pulumi_gcp/appengine/engine_split_traffic.py +4 -4
  18. pulumi_gcp/apphub/_inputs.py +6 -3
  19. pulumi_gcp/apphub/application.py +30 -4
  20. pulumi_gcp/apphub/outputs.py +8 -4
  21. pulumi_gcp/artifactregistry/repository_iam_binding.py +2 -2
  22. pulumi_gcp/artifactregistry/repository_iam_member.py +2 -2
  23. pulumi_gcp/artifactregistry/repository_iam_policy.py +2 -2
  24. pulumi_gcp/assuredworkloads/_inputs.py +34 -0
  25. pulumi_gcp/assuredworkloads/outputs.py +37 -0
  26. pulumi_gcp/assuredworkloads/workload.py +56 -3
  27. pulumi_gcp/backupdisasterrecovery/_inputs.py +0 -6
  28. pulumi_gcp/backupdisasterrecovery/management_server.py +80 -34
  29. pulumi_gcp/backupdisasterrecovery/outputs.py +0 -4
  30. pulumi_gcp/biglake/table.py +12 -12
  31. pulumi_gcp/bigquery/_inputs.py +60 -0
  32. pulumi_gcp/bigquery/connection.py +2 -2
  33. pulumi_gcp/bigquery/connection_iam_binding.py +2 -2
  34. pulumi_gcp/bigquery/connection_iam_member.py +2 -2
  35. pulumi_gcp/bigquery/connection_iam_policy.py +2 -2
  36. pulumi_gcp/bigquery/dataset.py +99 -2
  37. pulumi_gcp/bigquery/dataset_access.py +2 -2
  38. pulumi_gcp/bigquery/dataset_iam_binding.py +53 -0
  39. pulumi_gcp/bigquery/dataset_iam_member.py +53 -0
  40. pulumi_gcp/bigquery/dataset_iam_policy.py +32 -0
  41. pulumi_gcp/bigquery/get_dataset.py +12 -1
  42. pulumi_gcp/bigquery/iam_binding.py +2 -2
  43. pulumi_gcp/bigquery/iam_member.py +2 -2
  44. pulumi_gcp/bigquery/iam_policy.py +2 -2
  45. pulumi_gcp/bigquery/outputs.py +87 -0
  46. pulumi_gcp/bigquery/routine.py +6 -6
  47. pulumi_gcp/bigqueryanalyticshub/data_exchange_iam_binding.py +2 -2
  48. pulumi_gcp/bigqueryanalyticshub/data_exchange_iam_member.py +2 -2
  49. pulumi_gcp/bigqueryanalyticshub/data_exchange_iam_policy.py +2 -2
  50. pulumi_gcp/bigqueryanalyticshub/listing_iam_binding.py +2 -2
  51. pulumi_gcp/bigqueryanalyticshub/listing_iam_member.py +2 -2
  52. pulumi_gcp/bigqueryanalyticshub/listing_iam_policy.py +2 -2
  53. pulumi_gcp/bigquerydatapolicy/data_policy_iam_binding.py +2 -2
  54. pulumi_gcp/bigquerydatapolicy/data_policy_iam_member.py +2 -2
  55. pulumi_gcp/bigquerydatapolicy/data_policy_iam_policy.py +2 -2
  56. pulumi_gcp/binaryauthorization/attestor_iam_binding.py +2 -2
  57. pulumi_gcp/binaryauthorization/attestor_iam_member.py +2 -2
  58. pulumi_gcp/binaryauthorization/attestor_iam_policy.py +2 -2
  59. pulumi_gcp/certificateauthority/ca_pool_iam_binding.py +2 -2
  60. pulumi_gcp/certificateauthority/ca_pool_iam_member.py +2 -2
  61. pulumi_gcp/certificateauthority/ca_pool_iam_policy.py +2 -2
  62. pulumi_gcp/certificateauthority/certificate_template_iam_binding.py +2 -2
  63. pulumi_gcp/certificateauthority/certificate_template_iam_member.py +2 -2
  64. pulumi_gcp/certificateauthority/certificate_template_iam_policy.py +2 -2
  65. pulumi_gcp/cloudbuild/trigger.py +18 -18
  66. pulumi_gcp/cloudbuildv2/connection_iam_binding.py +2 -2
  67. pulumi_gcp/cloudbuildv2/connection_iam_member.py +2 -2
  68. pulumi_gcp/cloudbuildv2/connection_iam_policy.py +2 -2
  69. pulumi_gcp/clouddeploy/delivery_pipeline.py +10 -10
  70. pulumi_gcp/cloudfunctions/function_iam_binding.py +2 -2
  71. pulumi_gcp/cloudfunctions/function_iam_member.py +2 -2
  72. pulumi_gcp/cloudfunctions/function_iam_policy.py +2 -2
  73. pulumi_gcp/cloudfunctionsv2/function.py +22 -22
  74. pulumi_gcp/cloudfunctionsv2/function_iam_binding.py +2 -2
  75. pulumi_gcp/cloudfunctionsv2/function_iam_member.py +2 -2
  76. pulumi_gcp/cloudfunctionsv2/function_iam_policy.py +2 -2
  77. pulumi_gcp/cloudrun/iam_binding.py +2 -2
  78. pulumi_gcp/cloudrun/iam_member.py +2 -2
  79. pulumi_gcp/cloudrun/iam_policy.py +2 -2
  80. pulumi_gcp/cloudrun/service.py +24 -24
  81. pulumi_gcp/cloudrunv2/job_iam_binding.py +2 -2
  82. pulumi_gcp/cloudrunv2/job_iam_member.py +2 -2
  83. pulumi_gcp/cloudrunv2/job_iam_policy.py +2 -2
  84. pulumi_gcp/cloudrunv2/service.py +2 -2
  85. pulumi_gcp/cloudrunv2/service_iam_binding.py +2 -2
  86. pulumi_gcp/cloudrunv2/service_iam_member.py +2 -2
  87. pulumi_gcp/cloudrunv2/service_iam_policy.py +2 -2
  88. pulumi_gcp/cloudscheduler/job.py +4 -4
  89. pulumi_gcp/cloudtasks/queue_iam_binding.py +2 -2
  90. pulumi_gcp/cloudtasks/queue_iam_member.py +2 -2
  91. pulumi_gcp/cloudtasks/queue_iam_policy.py +2 -2
  92. pulumi_gcp/compute/__init__.py +1 -0
  93. pulumi_gcp/compute/_inputs.py +182 -50
  94. pulumi_gcp/compute/backend_bucket_iam_binding.py +2 -2
  95. pulumi_gcp/compute/backend_bucket_iam_member.py +2 -2
  96. pulumi_gcp/compute/backend_bucket_iam_policy.py +2 -2
  97. pulumi_gcp/compute/backend_service_iam_binding.py +2 -2
  98. pulumi_gcp/compute/backend_service_iam_member.py +2 -2
  99. pulumi_gcp/compute/backend_service_iam_policy.py +2 -2
  100. pulumi_gcp/compute/disk_iam_binding.py +2 -2
  101. pulumi_gcp/compute/disk_iam_member.py +2 -2
  102. pulumi_gcp/compute/disk_iam_policy.py +2 -2
  103. pulumi_gcp/compute/get_instance_guest_attributes.py +277 -0
  104. pulumi_gcp/compute/image.py +76 -22
  105. pulumi_gcp/compute/image_iam_binding.py +2 -2
  106. pulumi_gcp/compute/image_iam_member.py +2 -2
  107. pulumi_gcp/compute/image_iam_policy.py +2 -2
  108. pulumi_gcp/compute/instance_iam_binding.py +2 -2
  109. pulumi_gcp/compute/instance_iam_member.py +2 -2
  110. pulumi_gcp/compute/instance_iam_policy.py +2 -2
  111. pulumi_gcp/compute/machine_image_iam_binding.py +2 -2
  112. pulumi_gcp/compute/machine_image_iam_member.py +2 -2
  113. pulumi_gcp/compute/machine_image_iam_policy.py +2 -2
  114. pulumi_gcp/compute/outputs.py +197 -30
  115. pulumi_gcp/compute/region_backend_service_iam_binding.py +2 -2
  116. pulumi_gcp/compute/region_backend_service_iam_member.py +2 -2
  117. pulumi_gcp/compute/region_backend_service_iam_policy.py +2 -2
  118. pulumi_gcp/compute/region_disk_iam_binding.py +2 -2
  119. pulumi_gcp/compute/region_disk_iam_member.py +2 -2
  120. pulumi_gcp/compute/region_disk_iam_policy.py +2 -2
  121. pulumi_gcp/compute/region_security_policy_rule.py +74 -0
  122. pulumi_gcp/compute/security_policy_rule.py +111 -13
  123. pulumi_gcp/compute/snapshot_iam_binding.py +2 -2
  124. pulumi_gcp/compute/snapshot_iam_member.py +2 -2
  125. pulumi_gcp/compute/snapshot_iam_policy.py +2 -2
  126. pulumi_gcp/compute/subnetwork_iam_binding.py +2 -2
  127. pulumi_gcp/compute/subnetwork_iam_member.py +2 -2
  128. pulumi_gcp/compute/subnetwork_iam_policy.py +2 -2
  129. pulumi_gcp/compute/url_map.py +10 -10
  130. pulumi_gcp/container/aws_node_pool.py +12 -12
  131. pulumi_gcp/containeranalysis/note_iam_binding.py +2 -2
  132. pulumi_gcp/containeranalysis/note_iam_member.py +2 -2
  133. pulumi_gcp/containeranalysis/note_iam_policy.py +2 -2
  134. pulumi_gcp/datacatalog/entry_group_iam_binding.py +2 -2
  135. pulumi_gcp/datacatalog/entry_group_iam_member.py +2 -2
  136. pulumi_gcp/datacatalog/entry_group_iam_policy.py +2 -2
  137. pulumi_gcp/datacatalog/policy_tag_iam_binding.py +4 -4
  138. pulumi_gcp/datacatalog/policy_tag_iam_member.py +4 -4
  139. pulumi_gcp/datacatalog/policy_tag_iam_policy.py +4 -4
  140. pulumi_gcp/datacatalog/tag_template_iam_binding.py +2 -2
  141. pulumi_gcp/datacatalog/tag_template_iam_member.py +2 -2
  142. pulumi_gcp/datacatalog/tag_template_iam_policy.py +2 -2
  143. pulumi_gcp/datacatalog/taxonomy_iam_binding.py +2 -2
  144. pulumi_gcp/datacatalog/taxonomy_iam_member.py +2 -2
  145. pulumi_gcp/datacatalog/taxonomy_iam_policy.py +2 -2
  146. pulumi_gcp/dataplex/aspect_type_iam_binding.py +2 -2
  147. pulumi_gcp/dataplex/aspect_type_iam_member.py +2 -2
  148. pulumi_gcp/dataplex/aspect_type_iam_policy.py +2 -2
  149. pulumi_gcp/dataplex/asset_iam_binding.py +2 -2
  150. pulumi_gcp/dataplex/asset_iam_member.py +2 -2
  151. pulumi_gcp/dataplex/asset_iam_policy.py +2 -2
  152. pulumi_gcp/dataplex/datascan_iam_binding.py +2 -2
  153. pulumi_gcp/dataplex/datascan_iam_member.py +2 -2
  154. pulumi_gcp/dataplex/datascan_iam_policy.py +2 -2
  155. pulumi_gcp/dataplex/entry_group_iam_binding.py +2 -2
  156. pulumi_gcp/dataplex/entry_group_iam_member.py +2 -2
  157. pulumi_gcp/dataplex/entry_group_iam_policy.py +2 -2
  158. pulumi_gcp/dataplex/entry_type_iam_binding.py +2 -2
  159. pulumi_gcp/dataplex/entry_type_iam_member.py +2 -2
  160. pulumi_gcp/dataplex/entry_type_iam_policy.py +2 -2
  161. pulumi_gcp/dataplex/lake_iam_binding.py +2 -2
  162. pulumi_gcp/dataplex/lake_iam_member.py +2 -2
  163. pulumi_gcp/dataplex/lake_iam_policy.py +2 -2
  164. pulumi_gcp/dataplex/task.py +4 -4
  165. pulumi_gcp/dataplex/task_iam_binding.py +2 -2
  166. pulumi_gcp/dataplex/task_iam_member.py +2 -2
  167. pulumi_gcp/dataplex/task_iam_policy.py +2 -2
  168. pulumi_gcp/dataplex/zone_iam_binding.py +2 -2
  169. pulumi_gcp/dataplex/zone_iam_member.py +2 -2
  170. pulumi_gcp/dataplex/zone_iam_policy.py +2 -2
  171. pulumi_gcp/dataproc/autoscaling_policy_iam_binding.py +2 -2
  172. pulumi_gcp/dataproc/autoscaling_policy_iam_member.py +2 -2
  173. pulumi_gcp/dataproc/autoscaling_policy_iam_policy.py +2 -2
  174. pulumi_gcp/dataproc/batch.py +24 -24
  175. pulumi_gcp/dataproc/cluster.py +2 -2
  176. pulumi_gcp/dataproc/job.py +4 -4
  177. pulumi_gcp/dataproc/metastore_federation_iam_binding.py +2 -2
  178. pulumi_gcp/dataproc/metastore_federation_iam_member.py +2 -2
  179. pulumi_gcp/dataproc/metastore_federation_iam_policy.py +2 -2
  180. pulumi_gcp/dataproc/metastore_service_iam_binding.py +2 -2
  181. pulumi_gcp/dataproc/metastore_service_iam_member.py +2 -2
  182. pulumi_gcp/dataproc/metastore_service_iam_policy.py +2 -2
  183. pulumi_gcp/diagflow/cx_flow.py +4 -4
  184. pulumi_gcp/diagflow/cx_page.py +10 -10
  185. pulumi_gcp/dns/dns_managed_zone_iam_binding.py +2 -2
  186. pulumi_gcp/dns/dns_managed_zone_iam_member.py +2 -2
  187. pulumi_gcp/dns/dns_managed_zone_iam_policy.py +2 -2
  188. pulumi_gcp/endpoints/consumers_iam_binding.py +2 -2
  189. pulumi_gcp/endpoints/consumers_iam_member.py +2 -2
  190. pulumi_gcp/endpoints/consumers_iam_policy.py +2 -2
  191. pulumi_gcp/endpoints/service_iam_binding.py +4 -4
  192. pulumi_gcp/endpoints/service_iam_member.py +4 -4
  193. pulumi_gcp/endpoints/service_iam_policy.py +4 -4
  194. pulumi_gcp/firebase/extensions_instance.py +24 -24
  195. pulumi_gcp/gkebackup/backup_plan_iam_binding.py +2 -2
  196. pulumi_gcp/gkebackup/backup_plan_iam_member.py +2 -2
  197. pulumi_gcp/gkebackup/backup_plan_iam_policy.py +2 -2
  198. pulumi_gcp/gkebackup/restore_plan.py +18 -18
  199. pulumi_gcp/gkebackup/restore_plan_iam_binding.py +2 -2
  200. pulumi_gcp/gkebackup/restore_plan_iam_member.py +2 -2
  201. pulumi_gcp/gkebackup/restore_plan_iam_policy.py +2 -2
  202. pulumi_gcp/gkehub/_inputs.py +21 -21
  203. pulumi_gcp/gkehub/feature_iam_binding.py +2 -2
  204. pulumi_gcp/gkehub/feature_iam_member.py +2 -2
  205. pulumi_gcp/gkehub/feature_iam_policy.py +2 -2
  206. pulumi_gcp/gkehub/membership_iam_binding.py +2 -2
  207. pulumi_gcp/gkehub/membership_iam_member.py +2 -2
  208. pulumi_gcp/gkehub/membership_iam_policy.py +2 -2
  209. pulumi_gcp/gkehub/outputs.py +13 -13
  210. pulumi_gcp/gkehub/scope_iam_binding.py +2 -2
  211. pulumi_gcp/gkehub/scope_iam_member.py +2 -2
  212. pulumi_gcp/gkehub/scope_iam_policy.py +2 -2
  213. pulumi_gcp/healthcare/consent_store_iam_binding.py +4 -4
  214. pulumi_gcp/healthcare/consent_store_iam_member.py +4 -4
  215. pulumi_gcp/healthcare/consent_store_iam_policy.py +4 -4
  216. pulumi_gcp/iap/__init__.py +1 -0
  217. pulumi_gcp/iap/_inputs.py +1002 -0
  218. pulumi_gcp/iap/app_engine_service_iam_binding.py +2 -2
  219. pulumi_gcp/iap/app_engine_service_iam_member.py +2 -2
  220. pulumi_gcp/iap/app_engine_service_iam_policy.py +2 -2
  221. pulumi_gcp/iap/app_engine_version_iam_binding.py +2 -2
  222. pulumi_gcp/iap/app_engine_version_iam_member.py +2 -2
  223. pulumi_gcp/iap/app_engine_version_iam_policy.py +2 -2
  224. pulumi_gcp/iap/outputs.py +827 -0
  225. pulumi_gcp/iap/settings.py +546 -0
  226. pulumi_gcp/iap/tunnel_dest_group_iam_binding.py +2 -2
  227. pulumi_gcp/iap/tunnel_dest_group_iam_member.py +2 -2
  228. pulumi_gcp/iap/tunnel_dest_group_iam_policy.py +2 -2
  229. pulumi_gcp/iap/tunnel_iam_binding.py +2 -2
  230. pulumi_gcp/iap/tunnel_iam_member.py +2 -2
  231. pulumi_gcp/iap/tunnel_iam_policy.py +2 -2
  232. pulumi_gcp/iap/tunnel_instance_iam_binding.py +2 -2
  233. pulumi_gcp/iap/tunnel_instance_iam_member.py +2 -2
  234. pulumi_gcp/iap/tunnel_instance_iam_policy.py +2 -2
  235. pulumi_gcp/iap/web_backend_service_iam_binding.py +2 -2
  236. pulumi_gcp/iap/web_backend_service_iam_member.py +2 -2
  237. pulumi_gcp/iap/web_backend_service_iam_policy.py +2 -2
  238. pulumi_gcp/iap/web_iam_binding.py +2 -2
  239. pulumi_gcp/iap/web_iam_member.py +2 -2
  240. pulumi_gcp/iap/web_iam_policy.py +2 -2
  241. pulumi_gcp/iap/web_region_backend_service_iam_binding.py +2 -2
  242. pulumi_gcp/iap/web_region_backend_service_iam_member.py +2 -2
  243. pulumi_gcp/iap/web_region_backend_service_iam_policy.py +2 -2
  244. pulumi_gcp/iap/web_type_app_enging_iam_binding.py +2 -2
  245. pulumi_gcp/iap/web_type_app_enging_iam_member.py +2 -2
  246. pulumi_gcp/iap/web_type_app_enging_iam_policy.py +2 -2
  247. pulumi_gcp/iap/web_type_compute_iam_binding.py +2 -2
  248. pulumi_gcp/iap/web_type_compute_iam_member.py +2 -2
  249. pulumi_gcp/iap/web_type_compute_iam_policy.py +2 -2
  250. pulumi_gcp/identityplatform/config.py +2 -2
  251. pulumi_gcp/kms/ekm_connection_iam_binding.py +2 -2
  252. pulumi_gcp/kms/ekm_connection_iam_member.py +2 -2
  253. pulumi_gcp/kms/ekm_connection_iam_policy.py +2 -2
  254. pulumi_gcp/logging/log_view_iam_binding.py +4 -4
  255. pulumi_gcp/logging/log_view_iam_member.py +4 -4
  256. pulumi_gcp/logging/log_view_iam_policy.py +4 -4
  257. pulumi_gcp/memorystore/_inputs.py +117 -4
  258. pulumi_gcp/memorystore/instance.py +105 -0
  259. pulumi_gcp/memorystore/outputs.py +80 -4
  260. pulumi_gcp/networksecurity/address_group_iam_binding.py +2 -2
  261. pulumi_gcp/networksecurity/address_group_iam_member.py +2 -2
  262. pulumi_gcp/networksecurity/address_group_iam_policy.py +2 -2
  263. pulumi_gcp/networksecurity/gateway_security_policy.py +7 -0
  264. pulumi_gcp/networkservices/edge_cache_service.py +2 -2
  265. pulumi_gcp/networkservices/http_route.py +4 -4
  266. pulumi_gcp/notebooks/instance_iam_binding.py +2 -2
  267. pulumi_gcp/notebooks/instance_iam_member.py +2 -2
  268. pulumi_gcp/notebooks/instance_iam_policy.py +2 -2
  269. pulumi_gcp/notebooks/runtime_iam_binding.py +2 -2
  270. pulumi_gcp/notebooks/runtime_iam_member.py +2 -2
  271. pulumi_gcp/notebooks/runtime_iam_policy.py +2 -2
  272. pulumi_gcp/osconfig/os_policy_assignment.py +4 -4
  273. pulumi_gcp/pubsub/schema_iam_binding.py +2 -2
  274. pulumi_gcp/pubsub/schema_iam_member.py +2 -2
  275. pulumi_gcp/pubsub/schema_iam_policy.py +2 -2
  276. pulumi_gcp/pubsub/subscription.py +18 -66
  277. pulumi_gcp/pubsub/topic_iam_binding.py +2 -2
  278. pulumi_gcp/pubsub/topic_iam_member.py +2 -2
  279. pulumi_gcp/pubsub/topic_iam_policy.py +2 -2
  280. pulumi_gcp/pulumi-plugin.json +1 -1
  281. pulumi_gcp/runtimeconfig/config_iam_binding.py +2 -2
  282. pulumi_gcp/runtimeconfig/config_iam_member.py +2 -2
  283. pulumi_gcp/runtimeconfig/config_iam_policy.py +2 -2
  284. pulumi_gcp/secretmanager/regional_secret_iam_binding.py +2 -2
  285. pulumi_gcp/secretmanager/regional_secret_iam_member.py +2 -2
  286. pulumi_gcp/secretmanager/regional_secret_iam_policy.py +2 -2
  287. pulumi_gcp/secretmanager/secret_iam_binding.py +2 -2
  288. pulumi_gcp/secretmanager/secret_iam_member.py +2 -2
  289. pulumi_gcp/secretmanager/secret_iam_policy.py +2 -2
  290. pulumi_gcp/securesourcemanager/repository_iam_binding.py +2 -2
  291. pulumi_gcp/securesourcemanager/repository_iam_member.py +2 -2
  292. pulumi_gcp/securesourcemanager/repository_iam_policy.py +2 -2
  293. pulumi_gcp/securitycenter/v2_organization_source_iam_binding.py +4 -4
  294. pulumi_gcp/securitycenter/v2_organization_source_iam_member.py +4 -4
  295. pulumi_gcp/securitycenter/v2_organization_source_iam_policy.py +4 -4
  296. pulumi_gcp/serviceaccount/__init__.py +1 -0
  297. pulumi_gcp/serviceaccount/get_account.py +15 -1
  298. pulumi_gcp/serviceaccount/get_s.py +132 -0
  299. pulumi_gcp/serviceaccount/outputs.py +89 -0
  300. pulumi_gcp/servicedirectory/namespace_iam_binding.py +4 -4
  301. pulumi_gcp/servicedirectory/namespace_iam_member.py +4 -4
  302. pulumi_gcp/servicedirectory/namespace_iam_policy.py +4 -4
  303. pulumi_gcp/servicedirectory/service_iam_binding.py +4 -4
  304. pulumi_gcp/servicedirectory/service_iam_member.py +4 -4
  305. pulumi_gcp/servicedirectory/service_iam_policy.py +4 -4
  306. pulumi_gcp/sourcerepo/repository_iam_binding.py +2 -2
  307. pulumi_gcp/sourcerepo/repository_iam_member.py +2 -2
  308. pulumi_gcp/sourcerepo/repository_iam_policy.py +2 -2
  309. pulumi_gcp/spanner/_inputs.py +208 -12
  310. pulumi_gcp/spanner/outputs.py +287 -9
  311. pulumi_gcp/sql/_inputs.py +6 -3
  312. pulumi_gcp/sql/outputs.py +4 -2
  313. pulumi_gcp/storage/_inputs.py +3 -6
  314. pulumi_gcp/storage/bucket.py +7 -7
  315. pulumi_gcp/storage/bucket_iam_binding.py +2 -2
  316. pulumi_gcp/storage/bucket_iam_member.py +2 -2
  317. pulumi_gcp/storage/bucket_iam_policy.py +2 -2
  318. pulumi_gcp/storage/managed_folder_iam_binding.py +4 -4
  319. pulumi_gcp/storage/managed_folder_iam_member.py +4 -4
  320. pulumi_gcp/storage/managed_folder_iam_policy.py +4 -4
  321. pulumi_gcp/storage/outputs.py +4 -6
  322. pulumi_gcp/tags/tag_key_iam_binding.py +4 -4
  323. pulumi_gcp/tags/tag_key_iam_member.py +4 -4
  324. pulumi_gcp/tags/tag_key_iam_policy.py +4 -4
  325. pulumi_gcp/tags/tag_value_iam_binding.py +4 -4
  326. pulumi_gcp/tags/tag_value_iam_member.py +4 -4
  327. pulumi_gcp/tags/tag_value_iam_policy.py +4 -4
  328. pulumi_gcp/vertex/ai_feature_store_entity_type_iam_binding.py +2 -2
  329. pulumi_gcp/vertex/ai_feature_store_entity_type_iam_member.py +2 -2
  330. pulumi_gcp/vertex/ai_feature_store_entity_type_iam_policy.py +2 -2
  331. pulumi_gcp/vertex/ai_feature_store_iam_binding.py +2 -2
  332. pulumi_gcp/vertex/ai_feature_store_iam_member.py +2 -2
  333. pulumi_gcp/vertex/ai_feature_store_iam_policy.py +2 -2
  334. pulumi_gcp/vmwareengine/_inputs.py +472 -6
  335. pulumi_gcp/vmwareengine/outputs.py +668 -22
  336. pulumi_gcp/vmwareengine/private_cloud.py +44 -0
  337. pulumi_gcp/workstations/workstation_config.py +6 -6
  338. pulumi_gcp/workstations/workstation_config_iam_binding.py +2 -2
  339. pulumi_gcp/workstations/workstation_config_iam_member.py +2 -2
  340. pulumi_gcp/workstations/workstation_config_iam_policy.py +2 -2
  341. pulumi_gcp/workstations/workstation_iam_binding.py +2 -2
  342. pulumi_gcp/workstations/workstation_iam_member.py +2 -2
  343. pulumi_gcp/workstations/workstation_iam_policy.py +2 -2
  344. {pulumi_gcp-8.8.0a1730788810.dist-info → pulumi_gcp-8.8.0a1730875301.dist-info}/METADATA +1 -1
  345. {pulumi_gcp-8.8.0a1730788810.dist-info → pulumi_gcp-8.8.0a1730875301.dist-info}/RECORD +347 -344
  346. {pulumi_gcp-8.8.0a1730788810.dist-info → pulumi_gcp-8.8.0a1730875301.dist-info}/WHEEL +0 -0
  347. {pulumi_gcp-8.8.0a1730788810.dist-info → pulumi_gcp-8.8.0a1730875301.dist-info}/top_level.txt +0 -0
@@ -359,7 +359,7 @@ class RegionDiskIamPolicy(pulumi.CustomResource):
359
359
  $ pulumi import gcp:compute/regionDiskIamPolicy:RegionDiskIamPolicy editor projects/{{project}}/regions/{{region}}/disks/{{region_disk}}
360
360
  ```
361
361
 
362
- -> **Custom Roles**: If you're importing a IAM resource with a custom role, make sure to use the
362
+ -> **Custom Roles** If you're importing a IAM resource with a custom role, make sure to use the
363
363
 
364
364
  full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.
365
365
 
@@ -538,7 +538,7 @@ class RegionDiskIamPolicy(pulumi.CustomResource):
538
538
  $ pulumi import gcp:compute/regionDiskIamPolicy:RegionDiskIamPolicy editor projects/{{project}}/regions/{{region}}/disks/{{region_disk}}
539
539
  ```
540
540
 
541
- -> **Custom Roles**: If you're importing a IAM resource with a custom role, make sure to use the
541
+ -> **Custom Roles** If you're importing a IAM resource with a custom role, make sure to use the
542
542
 
543
543
  full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.
544
544
 
@@ -564,6 +564,43 @@ class RegionSecurityPolicyRule(pulumi.CustomResource):
564
564
  action="allow",
565
565
  preview=True)
566
566
  ```
567
+ ### Region Security Policy Rule Default Rule
568
+
569
+ ```python
570
+ import pulumi
571
+ import pulumi_gcp as gcp
572
+
573
+ default = gcp.compute.RegionSecurityPolicy("default",
574
+ region="us-west2",
575
+ name="policywithdefaultrule",
576
+ description="basic region security policy",
577
+ type="CLOUD_ARMOR")
578
+ default_rule = gcp.compute.RegionSecurityPolicyRule("default_rule",
579
+ region="us-west2",
580
+ security_policy=default.name,
581
+ description="new rule",
582
+ action="deny",
583
+ priority=2147483647,
584
+ match={
585
+ "versioned_expr": "SRC_IPS_V1",
586
+ "config": {
587
+ "src_ip_ranges": ["*"],
588
+ },
589
+ })
590
+ policy_rule = gcp.compute.RegionSecurityPolicyRule("policy_rule",
591
+ region="us-west2",
592
+ security_policy=default.name,
593
+ description="new rule",
594
+ priority=100,
595
+ match={
596
+ "versioned_expr": "SRC_IPS_V1",
597
+ "config": {
598
+ "src_ip_ranges": ["10.10.0.0/16"],
599
+ },
600
+ },
601
+ action="allow",
602
+ preview=True)
603
+ ```
567
604
  ### Region Security Policy Rule With Preconfigured Waf Config
568
605
 
569
606
  ```python
@@ -814,6 +851,43 @@ class RegionSecurityPolicyRule(pulumi.CustomResource):
814
851
  action="allow",
815
852
  preview=True)
816
853
  ```
854
+ ### Region Security Policy Rule Default Rule
855
+
856
+ ```python
857
+ import pulumi
858
+ import pulumi_gcp as gcp
859
+
860
+ default = gcp.compute.RegionSecurityPolicy("default",
861
+ region="us-west2",
862
+ name="policywithdefaultrule",
863
+ description="basic region security policy",
864
+ type="CLOUD_ARMOR")
865
+ default_rule = gcp.compute.RegionSecurityPolicyRule("default_rule",
866
+ region="us-west2",
867
+ security_policy=default.name,
868
+ description="new rule",
869
+ action="deny",
870
+ priority=2147483647,
871
+ match={
872
+ "versioned_expr": "SRC_IPS_V1",
873
+ "config": {
874
+ "src_ip_ranges": ["*"],
875
+ },
876
+ })
877
+ policy_rule = gcp.compute.RegionSecurityPolicyRule("policy_rule",
878
+ region="us-west2",
879
+ security_policy=default.name,
880
+ description="new rule",
881
+ priority=100,
882
+ match={
883
+ "versioned_expr": "SRC_IPS_V1",
884
+ "config": {
885
+ "src_ip_ranges": ["10.10.0.0/16"],
886
+ },
887
+ },
888
+ action="allow",
889
+ preview=True)
890
+ ```
817
891
  ### Region Security Policy Rule With Preconfigured Waf Config
818
892
 
819
893
  ```python
@@ -25,11 +25,13 @@ class SecurityPolicyRuleInitArgs:
25
25
  priority: pulumi.Input[int],
26
26
  security_policy: pulumi.Input[str],
27
27
  description: Optional[pulumi.Input[str]] = None,
28
+ header_action: Optional[pulumi.Input['SecurityPolicyRuleHeaderActionArgs']] = None,
28
29
  match: Optional[pulumi.Input['SecurityPolicyRuleMatchArgs']] = None,
29
30
  preconfigured_waf_config: Optional[pulumi.Input['SecurityPolicyRulePreconfiguredWafConfigArgs']] = None,
30
31
  preview: Optional[pulumi.Input[bool]] = None,
31
32
  project: Optional[pulumi.Input[str]] = None,
32
- rate_limit_options: Optional[pulumi.Input['SecurityPolicyRuleRateLimitOptionsArgs']] = None):
33
+ rate_limit_options: Optional[pulumi.Input['SecurityPolicyRuleRateLimitOptionsArgs']] = None,
34
+ redirect_options: Optional[pulumi.Input['SecurityPolicyRuleRedirectOptionsArgs']] = None):
33
35
  """
34
36
  The set of arguments for constructing a SecurityPolicyRule resource.
35
37
  :param pulumi.Input[str] action: The Action to perform when the rule is matched. The following are the valid actions:
@@ -46,6 +48,8 @@ class SecurityPolicyRuleInitArgs:
46
48
 
47
49
  - - -
48
50
  :param pulumi.Input[str] description: An optional description of this resource. Provide this property when you create the resource.
51
+ :param pulumi.Input['SecurityPolicyRuleHeaderActionArgs'] header_action: Optional, additional actions that are performed on headers. This field is only supported in Global Security Policies of type CLOUD_ARMOR.
52
+ Structure is documented below.
49
53
  :param pulumi.Input['SecurityPolicyRuleMatchArgs'] match: A match condition that incoming traffic is evaluated against.
50
54
  If it evaluates to true, the corresponding 'action' is enforced.
51
55
  Structure is documented below.
@@ -57,12 +61,16 @@ class SecurityPolicyRuleInitArgs:
57
61
  If it is not provided, the provider project is used.
58
62
  :param pulumi.Input['SecurityPolicyRuleRateLimitOptionsArgs'] rate_limit_options: Must be specified if the action is "rate_based_ban" or "throttle". Cannot be specified for any other actions.
59
63
  Structure is documented below.
64
+ :param pulumi.Input['SecurityPolicyRuleRedirectOptionsArgs'] redirect_options: Parameters defining the redirect action. Cannot be specified for any other actions. This field is only supported in Global Security Policies of type CLOUD_ARMOR.
65
+ Structure is documented below.
60
66
  """
61
67
  pulumi.set(__self__, "action", action)
62
68
  pulumi.set(__self__, "priority", priority)
63
69
  pulumi.set(__self__, "security_policy", security_policy)
64
70
  if description is not None:
65
71
  pulumi.set(__self__, "description", description)
72
+ if header_action is not None:
73
+ pulumi.set(__self__, "header_action", header_action)
66
74
  if match is not None:
67
75
  pulumi.set(__self__, "match", match)
68
76
  if preconfigured_waf_config is not None:
@@ -73,6 +81,8 @@ class SecurityPolicyRuleInitArgs:
73
81
  pulumi.set(__self__, "project", project)
74
82
  if rate_limit_options is not None:
75
83
  pulumi.set(__self__, "rate_limit_options", rate_limit_options)
84
+ if redirect_options is not None:
85
+ pulumi.set(__self__, "redirect_options", redirect_options)
76
86
 
77
87
  @property
78
88
  @pulumi.getter
@@ -132,6 +142,19 @@ class SecurityPolicyRuleInitArgs:
132
142
  def description(self, value: Optional[pulumi.Input[str]]):
133
143
  pulumi.set(self, "description", value)
134
144
 
145
+ @property
146
+ @pulumi.getter(name="headerAction")
147
+ def header_action(self) -> Optional[pulumi.Input['SecurityPolicyRuleHeaderActionArgs']]:
148
+ """
149
+ Optional, additional actions that are performed on headers. This field is only supported in Global Security Policies of type CLOUD_ARMOR.
150
+ Structure is documented below.
151
+ """
152
+ return pulumi.get(self, "header_action")
153
+
154
+ @header_action.setter
155
+ def header_action(self, value: Optional[pulumi.Input['SecurityPolicyRuleHeaderActionArgs']]):
156
+ pulumi.set(self, "header_action", value)
157
+
135
158
  @property
136
159
  @pulumi.getter
137
160
  def match(self) -> Optional[pulumi.Input['SecurityPolicyRuleMatchArgs']]:
@@ -198,18 +221,33 @@ class SecurityPolicyRuleInitArgs:
198
221
  def rate_limit_options(self, value: Optional[pulumi.Input['SecurityPolicyRuleRateLimitOptionsArgs']]):
199
222
  pulumi.set(self, "rate_limit_options", value)
200
223
 
224
+ @property
225
+ @pulumi.getter(name="redirectOptions")
226
+ def redirect_options(self) -> Optional[pulumi.Input['SecurityPolicyRuleRedirectOptionsArgs']]:
227
+ """
228
+ Parameters defining the redirect action. Cannot be specified for any other actions. This field is only supported in Global Security Policies of type CLOUD_ARMOR.
229
+ Structure is documented below.
230
+ """
231
+ return pulumi.get(self, "redirect_options")
232
+
233
+ @redirect_options.setter
234
+ def redirect_options(self, value: Optional[pulumi.Input['SecurityPolicyRuleRedirectOptionsArgs']]):
235
+ pulumi.set(self, "redirect_options", value)
236
+
201
237
 
202
238
  @pulumi.input_type
203
239
  class _SecurityPolicyRuleState:
204
240
  def __init__(__self__, *,
205
241
  action: Optional[pulumi.Input[str]] = None,
206
242
  description: Optional[pulumi.Input[str]] = None,
243
+ header_action: Optional[pulumi.Input['SecurityPolicyRuleHeaderActionArgs']] = None,
207
244
  match: Optional[pulumi.Input['SecurityPolicyRuleMatchArgs']] = None,
208
245
  preconfigured_waf_config: Optional[pulumi.Input['SecurityPolicyRulePreconfiguredWafConfigArgs']] = None,
209
246
  preview: Optional[pulumi.Input[bool]] = None,
210
247
  priority: Optional[pulumi.Input[int]] = None,
211
248
  project: Optional[pulumi.Input[str]] = None,
212
249
  rate_limit_options: Optional[pulumi.Input['SecurityPolicyRuleRateLimitOptionsArgs']] = None,
250
+ redirect_options: Optional[pulumi.Input['SecurityPolicyRuleRedirectOptionsArgs']] = None,
213
251
  security_policy: Optional[pulumi.Input[str]] = None):
214
252
  """
215
253
  Input properties used for looking up and filtering SecurityPolicyRule resources.
@@ -220,6 +258,8 @@ class _SecurityPolicyRuleState:
220
258
  * redirect: redirect to a different target. This can either be an internal reCAPTCHA redirect, or an external URL-based redirect via a 302 response. Parameters for this action can be configured via redirectOptions. This action is only supported in Global Security Policies of type CLOUD_ARMOR.
221
259
  * throttle: limit client traffic to the configured threshold. Configure parameters for this action in rateLimitOptions. Requires rateLimitOptions to be set for this.
222
260
  :param pulumi.Input[str] description: An optional description of this resource. Provide this property when you create the resource.
261
+ :param pulumi.Input['SecurityPolicyRuleHeaderActionArgs'] header_action: Optional, additional actions that are performed on headers. This field is only supported in Global Security Policies of type CLOUD_ARMOR.
262
+ Structure is documented below.
223
263
  :param pulumi.Input['SecurityPolicyRuleMatchArgs'] match: A match condition that incoming traffic is evaluated against.
224
264
  If it evaluates to true, the corresponding 'action' is enforced.
225
265
  Structure is documented below.
@@ -234,6 +274,8 @@ class _SecurityPolicyRuleState:
234
274
  If it is not provided, the provider project is used.
235
275
  :param pulumi.Input['SecurityPolicyRuleRateLimitOptionsArgs'] rate_limit_options: Must be specified if the action is "rate_based_ban" or "throttle". Cannot be specified for any other actions.
236
276
  Structure is documented below.
277
+ :param pulumi.Input['SecurityPolicyRuleRedirectOptionsArgs'] redirect_options: Parameters defining the redirect action. Cannot be specified for any other actions. This field is only supported in Global Security Policies of type CLOUD_ARMOR.
278
+ Structure is documented below.
237
279
  :param pulumi.Input[str] security_policy: The name of the security policy this rule belongs to.
238
280
 
239
281
 
@@ -243,6 +285,8 @@ class _SecurityPolicyRuleState:
243
285
  pulumi.set(__self__, "action", action)
244
286
  if description is not None:
245
287
  pulumi.set(__self__, "description", description)
288
+ if header_action is not None:
289
+ pulumi.set(__self__, "header_action", header_action)
246
290
  if match is not None:
247
291
  pulumi.set(__self__, "match", match)
248
292
  if preconfigured_waf_config is not None:
@@ -255,6 +299,8 @@ class _SecurityPolicyRuleState:
255
299
  pulumi.set(__self__, "project", project)
256
300
  if rate_limit_options is not None:
257
301
  pulumi.set(__self__, "rate_limit_options", rate_limit_options)
302
+ if redirect_options is not None:
303
+ pulumi.set(__self__, "redirect_options", redirect_options)
258
304
  if security_policy is not None:
259
305
  pulumi.set(__self__, "security_policy", security_policy)
260
306
 
@@ -287,6 +333,19 @@ class _SecurityPolicyRuleState:
287
333
  def description(self, value: Optional[pulumi.Input[str]]):
288
334
  pulumi.set(self, "description", value)
289
335
 
336
+ @property
337
+ @pulumi.getter(name="headerAction")
338
+ def header_action(self) -> Optional[pulumi.Input['SecurityPolicyRuleHeaderActionArgs']]:
339
+ """
340
+ Optional, additional actions that are performed on headers. This field is only supported in Global Security Policies of type CLOUD_ARMOR.
341
+ Structure is documented below.
342
+ """
343
+ return pulumi.get(self, "header_action")
344
+
345
+ @header_action.setter
346
+ def header_action(self, value: Optional[pulumi.Input['SecurityPolicyRuleHeaderActionArgs']]):
347
+ pulumi.set(self, "header_action", value)
348
+
290
349
  @property
291
350
  @pulumi.getter
292
351
  def match(self) -> Optional[pulumi.Input['SecurityPolicyRuleMatchArgs']]:
@@ -367,6 +426,19 @@ class _SecurityPolicyRuleState:
367
426
  def rate_limit_options(self, value: Optional[pulumi.Input['SecurityPolicyRuleRateLimitOptionsArgs']]):
368
427
  pulumi.set(self, "rate_limit_options", value)
369
428
 
429
+ @property
430
+ @pulumi.getter(name="redirectOptions")
431
+ def redirect_options(self) -> Optional[pulumi.Input['SecurityPolicyRuleRedirectOptionsArgs']]:
432
+ """
433
+ Parameters defining the redirect action. Cannot be specified for any other actions. This field is only supported in Global Security Policies of type CLOUD_ARMOR.
434
+ Structure is documented below.
435
+ """
436
+ return pulumi.get(self, "redirect_options")
437
+
438
+ @redirect_options.setter
439
+ def redirect_options(self, value: Optional[pulumi.Input['SecurityPolicyRuleRedirectOptionsArgs']]):
440
+ pulumi.set(self, "redirect_options", value)
441
+
370
442
  @property
371
443
  @pulumi.getter(name="securityPolicy")
372
444
  def security_policy(self) -> Optional[pulumi.Input[str]]:
@@ -390,12 +462,14 @@ class SecurityPolicyRule(pulumi.CustomResource):
390
462
  opts: Optional[pulumi.ResourceOptions] = None,
391
463
  action: Optional[pulumi.Input[str]] = None,
392
464
  description: Optional[pulumi.Input[str]] = None,
465
+ header_action: Optional[pulumi.Input[Union['SecurityPolicyRuleHeaderActionArgs', 'SecurityPolicyRuleHeaderActionArgsDict']]] = None,
393
466
  match: Optional[pulumi.Input[Union['SecurityPolicyRuleMatchArgs', 'SecurityPolicyRuleMatchArgsDict']]] = None,
394
467
  preconfigured_waf_config: Optional[pulumi.Input[Union['SecurityPolicyRulePreconfiguredWafConfigArgs', 'SecurityPolicyRulePreconfiguredWafConfigArgsDict']]] = None,
395
468
  preview: Optional[pulumi.Input[bool]] = None,
396
469
  priority: Optional[pulumi.Input[int]] = None,
397
470
  project: Optional[pulumi.Input[str]] = None,
398
471
  rate_limit_options: Optional[pulumi.Input[Union['SecurityPolicyRuleRateLimitOptionsArgs', 'SecurityPolicyRuleRateLimitOptionsArgsDict']]] = None,
472
+ redirect_options: Optional[pulumi.Input[Union['SecurityPolicyRuleRedirectOptionsArgs', 'SecurityPolicyRuleRedirectOptionsArgsDict']]] = None,
399
473
  security_policy: Optional[pulumi.Input[str]] = None,
400
474
  __props__=None):
401
475
  """
@@ -442,15 +516,10 @@ class SecurityPolicyRule(pulumi.CustomResource):
442
516
  name="policyruletest",
443
517
  description="basic global security policy",
444
518
  type="CLOUD_ARMOR")
445
- # A default rule is generated when creating the security_policy resource, import is needed to patch it
446
- # import {
447
- # id = "projects//global/securityPolicies/policyruletest/priority/2147483647"
448
- # to = google_compute_security_policy_rule.default_rule
449
- # }
450
519
  default_rule = gcp.compute.SecurityPolicyRule("default_rule",
451
520
  security_policy=default.name,
452
521
  description="default rule",
453
- action="allow",
522
+ action="deny",
454
523
  priority=2147483647,
455
524
  match={
456
525
  "versioned_expr": "SRC_IPS_V1",
@@ -543,6 +612,8 @@ class SecurityPolicyRule(pulumi.CustomResource):
543
612
  * redirect: redirect to a different target. This can either be an internal reCAPTCHA redirect, or an external URL-based redirect via a 302 response. Parameters for this action can be configured via redirectOptions. This action is only supported in Global Security Policies of type CLOUD_ARMOR.
544
613
  * throttle: limit client traffic to the configured threshold. Configure parameters for this action in rateLimitOptions. Requires rateLimitOptions to be set for this.
545
614
  :param pulumi.Input[str] description: An optional description of this resource. Provide this property when you create the resource.
615
+ :param pulumi.Input[Union['SecurityPolicyRuleHeaderActionArgs', 'SecurityPolicyRuleHeaderActionArgsDict']] header_action: Optional, additional actions that are performed on headers. This field is only supported in Global Security Policies of type CLOUD_ARMOR.
616
+ Structure is documented below.
546
617
  :param pulumi.Input[Union['SecurityPolicyRuleMatchArgs', 'SecurityPolicyRuleMatchArgsDict']] match: A match condition that incoming traffic is evaluated against.
547
618
  If it evaluates to true, the corresponding 'action' is enforced.
548
619
  Structure is documented below.
@@ -557,6 +628,8 @@ class SecurityPolicyRule(pulumi.CustomResource):
557
628
  If it is not provided, the provider project is used.
558
629
  :param pulumi.Input[Union['SecurityPolicyRuleRateLimitOptionsArgs', 'SecurityPolicyRuleRateLimitOptionsArgsDict']] rate_limit_options: Must be specified if the action is "rate_based_ban" or "throttle". Cannot be specified for any other actions.
559
630
  Structure is documented below.
631
+ :param pulumi.Input[Union['SecurityPolicyRuleRedirectOptionsArgs', 'SecurityPolicyRuleRedirectOptionsArgsDict']] redirect_options: Parameters defining the redirect action. Cannot be specified for any other actions. This field is only supported in Global Security Policies of type CLOUD_ARMOR.
632
+ Structure is documented below.
560
633
  :param pulumi.Input[str] security_policy: The name of the security policy this rule belongs to.
561
634
 
562
635
 
@@ -612,15 +685,10 @@ class SecurityPolicyRule(pulumi.CustomResource):
612
685
  name="policyruletest",
613
686
  description="basic global security policy",
614
687
  type="CLOUD_ARMOR")
615
- # A default rule is generated when creating the security_policy resource, import is needed to patch it
616
- # import {
617
- # id = "projects//global/securityPolicies/policyruletest/priority/2147483647"
618
- # to = google_compute_security_policy_rule.default_rule
619
- # }
620
688
  default_rule = gcp.compute.SecurityPolicyRule("default_rule",
621
689
  security_policy=default.name,
622
690
  description="default rule",
623
- action="allow",
691
+ action="deny",
624
692
  priority=2147483647,
625
693
  match={
626
694
  "versioned_expr": "SRC_IPS_V1",
@@ -721,12 +789,14 @@ class SecurityPolicyRule(pulumi.CustomResource):
721
789
  opts: Optional[pulumi.ResourceOptions] = None,
722
790
  action: Optional[pulumi.Input[str]] = None,
723
791
  description: Optional[pulumi.Input[str]] = None,
792
+ header_action: Optional[pulumi.Input[Union['SecurityPolicyRuleHeaderActionArgs', 'SecurityPolicyRuleHeaderActionArgsDict']]] = None,
724
793
  match: Optional[pulumi.Input[Union['SecurityPolicyRuleMatchArgs', 'SecurityPolicyRuleMatchArgsDict']]] = None,
725
794
  preconfigured_waf_config: Optional[pulumi.Input[Union['SecurityPolicyRulePreconfiguredWafConfigArgs', 'SecurityPolicyRulePreconfiguredWafConfigArgsDict']]] = None,
726
795
  preview: Optional[pulumi.Input[bool]] = None,
727
796
  priority: Optional[pulumi.Input[int]] = None,
728
797
  project: Optional[pulumi.Input[str]] = None,
729
798
  rate_limit_options: Optional[pulumi.Input[Union['SecurityPolicyRuleRateLimitOptionsArgs', 'SecurityPolicyRuleRateLimitOptionsArgsDict']]] = None,
799
+ redirect_options: Optional[pulumi.Input[Union['SecurityPolicyRuleRedirectOptionsArgs', 'SecurityPolicyRuleRedirectOptionsArgsDict']]] = None,
730
800
  security_policy: Optional[pulumi.Input[str]] = None,
731
801
  __props__=None):
732
802
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
@@ -741,6 +811,7 @@ class SecurityPolicyRule(pulumi.CustomResource):
741
811
  raise TypeError("Missing required property 'action'")
742
812
  __props__.__dict__["action"] = action
743
813
  __props__.__dict__["description"] = description
814
+ __props__.__dict__["header_action"] = header_action
744
815
  __props__.__dict__["match"] = match
745
816
  __props__.__dict__["preconfigured_waf_config"] = preconfigured_waf_config
746
817
  __props__.__dict__["preview"] = preview
@@ -749,6 +820,7 @@ class SecurityPolicyRule(pulumi.CustomResource):
749
820
  __props__.__dict__["priority"] = priority
750
821
  __props__.__dict__["project"] = project
751
822
  __props__.__dict__["rate_limit_options"] = rate_limit_options
823
+ __props__.__dict__["redirect_options"] = redirect_options
752
824
  if security_policy is None and not opts.urn:
753
825
  raise TypeError("Missing required property 'security_policy'")
754
826
  __props__.__dict__["security_policy"] = security_policy
@@ -764,12 +836,14 @@ class SecurityPolicyRule(pulumi.CustomResource):
764
836
  opts: Optional[pulumi.ResourceOptions] = None,
765
837
  action: Optional[pulumi.Input[str]] = None,
766
838
  description: Optional[pulumi.Input[str]] = None,
839
+ header_action: Optional[pulumi.Input[Union['SecurityPolicyRuleHeaderActionArgs', 'SecurityPolicyRuleHeaderActionArgsDict']]] = None,
767
840
  match: Optional[pulumi.Input[Union['SecurityPolicyRuleMatchArgs', 'SecurityPolicyRuleMatchArgsDict']]] = None,
768
841
  preconfigured_waf_config: Optional[pulumi.Input[Union['SecurityPolicyRulePreconfiguredWafConfigArgs', 'SecurityPolicyRulePreconfiguredWafConfigArgsDict']]] = None,
769
842
  preview: Optional[pulumi.Input[bool]] = None,
770
843
  priority: Optional[pulumi.Input[int]] = None,
771
844
  project: Optional[pulumi.Input[str]] = None,
772
845
  rate_limit_options: Optional[pulumi.Input[Union['SecurityPolicyRuleRateLimitOptionsArgs', 'SecurityPolicyRuleRateLimitOptionsArgsDict']]] = None,
846
+ redirect_options: Optional[pulumi.Input[Union['SecurityPolicyRuleRedirectOptionsArgs', 'SecurityPolicyRuleRedirectOptionsArgsDict']]] = None,
773
847
  security_policy: Optional[pulumi.Input[str]] = None) -> 'SecurityPolicyRule':
774
848
  """
775
849
  Get an existing SecurityPolicyRule resource's state with the given name, id, and optional extra
@@ -785,6 +859,8 @@ class SecurityPolicyRule(pulumi.CustomResource):
785
859
  * redirect: redirect to a different target. This can either be an internal reCAPTCHA redirect, or an external URL-based redirect via a 302 response. Parameters for this action can be configured via redirectOptions. This action is only supported in Global Security Policies of type CLOUD_ARMOR.
786
860
  * throttle: limit client traffic to the configured threshold. Configure parameters for this action in rateLimitOptions. Requires rateLimitOptions to be set for this.
787
861
  :param pulumi.Input[str] description: An optional description of this resource. Provide this property when you create the resource.
862
+ :param pulumi.Input[Union['SecurityPolicyRuleHeaderActionArgs', 'SecurityPolicyRuleHeaderActionArgsDict']] header_action: Optional, additional actions that are performed on headers. This field is only supported in Global Security Policies of type CLOUD_ARMOR.
863
+ Structure is documented below.
788
864
  :param pulumi.Input[Union['SecurityPolicyRuleMatchArgs', 'SecurityPolicyRuleMatchArgsDict']] match: A match condition that incoming traffic is evaluated against.
789
865
  If it evaluates to true, the corresponding 'action' is enforced.
790
866
  Structure is documented below.
@@ -799,6 +875,8 @@ class SecurityPolicyRule(pulumi.CustomResource):
799
875
  If it is not provided, the provider project is used.
800
876
  :param pulumi.Input[Union['SecurityPolicyRuleRateLimitOptionsArgs', 'SecurityPolicyRuleRateLimitOptionsArgsDict']] rate_limit_options: Must be specified if the action is "rate_based_ban" or "throttle". Cannot be specified for any other actions.
801
877
  Structure is documented below.
878
+ :param pulumi.Input[Union['SecurityPolicyRuleRedirectOptionsArgs', 'SecurityPolicyRuleRedirectOptionsArgsDict']] redirect_options: Parameters defining the redirect action. Cannot be specified for any other actions. This field is only supported in Global Security Policies of type CLOUD_ARMOR.
879
+ Structure is documented below.
802
880
  :param pulumi.Input[str] security_policy: The name of the security policy this rule belongs to.
803
881
 
804
882
 
@@ -810,12 +888,14 @@ class SecurityPolicyRule(pulumi.CustomResource):
810
888
 
811
889
  __props__.__dict__["action"] = action
812
890
  __props__.__dict__["description"] = description
891
+ __props__.__dict__["header_action"] = header_action
813
892
  __props__.__dict__["match"] = match
814
893
  __props__.__dict__["preconfigured_waf_config"] = preconfigured_waf_config
815
894
  __props__.__dict__["preview"] = preview
816
895
  __props__.__dict__["priority"] = priority
817
896
  __props__.__dict__["project"] = project
818
897
  __props__.__dict__["rate_limit_options"] = rate_limit_options
898
+ __props__.__dict__["redirect_options"] = redirect_options
819
899
  __props__.__dict__["security_policy"] = security_policy
820
900
  return SecurityPolicyRule(resource_name, opts=opts, __props__=__props__)
821
901
 
@@ -840,6 +920,15 @@ class SecurityPolicyRule(pulumi.CustomResource):
840
920
  """
841
921
  return pulumi.get(self, "description")
842
922
 
923
+ @property
924
+ @pulumi.getter(name="headerAction")
925
+ def header_action(self) -> pulumi.Output[Optional['outputs.SecurityPolicyRuleHeaderAction']]:
926
+ """
927
+ Optional, additional actions that are performed on headers. This field is only supported in Global Security Policies of type CLOUD_ARMOR.
928
+ Structure is documented below.
929
+ """
930
+ return pulumi.get(self, "header_action")
931
+
843
932
  @property
844
933
  @pulumi.getter
845
934
  def match(self) -> pulumi.Output[Optional['outputs.SecurityPolicyRuleMatch']]:
@@ -896,6 +985,15 @@ class SecurityPolicyRule(pulumi.CustomResource):
896
985
  """
897
986
  return pulumi.get(self, "rate_limit_options")
898
987
 
988
+ @property
989
+ @pulumi.getter(name="redirectOptions")
990
+ def redirect_options(self) -> pulumi.Output[Optional['outputs.SecurityPolicyRuleRedirectOptions']]:
991
+ """
992
+ Parameters defining the redirect action. Cannot be specified for any other actions. This field is only supported in Global Security Policies of type CLOUD_ARMOR.
993
+ Structure is documented below.
994
+ """
995
+ return pulumi.get(self, "redirect_options")
996
+
899
997
  @property
900
998
  @pulumi.getter(name="securityPolicy")
901
999
  def security_policy(self) -> pulumi.Output[str]:
@@ -413,7 +413,7 @@ class SnapshotIamBinding(pulumi.CustomResource):
413
413
  $ pulumi import gcp:compute/snapshotIamBinding:SnapshotIamBinding editor projects/{{project}}/global/snapshots/{{snapshot}}
414
414
  ```
415
415
 
416
- -> **Custom Roles**: If you're importing a IAM resource with a custom role, make sure to use the
416
+ -> **Custom Roles** If you're importing a IAM resource with a custom role, make sure to use the
417
417
 
418
418
  full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.
419
419
 
@@ -593,7 +593,7 @@ class SnapshotIamBinding(pulumi.CustomResource):
593
593
  $ pulumi import gcp:compute/snapshotIamBinding:SnapshotIamBinding editor projects/{{project}}/global/snapshots/{{snapshot}}
594
594
  ```
595
595
 
596
- -> **Custom Roles**: If you're importing a IAM resource with a custom role, make sure to use the
596
+ -> **Custom Roles** If you're importing a IAM resource with a custom role, make sure to use the
597
597
 
598
598
  full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.
599
599
 
@@ -413,7 +413,7 @@ class SnapshotIamMember(pulumi.CustomResource):
413
413
  $ pulumi import gcp:compute/snapshotIamMember:SnapshotIamMember editor projects/{{project}}/global/snapshots/{{snapshot}}
414
414
  ```
415
415
 
416
- -> **Custom Roles**: If you're importing a IAM resource with a custom role, make sure to use the
416
+ -> **Custom Roles** If you're importing a IAM resource with a custom role, make sure to use the
417
417
 
418
418
  full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.
419
419
 
@@ -593,7 +593,7 @@ class SnapshotIamMember(pulumi.CustomResource):
593
593
  $ pulumi import gcp:compute/snapshotIamMember:SnapshotIamMember editor projects/{{project}}/global/snapshots/{{snapshot}}
594
594
  ```
595
595
 
596
- -> **Custom Roles**: If you're importing a IAM resource with a custom role, make sure to use the
596
+ -> **Custom Roles** If you're importing a IAM resource with a custom role, make sure to use the
597
597
 
598
598
  full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.
599
599
 
@@ -310,7 +310,7 @@ class SnapshotIamPolicy(pulumi.CustomResource):
310
310
  $ pulumi import gcp:compute/snapshotIamPolicy:SnapshotIamPolicy editor projects/{{project}}/global/snapshots/{{snapshot}}
311
311
  ```
312
312
 
313
- -> **Custom Roles**: If you're importing a IAM resource with a custom role, make sure to use the
313
+ -> **Custom Roles** If you're importing a IAM resource with a custom role, make sure to use the
314
314
 
315
315
  full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.
316
316
 
@@ -478,7 +478,7 @@ class SnapshotIamPolicy(pulumi.CustomResource):
478
478
  $ pulumi import gcp:compute/snapshotIamPolicy:SnapshotIamPolicy editor projects/{{project}}/global/snapshots/{{snapshot}}
479
479
  ```
480
480
 
481
- -> **Custom Roles**: If you're importing a IAM resource with a custom role, make sure to use the
481
+ -> **Custom Roles** If you're importing a IAM resource with a custom role, make sure to use the
482
482
 
483
483
  full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.
484
484
 
@@ -597,7 +597,7 @@ class SubnetworkIAMBinding(pulumi.CustomResource):
597
597
  $ pulumi import gcp:compute/subnetworkIAMBinding:SubnetworkIAMBinding editor projects/{{project}}/regions/{{region}}/subnetworks/{{subnetwork}}
598
598
  ```
599
599
 
600
- -> **Custom Roles**: If you're importing a IAM resource with a custom role, make sure to use the
600
+ -> **Custom Roles** If you're importing a IAM resource with a custom role, make sure to use the
601
601
 
602
602
  full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.
603
603
 
@@ -911,7 +911,7 @@ class SubnetworkIAMBinding(pulumi.CustomResource):
911
911
  $ pulumi import gcp:compute/subnetworkIAMBinding:SubnetworkIAMBinding editor projects/{{project}}/regions/{{region}}/subnetworks/{{subnetwork}}
912
912
  ```
913
913
 
914
- -> **Custom Roles**: If you're importing a IAM resource with a custom role, make sure to use the
914
+ -> **Custom Roles** If you're importing a IAM resource with a custom role, make sure to use the
915
915
 
916
916
  full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.
917
917
 
@@ -597,7 +597,7 @@ class SubnetworkIAMMember(pulumi.CustomResource):
597
597
  $ pulumi import gcp:compute/subnetworkIAMMember:SubnetworkIAMMember editor projects/{{project}}/regions/{{region}}/subnetworks/{{subnetwork}}
598
598
  ```
599
599
 
600
- -> **Custom Roles**: If you're importing a IAM resource with a custom role, make sure to use the
600
+ -> **Custom Roles** If you're importing a IAM resource with a custom role, make sure to use the
601
601
 
602
602
  full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.
603
603
 
@@ -911,7 +911,7 @@ class SubnetworkIAMMember(pulumi.CustomResource):
911
911
  $ pulumi import gcp:compute/subnetworkIAMMember:SubnetworkIAMMember editor projects/{{project}}/regions/{{region}}/subnetworks/{{subnetwork}}
912
912
  ```
913
913
 
914
- -> **Custom Roles**: If you're importing a IAM resource with a custom role, make sure to use the
914
+ -> **Custom Roles** If you're importing a IAM resource with a custom role, make sure to use the
915
915
 
916
916
  full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.
917
917
 
@@ -482,7 +482,7 @@ class SubnetworkIAMPolicy(pulumi.CustomResource):
482
482
  $ pulumi import gcp:compute/subnetworkIAMPolicy:SubnetworkIAMPolicy editor projects/{{project}}/regions/{{region}}/subnetworks/{{subnetwork}}
483
483
  ```
484
484
 
485
- -> **Custom Roles**: If you're importing a IAM resource with a custom role, make sure to use the
485
+ -> **Custom Roles** If you're importing a IAM resource with a custom role, make sure to use the
486
486
 
487
487
  full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.
488
488
 
@@ -782,7 +782,7 @@ class SubnetworkIAMPolicy(pulumi.CustomResource):
782
782
  $ pulumi import gcp:compute/subnetworkIAMPolicy:SubnetworkIAMPolicy editor projects/{{project}}/regions/{{region}}/subnetworks/{{subnetwork}}
783
783
  ```
784
784
 
785
- -> **Custom Roles**: If you're importing a IAM resource with a custom role, make sure to use the
785
+ -> **Custom Roles** If you're importing a IAM resource with a custom role, make sure to use the
786
786
 
787
787
  full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.
788
788
 
@@ -1220,7 +1220,7 @@ class URLMap(pulumi.CustomResource):
1220
1220
  default_custom_error_response_policy={
1221
1221
  "error_response_rules": [{
1222
1222
  "match_response_codes": ["5xx"],
1223
- "path": "/*",
1223
+ "path": "/internal_error.html",
1224
1224
  "override_response_code": 502,
1225
1225
  }],
1226
1226
  "error_service": error.id,
@@ -1239,24 +1239,24 @@ class URLMap(pulumi.CustomResource):
1239
1239
  "4xx",
1240
1240
  "5xx",
1241
1241
  ],
1242
- "path": "/login",
1242
+ "path": "/login_error.html",
1243
1243
  "override_response_code": 404,
1244
1244
  },
1245
1245
  {
1246
1246
  "match_response_codes": ["503"],
1247
- "path": "/example",
1247
+ "path": "/bad_gateway.html",
1248
1248
  "override_response_code": 502,
1249
1249
  },
1250
1250
  ],
1251
1251
  "error_service": error.id,
1252
1252
  },
1253
1253
  "path_rules": [{
1254
- "paths": ["/*"],
1254
+ "paths": ["/private/*"],
1255
1255
  "service": example.id,
1256
1256
  "custom_error_response_policy": {
1257
1257
  "error_response_rules": [{
1258
1258
  "match_response_codes": ["4xx"],
1259
- "path": "/register",
1259
+ "path": "/login.html",
1260
1260
  "override_response_code": 401,
1261
1261
  }],
1262
1262
  "error_service": error.id,
@@ -1958,7 +1958,7 @@ class URLMap(pulumi.CustomResource):
1958
1958
  default_custom_error_response_policy={
1959
1959
  "error_response_rules": [{
1960
1960
  "match_response_codes": ["5xx"],
1961
- "path": "/*",
1961
+ "path": "/internal_error.html",
1962
1962
  "override_response_code": 502,
1963
1963
  }],
1964
1964
  "error_service": error.id,
@@ -1977,24 +1977,24 @@ class URLMap(pulumi.CustomResource):
1977
1977
  "4xx",
1978
1978
  "5xx",
1979
1979
  ],
1980
- "path": "/login",
1980
+ "path": "/login_error.html",
1981
1981
  "override_response_code": 404,
1982
1982
  },
1983
1983
  {
1984
1984
  "match_response_codes": ["503"],
1985
- "path": "/example",
1985
+ "path": "/bad_gateway.html",
1986
1986
  "override_response_code": 502,
1987
1987
  },
1988
1988
  ],
1989
1989
  "error_service": error.id,
1990
1990
  },
1991
1991
  "path_rules": [{
1992
- "paths": ["/*"],
1992
+ "paths": ["/private/*"],
1993
1993
  "service": example.id,
1994
1994
  "custom_error_response_policy": {
1995
1995
  "error_response_rules": [{
1996
1996
  "match_response_codes": ["4xx"],
1997
- "path": "/register",
1997
+ "path": "/login.html",
1998
1998
  "override_response_code": 401,
1999
1999
  }],
2000
2000
  "error_service": error.id,