pulumi-gcp 7.23.0a1715695885__py3-none-any.whl → 7.24.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 (355) hide show
  1. pulumi_gcp/__init__.py +40 -0
  2. pulumi_gcp/accesscontextmanager/access_policy_iam_binding.py +12 -12
  3. pulumi_gcp/accesscontextmanager/access_policy_iam_member.py +12 -12
  4. pulumi_gcp/accesscontextmanager/access_policy_iam_policy.py +12 -12
  5. pulumi_gcp/apigateway/api_config_iam_binding.py +8 -8
  6. pulumi_gcp/apigateway/api_config_iam_member.py +8 -8
  7. pulumi_gcp/apigateway/api_config_iam_policy.py +8 -8
  8. pulumi_gcp/apigateway/api_iam_binding.py +8 -8
  9. pulumi_gcp/apigateway/api_iam_member.py +8 -8
  10. pulumi_gcp/apigateway/api_iam_policy.py +8 -8
  11. pulumi_gcp/apigateway/gateway_iam_binding.py +8 -8
  12. pulumi_gcp/apigateway/gateway_iam_member.py +8 -8
  13. pulumi_gcp/apigateway/gateway_iam_policy.py +8 -8
  14. pulumi_gcp/apigee/environment_iam_binding.py +12 -12
  15. pulumi_gcp/apigee/environment_iam_member.py +12 -12
  16. pulumi_gcp/apigee/environment_iam_policy.py +12 -12
  17. pulumi_gcp/artifactregistry/repository_iam_binding.py +12 -12
  18. pulumi_gcp/artifactregistry/repository_iam_member.py +12 -12
  19. pulumi_gcp/artifactregistry/repository_iam_policy.py +12 -12
  20. pulumi_gcp/bigquery/_inputs.py +16 -0
  21. pulumi_gcp/bigquery/connection.py +126 -0
  22. pulumi_gcp/bigquery/connection_iam_binding.py +12 -12
  23. pulumi_gcp/bigquery/connection_iam_member.py +12 -12
  24. pulumi_gcp/bigquery/connection_iam_policy.py +12 -12
  25. pulumi_gcp/bigquery/dataset_access.py +56 -0
  26. pulumi_gcp/bigquery/dataset_iam_binding.py +12 -12
  27. pulumi_gcp/bigquery/dataset_iam_member.py +12 -12
  28. pulumi_gcp/bigquery/dataset_iam_policy.py +12 -12
  29. pulumi_gcp/bigquery/iam_binding.py +12 -12
  30. pulumi_gcp/bigquery/iam_member.py +12 -12
  31. pulumi_gcp/bigquery/iam_policy.py +12 -12
  32. pulumi_gcp/bigquery/outputs.py +16 -0
  33. pulumi_gcp/bigquery/routine.py +2 -2
  34. pulumi_gcp/bigquery/table.py +47 -0
  35. pulumi_gcp/bigqueryanalyticshub/data_exchange_iam_binding.py +12 -12
  36. pulumi_gcp/bigqueryanalyticshub/data_exchange_iam_member.py +12 -12
  37. pulumi_gcp/bigqueryanalyticshub/data_exchange_iam_policy.py +12 -12
  38. pulumi_gcp/bigqueryanalyticshub/listing_iam_binding.py +12 -12
  39. pulumi_gcp/bigqueryanalyticshub/listing_iam_member.py +12 -12
  40. pulumi_gcp/bigqueryanalyticshub/listing_iam_policy.py +12 -12
  41. pulumi_gcp/bigquerydatapolicy/data_policy_iam_binding.py +12 -12
  42. pulumi_gcp/bigquerydatapolicy/data_policy_iam_member.py +12 -12
  43. pulumi_gcp/bigquerydatapolicy/data_policy_iam_policy.py +12 -12
  44. pulumi_gcp/bigtable/__init__.py +1 -0
  45. pulumi_gcp/bigtable/_inputs.py +101 -0
  46. pulumi_gcp/bigtable/authorized_view.py +440 -0
  47. pulumi_gcp/bigtable/instance_iam_binding.py +12 -12
  48. pulumi_gcp/bigtable/instance_iam_member.py +12 -12
  49. pulumi_gcp/bigtable/instance_iam_policy.py +12 -12
  50. pulumi_gcp/bigtable/outputs.py +119 -0
  51. pulumi_gcp/bigtable/table_iam_binding.py +12 -12
  52. pulumi_gcp/bigtable/table_iam_member.py +12 -12
  53. pulumi_gcp/bigtable/table_iam_policy.py +12 -12
  54. pulumi_gcp/billing/account_iam_binding.py +12 -12
  55. pulumi_gcp/billing/account_iam_member.py +12 -12
  56. pulumi_gcp/billing/account_iam_policy.py +12 -12
  57. pulumi_gcp/billing/project_info.py +4 -4
  58. pulumi_gcp/binaryauthorization/attestor_iam_binding.py +12 -12
  59. pulumi_gcp/binaryauthorization/attestor_iam_member.py +12 -12
  60. pulumi_gcp/binaryauthorization/attestor_iam_policy.py +12 -12
  61. pulumi_gcp/certificateauthority/ca_pool_iam_binding.py +12 -12
  62. pulumi_gcp/certificateauthority/ca_pool_iam_member.py +12 -12
  63. pulumi_gcp/certificateauthority/ca_pool_iam_policy.py +12 -12
  64. pulumi_gcp/certificateauthority/certificate_template.py +70 -0
  65. pulumi_gcp/certificateauthority/certificate_template_iam_binding.py +12 -12
  66. pulumi_gcp/certificateauthority/certificate_template_iam_member.py +12 -12
  67. pulumi_gcp/certificateauthority/certificate_template_iam_policy.py +12 -12
  68. pulumi_gcp/cloudasset/__init__.py +1 -0
  69. pulumi_gcp/cloudasset/get_search_all_resources.py +197 -0
  70. pulumi_gcp/cloudasset/outputs.py +184 -0
  71. pulumi_gcp/cloudbuildv2/connection_iam_binding.py +12 -12
  72. pulumi_gcp/cloudbuildv2/connection_iam_member.py +12 -12
  73. pulumi_gcp/cloudbuildv2/connection_iam_policy.py +12 -12
  74. pulumi_gcp/cloudbuildv2/repository.py +2 -2
  75. pulumi_gcp/clouddeploy/_inputs.py +96 -0
  76. pulumi_gcp/clouddeploy/custom_target_type.py +46 -0
  77. pulumi_gcp/clouddeploy/delivery_pipeline.py +7 -7
  78. pulumi_gcp/clouddeploy/outputs.py +96 -1
  79. pulumi_gcp/clouddeploy/target.py +54 -7
  80. pulumi_gcp/cloudfunctions/function.py +21 -0
  81. pulumi_gcp/cloudfunctions/function_iam_binding.py +12 -12
  82. pulumi_gcp/cloudfunctions/function_iam_member.py +12 -12
  83. pulumi_gcp/cloudfunctions/function_iam_policy.py +12 -12
  84. pulumi_gcp/cloudfunctionsv2/function_iam_binding.py +12 -12
  85. pulumi_gcp/cloudfunctionsv2/function_iam_member.py +12 -12
  86. pulumi_gcp/cloudfunctionsv2/function_iam_policy.py +12 -12
  87. pulumi_gcp/cloudrun/iam_binding.py +12 -12
  88. pulumi_gcp/cloudrun/iam_member.py +12 -12
  89. pulumi_gcp/cloudrun/iam_policy.py +12 -12
  90. pulumi_gcp/cloudrunv2/job_iam_binding.py +12 -12
  91. pulumi_gcp/cloudrunv2/job_iam_member.py +12 -12
  92. pulumi_gcp/cloudrunv2/job_iam_policy.py +12 -12
  93. pulumi_gcp/cloudrunv2/service_iam_binding.py +12 -12
  94. pulumi_gcp/cloudrunv2/service_iam_member.py +12 -12
  95. pulumi_gcp/cloudrunv2/service_iam_policy.py +12 -12
  96. pulumi_gcp/cloudtasks/queue_iam_binding.py +12 -12
  97. pulumi_gcp/cloudtasks/queue_iam_member.py +12 -12
  98. pulumi_gcp/cloudtasks/queue_iam_policy.py +12 -12
  99. pulumi_gcp/compute/__init__.py +1 -0
  100. pulumi_gcp/compute/_inputs.py +1412 -42
  101. pulumi_gcp/compute/backend_service.py +315 -0
  102. pulumi_gcp/compute/disk_iam_binding.py +12 -12
  103. pulumi_gcp/compute/disk_iam_member.py +12 -12
  104. pulumi_gcp/compute/disk_iam_policy.py +12 -12
  105. pulumi_gcp/compute/firewall_policy_rule.py +125 -10
  106. pulumi_gcp/compute/forwarding_rule.py +6 -6
  107. pulumi_gcp/compute/get_network_endpoint_group.py +2 -2
  108. pulumi_gcp/compute/get_region_network_endpoint_group.py +2 -2
  109. pulumi_gcp/compute/get_router_nat.py +11 -1
  110. pulumi_gcp/compute/get_snapshot.py +2 -0
  111. pulumi_gcp/compute/image_iam_binding.py +12 -12
  112. pulumi_gcp/compute/image_iam_member.py +12 -12
  113. pulumi_gcp/compute/image_iam_policy.py +12 -12
  114. pulumi_gcp/compute/instance_iam_binding.py +12 -12
  115. pulumi_gcp/compute/instance_iam_member.py +12 -12
  116. pulumi_gcp/compute/instance_iam_policy.py +12 -12
  117. pulumi_gcp/compute/interconnect.py +1683 -0
  118. pulumi_gcp/compute/machine_image_iam_binding.py +8 -8
  119. pulumi_gcp/compute/machine_image_iam_member.py +8 -8
  120. pulumi_gcp/compute/machine_image_iam_policy.py +8 -8
  121. pulumi_gcp/compute/network_firewall_policy_rule.py +125 -10
  122. pulumi_gcp/compute/outputs.py +1385 -0
  123. pulumi_gcp/compute/region_backend_service.py +315 -0
  124. pulumi_gcp/compute/region_disk_iam_binding.py +12 -12
  125. pulumi_gcp/compute/region_disk_iam_member.py +12 -12
  126. pulumi_gcp/compute/region_disk_iam_policy.py +12 -12
  127. pulumi_gcp/compute/region_network_firewall_policy_rule.py +125 -10
  128. pulumi_gcp/compute/region_security_policy_rule.py +230 -1
  129. pulumi_gcp/compute/router_nat.py +68 -0
  130. pulumi_gcp/compute/router_peer.py +88 -0
  131. pulumi_gcp/compute/security_policy.py +49 -0
  132. pulumi_gcp/compute/snapshot_iam_binding.py +12 -12
  133. pulumi_gcp/compute/snapshot_iam_member.py +12 -12
  134. pulumi_gcp/compute/snapshot_iam_policy.py +12 -12
  135. pulumi_gcp/compute/subnetwork_iam_binding.py +12 -12
  136. pulumi_gcp/compute/subnetwork_iam_member.py +12 -12
  137. pulumi_gcp/compute/subnetwork_iam_policy.py +12 -12
  138. pulumi_gcp/compute/target_instance.py +4 -4
  139. pulumi_gcp/compute/target_pool.py +21 -21
  140. pulumi_gcp/container/_inputs.py +81 -5
  141. pulumi_gcp/container/outputs.py +109 -8
  142. pulumi_gcp/containeranalysis/note_iam_binding.py +12 -12
  143. pulumi_gcp/containeranalysis/note_iam_member.py +12 -12
  144. pulumi_gcp/containeranalysis/note_iam_policy.py +12 -12
  145. pulumi_gcp/databasemigrationservice/connection_profile.py +6 -6
  146. pulumi_gcp/datacatalog/entry_group_iam_binding.py +12 -12
  147. pulumi_gcp/datacatalog/entry_group_iam_member.py +12 -12
  148. pulumi_gcp/datacatalog/entry_group_iam_policy.py +12 -12
  149. pulumi_gcp/datacatalog/policy_tag_iam_binding.py +12 -12
  150. pulumi_gcp/datacatalog/policy_tag_iam_member.py +12 -12
  151. pulumi_gcp/datacatalog/policy_tag_iam_policy.py +12 -12
  152. pulumi_gcp/datacatalog/tag_template_iam_binding.py +12 -12
  153. pulumi_gcp/datacatalog/tag_template_iam_member.py +12 -12
  154. pulumi_gcp/datacatalog/tag_template_iam_policy.py +12 -12
  155. pulumi_gcp/datacatalog/taxonomy_iam_binding.py +12 -12
  156. pulumi_gcp/datacatalog/taxonomy_iam_member.py +12 -12
  157. pulumi_gcp/datacatalog/taxonomy_iam_policy.py +12 -12
  158. pulumi_gcp/dataflow/flex_template_job.py +7 -7
  159. pulumi_gcp/dataflow/job.py +7 -7
  160. pulumi_gcp/dataloss/_inputs.py +420 -13
  161. pulumi_gcp/dataloss/outputs.py +439 -13
  162. pulumi_gcp/dataplex/asset_iam_binding.py +12 -12
  163. pulumi_gcp/dataplex/asset_iam_member.py +12 -12
  164. pulumi_gcp/dataplex/asset_iam_policy.py +12 -12
  165. pulumi_gcp/dataplex/datascan_iam_binding.py +12 -12
  166. pulumi_gcp/dataplex/datascan_iam_member.py +12 -12
  167. pulumi_gcp/dataplex/datascan_iam_policy.py +12 -12
  168. pulumi_gcp/dataplex/lake_iam_binding.py +12 -12
  169. pulumi_gcp/dataplex/lake_iam_member.py +12 -12
  170. pulumi_gcp/dataplex/lake_iam_policy.py +12 -12
  171. pulumi_gcp/dataplex/task.py +16 -16
  172. pulumi_gcp/dataplex/task_iam_binding.py +12 -12
  173. pulumi_gcp/dataplex/task_iam_member.py +12 -12
  174. pulumi_gcp/dataplex/task_iam_policy.py +12 -12
  175. pulumi_gcp/dataplex/zone_iam_binding.py +12 -12
  176. pulumi_gcp/dataplex/zone_iam_member.py +12 -12
  177. pulumi_gcp/dataplex/zone_iam_policy.py +12 -12
  178. pulumi_gcp/dataproc/_inputs.py +190 -46
  179. pulumi_gcp/dataproc/autoscaling_policy_iam_binding.py +12 -12
  180. pulumi_gcp/dataproc/autoscaling_policy_iam_member.py +12 -12
  181. pulumi_gcp/dataproc/autoscaling_policy_iam_policy.py +12 -12
  182. pulumi_gcp/dataproc/cluster_iam_binding.py +12 -12
  183. pulumi_gcp/dataproc/cluster_iam_member.py +12 -12
  184. pulumi_gcp/dataproc/cluster_iam_policy.py +12 -12
  185. pulumi_gcp/dataproc/get_metastore_federation_iam_policy.py +26 -2
  186. pulumi_gcp/dataproc/job_iam_binding.py +12 -12
  187. pulumi_gcp/dataproc/job_iam_member.py +12 -12
  188. pulumi_gcp/dataproc/job_iam_policy.py +12 -12
  189. pulumi_gcp/dataproc/metastore_federation.py +4 -0
  190. pulumi_gcp/dataproc/metastore_federation_iam_binding.py +208 -0
  191. pulumi_gcp/dataproc/metastore_federation_iam_member.py +208 -0
  192. pulumi_gcp/dataproc/metastore_federation_iam_policy.py +208 -0
  193. pulumi_gcp/dataproc/metastore_service_iam_binding.py +12 -12
  194. pulumi_gcp/dataproc/metastore_service_iam_member.py +12 -12
  195. pulumi_gcp/dataproc/metastore_service_iam_policy.py +12 -12
  196. pulumi_gcp/dataproc/outputs.py +182 -46
  197. pulumi_gcp/datastream/_inputs.py +1789 -820
  198. pulumi_gcp/datastream/connection_profile.py +163 -3
  199. pulumi_gcp/datastream/outputs.py +864 -5
  200. pulumi_gcp/datastream/stream.py +174 -0
  201. pulumi_gcp/dns/dns_managed_zone_iam_binding.py +12 -12
  202. pulumi_gcp/dns/dns_managed_zone_iam_member.py +12 -12
  203. pulumi_gcp/dns/dns_managed_zone_iam_policy.py +12 -12
  204. pulumi_gcp/endpoints/service_iam_binding.py +12 -12
  205. pulumi_gcp/endpoints/service_iam_member.py +12 -12
  206. pulumi_gcp/endpoints/service_iam_policy.py +12 -12
  207. pulumi_gcp/firestore/field.py +4 -4
  208. pulumi_gcp/folder/iam_audit_config.py +23 -23
  209. pulumi_gcp/folder/iam_member.py +16 -16
  210. pulumi_gcp/folder/iam_policy.py +16 -16
  211. pulumi_gcp/gkebackup/backup_plan_iam_binding.py +12 -12
  212. pulumi_gcp/gkebackup/backup_plan_iam_member.py +12 -12
  213. pulumi_gcp/gkebackup/backup_plan_iam_policy.py +12 -12
  214. pulumi_gcp/gkehub/feature_iam_binding.py +12 -12
  215. pulumi_gcp/gkehub/feature_iam_member.py +12 -12
  216. pulumi_gcp/gkehub/feature_iam_policy.py +12 -12
  217. pulumi_gcp/gkehub/membership_binding.py +6 -6
  218. pulumi_gcp/gkehub/membership_iam_binding.py +12 -12
  219. pulumi_gcp/gkehub/membership_iam_member.py +12 -12
  220. pulumi_gcp/gkehub/membership_iam_policy.py +12 -12
  221. pulumi_gcp/gkehub/membership_rbac_role_binding.py +4 -4
  222. pulumi_gcp/gkehub/namespace.py +4 -4
  223. pulumi_gcp/gkehub/scope_iam_binding.py +12 -12
  224. pulumi_gcp/gkehub/scope_iam_member.py +12 -12
  225. pulumi_gcp/gkehub/scope_iam_policy.py +12 -12
  226. pulumi_gcp/gkehub/scope_rbac_role_binding.py +4 -4
  227. pulumi_gcp/healthcare/consent_store_iam_binding.py +12 -12
  228. pulumi_gcp/healthcare/consent_store_iam_member.py +12 -12
  229. pulumi_gcp/healthcare/consent_store_iam_policy.py +12 -12
  230. pulumi_gcp/healthcare/dataset_iam_binding.py +12 -12
  231. pulumi_gcp/healthcare/dataset_iam_member.py +12 -12
  232. pulumi_gcp/healthcare/dataset_iam_policy.py +12 -12
  233. pulumi_gcp/healthcare/dicom_store_iam_binding.py +12 -12
  234. pulumi_gcp/healthcare/dicom_store_iam_member.py +12 -12
  235. pulumi_gcp/healthcare/dicom_store_iam_policy.py +12 -12
  236. pulumi_gcp/healthcare/fhir_store_iam_binding.py +12 -12
  237. pulumi_gcp/healthcare/fhir_store_iam_member.py +12 -12
  238. pulumi_gcp/healthcare/fhir_store_iam_policy.py +12 -12
  239. pulumi_gcp/healthcare/hl7_store_iam_binding.py +12 -12
  240. pulumi_gcp/healthcare/hl7_store_iam_member.py +12 -12
  241. pulumi_gcp/healthcare/hl7_store_iam_policy.py +12 -12
  242. pulumi_gcp/iam/_inputs.py +191 -2
  243. pulumi_gcp/iam/outputs.py +197 -2
  244. pulumi_gcp/iam/workforce_pool_provider.py +245 -0
  245. pulumi_gcp/iap/app_engine_service_iam_binding.py +12 -12
  246. pulumi_gcp/iap/app_engine_service_iam_member.py +12 -12
  247. pulumi_gcp/iap/app_engine_service_iam_policy.py +12 -12
  248. pulumi_gcp/iap/app_engine_version_iam_binding.py +12 -12
  249. pulumi_gcp/iap/app_engine_version_iam_member.py +12 -12
  250. pulumi_gcp/iap/app_engine_version_iam_policy.py +12 -12
  251. pulumi_gcp/iap/tunnel_dest_group.py +2 -2
  252. pulumi_gcp/iap/tunnel_dest_group_iam_binding.py +12 -12
  253. pulumi_gcp/iap/tunnel_dest_group_iam_member.py +12 -12
  254. pulumi_gcp/iap/tunnel_dest_group_iam_policy.py +12 -12
  255. pulumi_gcp/iap/tunnel_iam_binding.py +12 -12
  256. pulumi_gcp/iap/tunnel_iam_member.py +12 -12
  257. pulumi_gcp/iap/tunnel_iam_policy.py +12 -12
  258. pulumi_gcp/iap/tunnel_instance_iam_binding.py +12 -12
  259. pulumi_gcp/iap/tunnel_instance_iam_member.py +12 -12
  260. pulumi_gcp/iap/tunnel_instance_iam_policy.py +12 -12
  261. pulumi_gcp/iap/web_backend_service_iam_binding.py +12 -12
  262. pulumi_gcp/iap/web_backend_service_iam_member.py +12 -12
  263. pulumi_gcp/iap/web_backend_service_iam_policy.py +12 -12
  264. pulumi_gcp/iap/web_iam_binding.py +12 -12
  265. pulumi_gcp/iap/web_iam_member.py +12 -12
  266. pulumi_gcp/iap/web_iam_policy.py +12 -12
  267. pulumi_gcp/iap/web_region_backend_service_iam_binding.py +12 -12
  268. pulumi_gcp/iap/web_region_backend_service_iam_member.py +12 -12
  269. pulumi_gcp/iap/web_region_backend_service_iam_policy.py +12 -12
  270. pulumi_gcp/iap/web_type_app_enging_iam_binding.py +12 -12
  271. pulumi_gcp/iap/web_type_app_enging_iam_member.py +12 -12
  272. pulumi_gcp/iap/web_type_app_enging_iam_policy.py +12 -12
  273. pulumi_gcp/iap/web_type_compute_iam_binding.py +12 -12
  274. pulumi_gcp/iap/web_type_compute_iam_member.py +12 -12
  275. pulumi_gcp/iap/web_type_compute_iam_policy.py +12 -12
  276. pulumi_gcp/integrationconnectors/__init__.py +1 -0
  277. pulumi_gcp/integrationconnectors/managed_zone.py +753 -0
  278. pulumi_gcp/kms/key_ring_iam_binding.py +12 -12
  279. pulumi_gcp/kms/key_ring_iam_member.py +12 -12
  280. pulumi_gcp/kms/key_ring_iam_policy.py +12 -12
  281. pulumi_gcp/netapp/storage_pool.py +7 -7
  282. pulumi_gcp/netapp/volume.py +4 -4
  283. pulumi_gcp/networkconnectivity/__init__.py +1 -0
  284. pulumi_gcp/networkconnectivity/regional_endpoint.py +946 -0
  285. pulumi_gcp/networksecurity/firewall_endpoint.py +34 -0
  286. pulumi_gcp/networksecurity/firewall_endpoint_association.py +24 -0
  287. pulumi_gcp/networksecurity/gateway_security_policy.py +4 -4
  288. pulumi_gcp/networksecurity/security_profile.py +16 -0
  289. pulumi_gcp/networksecurity/security_profile_group.py +18 -0
  290. pulumi_gcp/networksecurity/tls_inspection_policy.py +435 -5
  291. pulumi_gcp/networkservices/__init__.py +1 -0
  292. pulumi_gcp/networkservices/_inputs.py +254 -0
  293. pulumi_gcp/networkservices/lb_traffic_extension.py +1181 -0
  294. pulumi_gcp/networkservices/outputs.py +265 -0
  295. pulumi_gcp/notebooks/instance_iam_binding.py +12 -12
  296. pulumi_gcp/notebooks/instance_iam_member.py +12 -12
  297. pulumi_gcp/notebooks/instance_iam_policy.py +12 -12
  298. pulumi_gcp/notebooks/runtime_iam_binding.py +12 -12
  299. pulumi_gcp/notebooks/runtime_iam_member.py +12 -12
  300. pulumi_gcp/notebooks/runtime_iam_policy.py +12 -12
  301. pulumi_gcp/organizations/_inputs.py +10 -0
  302. pulumi_gcp/organizations/iam_member.py +16 -16
  303. pulumi_gcp/organizations/iam_policy.py +16 -16
  304. pulumi_gcp/organizations/outputs.py +10 -0
  305. pulumi_gcp/orgpolicy/policy.py +2 -2
  306. pulumi_gcp/projects/iam_audit_config.py +23 -23
  307. pulumi_gcp/projects/iam_binding.py +23 -23
  308. pulumi_gcp/projects/iam_member.py +23 -23
  309. pulumi_gcp/projects/iam_policy.py +16 -16
  310. pulumi_gcp/projects/service.py +2 -43
  311. pulumi_gcp/pubsub/schema_iam_binding.py +12 -12
  312. pulumi_gcp/pubsub/schema_iam_member.py +12 -12
  313. pulumi_gcp/pubsub/schema_iam_policy.py +12 -12
  314. pulumi_gcp/pubsub/subscription.py +4 -4
  315. pulumi_gcp/pubsub/subscription_iam_binding.py +12 -12
  316. pulumi_gcp/pubsub/subscription_iam_member.py +12 -12
  317. pulumi_gcp/pubsub/subscription_iam_policy.py +12 -12
  318. pulumi_gcp/pubsub/topic_iam_binding.py +12 -12
  319. pulumi_gcp/pubsub/topic_iam_member.py +12 -12
  320. pulumi_gcp/pubsub/topic_iam_policy.py +12 -12
  321. pulumi_gcp/pulumi-plugin.json +1 -1
  322. pulumi_gcp/secretmanager/secret_iam_binding.py +12 -12
  323. pulumi_gcp/secretmanager/secret_iam_member.py +12 -12
  324. pulumi_gcp/secretmanager/secret_iam_policy.py +12 -12
  325. pulumi_gcp/servicedirectory/namespace_iam_binding.py +8 -8
  326. pulumi_gcp/servicedirectory/namespace_iam_member.py +8 -8
  327. pulumi_gcp/servicedirectory/namespace_iam_policy.py +8 -8
  328. pulumi_gcp/servicedirectory/service_iam_binding.py +8 -8
  329. pulumi_gcp/servicedirectory/service_iam_member.py +8 -8
  330. pulumi_gcp/servicedirectory/service_iam_policy.py +8 -8
  331. pulumi_gcp/sourcerepo/repository_iam_binding.py +12 -12
  332. pulumi_gcp/sourcerepo/repository_iam_member.py +12 -12
  333. pulumi_gcp/sourcerepo/repository_iam_policy.py +12 -12
  334. pulumi_gcp/spanner/database_iam_binding.py +12 -12
  335. pulumi_gcp/spanner/database_iam_member.py +12 -12
  336. pulumi_gcp/spanner/database_iam_policy.py +12 -12
  337. pulumi_gcp/spanner/instance_iam_binding.py +12 -12
  338. pulumi_gcp/spanner/instance_iam_member.py +12 -12
  339. pulumi_gcp/spanner/instance_iam_policy.py +12 -12
  340. pulumi_gcp/storage/_inputs.py +12 -10
  341. pulumi_gcp/storage/bucket.py +44 -0
  342. pulumi_gcp/storage/bucket_iam_binding.py +12 -12
  343. pulumi_gcp/storage/bucket_iam_member.py +12 -12
  344. pulumi_gcp/storage/bucket_iam_policy.py +12 -12
  345. pulumi_gcp/storage/outputs.py +12 -10
  346. pulumi_gcp/tags/tag_key_iam_binding.py +12 -12
  347. pulumi_gcp/tags/tag_key_iam_member.py +12 -12
  348. pulumi_gcp/tags/tag_key_iam_policy.py +12 -12
  349. pulumi_gcp/tags/tag_value_iam_binding.py +12 -12
  350. pulumi_gcp/tags/tag_value_iam_member.py +12 -12
  351. pulumi_gcp/tags/tag_value_iam_policy.py +12 -12
  352. {pulumi_gcp-7.23.0a1715695885.dist-info → pulumi_gcp-7.24.0.dist-info}/METADATA +1 -1
  353. {pulumi_gcp-7.23.0a1715695885.dist-info → pulumi_gcp-7.24.0.dist-info}/RECORD +355 -349
  354. {pulumi_gcp-7.23.0a1715695885.dist-info → pulumi_gcp-7.24.0.dist-info}/WHEEL +0 -0
  355. {pulumi_gcp-7.23.0a1715695885.dist-info → pulumi_gcp-7.24.0.dist-info}/top_level.txt +0 -0
@@ -23,8 +23,10 @@ class RegionSecurityPolicyRuleArgs:
23
23
  description: Optional[pulumi.Input[str]] = None,
24
24
  match: Optional[pulumi.Input['RegionSecurityPolicyRuleMatchArgs']] = None,
25
25
  network_match: Optional[pulumi.Input['RegionSecurityPolicyRuleNetworkMatchArgs']] = None,
26
+ preconfigured_waf_config: Optional[pulumi.Input['RegionSecurityPolicyRulePreconfiguredWafConfigArgs']] = None,
26
27
  preview: Optional[pulumi.Input[bool]] = None,
27
- project: Optional[pulumi.Input[str]] = None):
28
+ project: Optional[pulumi.Input[str]] = None,
29
+ rate_limit_options: Optional[pulumi.Input['RegionSecurityPolicyRuleRateLimitOptionsArgs']] = None):
28
30
  """
29
31
  The set of arguments for constructing a RegionSecurityPolicyRule resource.
30
32
  :param pulumi.Input[str] action: The Action to perform when the rule is matched. The following are the valid actions:
@@ -54,9 +56,14 @@ class RegionSecurityPolicyRuleArgs:
54
56
  networkMatch: srcIpRanges: - "192.0.2.0/24" - "198.51.100.0/24" userDefinedFields: - name: "ipv4_fragment_offset" values: - "1-0x1fff"
55
57
  The above match condition matches packets with a source IP in 192.0.2.0/24 or 198.51.100.0/24 and a user-defined field named "ipv4_fragment_offset" with a value between 1 and 0x1fff inclusive
56
58
  Structure is documented below.
59
+ :param pulumi.Input['RegionSecurityPolicyRulePreconfiguredWafConfigArgs'] preconfigured_waf_config: Preconfigured WAF configuration to be applied for the rule.
60
+ If the rule does not evaluate preconfigured WAF rules, i.e., if evaluatePreconfiguredWaf() is not used, this field will have no effect.
61
+ Structure is documented below.
57
62
  :param pulumi.Input[bool] preview: If set to true, the specified action is not enforced.
58
63
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
59
64
  If it is not provided, the provider project is used.
65
+ :param pulumi.Input['RegionSecurityPolicyRuleRateLimitOptionsArgs'] rate_limit_options: Must be specified if the action is "rate_based_ban" or "throttle". Cannot be specified for any other actions.
66
+ Structure is documented below.
60
67
  """
61
68
  pulumi.set(__self__, "action", action)
62
69
  pulumi.set(__self__, "priority", priority)
@@ -68,10 +75,14 @@ class RegionSecurityPolicyRuleArgs:
68
75
  pulumi.set(__self__, "match", match)
69
76
  if network_match is not None:
70
77
  pulumi.set(__self__, "network_match", network_match)
78
+ if preconfigured_waf_config is not None:
79
+ pulumi.set(__self__, "preconfigured_waf_config", preconfigured_waf_config)
71
80
  if preview is not None:
72
81
  pulumi.set(__self__, "preview", preview)
73
82
  if project is not None:
74
83
  pulumi.set(__self__, "project", project)
84
+ if rate_limit_options is not None:
85
+ pulumi.set(__self__, "rate_limit_options", rate_limit_options)
75
86
 
76
87
  @property
77
88
  @pulumi.getter
@@ -177,6 +188,20 @@ class RegionSecurityPolicyRuleArgs:
177
188
  def network_match(self, value: Optional[pulumi.Input['RegionSecurityPolicyRuleNetworkMatchArgs']]):
178
189
  pulumi.set(self, "network_match", value)
179
190
 
191
+ @property
192
+ @pulumi.getter(name="preconfiguredWafConfig")
193
+ def preconfigured_waf_config(self) -> Optional[pulumi.Input['RegionSecurityPolicyRulePreconfiguredWafConfigArgs']]:
194
+ """
195
+ Preconfigured WAF configuration to be applied for the rule.
196
+ If the rule does not evaluate preconfigured WAF rules, i.e., if evaluatePreconfiguredWaf() is not used, this field will have no effect.
197
+ Structure is documented below.
198
+ """
199
+ return pulumi.get(self, "preconfigured_waf_config")
200
+
201
+ @preconfigured_waf_config.setter
202
+ def preconfigured_waf_config(self, value: Optional[pulumi.Input['RegionSecurityPolicyRulePreconfiguredWafConfigArgs']]):
203
+ pulumi.set(self, "preconfigured_waf_config", value)
204
+
180
205
  @property
181
206
  @pulumi.getter
182
207
  def preview(self) -> Optional[pulumi.Input[bool]]:
@@ -202,6 +227,19 @@ class RegionSecurityPolicyRuleArgs:
202
227
  def project(self, value: Optional[pulumi.Input[str]]):
203
228
  pulumi.set(self, "project", value)
204
229
 
230
+ @property
231
+ @pulumi.getter(name="rateLimitOptions")
232
+ def rate_limit_options(self) -> Optional[pulumi.Input['RegionSecurityPolicyRuleRateLimitOptionsArgs']]:
233
+ """
234
+ Must be specified if the action is "rate_based_ban" or "throttle". Cannot be specified for any other actions.
235
+ Structure is documented below.
236
+ """
237
+ return pulumi.get(self, "rate_limit_options")
238
+
239
+ @rate_limit_options.setter
240
+ def rate_limit_options(self, value: Optional[pulumi.Input['RegionSecurityPolicyRuleRateLimitOptionsArgs']]):
241
+ pulumi.set(self, "rate_limit_options", value)
242
+
205
243
 
206
244
  @pulumi.input_type
207
245
  class _RegionSecurityPolicyRuleState:
@@ -210,9 +248,11 @@ class _RegionSecurityPolicyRuleState:
210
248
  description: Optional[pulumi.Input[str]] = None,
211
249
  match: Optional[pulumi.Input['RegionSecurityPolicyRuleMatchArgs']] = None,
212
250
  network_match: Optional[pulumi.Input['RegionSecurityPolicyRuleNetworkMatchArgs']] = None,
251
+ preconfigured_waf_config: Optional[pulumi.Input['RegionSecurityPolicyRulePreconfiguredWafConfigArgs']] = None,
213
252
  preview: Optional[pulumi.Input[bool]] = None,
214
253
  priority: Optional[pulumi.Input[int]] = None,
215
254
  project: Optional[pulumi.Input[str]] = None,
255
+ rate_limit_options: Optional[pulumi.Input['RegionSecurityPolicyRuleRateLimitOptionsArgs']] = None,
216
256
  region: Optional[pulumi.Input[str]] = None,
217
257
  security_policy: Optional[pulumi.Input[str]] = None):
218
258
  """
@@ -236,12 +276,17 @@ class _RegionSecurityPolicyRuleState:
236
276
  networkMatch: srcIpRanges: - "192.0.2.0/24" - "198.51.100.0/24" userDefinedFields: - name: "ipv4_fragment_offset" values: - "1-0x1fff"
237
277
  The above match condition matches packets with a source IP in 192.0.2.0/24 or 198.51.100.0/24 and a user-defined field named "ipv4_fragment_offset" with a value between 1 and 0x1fff inclusive
238
278
  Structure is documented below.
279
+ :param pulumi.Input['RegionSecurityPolicyRulePreconfiguredWafConfigArgs'] preconfigured_waf_config: Preconfigured WAF configuration to be applied for the rule.
280
+ If the rule does not evaluate preconfigured WAF rules, i.e., if evaluatePreconfiguredWaf() is not used, this field will have no effect.
281
+ Structure is documented below.
239
282
  :param pulumi.Input[bool] preview: If set to true, the specified action is not enforced.
240
283
  :param pulumi.Input[int] priority: An integer indicating the priority of a rule in the list.
241
284
  The priority must be a positive value between 0 and 2147483647.
242
285
  Rules are evaluated from highest to lowest priority where 0 is the highest priority and 2147483647 is the lowest priority.
243
286
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
244
287
  If it is not provided, the provider project is used.
288
+ :param pulumi.Input['RegionSecurityPolicyRuleRateLimitOptionsArgs'] rate_limit_options: Must be specified if the action is "rate_based_ban" or "throttle". Cannot be specified for any other actions.
289
+ Structure is documented below.
245
290
  :param pulumi.Input[str] region: The Region in which the created Region Security Policy rule should reside.
246
291
  :param pulumi.Input[str] security_policy: The name of the security policy this rule belongs to.
247
292
 
@@ -256,12 +301,16 @@ class _RegionSecurityPolicyRuleState:
256
301
  pulumi.set(__self__, "match", match)
257
302
  if network_match is not None:
258
303
  pulumi.set(__self__, "network_match", network_match)
304
+ if preconfigured_waf_config is not None:
305
+ pulumi.set(__self__, "preconfigured_waf_config", preconfigured_waf_config)
259
306
  if preview is not None:
260
307
  pulumi.set(__self__, "preview", preview)
261
308
  if priority is not None:
262
309
  pulumi.set(__self__, "priority", priority)
263
310
  if project is not None:
264
311
  pulumi.set(__self__, "project", project)
312
+ if rate_limit_options is not None:
313
+ pulumi.set(__self__, "rate_limit_options", rate_limit_options)
265
314
  if region is not None:
266
315
  pulumi.set(__self__, "region", region)
267
316
  if security_policy is not None:
@@ -330,6 +379,20 @@ class _RegionSecurityPolicyRuleState:
330
379
  def network_match(self, value: Optional[pulumi.Input['RegionSecurityPolicyRuleNetworkMatchArgs']]):
331
380
  pulumi.set(self, "network_match", value)
332
381
 
382
+ @property
383
+ @pulumi.getter(name="preconfiguredWafConfig")
384
+ def preconfigured_waf_config(self) -> Optional[pulumi.Input['RegionSecurityPolicyRulePreconfiguredWafConfigArgs']]:
385
+ """
386
+ Preconfigured WAF configuration to be applied for the rule.
387
+ If the rule does not evaluate preconfigured WAF rules, i.e., if evaluatePreconfiguredWaf() is not used, this field will have no effect.
388
+ Structure is documented below.
389
+ """
390
+ return pulumi.get(self, "preconfigured_waf_config")
391
+
392
+ @preconfigured_waf_config.setter
393
+ def preconfigured_waf_config(self, value: Optional[pulumi.Input['RegionSecurityPolicyRulePreconfiguredWafConfigArgs']]):
394
+ pulumi.set(self, "preconfigured_waf_config", value)
395
+
333
396
  @property
334
397
  @pulumi.getter
335
398
  def preview(self) -> Optional[pulumi.Input[bool]]:
@@ -369,6 +432,19 @@ class _RegionSecurityPolicyRuleState:
369
432
  def project(self, value: Optional[pulumi.Input[str]]):
370
433
  pulumi.set(self, "project", value)
371
434
 
435
+ @property
436
+ @pulumi.getter(name="rateLimitOptions")
437
+ def rate_limit_options(self) -> Optional[pulumi.Input['RegionSecurityPolicyRuleRateLimitOptionsArgs']]:
438
+ """
439
+ Must be specified if the action is "rate_based_ban" or "throttle". Cannot be specified for any other actions.
440
+ Structure is documented below.
441
+ """
442
+ return pulumi.get(self, "rate_limit_options")
443
+
444
+ @rate_limit_options.setter
445
+ def rate_limit_options(self, value: Optional[pulumi.Input['RegionSecurityPolicyRuleRateLimitOptionsArgs']]):
446
+ pulumi.set(self, "rate_limit_options", value)
447
+
372
448
  @property
373
449
  @pulumi.getter
374
450
  def region(self) -> Optional[pulumi.Input[str]]:
@@ -406,9 +482,11 @@ class RegionSecurityPolicyRule(pulumi.CustomResource):
406
482
  description: Optional[pulumi.Input[str]] = None,
407
483
  match: Optional[pulumi.Input[pulumi.InputType['RegionSecurityPolicyRuleMatchArgs']]] = None,
408
484
  network_match: Optional[pulumi.Input[pulumi.InputType['RegionSecurityPolicyRuleNetworkMatchArgs']]] = None,
485
+ preconfigured_waf_config: Optional[pulumi.Input[pulumi.InputType['RegionSecurityPolicyRulePreconfiguredWafConfigArgs']]] = None,
409
486
  preview: Optional[pulumi.Input[bool]] = None,
410
487
  priority: Optional[pulumi.Input[int]] = None,
411
488
  project: Optional[pulumi.Input[str]] = None,
489
+ rate_limit_options: Optional[pulumi.Input[pulumi.InputType['RegionSecurityPolicyRuleRateLimitOptionsArgs']]] = None,
412
490
  region: Optional[pulumi.Input[str]] = None,
413
491
  security_policy: Optional[pulumi.Input[str]] = None,
414
492
  __props__=None):
@@ -481,6 +559,63 @@ class RegionSecurityPolicyRule(pulumi.CustomResource):
481
559
  action="allow",
482
560
  preview=True)
483
561
  ```
562
+ ### Region Security Policy Rule With Preconfigured Waf Config
563
+
564
+ ```python
565
+ import pulumi
566
+ import pulumi_gcp as gcp
567
+
568
+ default = gcp.compute.RegionSecurityPolicy("default",
569
+ region="asia-southeast1",
570
+ name="policyruletest",
571
+ description="basic region security policy",
572
+ type="CLOUD_ARMOR")
573
+ policy_rule = gcp.compute.RegionSecurityPolicyRule("policy_rule",
574
+ region="asia-southeast1",
575
+ security_policy=default.name,
576
+ description="new rule",
577
+ priority=100,
578
+ match=gcp.compute.RegionSecurityPolicyRuleMatchArgs(
579
+ versioned_expr="SRC_IPS_V1",
580
+ config=gcp.compute.RegionSecurityPolicyRuleMatchConfigArgs(
581
+ src_ip_ranges=["10.10.0.0/16"],
582
+ ),
583
+ ),
584
+ preconfigured_waf_config=gcp.compute.RegionSecurityPolicyRulePreconfiguredWafConfigArgs(
585
+ exclusions=[
586
+ gcp.compute.RegionSecurityPolicyRulePreconfiguredWafConfigExclusionArgs(
587
+ request_uris=[gcp.compute.RegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestUriArgs(
588
+ operator="STARTS_WITH",
589
+ value="/admin",
590
+ )],
591
+ target_rule_set="rce-stable",
592
+ ),
593
+ gcp.compute.RegionSecurityPolicyRulePreconfiguredWafConfigExclusionArgs(
594
+ request_query_params=[
595
+ gcp.compute.RegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestQueryParamArgs(
596
+ operator="CONTAINS",
597
+ value="password",
598
+ ),
599
+ gcp.compute.RegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestQueryParamArgs(
600
+ operator="STARTS_WITH",
601
+ value="freeform",
602
+ ),
603
+ gcp.compute.RegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestQueryParamArgs(
604
+ operator="EQUALS",
605
+ value="description",
606
+ ),
607
+ ],
608
+ target_rule_set="xss-stable",
609
+ target_rule_ids=[
610
+ "owasp-crs-v030001-id941330-xss",
611
+ "owasp-crs-v030001-id941340-xss",
612
+ ],
613
+ ),
614
+ ],
615
+ ),
616
+ action="allow",
617
+ preview=True)
618
+ ```
484
619
  ### Region Security Policy Rule With Network Match
485
620
 
486
621
  ```python
@@ -581,12 +716,17 @@ class RegionSecurityPolicyRule(pulumi.CustomResource):
581
716
  networkMatch: srcIpRanges: - "192.0.2.0/24" - "198.51.100.0/24" userDefinedFields: - name: "ipv4_fragment_offset" values: - "1-0x1fff"
582
717
  The above match condition matches packets with a source IP in 192.0.2.0/24 or 198.51.100.0/24 and a user-defined field named "ipv4_fragment_offset" with a value between 1 and 0x1fff inclusive
583
718
  Structure is documented below.
719
+ :param pulumi.Input[pulumi.InputType['RegionSecurityPolicyRulePreconfiguredWafConfigArgs']] preconfigured_waf_config: Preconfigured WAF configuration to be applied for the rule.
720
+ If the rule does not evaluate preconfigured WAF rules, i.e., if evaluatePreconfiguredWaf() is not used, this field will have no effect.
721
+ Structure is documented below.
584
722
  :param pulumi.Input[bool] preview: If set to true, the specified action is not enforced.
585
723
  :param pulumi.Input[int] priority: An integer indicating the priority of a rule in the list.
586
724
  The priority must be a positive value between 0 and 2147483647.
587
725
  Rules are evaluated from highest to lowest priority where 0 is the highest priority and 2147483647 is the lowest priority.
588
726
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
589
727
  If it is not provided, the provider project is used.
728
+ :param pulumi.Input[pulumi.InputType['RegionSecurityPolicyRuleRateLimitOptionsArgs']] rate_limit_options: Must be specified if the action is "rate_based_ban" or "throttle". Cannot be specified for any other actions.
729
+ Structure is documented below.
590
730
  :param pulumi.Input[str] region: The Region in which the created Region Security Policy rule should reside.
591
731
  :param pulumi.Input[str] security_policy: The name of the security policy this rule belongs to.
592
732
 
@@ -668,6 +808,63 @@ class RegionSecurityPolicyRule(pulumi.CustomResource):
668
808
  action="allow",
669
809
  preview=True)
670
810
  ```
811
+ ### Region Security Policy Rule With Preconfigured Waf Config
812
+
813
+ ```python
814
+ import pulumi
815
+ import pulumi_gcp as gcp
816
+
817
+ default = gcp.compute.RegionSecurityPolicy("default",
818
+ region="asia-southeast1",
819
+ name="policyruletest",
820
+ description="basic region security policy",
821
+ type="CLOUD_ARMOR")
822
+ policy_rule = gcp.compute.RegionSecurityPolicyRule("policy_rule",
823
+ region="asia-southeast1",
824
+ security_policy=default.name,
825
+ description="new rule",
826
+ priority=100,
827
+ match=gcp.compute.RegionSecurityPolicyRuleMatchArgs(
828
+ versioned_expr="SRC_IPS_V1",
829
+ config=gcp.compute.RegionSecurityPolicyRuleMatchConfigArgs(
830
+ src_ip_ranges=["10.10.0.0/16"],
831
+ ),
832
+ ),
833
+ preconfigured_waf_config=gcp.compute.RegionSecurityPolicyRulePreconfiguredWafConfigArgs(
834
+ exclusions=[
835
+ gcp.compute.RegionSecurityPolicyRulePreconfiguredWafConfigExclusionArgs(
836
+ request_uris=[gcp.compute.RegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestUriArgs(
837
+ operator="STARTS_WITH",
838
+ value="/admin",
839
+ )],
840
+ target_rule_set="rce-stable",
841
+ ),
842
+ gcp.compute.RegionSecurityPolicyRulePreconfiguredWafConfigExclusionArgs(
843
+ request_query_params=[
844
+ gcp.compute.RegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestQueryParamArgs(
845
+ operator="CONTAINS",
846
+ value="password",
847
+ ),
848
+ gcp.compute.RegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestQueryParamArgs(
849
+ operator="STARTS_WITH",
850
+ value="freeform",
851
+ ),
852
+ gcp.compute.RegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestQueryParamArgs(
853
+ operator="EQUALS",
854
+ value="description",
855
+ ),
856
+ ],
857
+ target_rule_set="xss-stable",
858
+ target_rule_ids=[
859
+ "owasp-crs-v030001-id941330-xss",
860
+ "owasp-crs-v030001-id941340-xss",
861
+ ],
862
+ ),
863
+ ],
864
+ ),
865
+ action="allow",
866
+ preview=True)
867
+ ```
671
868
  ### Region Security Policy Rule With Network Match
672
869
 
673
870
  ```python
@@ -766,9 +963,11 @@ class RegionSecurityPolicyRule(pulumi.CustomResource):
766
963
  description: Optional[pulumi.Input[str]] = None,
767
964
  match: Optional[pulumi.Input[pulumi.InputType['RegionSecurityPolicyRuleMatchArgs']]] = None,
768
965
  network_match: Optional[pulumi.Input[pulumi.InputType['RegionSecurityPolicyRuleNetworkMatchArgs']]] = None,
966
+ preconfigured_waf_config: Optional[pulumi.Input[pulumi.InputType['RegionSecurityPolicyRulePreconfiguredWafConfigArgs']]] = None,
769
967
  preview: Optional[pulumi.Input[bool]] = None,
770
968
  priority: Optional[pulumi.Input[int]] = None,
771
969
  project: Optional[pulumi.Input[str]] = None,
970
+ rate_limit_options: Optional[pulumi.Input[pulumi.InputType['RegionSecurityPolicyRuleRateLimitOptionsArgs']]] = None,
772
971
  region: Optional[pulumi.Input[str]] = None,
773
972
  security_policy: Optional[pulumi.Input[str]] = None,
774
973
  __props__=None):
@@ -786,11 +985,13 @@ class RegionSecurityPolicyRule(pulumi.CustomResource):
786
985
  __props__.__dict__["description"] = description
787
986
  __props__.__dict__["match"] = match
788
987
  __props__.__dict__["network_match"] = network_match
988
+ __props__.__dict__["preconfigured_waf_config"] = preconfigured_waf_config
789
989
  __props__.__dict__["preview"] = preview
790
990
  if priority is None and not opts.urn:
791
991
  raise TypeError("Missing required property 'priority'")
792
992
  __props__.__dict__["priority"] = priority
793
993
  __props__.__dict__["project"] = project
994
+ __props__.__dict__["rate_limit_options"] = rate_limit_options
794
995
  if region is None and not opts.urn:
795
996
  raise TypeError("Missing required property 'region'")
796
997
  __props__.__dict__["region"] = region
@@ -811,9 +1012,11 @@ class RegionSecurityPolicyRule(pulumi.CustomResource):
811
1012
  description: Optional[pulumi.Input[str]] = None,
812
1013
  match: Optional[pulumi.Input[pulumi.InputType['RegionSecurityPolicyRuleMatchArgs']]] = None,
813
1014
  network_match: Optional[pulumi.Input[pulumi.InputType['RegionSecurityPolicyRuleNetworkMatchArgs']]] = None,
1015
+ preconfigured_waf_config: Optional[pulumi.Input[pulumi.InputType['RegionSecurityPolicyRulePreconfiguredWafConfigArgs']]] = None,
814
1016
  preview: Optional[pulumi.Input[bool]] = None,
815
1017
  priority: Optional[pulumi.Input[int]] = None,
816
1018
  project: Optional[pulumi.Input[str]] = None,
1019
+ rate_limit_options: Optional[pulumi.Input[pulumi.InputType['RegionSecurityPolicyRuleRateLimitOptionsArgs']]] = None,
817
1020
  region: Optional[pulumi.Input[str]] = None,
818
1021
  security_policy: Optional[pulumi.Input[str]] = None) -> 'RegionSecurityPolicyRule':
819
1022
  """
@@ -842,12 +1045,17 @@ class RegionSecurityPolicyRule(pulumi.CustomResource):
842
1045
  networkMatch: srcIpRanges: - "192.0.2.0/24" - "198.51.100.0/24" userDefinedFields: - name: "ipv4_fragment_offset" values: - "1-0x1fff"
843
1046
  The above match condition matches packets with a source IP in 192.0.2.0/24 or 198.51.100.0/24 and a user-defined field named "ipv4_fragment_offset" with a value between 1 and 0x1fff inclusive
844
1047
  Structure is documented below.
1048
+ :param pulumi.Input[pulumi.InputType['RegionSecurityPolicyRulePreconfiguredWafConfigArgs']] preconfigured_waf_config: Preconfigured WAF configuration to be applied for the rule.
1049
+ If the rule does not evaluate preconfigured WAF rules, i.e., if evaluatePreconfiguredWaf() is not used, this field will have no effect.
1050
+ Structure is documented below.
845
1051
  :param pulumi.Input[bool] preview: If set to true, the specified action is not enforced.
846
1052
  :param pulumi.Input[int] priority: An integer indicating the priority of a rule in the list.
847
1053
  The priority must be a positive value between 0 and 2147483647.
848
1054
  Rules are evaluated from highest to lowest priority where 0 is the highest priority and 2147483647 is the lowest priority.
849
1055
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
850
1056
  If it is not provided, the provider project is used.
1057
+ :param pulumi.Input[pulumi.InputType['RegionSecurityPolicyRuleRateLimitOptionsArgs']] rate_limit_options: Must be specified if the action is "rate_based_ban" or "throttle". Cannot be specified for any other actions.
1058
+ Structure is documented below.
851
1059
  :param pulumi.Input[str] region: The Region in which the created Region Security Policy rule should reside.
852
1060
  :param pulumi.Input[str] security_policy: The name of the security policy this rule belongs to.
853
1061
 
@@ -862,9 +1070,11 @@ class RegionSecurityPolicyRule(pulumi.CustomResource):
862
1070
  __props__.__dict__["description"] = description
863
1071
  __props__.__dict__["match"] = match
864
1072
  __props__.__dict__["network_match"] = network_match
1073
+ __props__.__dict__["preconfigured_waf_config"] = preconfigured_waf_config
865
1074
  __props__.__dict__["preview"] = preview
866
1075
  __props__.__dict__["priority"] = priority
867
1076
  __props__.__dict__["project"] = project
1077
+ __props__.__dict__["rate_limit_options"] = rate_limit_options
868
1078
  __props__.__dict__["region"] = region
869
1079
  __props__.__dict__["security_policy"] = security_policy
870
1080
  return RegionSecurityPolicyRule(resource_name, opts=opts, __props__=__props__)
@@ -916,6 +1126,16 @@ class RegionSecurityPolicyRule(pulumi.CustomResource):
916
1126
  """
917
1127
  return pulumi.get(self, "network_match")
918
1128
 
1129
+ @property
1130
+ @pulumi.getter(name="preconfiguredWafConfig")
1131
+ def preconfigured_waf_config(self) -> pulumi.Output[Optional['outputs.RegionSecurityPolicyRulePreconfiguredWafConfig']]:
1132
+ """
1133
+ Preconfigured WAF configuration to be applied for the rule.
1134
+ If the rule does not evaluate preconfigured WAF rules, i.e., if evaluatePreconfiguredWaf() is not used, this field will have no effect.
1135
+ Structure is documented below.
1136
+ """
1137
+ return pulumi.get(self, "preconfigured_waf_config")
1138
+
919
1139
  @property
920
1140
  @pulumi.getter
921
1141
  def preview(self) -> pulumi.Output[Optional[bool]]:
@@ -943,6 +1163,15 @@ class RegionSecurityPolicyRule(pulumi.CustomResource):
943
1163
  """
944
1164
  return pulumi.get(self, "project")
945
1165
 
1166
+ @property
1167
+ @pulumi.getter(name="rateLimitOptions")
1168
+ def rate_limit_options(self) -> pulumi.Output[Optional['outputs.RegionSecurityPolicyRuleRateLimitOptions']]:
1169
+ """
1170
+ Must be specified if the action is "rate_based_ban" or "throttle". Cannot be specified for any other actions.
1171
+ Structure is documented below.
1172
+ """
1173
+ return pulumi.get(self, "rate_limit_options")
1174
+
946
1175
  @property
947
1176
  @pulumi.getter
948
1177
  def region(self) -> pulumi.Output[str]:
@@ -18,6 +18,7 @@ class RouterNatArgs:
18
18
  def __init__(__self__, *,
19
19
  router: pulumi.Input[str],
20
20
  source_subnetwork_ip_ranges_to_nat: pulumi.Input[str],
21
+ auto_network_tier: Optional[pulumi.Input[str]] = None,
21
22
  drain_nat_ips: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
22
23
  enable_dynamic_port_allocation: Optional[pulumi.Input[bool]] = None,
23
24
  enable_endpoint_independent_mapping: Optional[pulumi.Input[bool]] = None,
@@ -55,6 +56,10 @@ class RouterNatArgs:
55
56
  ALL_SUBNETWORKS_ALL_PRIMARY_IP_RANGES, then there should not be any
56
57
  other RouterNat section in any Router for this network in this region.
57
58
  Possible values are: `ALL_SUBNETWORKS_ALL_IP_RANGES`, `ALL_SUBNETWORKS_ALL_PRIMARY_IP_RANGES`, `LIST_OF_SUBNETWORKS`.
59
+ :param pulumi.Input[str] auto_network_tier: The network tier to use when automatically reserving NAT IP addresses.
60
+ Must be one of: PREMIUM, STANDARD. If not specified, then the current
61
+ project-level default tier is used.
62
+ Possible values are: `PREMIUM`, `STANDARD`.
58
63
  :param pulumi.Input[Sequence[pulumi.Input[str]]] drain_nat_ips: A list of URLs of the IP resources to be drained. These IPs must be
59
64
  valid static external IPs that have been assigned to the NAT.
60
65
  :param pulumi.Input[bool] enable_dynamic_port_allocation: Enable Dynamic Port Allocation.
@@ -107,6 +112,8 @@ class RouterNatArgs:
107
112
  """
108
113
  pulumi.set(__self__, "router", router)
109
114
  pulumi.set(__self__, "source_subnetwork_ip_ranges_to_nat", source_subnetwork_ip_ranges_to_nat)
115
+ if auto_network_tier is not None:
116
+ pulumi.set(__self__, "auto_network_tier", auto_network_tier)
110
117
  if drain_nat_ips is not None:
111
118
  pulumi.set(__self__, "drain_nat_ips", drain_nat_ips)
112
119
  if enable_dynamic_port_allocation is not None:
@@ -185,6 +192,21 @@ class RouterNatArgs:
185
192
  def source_subnetwork_ip_ranges_to_nat(self, value: pulumi.Input[str]):
186
193
  pulumi.set(self, "source_subnetwork_ip_ranges_to_nat", value)
187
194
 
195
+ @property
196
+ @pulumi.getter(name="autoNetworkTier")
197
+ def auto_network_tier(self) -> Optional[pulumi.Input[str]]:
198
+ """
199
+ The network tier to use when automatically reserving NAT IP addresses.
200
+ Must be one of: PREMIUM, STANDARD. If not specified, then the current
201
+ project-level default tier is used.
202
+ Possible values are: `PREMIUM`, `STANDARD`.
203
+ """
204
+ return pulumi.get(self, "auto_network_tier")
205
+
206
+ @auto_network_tier.setter
207
+ def auto_network_tier(self, value: Optional[pulumi.Input[str]]):
208
+ pulumi.set(self, "auto_network_tier", value)
209
+
188
210
  @property
189
211
  @pulumi.getter(name="drainNatIps")
190
212
  def drain_nat_ips(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
@@ -458,6 +480,7 @@ class RouterNatArgs:
458
480
  @pulumi.input_type
459
481
  class _RouterNatState:
460
482
  def __init__(__self__, *,
483
+ auto_network_tier: Optional[pulumi.Input[str]] = None,
461
484
  drain_nat_ips: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
462
485
  enable_dynamic_port_allocation: Optional[pulumi.Input[bool]] = None,
463
486
  enable_endpoint_independent_mapping: Optional[pulumi.Input[bool]] = None,
@@ -482,6 +505,10 @@ class _RouterNatState:
482
505
  udp_idle_timeout_sec: Optional[pulumi.Input[int]] = None):
483
506
  """
484
507
  Input properties used for looking up and filtering RouterNat resources.
508
+ :param pulumi.Input[str] auto_network_tier: The network tier to use when automatically reserving NAT IP addresses.
509
+ Must be one of: PREMIUM, STANDARD. If not specified, then the current
510
+ project-level default tier is used.
511
+ Possible values are: `PREMIUM`, `STANDARD`.
485
512
  :param pulumi.Input[Sequence[pulumi.Input[str]]] drain_nat_ips: A list of URLs of the IP resources to be drained. These IPs must be
486
513
  valid static external IPs that have been assigned to the NAT.
487
514
  :param pulumi.Input[bool] enable_dynamic_port_allocation: Enable Dynamic Port Allocation.
@@ -547,6 +574,8 @@ class _RouterNatState:
547
574
  Possible values are: `PUBLIC`, `PRIVATE`.
548
575
  :param pulumi.Input[int] udp_idle_timeout_sec: Timeout (in seconds) for UDP connections. Defaults to 30s if not set.
549
576
  """
577
+ if auto_network_tier is not None:
578
+ pulumi.set(__self__, "auto_network_tier", auto_network_tier)
550
579
  if drain_nat_ips is not None:
551
580
  pulumi.set(__self__, "drain_nat_ips", drain_nat_ips)
552
581
  if enable_dynamic_port_allocation is not None:
@@ -592,6 +621,21 @@ class _RouterNatState:
592
621
  if udp_idle_timeout_sec is not None:
593
622
  pulumi.set(__self__, "udp_idle_timeout_sec", udp_idle_timeout_sec)
594
623
 
624
+ @property
625
+ @pulumi.getter(name="autoNetworkTier")
626
+ def auto_network_tier(self) -> Optional[pulumi.Input[str]]:
627
+ """
628
+ The network tier to use when automatically reserving NAT IP addresses.
629
+ Must be one of: PREMIUM, STANDARD. If not specified, then the current
630
+ project-level default tier is used.
631
+ Possible values are: `PREMIUM`, `STANDARD`.
632
+ """
633
+ return pulumi.get(self, "auto_network_tier")
634
+
635
+ @auto_network_tier.setter
636
+ def auto_network_tier(self, value: Optional[pulumi.Input[str]]):
637
+ pulumi.set(self, "auto_network_tier", value)
638
+
595
639
  @property
596
640
  @pulumi.getter(name="drainNatIps")
597
641
  def drain_nat_ips(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
@@ -904,6 +948,7 @@ class RouterNat(pulumi.CustomResource):
904
948
  def __init__(__self__,
905
949
  resource_name: str,
906
950
  opts: Optional[pulumi.ResourceOptions] = None,
951
+ auto_network_tier: Optional[pulumi.Input[str]] = None,
907
952
  drain_nat_ips: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
908
953
  enable_dynamic_port_allocation: Optional[pulumi.Input[bool]] = None,
909
954
  enable_endpoint_independent_mapping: Optional[pulumi.Input[bool]] = None,
@@ -1139,6 +1184,10 @@ class RouterNat(pulumi.CustomResource):
1139
1184
 
1140
1185
  :param str resource_name: The name of the resource.
1141
1186
  :param pulumi.ResourceOptions opts: Options for the resource.
1187
+ :param pulumi.Input[str] auto_network_tier: The network tier to use when automatically reserving NAT IP addresses.
1188
+ Must be one of: PREMIUM, STANDARD. If not specified, then the current
1189
+ project-level default tier is used.
1190
+ Possible values are: `PREMIUM`, `STANDARD`.
1142
1191
  :param pulumi.Input[Sequence[pulumi.Input[str]]] drain_nat_ips: A list of URLs of the IP resources to be drained. These IPs must be
1143
1192
  valid static external IPs that have been assigned to the NAT.
1144
1193
  :param pulumi.Input[bool] enable_dynamic_port_allocation: Enable Dynamic Port Allocation.
@@ -1435,6 +1484,7 @@ class RouterNat(pulumi.CustomResource):
1435
1484
  def _internal_init(__self__,
1436
1485
  resource_name: str,
1437
1486
  opts: Optional[pulumi.ResourceOptions] = None,
1487
+ auto_network_tier: Optional[pulumi.Input[str]] = None,
1438
1488
  drain_nat_ips: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1439
1489
  enable_dynamic_port_allocation: Optional[pulumi.Input[bool]] = None,
1440
1490
  enable_endpoint_independent_mapping: Optional[pulumi.Input[bool]] = None,
@@ -1466,6 +1516,7 @@ class RouterNat(pulumi.CustomResource):
1466
1516
  raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
1467
1517
  __props__ = RouterNatArgs.__new__(RouterNatArgs)
1468
1518
 
1519
+ __props__.__dict__["auto_network_tier"] = auto_network_tier
1469
1520
  __props__.__dict__["drain_nat_ips"] = drain_nat_ips
1470
1521
  __props__.__dict__["enable_dynamic_port_allocation"] = enable_dynamic_port_allocation
1471
1522
  __props__.__dict__["enable_endpoint_independent_mapping"] = enable_endpoint_independent_mapping
@@ -1502,6 +1553,7 @@ class RouterNat(pulumi.CustomResource):
1502
1553
  def get(resource_name: str,
1503
1554
  id: pulumi.Input[str],
1504
1555
  opts: Optional[pulumi.ResourceOptions] = None,
1556
+ auto_network_tier: Optional[pulumi.Input[str]] = None,
1505
1557
  drain_nat_ips: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1506
1558
  enable_dynamic_port_allocation: Optional[pulumi.Input[bool]] = None,
1507
1559
  enable_endpoint_independent_mapping: Optional[pulumi.Input[bool]] = None,
@@ -1531,6 +1583,10 @@ class RouterNat(pulumi.CustomResource):
1531
1583
  :param str resource_name: The unique name of the resulting resource.
1532
1584
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
1533
1585
  :param pulumi.ResourceOptions opts: Options for the resource.
1586
+ :param pulumi.Input[str] auto_network_tier: The network tier to use when automatically reserving NAT IP addresses.
1587
+ Must be one of: PREMIUM, STANDARD. If not specified, then the current
1588
+ project-level default tier is used.
1589
+ Possible values are: `PREMIUM`, `STANDARD`.
1534
1590
  :param pulumi.Input[Sequence[pulumi.Input[str]]] drain_nat_ips: A list of URLs of the IP resources to be drained. These IPs must be
1535
1591
  valid static external IPs that have been assigned to the NAT.
1536
1592
  :param pulumi.Input[bool] enable_dynamic_port_allocation: Enable Dynamic Port Allocation.
@@ -1600,6 +1656,7 @@ class RouterNat(pulumi.CustomResource):
1600
1656
 
1601
1657
  __props__ = _RouterNatState.__new__(_RouterNatState)
1602
1658
 
1659
+ __props__.__dict__["auto_network_tier"] = auto_network_tier
1603
1660
  __props__.__dict__["drain_nat_ips"] = drain_nat_ips
1604
1661
  __props__.__dict__["enable_dynamic_port_allocation"] = enable_dynamic_port_allocation
1605
1662
  __props__.__dict__["enable_endpoint_independent_mapping"] = enable_endpoint_independent_mapping
@@ -1624,6 +1681,17 @@ class RouterNat(pulumi.CustomResource):
1624
1681
  __props__.__dict__["udp_idle_timeout_sec"] = udp_idle_timeout_sec
1625
1682
  return RouterNat(resource_name, opts=opts, __props__=__props__)
1626
1683
 
1684
+ @property
1685
+ @pulumi.getter(name="autoNetworkTier")
1686
+ def auto_network_tier(self) -> pulumi.Output[str]:
1687
+ """
1688
+ The network tier to use when automatically reserving NAT IP addresses.
1689
+ Must be one of: PREMIUM, STANDARD. If not specified, then the current
1690
+ project-level default tier is used.
1691
+ Possible values are: `PREMIUM`, `STANDARD`.
1692
+ """
1693
+ return pulumi.get(self, "auto_network_tier")
1694
+
1627
1695
  @property
1628
1696
  @pulumi.getter(name="drainNatIps")
1629
1697
  def drain_nat_ips(self) -> pulumi.Output[Optional[Sequence[str]]]: