pulumi-gcp 8.40.0a1754721948__py3-none-any.whl → 8.41.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 (469) hide show
  1. pulumi_gcp/__init__.py +152 -0
  2. pulumi_gcp/accesscontextmanager/_inputs.py +24 -4
  3. pulumi_gcp/accesscontextmanager/access_policy_iam_binding.py +2 -0
  4. pulumi_gcp/accesscontextmanager/access_policy_iam_member.py +2 -0
  5. pulumi_gcp/accesscontextmanager/access_policy_iam_policy.py +2 -0
  6. pulumi_gcp/accesscontextmanager/outputs.py +15 -3
  7. pulumi_gcp/apigateway/api_config_iam_binding.py +2 -0
  8. pulumi_gcp/apigateway/api_config_iam_member.py +2 -0
  9. pulumi_gcp/apigateway/api_config_iam_policy.py +2 -0
  10. pulumi_gcp/apigateway/api_iam_binding.py +2 -0
  11. pulumi_gcp/apigateway/api_iam_member.py +2 -0
  12. pulumi_gcp/apigateway/api_iam_policy.py +2 -0
  13. pulumi_gcp/apigateway/gateway_iam_binding.py +2 -0
  14. pulumi_gcp/apigateway/gateway_iam_member.py +2 -0
  15. pulumi_gcp/apigateway/gateway_iam_policy.py +2 -0
  16. pulumi_gcp/apigee/__init__.py +2 -0
  17. pulumi_gcp/apigee/_inputs.py +1435 -0
  18. pulumi_gcp/apigee/api_product.py +1698 -0
  19. pulumi_gcp/apigee/environment_iam_binding.py +2 -0
  20. pulumi_gcp/apigee/environment_iam_member.py +2 -0
  21. pulumi_gcp/apigee/environment_iam_policy.py +2 -0
  22. pulumi_gcp/apigee/outputs.py +1081 -0
  23. pulumi_gcp/apigee/security_action.py +1010 -0
  24. pulumi_gcp/artifactregistry/__init__.py +6 -0
  25. pulumi_gcp/artifactregistry/get_docker_images.py +164 -0
  26. pulumi_gcp/artifactregistry/get_package.py +220 -0
  27. pulumi_gcp/artifactregistry/get_repositories.py +160 -0
  28. pulumi_gcp/artifactregistry/get_tag.py +187 -0
  29. pulumi_gcp/artifactregistry/get_tags.py +200 -0
  30. pulumi_gcp/artifactregistry/get_version.py +261 -0
  31. pulumi_gcp/artifactregistry/outputs.py +239 -2
  32. pulumi_gcp/artifactregistry/repository.py +6 -6
  33. pulumi_gcp/artifactregistry/repository_iam_binding.py +2 -0
  34. pulumi_gcp/artifactregistry/repository_iam_member.py +2 -0
  35. pulumi_gcp/artifactregistry/repository_iam_policy.py +2 -0
  36. pulumi_gcp/backupdisasterrecovery/backup_plan.py +114 -7
  37. pulumi_gcp/backupdisasterrecovery/backup_vault.py +56 -0
  38. pulumi_gcp/backupdisasterrecovery/get_backup_plan.py +12 -1
  39. pulumi_gcp/backupdisasterrecovery/get_backup_vault.py +12 -1
  40. pulumi_gcp/beyondcorp/application_iam_binding.py +8 -0
  41. pulumi_gcp/beyondcorp/application_iam_member.py +8 -0
  42. pulumi_gcp/beyondcorp/application_iam_policy.py +8 -0
  43. pulumi_gcp/beyondcorp/get_application_iam_policy.py +4 -0
  44. pulumi_gcp/beyondcorp/security_gateway_application_iam_binding.py +2 -0
  45. pulumi_gcp/beyondcorp/security_gateway_application_iam_member.py +2 -0
  46. pulumi_gcp/beyondcorp/security_gateway_application_iam_policy.py +2 -0
  47. pulumi_gcp/beyondcorp/security_gateway_iam_binding.py +2 -0
  48. pulumi_gcp/beyondcorp/security_gateway_iam_member.py +2 -0
  49. pulumi_gcp/beyondcorp/security_gateway_iam_policy.py +2 -0
  50. pulumi_gcp/bigquery/_inputs.py +6 -0
  51. pulumi_gcp/bigquery/connection_iam_binding.py +2 -0
  52. pulumi_gcp/bigquery/connection_iam_member.py +2 -0
  53. pulumi_gcp/bigquery/connection_iam_policy.py +2 -0
  54. pulumi_gcp/bigquery/data_transfer_config.py +2 -0
  55. pulumi_gcp/bigquery/dataset.py +2 -2
  56. pulumi_gcp/bigquery/get_table.py +23 -1
  57. pulumi_gcp/bigquery/iam_binding.py +2 -0
  58. pulumi_gcp/bigquery/iam_member.py +2 -0
  59. pulumi_gcp/bigquery/iam_policy.py +2 -0
  60. pulumi_gcp/bigquery/outputs.py +4 -0
  61. pulumi_gcp/bigquery/reservation.py +535 -0
  62. pulumi_gcp/bigquery/table.py +62 -0
  63. pulumi_gcp/bigqueryanalyticshub/_inputs.py +180 -0
  64. pulumi_gcp/bigqueryanalyticshub/data_exchange.py +80 -0
  65. pulumi_gcp/bigqueryanalyticshub/data_exchange_iam_binding.py +2 -0
  66. pulumi_gcp/bigqueryanalyticshub/data_exchange_iam_member.py +2 -0
  67. pulumi_gcp/bigqueryanalyticshub/data_exchange_iam_policy.py +2 -0
  68. pulumi_gcp/bigqueryanalyticshub/listing.py +322 -2
  69. pulumi_gcp/bigqueryanalyticshub/listing_iam_binding.py +2 -0
  70. pulumi_gcp/bigqueryanalyticshub/listing_iam_member.py +2 -0
  71. pulumi_gcp/bigqueryanalyticshub/listing_iam_policy.py +2 -0
  72. pulumi_gcp/bigqueryanalyticshub/listing_subscription.py +32 -0
  73. pulumi_gcp/bigqueryanalyticshub/outputs.py +159 -0
  74. pulumi_gcp/bigquerydatapolicy/data_policy_iam_binding.py +2 -0
  75. pulumi_gcp/bigquerydatapolicy/data_policy_iam_member.py +2 -0
  76. pulumi_gcp/bigquerydatapolicy/data_policy_iam_policy.py +2 -0
  77. pulumi_gcp/bigtable/__init__.py +1 -0
  78. pulumi_gcp/bigtable/_inputs.py +33 -0
  79. pulumi_gcp/bigtable/outputs.py +36 -0
  80. pulumi_gcp/bigtable/schema_bundle.py +568 -0
  81. pulumi_gcp/binaryauthorization/attestor_iam_binding.py +2 -0
  82. pulumi_gcp/binaryauthorization/attestor_iam_member.py +2 -0
  83. pulumi_gcp/binaryauthorization/attestor_iam_policy.py +2 -0
  84. pulumi_gcp/certificateauthority/ca_pool_iam_binding.py +2 -0
  85. pulumi_gcp/certificateauthority/ca_pool_iam_member.py +2 -0
  86. pulumi_gcp/certificateauthority/ca_pool_iam_policy.py +2 -0
  87. pulumi_gcp/certificateauthority/certificate_template_iam_binding.py +2 -0
  88. pulumi_gcp/certificateauthority/certificate_template_iam_member.py +2 -0
  89. pulumi_gcp/certificateauthority/certificate_template_iam_policy.py +2 -0
  90. pulumi_gcp/cloudbuildv2/connection_iam_binding.py +2 -0
  91. pulumi_gcp/cloudbuildv2/connection_iam_member.py +2 -0
  92. pulumi_gcp/cloudbuildv2/connection_iam_policy.py +2 -0
  93. pulumi_gcp/clouddeploy/_inputs.py +48 -48
  94. pulumi_gcp/clouddeploy/deploy_policy.py +54 -74
  95. pulumi_gcp/clouddeploy/outputs.py +32 -32
  96. pulumi_gcp/cloudfunctions/_inputs.py +48 -0
  97. pulumi_gcp/cloudfunctions/function.py +94 -0
  98. pulumi_gcp/cloudfunctions/function_iam_binding.py +2 -0
  99. pulumi_gcp/cloudfunctions/function_iam_member.py +2 -0
  100. pulumi_gcp/cloudfunctions/function_iam_policy.py +2 -0
  101. pulumi_gcp/cloudfunctions/get_function.py +23 -1
  102. pulumi_gcp/cloudfunctions/outputs.py +70 -0
  103. pulumi_gcp/cloudfunctionsv2/function_iam_binding.py +2 -0
  104. pulumi_gcp/cloudfunctionsv2/function_iam_member.py +2 -0
  105. pulumi_gcp/cloudfunctionsv2/function_iam_policy.py +2 -0
  106. pulumi_gcp/cloudrun/iam_binding.py +2 -0
  107. pulumi_gcp/cloudrun/iam_member.py +2 -0
  108. pulumi_gcp/cloudrun/iam_policy.py +2 -0
  109. pulumi_gcp/cloudrunv2/_inputs.py +20 -0
  110. pulumi_gcp/cloudrunv2/job.py +2 -0
  111. pulumi_gcp/cloudrunv2/job_iam_binding.py +2 -0
  112. pulumi_gcp/cloudrunv2/job_iam_member.py +2 -0
  113. pulumi_gcp/cloudrunv2/job_iam_policy.py +2 -0
  114. pulumi_gcp/cloudrunv2/outputs.py +25 -0
  115. pulumi_gcp/cloudrunv2/service_iam_binding.py +2 -0
  116. pulumi_gcp/cloudrunv2/service_iam_member.py +2 -0
  117. pulumi_gcp/cloudrunv2/service_iam_policy.py +2 -0
  118. pulumi_gcp/cloudrunv2/worker_pool.py +2 -0
  119. pulumi_gcp/cloudrunv2/worker_pool_iam_binding.py +2 -0
  120. pulumi_gcp/cloudrunv2/worker_pool_iam_member.py +2 -0
  121. pulumi_gcp/cloudrunv2/worker_pool_iam_policy.py +2 -0
  122. pulumi_gcp/cloudtasks/queue_iam_binding.py +2 -0
  123. pulumi_gcp/cloudtasks/queue_iam_member.py +2 -0
  124. pulumi_gcp/cloudtasks/queue_iam_policy.py +2 -0
  125. pulumi_gcp/colab/runtime_template_iam_binding.py +2 -0
  126. pulumi_gcp/colab/runtime_template_iam_member.py +2 -0
  127. pulumi_gcp/colab/runtime_template_iam_policy.py +2 -0
  128. pulumi_gcp/composer/user_workloads_config_map.py +26 -2
  129. pulumi_gcp/compute/__init__.py +1 -0
  130. pulumi_gcp/compute/_inputs.py +1068 -22
  131. pulumi_gcp/compute/disk_iam_binding.py +2 -0
  132. pulumi_gcp/compute/disk_iam_member.py +2 -0
  133. pulumi_gcp/compute/disk_iam_policy.py +2 -0
  134. pulumi_gcp/compute/firewall_policy_with_rules.py +66 -0
  135. pulumi_gcp/compute/forwarding_rule.py +0 -21
  136. pulumi_gcp/compute/get_region_backend_service.py +12 -1
  137. pulumi_gcp/compute/get_router.py +12 -1
  138. pulumi_gcp/compute/image_iam_binding.py +2 -0
  139. pulumi_gcp/compute/image_iam_member.py +2 -0
  140. pulumi_gcp/compute/image_iam_policy.py +2 -0
  141. pulumi_gcp/compute/instance_iam_binding.py +2 -0
  142. pulumi_gcp/compute/instance_iam_member.py +2 -0
  143. pulumi_gcp/compute/instance_iam_policy.py +2 -0
  144. pulumi_gcp/compute/instance_template_iam_binding.py +2 -0
  145. pulumi_gcp/compute/instance_template_iam_member.py +2 -0
  146. pulumi_gcp/compute/instance_template_iam_policy.py +2 -0
  147. pulumi_gcp/compute/instant_snapshot_iam_binding.py +2 -0
  148. pulumi_gcp/compute/instant_snapshot_iam_member.py +2 -0
  149. pulumi_gcp/compute/instant_snapshot_iam_policy.py +2 -0
  150. pulumi_gcp/compute/machine_image_iam_binding.py +2 -0
  151. pulumi_gcp/compute/machine_image_iam_member.py +2 -0
  152. pulumi_gcp/compute/machine_image_iam_policy.py +2 -0
  153. pulumi_gcp/compute/outputs.py +966 -22
  154. pulumi_gcp/compute/preview_feature.py +396 -0
  155. pulumi_gcp/compute/region_backend_service.py +257 -0
  156. pulumi_gcp/compute/region_disk_iam_binding.py +2 -0
  157. pulumi_gcp/compute/region_disk_iam_member.py +2 -0
  158. pulumi_gcp/compute/region_disk_iam_policy.py +2 -0
  159. pulumi_gcp/compute/region_security_policy.py +54 -0
  160. pulumi_gcp/compute/region_url_map.py +392 -0
  161. pulumi_gcp/compute/reservation.py +4 -4
  162. pulumi_gcp/compute/router.py +54 -0
  163. pulumi_gcp/compute/service_attachment.py +126 -0
  164. pulumi_gcp/compute/snapshot_iam_binding.py +2 -0
  165. pulumi_gcp/compute/snapshot_iam_member.py +2 -0
  166. pulumi_gcp/compute/snapshot_iam_policy.py +2 -0
  167. pulumi_gcp/compute/storage_pool.py +154 -0
  168. pulumi_gcp/compute/storage_pool_iam_binding.py +2 -0
  169. pulumi_gcp/compute/storage_pool_iam_member.py +2 -0
  170. pulumi_gcp/compute/storage_pool_iam_policy.py +2 -0
  171. pulumi_gcp/compute/subnetwork.py +54 -0
  172. pulumi_gcp/compute/subnetwork_iam_binding.py +2 -0
  173. pulumi_gcp/compute/subnetwork_iam_member.py +2 -0
  174. pulumi_gcp/compute/subnetwork_iam_policy.py +2 -0
  175. pulumi_gcp/config/__init__.pyi +2 -4
  176. pulumi_gcp/config/vars.py +4 -8
  177. pulumi_gcp/container/_inputs.py +2622 -246
  178. pulumi_gcp/container/cluster.py +61 -21
  179. pulumi_gcp/container/get_cluster.py +12 -1
  180. pulumi_gcp/container/outputs.py +2877 -133
  181. pulumi_gcp/containeranalysis/note_iam_binding.py +2 -0
  182. pulumi_gcp/containeranalysis/note_iam_member.py +2 -0
  183. pulumi_gcp/containeranalysis/note_iam_policy.py +2 -0
  184. pulumi_gcp/datacatalog/entry_group_iam_binding.py +2 -0
  185. pulumi_gcp/datacatalog/entry_group_iam_member.py +2 -0
  186. pulumi_gcp/datacatalog/entry_group_iam_policy.py +2 -0
  187. pulumi_gcp/datacatalog/policy_tag_iam_binding.py +2 -0
  188. pulumi_gcp/datacatalog/policy_tag_iam_member.py +2 -0
  189. pulumi_gcp/datacatalog/policy_tag_iam_policy.py +2 -0
  190. pulumi_gcp/datacatalog/tag_template_iam_binding.py +2 -0
  191. pulumi_gcp/datacatalog/tag_template_iam_member.py +2 -0
  192. pulumi_gcp/datacatalog/tag_template_iam_policy.py +2 -0
  193. pulumi_gcp/datacatalog/taxonomy_iam_binding.py +2 -0
  194. pulumi_gcp/datacatalog/taxonomy_iam_member.py +2 -0
  195. pulumi_gcp/datacatalog/taxonomy_iam_policy.py +2 -0
  196. pulumi_gcp/datafusion/instance.py +18 -4
  197. pulumi_gcp/dataplex/aspect_type_iam_binding.py +2 -0
  198. pulumi_gcp/dataplex/aspect_type_iam_member.py +2 -0
  199. pulumi_gcp/dataplex/aspect_type_iam_policy.py +2 -0
  200. pulumi_gcp/dataplex/asset_iam_binding.py +2 -0
  201. pulumi_gcp/dataplex/asset_iam_member.py +2 -0
  202. pulumi_gcp/dataplex/asset_iam_policy.py +2 -0
  203. pulumi_gcp/dataplex/datascan_iam_binding.py +2 -0
  204. pulumi_gcp/dataplex/datascan_iam_member.py +2 -0
  205. pulumi_gcp/dataplex/datascan_iam_policy.py +2 -0
  206. pulumi_gcp/dataplex/entry_group_iam_binding.py +2 -0
  207. pulumi_gcp/dataplex/entry_group_iam_member.py +2 -0
  208. pulumi_gcp/dataplex/entry_group_iam_policy.py +2 -0
  209. pulumi_gcp/dataplex/entry_type_iam_binding.py +2 -0
  210. pulumi_gcp/dataplex/entry_type_iam_member.py +2 -0
  211. pulumi_gcp/dataplex/entry_type_iam_policy.py +2 -0
  212. pulumi_gcp/dataplex/glossary_iam_binding.py +2 -0
  213. pulumi_gcp/dataplex/glossary_iam_member.py +2 -0
  214. pulumi_gcp/dataplex/glossary_iam_policy.py +2 -0
  215. pulumi_gcp/dataplex/lake_iam_binding.py +2 -0
  216. pulumi_gcp/dataplex/lake_iam_member.py +2 -0
  217. pulumi_gcp/dataplex/lake_iam_policy.py +2 -0
  218. pulumi_gcp/dataplex/task_iam_binding.py +2 -0
  219. pulumi_gcp/dataplex/task_iam_member.py +2 -0
  220. pulumi_gcp/dataplex/task_iam_policy.py +2 -0
  221. pulumi_gcp/dataplex/zone_iam_binding.py +2 -0
  222. pulumi_gcp/dataplex/zone_iam_member.py +2 -0
  223. pulumi_gcp/dataplex/zone_iam_policy.py +2 -0
  224. pulumi_gcp/dataproc/_inputs.py +249 -14
  225. pulumi_gcp/dataproc/autoscaling_policy_iam_binding.py +2 -0
  226. pulumi_gcp/dataproc/autoscaling_policy_iam_member.py +2 -0
  227. pulumi_gcp/dataproc/autoscaling_policy_iam_policy.py +2 -0
  228. pulumi_gcp/dataproc/batch.py +6 -0
  229. pulumi_gcp/dataproc/cluster.py +2 -0
  230. pulumi_gcp/dataproc/metastore_database_iam_binding.py +2 -0
  231. pulumi_gcp/dataproc/metastore_database_iam_member.py +2 -0
  232. pulumi_gcp/dataproc/metastore_database_iam_policy.py +2 -0
  233. pulumi_gcp/dataproc/metastore_federation_iam_binding.py +2 -0
  234. pulumi_gcp/dataproc/metastore_federation_iam_member.py +2 -0
  235. pulumi_gcp/dataproc/metastore_federation_iam_policy.py +2 -0
  236. pulumi_gcp/dataproc/metastore_service_iam_binding.py +2 -0
  237. pulumi_gcp/dataproc/metastore_service_iam_member.py +2 -0
  238. pulumi_gcp/dataproc/metastore_service_iam_policy.py +2 -0
  239. pulumi_gcp/dataproc/metastore_table_iam_binding.py +2 -0
  240. pulumi_gcp/dataproc/metastore_table_iam_member.py +2 -0
  241. pulumi_gcp/dataproc/metastore_table_iam_policy.py +2 -0
  242. pulumi_gcp/dataproc/outputs.py +215 -12
  243. pulumi_gcp/dataproc/session_template.py +14 -2
  244. pulumi_gcp/developerconnect/__init__.py +1 -0
  245. pulumi_gcp/developerconnect/_inputs.py +583 -0
  246. pulumi_gcp/developerconnect/insights_config.py +895 -0
  247. pulumi_gcp/developerconnect/outputs.py +442 -0
  248. pulumi_gcp/diagflow/__init__.py +3 -0
  249. pulumi_gcp/diagflow/_inputs.py +11899 -7963
  250. pulumi_gcp/diagflow/conversation_profile.py +959 -0
  251. pulumi_gcp/diagflow/cx_generator.py +636 -0
  252. pulumi_gcp/diagflow/cx_playbook.py +967 -0
  253. pulumi_gcp/diagflow/cx_tool.py +2 -2
  254. pulumi_gcp/diagflow/cx_webhook.py +380 -36
  255. pulumi_gcp/diagflow/outputs.py +9099 -5946
  256. pulumi_gcp/discoveryengine/__init__.py +2 -0
  257. pulumi_gcp/discoveryengine/_inputs.py +465 -0
  258. pulumi_gcp/discoveryengine/cmek_config.py +707 -0
  259. pulumi_gcp/discoveryengine/outputs.py +412 -0
  260. pulumi_gcp/discoveryengine/recommendation_engine.py +813 -0
  261. pulumi_gcp/dns/dns_managed_zone_iam_binding.py +2 -0
  262. pulumi_gcp/dns/dns_managed_zone_iam_member.py +2 -0
  263. pulumi_gcp/dns/dns_managed_zone_iam_policy.py +2 -0
  264. pulumi_gcp/endpoints/service_iam_binding.py +2 -0
  265. pulumi_gcp/endpoints/service_iam_member.py +2 -0
  266. pulumi_gcp/endpoints/service_iam_policy.py +2 -0
  267. pulumi_gcp/firestore/field.py +6 -6
  268. pulumi_gcp/gemini/gemini_gcp_enablement_setting.py +107 -9
  269. pulumi_gcp/gemini/gemini_gcp_enablement_setting_binding.py +2 -2
  270. pulumi_gcp/gemini/repository_group_iam_binding.py +2 -0
  271. pulumi_gcp/gemini/repository_group_iam_member.py +2 -0
  272. pulumi_gcp/gemini/repository_group_iam_policy.py +2 -0
  273. pulumi_gcp/gkebackup/backup_plan_iam_binding.py +2 -0
  274. pulumi_gcp/gkebackup/backup_plan_iam_member.py +2 -0
  275. pulumi_gcp/gkebackup/backup_plan_iam_policy.py +2 -0
  276. pulumi_gcp/gkebackup/restore_plan_iam_binding.py +2 -0
  277. pulumi_gcp/gkebackup/restore_plan_iam_member.py +2 -0
  278. pulumi_gcp/gkebackup/restore_plan_iam_policy.py +2 -0
  279. pulumi_gcp/gkehub/feature_iam_binding.py +2 -0
  280. pulumi_gcp/gkehub/feature_iam_member.py +2 -0
  281. pulumi_gcp/gkehub/feature_iam_policy.py +2 -0
  282. pulumi_gcp/gkehub/membership_binding.py +6 -6
  283. pulumi_gcp/gkehub/membership_iam_binding.py +2 -0
  284. pulumi_gcp/gkehub/membership_iam_member.py +2 -0
  285. pulumi_gcp/gkehub/membership_iam_policy.py +2 -0
  286. pulumi_gcp/gkehub/membership_rbac_role_binding.py +4 -4
  287. pulumi_gcp/gkehub/namespace.py +4 -4
  288. pulumi_gcp/gkehub/scope_iam_binding.py +2 -0
  289. pulumi_gcp/gkehub/scope_iam_member.py +2 -0
  290. pulumi_gcp/gkehub/scope_iam_policy.py +2 -0
  291. pulumi_gcp/gkehub/scope_rbac_role_binding.py +8 -8
  292. pulumi_gcp/gkeonprem/vmware_admin_cluster.py +24 -3
  293. pulumi_gcp/healthcare/consent_store_iam_binding.py +2 -0
  294. pulumi_gcp/healthcare/consent_store_iam_member.py +2 -0
  295. pulumi_gcp/healthcare/consent_store_iam_policy.py +2 -0
  296. pulumi_gcp/iam/__init__.py +4 -0
  297. pulumi_gcp/iam/_inputs.py +98 -0
  298. pulumi_gcp/iam/get_workforce_pool_iam_policy.py +161 -0
  299. pulumi_gcp/iam/outputs.py +56 -0
  300. pulumi_gcp/iam/workforce_pool_iam_binding.py +763 -0
  301. pulumi_gcp/iam/workforce_pool_iam_member.py +763 -0
  302. pulumi_gcp/iam/workforce_pool_iam_policy.py +602 -0
  303. pulumi_gcp/iap/app_engine_service_iam_binding.py +2 -0
  304. pulumi_gcp/iap/app_engine_service_iam_member.py +2 -0
  305. pulumi_gcp/iap/app_engine_service_iam_policy.py +2 -0
  306. pulumi_gcp/iap/app_engine_version_iam_binding.py +2 -0
  307. pulumi_gcp/iap/app_engine_version_iam_member.py +2 -0
  308. pulumi_gcp/iap/app_engine_version_iam_policy.py +2 -0
  309. pulumi_gcp/iap/tunnel_dest_group.py +2 -2
  310. pulumi_gcp/iap/tunnel_dest_group_iam_binding.py +2 -0
  311. pulumi_gcp/iap/tunnel_dest_group_iam_member.py +2 -0
  312. pulumi_gcp/iap/tunnel_dest_group_iam_policy.py +2 -0
  313. pulumi_gcp/iap/tunnel_iam_binding.py +2 -0
  314. pulumi_gcp/iap/tunnel_iam_member.py +2 -0
  315. pulumi_gcp/iap/tunnel_iam_policy.py +2 -0
  316. pulumi_gcp/iap/tunnel_instance_iam_binding.py +2 -0
  317. pulumi_gcp/iap/tunnel_instance_iam_member.py +2 -0
  318. pulumi_gcp/iap/tunnel_instance_iam_policy.py +2 -0
  319. pulumi_gcp/iap/web_backend_service_iam_binding.py +2 -0
  320. pulumi_gcp/iap/web_backend_service_iam_member.py +2 -0
  321. pulumi_gcp/iap/web_backend_service_iam_policy.py +2 -0
  322. pulumi_gcp/iap/web_cloud_run_service_iam_binding.py +2 -0
  323. pulumi_gcp/iap/web_cloud_run_service_iam_member.py +2 -0
  324. pulumi_gcp/iap/web_cloud_run_service_iam_policy.py +2 -0
  325. pulumi_gcp/iap/web_iam_binding.py +2 -0
  326. pulumi_gcp/iap/web_iam_member.py +2 -0
  327. pulumi_gcp/iap/web_iam_policy.py +2 -0
  328. pulumi_gcp/iap/web_region_backend_service_iam_binding.py +2 -0
  329. pulumi_gcp/iap/web_region_backend_service_iam_member.py +2 -0
  330. pulumi_gcp/iap/web_region_backend_service_iam_policy.py +2 -0
  331. pulumi_gcp/iap/web_type_app_enging_iam_binding.py +2 -0
  332. pulumi_gcp/iap/web_type_app_enging_iam_member.py +2 -0
  333. pulumi_gcp/iap/web_type_app_enging_iam_policy.py +2 -0
  334. pulumi_gcp/iap/web_type_compute_iam_binding.py +2 -0
  335. pulumi_gcp/iap/web_type_compute_iam_member.py +2 -0
  336. pulumi_gcp/iap/web_type_compute_iam_policy.py +2 -0
  337. pulumi_gcp/integrationconnectors/managed_zone.py +8 -8
  338. pulumi_gcp/kms/crypto_key.py +7 -0
  339. pulumi_gcp/kms/ekm_connection_iam_binding.py +2 -0
  340. pulumi_gcp/kms/ekm_connection_iam_member.py +2 -0
  341. pulumi_gcp/kms/ekm_connection_iam_policy.py +2 -0
  342. pulumi_gcp/kms/outputs.py +2 -0
  343. pulumi_gcp/logging/log_view_iam_binding.py +2 -0
  344. pulumi_gcp/logging/log_view_iam_member.py +2 -0
  345. pulumi_gcp/logging/log_view_iam_policy.py +2 -0
  346. pulumi_gcp/looker/instance.py +28 -7
  347. pulumi_gcp/managedkafka/_inputs.py +127 -0
  348. pulumi_gcp/managedkafka/cluster.py +131 -1
  349. pulumi_gcp/managedkafka/connect_cluster.py +4 -4
  350. pulumi_gcp/managedkafka/connector.py +4 -4
  351. pulumi_gcp/managedkafka/outputs.py +128 -0
  352. pulumi_gcp/memorystore/get_instance.py +12 -1
  353. pulumi_gcp/memorystore/instance.py +78 -12
  354. pulumi_gcp/modelarmor/__init__.py +1 -0
  355. pulumi_gcp/modelarmor/_inputs.py +683 -0
  356. pulumi_gcp/modelarmor/floorsetting.py +736 -0
  357. pulumi_gcp/modelarmor/outputs.py +618 -0
  358. pulumi_gcp/monitoring/_inputs.py +3 -3
  359. pulumi_gcp/monitoring/outputs.py +2 -2
  360. pulumi_gcp/networkconnectivity/_inputs.py +60 -0
  361. pulumi_gcp/networkconnectivity/internal_range.py +136 -0
  362. pulumi_gcp/networkconnectivity/outputs.py +55 -0
  363. pulumi_gcp/networkconnectivity/spoke.py +14 -14
  364. pulumi_gcp/networkmanagement/vpc_flow_logs_config.py +213 -168
  365. pulumi_gcp/notebooks/instance.py +18 -18
  366. pulumi_gcp/notebooks/instance_iam_binding.py +2 -0
  367. pulumi_gcp/notebooks/instance_iam_member.py +2 -0
  368. pulumi_gcp/notebooks/instance_iam_policy.py +2 -0
  369. pulumi_gcp/notebooks/runtime_iam_binding.py +2 -0
  370. pulumi_gcp/notebooks/runtime_iam_member.py +2 -0
  371. pulumi_gcp/notebooks/runtime_iam_policy.py +2 -0
  372. pulumi_gcp/oracledatabase/__init__.py +2 -0
  373. pulumi_gcp/oracledatabase/autonomous_database.py +262 -38
  374. pulumi_gcp/oracledatabase/cloud_vm_cluster.py +314 -50
  375. pulumi_gcp/oracledatabase/get_autonomous_database.py +23 -1
  376. pulumi_gcp/oracledatabase/get_cloud_vm_cluster.py +34 -1
  377. pulumi_gcp/oracledatabase/odb_network.py +721 -0
  378. pulumi_gcp/oracledatabase/odb_subnet.py +803 -0
  379. pulumi_gcp/oracledatabase/outputs.py +83 -0
  380. pulumi_gcp/organizations/folder.py +56 -0
  381. pulumi_gcp/organizations/get_folder.py +29 -1
  382. pulumi_gcp/orgpolicy/policy.py +2 -2
  383. pulumi_gcp/parametermanager/parameter_version.py +62 -0
  384. pulumi_gcp/parametermanager/regional_parameter_version.py +64 -0
  385. pulumi_gcp/projects/api_key.py +88 -1
  386. pulumi_gcp/provider.py +20 -40
  387. pulumi_gcp/pubsub/schema_iam_binding.py +2 -0
  388. pulumi_gcp/pubsub/schema_iam_member.py +2 -0
  389. pulumi_gcp/pubsub/schema_iam_policy.py +2 -0
  390. pulumi_gcp/pubsub/subscription.py +130 -6
  391. pulumi_gcp/pubsub/topic.py +116 -0
  392. pulumi_gcp/pubsub/topic_iam_binding.py +2 -0
  393. pulumi_gcp/pubsub/topic_iam_member.py +2 -0
  394. pulumi_gcp/pubsub/topic_iam_policy.py +2 -0
  395. pulumi_gcp/pulumi-plugin.json +1 -1
  396. pulumi_gcp/redis/cluster.py +70 -0
  397. pulumi_gcp/redis/get_cluster.py +12 -1
  398. pulumi_gcp/redis/instance.py +8 -12
  399. pulumi_gcp/secretmanager/get_regional_secret.py +12 -1
  400. pulumi_gcp/secretmanager/get_secret.py +12 -1
  401. pulumi_gcp/secretmanager/outputs.py +30 -0
  402. pulumi_gcp/secretmanager/regional_secret.py +61 -0
  403. pulumi_gcp/secretmanager/regional_secret_iam_binding.py +2 -0
  404. pulumi_gcp/secretmanager/regional_secret_iam_member.py +2 -0
  405. pulumi_gcp/secretmanager/regional_secret_iam_policy.py +2 -0
  406. pulumi_gcp/secretmanager/secret.py +61 -0
  407. pulumi_gcp/secretmanager/secret_iam_binding.py +2 -0
  408. pulumi_gcp/secretmanager/secret_iam_member.py +2 -0
  409. pulumi_gcp/secretmanager/secret_iam_policy.py +2 -0
  410. pulumi_gcp/secretmanager/secret_version.py +1 -48
  411. pulumi_gcp/securesourcemanager/branch_rule.py +16 -8
  412. pulumi_gcp/securesourcemanager/instance.py +112 -4
  413. pulumi_gcp/securesourcemanager/repository.py +112 -8
  414. pulumi_gcp/securesourcemanager/repository_iam_binding.py +2 -0
  415. pulumi_gcp/securesourcemanager/repository_iam_member.py +2 -0
  416. pulumi_gcp/securesourcemanager/repository_iam_policy.py +2 -0
  417. pulumi_gcp/securitycenter/instance_iam_binding.py +18 -4
  418. pulumi_gcp/securitycenter/instance_iam_member.py +18 -4
  419. pulumi_gcp/securitycenter/instance_iam_policy.py +18 -4
  420. pulumi_gcp/securitycenter/v2_organization_source_iam_binding.py +2 -0
  421. pulumi_gcp/securitycenter/v2_organization_source_iam_member.py +2 -0
  422. pulumi_gcp/securitycenter/v2_organization_source_iam_policy.py +2 -0
  423. pulumi_gcp/serviceaccount/get_account_key.py +1 -0
  424. pulumi_gcp/servicedirectory/namespace_iam_binding.py +2 -0
  425. pulumi_gcp/servicedirectory/namespace_iam_member.py +2 -0
  426. pulumi_gcp/servicedirectory/namespace_iam_policy.py +2 -0
  427. pulumi_gcp/servicedirectory/service_iam_binding.py +2 -0
  428. pulumi_gcp/servicedirectory/service_iam_member.py +2 -0
  429. pulumi_gcp/servicedirectory/service_iam_policy.py +2 -0
  430. pulumi_gcp/sourcerepo/repository_iam_binding.py +2 -0
  431. pulumi_gcp/sourcerepo/repository_iam_member.py +2 -0
  432. pulumi_gcp/sourcerepo/repository_iam_policy.py +2 -0
  433. pulumi_gcp/sql/_inputs.py +88 -10
  434. pulumi_gcp/sql/database.py +0 -12
  435. pulumi_gcp/sql/database_instance.py +108 -7
  436. pulumi_gcp/sql/get_database_instance.py +12 -1
  437. pulumi_gcp/sql/outputs.py +158 -11
  438. pulumi_gcp/storage/__init__.py +2 -0
  439. pulumi_gcp/storage/_inputs.py +555 -12
  440. pulumi_gcp/storage/bucket.py +7 -7
  441. pulumi_gcp/storage/bucket_object.py +34 -0
  442. pulumi_gcp/storage/get_bucket_object.py +12 -1
  443. pulumi_gcp/storage/get_bucket_object_content.py +12 -1
  444. pulumi_gcp/storage/get_insights_dataset_config.py +363 -0
  445. pulumi_gcp/storage/insights_dataset_config.py +1280 -0
  446. pulumi_gcp/storage/outputs.py +703 -7
  447. pulumi_gcp/tags/tag_key_iam_binding.py +2 -0
  448. pulumi_gcp/tags/tag_key_iam_member.py +2 -0
  449. pulumi_gcp/tags/tag_key_iam_policy.py +2 -0
  450. pulumi_gcp/tags/tag_value_iam_binding.py +2 -0
  451. pulumi_gcp/tags/tag_value_iam_member.py +2 -0
  452. pulumi_gcp/tags/tag_value_iam_policy.py +2 -0
  453. pulumi_gcp/tpu/get_tensorflow_versions.py +10 -0
  454. pulumi_gcp/vertex/__init__.py +2 -0
  455. pulumi_gcp/vertex/_inputs.py +3768 -3
  456. pulumi_gcp/vertex/ai_endpoint.py +4 -4
  457. pulumi_gcp/vertex/ai_endpoint_with_model_garden_deployment.py +940 -0
  458. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +4 -4
  459. pulumi_gcp/vertex/ai_index.py +21 -7
  460. pulumi_gcp/vertex/ai_rag_engine_config.py +354 -0
  461. pulumi_gcp/vertex/outputs.py +2678 -2
  462. pulumi_gcp/vmwareengine/network_peering.py +7 -7
  463. pulumi_gcp/workbench/_inputs.py +118 -0
  464. pulumi_gcp/workbench/instance.py +171 -2
  465. pulumi_gcp/workbench/outputs.py +91 -0
  466. {pulumi_gcp-8.40.0a1754721948.dist-info → pulumi_gcp-8.41.0.dist-info}/METADATA +1 -1
  467. {pulumi_gcp-8.40.0a1754721948.dist-info → pulumi_gcp-8.41.0.dist-info}/RECORD +469 -442
  468. {pulumi_gcp-8.40.0a1754721948.dist-info → pulumi_gcp-8.41.0.dist-info}/WHEEL +0 -0
  469. {pulumi_gcp-8.40.0a1754721948.dist-info → pulumi_gcp-8.41.0.dist-info}/top_level.txt +0 -0
@@ -19,6 +19,8 @@ __all__ = [
19
19
  'GroupAutoAcceptArgsDict',
20
20
  'HubRoutingVpcArgs',
21
21
  'HubRoutingVpcArgsDict',
22
+ 'InternalRangeAllocationOptionsArgs',
23
+ 'InternalRangeAllocationOptionsArgsDict',
22
24
  'InternalRangeMigrationArgs',
23
25
  'InternalRangeMigrationArgsDict',
24
26
  'PolicyBasedRouteFilterArgs',
@@ -118,6 +120,64 @@ class HubRoutingVpcArgs:
118
120
  pulumi.set(self, "uri", value)
119
121
 
120
122
 
123
+ if not MYPY:
124
+ class InternalRangeAllocationOptionsArgsDict(TypedDict):
125
+ allocation_strategy: NotRequired[pulumi.Input[_builtins.str]]
126
+ """
127
+ Optional. Sets the strategy used to automatically find a free range of a size given by prefixLength. Can be set only when trying to create a reservation that automatically finds the free range to reserve.
128
+ Possible values are: `RANDOM`, `FIRST_AVAILABLE`, `RANDOM_FIRST_N_AVAILABLE`, `FIRST_SMALLEST_FITTING`.
129
+ """
130
+ first_available_ranges_lookup_size: NotRequired[pulumi.Input[_builtins.int]]
131
+ """
132
+ Must be set when allocation_strategy is RANDOM_FIRST_N_AVAILABLE, otherwise must remain unset. Defines the size of the set of free ranges from which RANDOM_FIRST_N_AVAILABLE strategy randomy selects one,
133
+ in other words it sets the N in the RANDOM_FIRST_N_AVAILABLE.
134
+ """
135
+ elif False:
136
+ InternalRangeAllocationOptionsArgsDict: TypeAlias = Mapping[str, Any]
137
+
138
+ @pulumi.input_type
139
+ class InternalRangeAllocationOptionsArgs:
140
+ def __init__(__self__, *,
141
+ allocation_strategy: Optional[pulumi.Input[_builtins.str]] = None,
142
+ first_available_ranges_lookup_size: Optional[pulumi.Input[_builtins.int]] = None):
143
+ """
144
+ :param pulumi.Input[_builtins.str] allocation_strategy: Optional. Sets the strategy used to automatically find a free range of a size given by prefixLength. Can be set only when trying to create a reservation that automatically finds the free range to reserve.
145
+ Possible values are: `RANDOM`, `FIRST_AVAILABLE`, `RANDOM_FIRST_N_AVAILABLE`, `FIRST_SMALLEST_FITTING`.
146
+ :param pulumi.Input[_builtins.int] first_available_ranges_lookup_size: Must be set when allocation_strategy is RANDOM_FIRST_N_AVAILABLE, otherwise must remain unset. Defines the size of the set of free ranges from which RANDOM_FIRST_N_AVAILABLE strategy randomy selects one,
147
+ in other words it sets the N in the RANDOM_FIRST_N_AVAILABLE.
148
+ """
149
+ if allocation_strategy is not None:
150
+ pulumi.set(__self__, "allocation_strategy", allocation_strategy)
151
+ if first_available_ranges_lookup_size is not None:
152
+ pulumi.set(__self__, "first_available_ranges_lookup_size", first_available_ranges_lookup_size)
153
+
154
+ @_builtins.property
155
+ @pulumi.getter(name="allocationStrategy")
156
+ def allocation_strategy(self) -> Optional[pulumi.Input[_builtins.str]]:
157
+ """
158
+ Optional. Sets the strategy used to automatically find a free range of a size given by prefixLength. Can be set only when trying to create a reservation that automatically finds the free range to reserve.
159
+ Possible values are: `RANDOM`, `FIRST_AVAILABLE`, `RANDOM_FIRST_N_AVAILABLE`, `FIRST_SMALLEST_FITTING`.
160
+ """
161
+ return pulumi.get(self, "allocation_strategy")
162
+
163
+ @allocation_strategy.setter
164
+ def allocation_strategy(self, value: Optional[pulumi.Input[_builtins.str]]):
165
+ pulumi.set(self, "allocation_strategy", value)
166
+
167
+ @_builtins.property
168
+ @pulumi.getter(name="firstAvailableRangesLookupSize")
169
+ def first_available_ranges_lookup_size(self) -> Optional[pulumi.Input[_builtins.int]]:
170
+ """
171
+ Must be set when allocation_strategy is RANDOM_FIRST_N_AVAILABLE, otherwise must remain unset. Defines the size of the set of free ranges from which RANDOM_FIRST_N_AVAILABLE strategy randomy selects one,
172
+ in other words it sets the N in the RANDOM_FIRST_N_AVAILABLE.
173
+ """
174
+ return pulumi.get(self, "first_available_ranges_lookup_size")
175
+
176
+ @first_available_ranges_lookup_size.setter
177
+ def first_available_ranges_lookup_size(self, value: Optional[pulumi.Input[_builtins.int]]):
178
+ pulumi.set(self, "first_available_ranges_lookup_size", value)
179
+
180
+
121
181
  if not MYPY:
122
182
  class InternalRangeMigrationArgsDict(TypedDict):
123
183
  source: pulumi.Input[_builtins.str]
@@ -24,6 +24,7 @@ class InternalRangeArgs:
24
24
  network: pulumi.Input[_builtins.str],
25
25
  peering: pulumi.Input[_builtins.str],
26
26
  usage: pulumi.Input[_builtins.str],
27
+ allocation_options: Optional[pulumi.Input['InternalRangeAllocationOptionsArgs']] = None,
27
28
  description: Optional[pulumi.Input[_builtins.str]] = None,
28
29
  exclude_cidr_ranges: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
29
30
  immutable: Optional[pulumi.Input[_builtins.bool]] = None,
@@ -42,6 +43,8 @@ class InternalRangeArgs:
42
43
  Possible values are: `FOR_SELF`, `FOR_PEER`, `NOT_SHARED`.
43
44
  :param pulumi.Input[_builtins.str] usage: The type of usage set for this InternalRange.
44
45
  Possible values are: `FOR_VPC`, `EXTERNAL_TO_VPC`, `FOR_MIGRATION`.
46
+ :param pulumi.Input['InternalRangeAllocationOptionsArgs'] allocation_options: Options for automatically allocating a free range with a size given by prefixLength.
47
+ Structure is documented below.
45
48
  :param pulumi.Input[_builtins.str] description: An optional description of this resource.
46
49
  :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] exclude_cidr_ranges: Optional. List of IP CIDR ranges to be excluded. Resulting reserved Internal Range will not overlap with any CIDR blocks mentioned in this list.
47
50
  Only IPv4 CIDR ranges are supported.
@@ -70,6 +73,8 @@ class InternalRangeArgs:
70
73
  pulumi.set(__self__, "network", network)
71
74
  pulumi.set(__self__, "peering", peering)
72
75
  pulumi.set(__self__, "usage", usage)
76
+ if allocation_options is not None:
77
+ pulumi.set(__self__, "allocation_options", allocation_options)
73
78
  if description is not None:
74
79
  pulumi.set(__self__, "description", description)
75
80
  if exclude_cidr_ranges is not None:
@@ -131,6 +136,19 @@ class InternalRangeArgs:
131
136
  def usage(self, value: pulumi.Input[_builtins.str]):
132
137
  pulumi.set(self, "usage", value)
133
138
 
139
+ @_builtins.property
140
+ @pulumi.getter(name="allocationOptions")
141
+ def allocation_options(self) -> Optional[pulumi.Input['InternalRangeAllocationOptionsArgs']]:
142
+ """
143
+ Options for automatically allocating a free range with a size given by prefixLength.
144
+ Structure is documented below.
145
+ """
146
+ return pulumi.get(self, "allocation_options")
147
+
148
+ @allocation_options.setter
149
+ def allocation_options(self, value: Optional[pulumi.Input['InternalRangeAllocationOptionsArgs']]):
150
+ pulumi.set(self, "allocation_options", value)
151
+
134
152
  @_builtins.property
135
153
  @pulumi.getter
136
154
  def description(self) -> Optional[pulumi.Input[_builtins.str]]:
@@ -280,6 +298,7 @@ class InternalRangeArgs:
280
298
  @pulumi.input_type
281
299
  class _InternalRangeState:
282
300
  def __init__(__self__, *,
301
+ allocation_options: Optional[pulumi.Input['InternalRangeAllocationOptionsArgs']] = None,
283
302
  description: Optional[pulumi.Input[_builtins.str]] = None,
284
303
  effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
285
304
  exclude_cidr_ranges: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
@@ -299,6 +318,8 @@ class _InternalRangeState:
299
318
  users: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None):
300
319
  """
301
320
  Input properties used for looking up and filtering InternalRange resources.
321
+ :param pulumi.Input['InternalRangeAllocationOptionsArgs'] allocation_options: Options for automatically allocating a free range with a size given by prefixLength.
322
+ Structure is documented below.
302
323
  :param pulumi.Input[_builtins.str] description: An optional description of this resource.
303
324
  :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] effective_labels: All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
304
325
  :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] exclude_cidr_ranges: Optional. List of IP CIDR ranges to be excluded. Resulting reserved Internal Range will not overlap with any CIDR blocks mentioned in this list.
@@ -335,6 +356,8 @@ class _InternalRangeState:
335
356
  Resources that use the internal range for their range allocation are referred to as users of the range.
336
357
  Other resources mark themselves as users while doing so by creating a reference to this internal range. Having a user, based on this reference, prevents deletion of the internal range referred to. Can be empty.
337
358
  """
359
+ if allocation_options is not None:
360
+ pulumi.set(__self__, "allocation_options", allocation_options)
338
361
  if description is not None:
339
362
  pulumi.set(__self__, "description", description)
340
363
  if effective_labels is not None:
@@ -370,6 +393,19 @@ class _InternalRangeState:
370
393
  if users is not None:
371
394
  pulumi.set(__self__, "users", users)
372
395
 
396
+ @_builtins.property
397
+ @pulumi.getter(name="allocationOptions")
398
+ def allocation_options(self) -> Optional[pulumi.Input['InternalRangeAllocationOptionsArgs']]:
399
+ """
400
+ Options for automatically allocating a free range with a size given by prefixLength.
401
+ Structure is documented below.
402
+ """
403
+ return pulumi.get(self, "allocation_options")
404
+
405
+ @allocation_options.setter
406
+ def allocation_options(self, value: Optional[pulumi.Input['InternalRangeAllocationOptionsArgs']]):
407
+ pulumi.set(self, "allocation_options", value)
408
+
373
409
  @_builtins.property
374
410
  @pulumi.getter
375
411
  def description(self) -> Optional[pulumi.Input[_builtins.str]]:
@@ -599,6 +635,7 @@ class InternalRange(pulumi.CustomResource):
599
635
  def __init__(__self__,
600
636
  resource_name: str,
601
637
  opts: Optional[pulumi.ResourceOptions] = None,
638
+ allocation_options: Optional[pulumi.Input[Union['InternalRangeAllocationOptionsArgs', 'InternalRangeAllocationOptionsArgsDict']]] = None,
602
639
  description: Optional[pulumi.Input[_builtins.str]] = None,
603
640
  exclude_cidr_ranges: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
604
641
  immutable: Optional[pulumi.Input[_builtins.bool]] = None,
@@ -732,6 +769,47 @@ class InternalRange(pulumi.CustomResource):
732
769
  "target": f"projects/{target_project.project_id}/regions/us-central1/subnetworks/target-subnet",
733
770
  })
734
771
  ```
772
+ ### Network Connectivity Internal Ranges Allocation Algoritms
773
+
774
+ ```python
775
+ import pulumi
776
+ import pulumi_gcp as gcp
777
+
778
+ default_network = gcp.compute.Network("default",
779
+ name="internal-ranges",
780
+ auto_create_subnetworks=False)
781
+ default = gcp.networkconnectivity.InternalRange("default",
782
+ name="allocation-algorithms",
783
+ network=default_network.id,
784
+ usage="FOR_VPC",
785
+ peering="FOR_SELF",
786
+ prefix_length=24,
787
+ target_cidr_ranges=["192.16.0.0/16"],
788
+ allocation_options={
789
+ "allocation_strategy": "FIRST_SMALLEST_FITTING",
790
+ })
791
+ ```
792
+ ### Network Connectivity Internal Ranges Allocation Algoritms Random First N
793
+
794
+ ```python
795
+ import pulumi
796
+ import pulumi_gcp as gcp
797
+
798
+ default_network = gcp.compute.Network("default",
799
+ name="internal-ranges",
800
+ auto_create_subnetworks=False)
801
+ default = gcp.networkconnectivity.InternalRange("default",
802
+ name="allocation-algorithms-random-first-n",
803
+ network=default_network.id,
804
+ usage="FOR_VPC",
805
+ peering="FOR_SELF",
806
+ prefix_length=24,
807
+ target_cidr_ranges=["192.16.0.0/16"],
808
+ allocation_options={
809
+ "allocation_strategy": "RANDOM_FIRST_N_AVAILABLE",
810
+ "first_available_ranges_lookup_size": 20,
811
+ })
812
+ ```
735
813
 
736
814
  ## Import
737
815
 
@@ -759,6 +837,8 @@ class InternalRange(pulumi.CustomResource):
759
837
 
760
838
  :param str resource_name: The name of the resource.
761
839
  :param pulumi.ResourceOptions opts: Options for the resource.
840
+ :param pulumi.Input[Union['InternalRangeAllocationOptionsArgs', 'InternalRangeAllocationOptionsArgsDict']] allocation_options: Options for automatically allocating a free range with a size given by prefixLength.
841
+ Structure is documented below.
762
842
  :param pulumi.Input[_builtins.str] description: An optional description of this resource.
763
843
  :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] exclude_cidr_ranges: Optional. List of IP CIDR ranges to be excluded. Resulting reserved Internal Range will not overlap with any CIDR blocks mentioned in this list.
764
844
  Only IPv4 CIDR ranges are supported.
@@ -913,6 +993,47 @@ class InternalRange(pulumi.CustomResource):
913
993
  "target": f"projects/{target_project.project_id}/regions/us-central1/subnetworks/target-subnet",
914
994
  })
915
995
  ```
996
+ ### Network Connectivity Internal Ranges Allocation Algoritms
997
+
998
+ ```python
999
+ import pulumi
1000
+ import pulumi_gcp as gcp
1001
+
1002
+ default_network = gcp.compute.Network("default",
1003
+ name="internal-ranges",
1004
+ auto_create_subnetworks=False)
1005
+ default = gcp.networkconnectivity.InternalRange("default",
1006
+ name="allocation-algorithms",
1007
+ network=default_network.id,
1008
+ usage="FOR_VPC",
1009
+ peering="FOR_SELF",
1010
+ prefix_length=24,
1011
+ target_cidr_ranges=["192.16.0.0/16"],
1012
+ allocation_options={
1013
+ "allocation_strategy": "FIRST_SMALLEST_FITTING",
1014
+ })
1015
+ ```
1016
+ ### Network Connectivity Internal Ranges Allocation Algoritms Random First N
1017
+
1018
+ ```python
1019
+ import pulumi
1020
+ import pulumi_gcp as gcp
1021
+
1022
+ default_network = gcp.compute.Network("default",
1023
+ name="internal-ranges",
1024
+ auto_create_subnetworks=False)
1025
+ default = gcp.networkconnectivity.InternalRange("default",
1026
+ name="allocation-algorithms-random-first-n",
1027
+ network=default_network.id,
1028
+ usage="FOR_VPC",
1029
+ peering="FOR_SELF",
1030
+ prefix_length=24,
1031
+ target_cidr_ranges=["192.16.0.0/16"],
1032
+ allocation_options={
1033
+ "allocation_strategy": "RANDOM_FIRST_N_AVAILABLE",
1034
+ "first_available_ranges_lookup_size": 20,
1035
+ })
1036
+ ```
916
1037
 
917
1038
  ## Import
918
1039
 
@@ -953,6 +1074,7 @@ class InternalRange(pulumi.CustomResource):
953
1074
  def _internal_init(__self__,
954
1075
  resource_name: str,
955
1076
  opts: Optional[pulumi.ResourceOptions] = None,
1077
+ allocation_options: Optional[pulumi.Input[Union['InternalRangeAllocationOptionsArgs', 'InternalRangeAllocationOptionsArgsDict']]] = None,
956
1078
  description: Optional[pulumi.Input[_builtins.str]] = None,
957
1079
  exclude_cidr_ranges: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
958
1080
  immutable: Optional[pulumi.Input[_builtins.bool]] = None,
@@ -976,6 +1098,7 @@ class InternalRange(pulumi.CustomResource):
976
1098
  raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
977
1099
  __props__ = InternalRangeArgs.__new__(InternalRangeArgs)
978
1100
 
1101
+ __props__.__dict__["allocation_options"] = allocation_options
979
1102
  __props__.__dict__["description"] = description
980
1103
  __props__.__dict__["exclude_cidr_ranges"] = exclude_cidr_ranges
981
1104
  __props__.__dict__["immutable"] = immutable
@@ -1011,6 +1134,7 @@ class InternalRange(pulumi.CustomResource):
1011
1134
  def get(resource_name: str,
1012
1135
  id: pulumi.Input[str],
1013
1136
  opts: Optional[pulumi.ResourceOptions] = None,
1137
+ allocation_options: Optional[pulumi.Input[Union['InternalRangeAllocationOptionsArgs', 'InternalRangeAllocationOptionsArgsDict']]] = None,
1014
1138
  description: Optional[pulumi.Input[_builtins.str]] = None,
1015
1139
  effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
1016
1140
  exclude_cidr_ranges: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
@@ -1035,6 +1159,8 @@ class InternalRange(pulumi.CustomResource):
1035
1159
  :param str resource_name: The unique name of the resulting resource.
1036
1160
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
1037
1161
  :param pulumi.ResourceOptions opts: Options for the resource.
1162
+ :param pulumi.Input[Union['InternalRangeAllocationOptionsArgs', 'InternalRangeAllocationOptionsArgsDict']] allocation_options: Options for automatically allocating a free range with a size given by prefixLength.
1163
+ Structure is documented below.
1038
1164
  :param pulumi.Input[_builtins.str] description: An optional description of this resource.
1039
1165
  :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] effective_labels: All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
1040
1166
  :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] exclude_cidr_ranges: Optional. List of IP CIDR ranges to be excluded. Resulting reserved Internal Range will not overlap with any CIDR blocks mentioned in this list.
@@ -1075,6 +1201,7 @@ class InternalRange(pulumi.CustomResource):
1075
1201
 
1076
1202
  __props__ = _InternalRangeState.__new__(_InternalRangeState)
1077
1203
 
1204
+ __props__.__dict__["allocation_options"] = allocation_options
1078
1205
  __props__.__dict__["description"] = description
1079
1206
  __props__.__dict__["effective_labels"] = effective_labels
1080
1207
  __props__.__dict__["exclude_cidr_ranges"] = exclude_cidr_ranges
@@ -1094,6 +1221,15 @@ class InternalRange(pulumi.CustomResource):
1094
1221
  __props__.__dict__["users"] = users
1095
1222
  return InternalRange(resource_name, opts=opts, __props__=__props__)
1096
1223
 
1224
+ @_builtins.property
1225
+ @pulumi.getter(name="allocationOptions")
1226
+ def allocation_options(self) -> pulumi.Output[Optional['outputs.InternalRangeAllocationOptions']]:
1227
+ """
1228
+ Options for automatically allocating a free range with a size given by prefixLength.
1229
+ Structure is documented below.
1230
+ """
1231
+ return pulumi.get(self, "allocation_options")
1232
+
1097
1233
  @_builtins.property
1098
1234
  @pulumi.getter
1099
1235
  def description(self) -> pulumi.Output[Optional[_builtins.str]]:
@@ -18,6 +18,7 @@ from . import outputs
18
18
  __all__ = [
19
19
  'GroupAutoAccept',
20
20
  'HubRoutingVpc',
21
+ 'InternalRangeAllocationOptions',
21
22
  'InternalRangeMigration',
22
23
  'PolicyBasedRouteFilter',
23
24
  'PolicyBasedRouteInterconnectAttachment',
@@ -90,6 +91,60 @@ class HubRoutingVpc(dict):
90
91
  return pulumi.get(self, "uri")
91
92
 
92
93
 
94
+ @pulumi.output_type
95
+ class InternalRangeAllocationOptions(dict):
96
+ @staticmethod
97
+ def __key_warning(key: str):
98
+ suggest = None
99
+ if key == "allocationStrategy":
100
+ suggest = "allocation_strategy"
101
+ elif key == "firstAvailableRangesLookupSize":
102
+ suggest = "first_available_ranges_lookup_size"
103
+
104
+ if suggest:
105
+ pulumi.log.warn(f"Key '{key}' not found in InternalRangeAllocationOptions. Access the value via the '{suggest}' property getter instead.")
106
+
107
+ def __getitem__(self, key: str) -> Any:
108
+ InternalRangeAllocationOptions.__key_warning(key)
109
+ return super().__getitem__(key)
110
+
111
+ def get(self, key: str, default = None) -> Any:
112
+ InternalRangeAllocationOptions.__key_warning(key)
113
+ return super().get(key, default)
114
+
115
+ def __init__(__self__, *,
116
+ allocation_strategy: Optional[_builtins.str] = None,
117
+ first_available_ranges_lookup_size: Optional[_builtins.int] = None):
118
+ """
119
+ :param _builtins.str allocation_strategy: Optional. Sets the strategy used to automatically find a free range of a size given by prefixLength. Can be set only when trying to create a reservation that automatically finds the free range to reserve.
120
+ Possible values are: `RANDOM`, `FIRST_AVAILABLE`, `RANDOM_FIRST_N_AVAILABLE`, `FIRST_SMALLEST_FITTING`.
121
+ :param _builtins.int first_available_ranges_lookup_size: Must be set when allocation_strategy is RANDOM_FIRST_N_AVAILABLE, otherwise must remain unset. Defines the size of the set of free ranges from which RANDOM_FIRST_N_AVAILABLE strategy randomy selects one,
122
+ in other words it sets the N in the RANDOM_FIRST_N_AVAILABLE.
123
+ """
124
+ if allocation_strategy is not None:
125
+ pulumi.set(__self__, "allocation_strategy", allocation_strategy)
126
+ if first_available_ranges_lookup_size is not None:
127
+ pulumi.set(__self__, "first_available_ranges_lookup_size", first_available_ranges_lookup_size)
128
+
129
+ @_builtins.property
130
+ @pulumi.getter(name="allocationStrategy")
131
+ def allocation_strategy(self) -> Optional[_builtins.str]:
132
+ """
133
+ Optional. Sets the strategy used to automatically find a free range of a size given by prefixLength. Can be set only when trying to create a reservation that automatically finds the free range to reserve.
134
+ Possible values are: `RANDOM`, `FIRST_AVAILABLE`, `RANDOM_FIRST_N_AVAILABLE`, `FIRST_SMALLEST_FITTING`.
135
+ """
136
+ return pulumi.get(self, "allocation_strategy")
137
+
138
+ @_builtins.property
139
+ @pulumi.getter(name="firstAvailableRangesLookupSize")
140
+ def first_available_ranges_lookup_size(self) -> Optional[_builtins.int]:
141
+ """
142
+ Must be set when allocation_strategy is RANDOM_FIRST_N_AVAILABLE, otherwise must remain unset. Defines the size of the set of free ranges from which RANDOM_FIRST_N_AVAILABLE strategy randomy selects one,
143
+ in other words it sets the N in the RANDOM_FIRST_N_AVAILABLE.
144
+ """
145
+ return pulumi.get(self, "first_available_ranges_lookup_size")
146
+
147
+
93
148
  @pulumi.output_type
94
149
  class InternalRangeMigration(dict):
95
150
  def __init__(__self__, *,
@@ -676,15 +676,15 @@ class Spoke(pulumi.CustomResource):
676
676
  import pulumi_gcp as gcp
677
677
 
678
678
  network = gcp.compute.Network("network",
679
- name="tf-test-network_60365",
679
+ name="tf-test-network_59033",
680
680
  auto_create_subnetworks=False)
681
681
  subnetwork = gcp.compute.Subnetwork("subnetwork",
682
- name="tf-test-subnet_80215",
682
+ name="tf-test-subnet_32081",
683
683
  ip_cidr_range="10.0.0.0/28",
684
684
  region="us-central1",
685
685
  network=network.self_link)
686
686
  instance = gcp.compute.Instance("instance",
687
- name="tf-test-instance_59033",
687
+ name="tf-test-instance_10393",
688
688
  machine_type="e2-medium",
689
689
  can_ip_forward=True,
690
690
  zone="us-central1-a",
@@ -701,13 +701,13 @@ class Spoke(pulumi.CustomResource):
701
701
  }],
702
702
  }])
703
703
  basic_hub = gcp.networkconnectivity.Hub("basic_hub",
704
- name="tf-test-hub_32081",
704
+ name="tf-test-hub_33052",
705
705
  description="A sample hub",
706
706
  labels={
707
707
  "label-two": "value-one",
708
708
  })
709
709
  primary = gcp.networkconnectivity.Spoke("primary",
710
- name="tf-test-name_10393",
710
+ name="tf-test-name_3684",
711
711
  location="us-central1",
712
712
  description="A sample spoke with a linked routher appliance instance",
713
713
  labels={
@@ -939,8 +939,8 @@ class Spoke(pulumi.CustomResource):
939
939
  hub=star_hub.id,
940
940
  auto_accept={
941
941
  "auto_accept_projects": [
942
- "foo_33052",
943
- "bar_3684",
942
+ "foo_10719",
943
+ "bar_1443",
944
944
  ],
945
945
  })
946
946
  primary = gcp.networkconnectivity.Spoke("primary",
@@ -1134,15 +1134,15 @@ class Spoke(pulumi.CustomResource):
1134
1134
  import pulumi_gcp as gcp
1135
1135
 
1136
1136
  network = gcp.compute.Network("network",
1137
- name="tf-test-network_60365",
1137
+ name="tf-test-network_59033",
1138
1138
  auto_create_subnetworks=False)
1139
1139
  subnetwork = gcp.compute.Subnetwork("subnetwork",
1140
- name="tf-test-subnet_80215",
1140
+ name="tf-test-subnet_32081",
1141
1141
  ip_cidr_range="10.0.0.0/28",
1142
1142
  region="us-central1",
1143
1143
  network=network.self_link)
1144
1144
  instance = gcp.compute.Instance("instance",
1145
- name="tf-test-instance_59033",
1145
+ name="tf-test-instance_10393",
1146
1146
  machine_type="e2-medium",
1147
1147
  can_ip_forward=True,
1148
1148
  zone="us-central1-a",
@@ -1159,13 +1159,13 @@ class Spoke(pulumi.CustomResource):
1159
1159
  }],
1160
1160
  }])
1161
1161
  basic_hub = gcp.networkconnectivity.Hub("basic_hub",
1162
- name="tf-test-hub_32081",
1162
+ name="tf-test-hub_33052",
1163
1163
  description="A sample hub",
1164
1164
  labels={
1165
1165
  "label-two": "value-one",
1166
1166
  })
1167
1167
  primary = gcp.networkconnectivity.Spoke("primary",
1168
- name="tf-test-name_10393",
1168
+ name="tf-test-name_3684",
1169
1169
  location="us-central1",
1170
1170
  description="A sample spoke with a linked routher appliance instance",
1171
1171
  labels={
@@ -1397,8 +1397,8 @@ class Spoke(pulumi.CustomResource):
1397
1397
  hub=star_hub.id,
1398
1398
  auto_accept={
1399
1399
  "auto_accept_projects": [
1400
- "foo_33052",
1401
- "bar_3684",
1400
+ "foo_10719",
1401
+ "bar_1443",
1402
1402
  ],
1403
1403
  })
1404
1404
  primary = gcp.networkconnectivity.Spoke("primary",