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
@@ -688,6 +688,7 @@ __all__ = [
688
688
  'GetInstanceGroupManagerVersionTargetSizeResult',
689
689
  'GetInstanceGroupNamedPortResult',
690
690
  'GetInstanceGuestAcceleratorResult',
691
+ 'GetInstanceGuestAttributesQueryValueResult',
691
692
  'GetInstanceNetworkInterfaceResult',
692
693
  'GetInstanceNetworkInterfaceAccessConfigResult',
693
694
  'GetInstanceNetworkInterfaceAliasIpRangeResult',
@@ -4354,6 +4355,8 @@ class ExternalVpnGatewayInterface(dict):
4354
4355
  suggest = None
4355
4356
  if key == "ipAddress":
4356
4357
  suggest = "ip_address"
4358
+ elif key == "ipv6Address":
4359
+ suggest = "ipv6_address"
4357
4360
 
4358
4361
  if suggest:
4359
4362
  pulumi.log.warn(f"Key '{key}' not found in ExternalVpnGatewayInterface. Access the value via the '{suggest}' property getter instead.")
@@ -4368,7 +4371,8 @@ class ExternalVpnGatewayInterface(dict):
4368
4371
 
4369
4372
  def __init__(__self__, *,
4370
4373
  id: Optional[int] = None,
4371
- ip_address: Optional[str] = None):
4374
+ ip_address: Optional[str] = None,
4375
+ ipv6_address: Optional[str] = None):
4372
4376
  """
4373
4377
  :param int id: The numeric ID for this interface. Allowed values are based on the redundancy type
4374
4378
  of this external VPN gateway
@@ -4379,11 +4383,19 @@ class ExternalVpnGatewayInterface(dict):
4379
4383
  Only IPv4 is supported. This IP address can be either from
4380
4384
  your on-premise gateway or another Cloud provider's VPN gateway,
4381
4385
  it cannot be an IP address from Google Compute Engine.
4386
+ :param str ipv6_address: IPv6 address of the interface in the external VPN gateway. This IPv6
4387
+ address can be either from your on-premise gateway or another Cloud
4388
+ provider's VPN gateway, it cannot be an IP address from Google Compute
4389
+ Engine. Must specify an IPv6 address (not IPV4-mapped) using any format
4390
+ described in RFC 4291 (e.g. 2001:db8:0:0:2d9:51:0:0). The output format
4391
+ is RFC 5952 format (e.g. 2001:db8::2d9:51:0:0).
4382
4392
  """
4383
4393
  if id is not None:
4384
4394
  pulumi.set(__self__, "id", id)
4385
4395
  if ip_address is not None:
4386
4396
  pulumi.set(__self__, "ip_address", ip_address)
4397
+ if ipv6_address is not None:
4398
+ pulumi.set(__self__, "ipv6_address", ipv6_address)
4387
4399
 
4388
4400
  @property
4389
4401
  @pulumi.getter
@@ -4408,6 +4420,19 @@ class ExternalVpnGatewayInterface(dict):
4408
4420
  """
4409
4421
  return pulumi.get(self, "ip_address")
4410
4422
 
4423
+ @property
4424
+ @pulumi.getter(name="ipv6Address")
4425
+ def ipv6_address(self) -> Optional[str]:
4426
+ """
4427
+ IPv6 address of the interface in the external VPN gateway. This IPv6
4428
+ address can be either from your on-premise gateway or another Cloud
4429
+ provider's VPN gateway, it cannot be an IP address from Google Compute
4430
+ Engine. Must specify an IPv6 address (not IPV4-mapped) using any format
4431
+ described in RFC 4291 (e.g. 2001:db8:0:0:2d9:51:0:0). The output format
4432
+ is RFC 5952 format (e.g. 2001:db8::2d9:51:0:0).
4433
+ """
4434
+ return pulumi.get(self, "ipv6_address")
4435
+
4411
4436
 
4412
4437
  @pulumi.output_type
4413
4438
  class FirewallAllow(dict):
@@ -7151,6 +7176,8 @@ class InstanceAdvancedMachineFeatures(dict):
7151
7176
  suggest = "enable_nested_virtualization"
7152
7177
  elif key == "threadsPerCore":
7153
7178
  suggest = "threads_per_core"
7179
+ elif key == "turboMode":
7180
+ suggest = "turbo_mode"
7154
7181
  elif key == "visibleCoreCount":
7155
7182
  suggest = "visible_core_count"
7156
7183
 
@@ -7168,16 +7195,20 @@ class InstanceAdvancedMachineFeatures(dict):
7168
7195
  def __init__(__self__, *,
7169
7196
  enable_nested_virtualization: Optional[bool] = None,
7170
7197
  threads_per_core: Optional[int] = None,
7198
+ turbo_mode: Optional[str] = None,
7171
7199
  visible_core_count: Optional[int] = None):
7172
7200
  """
7173
7201
  :param bool enable_nested_virtualization: Defines whether the instance should have nested virtualization enabled. Defaults to false.
7174
- :param 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.
7202
+ :param 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.
7203
+ :param str turbo_mode: Turbo frequency mode to use for the instance. Supported modes are currently either `ALL_CORE_MAX` or unset (default).
7175
7204
  :param 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).
7176
7205
  """
7177
7206
  if enable_nested_virtualization is not None:
7178
7207
  pulumi.set(__self__, "enable_nested_virtualization", enable_nested_virtualization)
7179
7208
  if threads_per_core is not None:
7180
7209
  pulumi.set(__self__, "threads_per_core", threads_per_core)
7210
+ if turbo_mode is not None:
7211
+ pulumi.set(__self__, "turbo_mode", turbo_mode)
7181
7212
  if visible_core_count is not None:
7182
7213
  pulumi.set(__self__, "visible_core_count", visible_core_count)
7183
7214
 
@@ -7193,10 +7224,18 @@ class InstanceAdvancedMachineFeatures(dict):
7193
7224
  @pulumi.getter(name="threadsPerCore")
7194
7225
  def threads_per_core(self) -> Optional[int]:
7195
7226
  """
7196
- 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.
7227
+ 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.
7197
7228
  """
7198
7229
  return pulumi.get(self, "threads_per_core")
7199
7230
 
7231
+ @property
7232
+ @pulumi.getter(name="turboMode")
7233
+ def turbo_mode(self) -> Optional[str]:
7234
+ """
7235
+ Turbo frequency mode to use for the instance. Supported modes are currently either `ALL_CORE_MAX` or unset (default).
7236
+ """
7237
+ return pulumi.get(self, "turbo_mode")
7238
+
7200
7239
  @property
7201
7240
  @pulumi.getter(name="visibleCoreCount")
7202
7241
  def visible_core_count(self) -> Optional[int]:
@@ -7766,6 +7805,8 @@ class InstanceFromMachineImageAdvancedMachineFeatures(dict):
7766
7805
  suggest = "enable_nested_virtualization"
7767
7806
  elif key == "threadsPerCore":
7768
7807
  suggest = "threads_per_core"
7808
+ elif key == "turboMode":
7809
+ suggest = "turbo_mode"
7769
7810
  elif key == "visibleCoreCount":
7770
7811
  suggest = "visible_core_count"
7771
7812
 
@@ -7783,16 +7824,20 @@ class InstanceFromMachineImageAdvancedMachineFeatures(dict):
7783
7824
  def __init__(__self__, *,
7784
7825
  enable_nested_virtualization: Optional[bool] = None,
7785
7826
  threads_per_core: Optional[int] = None,
7827
+ turbo_mode: Optional[str] = None,
7786
7828
  visible_core_count: Optional[int] = None):
7787
7829
  """
7788
7830
  :param bool enable_nested_virtualization: Whether to enable nested virtualization or not.
7789
7831
  :param 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.
7832
+ :param str turbo_mode: Turbo frequency mode to use for the instance. Currently supported modes is "ALL_CORE_MAX".
7790
7833
  :param 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.
7791
7834
  """
7792
7835
  if enable_nested_virtualization is not None:
7793
7836
  pulumi.set(__self__, "enable_nested_virtualization", enable_nested_virtualization)
7794
7837
  if threads_per_core is not None:
7795
7838
  pulumi.set(__self__, "threads_per_core", threads_per_core)
7839
+ if turbo_mode is not None:
7840
+ pulumi.set(__self__, "turbo_mode", turbo_mode)
7796
7841
  if visible_core_count is not None:
7797
7842
  pulumi.set(__self__, "visible_core_count", visible_core_count)
7798
7843
 
@@ -7812,6 +7857,14 @@ class InstanceFromMachineImageAdvancedMachineFeatures(dict):
7812
7857
  """
7813
7858
  return pulumi.get(self, "threads_per_core")
7814
7859
 
7860
+ @property
7861
+ @pulumi.getter(name="turboMode")
7862
+ def turbo_mode(self) -> Optional[str]:
7863
+ """
7864
+ Turbo frequency mode to use for the instance. Currently supported modes is "ALL_CORE_MAX".
7865
+ """
7866
+ return pulumi.get(self, "turbo_mode")
7867
+
7815
7868
  @property
7816
7869
  @pulumi.getter(name="visibleCoreCount")
7817
7870
  def visible_core_count(self) -> Optional[int]:
@@ -9414,6 +9467,8 @@ class InstanceFromTemplateAdvancedMachineFeatures(dict):
9414
9467
  suggest = "enable_nested_virtualization"
9415
9468
  elif key == "threadsPerCore":
9416
9469
  suggest = "threads_per_core"
9470
+ elif key == "turboMode":
9471
+ suggest = "turbo_mode"
9417
9472
  elif key == "visibleCoreCount":
9418
9473
  suggest = "visible_core_count"
9419
9474
 
@@ -9431,16 +9486,20 @@ class InstanceFromTemplateAdvancedMachineFeatures(dict):
9431
9486
  def __init__(__self__, *,
9432
9487
  enable_nested_virtualization: Optional[bool] = None,
9433
9488
  threads_per_core: Optional[int] = None,
9489
+ turbo_mode: Optional[str] = None,
9434
9490
  visible_core_count: Optional[int] = None):
9435
9491
  """
9436
9492
  :param bool enable_nested_virtualization: Whether to enable nested virtualization or not.
9437
9493
  :param 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.
9494
+ :param str turbo_mode: Turbo frequency mode to use for the instance. Currently supported modes is "ALL_CORE_MAX".
9438
9495
  :param 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.
9439
9496
  """
9440
9497
  if enable_nested_virtualization is not None:
9441
9498
  pulumi.set(__self__, "enable_nested_virtualization", enable_nested_virtualization)
9442
9499
  if threads_per_core is not None:
9443
9500
  pulumi.set(__self__, "threads_per_core", threads_per_core)
9501
+ if turbo_mode is not None:
9502
+ pulumi.set(__self__, "turbo_mode", turbo_mode)
9444
9503
  if visible_core_count is not None:
9445
9504
  pulumi.set(__self__, "visible_core_count", visible_core_count)
9446
9505
 
@@ -9460,6 +9519,14 @@ class InstanceFromTemplateAdvancedMachineFeatures(dict):
9460
9519
  """
9461
9520
  return pulumi.get(self, "threads_per_core")
9462
9521
 
9522
+ @property
9523
+ @pulumi.getter(name="turboMode")
9524
+ def turbo_mode(self) -> Optional[str]:
9525
+ """
9526
+ Turbo frequency mode to use for the instance. Currently supported modes is "ALL_CORE_MAX".
9527
+ """
9528
+ return pulumi.get(self, "turbo_mode")
9529
+
9463
9530
  @property
9464
9531
  @pulumi.getter(name="visibleCoreCount")
9465
9532
  def visible_core_count(self) -> Optional[int]:
@@ -13356,6 +13423,8 @@ class InstanceTemplateAdvancedMachineFeatures(dict):
13356
13423
  suggest = "enable_nested_virtualization"
13357
13424
  elif key == "threadsPerCore":
13358
13425
  suggest = "threads_per_core"
13426
+ elif key == "turboMode":
13427
+ suggest = "turbo_mode"
13359
13428
  elif key == "visibleCoreCount":
13360
13429
  suggest = "visible_core_count"
13361
13430
 
@@ -13373,16 +13442,20 @@ class InstanceTemplateAdvancedMachineFeatures(dict):
13373
13442
  def __init__(__self__, *,
13374
13443
  enable_nested_virtualization: Optional[bool] = None,
13375
13444
  threads_per_core: Optional[int] = None,
13445
+ turbo_mode: Optional[str] = None,
13376
13446
  visible_core_count: Optional[int] = None):
13377
13447
  """
13378
13448
  :param bool enable_nested_virtualization: Defines whether the instance should have nested virtualization enabled. Defaults to false.
13379
13449
  :param 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.
13450
+ :param str turbo_mode: Turbo frequency mode to use for the instance. Supported modes are currently either `ALL_CORE_MAX` or unset (default).
13380
13451
  :param 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).
13381
13452
  """
13382
13453
  if enable_nested_virtualization is not None:
13383
13454
  pulumi.set(__self__, "enable_nested_virtualization", enable_nested_virtualization)
13384
13455
  if threads_per_core is not None:
13385
13456
  pulumi.set(__self__, "threads_per_core", threads_per_core)
13457
+ if turbo_mode is not None:
13458
+ pulumi.set(__self__, "turbo_mode", turbo_mode)
13386
13459
  if visible_core_count is not None:
13387
13460
  pulumi.set(__self__, "visible_core_count", visible_core_count)
13388
13461
 
@@ -13402,6 +13475,14 @@ class InstanceTemplateAdvancedMachineFeatures(dict):
13402
13475
  """
13403
13476
  return pulumi.get(self, "threads_per_core")
13404
13477
 
13478
+ @property
13479
+ @pulumi.getter(name="turboMode")
13480
+ def turbo_mode(self) -> Optional[str]:
13481
+ """
13482
+ Turbo frequency mode to use for the instance. Supported modes are currently either `ALL_CORE_MAX` or unset (default).
13483
+ """
13484
+ return pulumi.get(self, "turbo_mode")
13485
+
13405
13486
  @property
13406
13487
  @pulumi.getter(name="visibleCoreCount")
13407
13488
  def visible_core_count(self) -> Optional[int]:
@@ -13480,6 +13561,8 @@ class InstanceTemplateDisk(dict):
13480
13561
  suggest = "disk_type"
13481
13562
  elif key == "provisionedIops":
13482
13563
  suggest = "provisioned_iops"
13564
+ elif key == "provisionedThroughput":
13565
+ suggest = "provisioned_throughput"
13483
13566
  elif key == "resourceManagerTags":
13484
13567
  suggest = "resource_manager_tags"
13485
13568
  elif key == "resourcePolicies":
@@ -13516,6 +13599,7 @@ class InstanceTemplateDisk(dict):
13516
13599
  labels: Optional[Mapping[str, str]] = None,
13517
13600
  mode: Optional[str] = None,
13518
13601
  provisioned_iops: Optional[int] = None,
13602
+ provisioned_throughput: Optional[int] = None,
13519
13603
  resource_manager_tags: Optional[Mapping[str, str]] = None,
13520
13604
  resource_policies: Optional[str] = None,
13521
13605
  source: Optional[str] = None,
@@ -13560,6 +13644,7 @@ class InstanceTemplateDisk(dict):
13560
13644
  sets the number of I/O operations per second that the disk can handle.
13561
13645
  Values must be between 10,000 and 120,000. For more details, see the
13562
13646
  [Extreme persistent disk documentation](https://cloud.google.com/compute/docs/disks/extreme-persistent-disk).
13647
+ :param 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).
13563
13648
  :param Mapping[str, 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.
13564
13649
  :param 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.
13565
13650
  :param str source: The name (**not self_link**)
@@ -13610,6 +13695,8 @@ class InstanceTemplateDisk(dict):
13610
13695
  pulumi.set(__self__, "mode", mode)
13611
13696
  if provisioned_iops is not None:
13612
13697
  pulumi.set(__self__, "provisioned_iops", provisioned_iops)
13698
+ if provisioned_throughput is not None:
13699
+ pulumi.set(__self__, "provisioned_throughput", provisioned_throughput)
13613
13700
  if resource_manager_tags is not None:
13614
13701
  pulumi.set(__self__, "resource_manager_tags", resource_manager_tags)
13615
13702
  if resource_policies is not None:
@@ -13739,6 +13826,14 @@ class InstanceTemplateDisk(dict):
13739
13826
  """
13740
13827
  return pulumi.get(self, "provisioned_iops")
13741
13828
 
13829
+ @property
13830
+ @pulumi.getter(name="provisionedThroughput")
13831
+ def provisioned_throughput(self) -> Optional[int]:
13832
+ """
13833
+ 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).
13834
+ """
13835
+ return pulumi.get(self, "provisioned_throughput")
13836
+
13742
13837
  @property
13743
13838
  @pulumi.getter(name="resourceManagerTags")
13744
13839
  def resource_manager_tags(self) -> Optional[Mapping[str, str]]:
@@ -15935,19 +16030,22 @@ class NetworkFirewallPolicyRuleMatch(dict):
15935
16030
  src_threat_intelligences: Optional[Sequence[str]] = None):
15936
16031
  """
15937
16032
  :param Sequence['NetworkFirewallPolicyRuleMatchLayer4ConfigArgs'] layer4_configs: Pairs of IP protocols and ports that the rule should match.
15938
- :param Sequence[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.
15939
- :param Sequence[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.
16033
+ Structure is documented below.
16034
+ :param Sequence[str] dest_address_groups: Address groups which should be matched against the traffic destination. Maximum number of destination address groups is 10.
16035
+ :param Sequence[str] dest_fqdns: Fully Qualified Domain Name (FQDN) which should be matched against traffic destination. Maximum number of destination fqdn allowed is 100.
15940
16036
  :param Sequence[str] dest_ip_ranges: CIDR IP address range. Maximum number of destination CIDR IP ranges allowed is 5000.
15941
- :param Sequence[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.
15942
- :param Sequence[str] dest_threat_intelligences: Name of the Google Cloud Threat Intelligence list.
15943
- :param Sequence[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.
15944
- :param Sequence[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.
16037
+ :param Sequence[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.
16038
+ :param Sequence[str] dest_threat_intelligences: Names of Network Threat Intelligence lists. The IPs in these lists will be matched against traffic destination.
16039
+ :param Sequence[str] src_address_groups: Address groups which should be matched against the traffic source. Maximum number of source address groups is 10.
16040
+ :param Sequence[str] src_fqdns: Fully Qualified Domain Name (FQDN) which should be matched against traffic source. Maximum number of source fqdn allowed is 100.
15945
16041
  :param Sequence[str] src_ip_ranges: CIDR IP address range. Maximum number of source CIDR IP ranges allowed is 5000.
15946
- :param Sequence[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.
15947
- :param Sequence['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.
15948
- :param Sequence[str] src_threat_intelligences: Name of the Google Cloud Threat Intelligence list.
16042
+ :param Sequence[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.
16043
+ :param Sequence['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.
16044
+ Structure is documented below.
16045
+ :param Sequence[str] src_threat_intelligences: Names of Network Threat Intelligence lists. The IPs in these lists will be matched against traffic source.
15949
16046
 
15950
- The `layer4_configs` block supports:
16047
+
16048
+ <a name="nested_layer4_configs"></a>The `layer4_configs` block supports:
15951
16049
  """
15952
16050
  pulumi.set(__self__, "layer4_configs", layer4_configs)
15953
16051
  if dest_address_groups is not None:
@@ -15978,6 +16076,7 @@ class NetworkFirewallPolicyRuleMatch(dict):
15978
16076
  def layer4_configs(self) -> Sequence['outputs.NetworkFirewallPolicyRuleMatchLayer4Config']:
15979
16077
  """
15980
16078
  Pairs of IP protocols and ports that the rule should match.
16079
+ Structure is documented below.
15981
16080
  """
15982
16081
  return pulumi.get(self, "layer4_configs")
15983
16082
 
@@ -15985,7 +16084,7 @@ class NetworkFirewallPolicyRuleMatch(dict):
15985
16084
  @pulumi.getter(name="destAddressGroups")
15986
16085
  def dest_address_groups(self) -> Optional[Sequence[str]]:
15987
16086
  """
15988
- 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.
16087
+ Address groups which should be matched against the traffic destination. Maximum number of destination address groups is 10.
15989
16088
  """
15990
16089
  return pulumi.get(self, "dest_address_groups")
15991
16090
 
@@ -15993,7 +16092,7 @@ class NetworkFirewallPolicyRuleMatch(dict):
15993
16092
  @pulumi.getter(name="destFqdns")
15994
16093
  def dest_fqdns(self) -> Optional[Sequence[str]]:
15995
16094
  """
15996
- 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.
16095
+ Fully Qualified Domain Name (FQDN) which should be matched against traffic destination. Maximum number of destination fqdn allowed is 100.
15997
16096
  """
15998
16097
  return pulumi.get(self, "dest_fqdns")
15999
16098
 
@@ -16009,7 +16108,7 @@ class NetworkFirewallPolicyRuleMatch(dict):
16009
16108
  @pulumi.getter(name="destRegionCodes")
16010
16109
  def dest_region_codes(self) -> Optional[Sequence[str]]:
16011
16110
  """
16012
- 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.
16111
+ 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.
16013
16112
  """
16014
16113
  return pulumi.get(self, "dest_region_codes")
16015
16114
 
@@ -16017,7 +16116,7 @@ class NetworkFirewallPolicyRuleMatch(dict):
16017
16116
  @pulumi.getter(name="destThreatIntelligences")
16018
16117
  def dest_threat_intelligences(self) -> Optional[Sequence[str]]:
16019
16118
  """
16020
- Name of the Google Cloud Threat Intelligence list.
16119
+ Names of Network Threat Intelligence lists. The IPs in these lists will be matched against traffic destination.
16021
16120
  """
16022
16121
  return pulumi.get(self, "dest_threat_intelligences")
16023
16122
 
@@ -16025,7 +16124,7 @@ class NetworkFirewallPolicyRuleMatch(dict):
16025
16124
  @pulumi.getter(name="srcAddressGroups")
16026
16125
  def src_address_groups(self) -> Optional[Sequence[str]]:
16027
16126
  """
16028
- 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.
16127
+ Address groups which should be matched against the traffic source. Maximum number of source address groups is 10.
16029
16128
  """
16030
16129
  return pulumi.get(self, "src_address_groups")
16031
16130
 
@@ -16033,7 +16132,7 @@ class NetworkFirewallPolicyRuleMatch(dict):
16033
16132
  @pulumi.getter(name="srcFqdns")
16034
16133
  def src_fqdns(self) -> Optional[Sequence[str]]:
16035
16134
  """
16036
- 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.
16135
+ Fully Qualified Domain Name (FQDN) which should be matched against traffic source. Maximum number of source fqdn allowed is 100.
16037
16136
  """
16038
16137
  return pulumi.get(self, "src_fqdns")
16039
16138
 
@@ -16049,7 +16148,7 @@ class NetworkFirewallPolicyRuleMatch(dict):
16049
16148
  @pulumi.getter(name="srcRegionCodes")
16050
16149
  def src_region_codes(self) -> Optional[Sequence[str]]:
16051
16150
  """
16052
- 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.
16151
+ 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.
16053
16152
  """
16054
16153
  return pulumi.get(self, "src_region_codes")
16055
16154
 
@@ -16057,7 +16156,8 @@ class NetworkFirewallPolicyRuleMatch(dict):
16057
16156
  @pulumi.getter(name="srcSecureTags")
16058
16157
  def src_secure_tags(self) -> Optional[Sequence['outputs.NetworkFirewallPolicyRuleMatchSrcSecureTag']]:
16059
16158
  """
16060
- 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.
16159
+ 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.
16160
+ Structure is documented below.
16061
16161
  """
16062
16162
  return pulumi.get(self, "src_secure_tags")
16063
16163
 
@@ -16065,9 +16165,10 @@ class NetworkFirewallPolicyRuleMatch(dict):
16065
16165
  @pulumi.getter(name="srcThreatIntelligences")
16066
16166
  def src_threat_intelligences(self) -> Optional[Sequence[str]]:
16067
16167
  """
16068
- Name of the Google Cloud Threat Intelligence list.
16168
+ Names of Network Threat Intelligence lists. The IPs in these lists will be matched against traffic source.
16069
16169
 
16070
- The `layer4_configs` block supports:
16170
+
16171
+ <a name="nested_layer4_configs"></a>The `layer4_configs` block supports:
16071
16172
  """
16072
16173
  return pulumi.get(self, "src_threat_intelligences")
16073
16174
 
@@ -16095,8 +16196,10 @@ class NetworkFirewallPolicyRuleMatchLayer4Config(dict):
16095
16196
  ip_protocol: str,
16096
16197
  ports: Optional[Sequence[str]] = None):
16097
16198
  """
16098
- :param 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.
16099
- :param Sequence[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: ``.
16199
+ :param str ip_protocol: The IP protocol to which this rule applies. The protocol type is required when creating a firewall rule.
16200
+ 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.
16201
+ :param Sequence[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.
16202
+ Example inputs include: ["22"], ["80","443"], and ["12345-12349"].
16100
16203
  """
16101
16204
  pulumi.set(__self__, "ip_protocol", ip_protocol)
16102
16205
  if ports is not None:
@@ -16106,7 +16209,8 @@ class NetworkFirewallPolicyRuleMatchLayer4Config(dict):
16106
16209
  @pulumi.getter(name="ipProtocol")
16107
16210
  def ip_protocol(self) -> str:
16108
16211
  """
16109
- 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.
16212
+ The IP protocol to which this rule applies. The protocol type is required when creating a firewall rule.
16213
+ 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.
16110
16214
  """
16111
16215
  return pulumi.get(self, "ip_protocol")
16112
16216
 
@@ -16114,7 +16218,8 @@ class NetworkFirewallPolicyRuleMatchLayer4Config(dict):
16114
16218
  @pulumi.getter
16115
16219
  def ports(self) -> Optional[Sequence[str]]:
16116
16220
  """
16117
- 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: ``.
16221
+ 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.
16222
+ Example inputs include: ["22"], ["80","443"], and ["12345-12349"].
16118
16223
  """
16119
16224
  return pulumi.get(self, "ports")
16120
16225
 
@@ -16122,21 +16227,25 @@ class NetworkFirewallPolicyRuleMatchLayer4Config(dict):
16122
16227
  @pulumi.output_type
16123
16228
  class NetworkFirewallPolicyRuleMatchSrcSecureTag(dict):
16124
16229
  def __init__(__self__, *,
16125
- name: str,
16230
+ name: Optional[str] = None,
16126
16231
  state: Optional[str] = None):
16127
16232
  """
16128
- :param str name: Name of the secure tag, created with TagManager's TagValue API. @pattern tagValues/[0-9]+
16129
- :param 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.
16233
+ :param str name: Name of the secure tag, created with TagManager's TagValue API.
16234
+ :param str state: (Output)
16235
+ State of the secure tag, either EFFECTIVE or INEFFECTIVE. A secure tag is INEFFECTIVE when it is deleted or its network is deleted.
16236
+
16237
+ - - -
16130
16238
  """
16131
- pulumi.set(__self__, "name", name)
16239
+ if name is not None:
16240
+ pulumi.set(__self__, "name", name)
16132
16241
  if state is not None:
16133
16242
  pulumi.set(__self__, "state", state)
16134
16243
 
16135
16244
  @property
16136
16245
  @pulumi.getter
16137
- def name(self) -> str:
16246
+ def name(self) -> Optional[str]:
16138
16247
  """
16139
- Name of the secure tag, created with TagManager's TagValue API. @pattern tagValues/[0-9]+
16248
+ Name of the secure tag, created with TagManager's TagValue API.
16140
16249
  """
16141
16250
  return pulumi.get(self, "name")
16142
16251
 
@@ -16144,7 +16253,10 @@ class NetworkFirewallPolicyRuleMatchSrcSecureTag(dict):
16144
16253
  @pulumi.getter
16145
16254
  def state(self) -> Optional[str]:
16146
16255
  """
16147
- [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.
16256
+ (Output)
16257
+ State of the secure tag, either EFFECTIVE or INEFFECTIVE. A secure tag is INEFFECTIVE when it is deleted or its network is deleted.
16258
+
16259
+ - - -
16148
16260
  """
16149
16261
  return pulumi.get(self, "state")
16150
16262
 
@@ -16152,21 +16264,23 @@ class NetworkFirewallPolicyRuleMatchSrcSecureTag(dict):
16152
16264
  @pulumi.output_type
16153
16265
  class NetworkFirewallPolicyRuleTargetSecureTag(dict):
16154
16266
  def __init__(__self__, *,
16155
- name: str,
16267
+ name: Optional[str] = None,
16156
16268
  state: Optional[str] = None):
16157
16269
  """
16158
- :param str name: Name of the secure tag, created with TagManager's TagValue API. @pattern tagValues/[0-9]+
16159
- :param 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.
16270
+ :param str name: Name of the secure tag, created with TagManager's TagValue API.
16271
+ :param str state: (Output)
16272
+ State of the secure tag, either EFFECTIVE or INEFFECTIVE. A secure tag is INEFFECTIVE when it is deleted or its network is deleted.
16160
16273
  """
16161
- pulumi.set(__self__, "name", name)
16274
+ if name is not None:
16275
+ pulumi.set(__self__, "name", name)
16162
16276
  if state is not None:
16163
16277
  pulumi.set(__self__, "state", state)
16164
16278
 
16165
16279
  @property
16166
16280
  @pulumi.getter
16167
- def name(self) -> str:
16281
+ def name(self) -> Optional[str]:
16168
16282
  """
16169
- Name of the secure tag, created with TagManager's TagValue API. @pattern tagValues/[0-9]+
16283
+ Name of the secure tag, created with TagManager's TagValue API.
16170
16284
  """
16171
16285
  return pulumi.get(self, "name")
16172
16286
 
@@ -16174,7 +16288,8 @@ class NetworkFirewallPolicyRuleTargetSecureTag(dict):
16174
16288
  @pulumi.getter
16175
16289
  def state(self) -> Optional[str]:
16176
16290
  """
16177
- [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.
16291
+ (Output)
16292
+ State of the secure tag, either EFFECTIVE or INEFFECTIVE. A secure tag is INEFFECTIVE when it is deleted or its network is deleted.
16178
16293
  """
16179
16294
  return pulumi.get(self, "state")
16180
16295
 
@@ -23283,6 +23398,8 @@ class RegionInstanceTemplateAdvancedMachineFeatures(dict):
23283
23398
  suggest = "enable_nested_virtualization"
23284
23399
  elif key == "threadsPerCore":
23285
23400
  suggest = "threads_per_core"
23401
+ elif key == "turboMode":
23402
+ suggest = "turbo_mode"
23286
23403
  elif key == "visibleCoreCount":
23287
23404
  suggest = "visible_core_count"
23288
23405
 
@@ -23300,16 +23417,20 @@ class RegionInstanceTemplateAdvancedMachineFeatures(dict):
23300
23417
  def __init__(__self__, *,
23301
23418
  enable_nested_virtualization: Optional[bool] = None,
23302
23419
  threads_per_core: Optional[int] = None,
23420
+ turbo_mode: Optional[str] = None,
23303
23421
  visible_core_count: Optional[int] = None):
23304
23422
  """
23305
23423
  :param bool enable_nested_virtualization: Defines whether the instance should have nested virtualization enabled. Defaults to false.
23306
23424
  :param 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.
23425
+ :param str turbo_mode: Turbo frequency mode to use for the instance. Supported modes are currently either `ALL_CORE_MAX` or unset (default).
23307
23426
  :param 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).
23308
23427
  """
23309
23428
  if enable_nested_virtualization is not None:
23310
23429
  pulumi.set(__self__, "enable_nested_virtualization", enable_nested_virtualization)
23311
23430
  if threads_per_core is not None:
23312
23431
  pulumi.set(__self__, "threads_per_core", threads_per_core)
23432
+ if turbo_mode is not None:
23433
+ pulumi.set(__self__, "turbo_mode", turbo_mode)
23313
23434
  if visible_core_count is not None:
23314
23435
  pulumi.set(__self__, "visible_core_count", visible_core_count)
23315
23436
 
@@ -23329,6 +23450,14 @@ class RegionInstanceTemplateAdvancedMachineFeatures(dict):
23329
23450
  """
23330
23451
  return pulumi.get(self, "threads_per_core")
23331
23452
 
23453
+ @property
23454
+ @pulumi.getter(name="turboMode")
23455
+ def turbo_mode(self) -> Optional[str]:
23456
+ """
23457
+ Turbo frequency mode to use for the instance. Supported modes are currently either `ALL_CORE_MAX` or unset (default).
23458
+ """
23459
+ return pulumi.get(self, "turbo_mode")
23460
+
23332
23461
  @property
23333
23462
  @pulumi.getter(name="visibleCoreCount")
23334
23463
  def visible_core_count(self) -> Optional[int]:
@@ -23407,6 +23536,8 @@ class RegionInstanceTemplateDisk(dict):
23407
23536
  suggest = "disk_type"
23408
23537
  elif key == "provisionedIops":
23409
23538
  suggest = "provisioned_iops"
23539
+ elif key == "provisionedThroughput":
23540
+ suggest = "provisioned_throughput"
23410
23541
  elif key == "resourceManagerTags":
23411
23542
  suggest = "resource_manager_tags"
23412
23543
  elif key == "resourcePolicies":
@@ -23443,6 +23574,7 @@ class RegionInstanceTemplateDisk(dict):
23443
23574
  labels: Optional[Mapping[str, str]] = None,
23444
23575
  mode: Optional[str] = None,
23445
23576
  provisioned_iops: Optional[int] = None,
23577
+ provisioned_throughput: Optional[int] = None,
23446
23578
  resource_manager_tags: Optional[Mapping[str, str]] = None,
23447
23579
  resource_policies: Optional[str] = None,
23448
23580
  source: Optional[str] = None,
@@ -23487,6 +23619,7 @@ class RegionInstanceTemplateDisk(dict):
23487
23619
  sets the number of I/O operations per second that the disk can handle.
23488
23620
  Values must be between 10,000 and 120,000. For more details, see the
23489
23621
  [Extreme persistent disk documentation](https://cloud.google.com/compute/docs/disks/extreme-persistent-disk).
23622
+ :param 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).
23490
23623
  :param Mapping[str, 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.
23491
23624
  :param 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.
23492
23625
  :param str source: The name (**not self_link**)
@@ -23537,6 +23670,8 @@ class RegionInstanceTemplateDisk(dict):
23537
23670
  pulumi.set(__self__, "mode", mode)
23538
23671
  if provisioned_iops is not None:
23539
23672
  pulumi.set(__self__, "provisioned_iops", provisioned_iops)
23673
+ if provisioned_throughput is not None:
23674
+ pulumi.set(__self__, "provisioned_throughput", provisioned_throughput)
23540
23675
  if resource_manager_tags is not None:
23541
23676
  pulumi.set(__self__, "resource_manager_tags", resource_manager_tags)
23542
23677
  if resource_policies is not None:
@@ -23666,6 +23801,14 @@ class RegionInstanceTemplateDisk(dict):
23666
23801
  """
23667
23802
  return pulumi.get(self, "provisioned_iops")
23668
23803
 
23804
+ @property
23805
+ @pulumi.getter(name="provisionedThroughput")
23806
+ def provisioned_throughput(self) -> Optional[int]:
23807
+ """
23808
+ 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).
23809
+ """
23810
+ return pulumi.get(self, "provisioned_throughput")
23811
+
23669
23812
  @property
23670
23813
  @pulumi.getter(name="resourceManagerTags")
23671
23814
  def resource_manager_tags(self) -> Optional[Mapping[str, str]]:
@@ -25336,19 +25479,22 @@ class RegionNetworkFirewallPolicyRuleMatch(dict):
25336
25479
  src_threat_intelligences: Optional[Sequence[str]] = None):
25337
25480
  """
25338
25481
  :param Sequence['RegionNetworkFirewallPolicyRuleMatchLayer4ConfigArgs'] layer4_configs: Pairs of IP protocols and ports that the rule should match.
25339
- :param Sequence[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.
25340
- :param Sequence[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.
25482
+ Structure is documented below.
25483
+ :param Sequence[str] dest_address_groups: Address groups which should be matched against the traffic destination. Maximum number of destination address groups is 10.
25484
+ :param Sequence[str] dest_fqdns: Fully Qualified Domain Name (FQDN) which should be matched against traffic destination. Maximum number of destination fqdn allowed is 100.
25341
25485
  :param Sequence[str] dest_ip_ranges: CIDR IP address range. Maximum number of destination CIDR IP ranges allowed is 5000.
25342
- :param Sequence[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.
25343
- :param Sequence[str] dest_threat_intelligences: Name of the Google Cloud Threat Intelligence list.
25344
- :param Sequence[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.
25345
- :param Sequence[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.
25486
+ :param Sequence[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.
25487
+ :param Sequence[str] dest_threat_intelligences: Names of Network Threat Intelligence lists. The IPs in these lists will be matched against traffic destination.
25488
+ :param Sequence[str] src_address_groups: Address groups which should be matched against the traffic source. Maximum number of source address groups is 10.
25489
+ :param Sequence[str] src_fqdns: Fully Qualified Domain Name (FQDN) which should be matched against traffic source. Maximum number of source fqdn allowed is 100.
25346
25490
  :param Sequence[str] src_ip_ranges: CIDR IP address range. Maximum number of source CIDR IP ranges allowed is 5000.
25347
- :param Sequence[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.
25348
- :param Sequence['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.
25349
- :param Sequence[str] src_threat_intelligences: Name of the Google Cloud Threat Intelligence list.
25491
+ :param Sequence[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.
25492
+ :param Sequence['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.
25493
+ Structure is documented below.
25494
+ :param Sequence[str] src_threat_intelligences: Names of Network Threat Intelligence lists. The IPs in these lists will be matched against traffic source.
25350
25495
 
25351
- The `layer4_configs` block supports:
25496
+
25497
+ <a name="nested_layer4_configs"></a>The `layer4_configs` block supports:
25352
25498
  """
25353
25499
  pulumi.set(__self__, "layer4_configs", layer4_configs)
25354
25500
  if dest_address_groups is not None:
@@ -25379,6 +25525,7 @@ class RegionNetworkFirewallPolicyRuleMatch(dict):
25379
25525
  def layer4_configs(self) -> Sequence['outputs.RegionNetworkFirewallPolicyRuleMatchLayer4Config']:
25380
25526
  """
25381
25527
  Pairs of IP protocols and ports that the rule should match.
25528
+ Structure is documented below.
25382
25529
  """
25383
25530
  return pulumi.get(self, "layer4_configs")
25384
25531
 
@@ -25386,7 +25533,7 @@ class RegionNetworkFirewallPolicyRuleMatch(dict):
25386
25533
  @pulumi.getter(name="destAddressGroups")
25387
25534
  def dest_address_groups(self) -> Optional[Sequence[str]]:
25388
25535
  """
25389
- 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.
25536
+ Address groups which should be matched against the traffic destination. Maximum number of destination address groups is 10.
25390
25537
  """
25391
25538
  return pulumi.get(self, "dest_address_groups")
25392
25539
 
@@ -25394,7 +25541,7 @@ class RegionNetworkFirewallPolicyRuleMatch(dict):
25394
25541
  @pulumi.getter(name="destFqdns")
25395
25542
  def dest_fqdns(self) -> Optional[Sequence[str]]:
25396
25543
  """
25397
- 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.
25544
+ Fully Qualified Domain Name (FQDN) which should be matched against traffic destination. Maximum number of destination fqdn allowed is 100.
25398
25545
  """
25399
25546
  return pulumi.get(self, "dest_fqdns")
25400
25547
 
@@ -25410,7 +25557,7 @@ class RegionNetworkFirewallPolicyRuleMatch(dict):
25410
25557
  @pulumi.getter(name="destRegionCodes")
25411
25558
  def dest_region_codes(self) -> Optional[Sequence[str]]:
25412
25559
  """
25413
- 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.
25560
+ 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.
25414
25561
  """
25415
25562
  return pulumi.get(self, "dest_region_codes")
25416
25563
 
@@ -25418,7 +25565,7 @@ class RegionNetworkFirewallPolicyRuleMatch(dict):
25418
25565
  @pulumi.getter(name="destThreatIntelligences")
25419
25566
  def dest_threat_intelligences(self) -> Optional[Sequence[str]]:
25420
25567
  """
25421
- Name of the Google Cloud Threat Intelligence list.
25568
+ Names of Network Threat Intelligence lists. The IPs in these lists will be matched against traffic destination.
25422
25569
  """
25423
25570
  return pulumi.get(self, "dest_threat_intelligences")
25424
25571
 
@@ -25426,7 +25573,7 @@ class RegionNetworkFirewallPolicyRuleMatch(dict):
25426
25573
  @pulumi.getter(name="srcAddressGroups")
25427
25574
  def src_address_groups(self) -> Optional[Sequence[str]]:
25428
25575
  """
25429
- 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.
25576
+ Address groups which should be matched against the traffic source. Maximum number of source address groups is 10.
25430
25577
  """
25431
25578
  return pulumi.get(self, "src_address_groups")
25432
25579
 
@@ -25434,7 +25581,7 @@ class RegionNetworkFirewallPolicyRuleMatch(dict):
25434
25581
  @pulumi.getter(name="srcFqdns")
25435
25582
  def src_fqdns(self) -> Optional[Sequence[str]]:
25436
25583
  """
25437
- 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.
25584
+ Fully Qualified Domain Name (FQDN) which should be matched against traffic source. Maximum number of source fqdn allowed is 100.
25438
25585
  """
25439
25586
  return pulumi.get(self, "src_fqdns")
25440
25587
 
@@ -25450,7 +25597,7 @@ class RegionNetworkFirewallPolicyRuleMatch(dict):
25450
25597
  @pulumi.getter(name="srcRegionCodes")
25451
25598
  def src_region_codes(self) -> Optional[Sequence[str]]:
25452
25599
  """
25453
- 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.
25600
+ 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.
25454
25601
  """
25455
25602
  return pulumi.get(self, "src_region_codes")
25456
25603
 
@@ -25458,7 +25605,8 @@ class RegionNetworkFirewallPolicyRuleMatch(dict):
25458
25605
  @pulumi.getter(name="srcSecureTags")
25459
25606
  def src_secure_tags(self) -> Optional[Sequence['outputs.RegionNetworkFirewallPolicyRuleMatchSrcSecureTag']]:
25460
25607
  """
25461
- 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.
25608
+ 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.
25609
+ Structure is documented below.
25462
25610
  """
25463
25611
  return pulumi.get(self, "src_secure_tags")
25464
25612
 
@@ -25466,9 +25614,10 @@ class RegionNetworkFirewallPolicyRuleMatch(dict):
25466
25614
  @pulumi.getter(name="srcThreatIntelligences")
25467
25615
  def src_threat_intelligences(self) -> Optional[Sequence[str]]:
25468
25616
  """
25469
- Name of the Google Cloud Threat Intelligence list.
25617
+ Names of Network Threat Intelligence lists. The IPs in these lists will be matched against traffic source.
25470
25618
 
25471
- The `layer4_configs` block supports:
25619
+
25620
+ <a name="nested_layer4_configs"></a>The `layer4_configs` block supports:
25472
25621
  """
25473
25622
  return pulumi.get(self, "src_threat_intelligences")
25474
25623
 
@@ -25496,8 +25645,10 @@ class RegionNetworkFirewallPolicyRuleMatchLayer4Config(dict):
25496
25645
  ip_protocol: str,
25497
25646
  ports: Optional[Sequence[str]] = None):
25498
25647
  """
25499
- :param 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.
25500
- :param Sequence[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: ``.
25648
+ :param str ip_protocol: The IP protocol to which this rule applies. The protocol type is required when creating a firewall rule.
25649
+ 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.
25650
+ :param Sequence[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.
25651
+ Example inputs include: ["22"], ["80","443"], and ["12345-12349"].
25501
25652
  """
25502
25653
  pulumi.set(__self__, "ip_protocol", ip_protocol)
25503
25654
  if ports is not None:
@@ -25507,7 +25658,8 @@ class RegionNetworkFirewallPolicyRuleMatchLayer4Config(dict):
25507
25658
  @pulumi.getter(name="ipProtocol")
25508
25659
  def ip_protocol(self) -> str:
25509
25660
  """
25510
- 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.
25661
+ The IP protocol to which this rule applies. The protocol type is required when creating a firewall rule.
25662
+ 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.
25511
25663
  """
25512
25664
  return pulumi.get(self, "ip_protocol")
25513
25665
 
@@ -25515,7 +25667,8 @@ class RegionNetworkFirewallPolicyRuleMatchLayer4Config(dict):
25515
25667
  @pulumi.getter
25516
25668
  def ports(self) -> Optional[Sequence[str]]:
25517
25669
  """
25518
- 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: ``.
25670
+ 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.
25671
+ Example inputs include: ["22"], ["80","443"], and ["12345-12349"].
25519
25672
  """
25520
25673
  return pulumi.get(self, "ports")
25521
25674
 
@@ -25523,21 +25676,25 @@ class RegionNetworkFirewallPolicyRuleMatchLayer4Config(dict):
25523
25676
  @pulumi.output_type
25524
25677
  class RegionNetworkFirewallPolicyRuleMatchSrcSecureTag(dict):
25525
25678
  def __init__(__self__, *,
25526
- name: str,
25679
+ name: Optional[str] = None,
25527
25680
  state: Optional[str] = None):
25528
25681
  """
25529
- :param str name: Name of the secure tag, created with TagManager's TagValue API. @pattern tagValues/[0-9]+
25530
- :param 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.
25682
+ :param str name: Name of the secure tag, created with TagManager's TagValue API.
25683
+ :param str state: (Output)
25684
+ State of the secure tag, either EFFECTIVE or INEFFECTIVE. A secure tag is INEFFECTIVE when it is deleted or its network is deleted.
25685
+
25686
+ - - -
25531
25687
  """
25532
- pulumi.set(__self__, "name", name)
25688
+ if name is not None:
25689
+ pulumi.set(__self__, "name", name)
25533
25690
  if state is not None:
25534
25691
  pulumi.set(__self__, "state", state)
25535
25692
 
25536
25693
  @property
25537
25694
  @pulumi.getter
25538
- def name(self) -> str:
25695
+ def name(self) -> Optional[str]:
25539
25696
  """
25540
- Name of the secure tag, created with TagManager's TagValue API. @pattern tagValues/[0-9]+
25697
+ Name of the secure tag, created with TagManager's TagValue API.
25541
25698
  """
25542
25699
  return pulumi.get(self, "name")
25543
25700
 
@@ -25545,7 +25702,10 @@ class RegionNetworkFirewallPolicyRuleMatchSrcSecureTag(dict):
25545
25702
  @pulumi.getter
25546
25703
  def state(self) -> Optional[str]:
25547
25704
  """
25548
- [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.
25705
+ (Output)
25706
+ State of the secure tag, either EFFECTIVE or INEFFECTIVE. A secure tag is INEFFECTIVE when it is deleted or its network is deleted.
25707
+
25708
+ - - -
25549
25709
  """
25550
25710
  return pulumi.get(self, "state")
25551
25711
 
@@ -25553,21 +25713,23 @@ class RegionNetworkFirewallPolicyRuleMatchSrcSecureTag(dict):
25553
25713
  @pulumi.output_type
25554
25714
  class RegionNetworkFirewallPolicyRuleTargetSecureTag(dict):
25555
25715
  def __init__(__self__, *,
25556
- name: str,
25716
+ name: Optional[str] = None,
25557
25717
  state: Optional[str] = None):
25558
25718
  """
25559
- :param str name: Name of the secure tag, created with TagManager's TagValue API. @pattern tagValues/[0-9]+
25560
- :param 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.
25719
+ :param str name: Name of the secure tag, created with TagManager's TagValue API.
25720
+ :param str state: (Output)
25721
+ State of the secure tag, either EFFECTIVE or INEFFECTIVE. A secure tag is INEFFECTIVE when it is deleted or its network is deleted.
25561
25722
  """
25562
- pulumi.set(__self__, "name", name)
25723
+ if name is not None:
25724
+ pulumi.set(__self__, "name", name)
25563
25725
  if state is not None:
25564
25726
  pulumi.set(__self__, "state", state)
25565
25727
 
25566
25728
  @property
25567
25729
  @pulumi.getter
25568
- def name(self) -> str:
25730
+ def name(self) -> Optional[str]:
25569
25731
  """
25570
- Name of the secure tag, created with TagManager's TagValue API. @pattern tagValues/[0-9]+
25732
+ Name of the secure tag, created with TagManager's TagValue API.
25571
25733
  """
25572
25734
  return pulumi.get(self, "name")
25573
25735
 
@@ -25575,7 +25737,8 @@ class RegionNetworkFirewallPolicyRuleTargetSecureTag(dict):
25575
25737
  @pulumi.getter
25576
25738
  def state(self) -> Optional[str]:
25577
25739
  """
25578
- [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.
25740
+ (Output)
25741
+ State of the secure tag, either EFFECTIVE or INEFFECTIVE. A secure tag is INEFFECTIVE when it is deleted or its network is deleted.
25579
25742
  """
25580
25743
  return pulumi.get(self, "state")
25581
25744
 
@@ -37279,17 +37442,20 @@ class SecurityPolicyRuleHeaderAction(dict):
37279
37442
  return super().get(key, default)
37280
37443
 
37281
37444
  def __init__(__self__, *,
37282
- request_headers_to_adds: Sequence['outputs.SecurityPolicyRuleHeaderActionRequestHeadersToAdd']):
37445
+ request_headers_to_adds: Optional[Sequence['outputs.SecurityPolicyRuleHeaderActionRequestHeadersToAdd']] = None):
37283
37446
  """
37284
- :param Sequence['SecurityPolicyRuleHeaderActionRequestHeadersToAddArgs'] request_headers_to_adds: The list of request headers to add or overwrite if they're already present. Structure is documented below.
37447
+ :param Sequence['SecurityPolicyRuleHeaderActionRequestHeadersToAddArgs'] request_headers_to_adds: The list of request headers to add or overwrite if they're already present.
37448
+ Structure is documented below.
37285
37449
  """
37286
- pulumi.set(__self__, "request_headers_to_adds", request_headers_to_adds)
37450
+ if request_headers_to_adds is not None:
37451
+ pulumi.set(__self__, "request_headers_to_adds", request_headers_to_adds)
37287
37452
 
37288
37453
  @property
37289
37454
  @pulumi.getter(name="requestHeadersToAdds")
37290
- def request_headers_to_adds(self) -> Sequence['outputs.SecurityPolicyRuleHeaderActionRequestHeadersToAdd']:
37455
+ def request_headers_to_adds(self) -> Optional[Sequence['outputs.SecurityPolicyRuleHeaderActionRequestHeadersToAdd']]:
37291
37456
  """
37292
- The list of request headers to add or overwrite if they're already present. Structure is documented below.
37457
+ The list of request headers to add or overwrite if they're already present.
37458
+ Structure is documented below.
37293
37459
  """
37294
37460
  return pulumi.get(self, "request_headers_to_adds")
37295
37461
 
@@ -37316,19 +37482,20 @@ class SecurityPolicyRuleHeaderActionRequestHeadersToAdd(dict):
37316
37482
  return super().get(key, default)
37317
37483
 
37318
37484
  def __init__(__self__, *,
37319
- header_name: str,
37485
+ header_name: Optional[str] = None,
37320
37486
  header_value: Optional[str] = None):
37321
37487
  """
37322
37488
  :param str header_name: The name of the header to set.
37323
37489
  :param str header_value: The value to set the named header to.
37324
37490
  """
37325
- pulumi.set(__self__, "header_name", header_name)
37491
+ if header_name is not None:
37492
+ pulumi.set(__self__, "header_name", header_name)
37326
37493
  if header_value is not None:
37327
37494
  pulumi.set(__self__, "header_value", header_value)
37328
37495
 
37329
37496
  @property
37330
37497
  @pulumi.getter(name="headerName")
37331
- def header_name(self) -> str:
37498
+ def header_name(self) -> Optional[str]:
37332
37499
  """
37333
37500
  The name of the header to set.
37334
37501
  """
@@ -38286,37 +38453,32 @@ class SecurityPolicyRuleRateLimitOptionsRateLimitThreshold(dict):
38286
38453
  @pulumi.output_type
38287
38454
  class SecurityPolicyRuleRedirectOptions(dict):
38288
38455
  def __init__(__self__, *,
38289
- type: str,
38290
- target: Optional[str] = None):
38456
+ target: Optional[str] = None,
38457
+ type: Optional[str] = None):
38291
38458
  """
38292
- :param str type: Type of redirect action.
38293
-
38294
- * `EXTERNAL_302`: Redirect to an external address, configured in `target`.
38295
- * `GOOGLE_RECAPTCHA`: Redirect to Google reCAPTCHA.
38296
- :param str target: External redirection target when `EXTERNAL_302` is set in `type`.
38459
+ :param str target: Target for the redirect action. This is required if the type is EXTERNAL_302 and cannot be specified for GOOGLE_RECAPTCHA.
38460
+ :param str type: Type of the redirect action.
38297
38461
  """
38298
- pulumi.set(__self__, "type", type)
38299
38462
  if target is not None:
38300
38463
  pulumi.set(__self__, "target", target)
38464
+ if type is not None:
38465
+ pulumi.set(__self__, "type", type)
38301
38466
 
38302
38467
  @property
38303
38468
  @pulumi.getter
38304
- def type(self) -> str:
38469
+ def target(self) -> Optional[str]:
38305
38470
  """
38306
- Type of redirect action.
38307
-
38308
- * `EXTERNAL_302`: Redirect to an external address, configured in `target`.
38309
- * `GOOGLE_RECAPTCHA`: Redirect to Google reCAPTCHA.
38471
+ Target for the redirect action. This is required if the type is EXTERNAL_302 and cannot be specified for GOOGLE_RECAPTCHA.
38310
38472
  """
38311
- return pulumi.get(self, "type")
38473
+ return pulumi.get(self, "target")
38312
38474
 
38313
38475
  @property
38314
38476
  @pulumi.getter
38315
- def target(self) -> Optional[str]:
38477
+ def type(self) -> Optional[str]:
38316
38478
  """
38317
- External redirection target when `EXTERNAL_302` is set in `type`.
38479
+ Type of the redirect action.
38318
38480
  """
38319
- return pulumi.get(self, "target")
38481
+ return pulumi.get(self, "type")
38320
38482
 
38321
38483
 
38322
38484
  @pulumi.output_type
@@ -38554,7 +38716,7 @@ class ServiceAttachmentConnectedEndpoint(dict):
38554
38716
  The url of the consumer network.
38555
38717
  :param str endpoint: (Output)
38556
38718
  The URL of the consumer forwarding rule.
38557
- :param int propagated_connection_count: (Output, Beta)
38719
+ :param int propagated_connection_count: (Output)
38558
38720
  The number of consumer Network Connectivity Center spokes that the connected Private Service Connect endpoint has propagated to.
38559
38721
  :param str psc_connection_id: (Output)
38560
38722
  The PSC connection id of the connected endpoint.
@@ -38595,7 +38757,7 @@ class ServiceAttachmentConnectedEndpoint(dict):
38595
38757
  @pulumi.getter(name="propagatedConnectionCount")
38596
38758
  def propagated_connection_count(self) -> Optional[int]:
38597
38759
  """
38598
- (Output, Beta)
38760
+ (Output)
38599
38761
  The number of consumer Network Connectivity Center spokes that the connected Private Service Connect endpoint has propagated to.
38600
38762
  """
38601
38763
  return pulumi.get(self, "propagated_connection_count")
@@ -49972,14 +50134,17 @@ class GetInstanceAdvancedMachineFeatureResult(dict):
49972
50134
  def __init__(__self__, *,
49973
50135
  enable_nested_virtualization: bool,
49974
50136
  threads_per_core: int,
50137
+ turbo_mode: str,
49975
50138
  visible_core_count: int):
49976
50139
  """
49977
50140
  :param bool enable_nested_virtualization: Whether to enable nested virtualization or not.
49978
50141
  :param 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.
50142
+ :param str turbo_mode: Turbo frequency mode to use for the instance. Currently supported modes is "ALL_CORE_MAX".
49979
50143
  :param 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.
49980
50144
  """
49981
50145
  pulumi.set(__self__, "enable_nested_virtualization", enable_nested_virtualization)
49982
50146
  pulumi.set(__self__, "threads_per_core", threads_per_core)
50147
+ pulumi.set(__self__, "turbo_mode", turbo_mode)
49983
50148
  pulumi.set(__self__, "visible_core_count", visible_core_count)
49984
50149
 
49985
50150
  @property
@@ -49998,6 +50163,14 @@ class GetInstanceAdvancedMachineFeatureResult(dict):
49998
50163
  """
49999
50164
  return pulumi.get(self, "threads_per_core")
50000
50165
 
50166
+ @property
50167
+ @pulumi.getter(name="turboMode")
50168
+ def turbo_mode(self) -> str:
50169
+ """
50170
+ Turbo frequency mode to use for the instance. Currently supported modes is "ALL_CORE_MAX".
50171
+ """
50172
+ return pulumi.get(self, "turbo_mode")
50173
+
50001
50174
  @property
50002
50175
  @pulumi.getter(name="visibleCoreCount")
50003
50176
  def visible_core_count(self) -> int:
@@ -50025,7 +50198,7 @@ class GetInstanceAttachedDiskResult(dict):
50025
50198
  (<https://cloud.google.com/compute/docs/disks/customer-supplied-encryption>) that protects this resource.
50026
50199
  :param str kms_key_self_link: The self_link of the encryption key that is stored in Google Cloud KMS to encrypt this disk. Only one of kms_key_self_link and disk_encryption_key_raw may be set.
50027
50200
  :param str mode: Read/write mode for the disk. One of `"READ_ONLY"` or `"READ_WRITE"`.
50028
- :param str source: The name or self_link of the disk attached to this instance.
50201
+ :param str source: The self_link of the disk attached to this instance.
50029
50202
  """
50030
50203
  pulumi.set(__self__, "device_name", device_name)
50031
50204
  pulumi.set(__self__, "disk_encryption_key_raw", disk_encryption_key_raw)
@@ -50081,7 +50254,7 @@ class GetInstanceAttachedDiskResult(dict):
50081
50254
  @pulumi.getter
50082
50255
  def source(self) -> str:
50083
50256
  """
50084
- The name or self_link of the disk attached to this instance.
50257
+ The self_link of the disk attached to this instance.
50085
50258
  """
50086
50259
  return pulumi.get(self, "source")
50087
50260
 
@@ -50111,7 +50284,7 @@ class GetInstanceBootDiskResult(dict):
50111
50284
  :param str interface: The disk interface used for attaching this disk. One of `SCSI` or `NVME`.
50112
50285
  :param str kms_key_self_link: The self_link of the encryption key that is stored in Google Cloud KMS to encrypt this disk. Only one of kms_key_self_link and disk_encryption_key_raw may be set.
50113
50286
  :param str mode: Read/write mode for the disk. One of `"READ_ONLY"` or `"READ_WRITE"`.
50114
- :param str source: The name or self_link of the disk attached to this instance.
50287
+ :param str source: The self_link of the disk attached to this instance.
50115
50288
  """
50116
50289
  pulumi.set(__self__, "auto_delete", auto_delete)
50117
50290
  pulumi.set(__self__, "device_name", device_name)
@@ -50195,7 +50368,7 @@ class GetInstanceBootDiskResult(dict):
50195
50368
  @pulumi.getter
50196
50369
  def source(self) -> str:
50197
50370
  """
50198
- The name or self_link of the disk attached to this instance.
50371
+ The self_link of the disk attached to this instance.
50199
50372
  """
50200
50373
  return pulumi.get(self, "source")
50201
50374
 
@@ -50976,6 +51149,46 @@ class GetInstanceGuestAcceleratorResult(dict):
50976
51149
  return pulumi.get(self, "type")
50977
51150
 
50978
51151
 
51152
+ @pulumi.output_type
51153
+ class GetInstanceGuestAttributesQueryValueResult(dict):
51154
+ def __init__(__self__, *,
51155
+ key: str,
51156
+ namespace: str,
51157
+ value: str):
51158
+ """
51159
+ :param str key: Key of the guest_attribute.
51160
+ :param str namespace: Namespace of the guest_attribute.
51161
+ :param str value: Value of the guest_attribute.
51162
+ """
51163
+ pulumi.set(__self__, "key", key)
51164
+ pulumi.set(__self__, "namespace", namespace)
51165
+ pulumi.set(__self__, "value", value)
51166
+
51167
+ @property
51168
+ @pulumi.getter
51169
+ def key(self) -> str:
51170
+ """
51171
+ Key of the guest_attribute.
51172
+ """
51173
+ return pulumi.get(self, "key")
51174
+
51175
+ @property
51176
+ @pulumi.getter
51177
+ def namespace(self) -> str:
51178
+ """
51179
+ Namespace of the guest_attribute.
51180
+ """
51181
+ return pulumi.get(self, "namespace")
51182
+
51183
+ @property
51184
+ @pulumi.getter
51185
+ def value(self) -> str:
51186
+ """
51187
+ Value of the guest_attribute.
51188
+ """
51189
+ return pulumi.get(self, "value")
51190
+
51191
+
50979
51192
  @pulumi.output_type
50980
51193
  class GetInstanceNetworkInterfaceResult(dict):
50981
51194
  def __init__(__self__, *,
@@ -51793,14 +52006,17 @@ class GetInstanceTemplateAdvancedMachineFeatureResult(dict):
51793
52006
  def __init__(__self__, *,
51794
52007
  enable_nested_virtualization: bool,
51795
52008
  threads_per_core: int,
52009
+ turbo_mode: str,
51796
52010
  visible_core_count: int):
51797
52011
  """
51798
52012
  :param bool enable_nested_virtualization: Whether to enable nested virtualization or not.
51799
52013
  :param 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.
52014
+ :param str turbo_mode: Turbo frequency mode to use for the instance. Currently supported modes is "ALL_CORE_MAX".
51800
52015
  :param 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.
51801
52016
  """
51802
52017
  pulumi.set(__self__, "enable_nested_virtualization", enable_nested_virtualization)
51803
52018
  pulumi.set(__self__, "threads_per_core", threads_per_core)
52019
+ pulumi.set(__self__, "turbo_mode", turbo_mode)
51804
52020
  pulumi.set(__self__, "visible_core_count", visible_core_count)
51805
52021
 
51806
52022
  @property
@@ -51819,6 +52035,14 @@ class GetInstanceTemplateAdvancedMachineFeatureResult(dict):
51819
52035
  """
51820
52036
  return pulumi.get(self, "threads_per_core")
51821
52037
 
52038
+ @property
52039
+ @pulumi.getter(name="turboMode")
52040
+ def turbo_mode(self) -> str:
52041
+ """
52042
+ Turbo frequency mode to use for the instance. Currently supported modes is "ALL_CORE_MAX".
52043
+ """
52044
+ return pulumi.get(self, "turbo_mode")
52045
+
51822
52046
  @property
51823
52047
  @pulumi.getter(name="visibleCoreCount")
51824
52048
  def visible_core_count(self) -> int:
@@ -51877,6 +52101,7 @@ class GetInstanceTemplateDiskResult(dict):
51877
52101
  labels: Mapping[str, str],
51878
52102
  mode: str,
51879
52103
  provisioned_iops: int,
52104
+ provisioned_throughput: int,
51880
52105
  resource_manager_tags: Mapping[str, str],
51881
52106
  resource_policies: Sequence[str],
51882
52107
  source: str,
@@ -51913,6 +52138,7 @@ class GetInstanceTemplateDiskResult(dict):
51913
52138
  sets the number of I/O operations per second that the disk can handle.
51914
52139
  Values must be between 10,000 and 120,000. For more details, see the
51915
52140
  [Extreme persistent disk documentation](https://cloud.google.com/compute/docs/disks/extreme-persistent-disk).
52141
+ :param 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).
51916
52142
  :param Mapping[str, str] resource_manager_tags: A map of resource manager tags. Resource manager tag keys and values have the same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456. The field is ignored (both PUT & PATCH) when empty.
51917
52143
  :param Sequence[str] resource_policies: (Optional) -- A list of short names of resource policies to attach to this disk for automatic snapshot creations. Currently a max of 1 resource policy is supported.
51918
52144
  :param str source: The name (**not self_link**)
@@ -51951,6 +52177,7 @@ class GetInstanceTemplateDiskResult(dict):
51951
52177
  pulumi.set(__self__, "labels", labels)
51952
52178
  pulumi.set(__self__, "mode", mode)
51953
52179
  pulumi.set(__self__, "provisioned_iops", provisioned_iops)
52180
+ pulumi.set(__self__, "provisioned_throughput", provisioned_throughput)
51954
52181
  pulumi.set(__self__, "resource_manager_tags", resource_manager_tags)
51955
52182
  pulumi.set(__self__, "resource_policies", resource_policies)
51956
52183
  pulumi.set(__self__, "source", source)
@@ -52064,6 +52291,14 @@ class GetInstanceTemplateDiskResult(dict):
52064
52291
  """
52065
52292
  return pulumi.get(self, "provisioned_iops")
52066
52293
 
52294
+ @property
52295
+ @pulumi.getter(name="provisionedThroughput")
52296
+ def provisioned_throughput(self) -> int:
52297
+ """
52298
+ 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).
52299
+ """
52300
+ return pulumi.get(self, "provisioned_throughput")
52301
+
52067
52302
  @property
52068
52303
  @pulumi.getter(name="resourceManagerTags")
52069
52304
  def resource_manager_tags(self) -> Mapping[str, str]:
@@ -54049,14 +54284,17 @@ class GetRegionInstanceTemplateAdvancedMachineFeatureResult(dict):
54049
54284
  def __init__(__self__, *,
54050
54285
  enable_nested_virtualization: bool,
54051
54286
  threads_per_core: int,
54287
+ turbo_mode: str,
54052
54288
  visible_core_count: int):
54053
54289
  """
54054
54290
  :param bool enable_nested_virtualization: Whether to enable nested virtualization or not.
54055
54291
  :param 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.
54292
+ :param str turbo_mode: Turbo frequency mode to use for the instance. Currently supported modes is "ALL_CORE_MAX".
54056
54293
  :param 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.
54057
54294
  """
54058
54295
  pulumi.set(__self__, "enable_nested_virtualization", enable_nested_virtualization)
54059
54296
  pulumi.set(__self__, "threads_per_core", threads_per_core)
54297
+ pulumi.set(__self__, "turbo_mode", turbo_mode)
54060
54298
  pulumi.set(__self__, "visible_core_count", visible_core_count)
54061
54299
 
54062
54300
  @property
@@ -54075,6 +54313,14 @@ class GetRegionInstanceTemplateAdvancedMachineFeatureResult(dict):
54075
54313
  """
54076
54314
  return pulumi.get(self, "threads_per_core")
54077
54315
 
54316
+ @property
54317
+ @pulumi.getter(name="turboMode")
54318
+ def turbo_mode(self) -> str:
54319
+ """
54320
+ Turbo frequency mode to use for the instance. Currently supported modes is "ALL_CORE_MAX".
54321
+ """
54322
+ return pulumi.get(self, "turbo_mode")
54323
+
54078
54324
  @property
54079
54325
  @pulumi.getter(name="visibleCoreCount")
54080
54326
  def visible_core_count(self) -> int:
@@ -54133,6 +54379,7 @@ class GetRegionInstanceTemplateDiskResult(dict):
54133
54379
  labels: Mapping[str, str],
54134
54380
  mode: str,
54135
54381
  provisioned_iops: int,
54382
+ provisioned_throughput: int,
54136
54383
  resource_manager_tags: Mapping[str, str],
54137
54384
  resource_policies: Sequence[str],
54138
54385
  source: str,
@@ -54169,6 +54416,7 @@ class GetRegionInstanceTemplateDiskResult(dict):
54169
54416
  sets the number of I/O operations per second that the disk can handle.
54170
54417
  Values must be between 10,000 and 120,000. For more details, see the
54171
54418
  [Extreme persistent disk documentation](https://cloud.google.com/compute/docs/disks/extreme-persistent-disk).
54419
+ :param 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).
54172
54420
  :param Mapping[str, str] resource_manager_tags: A map of resource manager tags. Resource manager tag keys and values have the same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456. The field is ignored (both PUT & PATCH) when empty.
54173
54421
  :param Sequence[str] resource_policies: (Optional) -- A list of short names of resource policies to attach to this disk for automatic snapshot creations. Currently a max of 1 resource policy is supported.
54174
54422
  :param str source: The name (**not self_link**)
@@ -54207,6 +54455,7 @@ class GetRegionInstanceTemplateDiskResult(dict):
54207
54455
  pulumi.set(__self__, "labels", labels)
54208
54456
  pulumi.set(__self__, "mode", mode)
54209
54457
  pulumi.set(__self__, "provisioned_iops", provisioned_iops)
54458
+ pulumi.set(__self__, "provisioned_throughput", provisioned_throughput)
54210
54459
  pulumi.set(__self__, "resource_manager_tags", resource_manager_tags)
54211
54460
  pulumi.set(__self__, "resource_policies", resource_policies)
54212
54461
  pulumi.set(__self__, "source", source)
@@ -54320,6 +54569,14 @@ class GetRegionInstanceTemplateDiskResult(dict):
54320
54569
  """
54321
54570
  return pulumi.get(self, "provisioned_iops")
54322
54571
 
54572
+ @property
54573
+ @pulumi.getter(name="provisionedThroughput")
54574
+ def provisioned_throughput(self) -> int:
54575
+ """
54576
+ 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).
54577
+ """
54578
+ return pulumi.get(self, "provisioned_throughput")
54579
+
54323
54580
  @property
54324
54581
  @pulumi.getter(name="resourceManagerTags")
54325
54582
  def resource_manager_tags(self) -> Mapping[str, str]: