pulumi-gcp 7.24.0a1716510380__py3-none-any.whl → 7.25.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 (467) hide show
  1. pulumi_gcp/__init__.py +104 -0
  2. pulumi_gcp/accesscontextmanager/access_policy_iam_binding.py +12 -12
  3. pulumi_gcp/accesscontextmanager/access_policy_iam_member.py +12 -12
  4. pulumi_gcp/accesscontextmanager/access_policy_iam_policy.py +12 -12
  5. pulumi_gcp/accesscontextmanager/service_perimeter_egress_policy.py +0 -64
  6. pulumi_gcp/accesscontextmanager/service_perimeter_ingress_policy.py +0 -70
  7. pulumi_gcp/alloydb/backup.py +50 -42
  8. pulumi_gcp/alloydb/cluster.py +56 -48
  9. pulumi_gcp/alloydb/instance.py +50 -42
  10. pulumi_gcp/alloydb/user.py +32 -24
  11. pulumi_gcp/apigateway/api_config.py +0 -114
  12. pulumi_gcp/apigateway/api_config_iam_binding.py +8 -8
  13. pulumi_gcp/apigateway/api_config_iam_member.py +8 -8
  14. pulumi_gcp/apigateway/api_config_iam_policy.py +8 -8
  15. pulumi_gcp/apigateway/api_iam_binding.py +8 -8
  16. pulumi_gcp/apigateway/api_iam_member.py +8 -8
  17. pulumi_gcp/apigateway/api_iam_policy.py +8 -8
  18. pulumi_gcp/apigateway/gateway.py +0 -44
  19. pulumi_gcp/apigateway/gateway_iam_binding.py +8 -8
  20. pulumi_gcp/apigateway/gateway_iam_member.py +8 -8
  21. pulumi_gcp/apigateway/gateway_iam_policy.py +8 -8
  22. pulumi_gcp/apigee/addons_config.py +14 -4
  23. pulumi_gcp/apigee/endpoint_attachment.py +4 -2
  24. pulumi_gcp/apigee/env_group.py +4 -2
  25. pulumi_gcp/apigee/environment.py +4 -2
  26. pulumi_gcp/apigee/environment_iam_binding.py +12 -12
  27. pulumi_gcp/apigee/environment_iam_member.py +12 -12
  28. pulumi_gcp/apigee/environment_iam_policy.py +12 -12
  29. pulumi_gcp/apigee/instance.py +22 -8
  30. pulumi_gcp/apigee/keystores_aliases_self_signed_cert.py +26 -10
  31. pulumi_gcp/apigee/nat_address.py +10 -2
  32. pulumi_gcp/apigee/organization.py +18 -6
  33. pulumi_gcp/apigee/sync_authorization.py +8 -4
  34. pulumi_gcp/apigee/target_server.py +26 -10
  35. pulumi_gcp/appengine/_inputs.py +18 -0
  36. pulumi_gcp/appengine/domain_mapping.py +1 -1
  37. pulumi_gcp/appengine/outputs.py +16 -0
  38. pulumi_gcp/apphub/service.py +40 -20
  39. pulumi_gcp/apphub/service_project_attachment.py +16 -8
  40. pulumi_gcp/apphub/workload.py +0 -418
  41. pulumi_gcp/applicationintegration/auth_config.py +4 -2
  42. pulumi_gcp/artifactregistry/repository.py +14 -12
  43. pulumi_gcp/artifactregistry/repository_iam_binding.py +12 -12
  44. pulumi_gcp/artifactregistry/repository_iam_member.py +12 -12
  45. pulumi_gcp/artifactregistry/repository_iam_policy.py +12 -12
  46. pulumi_gcp/backupdisasterrecovery/management_server.py +4 -2
  47. pulumi_gcp/bigquery/_inputs.py +286 -2
  48. pulumi_gcp/bigquery/connection.py +126 -0
  49. pulumi_gcp/bigquery/connection_iam_binding.py +12 -12
  50. pulumi_gcp/bigquery/connection_iam_member.py +12 -12
  51. pulumi_gcp/bigquery/connection_iam_policy.py +12 -12
  52. pulumi_gcp/bigquery/data_transfer_config.py +8 -4
  53. pulumi_gcp/bigquery/dataset_iam_binding.py +12 -12
  54. pulumi_gcp/bigquery/dataset_iam_member.py +12 -12
  55. pulumi_gcp/bigquery/dataset_iam_policy.py +12 -12
  56. pulumi_gcp/bigquery/iam_binding.py +12 -12
  57. pulumi_gcp/bigquery/iam_member.py +12 -12
  58. pulumi_gcp/bigquery/iam_policy.py +12 -12
  59. pulumi_gcp/bigquery/job.py +22 -16
  60. pulumi_gcp/bigquery/outputs.py +289 -2
  61. pulumi_gcp/bigquery/routine.py +2 -2
  62. pulumi_gcp/bigquery/table.py +77 -35
  63. pulumi_gcp/bigqueryanalyticshub/data_exchange_iam_binding.py +12 -12
  64. pulumi_gcp/bigqueryanalyticshub/data_exchange_iam_member.py +12 -12
  65. pulumi_gcp/bigqueryanalyticshub/data_exchange_iam_policy.py +12 -12
  66. pulumi_gcp/bigqueryanalyticshub/listing_iam_binding.py +12 -12
  67. pulumi_gcp/bigqueryanalyticshub/listing_iam_member.py +12 -12
  68. pulumi_gcp/bigqueryanalyticshub/listing_iam_policy.py +12 -12
  69. pulumi_gcp/bigquerydatapolicy/data_policy_iam_binding.py +12 -12
  70. pulumi_gcp/bigquerydatapolicy/data_policy_iam_member.py +12 -12
  71. pulumi_gcp/bigquerydatapolicy/data_policy_iam_policy.py +12 -12
  72. pulumi_gcp/bigtable/instance_iam_binding.py +12 -12
  73. pulumi_gcp/bigtable/instance_iam_member.py +12 -12
  74. pulumi_gcp/bigtable/instance_iam_policy.py +12 -12
  75. pulumi_gcp/bigtable/table_iam_binding.py +12 -12
  76. pulumi_gcp/bigtable/table_iam_member.py +12 -12
  77. pulumi_gcp/bigtable/table_iam_policy.py +12 -12
  78. pulumi_gcp/billing/account_iam_binding.py +12 -12
  79. pulumi_gcp/billing/account_iam_member.py +12 -12
  80. pulumi_gcp/billing/account_iam_policy.py +12 -12
  81. pulumi_gcp/billing/project_info.py +4 -4
  82. pulumi_gcp/binaryauthorization/attestor_iam_binding.py +12 -12
  83. pulumi_gcp/binaryauthorization/attestor_iam_member.py +12 -12
  84. pulumi_gcp/binaryauthorization/attestor_iam_policy.py +12 -12
  85. pulumi_gcp/certificateauthority/authority.py +10 -2
  86. pulumi_gcp/certificateauthority/ca_pool_iam_binding.py +12 -12
  87. pulumi_gcp/certificateauthority/ca_pool_iam_member.py +12 -12
  88. pulumi_gcp/certificateauthority/ca_pool_iam_policy.py +12 -12
  89. pulumi_gcp/certificateauthority/certificate.py +8 -4
  90. pulumi_gcp/certificateauthority/certificate_template_iam_binding.py +12 -12
  91. pulumi_gcp/certificateauthority/certificate_template_iam_member.py +12 -12
  92. pulumi_gcp/certificateauthority/certificate_template_iam_policy.py +12 -12
  93. pulumi_gcp/certificatemanager/certificate.py +84 -80
  94. pulumi_gcp/certificatemanager/certificate_issuance_config.py +32 -30
  95. pulumi_gcp/cloudasset/__init__.py +1 -0
  96. pulumi_gcp/cloudasset/get_search_all_resources.py +197 -0
  97. pulumi_gcp/cloudasset/outputs.py +184 -0
  98. pulumi_gcp/cloudbuild/bitbucket_server_config.py +12 -6
  99. pulumi_gcp/cloudbuild/trigger.py +22 -14
  100. pulumi_gcp/cloudbuild/worker_pool.py +12 -6
  101. pulumi_gcp/cloudbuildv2/connection.py +10 -2
  102. pulumi_gcp/cloudbuildv2/connection_iam_binding.py +12 -12
  103. pulumi_gcp/cloudbuildv2/connection_iam_member.py +12 -12
  104. pulumi_gcp/cloudbuildv2/connection_iam_policy.py +12 -12
  105. pulumi_gcp/cloudbuildv2/repository.py +10 -2
  106. pulumi_gcp/cloudfunctions/function_iam_binding.py +12 -12
  107. pulumi_gcp/cloudfunctions/function_iam_member.py +12 -12
  108. pulumi_gcp/cloudfunctions/function_iam_policy.py +12 -12
  109. pulumi_gcp/cloudfunctionsv2/function.py +110 -66
  110. pulumi_gcp/cloudfunctionsv2/function_iam_binding.py +12 -12
  111. pulumi_gcp/cloudfunctionsv2/function_iam_member.py +12 -12
  112. pulumi_gcp/cloudfunctionsv2/function_iam_policy.py +12 -12
  113. pulumi_gcp/cloudids/endpoint.py +4 -2
  114. pulumi_gcp/cloudrun/_inputs.py +80 -4
  115. pulumi_gcp/cloudrun/iam_binding.py +12 -12
  116. pulumi_gcp/cloudrun/iam_member.py +12 -12
  117. pulumi_gcp/cloudrun/iam_policy.py +12 -12
  118. pulumi_gcp/cloudrun/outputs.py +137 -4
  119. pulumi_gcp/cloudrunv2/job.py +32 -20
  120. pulumi_gcp/cloudrunv2/job_iam_binding.py +12 -12
  121. pulumi_gcp/cloudrunv2/job_iam_member.py +12 -12
  122. pulumi_gcp/cloudrunv2/job_iam_policy.py +12 -12
  123. pulumi_gcp/cloudrunv2/service.py +28 -20
  124. pulumi_gcp/cloudrunv2/service_iam_binding.py +12 -12
  125. pulumi_gcp/cloudrunv2/service_iam_member.py +12 -12
  126. pulumi_gcp/cloudrunv2/service_iam_policy.py +12 -12
  127. pulumi_gcp/cloudtasks/queue_iam_binding.py +12 -12
  128. pulumi_gcp/cloudtasks/queue_iam_member.py +12 -12
  129. pulumi_gcp/cloudtasks/queue_iam_policy.py +12 -12
  130. pulumi_gcp/composer/user_workloads_secret.py +4 -4
  131. pulumi_gcp/compute/__init__.py +2 -0
  132. pulumi_gcp/compute/_inputs.py +805 -182
  133. pulumi_gcp/compute/disk_iam_binding.py +12 -12
  134. pulumi_gcp/compute/disk_iam_member.py +12 -12
  135. pulumi_gcp/compute/disk_iam_policy.py +12 -12
  136. pulumi_gcp/compute/forwarding_rule.py +231 -823
  137. pulumi_gcp/compute/get_network_endpoint_group.py +2 -2
  138. pulumi_gcp/compute/get_region_network_endpoint_group.py +2 -2
  139. pulumi_gcp/compute/get_router_nat.py +11 -1
  140. pulumi_gcp/compute/get_snapshot.py +2 -0
  141. pulumi_gcp/compute/get_subnetworks.py +157 -0
  142. pulumi_gcp/compute/global_forwarding_rule.py +0 -766
  143. pulumi_gcp/compute/image_iam_binding.py +12 -12
  144. pulumi_gcp/compute/image_iam_member.py +12 -12
  145. pulumi_gcp/compute/image_iam_policy.py +12 -12
  146. pulumi_gcp/compute/instance_group.py +0 -100
  147. pulumi_gcp/compute/instance_group_membership.py +2 -2
  148. pulumi_gcp/compute/instance_iam_binding.py +12 -12
  149. pulumi_gcp/compute/instance_iam_member.py +12 -12
  150. pulumi_gcp/compute/instance_iam_policy.py +12 -12
  151. pulumi_gcp/compute/interconnect.py +1683 -0
  152. pulumi_gcp/compute/interconnect_attachment.py +82 -0
  153. pulumi_gcp/compute/machine_image_iam_binding.py +8 -8
  154. pulumi_gcp/compute/machine_image_iam_member.py +8 -8
  155. pulumi_gcp/compute/machine_image_iam_policy.py +8 -8
  156. pulumi_gcp/compute/network_endpoint.py +2 -2
  157. pulumi_gcp/compute/network_endpoint_list.py +2 -2
  158. pulumi_gcp/compute/outputs.py +1022 -161
  159. pulumi_gcp/compute/packet_mirroring.py +4 -2
  160. pulumi_gcp/compute/region_disk_iam_binding.py +12 -12
  161. pulumi_gcp/compute/region_disk_iam_member.py +12 -12
  162. pulumi_gcp/compute/region_disk_iam_policy.py +12 -12
  163. pulumi_gcp/compute/region_security_policy_rule.py +4 -2
  164. pulumi_gcp/compute/region_ssl_certificate.py +0 -188
  165. pulumi_gcp/compute/region_ssl_policy.py +39 -40
  166. pulumi_gcp/compute/route.py +10 -2
  167. pulumi_gcp/compute/router_nat.py +68 -0
  168. pulumi_gcp/compute/security_policy_rule.py +55 -1
  169. pulumi_gcp/compute/snapshot_iam_binding.py +12 -12
  170. pulumi_gcp/compute/snapshot_iam_member.py +12 -12
  171. pulumi_gcp/compute/snapshot_iam_policy.py +12 -12
  172. pulumi_gcp/compute/ssl_certificate.py +0 -166
  173. pulumi_gcp/compute/subnetwork_iam_binding.py +12 -12
  174. pulumi_gcp/compute/subnetwork_iam_member.py +12 -12
  175. pulumi_gcp/compute/subnetwork_iam_policy.py +12 -12
  176. pulumi_gcp/compute/target_instance.py +8 -6
  177. pulumi_gcp/compute/target_pool.py +21 -21
  178. pulumi_gcp/compute/vpn_gateway.py +12 -2
  179. pulumi_gcp/compute/vpn_tunnel.py +26 -16
  180. pulumi_gcp/container/_inputs.py +562 -2
  181. pulumi_gcp/container/outputs.py +1110 -55
  182. pulumi_gcp/containeranalysis/note_iam_binding.py +12 -12
  183. pulumi_gcp/containeranalysis/note_iam_member.py +12 -12
  184. pulumi_gcp/containeranalysis/note_iam_policy.py +12 -12
  185. pulumi_gcp/databasemigrationservice/connection_profile.py +38 -22
  186. pulumi_gcp/datacatalog/entry_group_iam_binding.py +12 -12
  187. pulumi_gcp/datacatalog/entry_group_iam_member.py +12 -12
  188. pulumi_gcp/datacatalog/entry_group_iam_policy.py +12 -12
  189. pulumi_gcp/datacatalog/policy_tag.py +4 -2
  190. pulumi_gcp/datacatalog/policy_tag_iam_binding.py +12 -12
  191. pulumi_gcp/datacatalog/policy_tag_iam_member.py +12 -12
  192. pulumi_gcp/datacatalog/policy_tag_iam_policy.py +12 -12
  193. pulumi_gcp/datacatalog/tag_template_iam_binding.py +12 -12
  194. pulumi_gcp/datacatalog/tag_template_iam_member.py +12 -12
  195. pulumi_gcp/datacatalog/tag_template_iam_policy.py +12 -12
  196. pulumi_gcp/datacatalog/taxonomy_iam_binding.py +12 -12
  197. pulumi_gcp/datacatalog/taxonomy_iam_member.py +12 -12
  198. pulumi_gcp/datacatalog/taxonomy_iam_policy.py +12 -12
  199. pulumi_gcp/datafusion/instance.py +14 -12
  200. pulumi_gcp/dataloss/_inputs.py +420 -13
  201. pulumi_gcp/dataloss/outputs.py +439 -13
  202. pulumi_gcp/dataplex/__init__.py +10 -0
  203. pulumi_gcp/dataplex/_inputs.py +160 -0
  204. pulumi_gcp/dataplex/aspect_type.py +1077 -0
  205. pulumi_gcp/dataplex/aspect_type_iam_binding.py +765 -0
  206. pulumi_gcp/dataplex/aspect_type_iam_member.py +765 -0
  207. pulumi_gcp/dataplex/aspect_type_iam_policy.py +604 -0
  208. pulumi_gcp/dataplex/asset.py +4 -2
  209. pulumi_gcp/dataplex/asset_iam_binding.py +12 -12
  210. pulumi_gcp/dataplex/asset_iam_member.py +12 -12
  211. pulumi_gcp/dataplex/asset_iam_policy.py +12 -12
  212. pulumi_gcp/dataplex/datascan.py +16 -14
  213. pulumi_gcp/dataplex/datascan_iam_binding.py +12 -12
  214. pulumi_gcp/dataplex/datascan_iam_member.py +12 -12
  215. pulumi_gcp/dataplex/datascan_iam_policy.py +12 -12
  216. pulumi_gcp/dataplex/entry_group.py +722 -0
  217. pulumi_gcp/dataplex/entry_group_iam_binding.py +765 -0
  218. pulumi_gcp/dataplex/entry_group_iam_member.py +765 -0
  219. pulumi_gcp/dataplex/entry_group_iam_policy.py +604 -0
  220. pulumi_gcp/dataplex/get_aspect_type_iam_policy.py +164 -0
  221. pulumi_gcp/dataplex/get_entry_group_iam_policy.py +164 -0
  222. pulumi_gcp/dataplex/lake_iam_binding.py +12 -12
  223. pulumi_gcp/dataplex/lake_iam_member.py +12 -12
  224. pulumi_gcp/dataplex/lake_iam_policy.py +12 -12
  225. pulumi_gcp/dataplex/outputs.py +112 -0
  226. pulumi_gcp/dataplex/task.py +16 -16
  227. pulumi_gcp/dataplex/task_iam_binding.py +12 -12
  228. pulumi_gcp/dataplex/task_iam_member.py +12 -12
  229. pulumi_gcp/dataplex/task_iam_policy.py +12 -12
  230. pulumi_gcp/dataplex/zone_iam_binding.py +12 -12
  231. pulumi_gcp/dataplex/zone_iam_member.py +12 -12
  232. pulumi_gcp/dataplex/zone_iam_policy.py +12 -12
  233. pulumi_gcp/dataproc/_inputs.py +70 -0
  234. pulumi_gcp/dataproc/autoscaling_policy_iam_binding.py +12 -12
  235. pulumi_gcp/dataproc/autoscaling_policy_iam_member.py +12 -12
  236. pulumi_gcp/dataproc/autoscaling_policy_iam_policy.py +12 -12
  237. pulumi_gcp/dataproc/cluster_iam_binding.py +12 -12
  238. pulumi_gcp/dataproc/cluster_iam_member.py +12 -12
  239. pulumi_gcp/dataproc/cluster_iam_policy.py +12 -12
  240. pulumi_gcp/dataproc/get_metastore_federation_iam_policy.py +26 -2
  241. pulumi_gcp/dataproc/job_iam_binding.py +12 -12
  242. pulumi_gcp/dataproc/job_iam_member.py +12 -12
  243. pulumi_gcp/dataproc/job_iam_policy.py +12 -12
  244. pulumi_gcp/dataproc/metastore_federation.py +4 -0
  245. pulumi_gcp/dataproc/metastore_federation_iam_binding.py +208 -0
  246. pulumi_gcp/dataproc/metastore_federation_iam_member.py +208 -0
  247. pulumi_gcp/dataproc/metastore_federation_iam_policy.py +208 -0
  248. pulumi_gcp/dataproc/metastore_service_iam_binding.py +12 -12
  249. pulumi_gcp/dataproc/metastore_service_iam_member.py +12 -12
  250. pulumi_gcp/dataproc/metastore_service_iam_policy.py +12 -12
  251. pulumi_gcp/dataproc/outputs.py +62 -0
  252. pulumi_gcp/datastore/data_store_index.py +4 -2
  253. pulumi_gcp/datastream/_inputs.py +1789 -820
  254. pulumi_gcp/datastream/connection_profile.py +210 -3
  255. pulumi_gcp/datastream/outputs.py +864 -5
  256. pulumi_gcp/datastream/private_connection.py +47 -0
  257. pulumi_gcp/datastream/stream.py +231 -4
  258. pulumi_gcp/diagflow/cx_test_case.py +4 -4
  259. pulumi_gcp/diagflow/entity_type.py +4 -2
  260. pulumi_gcp/diagflow/fulfillment.py +4 -2
  261. pulumi_gcp/diagflow/intent.py +8 -4
  262. pulumi_gcp/dns/dns_managed_zone_iam_binding.py +12 -12
  263. pulumi_gcp/dns/dns_managed_zone_iam_member.py +12 -12
  264. pulumi_gcp/dns/dns_managed_zone_iam_policy.py +12 -12
  265. pulumi_gcp/dns/get_managed_zone.py +3 -3
  266. pulumi_gcp/dns/managed_zone.py +7 -7
  267. pulumi_gcp/dns/outputs.py +2 -2
  268. pulumi_gcp/edgecontainer/node_pool.py +4 -2
  269. pulumi_gcp/edgecontainer/vpn_connection.py +4 -2
  270. pulumi_gcp/endpoints/service_iam_binding.py +12 -12
  271. pulumi_gcp/endpoints/service_iam_member.py +12 -12
  272. pulumi_gcp/endpoints/service_iam_policy.py +12 -12
  273. pulumi_gcp/eventarc/channel.py +4 -2
  274. pulumi_gcp/eventarc/google_channel_config.py +4 -2
  275. pulumi_gcp/firebase/app_check_app_attest_config.py +16 -8
  276. pulumi_gcp/firebase/app_check_debug_token.py +8 -4
  277. pulumi_gcp/firebase/app_check_device_check_config.py +8 -4
  278. pulumi_gcp/firebase/app_check_play_integrity_config.py +16 -8
  279. pulumi_gcp/firebase/app_check_recaptcha_enterprise_config.py +8 -4
  280. pulumi_gcp/firebase/app_check_recaptcha_v3_config.py +8 -4
  281. pulumi_gcp/firebase/app_check_service_config.py +12 -6
  282. pulumi_gcp/firebase/database_instance.py +4 -2
  283. pulumi_gcp/firebaserules/release.py +0 -98
  284. pulumi_gcp/firestore/database.py +24 -20
  285. pulumi_gcp/firestore/document.py +24 -12
  286. pulumi_gcp/firestore/field.py +4 -4
  287. pulumi_gcp/folder/access_approval_settings.py +4 -2
  288. pulumi_gcp/folder/iam_audit_config.py +23 -23
  289. pulumi_gcp/folder/iam_member.py +16 -16
  290. pulumi_gcp/folder/iam_policy.py +16 -16
  291. pulumi_gcp/gkebackup/backup_plan_iam_binding.py +12 -12
  292. pulumi_gcp/gkebackup/backup_plan_iam_member.py +12 -12
  293. pulumi_gcp/gkebackup/backup_plan_iam_policy.py +12 -12
  294. pulumi_gcp/gkehub/feature_iam_binding.py +12 -12
  295. pulumi_gcp/gkehub/feature_iam_member.py +12 -12
  296. pulumi_gcp/gkehub/feature_iam_policy.py +12 -12
  297. pulumi_gcp/gkehub/membership_binding.py +20 -10
  298. pulumi_gcp/gkehub/membership_iam_binding.py +12 -12
  299. pulumi_gcp/gkehub/membership_iam_member.py +12 -12
  300. pulumi_gcp/gkehub/membership_iam_policy.py +12 -12
  301. pulumi_gcp/gkehub/membership_rbac_role_binding.py +12 -8
  302. pulumi_gcp/gkehub/namespace.py +8 -6
  303. pulumi_gcp/gkehub/scope_iam_binding.py +12 -12
  304. pulumi_gcp/gkehub/scope_iam_member.py +12 -12
  305. pulumi_gcp/gkehub/scope_iam_policy.py +12 -12
  306. pulumi_gcp/gkehub/scope_rbac_role_binding.py +8 -6
  307. pulumi_gcp/healthcare/consent_store_iam_binding.py +12 -12
  308. pulumi_gcp/healthcare/consent_store_iam_member.py +12 -12
  309. pulumi_gcp/healthcare/consent_store_iam_policy.py +12 -12
  310. pulumi_gcp/healthcare/dataset_iam_binding.py +12 -12
  311. pulumi_gcp/healthcare/dataset_iam_member.py +12 -12
  312. pulumi_gcp/healthcare/dataset_iam_policy.py +12 -12
  313. pulumi_gcp/healthcare/dicom_store_iam_binding.py +12 -12
  314. pulumi_gcp/healthcare/dicom_store_iam_member.py +12 -12
  315. pulumi_gcp/healthcare/dicom_store_iam_policy.py +12 -12
  316. pulumi_gcp/healthcare/fhir_store_iam_binding.py +12 -12
  317. pulumi_gcp/healthcare/fhir_store_iam_member.py +12 -12
  318. pulumi_gcp/healthcare/fhir_store_iam_policy.py +12 -12
  319. pulumi_gcp/healthcare/hl7_store_iam_binding.py +12 -12
  320. pulumi_gcp/healthcare/hl7_store_iam_member.py +12 -12
  321. pulumi_gcp/healthcare/hl7_store_iam_policy.py +12 -12
  322. pulumi_gcp/iap/app_engine_service_iam_binding.py +12 -12
  323. pulumi_gcp/iap/app_engine_service_iam_member.py +12 -12
  324. pulumi_gcp/iap/app_engine_service_iam_policy.py +12 -12
  325. pulumi_gcp/iap/app_engine_version_iam_binding.py +12 -12
  326. pulumi_gcp/iap/app_engine_version_iam_member.py +12 -12
  327. pulumi_gcp/iap/app_engine_version_iam_policy.py +12 -12
  328. pulumi_gcp/iap/tunnel_dest_group.py +2 -2
  329. pulumi_gcp/iap/tunnel_dest_group_iam_binding.py +12 -12
  330. pulumi_gcp/iap/tunnel_dest_group_iam_member.py +12 -12
  331. pulumi_gcp/iap/tunnel_dest_group_iam_policy.py +12 -12
  332. pulumi_gcp/iap/tunnel_iam_binding.py +12 -12
  333. pulumi_gcp/iap/tunnel_iam_member.py +12 -12
  334. pulumi_gcp/iap/tunnel_iam_policy.py +12 -12
  335. pulumi_gcp/iap/tunnel_instance_iam_binding.py +12 -12
  336. pulumi_gcp/iap/tunnel_instance_iam_member.py +12 -12
  337. pulumi_gcp/iap/tunnel_instance_iam_policy.py +12 -12
  338. pulumi_gcp/iap/web_backend_service_iam_binding.py +12 -12
  339. pulumi_gcp/iap/web_backend_service_iam_member.py +12 -12
  340. pulumi_gcp/iap/web_backend_service_iam_policy.py +12 -12
  341. pulumi_gcp/iap/web_iam_binding.py +12 -12
  342. pulumi_gcp/iap/web_iam_member.py +12 -12
  343. pulumi_gcp/iap/web_iam_policy.py +12 -12
  344. pulumi_gcp/iap/web_region_backend_service_iam_binding.py +12 -12
  345. pulumi_gcp/iap/web_region_backend_service_iam_member.py +12 -12
  346. pulumi_gcp/iap/web_region_backend_service_iam_policy.py +12 -12
  347. pulumi_gcp/iap/web_type_app_enging_iam_binding.py +12 -12
  348. pulumi_gcp/iap/web_type_app_enging_iam_member.py +12 -12
  349. pulumi_gcp/iap/web_type_app_enging_iam_policy.py +12 -12
  350. pulumi_gcp/iap/web_type_compute_iam_binding.py +12 -12
  351. pulumi_gcp/iap/web_type_compute_iam_member.py +12 -12
  352. pulumi_gcp/iap/web_type_compute_iam_policy.py +12 -12
  353. pulumi_gcp/integrationconnectors/connection.py +4 -2
  354. pulumi_gcp/integrationconnectors/managed_zone.py +26 -14
  355. pulumi_gcp/kms/__init__.py +2 -0
  356. pulumi_gcp/kms/autokey_config.py +366 -0
  357. pulumi_gcp/kms/key_handle.py +548 -0
  358. pulumi_gcp/kms/key_ring_iam_binding.py +12 -12
  359. pulumi_gcp/kms/key_ring_iam_member.py +12 -12
  360. pulumi_gcp/kms/key_ring_iam_policy.py +12 -12
  361. pulumi_gcp/logging/folder_settings.py +12 -10
  362. pulumi_gcp/logging/linked_dataset.py +4 -2
  363. pulumi_gcp/logging/organization_settings.py +12 -10
  364. pulumi_gcp/logging/project_bucket_config.py +4 -2
  365. pulumi_gcp/looker/instance.py +12 -10
  366. pulumi_gcp/netapp/storage_pool.py +7 -7
  367. pulumi_gcp/netapp/volume.py +4 -4
  368. pulumi_gcp/netapp/volume_replication.py +4 -2
  369. pulumi_gcp/netapp/volume_snapshot.py +4 -2
  370. pulumi_gcp/networkconnectivity/internal_range.py +14 -12
  371. pulumi_gcp/networksecurity/gateway_security_policy.py +20 -8
  372. pulumi_gcp/networksecurity/tls_inspection_policy.py +437 -5
  373. pulumi_gcp/networkservices/__init__.py +2 -0
  374. pulumi_gcp/networkservices/_inputs.py +454 -0
  375. pulumi_gcp/networkservices/gateway.py +12 -6
  376. pulumi_gcp/networkservices/lb_route_extension.py +663 -0
  377. pulumi_gcp/networkservices/lb_traffic_extension.py +669 -0
  378. pulumi_gcp/networkservices/outputs.py +478 -0
  379. pulumi_gcp/notebooks/instance_iam_binding.py +12 -12
  380. pulumi_gcp/notebooks/instance_iam_member.py +12 -12
  381. pulumi_gcp/notebooks/instance_iam_policy.py +12 -12
  382. pulumi_gcp/notebooks/runtime_iam_binding.py +12 -12
  383. pulumi_gcp/notebooks/runtime_iam_member.py +12 -12
  384. pulumi_gcp/notebooks/runtime_iam_policy.py +12 -12
  385. pulumi_gcp/organizations/access_approval_settings.py +4 -2
  386. pulumi_gcp/organizations/iam_member.py +16 -16
  387. pulumi_gcp/organizations/iam_policy.py +16 -16
  388. pulumi_gcp/orgpolicy/policy.py +2 -2
  389. pulumi_gcp/parallelstore/instance.py +20 -18
  390. pulumi_gcp/projects/access_approval_settings.py +4 -2
  391. pulumi_gcp/projects/iam_audit_config.py +23 -23
  392. pulumi_gcp/projects/iam_binding.py +23 -23
  393. pulumi_gcp/projects/iam_member.py +23 -23
  394. pulumi_gcp/projects/iam_policy.py +16 -16
  395. pulumi_gcp/projects/service.py +2 -43
  396. pulumi_gcp/pubsub/_inputs.py +16 -0
  397. pulumi_gcp/pubsub/outputs.py +25 -0
  398. pulumi_gcp/pubsub/schema.py +4 -2
  399. pulumi_gcp/pubsub/schema_iam_binding.py +12 -12
  400. pulumi_gcp/pubsub/schema_iam_member.py +12 -12
  401. pulumi_gcp/pubsub/schema_iam_policy.py +12 -12
  402. pulumi_gcp/pubsub/subscription.py +102 -66
  403. pulumi_gcp/pubsub/subscription_iam_binding.py +12 -12
  404. pulumi_gcp/pubsub/subscription_iam_member.py +12 -12
  405. pulumi_gcp/pubsub/subscription_iam_policy.py +12 -12
  406. pulumi_gcp/pubsub/topic.py +4 -2
  407. pulumi_gcp/pubsub/topic_iam_binding.py +12 -12
  408. pulumi_gcp/pubsub/topic_iam_member.py +12 -12
  409. pulumi_gcp/pubsub/topic_iam_policy.py +12 -12
  410. pulumi_gcp/pulumi-plugin.json +1 -1
  411. pulumi_gcp/redis/cluster.py +30 -28
  412. pulumi_gcp/redis/instance.py +4 -2
  413. pulumi_gcp/secretmanager/secret.py +4 -2
  414. pulumi_gcp/secretmanager/secret_iam_binding.py +12 -12
  415. pulumi_gcp/secretmanager/secret_iam_member.py +12 -12
  416. pulumi_gcp/secretmanager/secret_iam_policy.py +12 -12
  417. pulumi_gcp/securesourcemanager/instance.py +20 -8
  418. pulumi_gcp/securitycenter/instance_iam_binding.py +14 -12
  419. pulumi_gcp/securitycenter/instance_iam_member.py +14 -12
  420. pulumi_gcp/securitycenter/instance_iam_policy.py +14 -12
  421. pulumi_gcp/serviceaccount/key.py +2 -2
  422. pulumi_gcp/servicedirectory/namespace_iam_binding.py +8 -8
  423. pulumi_gcp/servicedirectory/namespace_iam_member.py +8 -8
  424. pulumi_gcp/servicedirectory/namespace_iam_policy.py +8 -8
  425. pulumi_gcp/servicedirectory/service_iam_binding.py +8 -8
  426. pulumi_gcp/servicedirectory/service_iam_member.py +8 -8
  427. pulumi_gcp/servicedirectory/service_iam_policy.py +8 -8
  428. pulumi_gcp/sourcerepo/repository_iam_binding.py +12 -12
  429. pulumi_gcp/sourcerepo/repository_iam_member.py +12 -12
  430. pulumi_gcp/sourcerepo/repository_iam_policy.py +12 -12
  431. pulumi_gcp/spanner/database_iam_binding.py +12 -12
  432. pulumi_gcp/spanner/database_iam_member.py +12 -12
  433. pulumi_gcp/spanner/database_iam_policy.py +12 -12
  434. pulumi_gcp/spanner/instance_iam_binding.py +12 -12
  435. pulumi_gcp/spanner/instance_iam_member.py +12 -12
  436. pulumi_gcp/spanner/instance_iam_policy.py +12 -12
  437. pulumi_gcp/sql/database_instance.py +4 -2
  438. pulumi_gcp/sql/user.py +4 -4
  439. pulumi_gcp/storage/_inputs.py +12 -10
  440. pulumi_gcp/storage/bucket.py +44 -0
  441. pulumi_gcp/storage/bucket_iam_binding.py +12 -12
  442. pulumi_gcp/storage/bucket_iam_member.py +12 -12
  443. pulumi_gcp/storage/bucket_iam_policy.py +12 -12
  444. pulumi_gcp/storage/get_project_service_account.py +4 -2
  445. pulumi_gcp/storage/insights_report_config.py +12 -10
  446. pulumi_gcp/storage/notification.py +18 -16
  447. pulumi_gcp/storage/outputs.py +12 -10
  448. pulumi_gcp/storage/transfer_agent_pool.py +4 -2
  449. pulumi_gcp/storage/transfer_job.py +14 -4
  450. pulumi_gcp/tags/tag_key_iam_binding.py +12 -12
  451. pulumi_gcp/tags/tag_key_iam_member.py +12 -12
  452. pulumi_gcp/tags/tag_key_iam_policy.py +12 -12
  453. pulumi_gcp/tags/tag_value_iam_binding.py +12 -12
  454. pulumi_gcp/tags/tag_value_iam_member.py +12 -12
  455. pulumi_gcp/tags/tag_value_iam_policy.py +12 -12
  456. pulumi_gcp/tpu/_inputs.py +2 -2
  457. pulumi_gcp/tpu/outputs.py +2 -2
  458. pulumi_gcp/tpu/v2_vm.py +10 -6
  459. pulumi_gcp/vertex/ai_endpoint.py +24 -22
  460. pulumi_gcp/vertex/ai_index_endpoint.py +20 -18
  461. pulumi_gcp/vertex/ai_tensorboard.py +14 -12
  462. pulumi_gcp/vmwareengine/external_address.py +4 -2
  463. pulumi_gcp/vmwareengine/network.py +8 -4
  464. {pulumi_gcp-7.24.0a1716510380.dist-info → pulumi_gcp-7.25.0.dist-info}/METADATA +1 -1
  465. {pulumi_gcp-7.24.0a1716510380.dist-info → pulumi_gcp-7.25.0.dist-info}/RECORD +467 -450
  466. {pulumi_gcp-7.24.0a1716510380.dist-info → pulumi_gcp-7.25.0.dist-info}/WHEEL +0 -0
  467. {pulumi_gcp-7.24.0a1716510380.dist-info → pulumi_gcp-7.25.0.dist-info}/top_level.txt +0 -0
@@ -1186,240 +1186,6 @@ class GlobalForwardingRule(pulumi.CustomResource):
1186
1186
 
1187
1187
  ## Example Usage
1188
1188
 
1189
- ### External Tcp Proxy Lb Mig Backend
1190
-
1191
- ```python
1192
- import pulumi
1193
- import pulumi_gcp as gcp
1194
-
1195
- # External TCP proxy load balancer with managed instance group backend
1196
- # VPC
1197
- default = gcp.compute.Network("default",
1198
- name="tcp-proxy-xlb-network",
1199
- auto_create_subnetworks=False)
1200
- # backend subnet
1201
- default_subnetwork = gcp.compute.Subnetwork("default",
1202
- name="tcp-proxy-xlb-subnet",
1203
- ip_cidr_range="10.0.1.0/24",
1204
- region="us-central1",
1205
- network=default.id)
1206
- # reserved IP address
1207
- default_global_address = gcp.compute.GlobalAddress("default", name="tcp-proxy-xlb-ip")
1208
- default_health_check = gcp.compute.HealthCheck("default",
1209
- name="tcp-proxy-health-check",
1210
- timeout_sec=1,
1211
- check_interval_sec=1,
1212
- tcp_health_check=gcp.compute.HealthCheckTcpHealthCheckArgs(
1213
- port=80,
1214
- ))
1215
- # instance template
1216
- default_instance_template = gcp.compute.InstanceTemplate("default",
1217
- network_interfaces=[gcp.compute.InstanceTemplateNetworkInterfaceArgs(
1218
- access_configs=[gcp.compute.InstanceTemplateNetworkInterfaceAccessConfigArgs()],
1219
- network=default.id,
1220
- subnetwork=default_subnetwork.id,
1221
- )],
1222
- name="tcp-proxy-xlb-mig-template",
1223
- machine_type="e2-small",
1224
- tags=["allow-health-check"],
1225
- disks=[gcp.compute.InstanceTemplateDiskArgs(
1226
- source_image="debian-cloud/debian-10",
1227
- auto_delete=True,
1228
- boot=True,
1229
- )],
1230
- metadata={
1231
- "startup-script": \"\"\"#! /bin/bash
1232
- set -euo pipefail
1233
- export DEBIAN_FRONTEND=noninteractive
1234
- apt-get update
1235
- apt-get install -y nginx-light jq
1236
- NAME=$(curl -H "Metadata-Flavor: Google" "http://metadata.google.internal/computeMetadata/v1/instance/hostname")
1237
- IP=$(curl -H "Metadata-Flavor: Google" "http://metadata.google.internal/computeMetadata/v1/instance/network-interfaces/0/ip")
1238
- METADATA=$(curl -f -H "Metadata-Flavor: Google" "http://metadata.google.internal/computeMetadata/v1/instance/attributes/?recursive=True" | jq 'del(.["startup-script"])')
1239
- cat <<EOF > /var/www/html/index.html
1240
- <pre>
1241
- Name: $NAME
1242
- IP: $IP
1243
- Metadata: $METADATA
1244
- </pre>
1245
- EOF
1246
- \"\"\",
1247
- })
1248
- # MIG
1249
- default_instance_group_manager = gcp.compute.InstanceGroupManager("default",
1250
- name="tcp-proxy-xlb-mig1",
1251
- zone="us-central1-c",
1252
- named_ports=[gcp.compute.InstanceGroupManagerNamedPortArgs(
1253
- name="tcp",
1254
- port=80,
1255
- )],
1256
- versions=[gcp.compute.InstanceGroupManagerVersionArgs(
1257
- instance_template=default_instance_template.id,
1258
- name="primary",
1259
- )],
1260
- base_instance_name="vm",
1261
- target_size=2)
1262
- # backend service
1263
- default_backend_service = gcp.compute.BackendService("default",
1264
- name="tcp-proxy-xlb-backend-service",
1265
- protocol="TCP",
1266
- port_name="tcp",
1267
- load_balancing_scheme="EXTERNAL",
1268
- timeout_sec=10,
1269
- health_checks=default_health_check.id,
1270
- backends=[gcp.compute.BackendServiceBackendArgs(
1271
- group=default_instance_group_manager.instance_group,
1272
- balancing_mode="UTILIZATION",
1273
- max_utilization=1,
1274
- capacity_scaler=1,
1275
- )])
1276
- default_target_tcp_proxy = gcp.compute.TargetTCPProxy("default",
1277
- name="test-proxy-health-check",
1278
- backend_service=default_backend_service.id)
1279
- # forwarding rule
1280
- default_global_forwarding_rule = gcp.compute.GlobalForwardingRule("default",
1281
- name="tcp-proxy-xlb-forwarding-rule",
1282
- ip_protocol="TCP",
1283
- load_balancing_scheme="EXTERNAL",
1284
- port_range="110",
1285
- target=default_target_tcp_proxy.id,
1286
- ip_address=default_global_address.id)
1287
- # allow access from health check ranges
1288
- default_firewall = gcp.compute.Firewall("default",
1289
- name="tcp-proxy-xlb-fw-allow-hc",
1290
- direction="INGRESS",
1291
- network=default.id,
1292
- source_ranges=[
1293
- "130.211.0.0/22",
1294
- "35.191.0.0/16",
1295
- ],
1296
- allows=[gcp.compute.FirewallAllowArgs(
1297
- protocol="tcp",
1298
- )],
1299
- target_tags=["allow-health-check"])
1300
- ```
1301
- ### External Http Lb Mig Backend Custom Header
1302
-
1303
- ```python
1304
- import pulumi
1305
- import pulumi_gcp as gcp
1306
-
1307
- # External HTTP load balancer with a CDN-enabled managed instance group backend
1308
- # and custom request and response headers
1309
- # VPC
1310
- default = gcp.compute.Network("default",
1311
- name="l7-xlb-network",
1312
- auto_create_subnetworks=False)
1313
- # backend subnet
1314
- default_subnetwork = gcp.compute.Subnetwork("default",
1315
- name="l7-xlb-subnet",
1316
- ip_cidr_range="10.0.1.0/24",
1317
- region="us-central1",
1318
- network=default.id)
1319
- # reserved IP address
1320
- default_global_address = gcp.compute.GlobalAddress("default", name="l7-xlb-static-ip")
1321
- # health check
1322
- default_health_check = gcp.compute.HealthCheck("default",
1323
- name="l7-xlb-hc",
1324
- http_health_check=gcp.compute.HealthCheckHttpHealthCheckArgs(
1325
- port_specification="USE_SERVING_PORT",
1326
- ))
1327
- # instance template
1328
- default_instance_template = gcp.compute.InstanceTemplate("default",
1329
- network_interfaces=[gcp.compute.InstanceTemplateNetworkInterfaceArgs(
1330
- access_configs=[gcp.compute.InstanceTemplateNetworkInterfaceAccessConfigArgs()],
1331
- network=default.id,
1332
- subnetwork=default_subnetwork.id,
1333
- )],
1334
- name="l7-xlb-mig-template",
1335
- machine_type="e2-small",
1336
- tags=["allow-health-check"],
1337
- disks=[gcp.compute.InstanceTemplateDiskArgs(
1338
- source_image="debian-cloud/debian-10",
1339
- auto_delete=True,
1340
- boot=True,
1341
- )],
1342
- metadata={
1343
- "startup-script": \"\"\"#! /bin/bash
1344
- set -euo pipefail
1345
-
1346
- export DEBIAN_FRONTEND=noninteractive
1347
- apt-get update
1348
- apt-get install -y nginx-light jq
1349
-
1350
- NAME=$(curl -H "Metadata-Flavor: Google" "http://metadata.google.internal/computeMetadata/v1/instance/hostname")
1351
- IP=$(curl -H "Metadata-Flavor: Google" "http://metadata.google.internal/computeMetadata/v1/instance/network-interfaces/0/ip")
1352
- METADATA=$(curl -f -H "Metadata-Flavor: Google" "http://metadata.google.internal/computeMetadata/v1/instance/attributes/?recursive=True" | jq 'del(.["startup-script"])')
1353
-
1354
- cat <<EOF > /var/www/html/index.html
1355
- <pre>
1356
- Name: $NAME
1357
- IP: $IP
1358
- Metadata: $METADATA
1359
- </pre>
1360
- EOF
1361
- \"\"\",
1362
- })
1363
- # MIG
1364
- default_instance_group_manager = gcp.compute.InstanceGroupManager("default",
1365
- name="l7-xlb-mig1",
1366
- zone="us-central1-c",
1367
- named_ports=[gcp.compute.InstanceGroupManagerNamedPortArgs(
1368
- name="http",
1369
- port=8080,
1370
- )],
1371
- versions=[gcp.compute.InstanceGroupManagerVersionArgs(
1372
- instance_template=default_instance_template.id,
1373
- name="primary",
1374
- )],
1375
- base_instance_name="vm",
1376
- target_size=2)
1377
- # backend service with custom request and response headers
1378
- default_backend_service = gcp.compute.BackendService("default",
1379
- name="l7-xlb-backend-service",
1380
- protocol="HTTP",
1381
- port_name="my-port",
1382
- load_balancing_scheme="EXTERNAL",
1383
- timeout_sec=10,
1384
- enable_cdn=True,
1385
- custom_request_headers=["X-Client-Geo-Location: {client_region_subdivision}, {client_city}"],
1386
- custom_response_headers=["X-Cache-Hit: {cdn_cache_status}"],
1387
- health_checks=default_health_check.id,
1388
- backends=[gcp.compute.BackendServiceBackendArgs(
1389
- group=default_instance_group_manager.instance_group,
1390
- balancing_mode="UTILIZATION",
1391
- capacity_scaler=1,
1392
- )])
1393
- # url map
1394
- default_url_map = gcp.compute.URLMap("default",
1395
- name="l7-xlb-url-map",
1396
- default_service=default_backend_service.id)
1397
- # http proxy
1398
- default_target_http_proxy = gcp.compute.TargetHttpProxy("default",
1399
- name="l7-xlb-target-http-proxy",
1400
- url_map=default_url_map.id)
1401
- # forwarding rule
1402
- default_global_forwarding_rule = gcp.compute.GlobalForwardingRule("default",
1403
- name="l7-xlb-forwarding-rule",
1404
- ip_protocol="TCP",
1405
- load_balancing_scheme="EXTERNAL",
1406
- port_range="80",
1407
- target=default_target_http_proxy.id,
1408
- ip_address=default_global_address.id)
1409
- # allow access from health check ranges
1410
- default_firewall = gcp.compute.Firewall("default",
1411
- name="l7-xlb-fw-allow-hc",
1412
- direction="INGRESS",
1413
- network=default.id,
1414
- source_ranges=[
1415
- "130.211.0.0/22",
1416
- "35.191.0.0/16",
1417
- ],
1418
- allows=[gcp.compute.FirewallAllowArgs(
1419
- protocol="tcp",
1420
- )],
1421
- target_tags=["allow-health-check"])
1422
- ```
1423
1189
  ### Global Forwarding Rule Http
1424
1190
 
1425
1191
  ```python
@@ -1689,155 +1455,6 @@ class GlobalForwardingRule(pulumi.CustomResource):
1689
1455
  target=default_target_http_proxy.id,
1690
1456
  port_range="80")
1691
1457
  ```
1692
- ### Global Internal Http Lb With Mig Backend
1693
-
1694
- ```python
1695
- import pulumi
1696
- import pulumi_gcp as gcp
1697
-
1698
- # Global Internal HTTP load balancer with a managed instance group backend
1699
- # VPC network
1700
- gilb_network = gcp.compute.Network("gilb_network",
1701
- name="l7-gilb-network",
1702
- auto_create_subnetworks=False)
1703
- # proxy-only subnet
1704
- proxy_subnet = gcp.compute.Subnetwork("proxy_subnet",
1705
- name="l7-gilb-proxy-subnet",
1706
- ip_cidr_range="10.0.0.0/24",
1707
- region="europe-west1",
1708
- purpose="GLOBAL_MANAGED_PROXY",
1709
- role="ACTIVE",
1710
- network=gilb_network.id)
1711
- # backend subnet
1712
- gilb_subnet = gcp.compute.Subnetwork("gilb_subnet",
1713
- name="l7-gilb-subnet",
1714
- ip_cidr_range="10.0.1.0/24",
1715
- region="europe-west1",
1716
- network=gilb_network.id)
1717
- # health check
1718
- default_health_check = gcp.compute.HealthCheck("default",
1719
- name="l7-gilb-hc",
1720
- http_health_check=gcp.compute.HealthCheckHttpHealthCheckArgs(
1721
- port_specification="USE_SERVING_PORT",
1722
- ))
1723
- # instance template
1724
- instance_template = gcp.compute.InstanceTemplate("instance_template",
1725
- network_interfaces=[gcp.compute.InstanceTemplateNetworkInterfaceArgs(
1726
- access_configs=[gcp.compute.InstanceTemplateNetworkInterfaceAccessConfigArgs()],
1727
- network=gilb_network.id,
1728
- subnetwork=gilb_subnet.id,
1729
- )],
1730
- name="l7-gilb-mig-template",
1731
- machine_type="e2-small",
1732
- tags=["http-server"],
1733
- disks=[gcp.compute.InstanceTemplateDiskArgs(
1734
- source_image="debian-cloud/debian-10",
1735
- auto_delete=True,
1736
- boot=True,
1737
- )],
1738
- metadata={
1739
- "startup-script": \"\"\"#! /bin/bash
1740
- set -euo pipefail
1741
-
1742
- export DEBIAN_FRONTEND=noninteractive
1743
- apt-get update
1744
- apt-get install -y nginx-light jq
1745
-
1746
- NAME=$(curl -H "Metadata-Flavor: Google" "http://metadata.google.internal/computeMetadata/v1/instance/hostname")
1747
- IP=$(curl -H "Metadata-Flavor: Google" "http://metadata.google.internal/computeMetadata/v1/instance/network-interfaces/0/ip")
1748
- METADATA=$(curl -f -H "Metadata-Flavor: Google" "http://metadata.google.internal/computeMetadata/v1/instance/attributes/?recursive=True" | jq 'del(.["startup-script"])')
1749
-
1750
- cat <<EOF > /var/www/html/index.html
1751
- <pre>
1752
- Name: $NAME
1753
- IP: $IP
1754
- Metadata: $METADATA
1755
- </pre>
1756
- EOF
1757
- \"\"\",
1758
- })
1759
- # MIG
1760
- mig = gcp.compute.InstanceGroupManager("mig",
1761
- name="l7-gilb-mig1",
1762
- zone="europe-west1-b",
1763
- versions=[gcp.compute.InstanceGroupManagerVersionArgs(
1764
- instance_template=instance_template.id,
1765
- name="primary",
1766
- )],
1767
- base_instance_name="vm",
1768
- target_size=2)
1769
- # backend service
1770
- default_backend_service = gcp.compute.BackendService("default",
1771
- name="l7-gilb-backend-subnet",
1772
- protocol="HTTP",
1773
- load_balancing_scheme="INTERNAL_MANAGED",
1774
- timeout_sec=10,
1775
- health_checks=default_health_check.id,
1776
- backends=[gcp.compute.BackendServiceBackendArgs(
1777
- group=mig.instance_group,
1778
- balancing_mode="UTILIZATION",
1779
- capacity_scaler=1,
1780
- )])
1781
- # URL map
1782
- default_url_map = gcp.compute.URLMap("default",
1783
- name="l7-gilb-url-map",
1784
- default_service=default_backend_service.id)
1785
- # HTTP target proxy
1786
- default = gcp.compute.TargetHttpProxy("default",
1787
- name="l7-gilb-target-http-proxy",
1788
- url_map=default_url_map.id)
1789
- # forwarding rule
1790
- google_compute_forwarding_rule = gcp.compute.GlobalForwardingRule("google_compute_forwarding_rule",
1791
- name="l7-gilb-forwarding-rule",
1792
- ip_protocol="TCP",
1793
- load_balancing_scheme="INTERNAL_MANAGED",
1794
- port_range="80",
1795
- target=default.id,
1796
- network=gilb_network.id,
1797
- subnetwork=gilb_subnet.id)
1798
- # allow all access from IAP and health check ranges
1799
- fw_iap = gcp.compute.Firewall("fw-iap",
1800
- name="l7-gilb-fw-allow-iap-hc",
1801
- direction="INGRESS",
1802
- network=gilb_network.id,
1803
- source_ranges=[
1804
- "130.211.0.0/22",
1805
- "35.191.0.0/16",
1806
- "35.235.240.0/20",
1807
- ],
1808
- allows=[gcp.compute.FirewallAllowArgs(
1809
- protocol="tcp",
1810
- )])
1811
- # allow http from proxy subnet to backends
1812
- fw_gilb_to_backends = gcp.compute.Firewall("fw-gilb-to-backends",
1813
- name="l7-gilb-fw-allow-gilb-to-backends",
1814
- direction="INGRESS",
1815
- network=gilb_network.id,
1816
- source_ranges=["10.0.0.0/24"],
1817
- target_tags=["http-server"],
1818
- allows=[gcp.compute.FirewallAllowArgs(
1819
- protocol="tcp",
1820
- ports=[
1821
- "80",
1822
- "443",
1823
- "8080",
1824
- ],
1825
- )])
1826
- # test instance
1827
- vm_test = gcp.compute.Instance("vm-test",
1828
- name="l7-gilb-test-vm",
1829
- zone="europe-west1-b",
1830
- machine_type="e2-small",
1831
- network_interfaces=[gcp.compute.InstanceNetworkInterfaceArgs(
1832
- network=gilb_network.id,
1833
- subnetwork=gilb_subnet.id,
1834
- )],
1835
- boot_disk=gcp.compute.InstanceBootDiskArgs(
1836
- initialize_params=gcp.compute.InstanceBootDiskInitializeParamsArgs(
1837
- image="debian-cloud/debian-10",
1838
- ),
1839
- ))
1840
- ```
1841
1458
  ### Private Service Connect Google Apis
1842
1459
 
1843
1460
  ```python
@@ -2085,240 +1702,6 @@ class GlobalForwardingRule(pulumi.CustomResource):
2085
1702
 
2086
1703
  ## Example Usage
2087
1704
 
2088
- ### External Tcp Proxy Lb Mig Backend
2089
-
2090
- ```python
2091
- import pulumi
2092
- import pulumi_gcp as gcp
2093
-
2094
- # External TCP proxy load balancer with managed instance group backend
2095
- # VPC
2096
- default = gcp.compute.Network("default",
2097
- name="tcp-proxy-xlb-network",
2098
- auto_create_subnetworks=False)
2099
- # backend subnet
2100
- default_subnetwork = gcp.compute.Subnetwork("default",
2101
- name="tcp-proxy-xlb-subnet",
2102
- ip_cidr_range="10.0.1.0/24",
2103
- region="us-central1",
2104
- network=default.id)
2105
- # reserved IP address
2106
- default_global_address = gcp.compute.GlobalAddress("default", name="tcp-proxy-xlb-ip")
2107
- default_health_check = gcp.compute.HealthCheck("default",
2108
- name="tcp-proxy-health-check",
2109
- timeout_sec=1,
2110
- check_interval_sec=1,
2111
- tcp_health_check=gcp.compute.HealthCheckTcpHealthCheckArgs(
2112
- port=80,
2113
- ))
2114
- # instance template
2115
- default_instance_template = gcp.compute.InstanceTemplate("default",
2116
- network_interfaces=[gcp.compute.InstanceTemplateNetworkInterfaceArgs(
2117
- access_configs=[gcp.compute.InstanceTemplateNetworkInterfaceAccessConfigArgs()],
2118
- network=default.id,
2119
- subnetwork=default_subnetwork.id,
2120
- )],
2121
- name="tcp-proxy-xlb-mig-template",
2122
- machine_type="e2-small",
2123
- tags=["allow-health-check"],
2124
- disks=[gcp.compute.InstanceTemplateDiskArgs(
2125
- source_image="debian-cloud/debian-10",
2126
- auto_delete=True,
2127
- boot=True,
2128
- )],
2129
- metadata={
2130
- "startup-script": \"\"\"#! /bin/bash
2131
- set -euo pipefail
2132
- export DEBIAN_FRONTEND=noninteractive
2133
- apt-get update
2134
- apt-get install -y nginx-light jq
2135
- NAME=$(curl -H "Metadata-Flavor: Google" "http://metadata.google.internal/computeMetadata/v1/instance/hostname")
2136
- IP=$(curl -H "Metadata-Flavor: Google" "http://metadata.google.internal/computeMetadata/v1/instance/network-interfaces/0/ip")
2137
- METADATA=$(curl -f -H "Metadata-Flavor: Google" "http://metadata.google.internal/computeMetadata/v1/instance/attributes/?recursive=True" | jq 'del(.["startup-script"])')
2138
- cat <<EOF > /var/www/html/index.html
2139
- <pre>
2140
- Name: $NAME
2141
- IP: $IP
2142
- Metadata: $METADATA
2143
- </pre>
2144
- EOF
2145
- \"\"\",
2146
- })
2147
- # MIG
2148
- default_instance_group_manager = gcp.compute.InstanceGroupManager("default",
2149
- name="tcp-proxy-xlb-mig1",
2150
- zone="us-central1-c",
2151
- named_ports=[gcp.compute.InstanceGroupManagerNamedPortArgs(
2152
- name="tcp",
2153
- port=80,
2154
- )],
2155
- versions=[gcp.compute.InstanceGroupManagerVersionArgs(
2156
- instance_template=default_instance_template.id,
2157
- name="primary",
2158
- )],
2159
- base_instance_name="vm",
2160
- target_size=2)
2161
- # backend service
2162
- default_backend_service = gcp.compute.BackendService("default",
2163
- name="tcp-proxy-xlb-backend-service",
2164
- protocol="TCP",
2165
- port_name="tcp",
2166
- load_balancing_scheme="EXTERNAL",
2167
- timeout_sec=10,
2168
- health_checks=default_health_check.id,
2169
- backends=[gcp.compute.BackendServiceBackendArgs(
2170
- group=default_instance_group_manager.instance_group,
2171
- balancing_mode="UTILIZATION",
2172
- max_utilization=1,
2173
- capacity_scaler=1,
2174
- )])
2175
- default_target_tcp_proxy = gcp.compute.TargetTCPProxy("default",
2176
- name="test-proxy-health-check",
2177
- backend_service=default_backend_service.id)
2178
- # forwarding rule
2179
- default_global_forwarding_rule = gcp.compute.GlobalForwardingRule("default",
2180
- name="tcp-proxy-xlb-forwarding-rule",
2181
- ip_protocol="TCP",
2182
- load_balancing_scheme="EXTERNAL",
2183
- port_range="110",
2184
- target=default_target_tcp_proxy.id,
2185
- ip_address=default_global_address.id)
2186
- # allow access from health check ranges
2187
- default_firewall = gcp.compute.Firewall("default",
2188
- name="tcp-proxy-xlb-fw-allow-hc",
2189
- direction="INGRESS",
2190
- network=default.id,
2191
- source_ranges=[
2192
- "130.211.0.0/22",
2193
- "35.191.0.0/16",
2194
- ],
2195
- allows=[gcp.compute.FirewallAllowArgs(
2196
- protocol="tcp",
2197
- )],
2198
- target_tags=["allow-health-check"])
2199
- ```
2200
- ### External Http Lb Mig Backend Custom Header
2201
-
2202
- ```python
2203
- import pulumi
2204
- import pulumi_gcp as gcp
2205
-
2206
- # External HTTP load balancer with a CDN-enabled managed instance group backend
2207
- # and custom request and response headers
2208
- # VPC
2209
- default = gcp.compute.Network("default",
2210
- name="l7-xlb-network",
2211
- auto_create_subnetworks=False)
2212
- # backend subnet
2213
- default_subnetwork = gcp.compute.Subnetwork("default",
2214
- name="l7-xlb-subnet",
2215
- ip_cidr_range="10.0.1.0/24",
2216
- region="us-central1",
2217
- network=default.id)
2218
- # reserved IP address
2219
- default_global_address = gcp.compute.GlobalAddress("default", name="l7-xlb-static-ip")
2220
- # health check
2221
- default_health_check = gcp.compute.HealthCheck("default",
2222
- name="l7-xlb-hc",
2223
- http_health_check=gcp.compute.HealthCheckHttpHealthCheckArgs(
2224
- port_specification="USE_SERVING_PORT",
2225
- ))
2226
- # instance template
2227
- default_instance_template = gcp.compute.InstanceTemplate("default",
2228
- network_interfaces=[gcp.compute.InstanceTemplateNetworkInterfaceArgs(
2229
- access_configs=[gcp.compute.InstanceTemplateNetworkInterfaceAccessConfigArgs()],
2230
- network=default.id,
2231
- subnetwork=default_subnetwork.id,
2232
- )],
2233
- name="l7-xlb-mig-template",
2234
- machine_type="e2-small",
2235
- tags=["allow-health-check"],
2236
- disks=[gcp.compute.InstanceTemplateDiskArgs(
2237
- source_image="debian-cloud/debian-10",
2238
- auto_delete=True,
2239
- boot=True,
2240
- )],
2241
- metadata={
2242
- "startup-script": \"\"\"#! /bin/bash
2243
- set -euo pipefail
2244
-
2245
- export DEBIAN_FRONTEND=noninteractive
2246
- apt-get update
2247
- apt-get install -y nginx-light jq
2248
-
2249
- NAME=$(curl -H "Metadata-Flavor: Google" "http://metadata.google.internal/computeMetadata/v1/instance/hostname")
2250
- IP=$(curl -H "Metadata-Flavor: Google" "http://metadata.google.internal/computeMetadata/v1/instance/network-interfaces/0/ip")
2251
- METADATA=$(curl -f -H "Metadata-Flavor: Google" "http://metadata.google.internal/computeMetadata/v1/instance/attributes/?recursive=True" | jq 'del(.["startup-script"])')
2252
-
2253
- cat <<EOF > /var/www/html/index.html
2254
- <pre>
2255
- Name: $NAME
2256
- IP: $IP
2257
- Metadata: $METADATA
2258
- </pre>
2259
- EOF
2260
- \"\"\",
2261
- })
2262
- # MIG
2263
- default_instance_group_manager = gcp.compute.InstanceGroupManager("default",
2264
- name="l7-xlb-mig1",
2265
- zone="us-central1-c",
2266
- named_ports=[gcp.compute.InstanceGroupManagerNamedPortArgs(
2267
- name="http",
2268
- port=8080,
2269
- )],
2270
- versions=[gcp.compute.InstanceGroupManagerVersionArgs(
2271
- instance_template=default_instance_template.id,
2272
- name="primary",
2273
- )],
2274
- base_instance_name="vm",
2275
- target_size=2)
2276
- # backend service with custom request and response headers
2277
- default_backend_service = gcp.compute.BackendService("default",
2278
- name="l7-xlb-backend-service",
2279
- protocol="HTTP",
2280
- port_name="my-port",
2281
- load_balancing_scheme="EXTERNAL",
2282
- timeout_sec=10,
2283
- enable_cdn=True,
2284
- custom_request_headers=["X-Client-Geo-Location: {client_region_subdivision}, {client_city}"],
2285
- custom_response_headers=["X-Cache-Hit: {cdn_cache_status}"],
2286
- health_checks=default_health_check.id,
2287
- backends=[gcp.compute.BackendServiceBackendArgs(
2288
- group=default_instance_group_manager.instance_group,
2289
- balancing_mode="UTILIZATION",
2290
- capacity_scaler=1,
2291
- )])
2292
- # url map
2293
- default_url_map = gcp.compute.URLMap("default",
2294
- name="l7-xlb-url-map",
2295
- default_service=default_backend_service.id)
2296
- # http proxy
2297
- default_target_http_proxy = gcp.compute.TargetHttpProxy("default",
2298
- name="l7-xlb-target-http-proxy",
2299
- url_map=default_url_map.id)
2300
- # forwarding rule
2301
- default_global_forwarding_rule = gcp.compute.GlobalForwardingRule("default",
2302
- name="l7-xlb-forwarding-rule",
2303
- ip_protocol="TCP",
2304
- load_balancing_scheme="EXTERNAL",
2305
- port_range="80",
2306
- target=default_target_http_proxy.id,
2307
- ip_address=default_global_address.id)
2308
- # allow access from health check ranges
2309
- default_firewall = gcp.compute.Firewall("default",
2310
- name="l7-xlb-fw-allow-hc",
2311
- direction="INGRESS",
2312
- network=default.id,
2313
- source_ranges=[
2314
- "130.211.0.0/22",
2315
- "35.191.0.0/16",
2316
- ],
2317
- allows=[gcp.compute.FirewallAllowArgs(
2318
- protocol="tcp",
2319
- )],
2320
- target_tags=["allow-health-check"])
2321
- ```
2322
1705
  ### Global Forwarding Rule Http
2323
1706
 
2324
1707
  ```python
@@ -2588,155 +1971,6 @@ class GlobalForwardingRule(pulumi.CustomResource):
2588
1971
  target=default_target_http_proxy.id,
2589
1972
  port_range="80")
2590
1973
  ```
2591
- ### Global Internal Http Lb With Mig Backend
2592
-
2593
- ```python
2594
- import pulumi
2595
- import pulumi_gcp as gcp
2596
-
2597
- # Global Internal HTTP load balancer with a managed instance group backend
2598
- # VPC network
2599
- gilb_network = gcp.compute.Network("gilb_network",
2600
- name="l7-gilb-network",
2601
- auto_create_subnetworks=False)
2602
- # proxy-only subnet
2603
- proxy_subnet = gcp.compute.Subnetwork("proxy_subnet",
2604
- name="l7-gilb-proxy-subnet",
2605
- ip_cidr_range="10.0.0.0/24",
2606
- region="europe-west1",
2607
- purpose="GLOBAL_MANAGED_PROXY",
2608
- role="ACTIVE",
2609
- network=gilb_network.id)
2610
- # backend subnet
2611
- gilb_subnet = gcp.compute.Subnetwork("gilb_subnet",
2612
- name="l7-gilb-subnet",
2613
- ip_cidr_range="10.0.1.0/24",
2614
- region="europe-west1",
2615
- network=gilb_network.id)
2616
- # health check
2617
- default_health_check = gcp.compute.HealthCheck("default",
2618
- name="l7-gilb-hc",
2619
- http_health_check=gcp.compute.HealthCheckHttpHealthCheckArgs(
2620
- port_specification="USE_SERVING_PORT",
2621
- ))
2622
- # instance template
2623
- instance_template = gcp.compute.InstanceTemplate("instance_template",
2624
- network_interfaces=[gcp.compute.InstanceTemplateNetworkInterfaceArgs(
2625
- access_configs=[gcp.compute.InstanceTemplateNetworkInterfaceAccessConfigArgs()],
2626
- network=gilb_network.id,
2627
- subnetwork=gilb_subnet.id,
2628
- )],
2629
- name="l7-gilb-mig-template",
2630
- machine_type="e2-small",
2631
- tags=["http-server"],
2632
- disks=[gcp.compute.InstanceTemplateDiskArgs(
2633
- source_image="debian-cloud/debian-10",
2634
- auto_delete=True,
2635
- boot=True,
2636
- )],
2637
- metadata={
2638
- "startup-script": \"\"\"#! /bin/bash
2639
- set -euo pipefail
2640
-
2641
- export DEBIAN_FRONTEND=noninteractive
2642
- apt-get update
2643
- apt-get install -y nginx-light jq
2644
-
2645
- NAME=$(curl -H "Metadata-Flavor: Google" "http://metadata.google.internal/computeMetadata/v1/instance/hostname")
2646
- IP=$(curl -H "Metadata-Flavor: Google" "http://metadata.google.internal/computeMetadata/v1/instance/network-interfaces/0/ip")
2647
- METADATA=$(curl -f -H "Metadata-Flavor: Google" "http://metadata.google.internal/computeMetadata/v1/instance/attributes/?recursive=True" | jq 'del(.["startup-script"])')
2648
-
2649
- cat <<EOF > /var/www/html/index.html
2650
- <pre>
2651
- Name: $NAME
2652
- IP: $IP
2653
- Metadata: $METADATA
2654
- </pre>
2655
- EOF
2656
- \"\"\",
2657
- })
2658
- # MIG
2659
- mig = gcp.compute.InstanceGroupManager("mig",
2660
- name="l7-gilb-mig1",
2661
- zone="europe-west1-b",
2662
- versions=[gcp.compute.InstanceGroupManagerVersionArgs(
2663
- instance_template=instance_template.id,
2664
- name="primary",
2665
- )],
2666
- base_instance_name="vm",
2667
- target_size=2)
2668
- # backend service
2669
- default_backend_service = gcp.compute.BackendService("default",
2670
- name="l7-gilb-backend-subnet",
2671
- protocol="HTTP",
2672
- load_balancing_scheme="INTERNAL_MANAGED",
2673
- timeout_sec=10,
2674
- health_checks=default_health_check.id,
2675
- backends=[gcp.compute.BackendServiceBackendArgs(
2676
- group=mig.instance_group,
2677
- balancing_mode="UTILIZATION",
2678
- capacity_scaler=1,
2679
- )])
2680
- # URL map
2681
- default_url_map = gcp.compute.URLMap("default",
2682
- name="l7-gilb-url-map",
2683
- default_service=default_backend_service.id)
2684
- # HTTP target proxy
2685
- default = gcp.compute.TargetHttpProxy("default",
2686
- name="l7-gilb-target-http-proxy",
2687
- url_map=default_url_map.id)
2688
- # forwarding rule
2689
- google_compute_forwarding_rule = gcp.compute.GlobalForwardingRule("google_compute_forwarding_rule",
2690
- name="l7-gilb-forwarding-rule",
2691
- ip_protocol="TCP",
2692
- load_balancing_scheme="INTERNAL_MANAGED",
2693
- port_range="80",
2694
- target=default.id,
2695
- network=gilb_network.id,
2696
- subnetwork=gilb_subnet.id)
2697
- # allow all access from IAP and health check ranges
2698
- fw_iap = gcp.compute.Firewall("fw-iap",
2699
- name="l7-gilb-fw-allow-iap-hc",
2700
- direction="INGRESS",
2701
- network=gilb_network.id,
2702
- source_ranges=[
2703
- "130.211.0.0/22",
2704
- "35.191.0.0/16",
2705
- "35.235.240.0/20",
2706
- ],
2707
- allows=[gcp.compute.FirewallAllowArgs(
2708
- protocol="tcp",
2709
- )])
2710
- # allow http from proxy subnet to backends
2711
- fw_gilb_to_backends = gcp.compute.Firewall("fw-gilb-to-backends",
2712
- name="l7-gilb-fw-allow-gilb-to-backends",
2713
- direction="INGRESS",
2714
- network=gilb_network.id,
2715
- source_ranges=["10.0.0.0/24"],
2716
- target_tags=["http-server"],
2717
- allows=[gcp.compute.FirewallAllowArgs(
2718
- protocol="tcp",
2719
- ports=[
2720
- "80",
2721
- "443",
2722
- "8080",
2723
- ],
2724
- )])
2725
- # test instance
2726
- vm_test = gcp.compute.Instance("vm-test",
2727
- name="l7-gilb-test-vm",
2728
- zone="europe-west1-b",
2729
- machine_type="e2-small",
2730
- network_interfaces=[gcp.compute.InstanceNetworkInterfaceArgs(
2731
- network=gilb_network.id,
2732
- subnetwork=gilb_subnet.id,
2733
- )],
2734
- boot_disk=gcp.compute.InstanceBootDiskArgs(
2735
- initialize_params=gcp.compute.InstanceBootDiskInitializeParamsArgs(
2736
- image="debian-cloud/debian-10",
2737
- ),
2738
- ))
2739
- ```
2740
1974
  ### Private Service Connect Google Apis
2741
1975
 
2742
1976
  ```python