pulumi-gcp 8.7.0a1730183903__py3-none-any.whl → 8.8.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (437) hide show
  1. pulumi_gcp/__init__.py +78 -0
  2. pulumi_gcp/accesscontextmanager/access_policy_iam_binding.py +4 -4
  3. pulumi_gcp/accesscontextmanager/access_policy_iam_member.py +4 -4
  4. pulumi_gcp/accesscontextmanager/access_policy_iam_policy.py +4 -4
  5. pulumi_gcp/accesscontextmanager/service_perimeter.py +2 -0
  6. pulumi_gcp/accesscontextmanager/service_perimeter_dry_run_egress_policy.py +4 -0
  7. pulumi_gcp/accesscontextmanager/service_perimeter_dry_run_ingress_policy.py +4 -0
  8. pulumi_gcp/accesscontextmanager/service_perimeter_egress_policy.py +4 -0
  9. pulumi_gcp/accesscontextmanager/service_perimeter_ingress_policy.py +4 -0
  10. pulumi_gcp/accesscontextmanager/service_perimeters.py +2 -0
  11. pulumi_gcp/apigateway/api_config_iam_binding.py +2 -2
  12. pulumi_gcp/apigateway/api_config_iam_member.py +2 -2
  13. pulumi_gcp/apigateway/api_config_iam_policy.py +2 -2
  14. pulumi_gcp/apigateway/api_iam_binding.py +2 -2
  15. pulumi_gcp/apigateway/api_iam_member.py +2 -2
  16. pulumi_gcp/apigateway/api_iam_policy.py +2 -2
  17. pulumi_gcp/apigateway/gateway_iam_binding.py +2 -2
  18. pulumi_gcp/apigateway/gateway_iam_member.py +2 -2
  19. pulumi_gcp/apigateway/gateway_iam_policy.py +2 -2
  20. pulumi_gcp/apigee/__init__.py +2 -0
  21. pulumi_gcp/apigee/_inputs.py +108 -0
  22. pulumi_gcp/apigee/app_group.py +811 -0
  23. pulumi_gcp/apigee/developer.py +757 -0
  24. pulumi_gcp/apigee/environment_iam_binding.py +4 -4
  25. pulumi_gcp/apigee/environment_iam_member.py +4 -4
  26. pulumi_gcp/apigee/environment_iam_policy.py +4 -4
  27. pulumi_gcp/apigee/outputs.py +64 -0
  28. pulumi_gcp/appengine/engine_split_traffic.py +4 -4
  29. pulumi_gcp/apphub/_inputs.py +6 -3
  30. pulumi_gcp/apphub/application.py +30 -4
  31. pulumi_gcp/apphub/outputs.py +8 -4
  32. pulumi_gcp/artifactregistry/get_docker_image.py +40 -0
  33. pulumi_gcp/artifactregistry/repository_iam_binding.py +2 -2
  34. pulumi_gcp/artifactregistry/repository_iam_member.py +2 -2
  35. pulumi_gcp/artifactregistry/repository_iam_policy.py +2 -2
  36. pulumi_gcp/assuredworkloads/_inputs.py +34 -0
  37. pulumi_gcp/assuredworkloads/outputs.py +37 -0
  38. pulumi_gcp/assuredworkloads/workload.py +56 -3
  39. pulumi_gcp/backupdisasterrecovery/_inputs.py +0 -6
  40. pulumi_gcp/backupdisasterrecovery/management_server.py +80 -34
  41. pulumi_gcp/backupdisasterrecovery/outputs.py +0 -4
  42. pulumi_gcp/biglake/table.py +12 -12
  43. pulumi_gcp/bigquery/_inputs.py +60 -0
  44. pulumi_gcp/bigquery/connection.py +14 -14
  45. pulumi_gcp/bigquery/connection_iam_binding.py +2 -2
  46. pulumi_gcp/bigquery/connection_iam_member.py +2 -2
  47. pulumi_gcp/bigquery/connection_iam_policy.py +2 -2
  48. pulumi_gcp/bigquery/dataset.py +99 -2
  49. pulumi_gcp/bigquery/dataset_access.py +2 -2
  50. pulumi_gcp/bigquery/dataset_iam_binding.py +53 -0
  51. pulumi_gcp/bigquery/dataset_iam_member.py +53 -0
  52. pulumi_gcp/bigquery/dataset_iam_policy.py +32 -0
  53. pulumi_gcp/bigquery/get_dataset.py +12 -1
  54. pulumi_gcp/bigquery/iam_binding.py +2 -2
  55. pulumi_gcp/bigquery/iam_member.py +2 -2
  56. pulumi_gcp/bigquery/iam_policy.py +2 -2
  57. pulumi_gcp/bigquery/job.py +6 -6
  58. pulumi_gcp/bigquery/outputs.py +87 -0
  59. pulumi_gcp/bigquery/routine.py +6 -6
  60. pulumi_gcp/bigqueryanalyticshub/data_exchange_iam_binding.py +2 -2
  61. pulumi_gcp/bigqueryanalyticshub/data_exchange_iam_member.py +2 -2
  62. pulumi_gcp/bigqueryanalyticshub/data_exchange_iam_policy.py +2 -2
  63. pulumi_gcp/bigqueryanalyticshub/listing_iam_binding.py +2 -2
  64. pulumi_gcp/bigqueryanalyticshub/listing_iam_member.py +2 -2
  65. pulumi_gcp/bigqueryanalyticshub/listing_iam_policy.py +2 -2
  66. pulumi_gcp/bigquerydatapolicy/data_policy_iam_binding.py +2 -2
  67. pulumi_gcp/bigquerydatapolicy/data_policy_iam_member.py +2 -2
  68. pulumi_gcp/bigquerydatapolicy/data_policy_iam_policy.py +2 -2
  69. pulumi_gcp/binaryauthorization/attestor_iam_binding.py +2 -2
  70. pulumi_gcp/binaryauthorization/attestor_iam_member.py +2 -2
  71. pulumi_gcp/binaryauthorization/attestor_iam_policy.py +2 -2
  72. pulumi_gcp/certificateauthority/ca_pool_iam_binding.py +2 -2
  73. pulumi_gcp/certificateauthority/ca_pool_iam_member.py +2 -2
  74. pulumi_gcp/certificateauthority/ca_pool_iam_policy.py +2 -2
  75. pulumi_gcp/certificateauthority/certificate_template_iam_binding.py +2 -2
  76. pulumi_gcp/certificateauthority/certificate_template_iam_member.py +2 -2
  77. pulumi_gcp/certificateauthority/certificate_template_iam_policy.py +2 -2
  78. pulumi_gcp/cloudbuild/trigger.py +18 -18
  79. pulumi_gcp/cloudbuildv2/connection_iam_binding.py +2 -2
  80. pulumi_gcp/cloudbuildv2/connection_iam_member.py +2 -2
  81. pulumi_gcp/cloudbuildv2/connection_iam_policy.py +2 -2
  82. pulumi_gcp/clouddeploy/delivery_pipeline.py +10 -10
  83. pulumi_gcp/cloudfunctions/function_iam_binding.py +2 -2
  84. pulumi_gcp/cloudfunctions/function_iam_member.py +2 -2
  85. pulumi_gcp/cloudfunctions/function_iam_policy.py +2 -2
  86. pulumi_gcp/cloudfunctionsv2/function.py +22 -22
  87. pulumi_gcp/cloudfunctionsv2/function_iam_binding.py +2 -2
  88. pulumi_gcp/cloudfunctionsv2/function_iam_member.py +2 -2
  89. pulumi_gcp/cloudfunctionsv2/function_iam_policy.py +2 -2
  90. pulumi_gcp/cloudrun/iam_binding.py +2 -2
  91. pulumi_gcp/cloudrun/iam_member.py +2 -2
  92. pulumi_gcp/cloudrun/iam_policy.py +2 -2
  93. pulumi_gcp/cloudrun/service.py +24 -24
  94. pulumi_gcp/cloudrunv2/get_service.py +12 -1
  95. pulumi_gcp/cloudrunv2/job_iam_binding.py +2 -2
  96. pulumi_gcp/cloudrunv2/job_iam_member.py +2 -2
  97. pulumi_gcp/cloudrunv2/job_iam_policy.py +2 -2
  98. pulumi_gcp/cloudrunv2/service.py +94 -2
  99. pulumi_gcp/cloudrunv2/service_iam_binding.py +2 -2
  100. pulumi_gcp/cloudrunv2/service_iam_member.py +2 -2
  101. pulumi_gcp/cloudrunv2/service_iam_policy.py +2 -2
  102. pulumi_gcp/cloudscheduler/job.py +4 -4
  103. pulumi_gcp/cloudtasks/queue_iam_binding.py +2 -2
  104. pulumi_gcp/cloudtasks/queue_iam_member.py +2 -2
  105. pulumi_gcp/cloudtasks/queue_iam_policy.py +2 -2
  106. pulumi_gcp/compute/__init__.py +1 -0
  107. pulumi_gcp/compute/_inputs.py +396 -166
  108. pulumi_gcp/compute/backend_bucket_iam_binding.py +2 -2
  109. pulumi_gcp/compute/backend_bucket_iam_member.py +2 -2
  110. pulumi_gcp/compute/backend_bucket_iam_policy.py +2 -2
  111. pulumi_gcp/compute/backend_service.py +76 -0
  112. pulumi_gcp/compute/backend_service_iam_binding.py +2 -2
  113. pulumi_gcp/compute/backend_service_iam_member.py +2 -2
  114. pulumi_gcp/compute/backend_service_iam_policy.py +2 -2
  115. pulumi_gcp/compute/disk_iam_binding.py +2 -2
  116. pulumi_gcp/compute/disk_iam_member.py +2 -2
  117. pulumi_gcp/compute/disk_iam_policy.py +2 -2
  118. pulumi_gcp/compute/get_backend_service.py +12 -1
  119. pulumi_gcp/compute/get_instance.py +29 -1
  120. pulumi_gcp/compute/get_instance_guest_attributes.py +277 -0
  121. pulumi_gcp/compute/get_instance_template.py +29 -1
  122. pulumi_gcp/compute/get_region_instance_group_manager.py +0 -18
  123. pulumi_gcp/compute/get_region_instance_template.py +29 -1
  124. pulumi_gcp/compute/image.py +76 -22
  125. pulumi_gcp/compute/image_iam_binding.py +2 -2
  126. pulumi_gcp/compute/image_iam_member.py +2 -2
  127. pulumi_gcp/compute/image_iam_policy.py +2 -2
  128. pulumi_gcp/compute/instance.py +89 -0
  129. pulumi_gcp/compute/instance_from_machine_image.py +82 -0
  130. pulumi_gcp/compute/instance_from_template.py +82 -0
  131. pulumi_gcp/compute/instance_iam_binding.py +2 -2
  132. pulumi_gcp/compute/instance_iam_member.py +2 -2
  133. pulumi_gcp/compute/instance_iam_policy.py +2 -2
  134. pulumi_gcp/compute/instance_template.py +75 -0
  135. pulumi_gcp/compute/machine_image_iam_binding.py +2 -2
  136. pulumi_gcp/compute/machine_image_iam_member.py +2 -2
  137. pulumi_gcp/compute/machine_image_iam_policy.py +2 -2
  138. pulumi_gcp/compute/network_firewall_policy_association.py +76 -50
  139. pulumi_gcp/compute/network_firewall_policy_rule.py +149 -103
  140. pulumi_gcp/compute/outputs.py +367 -110
  141. pulumi_gcp/compute/region_backend_service.py +94 -0
  142. pulumi_gcp/compute/region_backend_service_iam_binding.py +2 -2
  143. pulumi_gcp/compute/region_backend_service_iam_member.py +2 -2
  144. pulumi_gcp/compute/region_backend_service_iam_policy.py +2 -2
  145. pulumi_gcp/compute/region_disk_iam_binding.py +2 -2
  146. pulumi_gcp/compute/region_disk_iam_member.py +2 -2
  147. pulumi_gcp/compute/region_disk_iam_policy.py +2 -2
  148. pulumi_gcp/compute/region_instance_template.py +75 -0
  149. pulumi_gcp/compute/region_network_endpoint_group.py +6 -4
  150. pulumi_gcp/compute/region_network_firewall_policy_association.py +104 -54
  151. pulumi_gcp/compute/region_network_firewall_policy_rule.py +160 -107
  152. pulumi_gcp/compute/region_security_policy_rule.py +74 -0
  153. pulumi_gcp/compute/security_policy_rule.py +111 -13
  154. pulumi_gcp/compute/snapshot_iam_binding.py +2 -2
  155. pulumi_gcp/compute/snapshot_iam_member.py +2 -2
  156. pulumi_gcp/compute/snapshot_iam_policy.py +2 -2
  157. pulumi_gcp/compute/subnetwork_iam_binding.py +2 -2
  158. pulumi_gcp/compute/subnetwork_iam_member.py +2 -2
  159. pulumi_gcp/compute/subnetwork_iam_policy.py +2 -2
  160. pulumi_gcp/compute/url_map.py +10 -10
  161. pulumi_gcp/config/__init__.pyi +4 -0
  162. pulumi_gcp/config/vars.py +8 -0
  163. pulumi_gcp/container/attached_cluster.py +9 -6
  164. pulumi_gcp/container/aws_node_pool.py +12 -12
  165. pulumi_gcp/container/outputs.py +2 -2
  166. pulumi_gcp/containeranalysis/note_iam_binding.py +2 -2
  167. pulumi_gcp/containeranalysis/note_iam_member.py +2 -2
  168. pulumi_gcp/containeranalysis/note_iam_policy.py +2 -2
  169. pulumi_gcp/datacatalog/entry_group_iam_binding.py +2 -2
  170. pulumi_gcp/datacatalog/entry_group_iam_member.py +2 -2
  171. pulumi_gcp/datacatalog/entry_group_iam_policy.py +2 -2
  172. pulumi_gcp/datacatalog/policy_tag_iam_binding.py +4 -4
  173. pulumi_gcp/datacatalog/policy_tag_iam_member.py +4 -4
  174. pulumi_gcp/datacatalog/policy_tag_iam_policy.py +4 -4
  175. pulumi_gcp/datacatalog/tag_template_iam_binding.py +2 -2
  176. pulumi_gcp/datacatalog/tag_template_iam_member.py +2 -2
  177. pulumi_gcp/datacatalog/tag_template_iam_policy.py +2 -2
  178. pulumi_gcp/datacatalog/taxonomy_iam_binding.py +2 -2
  179. pulumi_gcp/datacatalog/taxonomy_iam_member.py +2 -2
  180. pulumi_gcp/datacatalog/taxonomy_iam_policy.py +2 -2
  181. pulumi_gcp/dataplex/aspect_type_iam_binding.py +2 -2
  182. pulumi_gcp/dataplex/aspect_type_iam_member.py +2 -2
  183. pulumi_gcp/dataplex/aspect_type_iam_policy.py +2 -2
  184. pulumi_gcp/dataplex/asset_iam_binding.py +2 -2
  185. pulumi_gcp/dataplex/asset_iam_member.py +2 -2
  186. pulumi_gcp/dataplex/asset_iam_policy.py +2 -2
  187. pulumi_gcp/dataplex/datascan_iam_binding.py +2 -2
  188. pulumi_gcp/dataplex/datascan_iam_member.py +2 -2
  189. pulumi_gcp/dataplex/datascan_iam_policy.py +2 -2
  190. pulumi_gcp/dataplex/entry_group_iam_binding.py +2 -2
  191. pulumi_gcp/dataplex/entry_group_iam_member.py +2 -2
  192. pulumi_gcp/dataplex/entry_group_iam_policy.py +2 -2
  193. pulumi_gcp/dataplex/entry_type_iam_binding.py +2 -2
  194. pulumi_gcp/dataplex/entry_type_iam_member.py +2 -2
  195. pulumi_gcp/dataplex/entry_type_iam_policy.py +2 -2
  196. pulumi_gcp/dataplex/lake_iam_binding.py +2 -2
  197. pulumi_gcp/dataplex/lake_iam_member.py +2 -2
  198. pulumi_gcp/dataplex/lake_iam_policy.py +2 -2
  199. pulumi_gcp/dataplex/task.py +4 -4
  200. pulumi_gcp/dataplex/task_iam_binding.py +2 -2
  201. pulumi_gcp/dataplex/task_iam_member.py +2 -2
  202. pulumi_gcp/dataplex/task_iam_policy.py +2 -2
  203. pulumi_gcp/dataplex/zone_iam_binding.py +2 -2
  204. pulumi_gcp/dataplex/zone_iam_member.py +2 -2
  205. pulumi_gcp/dataplex/zone_iam_policy.py +2 -2
  206. pulumi_gcp/dataproc/autoscaling_policy_iam_binding.py +2 -2
  207. pulumi_gcp/dataproc/autoscaling_policy_iam_member.py +2 -2
  208. pulumi_gcp/dataproc/autoscaling_policy_iam_policy.py +2 -2
  209. pulumi_gcp/dataproc/batch.py +24 -24
  210. pulumi_gcp/dataproc/cluster.py +2 -2
  211. pulumi_gcp/dataproc/job.py +4 -4
  212. pulumi_gcp/dataproc/metastore_federation_iam_binding.py +2 -2
  213. pulumi_gcp/dataproc/metastore_federation_iam_member.py +2 -2
  214. pulumi_gcp/dataproc/metastore_federation_iam_policy.py +2 -2
  215. pulumi_gcp/dataproc/metastore_service_iam_binding.py +2 -2
  216. pulumi_gcp/dataproc/metastore_service_iam_member.py +2 -2
  217. pulumi_gcp/dataproc/metastore_service_iam_policy.py +2 -2
  218. pulumi_gcp/datastream/stream.py +2 -2
  219. pulumi_gcp/diagflow/_inputs.py +472 -2
  220. pulumi_gcp/diagflow/cx_agent.py +64 -4
  221. pulumi_gcp/diagflow/cx_flow.py +34 -4
  222. pulumi_gcp/diagflow/cx_page.py +10 -10
  223. pulumi_gcp/diagflow/outputs.py +378 -2
  224. pulumi_gcp/dns/dns_managed_zone_iam_binding.py +2 -2
  225. pulumi_gcp/dns/dns_managed_zone_iam_member.py +2 -2
  226. pulumi_gcp/dns/dns_managed_zone_iam_policy.py +2 -2
  227. pulumi_gcp/endpoints/consumers_iam_binding.py +2 -2
  228. pulumi_gcp/endpoints/consumers_iam_member.py +2 -2
  229. pulumi_gcp/endpoints/consumers_iam_policy.py +2 -2
  230. pulumi_gcp/endpoints/service_iam_binding.py +4 -4
  231. pulumi_gcp/endpoints/service_iam_member.py +4 -4
  232. pulumi_gcp/endpoints/service_iam_policy.py +4 -4
  233. pulumi_gcp/firebase/extensions_instance.py +24 -24
  234. pulumi_gcp/gkebackup/backup_plan_iam_binding.py +2 -2
  235. pulumi_gcp/gkebackup/backup_plan_iam_member.py +2 -2
  236. pulumi_gcp/gkebackup/backup_plan_iam_policy.py +2 -2
  237. pulumi_gcp/gkebackup/restore_plan.py +18 -18
  238. pulumi_gcp/gkebackup/restore_plan_iam_binding.py +2 -2
  239. pulumi_gcp/gkebackup/restore_plan_iam_member.py +2 -2
  240. pulumi_gcp/gkebackup/restore_plan_iam_policy.py +2 -2
  241. pulumi_gcp/gkehub/_inputs.py +21 -21
  242. pulumi_gcp/gkehub/feature.py +2 -4
  243. pulumi_gcp/gkehub/feature_iam_binding.py +2 -2
  244. pulumi_gcp/gkehub/feature_iam_member.py +2 -2
  245. pulumi_gcp/gkehub/feature_iam_policy.py +2 -2
  246. pulumi_gcp/gkehub/membership_iam_binding.py +2 -2
  247. pulumi_gcp/gkehub/membership_iam_member.py +2 -2
  248. pulumi_gcp/gkehub/membership_iam_policy.py +2 -2
  249. pulumi_gcp/gkehub/outputs.py +13 -13
  250. pulumi_gcp/gkehub/scope_iam_binding.py +2 -2
  251. pulumi_gcp/gkehub/scope_iam_member.py +2 -2
  252. pulumi_gcp/gkehub/scope_iam_policy.py +2 -2
  253. pulumi_gcp/healthcare/consent_store_iam_binding.py +4 -4
  254. pulumi_gcp/healthcare/consent_store_iam_member.py +4 -4
  255. pulumi_gcp/healthcare/consent_store_iam_policy.py +4 -4
  256. pulumi_gcp/iam/workload_identity_pool_provider.py +56 -0
  257. pulumi_gcp/iap/__init__.py +1 -0
  258. pulumi_gcp/iap/_inputs.py +1002 -0
  259. pulumi_gcp/iap/app_engine_service_iam_binding.py +2 -2
  260. pulumi_gcp/iap/app_engine_service_iam_member.py +2 -2
  261. pulumi_gcp/iap/app_engine_service_iam_policy.py +2 -2
  262. pulumi_gcp/iap/app_engine_version_iam_binding.py +2 -2
  263. pulumi_gcp/iap/app_engine_version_iam_member.py +2 -2
  264. pulumi_gcp/iap/app_engine_version_iam_policy.py +2 -2
  265. pulumi_gcp/iap/outputs.py +827 -0
  266. pulumi_gcp/iap/settings.py +546 -0
  267. pulumi_gcp/iap/tunnel_dest_group_iam_binding.py +2 -2
  268. pulumi_gcp/iap/tunnel_dest_group_iam_member.py +2 -2
  269. pulumi_gcp/iap/tunnel_dest_group_iam_policy.py +2 -2
  270. pulumi_gcp/iap/tunnel_iam_binding.py +2 -2
  271. pulumi_gcp/iap/tunnel_iam_member.py +2 -2
  272. pulumi_gcp/iap/tunnel_iam_policy.py +2 -2
  273. pulumi_gcp/iap/tunnel_instance_iam_binding.py +2 -2
  274. pulumi_gcp/iap/tunnel_instance_iam_member.py +2 -2
  275. pulumi_gcp/iap/tunnel_instance_iam_policy.py +2 -2
  276. pulumi_gcp/iap/web_backend_service_iam_binding.py +2 -2
  277. pulumi_gcp/iap/web_backend_service_iam_member.py +2 -2
  278. pulumi_gcp/iap/web_backend_service_iam_policy.py +2 -2
  279. pulumi_gcp/iap/web_iam_binding.py +2 -2
  280. pulumi_gcp/iap/web_iam_member.py +2 -2
  281. pulumi_gcp/iap/web_iam_policy.py +2 -2
  282. pulumi_gcp/iap/web_region_backend_service_iam_binding.py +2 -2
  283. pulumi_gcp/iap/web_region_backend_service_iam_member.py +2 -2
  284. pulumi_gcp/iap/web_region_backend_service_iam_policy.py +2 -2
  285. pulumi_gcp/iap/web_type_app_enging_iam_binding.py +2 -2
  286. pulumi_gcp/iap/web_type_app_enging_iam_member.py +2 -2
  287. pulumi_gcp/iap/web_type_app_enging_iam_policy.py +2 -2
  288. pulumi_gcp/iap/web_type_compute_iam_binding.py +2 -2
  289. pulumi_gcp/iap/web_type_compute_iam_member.py +2 -2
  290. pulumi_gcp/iap/web_type_compute_iam_policy.py +2 -2
  291. pulumi_gcp/identityplatform/config.py +2 -2
  292. pulumi_gcp/kms/ekm_connection_iam_binding.py +2 -2
  293. pulumi_gcp/kms/ekm_connection_iam_member.py +2 -2
  294. pulumi_gcp/kms/ekm_connection_iam_policy.py +2 -2
  295. pulumi_gcp/logging/log_view_iam_binding.py +4 -4
  296. pulumi_gcp/logging/log_view_iam_member.py +4 -4
  297. pulumi_gcp/logging/log_view_iam_policy.py +4 -4
  298. pulumi_gcp/looker/instance.py +104 -2
  299. pulumi_gcp/memorystore/_inputs.py +117 -4
  300. pulumi_gcp/memorystore/instance.py +105 -0
  301. pulumi_gcp/memorystore/outputs.py +80 -4
  302. pulumi_gcp/monitoring/_inputs.py +23 -0
  303. pulumi_gcp/monitoring/get_secret_version.py +22 -3
  304. pulumi_gcp/monitoring/outputs.py +16 -0
  305. pulumi_gcp/networkconnectivity/__init__.py +1 -0
  306. pulumi_gcp/networkconnectivity/_inputs.py +148 -0
  307. pulumi_gcp/networkconnectivity/group.py +764 -0
  308. pulumi_gcp/networkconnectivity/outputs.py +125 -0
  309. pulumi_gcp/networkconnectivity/spoke.py +144 -0
  310. pulumi_gcp/networksecurity/address_group_iam_binding.py +2 -2
  311. pulumi_gcp/networksecurity/address_group_iam_member.py +2 -2
  312. pulumi_gcp/networksecurity/address_group_iam_policy.py +2 -2
  313. pulumi_gcp/networksecurity/gateway_security_policy.py +7 -0
  314. pulumi_gcp/networksecurity/server_tls_policy.py +2 -2
  315. pulumi_gcp/networkservices/edge_cache_service.py +2 -2
  316. pulumi_gcp/networkservices/http_route.py +4 -4
  317. pulumi_gcp/notebooks/instance_iam_binding.py +2 -2
  318. pulumi_gcp/notebooks/instance_iam_member.py +2 -2
  319. pulumi_gcp/notebooks/instance_iam_policy.py +2 -2
  320. pulumi_gcp/notebooks/runtime_iam_binding.py +2 -2
  321. pulumi_gcp/notebooks/runtime_iam_member.py +2 -2
  322. pulumi_gcp/notebooks/runtime_iam_policy.py +2 -2
  323. pulumi_gcp/oracledatabase/__init__.py +20 -0
  324. pulumi_gcp/oracledatabase/_inputs.py +4745 -0
  325. pulumi_gcp/oracledatabase/autonomous_database.py +983 -0
  326. pulumi_gcp/oracledatabase/cloud_exadata_infrastructure.py +842 -0
  327. pulumi_gcp/oracledatabase/cloud_vm_cluster.py +1086 -0
  328. pulumi_gcp/oracledatabase/get_autonomous_database.py +290 -0
  329. pulumi_gcp/oracledatabase/get_autonomous_databases.py +150 -0
  330. pulumi_gcp/oracledatabase/get_cloud_exadata_infrastructure.py +257 -0
  331. pulumi_gcp/oracledatabase/get_cloud_exadata_infrastructures.py +150 -0
  332. pulumi_gcp/oracledatabase/get_cloud_vm_cluster.py +290 -0
  333. pulumi_gcp/oracledatabase/get_cloud_vm_clusters.py +150 -0
  334. pulumi_gcp/oracledatabase/get_db_nodes.py +245 -0
  335. pulumi_gcp/oracledatabase/get_db_servers.py +245 -0
  336. pulumi_gcp/oracledatabase/outputs.py +9304 -0
  337. pulumi_gcp/organizations/folder.py +7 -7
  338. pulumi_gcp/organizations/project.py +7 -7
  339. pulumi_gcp/orgpolicy/_inputs.py +3 -3
  340. pulumi_gcp/orgpolicy/outputs.py +2 -2
  341. pulumi_gcp/osconfig/os_policy_assignment.py +4 -4
  342. pulumi_gcp/privilegedaccessmanager/get_entitlement.py +46 -2
  343. pulumi_gcp/provider.py +40 -0
  344. pulumi_gcp/pubsub/schema_iam_binding.py +2 -2
  345. pulumi_gcp/pubsub/schema_iam_member.py +2 -2
  346. pulumi_gcp/pubsub/schema_iam_policy.py +2 -2
  347. pulumi_gcp/pubsub/subscription.py +18 -66
  348. pulumi_gcp/pubsub/topic_iam_binding.py +2 -2
  349. pulumi_gcp/pubsub/topic_iam_member.py +2 -2
  350. pulumi_gcp/pubsub/topic_iam_policy.py +2 -2
  351. pulumi_gcp/pulumi-plugin.json +1 -1
  352. pulumi_gcp/runtimeconfig/config_iam_binding.py +2 -2
  353. pulumi_gcp/runtimeconfig/config_iam_member.py +2 -2
  354. pulumi_gcp/runtimeconfig/config_iam_policy.py +2 -2
  355. pulumi_gcp/secretmanager/get_regional_secret_version.py +24 -5
  356. pulumi_gcp/secretmanager/get_regional_secret_version_access.py +24 -5
  357. pulumi_gcp/secretmanager/get_secret_version.py +22 -3
  358. pulumi_gcp/secretmanager/get_secret_version_access.py +22 -3
  359. pulumi_gcp/secretmanager/regional_secret.py +2 -2
  360. pulumi_gcp/secretmanager/regional_secret_iam_binding.py +2 -2
  361. pulumi_gcp/secretmanager/regional_secret_iam_member.py +2 -2
  362. pulumi_gcp/secretmanager/regional_secret_iam_policy.py +2 -2
  363. pulumi_gcp/secretmanager/secret_iam_binding.py +2 -2
  364. pulumi_gcp/secretmanager/secret_iam_member.py +2 -2
  365. pulumi_gcp/secretmanager/secret_iam_policy.py +2 -2
  366. pulumi_gcp/securesourcemanager/repository_iam_binding.py +2 -2
  367. pulumi_gcp/securesourcemanager/repository_iam_member.py +2 -2
  368. pulumi_gcp/securesourcemanager/repository_iam_policy.py +2 -2
  369. pulumi_gcp/securitycenter/v2_organization_source_iam_binding.py +4 -4
  370. pulumi_gcp/securitycenter/v2_organization_source_iam_member.py +4 -4
  371. pulumi_gcp/securitycenter/v2_organization_source_iam_policy.py +4 -4
  372. pulumi_gcp/serviceaccount/__init__.py +1 -0
  373. pulumi_gcp/serviceaccount/get_account.py +15 -1
  374. pulumi_gcp/serviceaccount/get_s.py +132 -0
  375. pulumi_gcp/serviceaccount/outputs.py +89 -0
  376. pulumi_gcp/servicedirectory/namespace_iam_binding.py +4 -4
  377. pulumi_gcp/servicedirectory/namespace_iam_member.py +4 -4
  378. pulumi_gcp/servicedirectory/namespace_iam_policy.py +4 -4
  379. pulumi_gcp/servicedirectory/service_iam_binding.py +4 -4
  380. pulumi_gcp/servicedirectory/service_iam_member.py +4 -4
  381. pulumi_gcp/servicedirectory/service_iam_policy.py +4 -4
  382. pulumi_gcp/siteverification/get_token.py +0 -16
  383. pulumi_gcp/siteverification/owner.py +0 -16
  384. pulumi_gcp/sourcerepo/repository_iam_binding.py +2 -2
  385. pulumi_gcp/sourcerepo/repository_iam_member.py +2 -2
  386. pulumi_gcp/sourcerepo/repository_iam_policy.py +2 -2
  387. pulumi_gcp/spanner/_inputs.py +237 -17
  388. pulumi_gcp/spanner/outputs.py +307 -12
  389. pulumi_gcp/sql/_inputs.py +12 -9
  390. pulumi_gcp/sql/outputs.py +8 -6
  391. pulumi_gcp/sql/user.py +28 -21
  392. pulumi_gcp/storage/_inputs.py +33 -0
  393. pulumi_gcp/storage/bucket.py +47 -0
  394. pulumi_gcp/storage/bucket_iam_binding.py +2 -2
  395. pulumi_gcp/storage/bucket_iam_member.py +2 -2
  396. pulumi_gcp/storage/bucket_iam_policy.py +2 -2
  397. pulumi_gcp/storage/get_bucket.py +12 -1
  398. pulumi_gcp/storage/managed_folder_iam_binding.py +4 -4
  399. pulumi_gcp/storage/managed_folder_iam_member.py +4 -4
  400. pulumi_gcp/storage/managed_folder_iam_policy.py +4 -4
  401. pulumi_gcp/storage/outputs.py +38 -0
  402. pulumi_gcp/tags/tag_key_iam_binding.py +4 -4
  403. pulumi_gcp/tags/tag_key_iam_member.py +4 -4
  404. pulumi_gcp/tags/tag_key_iam_policy.py +4 -4
  405. pulumi_gcp/tags/tag_value_iam_binding.py +4 -4
  406. pulumi_gcp/tags/tag_value_iam_member.py +4 -4
  407. pulumi_gcp/tags/tag_value_iam_policy.py +4 -4
  408. pulumi_gcp/transcoder/__init__.py +11 -0
  409. pulumi_gcp/transcoder/_inputs.py +3991 -0
  410. pulumi_gcp/transcoder/job.py +2134 -0
  411. pulumi_gcp/transcoder/job_template.py +1524 -0
  412. pulumi_gcp/transcoder/outputs.py +2918 -0
  413. pulumi_gcp/vertex/ai_deployment_resource_pool.py +2 -2
  414. pulumi_gcp/vertex/ai_feature_store_entity_type_iam_binding.py +2 -2
  415. pulumi_gcp/vertex/ai_feature_store_entity_type_iam_member.py +2 -2
  416. pulumi_gcp/vertex/ai_feature_store_entity_type_iam_policy.py +2 -2
  417. pulumi_gcp/vertex/ai_feature_store_iam_binding.py +2 -2
  418. pulumi_gcp/vertex/ai_feature_store_iam_member.py +2 -2
  419. pulumi_gcp/vertex/ai_feature_store_iam_policy.py +2 -2
  420. pulumi_gcp/vmwareengine/_inputs.py +912 -6
  421. pulumi_gcp/vmwareengine/cluster.py +100 -2
  422. pulumi_gcp/vmwareengine/get_cluster.py +12 -1
  423. pulumi_gcp/vmwareengine/outputs.py +1310 -49
  424. pulumi_gcp/vmwareengine/private_cloud.py +44 -0
  425. pulumi_gcp/workstations/_inputs.py +54 -0
  426. pulumi_gcp/workstations/outputs.py +32 -0
  427. pulumi_gcp/workstations/workstation_config.py +211 -6
  428. pulumi_gcp/workstations/workstation_config_iam_binding.py +2 -2
  429. pulumi_gcp/workstations/workstation_config_iam_member.py +2 -2
  430. pulumi_gcp/workstations/workstation_config_iam_policy.py +2 -2
  431. pulumi_gcp/workstations/workstation_iam_binding.py +2 -2
  432. pulumi_gcp/workstations/workstation_iam_member.py +2 -2
  433. pulumi_gcp/workstations/workstation_iam_policy.py +2 -2
  434. {pulumi_gcp-8.7.0a1730183903.dist-info → pulumi_gcp-8.8.0.dist-info}/METADATA +1 -1
  435. {pulumi_gcp-8.7.0a1730183903.dist-info → pulumi_gcp-8.8.0.dist-info}/RECORD +437 -412
  436. {pulumi_gcp-8.7.0a1730183903.dist-info → pulumi_gcp-8.8.0.dist-info}/WHEEL +1 -1
  437. {pulumi_gcp-8.7.0a1730183903.dist-info → pulumi_gcp-8.8.0.dist-info}/top_level.txt +0 -0
@@ -6081,6 +6081,15 @@ if not MYPY:
6081
6081
  your on-premise gateway or another Cloud provider's VPN gateway,
6082
6082
  it cannot be an IP address from Google Compute Engine.
6083
6083
  """
6084
+ ipv6_address: NotRequired[pulumi.Input[str]]
6085
+ """
6086
+ IPv6 address of the interface in the external VPN gateway. This IPv6
6087
+ address can be either from your on-premise gateway or another Cloud
6088
+ provider's VPN gateway, it cannot be an IP address from Google Compute
6089
+ Engine. Must specify an IPv6 address (not IPV4-mapped) using any format
6090
+ described in RFC 4291 (e.g. 2001:db8:0:0:2d9:51:0:0). The output format
6091
+ is RFC 5952 format (e.g. 2001:db8::2d9:51:0:0).
6092
+ """
6084
6093
  elif False:
6085
6094
  ExternalVpnGatewayInterfaceArgsDict: TypeAlias = Mapping[str, Any]
6086
6095
 
@@ -6088,7 +6097,8 @@ elif False:
6088
6097
  class ExternalVpnGatewayInterfaceArgs:
6089
6098
  def __init__(__self__, *,
6090
6099
  id: Optional[pulumi.Input[int]] = None,
6091
- ip_address: Optional[pulumi.Input[str]] = None):
6100
+ ip_address: Optional[pulumi.Input[str]] = None,
6101
+ ipv6_address: Optional[pulumi.Input[str]] = None):
6092
6102
  """
6093
6103
  :param pulumi.Input[int] id: The numeric ID for this interface. Allowed values are based on the redundancy type
6094
6104
  of this external VPN gateway
@@ -6099,11 +6109,19 @@ class ExternalVpnGatewayInterfaceArgs:
6099
6109
  Only IPv4 is supported. This IP address can be either from
6100
6110
  your on-premise gateway or another Cloud provider's VPN gateway,
6101
6111
  it cannot be an IP address from Google Compute Engine.
6112
+ :param pulumi.Input[str] ipv6_address: IPv6 address of the interface in the external VPN gateway. This IPv6
6113
+ address can be either from your on-premise gateway or another Cloud
6114
+ provider's VPN gateway, it cannot be an IP address from Google Compute
6115
+ Engine. Must specify an IPv6 address (not IPV4-mapped) using any format
6116
+ described in RFC 4291 (e.g. 2001:db8:0:0:2d9:51:0:0). The output format
6117
+ is RFC 5952 format (e.g. 2001:db8::2d9:51:0:0).
6102
6118
  """
6103
6119
  if id is not None:
6104
6120
  pulumi.set(__self__, "id", id)
6105
6121
  if ip_address is not None:
6106
6122
  pulumi.set(__self__, "ip_address", ip_address)
6123
+ if ipv6_address is not None:
6124
+ pulumi.set(__self__, "ipv6_address", ipv6_address)
6107
6125
 
6108
6126
  @property
6109
6127
  @pulumi.getter
@@ -6136,6 +6154,23 @@ class ExternalVpnGatewayInterfaceArgs:
6136
6154
  def ip_address(self, value: Optional[pulumi.Input[str]]):
6137
6155
  pulumi.set(self, "ip_address", value)
6138
6156
 
6157
+ @property
6158
+ @pulumi.getter(name="ipv6Address")
6159
+ def ipv6_address(self) -> Optional[pulumi.Input[str]]:
6160
+ """
6161
+ IPv6 address of the interface in the external VPN gateway. This IPv6
6162
+ address can be either from your on-premise gateway or another Cloud
6163
+ provider's VPN gateway, it cannot be an IP address from Google Compute
6164
+ Engine. Must specify an IPv6 address (not IPV4-mapped) using any format
6165
+ described in RFC 4291 (e.g. 2001:db8:0:0:2d9:51:0:0). The output format
6166
+ is RFC 5952 format (e.g. 2001:db8::2d9:51:0:0).
6167
+ """
6168
+ return pulumi.get(self, "ipv6_address")
6169
+
6170
+ @ipv6_address.setter
6171
+ def ipv6_address(self, value: Optional[pulumi.Input[str]]):
6172
+ pulumi.set(self, "ipv6_address", value)
6173
+
6139
6174
 
6140
6175
  if not MYPY:
6141
6176
  class FirewallAllowArgsDict(TypedDict):
@@ -9896,7 +9931,11 @@ if not MYPY:
9896
9931
  """
9897
9932
  threads_per_core: NotRequired[pulumi.Input[int]]
9898
9933
  """
9899
- he number of threads per physical core. To disable [simultaneous multithreading (SMT)](https://cloud.google.com/compute/docs/instances/disabling-smt) set this to 1.
9934
+ The number of threads per physical core. To disable [simultaneous multithreading (SMT)](https://cloud.google.com/compute/docs/instances/disabling-smt) set this to 1.
9935
+ """
9936
+ turbo_mode: NotRequired[pulumi.Input[str]]
9937
+ """
9938
+ Turbo frequency mode to use for the instance. Supported modes are currently either `ALL_CORE_MAX` or unset (default).
9900
9939
  """
9901
9940
  visible_core_count: NotRequired[pulumi.Input[int]]
9902
9941
  """
@@ -9910,16 +9949,20 @@ class InstanceAdvancedMachineFeaturesArgs:
9910
9949
  def __init__(__self__, *,
9911
9950
  enable_nested_virtualization: Optional[pulumi.Input[bool]] = None,
9912
9951
  threads_per_core: Optional[pulumi.Input[int]] = None,
9952
+ turbo_mode: Optional[pulumi.Input[str]] = None,
9913
9953
  visible_core_count: Optional[pulumi.Input[int]] = None):
9914
9954
  """
9915
9955
  :param pulumi.Input[bool] enable_nested_virtualization: Defines whether the instance should have nested virtualization enabled. Defaults to false.
9916
- :param pulumi.Input[int] threads_per_core: he number of threads per physical core. To disable [simultaneous multithreading (SMT)](https://cloud.google.com/compute/docs/instances/disabling-smt) set this to 1.
9956
+ :param pulumi.Input[int] threads_per_core: The number of threads per physical core. To disable [simultaneous multithreading (SMT)](https://cloud.google.com/compute/docs/instances/disabling-smt) set this to 1.
9957
+ :param pulumi.Input[str] turbo_mode: Turbo frequency mode to use for the instance. Supported modes are currently either `ALL_CORE_MAX` or unset (default).
9917
9958
  :param pulumi.Input[int] visible_core_count: The number of physical cores to expose to an instance. [visible cores info (VC)](https://cloud.google.com/compute/docs/instances/customize-visible-cores).
9918
9959
  """
9919
9960
  if enable_nested_virtualization is not None:
9920
9961
  pulumi.set(__self__, "enable_nested_virtualization", enable_nested_virtualization)
9921
9962
  if threads_per_core is not None:
9922
9963
  pulumi.set(__self__, "threads_per_core", threads_per_core)
9964
+ if turbo_mode is not None:
9965
+ pulumi.set(__self__, "turbo_mode", turbo_mode)
9923
9966
  if visible_core_count is not None:
9924
9967
  pulumi.set(__self__, "visible_core_count", visible_core_count)
9925
9968
 
@@ -9939,7 +9982,7 @@ class InstanceAdvancedMachineFeaturesArgs:
9939
9982
  @pulumi.getter(name="threadsPerCore")
9940
9983
  def threads_per_core(self) -> Optional[pulumi.Input[int]]:
9941
9984
  """
9942
- he number of threads per physical core. To disable [simultaneous multithreading (SMT)](https://cloud.google.com/compute/docs/instances/disabling-smt) set this to 1.
9985
+ The number of threads per physical core. To disable [simultaneous multithreading (SMT)](https://cloud.google.com/compute/docs/instances/disabling-smt) set this to 1.
9943
9986
  """
9944
9987
  return pulumi.get(self, "threads_per_core")
9945
9988
 
@@ -9947,6 +9990,18 @@ class InstanceAdvancedMachineFeaturesArgs:
9947
9990
  def threads_per_core(self, value: Optional[pulumi.Input[int]]):
9948
9991
  pulumi.set(self, "threads_per_core", value)
9949
9992
 
9993
+ @property
9994
+ @pulumi.getter(name="turboMode")
9995
+ def turbo_mode(self) -> Optional[pulumi.Input[str]]:
9996
+ """
9997
+ Turbo frequency mode to use for the instance. Supported modes are currently either `ALL_CORE_MAX` or unset (default).
9998
+ """
9999
+ return pulumi.get(self, "turbo_mode")
10000
+
10001
+ @turbo_mode.setter
10002
+ def turbo_mode(self, value: Optional[pulumi.Input[str]]):
10003
+ pulumi.set(self, "turbo_mode", value)
10004
+
9950
10005
  @property
9951
10006
  @pulumi.getter(name="visibleCoreCount")
9952
10007
  def visible_core_count(self) -> Optional[pulumi.Input[int]]:
@@ -10713,6 +10768,10 @@ if not MYPY:
10713
10768
  """
10714
10769
  The number of threads per physical core. To disable simultaneous multithreading (SMT) set this to 1. If unset, the maximum number of threads supported per core by the underlying processor is assumed.
10715
10770
  """
10771
+ turbo_mode: NotRequired[pulumi.Input[str]]
10772
+ """
10773
+ Turbo frequency mode to use for the instance. Currently supported modes is "ALL_CORE_MAX".
10774
+ """
10716
10775
  visible_core_count: NotRequired[pulumi.Input[int]]
10717
10776
  """
10718
10777
  The number of physical cores to expose to an instance. Multiply by the number of threads per core to compute the total number of virtual CPUs to expose to the instance. If unset, the number of cores is inferred from the instance\\'s nominal CPU count and the underlying platform\\'s SMT width.
@@ -10725,16 +10784,20 @@ class InstanceFromMachineImageAdvancedMachineFeaturesArgs:
10725
10784
  def __init__(__self__, *,
10726
10785
  enable_nested_virtualization: Optional[pulumi.Input[bool]] = None,
10727
10786
  threads_per_core: Optional[pulumi.Input[int]] = None,
10787
+ turbo_mode: Optional[pulumi.Input[str]] = None,
10728
10788
  visible_core_count: Optional[pulumi.Input[int]] = None):
10729
10789
  """
10730
10790
  :param pulumi.Input[bool] enable_nested_virtualization: Whether to enable nested virtualization or not.
10731
10791
  :param pulumi.Input[int] threads_per_core: The number of threads per physical core. To disable simultaneous multithreading (SMT) set this to 1. If unset, the maximum number of threads supported per core by the underlying processor is assumed.
10792
+ :param pulumi.Input[str] turbo_mode: Turbo frequency mode to use for the instance. Currently supported modes is "ALL_CORE_MAX".
10732
10793
  :param pulumi.Input[int] visible_core_count: The number of physical cores to expose to an instance. Multiply by the number of threads per core to compute the total number of virtual CPUs to expose to the instance. If unset, the number of cores is inferred from the instance\\'s nominal CPU count and the underlying platform\\'s SMT width.
10733
10794
  """
10734
10795
  if enable_nested_virtualization is not None:
10735
10796
  pulumi.set(__self__, "enable_nested_virtualization", enable_nested_virtualization)
10736
10797
  if threads_per_core is not None:
10737
10798
  pulumi.set(__self__, "threads_per_core", threads_per_core)
10799
+ if turbo_mode is not None:
10800
+ pulumi.set(__self__, "turbo_mode", turbo_mode)
10738
10801
  if visible_core_count is not None:
10739
10802
  pulumi.set(__self__, "visible_core_count", visible_core_count)
10740
10803
 
@@ -10762,6 +10825,18 @@ class InstanceFromMachineImageAdvancedMachineFeaturesArgs:
10762
10825
  def threads_per_core(self, value: Optional[pulumi.Input[int]]):
10763
10826
  pulumi.set(self, "threads_per_core", value)
10764
10827
 
10828
+ @property
10829
+ @pulumi.getter(name="turboMode")
10830
+ def turbo_mode(self) -> Optional[pulumi.Input[str]]:
10831
+ """
10832
+ Turbo frequency mode to use for the instance. Currently supported modes is "ALL_CORE_MAX".
10833
+ """
10834
+ return pulumi.get(self, "turbo_mode")
10835
+
10836
+ @turbo_mode.setter
10837
+ def turbo_mode(self, value: Optional[pulumi.Input[str]]):
10838
+ pulumi.set(self, "turbo_mode", value)
10839
+
10765
10840
  @property
10766
10841
  @pulumi.getter(name="visibleCoreCount")
10767
10842
  def visible_core_count(self) -> Optional[pulumi.Input[int]]:
@@ -12859,6 +12934,10 @@ if not MYPY:
12859
12934
  """
12860
12935
  The number of threads per physical core. To disable simultaneous multithreading (SMT) set this to 1. If unset, the maximum number of threads supported per core by the underlying processor is assumed.
12861
12936
  """
12937
+ turbo_mode: NotRequired[pulumi.Input[str]]
12938
+ """
12939
+ Turbo frequency mode to use for the instance. Currently supported modes is "ALL_CORE_MAX".
12940
+ """
12862
12941
  visible_core_count: NotRequired[pulumi.Input[int]]
12863
12942
  """
12864
12943
  The number of physical cores to expose to an instance. Multiply by the number of threads per core to compute the total number of virtual CPUs to expose to the instance. If unset, the number of cores is inferred from the instance\\'s nominal CPU count and the underlying platform\\'s SMT width.
@@ -12871,16 +12950,20 @@ class InstanceFromTemplateAdvancedMachineFeaturesArgs:
12871
12950
  def __init__(__self__, *,
12872
12951
  enable_nested_virtualization: Optional[pulumi.Input[bool]] = None,
12873
12952
  threads_per_core: Optional[pulumi.Input[int]] = None,
12953
+ turbo_mode: Optional[pulumi.Input[str]] = None,
12874
12954
  visible_core_count: Optional[pulumi.Input[int]] = None):
12875
12955
  """
12876
12956
  :param pulumi.Input[bool] enable_nested_virtualization: Whether to enable nested virtualization or not.
12877
12957
  :param pulumi.Input[int] threads_per_core: The number of threads per physical core. To disable simultaneous multithreading (SMT) set this to 1. If unset, the maximum number of threads supported per core by the underlying processor is assumed.
12958
+ :param pulumi.Input[str] turbo_mode: Turbo frequency mode to use for the instance. Currently supported modes is "ALL_CORE_MAX".
12878
12959
  :param pulumi.Input[int] visible_core_count: The number of physical cores to expose to an instance. Multiply by the number of threads per core to compute the total number of virtual CPUs to expose to the instance. If unset, the number of cores is inferred from the instance\\'s nominal CPU count and the underlying platform\\'s SMT width.
12879
12960
  """
12880
12961
  if enable_nested_virtualization is not None:
12881
12962
  pulumi.set(__self__, "enable_nested_virtualization", enable_nested_virtualization)
12882
12963
  if threads_per_core is not None:
12883
12964
  pulumi.set(__self__, "threads_per_core", threads_per_core)
12965
+ if turbo_mode is not None:
12966
+ pulumi.set(__self__, "turbo_mode", turbo_mode)
12884
12967
  if visible_core_count is not None:
12885
12968
  pulumi.set(__self__, "visible_core_count", visible_core_count)
12886
12969
 
@@ -12908,6 +12991,18 @@ class InstanceFromTemplateAdvancedMachineFeaturesArgs:
12908
12991
  def threads_per_core(self, value: Optional[pulumi.Input[int]]):
12909
12992
  pulumi.set(self, "threads_per_core", value)
12910
12993
 
12994
+ @property
12995
+ @pulumi.getter(name="turboMode")
12996
+ def turbo_mode(self) -> Optional[pulumi.Input[str]]:
12997
+ """
12998
+ Turbo frequency mode to use for the instance. Currently supported modes is "ALL_CORE_MAX".
12999
+ """
13000
+ return pulumi.get(self, "turbo_mode")
13001
+
13002
+ @turbo_mode.setter
13003
+ def turbo_mode(self, value: Optional[pulumi.Input[str]]):
13004
+ pulumi.set(self, "turbo_mode", value)
13005
+
12911
13006
  @property
12912
13007
  @pulumi.getter(name="visibleCoreCount")
12913
13008
  def visible_core_count(self) -> Optional[pulumi.Input[int]]:
@@ -17964,6 +18059,10 @@ if not MYPY:
17964
18059
  """
17965
18060
  The number of threads per physical core. To disable [simultaneous multithreading (SMT)](https://cloud.google.com/compute/docs/instances/disabling-smt) set this to 1.
17966
18061
  """
18062
+ turbo_mode: NotRequired[pulumi.Input[str]]
18063
+ """
18064
+ Turbo frequency mode to use for the instance. Supported modes are currently either `ALL_CORE_MAX` or unset (default).
18065
+ """
17967
18066
  visible_core_count: NotRequired[pulumi.Input[int]]
17968
18067
  """
17969
18068
  The number of physical cores to expose to an instance. [visible cores info (VC)](https://cloud.google.com/compute/docs/instances/customize-visible-cores).
@@ -17976,16 +18075,20 @@ class InstanceTemplateAdvancedMachineFeaturesArgs:
17976
18075
  def __init__(__self__, *,
17977
18076
  enable_nested_virtualization: Optional[pulumi.Input[bool]] = None,
17978
18077
  threads_per_core: Optional[pulumi.Input[int]] = None,
18078
+ turbo_mode: Optional[pulumi.Input[str]] = None,
17979
18079
  visible_core_count: Optional[pulumi.Input[int]] = None):
17980
18080
  """
17981
18081
  :param pulumi.Input[bool] enable_nested_virtualization: Defines whether the instance should have nested virtualization enabled. Defaults to false.
17982
18082
  :param pulumi.Input[int] threads_per_core: The number of threads per physical core. To disable [simultaneous multithreading (SMT)](https://cloud.google.com/compute/docs/instances/disabling-smt) set this to 1.
18083
+ :param pulumi.Input[str] turbo_mode: Turbo frequency mode to use for the instance. Supported modes are currently either `ALL_CORE_MAX` or unset (default).
17983
18084
  :param pulumi.Input[int] visible_core_count: The number of physical cores to expose to an instance. [visible cores info (VC)](https://cloud.google.com/compute/docs/instances/customize-visible-cores).
17984
18085
  """
17985
18086
  if enable_nested_virtualization is not None:
17986
18087
  pulumi.set(__self__, "enable_nested_virtualization", enable_nested_virtualization)
17987
18088
  if threads_per_core is not None:
17988
18089
  pulumi.set(__self__, "threads_per_core", threads_per_core)
18090
+ if turbo_mode is not None:
18091
+ pulumi.set(__self__, "turbo_mode", turbo_mode)
17989
18092
  if visible_core_count is not None:
17990
18093
  pulumi.set(__self__, "visible_core_count", visible_core_count)
17991
18094
 
@@ -18013,6 +18116,18 @@ class InstanceTemplateAdvancedMachineFeaturesArgs:
18013
18116
  def threads_per_core(self, value: Optional[pulumi.Input[int]]):
18014
18117
  pulumi.set(self, "threads_per_core", value)
18015
18118
 
18119
+ @property
18120
+ @pulumi.getter(name="turboMode")
18121
+ def turbo_mode(self) -> Optional[pulumi.Input[str]]:
18122
+ """
18123
+ Turbo frequency mode to use for the instance. Supported modes are currently either `ALL_CORE_MAX` or unset (default).
18124
+ """
18125
+ return pulumi.get(self, "turbo_mode")
18126
+
18127
+ @turbo_mode.setter
18128
+ def turbo_mode(self, value: Optional[pulumi.Input[str]]):
18129
+ pulumi.set(self, "turbo_mode", value)
18130
+
18016
18131
  @property
18017
18132
  @pulumi.getter(name="visibleCoreCount")
18018
18133
  def visible_core_count(self) -> Optional[pulumi.Input[int]]:
@@ -18148,6 +18263,10 @@ if not MYPY:
18148
18263
  Values must be between 10,000 and 120,000. For more details, see the
18149
18264
  [Extreme persistent disk documentation](https://cloud.google.com/compute/docs/disks/extreme-persistent-disk).
18150
18265
  """
18266
+ provisioned_throughput: NotRequired[pulumi.Input[int]]
18267
+ """
18268
+ Indicates how much throughput to provision for the disk, in MB/s. This sets the amount of data that can be read or written from the disk per second. Values must greater than or equal to 1. For more details, see the [Hyperdisk documentation](https://cloud.google.com/compute/docs/disks/hyperdisks).
18269
+ """
18151
18270
  resource_manager_tags: NotRequired[pulumi.Input[Mapping[str, pulumi.Input[str]]]]
18152
18271
  """
18153
18272
  A set of key/value resource manager tag pairs to bind to this disk. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456.
@@ -18216,6 +18335,7 @@ class InstanceTemplateDiskArgs:
18216
18335
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
18217
18336
  mode: Optional[pulumi.Input[str]] = None,
18218
18337
  provisioned_iops: Optional[pulumi.Input[int]] = None,
18338
+ provisioned_throughput: Optional[pulumi.Input[int]] = None,
18219
18339
  resource_manager_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
18220
18340
  resource_policies: Optional[pulumi.Input[str]] = None,
18221
18341
  source: Optional[pulumi.Input[str]] = None,
@@ -18260,6 +18380,7 @@ class InstanceTemplateDiskArgs:
18260
18380
  sets the number of I/O operations per second that the disk can handle.
18261
18381
  Values must be between 10,000 and 120,000. For more details, see the
18262
18382
  [Extreme persistent disk documentation](https://cloud.google.com/compute/docs/disks/extreme-persistent-disk).
18383
+ :param pulumi.Input[int] provisioned_throughput: Indicates how much throughput to provision for the disk, in MB/s. This sets the amount of data that can be read or written from the disk per second. Values must greater than or equal to 1. For more details, see the [Hyperdisk documentation](https://cloud.google.com/compute/docs/disks/hyperdisks).
18263
18384
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] resource_manager_tags: A set of key/value resource manager tag pairs to bind to this disk. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456.
18264
18385
  :param pulumi.Input[str] resource_policies: - A list (short name or id) of resource policies to attach to this disk for automatic snapshot creations. Currently a max of 1 resource policy is supported.
18265
18386
  :param pulumi.Input[str] source: The name (**not self_link**)
@@ -18310,6 +18431,8 @@ class InstanceTemplateDiskArgs:
18310
18431
  pulumi.set(__self__, "mode", mode)
18311
18432
  if provisioned_iops is not None:
18312
18433
  pulumi.set(__self__, "provisioned_iops", provisioned_iops)
18434
+ if provisioned_throughput is not None:
18435
+ pulumi.set(__self__, "provisioned_throughput", provisioned_throughput)
18313
18436
  if resource_manager_tags is not None:
18314
18437
  pulumi.set(__self__, "resource_manager_tags", resource_manager_tags)
18315
18438
  if resource_policies is not None:
@@ -18483,6 +18606,18 @@ class InstanceTemplateDiskArgs:
18483
18606
  def provisioned_iops(self, value: Optional[pulumi.Input[int]]):
18484
18607
  pulumi.set(self, "provisioned_iops", value)
18485
18608
 
18609
+ @property
18610
+ @pulumi.getter(name="provisionedThroughput")
18611
+ def provisioned_throughput(self) -> Optional[pulumi.Input[int]]:
18612
+ """
18613
+ Indicates how much throughput to provision for the disk, in MB/s. This sets the amount of data that can be read or written from the disk per second. Values must greater than or equal to 1. For more details, see the [Hyperdisk documentation](https://cloud.google.com/compute/docs/disks/hyperdisks).
18614
+ """
18615
+ return pulumi.get(self, "provisioned_throughput")
18616
+
18617
+ @provisioned_throughput.setter
18618
+ def provisioned_throughput(self, value: Optional[pulumi.Input[int]]):
18619
+ pulumi.set(self, "provisioned_throughput", value)
18620
+
18486
18621
  @property
18487
18622
  @pulumi.getter(name="resourceManagerTags")
18488
18623
  def resource_manager_tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
@@ -21336,14 +21471,15 @@ if not MYPY:
21336
21471
  layer4_configs: pulumi.Input[Sequence[pulumi.Input['NetworkFirewallPolicyRuleMatchLayer4ConfigArgsDict']]]
21337
21472
  """
21338
21473
  Pairs of IP protocols and ports that the rule should match.
21474
+ Structure is documented below.
21339
21475
  """
21340
21476
  dest_address_groups: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
21341
21477
  """
21342
- Address groups which should be matched against the traffic destination. Maximum number of destination address groups is 10. Destination address groups is only supported in Egress rules.
21478
+ Address groups which should be matched against the traffic destination. Maximum number of destination address groups is 10.
21343
21479
  """
21344
21480
  dest_fqdns: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
21345
21481
  """
21346
- Domain names that will be used to match against the resolved domain name of destination of traffic. Can only be specified if DIRECTION is egress.
21482
+ Fully Qualified Domain Name (FQDN) which should be matched against traffic destination. Maximum number of destination fqdn allowed is 100.
21347
21483
  """
21348
21484
  dest_ip_ranges: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
21349
21485
  """
@@ -21351,19 +21487,19 @@ if not MYPY:
21351
21487
  """
21352
21488
  dest_region_codes: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
21353
21489
  """
21354
- The Unicode country codes whose IP addresses will be used to match against the source of traffic. Can only be specified if DIRECTION is egress.
21490
+ Region codes whose IP addresses will be used to match for destination of traffic. Should be specified as 2 letter country code defined as per ISO 3166 alpha-2 country codes. ex."US" Maximum number of dest region codes allowed is 5000.
21355
21491
  """
21356
21492
  dest_threat_intelligences: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
21357
21493
  """
21358
- Name of the Google Cloud Threat Intelligence list.
21494
+ Names of Network Threat Intelligence lists. The IPs in these lists will be matched against traffic destination.
21359
21495
  """
21360
21496
  src_address_groups: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
21361
21497
  """
21362
- Address groups which should be matched against the traffic source. Maximum number of source address groups is 10. Source address groups is only supported in Ingress rules.
21498
+ Address groups which should be matched against the traffic source. Maximum number of source address groups is 10.
21363
21499
  """
21364
21500
  src_fqdns: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
21365
21501
  """
21366
- Domain names that will be used to match against the resolved domain name of source of traffic. Can only be specified if DIRECTION is ingress.
21502
+ Fully Qualified Domain Name (FQDN) which should be matched against traffic source. Maximum number of source fqdn allowed is 100.
21367
21503
  """
21368
21504
  src_ip_ranges: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
21369
21505
  """
@@ -21371,17 +21507,19 @@ if not MYPY:
21371
21507
  """
21372
21508
  src_region_codes: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
21373
21509
  """
21374
- The Unicode country codes whose IP addresses will be used to match against the source of traffic. Can only be specified if DIRECTION is ingress.
21510
+ Region codes whose IP addresses will be used to match for source of traffic. Should be specified as 2 letter country code defined as per ISO 3166 alpha-2 country codes. ex."US" Maximum number of source region codes allowed is 5000.
21375
21511
  """
21376
21512
  src_secure_tags: NotRequired[pulumi.Input[Sequence[pulumi.Input['NetworkFirewallPolicyRuleMatchSrcSecureTagArgsDict']]]]
21377
21513
  """
21378
- List of secure tag values, which should be matched at the source of the traffic. For INGRESS rule, if all the <code>srcSecureTag</code> are INEFFECTIVE, and there is no <code>srcIpRange</code>, this rule will be ignored. Maximum number of source tag values allowed is 256.
21514
+ List of secure tag values, which should be matched at the source of the traffic. For INGRESS rule, if all the srcSecureTag are INEFFECTIVE, and there is no srcIpRange, this rule will be ignored. Maximum number of source tag values allowed is 256.
21515
+ Structure is documented below.
21379
21516
  """
21380
21517
  src_threat_intelligences: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
21381
21518
  """
21382
- Name of the Google Cloud Threat Intelligence list.
21519
+ Names of Network Threat Intelligence lists. The IPs in these lists will be matched against traffic source.
21383
21520
 
21384
- The `layer4_configs` block supports:
21521
+
21522
+ <a name="nested_layer4_configs"></a>The `layer4_configs` block supports:
21385
21523
  """
21386
21524
  elif False:
21387
21525
  NetworkFirewallPolicyRuleMatchArgsDict: TypeAlias = Mapping[str, Any]
@@ -21403,19 +21541,22 @@ class NetworkFirewallPolicyRuleMatchArgs:
21403
21541
  src_threat_intelligences: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
21404
21542
  """
21405
21543
  :param pulumi.Input[Sequence[pulumi.Input['NetworkFirewallPolicyRuleMatchLayer4ConfigArgs']]] layer4_configs: Pairs of IP protocols and ports that the rule should match.
21406
- :param pulumi.Input[Sequence[pulumi.Input[str]]] dest_address_groups: Address groups which should be matched against the traffic destination. Maximum number of destination address groups is 10. Destination address groups is only supported in Egress rules.
21407
- :param pulumi.Input[Sequence[pulumi.Input[str]]] dest_fqdns: Domain names that will be used to match against the resolved domain name of destination of traffic. Can only be specified if DIRECTION is egress.
21544
+ Structure is documented below.
21545
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] dest_address_groups: Address groups which should be matched against the traffic destination. Maximum number of destination address groups is 10.
21546
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] dest_fqdns: Fully Qualified Domain Name (FQDN) which should be matched against traffic destination. Maximum number of destination fqdn allowed is 100.
21408
21547
  :param pulumi.Input[Sequence[pulumi.Input[str]]] dest_ip_ranges: CIDR IP address range. Maximum number of destination CIDR IP ranges allowed is 5000.
21409
- :param pulumi.Input[Sequence[pulumi.Input[str]]] dest_region_codes: The Unicode country codes whose IP addresses will be used to match against the source of traffic. Can only be specified if DIRECTION is egress.
21410
- :param pulumi.Input[Sequence[pulumi.Input[str]]] dest_threat_intelligences: Name of the Google Cloud Threat Intelligence list.
21411
- :param pulumi.Input[Sequence[pulumi.Input[str]]] src_address_groups: Address groups which should be matched against the traffic source. Maximum number of source address groups is 10. Source address groups is only supported in Ingress rules.
21412
- :param pulumi.Input[Sequence[pulumi.Input[str]]] src_fqdns: Domain names that will be used to match against the resolved domain name of source of traffic. Can only be specified if DIRECTION is ingress.
21548
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] dest_region_codes: Region codes whose IP addresses will be used to match for destination of traffic. Should be specified as 2 letter country code defined as per ISO 3166 alpha-2 country codes. ex."US" Maximum number of dest region codes allowed is 5000.
21549
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] dest_threat_intelligences: Names of Network Threat Intelligence lists. The IPs in these lists will be matched against traffic destination.
21550
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] src_address_groups: Address groups which should be matched against the traffic source. Maximum number of source address groups is 10.
21551
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] src_fqdns: Fully Qualified Domain Name (FQDN) which should be matched against traffic source. Maximum number of source fqdn allowed is 100.
21413
21552
  :param pulumi.Input[Sequence[pulumi.Input[str]]] src_ip_ranges: CIDR IP address range. Maximum number of source CIDR IP ranges allowed is 5000.
21414
- :param pulumi.Input[Sequence[pulumi.Input[str]]] src_region_codes: The Unicode country codes whose IP addresses will be used to match against the source of traffic. Can only be specified if DIRECTION is ingress.
21415
- :param pulumi.Input[Sequence[pulumi.Input['NetworkFirewallPolicyRuleMatchSrcSecureTagArgs']]] src_secure_tags: List of secure tag values, which should be matched at the source of the traffic. For INGRESS rule, if all the <code>srcSecureTag</code> are INEFFECTIVE, and there is no <code>srcIpRange</code>, this rule will be ignored. Maximum number of source tag values allowed is 256.
21416
- :param pulumi.Input[Sequence[pulumi.Input[str]]] src_threat_intelligences: Name of the Google Cloud Threat Intelligence list.
21553
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] src_region_codes: Region codes whose IP addresses will be used to match for source of traffic. Should be specified as 2 letter country code defined as per ISO 3166 alpha-2 country codes. ex."US" Maximum number of source region codes allowed is 5000.
21554
+ :param pulumi.Input[Sequence[pulumi.Input['NetworkFirewallPolicyRuleMatchSrcSecureTagArgs']]] src_secure_tags: List of secure tag values, which should be matched at the source of the traffic. For INGRESS rule, if all the srcSecureTag are INEFFECTIVE, and there is no srcIpRange, this rule will be ignored. Maximum number of source tag values allowed is 256.
21555
+ Structure is documented below.
21556
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] src_threat_intelligences: Names of Network Threat Intelligence lists. The IPs in these lists will be matched against traffic source.
21417
21557
 
21418
- The `layer4_configs` block supports:
21558
+
21559
+ <a name="nested_layer4_configs"></a>The `layer4_configs` block supports:
21419
21560
  """
21420
21561
  pulumi.set(__self__, "layer4_configs", layer4_configs)
21421
21562
  if dest_address_groups is not None:
@@ -21446,6 +21587,7 @@ class NetworkFirewallPolicyRuleMatchArgs:
21446
21587
  def layer4_configs(self) -> pulumi.Input[Sequence[pulumi.Input['NetworkFirewallPolicyRuleMatchLayer4ConfigArgs']]]:
21447
21588
  """
21448
21589
  Pairs of IP protocols and ports that the rule should match.
21590
+ Structure is documented below.
21449
21591
  """
21450
21592
  return pulumi.get(self, "layer4_configs")
21451
21593
 
@@ -21457,7 +21599,7 @@ class NetworkFirewallPolicyRuleMatchArgs:
21457
21599
  @pulumi.getter(name="destAddressGroups")
21458
21600
  def dest_address_groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
21459
21601
  """
21460
- Address groups which should be matched against the traffic destination. Maximum number of destination address groups is 10. Destination address groups is only supported in Egress rules.
21602
+ Address groups which should be matched against the traffic destination. Maximum number of destination address groups is 10.
21461
21603
  """
21462
21604
  return pulumi.get(self, "dest_address_groups")
21463
21605
 
@@ -21469,7 +21611,7 @@ class NetworkFirewallPolicyRuleMatchArgs:
21469
21611
  @pulumi.getter(name="destFqdns")
21470
21612
  def dest_fqdns(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
21471
21613
  """
21472
- Domain names that will be used to match against the resolved domain name of destination of traffic. Can only be specified if DIRECTION is egress.
21614
+ Fully Qualified Domain Name (FQDN) which should be matched against traffic destination. Maximum number of destination fqdn allowed is 100.
21473
21615
  """
21474
21616
  return pulumi.get(self, "dest_fqdns")
21475
21617
 
@@ -21493,7 +21635,7 @@ class NetworkFirewallPolicyRuleMatchArgs:
21493
21635
  @pulumi.getter(name="destRegionCodes")
21494
21636
  def dest_region_codes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
21495
21637
  """
21496
- The Unicode country codes whose IP addresses will be used to match against the source of traffic. Can only be specified if DIRECTION is egress.
21638
+ Region codes whose IP addresses will be used to match for destination of traffic. Should be specified as 2 letter country code defined as per ISO 3166 alpha-2 country codes. ex."US" Maximum number of dest region codes allowed is 5000.
21497
21639
  """
21498
21640
  return pulumi.get(self, "dest_region_codes")
21499
21641
 
@@ -21505,7 +21647,7 @@ class NetworkFirewallPolicyRuleMatchArgs:
21505
21647
  @pulumi.getter(name="destThreatIntelligences")
21506
21648
  def dest_threat_intelligences(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
21507
21649
  """
21508
- Name of the Google Cloud Threat Intelligence list.
21650
+ Names of Network Threat Intelligence lists. The IPs in these lists will be matched against traffic destination.
21509
21651
  """
21510
21652
  return pulumi.get(self, "dest_threat_intelligences")
21511
21653
 
@@ -21517,7 +21659,7 @@ class NetworkFirewallPolicyRuleMatchArgs:
21517
21659
  @pulumi.getter(name="srcAddressGroups")
21518
21660
  def src_address_groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
21519
21661
  """
21520
- Address groups which should be matched against the traffic source. Maximum number of source address groups is 10. Source address groups is only supported in Ingress rules.
21662
+ Address groups which should be matched against the traffic source. Maximum number of source address groups is 10.
21521
21663
  """
21522
21664
  return pulumi.get(self, "src_address_groups")
21523
21665
 
@@ -21529,7 +21671,7 @@ class NetworkFirewallPolicyRuleMatchArgs:
21529
21671
  @pulumi.getter(name="srcFqdns")
21530
21672
  def src_fqdns(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
21531
21673
  """
21532
- Domain names that will be used to match against the resolved domain name of source of traffic. Can only be specified if DIRECTION is ingress.
21674
+ Fully Qualified Domain Name (FQDN) which should be matched against traffic source. Maximum number of source fqdn allowed is 100.
21533
21675
  """
21534
21676
  return pulumi.get(self, "src_fqdns")
21535
21677
 
@@ -21553,7 +21695,7 @@ class NetworkFirewallPolicyRuleMatchArgs:
21553
21695
  @pulumi.getter(name="srcRegionCodes")
21554
21696
  def src_region_codes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
21555
21697
  """
21556
- The Unicode country codes whose IP addresses will be used to match against the source of traffic. Can only be specified if DIRECTION is ingress.
21698
+ Region codes whose IP addresses will be used to match for source of traffic. Should be specified as 2 letter country code defined as per ISO 3166 alpha-2 country codes. ex."US" Maximum number of source region codes allowed is 5000.
21557
21699
  """
21558
21700
  return pulumi.get(self, "src_region_codes")
21559
21701
 
@@ -21565,7 +21707,8 @@ class NetworkFirewallPolicyRuleMatchArgs:
21565
21707
  @pulumi.getter(name="srcSecureTags")
21566
21708
  def src_secure_tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['NetworkFirewallPolicyRuleMatchSrcSecureTagArgs']]]]:
21567
21709
  """
21568
- List of secure tag values, which should be matched at the source of the traffic. For INGRESS rule, if all the <code>srcSecureTag</code> are INEFFECTIVE, and there is no <code>srcIpRange</code>, this rule will be ignored. Maximum number of source tag values allowed is 256.
21710
+ List of secure tag values, which should be matched at the source of the traffic. For INGRESS rule, if all the srcSecureTag are INEFFECTIVE, and there is no srcIpRange, this rule will be ignored. Maximum number of source tag values allowed is 256.
21711
+ Structure is documented below.
21569
21712
  """
21570
21713
  return pulumi.get(self, "src_secure_tags")
21571
21714
 
@@ -21577,9 +21720,10 @@ class NetworkFirewallPolicyRuleMatchArgs:
21577
21720
  @pulumi.getter(name="srcThreatIntelligences")
21578
21721
  def src_threat_intelligences(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
21579
21722
  """
21580
- Name of the Google Cloud Threat Intelligence list.
21723
+ Names of Network Threat Intelligence lists. The IPs in these lists will be matched against traffic source.
21581
21724
 
21582
- The `layer4_configs` block supports:
21725
+
21726
+ <a name="nested_layer4_configs"></a>The `layer4_configs` block supports:
21583
21727
  """
21584
21728
  return pulumi.get(self, "src_threat_intelligences")
21585
21729
 
@@ -21592,11 +21736,13 @@ if not MYPY:
21592
21736
  class NetworkFirewallPolicyRuleMatchLayer4ConfigArgsDict(TypedDict):
21593
21737
  ip_protocol: pulumi.Input[str]
21594
21738
  """
21595
- The IP protocol to which this rule applies. The protocol type is required when creating a firewall rule. This value can either be one of the following well known protocol strings (`tcp`, `udp`, `icmp`, `esp`, `ah`, `ipip`, `sctp`), or the IP protocol number.
21739
+ The IP protocol to which this rule applies. The protocol type is required when creating a firewall rule.
21740
+ This value can either be one of the following well known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp), or the IP protocol number.
21596
21741
  """
21597
21742
  ports: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
21598
21743
  """
21599
- An optional list of ports to which this rule applies. This field is only applicable for UDP or TCP protocol. Each entry must be either an integer or a range. If not specified, this rule applies to connections through any port. Example inputs include: ``.
21744
+ An optional list of ports to which this rule applies. This field is only applicable for UDP or TCP protocol. Each entry must be either an integer or a range. If not specified, this rule applies to connections through any port.
21745
+ Example inputs include: ["22"], ["80","443"], and ["12345-12349"].
21600
21746
  """
21601
21747
  elif False:
21602
21748
  NetworkFirewallPolicyRuleMatchLayer4ConfigArgsDict: TypeAlias = Mapping[str, Any]
@@ -21607,8 +21753,10 @@ class NetworkFirewallPolicyRuleMatchLayer4ConfigArgs:
21607
21753
  ip_protocol: pulumi.Input[str],
21608
21754
  ports: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
21609
21755
  """
21610
- :param pulumi.Input[str] ip_protocol: The IP protocol to which this rule applies. The protocol type is required when creating a firewall rule. This value can either be one of the following well known protocol strings (`tcp`, `udp`, `icmp`, `esp`, `ah`, `ipip`, `sctp`), or the IP protocol number.
21611
- :param pulumi.Input[Sequence[pulumi.Input[str]]] ports: An optional list of ports to which this rule applies. This field is only applicable for UDP or TCP protocol. Each entry must be either an integer or a range. If not specified, this rule applies to connections through any port. Example inputs include: ``.
21756
+ :param pulumi.Input[str] ip_protocol: The IP protocol to which this rule applies. The protocol type is required when creating a firewall rule.
21757
+ This value can either be one of the following well known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp), or the IP protocol number.
21758
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] ports: An optional list of ports to which this rule applies. This field is only applicable for UDP or TCP protocol. Each entry must be either an integer or a range. If not specified, this rule applies to connections through any port.
21759
+ Example inputs include: ["22"], ["80","443"], and ["12345-12349"].
21612
21760
  """
21613
21761
  pulumi.set(__self__, "ip_protocol", ip_protocol)
21614
21762
  if ports is not None:
@@ -21618,7 +21766,8 @@ class NetworkFirewallPolicyRuleMatchLayer4ConfigArgs:
21618
21766
  @pulumi.getter(name="ipProtocol")
21619
21767
  def ip_protocol(self) -> pulumi.Input[str]:
21620
21768
  """
21621
- The IP protocol to which this rule applies. The protocol type is required when creating a firewall rule. This value can either be one of the following well known protocol strings (`tcp`, `udp`, `icmp`, `esp`, `ah`, `ipip`, `sctp`), or the IP protocol number.
21769
+ The IP protocol to which this rule applies. The protocol type is required when creating a firewall rule.
21770
+ This value can either be one of the following well known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp), or the IP protocol number.
21622
21771
  """
21623
21772
  return pulumi.get(self, "ip_protocol")
21624
21773
 
@@ -21630,7 +21779,8 @@ class NetworkFirewallPolicyRuleMatchLayer4ConfigArgs:
21630
21779
  @pulumi.getter
21631
21780
  def ports(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
21632
21781
  """
21633
- An optional list of ports to which this rule applies. This field is only applicable for UDP or TCP protocol. Each entry must be either an integer or a range. If not specified, this rule applies to connections through any port. Example inputs include: ``.
21782
+ An optional list of ports to which this rule applies. This field is only applicable for UDP or TCP protocol. Each entry must be either an integer or a range. If not specified, this rule applies to connections through any port.
21783
+ Example inputs include: ["22"], ["80","443"], and ["12345-12349"].
21634
21784
  """
21635
21785
  return pulumi.get(self, "ports")
21636
21786
 
@@ -21641,13 +21791,16 @@ class NetworkFirewallPolicyRuleMatchLayer4ConfigArgs:
21641
21791
 
21642
21792
  if not MYPY:
21643
21793
  class NetworkFirewallPolicyRuleMatchSrcSecureTagArgsDict(TypedDict):
21644
- name: pulumi.Input[str]
21794
+ name: NotRequired[pulumi.Input[str]]
21645
21795
  """
21646
- Name of the secure tag, created with TagManager's TagValue API. @pattern tagValues/[0-9]+
21796
+ Name of the secure tag, created with TagManager's TagValue API.
21647
21797
  """
21648
21798
  state: NotRequired[pulumi.Input[str]]
21649
21799
  """
21650
- [Output Only] State of the secure tag, either `EFFECTIVE` or `INEFFECTIVE`. A secure tag is `INEFFECTIVE` when it is deleted or its network is deleted.
21800
+ (Output)
21801
+ State of the secure tag, either EFFECTIVE or INEFFECTIVE. A secure tag is INEFFECTIVE when it is deleted or its network is deleted.
21802
+
21803
+ - - -
21651
21804
  """
21652
21805
  elif False:
21653
21806
  NetworkFirewallPolicyRuleMatchSrcSecureTagArgsDict: TypeAlias = Mapping[str, Any]
@@ -21655,33 +21808,40 @@ elif False:
21655
21808
  @pulumi.input_type
21656
21809
  class NetworkFirewallPolicyRuleMatchSrcSecureTagArgs:
21657
21810
  def __init__(__self__, *,
21658
- name: pulumi.Input[str],
21811
+ name: Optional[pulumi.Input[str]] = None,
21659
21812
  state: Optional[pulumi.Input[str]] = None):
21660
21813
  """
21661
- :param pulumi.Input[str] name: Name of the secure tag, created with TagManager's TagValue API. @pattern tagValues/[0-9]+
21662
- :param pulumi.Input[str] state: [Output Only] State of the secure tag, either `EFFECTIVE` or `INEFFECTIVE`. A secure tag is `INEFFECTIVE` when it is deleted or its network is deleted.
21814
+ :param pulumi.Input[str] name: Name of the secure tag, created with TagManager's TagValue API.
21815
+ :param pulumi.Input[str] state: (Output)
21816
+ State of the secure tag, either EFFECTIVE or INEFFECTIVE. A secure tag is INEFFECTIVE when it is deleted or its network is deleted.
21817
+
21818
+ - - -
21663
21819
  """
21664
- pulumi.set(__self__, "name", name)
21820
+ if name is not None:
21821
+ pulumi.set(__self__, "name", name)
21665
21822
  if state is not None:
21666
21823
  pulumi.set(__self__, "state", state)
21667
21824
 
21668
21825
  @property
21669
21826
  @pulumi.getter
21670
- def name(self) -> pulumi.Input[str]:
21827
+ def name(self) -> Optional[pulumi.Input[str]]:
21671
21828
  """
21672
- Name of the secure tag, created with TagManager's TagValue API. @pattern tagValues/[0-9]+
21829
+ Name of the secure tag, created with TagManager's TagValue API.
21673
21830
  """
21674
21831
  return pulumi.get(self, "name")
21675
21832
 
21676
21833
  @name.setter
21677
- def name(self, value: pulumi.Input[str]):
21834
+ def name(self, value: Optional[pulumi.Input[str]]):
21678
21835
  pulumi.set(self, "name", value)
21679
21836
 
21680
21837
  @property
21681
21838
  @pulumi.getter
21682
21839
  def state(self) -> Optional[pulumi.Input[str]]:
21683
21840
  """
21684
- [Output Only] State of the secure tag, either `EFFECTIVE` or `INEFFECTIVE`. A secure tag is `INEFFECTIVE` when it is deleted or its network is deleted.
21841
+ (Output)
21842
+ State of the secure tag, either EFFECTIVE or INEFFECTIVE. A secure tag is INEFFECTIVE when it is deleted or its network is deleted.
21843
+
21844
+ - - -
21685
21845
  """
21686
21846
  return pulumi.get(self, "state")
21687
21847
 
@@ -21692,13 +21852,14 @@ class NetworkFirewallPolicyRuleMatchSrcSecureTagArgs:
21692
21852
 
21693
21853
  if not MYPY:
21694
21854
  class NetworkFirewallPolicyRuleTargetSecureTagArgsDict(TypedDict):
21695
- name: pulumi.Input[str]
21855
+ name: NotRequired[pulumi.Input[str]]
21696
21856
  """
21697
- Name of the secure tag, created with TagManager's TagValue API. @pattern tagValues/[0-9]+
21857
+ Name of the secure tag, created with TagManager's TagValue API.
21698
21858
  """
21699
21859
  state: NotRequired[pulumi.Input[str]]
21700
21860
  """
21701
- [Output Only] State of the secure tag, either `EFFECTIVE` or `INEFFECTIVE`. A secure tag is `INEFFECTIVE` when it is deleted or its network is deleted.
21861
+ (Output)
21862
+ State of the secure tag, either EFFECTIVE or INEFFECTIVE. A secure tag is INEFFECTIVE when it is deleted or its network is deleted.
21702
21863
  """
21703
21864
  elif False:
21704
21865
  NetworkFirewallPolicyRuleTargetSecureTagArgsDict: TypeAlias = Mapping[str, Any]
@@ -21706,33 +21867,36 @@ elif False:
21706
21867
  @pulumi.input_type
21707
21868
  class NetworkFirewallPolicyRuleTargetSecureTagArgs:
21708
21869
  def __init__(__self__, *,
21709
- name: pulumi.Input[str],
21870
+ name: Optional[pulumi.Input[str]] = None,
21710
21871
  state: Optional[pulumi.Input[str]] = None):
21711
21872
  """
21712
- :param pulumi.Input[str] name: Name of the secure tag, created with TagManager's TagValue API. @pattern tagValues/[0-9]+
21713
- :param pulumi.Input[str] state: [Output Only] State of the secure tag, either `EFFECTIVE` or `INEFFECTIVE`. A secure tag is `INEFFECTIVE` when it is deleted or its network is deleted.
21873
+ :param pulumi.Input[str] name: Name of the secure tag, created with TagManager's TagValue API.
21874
+ :param pulumi.Input[str] state: (Output)
21875
+ State of the secure tag, either EFFECTIVE or INEFFECTIVE. A secure tag is INEFFECTIVE when it is deleted or its network is deleted.
21714
21876
  """
21715
- pulumi.set(__self__, "name", name)
21877
+ if name is not None:
21878
+ pulumi.set(__self__, "name", name)
21716
21879
  if state is not None:
21717
21880
  pulumi.set(__self__, "state", state)
21718
21881
 
21719
21882
  @property
21720
21883
  @pulumi.getter
21721
- def name(self) -> pulumi.Input[str]:
21884
+ def name(self) -> Optional[pulumi.Input[str]]:
21722
21885
  """
21723
- Name of the secure tag, created with TagManager's TagValue API. @pattern tagValues/[0-9]+
21886
+ Name of the secure tag, created with TagManager's TagValue API.
21724
21887
  """
21725
21888
  return pulumi.get(self, "name")
21726
21889
 
21727
21890
  @name.setter
21728
- def name(self, value: pulumi.Input[str]):
21891
+ def name(self, value: Optional[pulumi.Input[str]]):
21729
21892
  pulumi.set(self, "name", value)
21730
21893
 
21731
21894
  @property
21732
21895
  @pulumi.getter
21733
21896
  def state(self) -> Optional[pulumi.Input[str]]:
21734
21897
  """
21735
- [Output Only] State of the secure tag, either `EFFECTIVE` or `INEFFECTIVE`. A secure tag is `INEFFECTIVE` when it is deleted or its network is deleted.
21898
+ (Output)
21899
+ State of the secure tag, either EFFECTIVE or INEFFECTIVE. A secure tag is INEFFECTIVE when it is deleted or its network is deleted.
21736
21900
  """
21737
21901
  return pulumi.get(self, "state")
21738
21902
 
@@ -31280,6 +31444,10 @@ if not MYPY:
31280
31444
  """
31281
31445
  The number of threads per physical core. To disable [simultaneous multithreading (SMT)](https://cloud.google.com/compute/docs/instances/disabling-smt) set this to 1.
31282
31446
  """
31447
+ turbo_mode: NotRequired[pulumi.Input[str]]
31448
+ """
31449
+ Turbo frequency mode to use for the instance. Supported modes are currently either `ALL_CORE_MAX` or unset (default).
31450
+ """
31283
31451
  visible_core_count: NotRequired[pulumi.Input[int]]
31284
31452
  """
31285
31453
  The number of physical cores to expose to an instance. [visible cores info (VC)](https://cloud.google.com/compute/docs/instances/customize-visible-cores).
@@ -31292,16 +31460,20 @@ class RegionInstanceTemplateAdvancedMachineFeaturesArgs:
31292
31460
  def __init__(__self__, *,
31293
31461
  enable_nested_virtualization: Optional[pulumi.Input[bool]] = None,
31294
31462
  threads_per_core: Optional[pulumi.Input[int]] = None,
31463
+ turbo_mode: Optional[pulumi.Input[str]] = None,
31295
31464
  visible_core_count: Optional[pulumi.Input[int]] = None):
31296
31465
  """
31297
31466
  :param pulumi.Input[bool] enable_nested_virtualization: Defines whether the instance should have nested virtualization enabled. Defaults to false.
31298
31467
  :param pulumi.Input[int] threads_per_core: The number of threads per physical core. To disable [simultaneous multithreading (SMT)](https://cloud.google.com/compute/docs/instances/disabling-smt) set this to 1.
31468
+ :param pulumi.Input[str] turbo_mode: Turbo frequency mode to use for the instance. Supported modes are currently either `ALL_CORE_MAX` or unset (default).
31299
31469
  :param pulumi.Input[int] visible_core_count: The number of physical cores to expose to an instance. [visible cores info (VC)](https://cloud.google.com/compute/docs/instances/customize-visible-cores).
31300
31470
  """
31301
31471
  if enable_nested_virtualization is not None:
31302
31472
  pulumi.set(__self__, "enable_nested_virtualization", enable_nested_virtualization)
31303
31473
  if threads_per_core is not None:
31304
31474
  pulumi.set(__self__, "threads_per_core", threads_per_core)
31475
+ if turbo_mode is not None:
31476
+ pulumi.set(__self__, "turbo_mode", turbo_mode)
31305
31477
  if visible_core_count is not None:
31306
31478
  pulumi.set(__self__, "visible_core_count", visible_core_count)
31307
31479
 
@@ -31329,6 +31501,18 @@ class RegionInstanceTemplateAdvancedMachineFeaturesArgs:
31329
31501
  def threads_per_core(self, value: Optional[pulumi.Input[int]]):
31330
31502
  pulumi.set(self, "threads_per_core", value)
31331
31503
 
31504
+ @property
31505
+ @pulumi.getter(name="turboMode")
31506
+ def turbo_mode(self) -> Optional[pulumi.Input[str]]:
31507
+ """
31508
+ Turbo frequency mode to use for the instance. Supported modes are currently either `ALL_CORE_MAX` or unset (default).
31509
+ """
31510
+ return pulumi.get(self, "turbo_mode")
31511
+
31512
+ @turbo_mode.setter
31513
+ def turbo_mode(self, value: Optional[pulumi.Input[str]]):
31514
+ pulumi.set(self, "turbo_mode", value)
31515
+
31332
31516
  @property
31333
31517
  @pulumi.getter(name="visibleCoreCount")
31334
31518
  def visible_core_count(self) -> Optional[pulumi.Input[int]]:
@@ -31464,6 +31648,10 @@ if not MYPY:
31464
31648
  Values must be between 10,000 and 120,000. For more details, see the
31465
31649
  [Extreme persistent disk documentation](https://cloud.google.com/compute/docs/disks/extreme-persistent-disk).
31466
31650
  """
31651
+ provisioned_throughput: NotRequired[pulumi.Input[int]]
31652
+ """
31653
+ Indicates how much throughput to provision for the disk, in MB/s. This sets the amount of data that can be read or written from the disk per second. Values must greater than or equal to 1. For more details, see the [Hyperdisk documentation](https://cloud.google.com/compute/docs/disks/hyperdisks).
31654
+ """
31467
31655
  resource_manager_tags: NotRequired[pulumi.Input[Mapping[str, pulumi.Input[str]]]]
31468
31656
  """
31469
31657
  A set of key/value resource manager tag pairs to bind to this disk. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456.
@@ -31532,6 +31720,7 @@ class RegionInstanceTemplateDiskArgs:
31532
31720
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
31533
31721
  mode: Optional[pulumi.Input[str]] = None,
31534
31722
  provisioned_iops: Optional[pulumi.Input[int]] = None,
31723
+ provisioned_throughput: Optional[pulumi.Input[int]] = None,
31535
31724
  resource_manager_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
31536
31725
  resource_policies: Optional[pulumi.Input[str]] = None,
31537
31726
  source: Optional[pulumi.Input[str]] = None,
@@ -31576,6 +31765,7 @@ class RegionInstanceTemplateDiskArgs:
31576
31765
  sets the number of I/O operations per second that the disk can handle.
31577
31766
  Values must be between 10,000 and 120,000. For more details, see the
31578
31767
  [Extreme persistent disk documentation](https://cloud.google.com/compute/docs/disks/extreme-persistent-disk).
31768
+ :param pulumi.Input[int] provisioned_throughput: Indicates how much throughput to provision for the disk, in MB/s. This sets the amount of data that can be read or written from the disk per second. Values must greater than or equal to 1. For more details, see the [Hyperdisk documentation](https://cloud.google.com/compute/docs/disks/hyperdisks).
31579
31769
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] resource_manager_tags: A set of key/value resource manager tag pairs to bind to this disk. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456.
31580
31770
  :param pulumi.Input[str] resource_policies: - A list (short name or id) of resource policies to attach to this disk for automatic snapshot creations. Currently a max of 1 resource policy is supported.
31581
31771
  :param pulumi.Input[str] source: The name (**not self_link**)
@@ -31626,6 +31816,8 @@ class RegionInstanceTemplateDiskArgs:
31626
31816
  pulumi.set(__self__, "mode", mode)
31627
31817
  if provisioned_iops is not None:
31628
31818
  pulumi.set(__self__, "provisioned_iops", provisioned_iops)
31819
+ if provisioned_throughput is not None:
31820
+ pulumi.set(__self__, "provisioned_throughput", provisioned_throughput)
31629
31821
  if resource_manager_tags is not None:
31630
31822
  pulumi.set(__self__, "resource_manager_tags", resource_manager_tags)
31631
31823
  if resource_policies is not None:
@@ -31799,6 +31991,18 @@ class RegionInstanceTemplateDiskArgs:
31799
31991
  def provisioned_iops(self, value: Optional[pulumi.Input[int]]):
31800
31992
  pulumi.set(self, "provisioned_iops", value)
31801
31993
 
31994
+ @property
31995
+ @pulumi.getter(name="provisionedThroughput")
31996
+ def provisioned_throughput(self) -> Optional[pulumi.Input[int]]:
31997
+ """
31998
+ Indicates how much throughput to provision for the disk, in MB/s. This sets the amount of data that can be read or written from the disk per second. Values must greater than or equal to 1. For more details, see the [Hyperdisk documentation](https://cloud.google.com/compute/docs/disks/hyperdisks).
31999
+ """
32000
+ return pulumi.get(self, "provisioned_throughput")
32001
+
32002
+ @provisioned_throughput.setter
32003
+ def provisioned_throughput(self, value: Optional[pulumi.Input[int]]):
32004
+ pulumi.set(self, "provisioned_throughput", value)
32005
+
31802
32006
  @property
31803
32007
  @pulumi.getter(name="resourceManagerTags")
31804
32008
  def resource_manager_tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
@@ -33904,14 +34108,15 @@ if not MYPY:
33904
34108
  layer4_configs: pulumi.Input[Sequence[pulumi.Input['RegionNetworkFirewallPolicyRuleMatchLayer4ConfigArgsDict']]]
33905
34109
  """
33906
34110
  Pairs of IP protocols and ports that the rule should match.
34111
+ Structure is documented below.
33907
34112
  """
33908
34113
  dest_address_groups: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
33909
34114
  """
33910
- Address groups which should be matched against the traffic destination. Maximum number of destination address groups is 10. Destination address groups is only supported in Egress rules.
34115
+ Address groups which should be matched against the traffic destination. Maximum number of destination address groups is 10.
33911
34116
  """
33912
34117
  dest_fqdns: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
33913
34118
  """
33914
- Domain names that will be used to match against the resolved domain name of destination of traffic. Can only be specified if DIRECTION is egress.
34119
+ Fully Qualified Domain Name (FQDN) which should be matched against traffic destination. Maximum number of destination fqdn allowed is 100.
33915
34120
  """
33916
34121
  dest_ip_ranges: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
33917
34122
  """
@@ -33919,19 +34124,19 @@ if not MYPY:
33919
34124
  """
33920
34125
  dest_region_codes: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
33921
34126
  """
33922
- The Unicode country codes whose IP addresses will be used to match against the source of traffic. Can only be specified if DIRECTION is egress.
34127
+ Region codes whose IP addresses will be used to match for destination of traffic. Should be specified as 2 letter country code defined as per ISO 3166 alpha-2 country codes. ex."US" Maximum number of dest region codes allowed is 5000.
33923
34128
  """
33924
34129
  dest_threat_intelligences: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
33925
34130
  """
33926
- Name of the Google Cloud Threat Intelligence list.
34131
+ Names of Network Threat Intelligence lists. The IPs in these lists will be matched against traffic destination.
33927
34132
  """
33928
34133
  src_address_groups: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
33929
34134
  """
33930
- Address groups which should be matched against the traffic source. Maximum number of source address groups is 10. Source address groups is only supported in Ingress rules.
34135
+ Address groups which should be matched against the traffic source. Maximum number of source address groups is 10.
33931
34136
  """
33932
34137
  src_fqdns: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
33933
34138
  """
33934
- Domain names that will be used to match against the resolved domain name of source of traffic. Can only be specified if DIRECTION is ingress.
34139
+ Fully Qualified Domain Name (FQDN) which should be matched against traffic source. Maximum number of source fqdn allowed is 100.
33935
34140
  """
33936
34141
  src_ip_ranges: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
33937
34142
  """
@@ -33939,17 +34144,19 @@ if not MYPY:
33939
34144
  """
33940
34145
  src_region_codes: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
33941
34146
  """
33942
- The Unicode country codes whose IP addresses will be used to match against the source of traffic. Can only be specified if DIRECTION is ingress.
34147
+ Region codes whose IP addresses will be used to match for source of traffic. Should be specified as 2 letter country code defined as per ISO 3166 alpha-2 country codes. ex."US" Maximum number of source region codes allowed is 5000.
33943
34148
  """
33944
34149
  src_secure_tags: NotRequired[pulumi.Input[Sequence[pulumi.Input['RegionNetworkFirewallPolicyRuleMatchSrcSecureTagArgsDict']]]]
33945
34150
  """
33946
- List of secure tag values, which should be matched at the source of the traffic. For INGRESS rule, if all the <code>srcSecureTag</code> are INEFFECTIVE, and there is no <code>srcIpRange</code>, this rule will be ignored. Maximum number of source tag values allowed is 256.
34151
+ List of secure tag values, which should be matched at the source of the traffic. For INGRESS rule, if all the srcSecureTag are INEFFECTIVE, and there is no srcIpRange, this rule will be ignored. Maximum number of source tag values allowed is 256.
34152
+ Structure is documented below.
33947
34153
  """
33948
34154
  src_threat_intelligences: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
33949
34155
  """
33950
- Name of the Google Cloud Threat Intelligence list.
34156
+ Names of Network Threat Intelligence lists. The IPs in these lists will be matched against traffic source.
33951
34157
 
33952
- The `layer4_configs` block supports:
34158
+
34159
+ <a name="nested_layer4_configs"></a>The `layer4_configs` block supports:
33953
34160
  """
33954
34161
  elif False:
33955
34162
  RegionNetworkFirewallPolicyRuleMatchArgsDict: TypeAlias = Mapping[str, Any]
@@ -33971,19 +34178,22 @@ class RegionNetworkFirewallPolicyRuleMatchArgs:
33971
34178
  src_threat_intelligences: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
33972
34179
  """
33973
34180
  :param pulumi.Input[Sequence[pulumi.Input['RegionNetworkFirewallPolicyRuleMatchLayer4ConfigArgs']]] layer4_configs: Pairs of IP protocols and ports that the rule should match.
33974
- :param pulumi.Input[Sequence[pulumi.Input[str]]] dest_address_groups: Address groups which should be matched against the traffic destination. Maximum number of destination address groups is 10. Destination address groups is only supported in Egress rules.
33975
- :param pulumi.Input[Sequence[pulumi.Input[str]]] dest_fqdns: Domain names that will be used to match against the resolved domain name of destination of traffic. Can only be specified if DIRECTION is egress.
34181
+ Structure is documented below.
34182
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] dest_address_groups: Address groups which should be matched against the traffic destination. Maximum number of destination address groups is 10.
34183
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] dest_fqdns: Fully Qualified Domain Name (FQDN) which should be matched against traffic destination. Maximum number of destination fqdn allowed is 100.
33976
34184
  :param pulumi.Input[Sequence[pulumi.Input[str]]] dest_ip_ranges: CIDR IP address range. Maximum number of destination CIDR IP ranges allowed is 5000.
33977
- :param pulumi.Input[Sequence[pulumi.Input[str]]] dest_region_codes: The Unicode country codes whose IP addresses will be used to match against the source of traffic. Can only be specified if DIRECTION is egress.
33978
- :param pulumi.Input[Sequence[pulumi.Input[str]]] dest_threat_intelligences: Name of the Google Cloud Threat Intelligence list.
33979
- :param pulumi.Input[Sequence[pulumi.Input[str]]] src_address_groups: Address groups which should be matched against the traffic source. Maximum number of source address groups is 10. Source address groups is only supported in Ingress rules.
33980
- :param pulumi.Input[Sequence[pulumi.Input[str]]] src_fqdns: Domain names that will be used to match against the resolved domain name of source of traffic. Can only be specified if DIRECTION is ingress.
34185
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] dest_region_codes: Region codes whose IP addresses will be used to match for destination of traffic. Should be specified as 2 letter country code defined as per ISO 3166 alpha-2 country codes. ex."US" Maximum number of dest region codes allowed is 5000.
34186
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] dest_threat_intelligences: Names of Network Threat Intelligence lists. The IPs in these lists will be matched against traffic destination.
34187
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] src_address_groups: Address groups which should be matched against the traffic source. Maximum number of source address groups is 10.
34188
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] src_fqdns: Fully Qualified Domain Name (FQDN) which should be matched against traffic source. Maximum number of source fqdn allowed is 100.
33981
34189
  :param pulumi.Input[Sequence[pulumi.Input[str]]] src_ip_ranges: CIDR IP address range. Maximum number of source CIDR IP ranges allowed is 5000.
33982
- :param pulumi.Input[Sequence[pulumi.Input[str]]] src_region_codes: The Unicode country codes whose IP addresses will be used to match against the source of traffic. Can only be specified if DIRECTION is ingress.
33983
- :param pulumi.Input[Sequence[pulumi.Input['RegionNetworkFirewallPolicyRuleMatchSrcSecureTagArgs']]] src_secure_tags: List of secure tag values, which should be matched at the source of the traffic. For INGRESS rule, if all the <code>srcSecureTag</code> are INEFFECTIVE, and there is no <code>srcIpRange</code>, this rule will be ignored. Maximum number of source tag values allowed is 256.
33984
- :param pulumi.Input[Sequence[pulumi.Input[str]]] src_threat_intelligences: Name of the Google Cloud Threat Intelligence list.
34190
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] src_region_codes: Region codes whose IP addresses will be used to match for source of traffic. Should be specified as 2 letter country code defined as per ISO 3166 alpha-2 country codes. ex."US" Maximum number of source region codes allowed is 5000.
34191
+ :param pulumi.Input[Sequence[pulumi.Input['RegionNetworkFirewallPolicyRuleMatchSrcSecureTagArgs']]] src_secure_tags: List of secure tag values, which should be matched at the source of the traffic. For INGRESS rule, if all the srcSecureTag are INEFFECTIVE, and there is no srcIpRange, this rule will be ignored. Maximum number of source tag values allowed is 256.
34192
+ Structure is documented below.
34193
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] src_threat_intelligences: Names of Network Threat Intelligence lists. The IPs in these lists will be matched against traffic source.
33985
34194
 
33986
- The `layer4_configs` block supports:
34195
+
34196
+ <a name="nested_layer4_configs"></a>The `layer4_configs` block supports:
33987
34197
  """
33988
34198
  pulumi.set(__self__, "layer4_configs", layer4_configs)
33989
34199
  if dest_address_groups is not None:
@@ -34014,6 +34224,7 @@ class RegionNetworkFirewallPolicyRuleMatchArgs:
34014
34224
  def layer4_configs(self) -> pulumi.Input[Sequence[pulumi.Input['RegionNetworkFirewallPolicyRuleMatchLayer4ConfigArgs']]]:
34015
34225
  """
34016
34226
  Pairs of IP protocols and ports that the rule should match.
34227
+ Structure is documented below.
34017
34228
  """
34018
34229
  return pulumi.get(self, "layer4_configs")
34019
34230
 
@@ -34025,7 +34236,7 @@ class RegionNetworkFirewallPolicyRuleMatchArgs:
34025
34236
  @pulumi.getter(name="destAddressGroups")
34026
34237
  def dest_address_groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
34027
34238
  """
34028
- Address groups which should be matched against the traffic destination. Maximum number of destination address groups is 10. Destination address groups is only supported in Egress rules.
34239
+ Address groups which should be matched against the traffic destination. Maximum number of destination address groups is 10.
34029
34240
  """
34030
34241
  return pulumi.get(self, "dest_address_groups")
34031
34242
 
@@ -34037,7 +34248,7 @@ class RegionNetworkFirewallPolicyRuleMatchArgs:
34037
34248
  @pulumi.getter(name="destFqdns")
34038
34249
  def dest_fqdns(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
34039
34250
  """
34040
- Domain names that will be used to match against the resolved domain name of destination of traffic. Can only be specified if DIRECTION is egress.
34251
+ Fully Qualified Domain Name (FQDN) which should be matched against traffic destination. Maximum number of destination fqdn allowed is 100.
34041
34252
  """
34042
34253
  return pulumi.get(self, "dest_fqdns")
34043
34254
 
@@ -34061,7 +34272,7 @@ class RegionNetworkFirewallPolicyRuleMatchArgs:
34061
34272
  @pulumi.getter(name="destRegionCodes")
34062
34273
  def dest_region_codes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
34063
34274
  """
34064
- The Unicode country codes whose IP addresses will be used to match against the source of traffic. Can only be specified if DIRECTION is egress.
34275
+ Region codes whose IP addresses will be used to match for destination of traffic. Should be specified as 2 letter country code defined as per ISO 3166 alpha-2 country codes. ex."US" Maximum number of dest region codes allowed is 5000.
34065
34276
  """
34066
34277
  return pulumi.get(self, "dest_region_codes")
34067
34278
 
@@ -34073,7 +34284,7 @@ class RegionNetworkFirewallPolicyRuleMatchArgs:
34073
34284
  @pulumi.getter(name="destThreatIntelligences")
34074
34285
  def dest_threat_intelligences(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
34075
34286
  """
34076
- Name of the Google Cloud Threat Intelligence list.
34287
+ Names of Network Threat Intelligence lists. The IPs in these lists will be matched against traffic destination.
34077
34288
  """
34078
34289
  return pulumi.get(self, "dest_threat_intelligences")
34079
34290
 
@@ -34085,7 +34296,7 @@ class RegionNetworkFirewallPolicyRuleMatchArgs:
34085
34296
  @pulumi.getter(name="srcAddressGroups")
34086
34297
  def src_address_groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
34087
34298
  """
34088
- Address groups which should be matched against the traffic source. Maximum number of source address groups is 10. Source address groups is only supported in Ingress rules.
34299
+ Address groups which should be matched against the traffic source. Maximum number of source address groups is 10.
34089
34300
  """
34090
34301
  return pulumi.get(self, "src_address_groups")
34091
34302
 
@@ -34097,7 +34308,7 @@ class RegionNetworkFirewallPolicyRuleMatchArgs:
34097
34308
  @pulumi.getter(name="srcFqdns")
34098
34309
  def src_fqdns(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
34099
34310
  """
34100
- Domain names that will be used to match against the resolved domain name of source of traffic. Can only be specified if DIRECTION is ingress.
34311
+ Fully Qualified Domain Name (FQDN) which should be matched against traffic source. Maximum number of source fqdn allowed is 100.
34101
34312
  """
34102
34313
  return pulumi.get(self, "src_fqdns")
34103
34314
 
@@ -34121,7 +34332,7 @@ class RegionNetworkFirewallPolicyRuleMatchArgs:
34121
34332
  @pulumi.getter(name="srcRegionCodes")
34122
34333
  def src_region_codes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
34123
34334
  """
34124
- The Unicode country codes whose IP addresses will be used to match against the source of traffic. Can only be specified if DIRECTION is ingress.
34335
+ Region codes whose IP addresses will be used to match for source of traffic. Should be specified as 2 letter country code defined as per ISO 3166 alpha-2 country codes. ex."US" Maximum number of source region codes allowed is 5000.
34125
34336
  """
34126
34337
  return pulumi.get(self, "src_region_codes")
34127
34338
 
@@ -34133,7 +34344,8 @@ class RegionNetworkFirewallPolicyRuleMatchArgs:
34133
34344
  @pulumi.getter(name="srcSecureTags")
34134
34345
  def src_secure_tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RegionNetworkFirewallPolicyRuleMatchSrcSecureTagArgs']]]]:
34135
34346
  """
34136
- List of secure tag values, which should be matched at the source of the traffic. For INGRESS rule, if all the <code>srcSecureTag</code> are INEFFECTIVE, and there is no <code>srcIpRange</code>, this rule will be ignored. Maximum number of source tag values allowed is 256.
34347
+ List of secure tag values, which should be matched at the source of the traffic. For INGRESS rule, if all the srcSecureTag are INEFFECTIVE, and there is no srcIpRange, this rule will be ignored. Maximum number of source tag values allowed is 256.
34348
+ Structure is documented below.
34137
34349
  """
34138
34350
  return pulumi.get(self, "src_secure_tags")
34139
34351
 
@@ -34145,9 +34357,10 @@ class RegionNetworkFirewallPolicyRuleMatchArgs:
34145
34357
  @pulumi.getter(name="srcThreatIntelligences")
34146
34358
  def src_threat_intelligences(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
34147
34359
  """
34148
- Name of the Google Cloud Threat Intelligence list.
34360
+ Names of Network Threat Intelligence lists. The IPs in these lists will be matched against traffic source.
34149
34361
 
34150
- The `layer4_configs` block supports:
34362
+
34363
+ <a name="nested_layer4_configs"></a>The `layer4_configs` block supports:
34151
34364
  """
34152
34365
  return pulumi.get(self, "src_threat_intelligences")
34153
34366
 
@@ -34160,11 +34373,13 @@ if not MYPY:
34160
34373
  class RegionNetworkFirewallPolicyRuleMatchLayer4ConfigArgsDict(TypedDict):
34161
34374
  ip_protocol: pulumi.Input[str]
34162
34375
  """
34163
- The IP protocol to which this rule applies. The protocol type is required when creating a firewall rule. This value can either be one of the following well known protocol strings (`tcp`, `udp`, `icmp`, `esp`, `ah`, `ipip`, `sctp`), or the IP protocol number.
34376
+ The IP protocol to which this rule applies. The protocol type is required when creating a firewall rule.
34377
+ This value can either be one of the following well known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp), or the IP protocol number.
34164
34378
  """
34165
34379
  ports: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
34166
34380
  """
34167
- An optional list of ports to which this rule applies. This field is only applicable for UDP or TCP protocol. Each entry must be either an integer or a range. If not specified, this rule applies to connections through any port. Example inputs include: ``.
34381
+ An optional list of ports to which this rule applies. This field is only applicable for UDP or TCP protocol. Each entry must be either an integer or a range. If not specified, this rule applies to connections through any port.
34382
+ Example inputs include: ["22"], ["80","443"], and ["12345-12349"].
34168
34383
  """
34169
34384
  elif False:
34170
34385
  RegionNetworkFirewallPolicyRuleMatchLayer4ConfigArgsDict: TypeAlias = Mapping[str, Any]
@@ -34175,8 +34390,10 @@ class RegionNetworkFirewallPolicyRuleMatchLayer4ConfigArgs:
34175
34390
  ip_protocol: pulumi.Input[str],
34176
34391
  ports: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
34177
34392
  """
34178
- :param pulumi.Input[str] ip_protocol: The IP protocol to which this rule applies. The protocol type is required when creating a firewall rule. This value can either be one of the following well known protocol strings (`tcp`, `udp`, `icmp`, `esp`, `ah`, `ipip`, `sctp`), or the IP protocol number.
34179
- :param pulumi.Input[Sequence[pulumi.Input[str]]] ports: An optional list of ports to which this rule applies. This field is only applicable for UDP or TCP protocol. Each entry must be either an integer or a range. If not specified, this rule applies to connections through any port. Example inputs include: ``.
34393
+ :param pulumi.Input[str] ip_protocol: The IP protocol to which this rule applies. The protocol type is required when creating a firewall rule.
34394
+ This value can either be one of the following well known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp), or the IP protocol number.
34395
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] ports: An optional list of ports to which this rule applies. This field is only applicable for UDP or TCP protocol. Each entry must be either an integer or a range. If not specified, this rule applies to connections through any port.
34396
+ Example inputs include: ["22"], ["80","443"], and ["12345-12349"].
34180
34397
  """
34181
34398
  pulumi.set(__self__, "ip_protocol", ip_protocol)
34182
34399
  if ports is not None:
@@ -34186,7 +34403,8 @@ class RegionNetworkFirewallPolicyRuleMatchLayer4ConfigArgs:
34186
34403
  @pulumi.getter(name="ipProtocol")
34187
34404
  def ip_protocol(self) -> pulumi.Input[str]:
34188
34405
  """
34189
- The IP protocol to which this rule applies. The protocol type is required when creating a firewall rule. This value can either be one of the following well known protocol strings (`tcp`, `udp`, `icmp`, `esp`, `ah`, `ipip`, `sctp`), or the IP protocol number.
34406
+ The IP protocol to which this rule applies. The protocol type is required when creating a firewall rule.
34407
+ This value can either be one of the following well known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp), or the IP protocol number.
34190
34408
  """
34191
34409
  return pulumi.get(self, "ip_protocol")
34192
34410
 
@@ -34198,7 +34416,8 @@ class RegionNetworkFirewallPolicyRuleMatchLayer4ConfigArgs:
34198
34416
  @pulumi.getter
34199
34417
  def ports(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
34200
34418
  """
34201
- An optional list of ports to which this rule applies. This field is only applicable for UDP or TCP protocol. Each entry must be either an integer or a range. If not specified, this rule applies to connections through any port. Example inputs include: ``.
34419
+ An optional list of ports to which this rule applies. This field is only applicable for UDP or TCP protocol. Each entry must be either an integer or a range. If not specified, this rule applies to connections through any port.
34420
+ Example inputs include: ["22"], ["80","443"], and ["12345-12349"].
34202
34421
  """
34203
34422
  return pulumi.get(self, "ports")
34204
34423
 
@@ -34209,13 +34428,16 @@ class RegionNetworkFirewallPolicyRuleMatchLayer4ConfigArgs:
34209
34428
 
34210
34429
  if not MYPY:
34211
34430
  class RegionNetworkFirewallPolicyRuleMatchSrcSecureTagArgsDict(TypedDict):
34212
- name: pulumi.Input[str]
34431
+ name: NotRequired[pulumi.Input[str]]
34213
34432
  """
34214
- Name of the secure tag, created with TagManager's TagValue API. @pattern tagValues/[0-9]+
34433
+ Name of the secure tag, created with TagManager's TagValue API.
34215
34434
  """
34216
34435
  state: NotRequired[pulumi.Input[str]]
34217
34436
  """
34218
- [Output Only] State of the secure tag, either `EFFECTIVE` or `INEFFECTIVE`. A secure tag is `INEFFECTIVE` when it is deleted or its network is deleted.
34437
+ (Output)
34438
+ State of the secure tag, either EFFECTIVE or INEFFECTIVE. A secure tag is INEFFECTIVE when it is deleted or its network is deleted.
34439
+
34440
+ - - -
34219
34441
  """
34220
34442
  elif False:
34221
34443
  RegionNetworkFirewallPolicyRuleMatchSrcSecureTagArgsDict: TypeAlias = Mapping[str, Any]
@@ -34223,33 +34445,40 @@ elif False:
34223
34445
  @pulumi.input_type
34224
34446
  class RegionNetworkFirewallPolicyRuleMatchSrcSecureTagArgs:
34225
34447
  def __init__(__self__, *,
34226
- name: pulumi.Input[str],
34448
+ name: Optional[pulumi.Input[str]] = None,
34227
34449
  state: Optional[pulumi.Input[str]] = None):
34228
34450
  """
34229
- :param pulumi.Input[str] name: Name of the secure tag, created with TagManager's TagValue API. @pattern tagValues/[0-9]+
34230
- :param pulumi.Input[str] state: [Output Only] State of the secure tag, either `EFFECTIVE` or `INEFFECTIVE`. A secure tag is `INEFFECTIVE` when it is deleted or its network is deleted.
34451
+ :param pulumi.Input[str] name: Name of the secure tag, created with TagManager's TagValue API.
34452
+ :param pulumi.Input[str] state: (Output)
34453
+ State of the secure tag, either EFFECTIVE or INEFFECTIVE. A secure tag is INEFFECTIVE when it is deleted or its network is deleted.
34454
+
34455
+ - - -
34231
34456
  """
34232
- pulumi.set(__self__, "name", name)
34457
+ if name is not None:
34458
+ pulumi.set(__self__, "name", name)
34233
34459
  if state is not None:
34234
34460
  pulumi.set(__self__, "state", state)
34235
34461
 
34236
34462
  @property
34237
34463
  @pulumi.getter
34238
- def name(self) -> pulumi.Input[str]:
34464
+ def name(self) -> Optional[pulumi.Input[str]]:
34239
34465
  """
34240
- Name of the secure tag, created with TagManager's TagValue API. @pattern tagValues/[0-9]+
34466
+ Name of the secure tag, created with TagManager's TagValue API.
34241
34467
  """
34242
34468
  return pulumi.get(self, "name")
34243
34469
 
34244
34470
  @name.setter
34245
- def name(self, value: pulumi.Input[str]):
34471
+ def name(self, value: Optional[pulumi.Input[str]]):
34246
34472
  pulumi.set(self, "name", value)
34247
34473
 
34248
34474
  @property
34249
34475
  @pulumi.getter
34250
34476
  def state(self) -> Optional[pulumi.Input[str]]:
34251
34477
  """
34252
- [Output Only] State of the secure tag, either `EFFECTIVE` or `INEFFECTIVE`. A secure tag is `INEFFECTIVE` when it is deleted or its network is deleted.
34478
+ (Output)
34479
+ State of the secure tag, either EFFECTIVE or INEFFECTIVE. A secure tag is INEFFECTIVE when it is deleted or its network is deleted.
34480
+
34481
+ - - -
34253
34482
  """
34254
34483
  return pulumi.get(self, "state")
34255
34484
 
@@ -34260,13 +34489,14 @@ class RegionNetworkFirewallPolicyRuleMatchSrcSecureTagArgs:
34260
34489
 
34261
34490
  if not MYPY:
34262
34491
  class RegionNetworkFirewallPolicyRuleTargetSecureTagArgsDict(TypedDict):
34263
- name: pulumi.Input[str]
34492
+ name: NotRequired[pulumi.Input[str]]
34264
34493
  """
34265
- Name of the secure tag, created with TagManager's TagValue API. @pattern tagValues/[0-9]+
34494
+ Name of the secure tag, created with TagManager's TagValue API.
34266
34495
  """
34267
34496
  state: NotRequired[pulumi.Input[str]]
34268
34497
  """
34269
- [Output Only] State of the secure tag, either `EFFECTIVE` or `INEFFECTIVE`. A secure tag is `INEFFECTIVE` when it is deleted or its network is deleted.
34498
+ (Output)
34499
+ State of the secure tag, either EFFECTIVE or INEFFECTIVE. A secure tag is INEFFECTIVE when it is deleted or its network is deleted.
34270
34500
  """
34271
34501
  elif False:
34272
34502
  RegionNetworkFirewallPolicyRuleTargetSecureTagArgsDict: TypeAlias = Mapping[str, Any]
@@ -34274,33 +34504,36 @@ elif False:
34274
34504
  @pulumi.input_type
34275
34505
  class RegionNetworkFirewallPolicyRuleTargetSecureTagArgs:
34276
34506
  def __init__(__self__, *,
34277
- name: pulumi.Input[str],
34507
+ name: Optional[pulumi.Input[str]] = None,
34278
34508
  state: Optional[pulumi.Input[str]] = None):
34279
34509
  """
34280
- :param pulumi.Input[str] name: Name of the secure tag, created with TagManager's TagValue API. @pattern tagValues/[0-9]+
34281
- :param pulumi.Input[str] state: [Output Only] State of the secure tag, either `EFFECTIVE` or `INEFFECTIVE`. A secure tag is `INEFFECTIVE` when it is deleted or its network is deleted.
34510
+ :param pulumi.Input[str] name: Name of the secure tag, created with TagManager's TagValue API.
34511
+ :param pulumi.Input[str] state: (Output)
34512
+ State of the secure tag, either EFFECTIVE or INEFFECTIVE. A secure tag is INEFFECTIVE when it is deleted or its network is deleted.
34282
34513
  """
34283
- pulumi.set(__self__, "name", name)
34514
+ if name is not None:
34515
+ pulumi.set(__self__, "name", name)
34284
34516
  if state is not None:
34285
34517
  pulumi.set(__self__, "state", state)
34286
34518
 
34287
34519
  @property
34288
34520
  @pulumi.getter
34289
- def name(self) -> pulumi.Input[str]:
34521
+ def name(self) -> Optional[pulumi.Input[str]]:
34290
34522
  """
34291
- Name of the secure tag, created with TagManager's TagValue API. @pattern tagValues/[0-9]+
34523
+ Name of the secure tag, created with TagManager's TagValue API.
34292
34524
  """
34293
34525
  return pulumi.get(self, "name")
34294
34526
 
34295
34527
  @name.setter
34296
- def name(self, value: pulumi.Input[str]):
34528
+ def name(self, value: Optional[pulumi.Input[str]]):
34297
34529
  pulumi.set(self, "name", value)
34298
34530
 
34299
34531
  @property
34300
34532
  @pulumi.getter
34301
34533
  def state(self) -> Optional[pulumi.Input[str]]:
34302
34534
  """
34303
- [Output Only] State of the secure tag, either `EFFECTIVE` or `INEFFECTIVE`. A secure tag is `INEFFECTIVE` when it is deleted or its network is deleted.
34535
+ (Output)
34536
+ State of the secure tag, either EFFECTIVE or INEFFECTIVE. A secure tag is INEFFECTIVE when it is deleted or its network is deleted.
34304
34537
  """
34305
34538
  return pulumi.get(self, "state")
34306
34539
 
@@ -49033,9 +49266,10 @@ class SecurityPolicyRuleArgs:
49033
49266
 
49034
49267
  if not MYPY:
49035
49268
  class SecurityPolicyRuleHeaderActionArgsDict(TypedDict):
49036
- request_headers_to_adds: pulumi.Input[Sequence[pulumi.Input['SecurityPolicyRuleHeaderActionRequestHeadersToAddArgsDict']]]
49269
+ request_headers_to_adds: NotRequired[pulumi.Input[Sequence[pulumi.Input['SecurityPolicyRuleHeaderActionRequestHeadersToAddArgsDict']]]]
49037
49270
  """
49038
- The list of request headers to add or overwrite if they're already present. Structure is documented below.
49271
+ The list of request headers to add or overwrite if they're already present.
49272
+ Structure is documented below.
49039
49273
  """
49040
49274
  elif False:
49041
49275
  SecurityPolicyRuleHeaderActionArgsDict: TypeAlias = Mapping[str, Any]
@@ -49043,28 +49277,31 @@ elif False:
49043
49277
  @pulumi.input_type
49044
49278
  class SecurityPolicyRuleHeaderActionArgs:
49045
49279
  def __init__(__self__, *,
49046
- request_headers_to_adds: pulumi.Input[Sequence[pulumi.Input['SecurityPolicyRuleHeaderActionRequestHeadersToAddArgs']]]):
49280
+ request_headers_to_adds: Optional[pulumi.Input[Sequence[pulumi.Input['SecurityPolicyRuleHeaderActionRequestHeadersToAddArgs']]]] = None):
49047
49281
  """
49048
- :param pulumi.Input[Sequence[pulumi.Input['SecurityPolicyRuleHeaderActionRequestHeadersToAddArgs']]] request_headers_to_adds: The list of request headers to add or overwrite if they're already present. Structure is documented below.
49282
+ :param pulumi.Input[Sequence[pulumi.Input['SecurityPolicyRuleHeaderActionRequestHeadersToAddArgs']]] request_headers_to_adds: The list of request headers to add or overwrite if they're already present.
49283
+ Structure is documented below.
49049
49284
  """
49050
- pulumi.set(__self__, "request_headers_to_adds", request_headers_to_adds)
49285
+ if request_headers_to_adds is not None:
49286
+ pulumi.set(__self__, "request_headers_to_adds", request_headers_to_adds)
49051
49287
 
49052
49288
  @property
49053
49289
  @pulumi.getter(name="requestHeadersToAdds")
49054
- def request_headers_to_adds(self) -> pulumi.Input[Sequence[pulumi.Input['SecurityPolicyRuleHeaderActionRequestHeadersToAddArgs']]]:
49290
+ def request_headers_to_adds(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SecurityPolicyRuleHeaderActionRequestHeadersToAddArgs']]]]:
49055
49291
  """
49056
- The list of request headers to add or overwrite if they're already present. Structure is documented below.
49292
+ The list of request headers to add or overwrite if they're already present.
49293
+ Structure is documented below.
49057
49294
  """
49058
49295
  return pulumi.get(self, "request_headers_to_adds")
49059
49296
 
49060
49297
  @request_headers_to_adds.setter
49061
- def request_headers_to_adds(self, value: pulumi.Input[Sequence[pulumi.Input['SecurityPolicyRuleHeaderActionRequestHeadersToAddArgs']]]):
49298
+ def request_headers_to_adds(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SecurityPolicyRuleHeaderActionRequestHeadersToAddArgs']]]]):
49062
49299
  pulumi.set(self, "request_headers_to_adds", value)
49063
49300
 
49064
49301
 
49065
49302
  if not MYPY:
49066
49303
  class SecurityPolicyRuleHeaderActionRequestHeadersToAddArgsDict(TypedDict):
49067
- header_name: pulumi.Input[str]
49304
+ header_name: NotRequired[pulumi.Input[str]]
49068
49305
  """
49069
49306
  The name of the header to set.
49070
49307
  """
@@ -49078,26 +49315,27 @@ elif False:
49078
49315
  @pulumi.input_type
49079
49316
  class SecurityPolicyRuleHeaderActionRequestHeadersToAddArgs:
49080
49317
  def __init__(__self__, *,
49081
- header_name: pulumi.Input[str],
49318
+ header_name: Optional[pulumi.Input[str]] = None,
49082
49319
  header_value: Optional[pulumi.Input[str]] = None):
49083
49320
  """
49084
49321
  :param pulumi.Input[str] header_name: The name of the header to set.
49085
49322
  :param pulumi.Input[str] header_value: The value to set the named header to.
49086
49323
  """
49087
- pulumi.set(__self__, "header_name", header_name)
49324
+ if header_name is not None:
49325
+ pulumi.set(__self__, "header_name", header_name)
49088
49326
  if header_value is not None:
49089
49327
  pulumi.set(__self__, "header_value", header_value)
49090
49328
 
49091
49329
  @property
49092
49330
  @pulumi.getter(name="headerName")
49093
- def header_name(self) -> pulumi.Input[str]:
49331
+ def header_name(self) -> Optional[pulumi.Input[str]]:
49094
49332
  """
49095
49333
  The name of the header to set.
49096
49334
  """
49097
49335
  return pulumi.get(self, "header_name")
49098
49336
 
49099
49337
  @header_name.setter
49100
- def header_name(self, value: pulumi.Input[str]):
49338
+ def header_name(self, value: Optional[pulumi.Input[str]]):
49101
49339
  pulumi.set(self, "header_name", value)
49102
49340
 
49103
49341
  @property
@@ -50357,16 +50595,13 @@ class SecurityPolicyRuleRateLimitOptionsRateLimitThresholdArgs:
50357
50595
 
50358
50596
  if not MYPY:
50359
50597
  class SecurityPolicyRuleRedirectOptionsArgsDict(TypedDict):
50360
- type: pulumi.Input[str]
50598
+ target: NotRequired[pulumi.Input[str]]
50361
50599
  """
50362
- Type of redirect action.
50363
-
50364
- * `EXTERNAL_302`: Redirect to an external address, configured in `target`.
50365
- * `GOOGLE_RECAPTCHA`: Redirect to Google reCAPTCHA.
50600
+ Target for the redirect action. This is required if the type is EXTERNAL_302 and cannot be specified for GOOGLE_RECAPTCHA.
50366
50601
  """
50367
- target: NotRequired[pulumi.Input[str]]
50602
+ type: NotRequired[pulumi.Input[str]]
50368
50603
  """
50369
- External redirection target when `EXTERNAL_302` is set in `type`.
50604
+ Type of the redirect action.
50370
50605
  """
50371
50606
  elif False:
50372
50607
  SecurityPolicyRuleRedirectOptionsArgsDict: TypeAlias = Mapping[str, Any]
@@ -50374,45 +50609,40 @@ elif False:
50374
50609
  @pulumi.input_type
50375
50610
  class SecurityPolicyRuleRedirectOptionsArgs:
50376
50611
  def __init__(__self__, *,
50377
- type: pulumi.Input[str],
50378
- target: Optional[pulumi.Input[str]] = None):
50612
+ target: Optional[pulumi.Input[str]] = None,
50613
+ type: Optional[pulumi.Input[str]] = None):
50379
50614
  """
50380
- :param pulumi.Input[str] type: Type of redirect action.
50381
-
50382
- * `EXTERNAL_302`: Redirect to an external address, configured in `target`.
50383
- * `GOOGLE_RECAPTCHA`: Redirect to Google reCAPTCHA.
50384
- :param pulumi.Input[str] target: External redirection target when `EXTERNAL_302` is set in `type`.
50615
+ :param pulumi.Input[str] target: Target for the redirect action. This is required if the type is EXTERNAL_302 and cannot be specified for GOOGLE_RECAPTCHA.
50616
+ :param pulumi.Input[str] type: Type of the redirect action.
50385
50617
  """
50386
- pulumi.set(__self__, "type", type)
50387
50618
  if target is not None:
50388
50619
  pulumi.set(__self__, "target", target)
50620
+ if type is not None:
50621
+ pulumi.set(__self__, "type", type)
50389
50622
 
50390
50623
  @property
50391
50624
  @pulumi.getter
50392
- def type(self) -> pulumi.Input[str]:
50625
+ def target(self) -> Optional[pulumi.Input[str]]:
50393
50626
  """
50394
- Type of redirect action.
50395
-
50396
- * `EXTERNAL_302`: Redirect to an external address, configured in `target`.
50397
- * `GOOGLE_RECAPTCHA`: Redirect to Google reCAPTCHA.
50627
+ Target for the redirect action. This is required if the type is EXTERNAL_302 and cannot be specified for GOOGLE_RECAPTCHA.
50398
50628
  """
50399
- return pulumi.get(self, "type")
50629
+ return pulumi.get(self, "target")
50400
50630
 
50401
- @type.setter
50402
- def type(self, value: pulumi.Input[str]):
50403
- pulumi.set(self, "type", value)
50631
+ @target.setter
50632
+ def target(self, value: Optional[pulumi.Input[str]]):
50633
+ pulumi.set(self, "target", value)
50404
50634
 
50405
50635
  @property
50406
50636
  @pulumi.getter
50407
- def target(self) -> Optional[pulumi.Input[str]]:
50637
+ def type(self) -> Optional[pulumi.Input[str]]:
50408
50638
  """
50409
- External redirection target when `EXTERNAL_302` is set in `type`.
50639
+ Type of the redirect action.
50410
50640
  """
50411
- return pulumi.get(self, "target")
50641
+ return pulumi.get(self, "type")
50412
50642
 
50413
- @target.setter
50414
- def target(self, value: Optional[pulumi.Input[str]]):
50415
- pulumi.set(self, "target", value)
50643
+ @type.setter
50644
+ def type(self, value: Optional[pulumi.Input[str]]):
50645
+ pulumi.set(self, "type", value)
50416
50646
 
50417
50647
 
50418
50648
  if not MYPY:
@@ -50675,7 +50905,7 @@ if not MYPY:
50675
50905
  """
50676
50906
  propagated_connection_count: NotRequired[pulumi.Input[int]]
50677
50907
  """
50678
- (Output, Beta)
50908
+ (Output)
50679
50909
  The number of consumer Network Connectivity Center spokes that the connected Private Service Connect endpoint has propagated to.
50680
50910
  """
50681
50911
  psc_connection_id: NotRequired[pulumi.Input[str]]
@@ -50705,7 +50935,7 @@ class ServiceAttachmentConnectedEndpointArgs:
50705
50935
  The url of the consumer network.
50706
50936
  :param pulumi.Input[str] endpoint: (Output)
50707
50937
  The URL of the consumer forwarding rule.
50708
- :param pulumi.Input[int] propagated_connection_count: (Output, Beta)
50938
+ :param pulumi.Input[int] propagated_connection_count: (Output)
50709
50939
  The number of consumer Network Connectivity Center spokes that the connected Private Service Connect endpoint has propagated to.
50710
50940
  :param pulumi.Input[str] psc_connection_id: (Output)
50711
50941
  The PSC connection id of the connected endpoint.
@@ -50754,7 +50984,7 @@ class ServiceAttachmentConnectedEndpointArgs:
50754
50984
  @pulumi.getter(name="propagatedConnectionCount")
50755
50985
  def propagated_connection_count(self) -> Optional[pulumi.Input[int]]:
50756
50986
  """
50757
- (Output, Beta)
50987
+ (Output)
50758
50988
  The number of consumer Network Connectivity Center spokes that the connected Private Service Connect endpoint has propagated to.
50759
50989
  """
50760
50990
  return pulumi.get(self, "propagated_connection_count")