pulumi-gcp 7.0.0rc0__py3-none-any.whl → 7.1.0__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
Files changed (678) hide show
  1. pulumi_gcp/__init__.py +118 -0
  2. pulumi_gcp/accesscontextmanager/_inputs.py +546 -71
  3. pulumi_gcp/accesscontextmanager/access_level.py +18 -2
  4. pulumi_gcp/accesscontextmanager/access_level_condition.py +57 -3
  5. pulumi_gcp/accesscontextmanager/access_levels.py +18 -2
  6. pulumi_gcp/accesscontextmanager/access_policy.py +18 -2
  7. pulumi_gcp/accesscontextmanager/authorized_orgs_desc.py +18 -2
  8. pulumi_gcp/accesscontextmanager/egress_policy.py +18 -2
  9. pulumi_gcp/accesscontextmanager/gcp_user_access_binding.py +18 -2
  10. pulumi_gcp/accesscontextmanager/ingress_policy.py +18 -2
  11. pulumi_gcp/accesscontextmanager/outputs.py +643 -71
  12. pulumi_gcp/accesscontextmanager/service_perimeter.py +18 -2
  13. pulumi_gcp/accesscontextmanager/service_perimeter_egress_policy.py +18 -2
  14. pulumi_gcp/accesscontextmanager/service_perimeter_ingress_policy.py +18 -2
  15. pulumi_gcp/accesscontextmanager/service_perimeter_resource.py +18 -2
  16. pulumi_gcp/accesscontextmanager/service_perimeters.py +18 -2
  17. pulumi_gcp/activedirectory/domain.py +22 -10
  18. pulumi_gcp/activedirectory/domain_trust.py +18 -2
  19. pulumi_gcp/activedirectory/peering.py +4 -8
  20. pulumi_gcp/alloydb/__init__.py +1 -0
  21. pulumi_gcp/alloydb/_inputs.py +93 -0
  22. pulumi_gcp/alloydb/backup.py +22 -10
  23. pulumi_gcp/alloydb/cluster.py +283 -11
  24. pulumi_gcp/alloydb/instance.py +241 -40
  25. pulumi_gcp/alloydb/outputs.py +130 -0
  26. pulumi_gcp/alloydb/user.py +609 -0
  27. pulumi_gcp/apigateway/api.py +22 -10
  28. pulumi_gcp/apigateway/api_config.py +22 -10
  29. pulumi_gcp/apigateway/gateway.py +22 -10
  30. pulumi_gcp/apigee/addons_config.py +18 -2
  31. pulumi_gcp/apigee/endpoint_attachment.py +18 -2
  32. pulumi_gcp/apigee/env_group.py +18 -2
  33. pulumi_gcp/apigee/env_group_attachment.py +18 -2
  34. pulumi_gcp/apigee/env_keystore.py +18 -2
  35. pulumi_gcp/apigee/env_references.py +18 -2
  36. pulumi_gcp/apigee/environment.py +96 -5
  37. pulumi_gcp/apigee/flowhook.py +18 -2
  38. pulumi_gcp/apigee/instance.py +18 -2
  39. pulumi_gcp/apigee/instance_attachment.py +18 -2
  40. pulumi_gcp/apigee/keystores_aliases_key_cert_file.py +18 -2
  41. pulumi_gcp/apigee/keystores_aliases_pkcs12.py +18 -2
  42. pulumi_gcp/apigee/keystores_aliases_self_signed_cert.py +18 -2
  43. pulumi_gcp/apigee/nat_address.py +18 -2
  44. pulumi_gcp/apigee/organization.py +18 -2
  45. pulumi_gcp/apigee/sharedflow.py +18 -2
  46. pulumi_gcp/apigee/sharedflow_deployment.py +18 -2
  47. pulumi_gcp/apigee/sync_authorization.py +18 -2
  48. pulumi_gcp/apigee/target_server.py +18 -2
  49. pulumi_gcp/appengine/application.py +20 -4
  50. pulumi_gcp/appengine/application_url_dispatch_rules.py +18 -2
  51. pulumi_gcp/appengine/domain_mapping.py +18 -2
  52. pulumi_gcp/appengine/engine_split_traffic.py +18 -2
  53. pulumi_gcp/appengine/firewall_rule.py +18 -2
  54. pulumi_gcp/appengine/flexible_app_version.py +18 -2
  55. pulumi_gcp/appengine/service_network_settings.py +18 -2
  56. pulumi_gcp/appengine/standard_app_version.py +18 -2
  57. pulumi_gcp/artifactregistry/_inputs.py +4 -4
  58. pulumi_gcp/artifactregistry/outputs.py +4 -4
  59. pulumi_gcp/artifactregistry/repository.py +24 -12
  60. pulumi_gcp/artifactregistry/vpcsc_config.py +18 -2
  61. pulumi_gcp/assuredworkloads/_inputs.py +178 -4
  62. pulumi_gcp/assuredworkloads/outputs.py +217 -5
  63. pulumi_gcp/assuredworkloads/workload.py +474 -63
  64. pulumi_gcp/backupdisasterrecovery/__init__.py +1 -0
  65. pulumi_gcp/backupdisasterrecovery/get_management_server.py +152 -0
  66. pulumi_gcp/backupdisasterrecovery/management_server.py +18 -2
  67. pulumi_gcp/backupdisasterrecovery/outputs.py +40 -0
  68. pulumi_gcp/beyondcorp/app_connection.py +22 -10
  69. pulumi_gcp/beyondcorp/app_connector.py +22 -10
  70. pulumi_gcp/beyondcorp/app_gateway.py +22 -10
  71. pulumi_gcp/biglake/catalog.py +18 -2
  72. pulumi_gcp/biglake/database.py +18 -2
  73. pulumi_gcp/biglake/table.py +18 -2
  74. pulumi_gcp/bigquery/__init__.py +1 -0
  75. pulumi_gcp/bigquery/_inputs.py +94 -8
  76. pulumi_gcp/bigquery/app_profile.py +18 -2
  77. pulumi_gcp/bigquery/bi_reservation.py +18 -2
  78. pulumi_gcp/bigquery/capacity_commitment.py +25 -9
  79. pulumi_gcp/bigquery/connection.py +56 -2
  80. pulumi_gcp/bigquery/data_transfer_config.py +18 -2
  81. pulumi_gcp/bigquery/dataset.py +22 -10
  82. pulumi_gcp/bigquery/dataset_iam_binding.py +10 -38
  83. pulumi_gcp/bigquery/dataset_iam_member.py +10 -38
  84. pulumi_gcp/bigquery/dataset_iam_policy.py +10 -38
  85. pulumi_gcp/bigquery/get_dataset.py +315 -0
  86. pulumi_gcp/bigquery/job.py +26 -10
  87. pulumi_gcp/bigquery/outputs.py +275 -9
  88. pulumi_gcp/bigquery/reservation.py +18 -2
  89. pulumi_gcp/bigquery/reservation_assignment.py +18 -2
  90. pulumi_gcp/bigquery/routine.py +18 -2
  91. pulumi_gcp/bigquery/table.py +171 -17
  92. pulumi_gcp/bigqueryanalyticshub/data_exchange.py +18 -2
  93. pulumi_gcp/bigqueryanalyticshub/listing.py +18 -2
  94. pulumi_gcp/bigquerydatapolicy/data_policy.py +18 -2
  95. pulumi_gcp/bigtable/instance.py +30 -10
  96. pulumi_gcp/bigtable/instance_iam_binding.py +12 -20
  97. pulumi_gcp/bigtable/instance_iam_member.py +12 -20
  98. pulumi_gcp/bigtable/instance_iam_policy.py +12 -20
  99. pulumi_gcp/bigtable/table.py +18 -6
  100. pulumi_gcp/bigtable/table_iam_binding.py +12 -20
  101. pulumi_gcp/bigtable/table_iam_member.py +12 -20
  102. pulumi_gcp/bigtable/table_iam_policy.py +12 -20
  103. pulumi_gcp/billing/account_iam_binding.py +12 -20
  104. pulumi_gcp/billing/account_iam_member.py +12 -20
  105. pulumi_gcp/billing/account_iam_policy.py +12 -20
  106. pulumi_gcp/billing/budget.py +18 -2
  107. pulumi_gcp/billing/project_info.py +18 -2
  108. pulumi_gcp/billing/sub_account.py +18 -2
  109. pulumi_gcp/binaryauthorization/attestor.py +18 -2
  110. pulumi_gcp/binaryauthorization/policy.py +18 -2
  111. pulumi_gcp/certificateauthority/authority.py +22 -10
  112. pulumi_gcp/certificateauthority/ca_pool.py +22 -10
  113. pulumi_gcp/certificateauthority/certificate.py +22 -10
  114. pulumi_gcp/certificateauthority/certificate_template.py +22 -10
  115. pulumi_gcp/certificatemanager/certificate.py +223 -31
  116. pulumi_gcp/certificatemanager/certificate_issuance_config.py +22 -10
  117. pulumi_gcp/certificatemanager/certificate_map.py +22 -10
  118. pulumi_gcp/certificatemanager/certificate_map_entry.py +22 -10
  119. pulumi_gcp/certificatemanager/dns_authorization.py +22 -10
  120. pulumi_gcp/certificatemanager/trust_config.py +22 -10
  121. pulumi_gcp/cloudasset/folder_feed.py +18 -2
  122. pulumi_gcp/cloudasset/organization_feed.py +18 -2
  123. pulumi_gcp/cloudasset/project_feed.py +18 -2
  124. pulumi_gcp/cloudbuild/bitbucket_server_config.py +18 -2
  125. pulumi_gcp/cloudbuild/trigger.py +18 -2
  126. pulumi_gcp/cloudbuild/worker_pool.py +18 -2
  127. pulumi_gcp/cloudbuildv2/connection.py +18 -2
  128. pulumi_gcp/cloudbuildv2/repository.py +18 -2
  129. pulumi_gcp/clouddeploy/delivery_pipeline.py +22 -10
  130. pulumi_gcp/clouddeploy/target.py +22 -10
  131. pulumi_gcp/cloudfunctions/function.py +26 -14
  132. pulumi_gcp/cloudfunctions/get_function.py +3 -0
  133. pulumi_gcp/cloudfunctionsv2/function.py +22 -10
  134. pulumi_gcp/cloudidentity/__init__.py +1 -0
  135. pulumi_gcp/cloudidentity/_inputs.py +119 -0
  136. pulumi_gcp/cloudidentity/get_group_lookup.py +128 -0
  137. pulumi_gcp/cloudidentity/group.py +50 -2
  138. pulumi_gcp/cloudidentity/group_membership.py +18 -2
  139. pulumi_gcp/cloudidentity/outputs.py +156 -0
  140. pulumi_gcp/cloudids/endpoint.py +18 -2
  141. pulumi_gcp/cloudrun/_inputs.py +12 -0
  142. pulumi_gcp/cloudrun/domain_mapping.py +18 -2
  143. pulumi_gcp/cloudrun/outputs.py +12 -0
  144. pulumi_gcp/cloudrun/service.py +18 -2
  145. pulumi_gcp/cloudrunv2/__init__.py +2 -0
  146. pulumi_gcp/cloudrunv2/get_job.py +394 -0
  147. pulumi_gcp/cloudrunv2/get_service.py +454 -0
  148. pulumi_gcp/cloudrunv2/job.py +40 -27
  149. pulumi_gcp/cloudrunv2/outputs.py +1687 -0
  150. pulumi_gcp/cloudrunv2/service.py +40 -27
  151. pulumi_gcp/cloudscheduler/job.py +18 -2
  152. pulumi_gcp/cloudtasks/queue.py +18 -2
  153. pulumi_gcp/composer/_inputs.py +17 -0
  154. pulumi_gcp/composer/environment.py +68 -5
  155. pulumi_gcp/composer/get_environment.py +13 -3
  156. pulumi_gcp/composer/outputs.py +26 -0
  157. pulumi_gcp/compute/__init__.py +2 -0
  158. pulumi_gcp/compute/_inputs.py +158 -4
  159. pulumi_gcp/compute/address.py +38 -18
  160. pulumi_gcp/compute/attached_disk.py +18 -2
  161. pulumi_gcp/compute/autoscaler.py +18 -2
  162. pulumi_gcp/compute/backend_bucket.py +18 -2
  163. pulumi_gcp/compute/backend_service.py +32 -16
  164. pulumi_gcp/compute/disk.py +22 -10
  165. pulumi_gcp/compute/disk_resource_policy_attachment.py +18 -2
  166. pulumi_gcp/compute/external_vpn_gateway.py +22 -10
  167. pulumi_gcp/compute/firewall.py +18 -2
  168. pulumi_gcp/compute/firewall_policy_association.py +18 -2
  169. pulumi_gcp/compute/firewall_policy_rule.py +18 -2
  170. pulumi_gcp/compute/forwarding_rule.py +377 -276
  171. pulumi_gcp/compute/get_disk.py +3 -0
  172. pulumi_gcp/compute/get_forwarding_rule.py +11 -1
  173. pulumi_gcp/compute/get_image.py +3 -0
  174. pulumi_gcp/compute/get_network.py +14 -1
  175. pulumi_gcp/compute/get_networks.py +130 -0
  176. pulumi_gcp/compute/get_subnetwork.py +14 -1
  177. pulumi_gcp/compute/global_address.py +18 -2
  178. pulumi_gcp/compute/global_forwarding_rule.py +127 -108
  179. pulumi_gcp/compute/global_network_endpoint.py +18 -2
  180. pulumi_gcp/compute/global_network_endpoint_group.py +18 -2
  181. pulumi_gcp/compute/ha_vpn_gateway.py +18 -2
  182. pulumi_gcp/compute/health_check.py +18 -2
  183. pulumi_gcp/compute/http_health_check.py +18 -2
  184. pulumi_gcp/compute/https_health_check.py +18 -2
  185. pulumi_gcp/compute/image.py +22 -10
  186. pulumi_gcp/compute/instance.py +44 -36
  187. pulumi_gcp/compute/instance_group.py +24 -8
  188. pulumi_gcp/compute/instance_group_manager.py +26 -10
  189. pulumi_gcp/compute/instance_group_named_port.py +18 -2
  190. pulumi_gcp/compute/instance_settings.py +387 -0
  191. pulumi_gcp/compute/instance_template.py +29 -21
  192. pulumi_gcp/compute/interconnect_attachment.py +18 -2
  193. pulumi_gcp/compute/machine_image.py +18 -2
  194. pulumi_gcp/compute/managed_ssl_certificate.py +18 -2
  195. pulumi_gcp/compute/manged_ssl_certificate.py +18 -2
  196. pulumi_gcp/compute/network.py +18 -2
  197. pulumi_gcp/compute/network_attachment.py +156 -2
  198. pulumi_gcp/compute/network_edge_security_service.py +18 -2
  199. pulumi_gcp/compute/network_endpoint.py +18 -2
  200. pulumi_gcp/compute/network_endpoint_group.py +32 -16
  201. pulumi_gcp/compute/network_endpoint_list.py +18 -2
  202. pulumi_gcp/compute/network_firewall_policy.py +18 -2
  203. pulumi_gcp/compute/network_firewall_policy_association.py +18 -2
  204. pulumi_gcp/compute/network_firewall_policy_rule.py +18 -2
  205. pulumi_gcp/compute/network_peering.py +20 -4
  206. pulumi_gcp/compute/network_peering_routes_config.py +18 -2
  207. pulumi_gcp/compute/node_group.py +129 -2
  208. pulumi_gcp/compute/node_template.py +18 -2
  209. pulumi_gcp/compute/organization_security_policy.py +18 -2
  210. pulumi_gcp/compute/organization_security_policy_association.py +18 -2
  211. pulumi_gcp/compute/organization_security_policy_rule.py +18 -2
  212. pulumi_gcp/compute/outputs.py +230 -7
  213. pulumi_gcp/compute/packet_mirroring.py +18 -2
  214. pulumi_gcp/compute/per_instance_config.py +18 -2
  215. pulumi_gcp/compute/project_default_network_tier.py +20 -4
  216. pulumi_gcp/compute/project_metadata.py +20 -4
  217. pulumi_gcp/compute/project_metadata_item.py +20 -4
  218. pulumi_gcp/compute/public_advertised_prefix.py +18 -2
  219. pulumi_gcp/compute/public_delegated_prefix.py +18 -2
  220. pulumi_gcp/compute/region_autoscaler.py +18 -2
  221. pulumi_gcp/compute/region_backend_service.py +18 -2
  222. pulumi_gcp/compute/region_commitment.py +18 -2
  223. pulumi_gcp/compute/region_disk.py +22 -10
  224. pulumi_gcp/compute/region_disk_resource_policy_attachment.py +18 -2
  225. pulumi_gcp/compute/region_health_check.py +18 -2
  226. pulumi_gcp/compute/region_instance_group_manager.py +20 -4
  227. pulumi_gcp/compute/region_instance_template.py +29 -21
  228. pulumi_gcp/compute/region_network_endpoint_group.py +18 -2
  229. pulumi_gcp/compute/region_network_firewall_policy.py +18 -2
  230. pulumi_gcp/compute/region_network_firewall_policy_association.py +18 -2
  231. pulumi_gcp/compute/region_network_firewall_policy_rule.py +18 -2
  232. pulumi_gcp/compute/region_per_instance_config.py +18 -2
  233. pulumi_gcp/compute/region_security_policy.py +18 -2
  234. pulumi_gcp/compute/region_security_policy_rule.py +18 -2
  235. pulumi_gcp/compute/region_ssl_certificate.py +18 -2
  236. pulumi_gcp/compute/region_ssl_policy.py +18 -2
  237. pulumi_gcp/compute/region_target_http_proxy.py +18 -2
  238. pulumi_gcp/compute/region_target_https_proxy.py +18 -2
  239. pulumi_gcp/compute/region_target_tcp_proxy.py +18 -2
  240. pulumi_gcp/compute/region_url_map.py +18 -2
  241. pulumi_gcp/compute/reservation.py +18 -2
  242. pulumi_gcp/compute/resource_policy.py +18 -2
  243. pulumi_gcp/compute/route.py +18 -2
  244. pulumi_gcp/compute/router.py +18 -2
  245. pulumi_gcp/compute/router_interface.py +22 -6
  246. pulumi_gcp/compute/router_nat.py +18 -2
  247. pulumi_gcp/compute/router_peer.py +18 -2
  248. pulumi_gcp/compute/security_policy.py +52 -4
  249. pulumi_gcp/compute/security_scan_config.py +18 -2
  250. pulumi_gcp/compute/service_attachment.py +18 -2
  251. pulumi_gcp/compute/shared_vpc_host_project.py +20 -4
  252. pulumi_gcp/compute/shared_vpc_service_project.py +20 -4
  253. pulumi_gcp/compute/snapshot.py +22 -10
  254. pulumi_gcp/compute/ssl_certificate.py +18 -2
  255. pulumi_gcp/compute/ssl_policy.py +18 -2
  256. pulumi_gcp/compute/subnetwork.py +109 -2
  257. pulumi_gcp/compute/target_grpc_proxy.py +18 -2
  258. pulumi_gcp/compute/target_http_proxy.py +18 -2
  259. pulumi_gcp/compute/target_https_proxy.py +181 -16
  260. pulumi_gcp/compute/target_instance.py +18 -2
  261. pulumi_gcp/compute/target_pool.py +18 -2
  262. pulumi_gcp/compute/target_ssl_proxy.py +18 -2
  263. pulumi_gcp/compute/target_tcp_proxy.py +18 -2
  264. pulumi_gcp/compute/url_map.py +18 -2
  265. pulumi_gcp/compute/vpn_gateway.py +18 -2
  266. pulumi_gcp/compute/vpn_tunnel.py +18 -2
  267. pulumi_gcp/config/vars.py +12 -0
  268. pulumi_gcp/container/_inputs.py +299 -54
  269. pulumi_gcp/container/attached_cluster.py +18 -2
  270. pulumi_gcp/container/aws_cluster.py +24 -2
  271. pulumi_gcp/container/aws_node_pool.py +18 -2
  272. pulumi_gcp/container/azure_client.py +18 -2
  273. pulumi_gcp/container/azure_cluster.py +24 -2
  274. pulumi_gcp/container/azure_node_pool.py +18 -2
  275. pulumi_gcp/container/cluster.py +92 -29
  276. pulumi_gcp/container/get_cluster.py +11 -1
  277. pulumi_gcp/container/node_pool.py +22 -6
  278. pulumi_gcp/container/outputs.py +384 -52
  279. pulumi_gcp/containeranalysis/note.py +18 -2
  280. pulumi_gcp/containeranalysis/occurence.py +18 -2
  281. pulumi_gcp/databasemigrationservice/__init__.py +1 -0
  282. pulumi_gcp/databasemigrationservice/_inputs.py +465 -0
  283. pulumi_gcp/databasemigrationservice/connection_profile.py +122 -12
  284. pulumi_gcp/databasemigrationservice/outputs.py +466 -0
  285. pulumi_gcp/databasemigrationservice/private_connection.py +672 -0
  286. pulumi_gcp/datacatalog/entry.py +18 -2
  287. pulumi_gcp/datacatalog/entry_group.py +18 -2
  288. pulumi_gcp/datacatalog/policy_tag.py +18 -2
  289. pulumi_gcp/datacatalog/tag.py +18 -2
  290. pulumi_gcp/datacatalog/tag_template.py +18 -2
  291. pulumi_gcp/datacatalog/taxonomy.py +18 -2
  292. pulumi_gcp/dataflow/job.py +24 -12
  293. pulumi_gcp/dataflow/pipeline.py +18 -2
  294. pulumi_gcp/dataform/_inputs.py +78 -21
  295. pulumi_gcp/dataform/outputs.py +86 -20
  296. pulumi_gcp/dataform/repository.py +140 -9
  297. pulumi_gcp/dataform/repository_release_config.py +18 -2
  298. pulumi_gcp/dataform/repository_workflow_config.py +20 -4
  299. pulumi_gcp/datafusion/instance.py +22 -10
  300. pulumi_gcp/dataloss/prevention_deidentify_template.py +18 -2
  301. pulumi_gcp/dataloss/prevention_inspect_template.py +18 -2
  302. pulumi_gcp/dataloss/prevention_job_trigger.py +18 -2
  303. pulumi_gcp/dataloss/prevention_stored_info_type.py +18 -2
  304. pulumi_gcp/dataplex/asset.py +22 -10
  305. pulumi_gcp/dataplex/datascan.py +22 -10
  306. pulumi_gcp/dataplex/lake.py +22 -10
  307. pulumi_gcp/dataplex/task.py +22 -10
  308. pulumi_gcp/dataplex/zone.py +22 -10
  309. pulumi_gcp/dataproc/_inputs.py +148 -0
  310. pulumi_gcp/dataproc/autoscaling_policy.py +18 -2
  311. pulumi_gcp/dataproc/cluster.py +2 -2
  312. pulumi_gcp/dataproc/cluster_iam_binding.py +12 -20
  313. pulumi_gcp/dataproc/cluster_iam_member.py +12 -20
  314. pulumi_gcp/dataproc/cluster_iam_policy.py +12 -20
  315. pulumi_gcp/dataproc/job.py +20 -8
  316. pulumi_gcp/dataproc/job_iam_binding.py +12 -20
  317. pulumi_gcp/dataproc/job_iam_member.py +12 -20
  318. pulumi_gcp/dataproc/job_iam_policy.py +12 -20
  319. pulumi_gcp/dataproc/metastore_federation.py +22 -10
  320. pulumi_gcp/dataproc/metastore_service.py +22 -10
  321. pulumi_gcp/dataproc/outputs.py +175 -0
  322. pulumi_gcp/dataproc/workflow_template.py +18 -2
  323. pulumi_gcp/datastore/data_store_index.py +18 -2
  324. pulumi_gcp/datastream/connection_profile.py +22 -10
  325. pulumi_gcp/datastream/private_connection.py +22 -10
  326. pulumi_gcp/datastream/stream.py +22 -10
  327. pulumi_gcp/deploymentmanager/deployment.py +18 -2
  328. pulumi_gcp/diagflow/_inputs.py +626 -4
  329. pulumi_gcp/diagflow/agent.py +18 -2
  330. pulumi_gcp/diagflow/cx_agent.py +288 -21
  331. pulumi_gcp/diagflow/cx_entity_type.py +18 -2
  332. pulumi_gcp/diagflow/cx_environment.py +18 -2
  333. pulumi_gcp/diagflow/cx_flow.py +309 -4
  334. pulumi_gcp/diagflow/cx_intent.py +165 -10
  335. pulumi_gcp/diagflow/cx_page.py +109 -4
  336. pulumi_gcp/diagflow/cx_security_settings.py +18 -2
  337. pulumi_gcp/diagflow/cx_test_case.py +18 -2
  338. pulumi_gcp/diagflow/cx_version.py +18 -2
  339. pulumi_gcp/diagflow/cx_webhook.py +18 -2
  340. pulumi_gcp/diagflow/entity_type.py +18 -2
  341. pulumi_gcp/diagflow/fulfillment.py +18 -2
  342. pulumi_gcp/diagflow/intent.py +18 -2
  343. pulumi_gcp/diagflow/outputs.py +722 -5
  344. pulumi_gcp/dns/get_keys.py +16 -2
  345. pulumi_gcp/dns/managed_zone.py +22 -10
  346. pulumi_gcp/dns/policy.py +18 -2
  347. pulumi_gcp/dns/record_set.py +24 -8
  348. pulumi_gcp/dns/response_policy.py +18 -2
  349. pulumi_gcp/dns/response_policy_rule.py +18 -2
  350. pulumi_gcp/edgecontainer/__init__.py +12 -0
  351. pulumi_gcp/edgecontainer/_inputs.py +1171 -0
  352. pulumi_gcp/edgecontainer/cluster.py +1539 -0
  353. pulumi_gcp/edgecontainer/node_pool.py +1062 -0
  354. pulumi_gcp/edgecontainer/outputs.py +1204 -0
  355. pulumi_gcp/edgecontainer/vpn_connection.py +918 -0
  356. pulumi_gcp/edgenetwork/network.py +18 -2
  357. pulumi_gcp/edgenetwork/subnet.py +18 -2
  358. pulumi_gcp/essentialcontacts/contact.py +18 -2
  359. pulumi_gcp/essentialcontacts/document_ai_processor.py +18 -2
  360. pulumi_gcp/essentialcontacts/document_ai_processor_default_version.py +18 -2
  361. pulumi_gcp/essentialcontacts/document_ai_warehouse_document_schema.py +18 -2
  362. pulumi_gcp/eventarc/channel.py +18 -2
  363. pulumi_gcp/eventarc/google_channel_config.py +18 -2
  364. pulumi_gcp/eventarc/trigger.py +22 -10
  365. pulumi_gcp/filestore/backup.py +22 -10
  366. pulumi_gcp/filestore/instance.py +22 -10
  367. pulumi_gcp/filestore/snapshot.py +22 -10
  368. pulumi_gcp/firebase/__init__.py +1 -0
  369. pulumi_gcp/firebase/_inputs.py +878 -0
  370. pulumi_gcp/firebase/android_app.py +18 -2
  371. pulumi_gcp/firebase/apple_app.py +18 -2
  372. pulumi_gcp/firebase/database_instance.py +18 -2
  373. pulumi_gcp/firebase/extensions_instance.py +18 -2
  374. pulumi_gcp/firebase/hosting_channel.py +22 -10
  375. pulumi_gcp/firebase/hosting_custom_domain.py +1274 -0
  376. pulumi_gcp/firebase/hosting_release.py +18 -2
  377. pulumi_gcp/firebase/hosting_site.py +18 -2
  378. pulumi_gcp/firebase/hosting_version.py +18 -2
  379. pulumi_gcp/firebase/outputs.py +905 -0
  380. pulumi_gcp/firebase/project.py +18 -2
  381. pulumi_gcp/firebase/storage_bucket.py +18 -2
  382. pulumi_gcp/firebase/web_app.py +18 -2
  383. pulumi_gcp/firebaserules/release.py +18 -2
  384. pulumi_gcp/firebaserules/ruleset.py +18 -2
  385. pulumi_gcp/firestore/__init__.py +1 -0
  386. pulumi_gcp/firestore/_inputs.py +35 -2
  387. pulumi_gcp/firestore/backup_schedule.py +547 -0
  388. pulumi_gcp/firestore/database.py +24 -4
  389. pulumi_gcp/firestore/document.py +22 -2
  390. pulumi_gcp/firestore/field.py +27 -13
  391. pulumi_gcp/firestore/index.py +140 -21
  392. pulumi_gcp/firestore/outputs.py +31 -2
  393. pulumi_gcp/folder/access_approval_settings.py +18 -2
  394. pulumi_gcp/folder/iam_audit_config.py +10 -58
  395. pulumi_gcp/folder/iam_member.py +10 -58
  396. pulumi_gcp/folder/iam_policy.py +10 -58
  397. pulumi_gcp/folder/organization_policy.py +22 -6
  398. pulumi_gcp/gkebackup/backup_plan.py +22 -10
  399. pulumi_gcp/gkebackup/restore_plan.py +22 -10
  400. pulumi_gcp/gkebackup/restore_plan_iam_binding.py +18 -2
  401. pulumi_gcp/gkebackup/restore_plan_iam_member.py +18 -2
  402. pulumi_gcp/gkebackup/restore_plan_iam_policy.py +18 -2
  403. pulumi_gcp/gkehub/__init__.py +1 -0
  404. pulumi_gcp/gkehub/_inputs.py +431 -0
  405. pulumi_gcp/gkehub/feature.py +76 -10
  406. pulumi_gcp/gkehub/feature_membership.py +22 -2
  407. pulumi_gcp/gkehub/fleet.py +432 -0
  408. pulumi_gcp/gkehub/get_membership_iam_policy.py +24 -3
  409. pulumi_gcp/gkehub/membership.py +120 -16
  410. pulumi_gcp/gkehub/membership_binding.py +22 -10
  411. pulumi_gcp/gkehub/membership_iam_binding.py +67 -0
  412. pulumi_gcp/gkehub/membership_iam_member.py +67 -0
  413. pulumi_gcp/gkehub/membership_iam_policy.py +67 -0
  414. pulumi_gcp/gkehub/membership_rbac_role_binding.py +18 -2
  415. pulumi_gcp/gkehub/namespace.py +22 -10
  416. pulumi_gcp/gkehub/outputs.py +432 -1
  417. pulumi_gcp/gkehub/scope.py +22 -10
  418. pulumi_gcp/gkehub/scope_rbac_role_binding.py +22 -10
  419. pulumi_gcp/gkeonprem/_inputs.py +17 -31
  420. pulumi_gcp/gkeonprem/bare_metal_admin_cluster.py +148 -132
  421. pulumi_gcp/gkeonprem/bare_metal_cluster.py +260 -246
  422. pulumi_gcp/gkeonprem/bare_metal_node_pool.py +30 -18
  423. pulumi_gcp/gkeonprem/outputs.py +17 -31
  424. pulumi_gcp/gkeonprem/v_mware_cluster.py +287 -230
  425. pulumi_gcp/gkeonprem/v_mware_node_pool.py +30 -18
  426. pulumi_gcp/healthcare/consent_store.py +22 -10
  427. pulumi_gcp/healthcare/dataset.py +18 -2
  428. pulumi_gcp/healthcare/dataset_iam_binding.py +10 -38
  429. pulumi_gcp/healthcare/dataset_iam_member.py +10 -38
  430. pulumi_gcp/healthcare/dataset_iam_policy.py +10 -38
  431. pulumi_gcp/healthcare/dicom_store.py +22 -10
  432. pulumi_gcp/healthcare/dicom_store_iam_binding.py +10 -30
  433. pulumi_gcp/healthcare/dicom_store_iam_member.py +10 -30
  434. pulumi_gcp/healthcare/dicom_store_iam_policy.py +10 -30
  435. pulumi_gcp/healthcare/fhir_store.py +22 -10
  436. pulumi_gcp/healthcare/fhir_store_iam_binding.py +10 -30
  437. pulumi_gcp/healthcare/fhir_store_iam_member.py +10 -30
  438. pulumi_gcp/healthcare/fhir_store_iam_policy.py +10 -30
  439. pulumi_gcp/healthcare/hl7_store.py +22 -10
  440. pulumi_gcp/healthcare/hl7_store_iam_binding.py +10 -30
  441. pulumi_gcp/healthcare/hl7_store_iam_member.py +10 -30
  442. pulumi_gcp/healthcare/hl7_store_iam_policy.py +10 -30
  443. pulumi_gcp/iam/_inputs.py +20 -0
  444. pulumi_gcp/iam/access_boundary_policy.py +18 -2
  445. pulumi_gcp/iam/deny_policy.py +18 -2
  446. pulumi_gcp/iam/outputs.py +20 -0
  447. pulumi_gcp/iam/workforce_pool.py +18 -2
  448. pulumi_gcp/iam/workforce_pool_provider.py +18 -2
  449. pulumi_gcp/iam/workload_identity_pool.py +18 -2
  450. pulumi_gcp/iam/workload_identity_pool_provider.py +18 -2
  451. pulumi_gcp/iap/brand.py +18 -2
  452. pulumi_gcp/iap/client.py +18 -2
  453. pulumi_gcp/identityplatform/_inputs.py +92 -0
  454. pulumi_gcp/identityplatform/config.py +91 -5
  455. pulumi_gcp/identityplatform/default_supported_idp_config.py +18 -2
  456. pulumi_gcp/identityplatform/inbound_saml_config.py +18 -2
  457. pulumi_gcp/identityplatform/oauth_idp_config.py +18 -2
  458. pulumi_gcp/identityplatform/outputs.py +129 -0
  459. pulumi_gcp/identityplatform/project_default_config.py +18 -2
  460. pulumi_gcp/identityplatform/tenant.py +18 -2
  461. pulumi_gcp/identityplatform/tenant_default_supported_idp_config.py +18 -2
  462. pulumi_gcp/identityplatform/tenant_inbound_saml_config.py +18 -2
  463. pulumi_gcp/identityplatform/tenant_oauth_idp_config.py +18 -2
  464. pulumi_gcp/integrationconnectors/__init__.py +10 -0
  465. pulumi_gcp/integrationconnectors/_inputs.py +2518 -0
  466. pulumi_gcp/integrationconnectors/connection.py +1921 -0
  467. pulumi_gcp/integrationconnectors/outputs.py +2780 -0
  468. pulumi_gcp/kms/crypto_key.py +22 -10
  469. pulumi_gcp/kms/crypto_key_iam_binding.py +10 -30
  470. pulumi_gcp/kms/crypto_key_iam_member.py +10 -30
  471. pulumi_gcp/kms/crypto_key_iam_policy.py +10 -30
  472. pulumi_gcp/kms/crypto_key_version.py +18 -2
  473. pulumi_gcp/kms/key_ring.py +18 -2
  474. pulumi_gcp/kms/key_ring_iam_binding.py +10 -30
  475. pulumi_gcp/kms/key_ring_iam_member.py +10 -30
  476. pulumi_gcp/kms/key_ring_iam_policy.py +10 -30
  477. pulumi_gcp/kms/key_ring_import_job.py +18 -2
  478. pulumi_gcp/logging/_inputs.py +160 -0
  479. pulumi_gcp/logging/billing_account_bucket_config.py +61 -26
  480. pulumi_gcp/logging/billing_account_exclusion.py +20 -4
  481. pulumi_gcp/logging/billing_account_sink.py +20 -4
  482. pulumi_gcp/logging/folder_bucket_config.py +75 -4
  483. pulumi_gcp/logging/folder_exclusion.py +20 -4
  484. pulumi_gcp/logging/folder_sink.py +20 -4
  485. pulumi_gcp/logging/linked_dataset.py +18 -2
  486. pulumi_gcp/logging/log_view.py +18 -2
  487. pulumi_gcp/logging/metric.py +18 -2
  488. pulumi_gcp/logging/organization_bucket_config.py +75 -4
  489. pulumi_gcp/logging/organization_exclusion.py +20 -4
  490. pulumi_gcp/logging/organization_sink.py +20 -4
  491. pulumi_gcp/logging/outputs.py +196 -0
  492. pulumi_gcp/logging/project_bucket_config.py +59 -134
  493. pulumi_gcp/logging/project_exclusion.py +20 -4
  494. pulumi_gcp/logging/project_sink.py +95 -18
  495. pulumi_gcp/looker/instance.py +18 -2
  496. pulumi_gcp/memcache/instance.py +22 -10
  497. pulumi_gcp/ml/engine_model.py +22 -10
  498. pulumi_gcp/monitoring/_inputs.py +127 -13
  499. pulumi_gcp/monitoring/alert_policy.py +64 -2
  500. pulumi_gcp/monitoring/custom_service.py +18 -2
  501. pulumi_gcp/monitoring/dashboard.py +18 -2
  502. pulumi_gcp/monitoring/generic_service.py +18 -2
  503. pulumi_gcp/monitoring/group.py +18 -2
  504. pulumi_gcp/monitoring/metric_descriptor.py +18 -2
  505. pulumi_gcp/monitoring/monitored_project.py +18 -2
  506. pulumi_gcp/monitoring/notification_channel.py +18 -2
  507. pulumi_gcp/monitoring/outputs.py +158 -13
  508. pulumi_gcp/monitoring/slo.py +18 -2
  509. pulumi_gcp/monitoring/uptime_check_config.py +92 -9
  510. pulumi_gcp/networkconnectivity/__init__.py +1 -0
  511. pulumi_gcp/networkconnectivity/_inputs.py +185 -0
  512. pulumi_gcp/networkconnectivity/hub.py +22 -10
  513. pulumi_gcp/networkconnectivity/outputs.py +189 -0
  514. pulumi_gcp/networkconnectivity/policy_based_route.py +1003 -0
  515. pulumi_gcp/networkconnectivity/service_connection_policy.py +22 -10
  516. pulumi_gcp/networkconnectivity/spoke.py +22 -10
  517. pulumi_gcp/networkmanagement/connectivity_test.py +22 -10
  518. pulumi_gcp/networksecurity/address_group.py +22 -10
  519. pulumi_gcp/networksecurity/authorization_policy.py +22 -10
  520. pulumi_gcp/networksecurity/client_tls_policy.py +22 -10
  521. pulumi_gcp/networksecurity/gateway_security_policy.py +18 -2
  522. pulumi_gcp/networksecurity/gateway_security_policy_rule.py +18 -2
  523. pulumi_gcp/networksecurity/server_tls_policy.py +92 -10
  524. pulumi_gcp/networksecurity/tls_inspection_policy.py +18 -2
  525. pulumi_gcp/networksecurity/url_list.py +18 -2
  526. pulumi_gcp/networkservices/edge_cache_keyset.py +22 -10
  527. pulumi_gcp/networkservices/edge_cache_origin.py +22 -10
  528. pulumi_gcp/networkservices/edge_cache_service.py +22 -10
  529. pulumi_gcp/networkservices/endpoint_policy.py +22 -10
  530. pulumi_gcp/networkservices/gateway.py +22 -10
  531. pulumi_gcp/networkservices/grpc_route.py +22 -10
  532. pulumi_gcp/networkservices/http_route.py +22 -10
  533. pulumi_gcp/networkservices/mesh.py +22 -10
  534. pulumi_gcp/networkservices/service_binding.py +22 -10
  535. pulumi_gcp/networkservices/tcp_route.py +22 -10
  536. pulumi_gcp/networkservices/tls_route.py +18 -2
  537. pulumi_gcp/notebooks/environment.py +18 -2
  538. pulumi_gcp/notebooks/instance.py +22 -10
  539. pulumi_gcp/notebooks/location.py +18 -2
  540. pulumi_gcp/notebooks/runtime.py +18 -2
  541. pulumi_gcp/organizations/access_approval_settings.py +18 -2
  542. pulumi_gcp/organizations/folder.py +22 -6
  543. pulumi_gcp/organizations/iam_member.py +10 -58
  544. pulumi_gcp/organizations/iam_policy.py +10 -58
  545. pulumi_gcp/organizations/policy.py +22 -4
  546. pulumi_gcp/organizations/project.py +24 -12
  547. pulumi_gcp/orgpolicy/custom_constraint.py +50 -22
  548. pulumi_gcp/orgpolicy/policy.py +18 -2
  549. pulumi_gcp/osconfig/guest_policies.py +18 -2
  550. pulumi_gcp/osconfig/os_policy_assignment.py +18 -2
  551. pulumi_gcp/osconfig/patch_deployment.py +18 -2
  552. pulumi_gcp/oslogin/ssh_public_key.py +18 -2
  553. pulumi_gcp/projects/access_approval_settings.py +18 -2
  554. pulumi_gcp/projects/api_key.py +18 -2
  555. pulumi_gcp/projects/iam_audit_config.py +10 -58
  556. pulumi_gcp/projects/iam_binding.py +10 -58
  557. pulumi_gcp/projects/iam_custom_role.py +18 -2
  558. pulumi_gcp/projects/iam_member.py +10 -58
  559. pulumi_gcp/projects/iam_policy.py +10 -58
  560. pulumi_gcp/projects/organization_policy.py +24 -8
  561. pulumi_gcp/projects/service.py +22 -4
  562. pulumi_gcp/projects/usage_export_bucket.py +20 -4
  563. pulumi_gcp/provider.py +60 -0
  564. pulumi_gcp/pubsub/__init__.py +4 -0
  565. pulumi_gcp/pubsub/_inputs.py +80 -0
  566. pulumi_gcp/pubsub/get_schema_iam_policy.py +147 -0
  567. pulumi_gcp/pubsub/lite_reservation.py +18 -2
  568. pulumi_gcp/pubsub/lite_subscription.py +18 -2
  569. pulumi_gcp/pubsub/lite_topic.py +18 -2
  570. pulumi_gcp/pubsub/outputs.py +56 -0
  571. pulumi_gcp/pubsub/schema.py +18 -2
  572. pulumi_gcp/pubsub/schema_iam_binding.py +601 -0
  573. pulumi_gcp/pubsub/schema_iam_member.py +601 -0
  574. pulumi_gcp/pubsub/schema_iam_policy.py +523 -0
  575. pulumi_gcp/pubsub/subscription.py +22 -10
  576. pulumi_gcp/pubsub/subscription_iam_binding.py +12 -20
  577. pulumi_gcp/pubsub/subscription_iam_member.py +12 -20
  578. pulumi_gcp/pubsub/subscription_iam_policy.py +12 -20
  579. pulumi_gcp/pubsub/topic.py +36 -17
  580. pulumi_gcp/recaptcha/enterprise_key.py +22 -10
  581. pulumi_gcp/redis/cluster.py +42 -18
  582. pulumi_gcp/redis/instance.py +22 -58
  583. pulumi_gcp/resourcemanager/lien.py +18 -2
  584. pulumi_gcp/runtimeconfig/config.py +26 -6
  585. pulumi_gcp/runtimeconfig/variable.py +26 -6
  586. pulumi_gcp/secretmanager/__init__.py +1 -0
  587. pulumi_gcp/secretmanager/get_secrets.py +133 -0
  588. pulumi_gcp/secretmanager/outputs.py +354 -0
  589. pulumi_gcp/secretmanager/secret.py +36 -10
  590. pulumi_gcp/secretmanager/secret_version.py +18 -2
  591. pulumi_gcp/securitycenter/folder_custom_module.py +18 -2
  592. pulumi_gcp/securitycenter/instance_iam_binding.py +18 -2
  593. pulumi_gcp/securitycenter/instance_iam_member.py +18 -2
  594. pulumi_gcp/securitycenter/instance_iam_policy.py +18 -2
  595. pulumi_gcp/securitycenter/mute_config.py +18 -2
  596. pulumi_gcp/securitycenter/notification_config.py +18 -2
  597. pulumi_gcp/securitycenter/organization_custom_module.py +18 -2
  598. pulumi_gcp/securitycenter/project_custom_module.py +18 -2
  599. pulumi_gcp/securitycenter/source.py +18 -2
  600. pulumi_gcp/securitycenter/source_iam_binding.py +18 -2
  601. pulumi_gcp/securitycenter/source_iam_member.py +18 -2
  602. pulumi_gcp/securitycenter/source_iam_policy.py +18 -2
  603. pulumi_gcp/serviceaccount/account.py +20 -4
  604. pulumi_gcp/serviceaccount/iam_binding.py +2 -30
  605. pulumi_gcp/serviceaccount/iam_member.py +2 -30
  606. pulumi_gcp/serviceaccount/iam_policy.py +2 -30
  607. pulumi_gcp/servicedirectory/endpoint.py +18 -2
  608. pulumi_gcp/servicedirectory/namespace.py +22 -10
  609. pulumi_gcp/servicedirectory/service.py +18 -2
  610. pulumi_gcp/servicenetworking/connection.py +22 -6
  611. pulumi_gcp/servicenetworking/peered_dns_domain.py +18 -6
  612. pulumi_gcp/serviceusage/consumer_quota_override.py +18 -2
  613. pulumi_gcp/sourcerepo/repository.py +18 -2
  614. pulumi_gcp/spanner/_inputs.py +142 -0
  615. pulumi_gcp/spanner/database.py +18 -2
  616. pulumi_gcp/spanner/database_iam_binding.py +10 -26
  617. pulumi_gcp/spanner/database_iam_member.py +10 -26
  618. pulumi_gcp/spanner/database_iam_policy.py +10 -26
  619. pulumi_gcp/spanner/get_instance.py +12 -1
  620. pulumi_gcp/spanner/instance.py +99 -10
  621. pulumi_gcp/spanner/instance_iam_binding.py +10 -26
  622. pulumi_gcp/spanner/instance_iam_member.py +10 -26
  623. pulumi_gcp/spanner/instance_iam_policy.py +10 -26
  624. pulumi_gcp/spanner/outputs.py +236 -0
  625. pulumi_gcp/sql/_inputs.py +27 -7
  626. pulumi_gcp/sql/database.py +18 -2
  627. pulumi_gcp/sql/database_instance.py +24 -8
  628. pulumi_gcp/sql/outputs.py +41 -9
  629. pulumi_gcp/sql/source_representation_instance.py +25 -9
  630. pulumi_gcp/sql/user.py +38 -8
  631. pulumi_gcp/storage/_inputs.py +59 -1
  632. pulumi_gcp/storage/bucket.py +69 -6
  633. pulumi_gcp/storage/bucket_access_control.py +18 -2
  634. pulumi_gcp/storage/bucket_object.py +47 -0
  635. pulumi_gcp/storage/default_object_access_control.py +18 -2
  636. pulumi_gcp/storage/get_bucket.py +11 -1
  637. pulumi_gcp/storage/get_bucket_object.py +11 -1
  638. pulumi_gcp/storage/get_bucket_object_content.py +11 -1
  639. pulumi_gcp/storage/hmac_key.py +18 -2
  640. pulumi_gcp/storage/insights_report_config.py +18 -2
  641. pulumi_gcp/storage/notification.py +20 -4
  642. pulumi_gcp/storage/object_access_control.py +18 -2
  643. pulumi_gcp/storage/outputs.py +129 -2
  644. pulumi_gcp/storage/transfer_agent_pool.py +18 -2
  645. pulumi_gcp/storage/transfer_job.py +20 -4
  646. pulumi_gcp/tags/location_tag_binding.py +35 -19
  647. pulumi_gcp/tags/tag_binding.py +18 -2
  648. pulumi_gcp/tags/tag_key.py +18 -2
  649. pulumi_gcp/tags/tag_value.py +18 -2
  650. pulumi_gcp/tpu/_inputs.py +450 -0
  651. pulumi_gcp/tpu/node.py +22 -10
  652. pulumi_gcp/tpu/outputs.py +477 -0
  653. pulumi_gcp/tpu/v2_vm.py +906 -38
  654. pulumi_gcp/vertex/_inputs.py +39 -0
  655. pulumi_gcp/vertex/ai_dataset.py +4 -8
  656. pulumi_gcp/vertex/ai_endpoint.py +22 -10
  657. pulumi_gcp/vertex/ai_feature_store.py +22 -10
  658. pulumi_gcp/vertex/ai_feature_store_entity_type.py +22 -10
  659. pulumi_gcp/vertex/ai_feature_store_entity_type_feature.py +22 -10
  660. pulumi_gcp/vertex/ai_index.py +22 -10
  661. pulumi_gcp/vertex/ai_index_endpoint.py +116 -10
  662. pulumi_gcp/vertex/ai_metadata_store.py +18 -2
  663. pulumi_gcp/vertex/ai_tensorboard.py +22 -10
  664. pulumi_gcp/vertex/outputs.py +50 -0
  665. pulumi_gcp/vmwareengine/cluster.py +18 -2
  666. pulumi_gcp/vmwareengine/network.py +18 -2
  667. pulumi_gcp/vmwareengine/private_cloud.py +18 -2
  668. pulumi_gcp/vpcaccess/connector.py +18 -2
  669. pulumi_gcp/workflows/workflow.py +159 -11
  670. pulumi_gcp/workstations/_inputs.py +23 -0
  671. pulumi_gcp/workstations/outputs.py +19 -0
  672. pulumi_gcp/workstations/workstation.py +22 -10
  673. pulumi_gcp/workstations/workstation_cluster.py +142 -10
  674. pulumi_gcp/workstations/workstation_config.py +24 -12
  675. {pulumi_gcp-7.0.0rc0.dist-info → pulumi_gcp-7.1.0.dist-info}/METADATA +1 -1
  676. {pulumi_gcp-7.0.0rc0.dist-info → pulumi_gcp-7.1.0.dist-info}/RECORD +678 -650
  677. {pulumi_gcp-7.0.0rc0.dist-info → pulumi_gcp-7.1.0.dist-info}/WHEEL +0 -0
  678. {pulumi_gcp-7.0.0rc0.dist-info → pulumi_gcp-7.1.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,918 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import copy
6
+ import warnings
7
+ import pulumi
8
+ import pulumi.runtime
9
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
10
+ from .. import _utilities
11
+ from . import outputs
12
+ from ._inputs import *
13
+
14
+ __all__ = ['VpnConnectionArgs', 'VpnConnection']
15
+
16
+ @pulumi.input_type
17
+ class VpnConnectionArgs:
18
+ def __init__(__self__, *,
19
+ cluster: pulumi.Input[str],
20
+ location: pulumi.Input[str],
21
+ enable_high_availability: Optional[pulumi.Input[bool]] = None,
22
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
23
+ name: Optional[pulumi.Input[str]] = None,
24
+ nat_gateway_ip: Optional[pulumi.Input[str]] = None,
25
+ project: Optional[pulumi.Input[str]] = None,
26
+ router: Optional[pulumi.Input[str]] = None,
27
+ vpc: Optional[pulumi.Input[str]] = None,
28
+ vpc_project: Optional[pulumi.Input['VpnConnectionVpcProjectArgs']] = None):
29
+ """
30
+ The set of arguments for constructing a VpnConnection resource.
31
+ :param pulumi.Input[str] cluster: The canonical Cluster name to connect to. It is in the form of projects/{project}/locations/{location}/clusters/{cluster}.
32
+ :param pulumi.Input[str] location: Google Cloud Platform location.
33
+
34
+
35
+ - - -
36
+ :param pulumi.Input[bool] enable_high_availability: Whether this VPN connection has HA enabled on cluster side. If enabled, when creating VPN connection we will attempt to use 2 ANG floating IPs.
37
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Labels associated with this resource.
38
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
39
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
40
+ :param pulumi.Input[str] name: The resource name of VPN connection
41
+ :param pulumi.Input[str] nat_gateway_ip: NAT gateway IP, or WAN IP address. If a customer has multiple NAT IPs, the customer needs to configure NAT such that only one external IP maps to the GMEC Anthos cluster.
42
+ This is empty if NAT is not used.
43
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
44
+ If it is not provided, the provider project is used.
45
+ :param pulumi.Input[str] router: The VPN connection Cloud Router name.
46
+ :param pulumi.Input[str] vpc: The network ID of VPC to connect to.
47
+ :param pulumi.Input['VpnConnectionVpcProjectArgs'] vpc_project: Project detail of the VPC network. Required if VPC is in a different project than the cluster project.
48
+ Structure is documented below.
49
+ """
50
+ pulumi.set(__self__, "cluster", cluster)
51
+ pulumi.set(__self__, "location", location)
52
+ if enable_high_availability is not None:
53
+ pulumi.set(__self__, "enable_high_availability", enable_high_availability)
54
+ if labels is not None:
55
+ pulumi.set(__self__, "labels", labels)
56
+ if name is not None:
57
+ pulumi.set(__self__, "name", name)
58
+ if nat_gateway_ip is not None:
59
+ pulumi.set(__self__, "nat_gateway_ip", nat_gateway_ip)
60
+ if project is not None:
61
+ pulumi.set(__self__, "project", project)
62
+ if router is not None:
63
+ pulumi.set(__self__, "router", router)
64
+ if vpc is not None:
65
+ pulumi.set(__self__, "vpc", vpc)
66
+ if vpc_project is not None:
67
+ pulumi.set(__self__, "vpc_project", vpc_project)
68
+
69
+ @property
70
+ @pulumi.getter
71
+ def cluster(self) -> pulumi.Input[str]:
72
+ """
73
+ The canonical Cluster name to connect to. It is in the form of projects/{project}/locations/{location}/clusters/{cluster}.
74
+ """
75
+ return pulumi.get(self, "cluster")
76
+
77
+ @cluster.setter
78
+ def cluster(self, value: pulumi.Input[str]):
79
+ pulumi.set(self, "cluster", value)
80
+
81
+ @property
82
+ @pulumi.getter
83
+ def location(self) -> pulumi.Input[str]:
84
+ """
85
+ Google Cloud Platform location.
86
+
87
+
88
+ - - -
89
+ """
90
+ return pulumi.get(self, "location")
91
+
92
+ @location.setter
93
+ def location(self, value: pulumi.Input[str]):
94
+ pulumi.set(self, "location", value)
95
+
96
+ @property
97
+ @pulumi.getter(name="enableHighAvailability")
98
+ def enable_high_availability(self) -> Optional[pulumi.Input[bool]]:
99
+ """
100
+ Whether this VPN connection has HA enabled on cluster side. If enabled, when creating VPN connection we will attempt to use 2 ANG floating IPs.
101
+ """
102
+ return pulumi.get(self, "enable_high_availability")
103
+
104
+ @enable_high_availability.setter
105
+ def enable_high_availability(self, value: Optional[pulumi.Input[bool]]):
106
+ pulumi.set(self, "enable_high_availability", value)
107
+
108
+ @property
109
+ @pulumi.getter
110
+ def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
111
+ """
112
+ Labels associated with this resource.
113
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
114
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
115
+ """
116
+ return pulumi.get(self, "labels")
117
+
118
+ @labels.setter
119
+ def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
120
+ pulumi.set(self, "labels", value)
121
+
122
+ @property
123
+ @pulumi.getter
124
+ def name(self) -> Optional[pulumi.Input[str]]:
125
+ """
126
+ The resource name of VPN connection
127
+ """
128
+ return pulumi.get(self, "name")
129
+
130
+ @name.setter
131
+ def name(self, value: Optional[pulumi.Input[str]]):
132
+ pulumi.set(self, "name", value)
133
+
134
+ @property
135
+ @pulumi.getter(name="natGatewayIp")
136
+ def nat_gateway_ip(self) -> Optional[pulumi.Input[str]]:
137
+ """
138
+ NAT gateway IP, or WAN IP address. If a customer has multiple NAT IPs, the customer needs to configure NAT such that only one external IP maps to the GMEC Anthos cluster.
139
+ This is empty if NAT is not used.
140
+ """
141
+ return pulumi.get(self, "nat_gateway_ip")
142
+
143
+ @nat_gateway_ip.setter
144
+ def nat_gateway_ip(self, value: Optional[pulumi.Input[str]]):
145
+ pulumi.set(self, "nat_gateway_ip", value)
146
+
147
+ @property
148
+ @pulumi.getter
149
+ def project(self) -> Optional[pulumi.Input[str]]:
150
+ """
151
+ The ID of the project in which the resource belongs.
152
+ If it is not provided, the provider project is used.
153
+ """
154
+ return pulumi.get(self, "project")
155
+
156
+ @project.setter
157
+ def project(self, value: Optional[pulumi.Input[str]]):
158
+ pulumi.set(self, "project", value)
159
+
160
+ @property
161
+ @pulumi.getter
162
+ def router(self) -> Optional[pulumi.Input[str]]:
163
+ """
164
+ The VPN connection Cloud Router name.
165
+ """
166
+ return pulumi.get(self, "router")
167
+
168
+ @router.setter
169
+ def router(self, value: Optional[pulumi.Input[str]]):
170
+ pulumi.set(self, "router", value)
171
+
172
+ @property
173
+ @pulumi.getter
174
+ def vpc(self) -> Optional[pulumi.Input[str]]:
175
+ """
176
+ The network ID of VPC to connect to.
177
+ """
178
+ return pulumi.get(self, "vpc")
179
+
180
+ @vpc.setter
181
+ def vpc(self, value: Optional[pulumi.Input[str]]):
182
+ pulumi.set(self, "vpc", value)
183
+
184
+ @property
185
+ @pulumi.getter(name="vpcProject")
186
+ def vpc_project(self) -> Optional[pulumi.Input['VpnConnectionVpcProjectArgs']]:
187
+ """
188
+ Project detail of the VPC network. Required if VPC is in a different project than the cluster project.
189
+ Structure is documented below.
190
+ """
191
+ return pulumi.get(self, "vpc_project")
192
+
193
+ @vpc_project.setter
194
+ def vpc_project(self, value: Optional[pulumi.Input['VpnConnectionVpcProjectArgs']]):
195
+ pulumi.set(self, "vpc_project", value)
196
+
197
+
198
+ @pulumi.input_type
199
+ class _VpnConnectionState:
200
+ def __init__(__self__, *,
201
+ cluster: Optional[pulumi.Input[str]] = None,
202
+ create_time: Optional[pulumi.Input[str]] = None,
203
+ details: Optional[pulumi.Input[Sequence[pulumi.Input['VpnConnectionDetailArgs']]]] = None,
204
+ effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
205
+ enable_high_availability: Optional[pulumi.Input[bool]] = None,
206
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
207
+ location: Optional[pulumi.Input[str]] = None,
208
+ name: Optional[pulumi.Input[str]] = None,
209
+ nat_gateway_ip: Optional[pulumi.Input[str]] = None,
210
+ project: Optional[pulumi.Input[str]] = None,
211
+ pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
212
+ router: Optional[pulumi.Input[str]] = None,
213
+ update_time: Optional[pulumi.Input[str]] = None,
214
+ vpc: Optional[pulumi.Input[str]] = None,
215
+ vpc_project: Optional[pulumi.Input['VpnConnectionVpcProjectArgs']] = None):
216
+ """
217
+ Input properties used for looking up and filtering VpnConnection resources.
218
+ :param pulumi.Input[str] cluster: The canonical Cluster name to connect to. It is in the form of projects/{project}/locations/{location}/clusters/{cluster}.
219
+ :param pulumi.Input[str] create_time: The time when the VPN connection was created.
220
+ :param pulumi.Input[Sequence[pulumi.Input['VpnConnectionDetailArgs']]] details: A nested object resource
221
+ Structure is documented below.
222
+ :param pulumi.Input[Mapping[str, pulumi.Input[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.
223
+ :param pulumi.Input[bool] enable_high_availability: Whether this VPN connection has HA enabled on cluster side. If enabled, when creating VPN connection we will attempt to use 2 ANG floating IPs.
224
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Labels associated with this resource.
225
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
226
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
227
+ :param pulumi.Input[str] location: Google Cloud Platform location.
228
+
229
+
230
+ - - -
231
+ :param pulumi.Input[str] name: The resource name of VPN connection
232
+ :param pulumi.Input[str] nat_gateway_ip: NAT gateway IP, or WAN IP address. If a customer has multiple NAT IPs, the customer needs to configure NAT such that only one external IP maps to the GMEC Anthos cluster.
233
+ This is empty if NAT is not used.
234
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
235
+ If it is not provided, the provider project is used.
236
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource
237
+ and default labels configured on the provider.
238
+ :param pulumi.Input[str] router: The VPN connection Cloud Router name.
239
+ :param pulumi.Input[str] update_time: The time when the VPN connection was last updated.
240
+ :param pulumi.Input[str] vpc: The network ID of VPC to connect to.
241
+ :param pulumi.Input['VpnConnectionVpcProjectArgs'] vpc_project: Project detail of the VPC network. Required if VPC is in a different project than the cluster project.
242
+ Structure is documented below.
243
+ """
244
+ if cluster is not None:
245
+ pulumi.set(__self__, "cluster", cluster)
246
+ if create_time is not None:
247
+ pulumi.set(__self__, "create_time", create_time)
248
+ if details is not None:
249
+ pulumi.set(__self__, "details", details)
250
+ if effective_labels is not None:
251
+ pulumi.set(__self__, "effective_labels", effective_labels)
252
+ if enable_high_availability is not None:
253
+ pulumi.set(__self__, "enable_high_availability", enable_high_availability)
254
+ if labels is not None:
255
+ pulumi.set(__self__, "labels", labels)
256
+ if location is not None:
257
+ pulumi.set(__self__, "location", location)
258
+ if name is not None:
259
+ pulumi.set(__self__, "name", name)
260
+ if nat_gateway_ip is not None:
261
+ pulumi.set(__self__, "nat_gateway_ip", nat_gateway_ip)
262
+ if project is not None:
263
+ pulumi.set(__self__, "project", project)
264
+ if pulumi_labels is not None:
265
+ pulumi.set(__self__, "pulumi_labels", pulumi_labels)
266
+ if router is not None:
267
+ pulumi.set(__self__, "router", router)
268
+ if update_time is not None:
269
+ pulumi.set(__self__, "update_time", update_time)
270
+ if vpc is not None:
271
+ pulumi.set(__self__, "vpc", vpc)
272
+ if vpc_project is not None:
273
+ pulumi.set(__self__, "vpc_project", vpc_project)
274
+
275
+ @property
276
+ @pulumi.getter
277
+ def cluster(self) -> Optional[pulumi.Input[str]]:
278
+ """
279
+ The canonical Cluster name to connect to. It is in the form of projects/{project}/locations/{location}/clusters/{cluster}.
280
+ """
281
+ return pulumi.get(self, "cluster")
282
+
283
+ @cluster.setter
284
+ def cluster(self, value: Optional[pulumi.Input[str]]):
285
+ pulumi.set(self, "cluster", value)
286
+
287
+ @property
288
+ @pulumi.getter(name="createTime")
289
+ def create_time(self) -> Optional[pulumi.Input[str]]:
290
+ """
291
+ The time when the VPN connection was created.
292
+ """
293
+ return pulumi.get(self, "create_time")
294
+
295
+ @create_time.setter
296
+ def create_time(self, value: Optional[pulumi.Input[str]]):
297
+ pulumi.set(self, "create_time", value)
298
+
299
+ @property
300
+ @pulumi.getter
301
+ def details(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VpnConnectionDetailArgs']]]]:
302
+ """
303
+ A nested object resource
304
+ Structure is documented below.
305
+ """
306
+ return pulumi.get(self, "details")
307
+
308
+ @details.setter
309
+ def details(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['VpnConnectionDetailArgs']]]]):
310
+ pulumi.set(self, "details", value)
311
+
312
+ @property
313
+ @pulumi.getter(name="effectiveLabels")
314
+ def effective_labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
315
+ """
316
+ All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
317
+ """
318
+ return pulumi.get(self, "effective_labels")
319
+
320
+ @effective_labels.setter
321
+ def effective_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
322
+ pulumi.set(self, "effective_labels", value)
323
+
324
+ @property
325
+ @pulumi.getter(name="enableHighAvailability")
326
+ def enable_high_availability(self) -> Optional[pulumi.Input[bool]]:
327
+ """
328
+ Whether this VPN connection has HA enabled on cluster side. If enabled, when creating VPN connection we will attempt to use 2 ANG floating IPs.
329
+ """
330
+ return pulumi.get(self, "enable_high_availability")
331
+
332
+ @enable_high_availability.setter
333
+ def enable_high_availability(self, value: Optional[pulumi.Input[bool]]):
334
+ pulumi.set(self, "enable_high_availability", value)
335
+
336
+ @property
337
+ @pulumi.getter
338
+ def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
339
+ """
340
+ Labels associated with this resource.
341
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
342
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
343
+ """
344
+ return pulumi.get(self, "labels")
345
+
346
+ @labels.setter
347
+ def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
348
+ pulumi.set(self, "labels", value)
349
+
350
+ @property
351
+ @pulumi.getter
352
+ def location(self) -> Optional[pulumi.Input[str]]:
353
+ """
354
+ Google Cloud Platform location.
355
+
356
+
357
+ - - -
358
+ """
359
+ return pulumi.get(self, "location")
360
+
361
+ @location.setter
362
+ def location(self, value: Optional[pulumi.Input[str]]):
363
+ pulumi.set(self, "location", value)
364
+
365
+ @property
366
+ @pulumi.getter
367
+ def name(self) -> Optional[pulumi.Input[str]]:
368
+ """
369
+ The resource name of VPN connection
370
+ """
371
+ return pulumi.get(self, "name")
372
+
373
+ @name.setter
374
+ def name(self, value: Optional[pulumi.Input[str]]):
375
+ pulumi.set(self, "name", value)
376
+
377
+ @property
378
+ @pulumi.getter(name="natGatewayIp")
379
+ def nat_gateway_ip(self) -> Optional[pulumi.Input[str]]:
380
+ """
381
+ NAT gateway IP, or WAN IP address. If a customer has multiple NAT IPs, the customer needs to configure NAT such that only one external IP maps to the GMEC Anthos cluster.
382
+ This is empty if NAT is not used.
383
+ """
384
+ return pulumi.get(self, "nat_gateway_ip")
385
+
386
+ @nat_gateway_ip.setter
387
+ def nat_gateway_ip(self, value: Optional[pulumi.Input[str]]):
388
+ pulumi.set(self, "nat_gateway_ip", value)
389
+
390
+ @property
391
+ @pulumi.getter
392
+ def project(self) -> Optional[pulumi.Input[str]]:
393
+ """
394
+ The ID of the project in which the resource belongs.
395
+ If it is not provided, the provider project is used.
396
+ """
397
+ return pulumi.get(self, "project")
398
+
399
+ @project.setter
400
+ def project(self, value: Optional[pulumi.Input[str]]):
401
+ pulumi.set(self, "project", value)
402
+
403
+ @property
404
+ @pulumi.getter(name="pulumiLabels")
405
+ def pulumi_labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
406
+ """
407
+ The combination of labels configured directly on the resource
408
+ and default labels configured on the provider.
409
+ """
410
+ return pulumi.get(self, "pulumi_labels")
411
+
412
+ @pulumi_labels.setter
413
+ def pulumi_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
414
+ pulumi.set(self, "pulumi_labels", value)
415
+
416
+ @property
417
+ @pulumi.getter
418
+ def router(self) -> Optional[pulumi.Input[str]]:
419
+ """
420
+ The VPN connection Cloud Router name.
421
+ """
422
+ return pulumi.get(self, "router")
423
+
424
+ @router.setter
425
+ def router(self, value: Optional[pulumi.Input[str]]):
426
+ pulumi.set(self, "router", value)
427
+
428
+ @property
429
+ @pulumi.getter(name="updateTime")
430
+ def update_time(self) -> Optional[pulumi.Input[str]]:
431
+ """
432
+ The time when the VPN connection was last updated.
433
+ """
434
+ return pulumi.get(self, "update_time")
435
+
436
+ @update_time.setter
437
+ def update_time(self, value: Optional[pulumi.Input[str]]):
438
+ pulumi.set(self, "update_time", value)
439
+
440
+ @property
441
+ @pulumi.getter
442
+ def vpc(self) -> Optional[pulumi.Input[str]]:
443
+ """
444
+ The network ID of VPC to connect to.
445
+ """
446
+ return pulumi.get(self, "vpc")
447
+
448
+ @vpc.setter
449
+ def vpc(self, value: Optional[pulumi.Input[str]]):
450
+ pulumi.set(self, "vpc", value)
451
+
452
+ @property
453
+ @pulumi.getter(name="vpcProject")
454
+ def vpc_project(self) -> Optional[pulumi.Input['VpnConnectionVpcProjectArgs']]:
455
+ """
456
+ Project detail of the VPC network. Required if VPC is in a different project than the cluster project.
457
+ Structure is documented below.
458
+ """
459
+ return pulumi.get(self, "vpc_project")
460
+
461
+ @vpc_project.setter
462
+ def vpc_project(self, value: Optional[pulumi.Input['VpnConnectionVpcProjectArgs']]):
463
+ pulumi.set(self, "vpc_project", value)
464
+
465
+
466
+ class VpnConnection(pulumi.CustomResource):
467
+ @overload
468
+ def __init__(__self__,
469
+ resource_name: str,
470
+ opts: Optional[pulumi.ResourceOptions] = None,
471
+ cluster: Optional[pulumi.Input[str]] = None,
472
+ enable_high_availability: Optional[pulumi.Input[bool]] = None,
473
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
474
+ location: Optional[pulumi.Input[str]] = None,
475
+ name: Optional[pulumi.Input[str]] = None,
476
+ nat_gateway_ip: Optional[pulumi.Input[str]] = None,
477
+ project: Optional[pulumi.Input[str]] = None,
478
+ router: Optional[pulumi.Input[str]] = None,
479
+ vpc: Optional[pulumi.Input[str]] = None,
480
+ vpc_project: Optional[pulumi.Input[pulumi.InputType['VpnConnectionVpcProjectArgs']]] = None,
481
+ __props__=None):
482
+ """
483
+ A VPN connection
484
+
485
+ To get more information about VpnConnection, see:
486
+
487
+ * [API documentation](https://cloud.google.com/distributed-cloud/edge/latest/docs/reference/container/rest/v1/projects.locations.vpnConnections)
488
+ * How-to Guides
489
+ * [Google Distributed Cloud Edge](https://cloud.google.com/distributed-cloud/edge/latest/docs)
490
+
491
+ ## Example Usage
492
+ ### Edgecontainer Vpn Connection
493
+
494
+ ```python
495
+ import pulumi
496
+ import pulumi_gcp as gcp
497
+
498
+ project = gcp.organizations.get_project()
499
+ cluster = gcp.edgecontainer.Cluster("cluster",
500
+ location="us-central1",
501
+ authorization=gcp.edgecontainer.ClusterAuthorizationArgs(
502
+ admin_users=gcp.edgecontainer.ClusterAuthorizationAdminUsersArgs(
503
+ username="admin@hashicorptest.com",
504
+ ),
505
+ ),
506
+ networking=gcp.edgecontainer.ClusterNetworkingArgs(
507
+ cluster_ipv4_cidr_blocks=["10.0.0.0/16"],
508
+ services_ipv4_cidr_blocks=["10.1.0.0/16"],
509
+ ),
510
+ fleet=gcp.edgecontainer.ClusterFleetArgs(
511
+ project=f"projects/{project.number}",
512
+ ))
513
+ node_pool = gcp.edgecontainer.NodePool("nodePool",
514
+ cluster=cluster.name,
515
+ location="us-central1",
516
+ node_location="us-central1-edge-example-edgesite",
517
+ node_count=3)
518
+ vpc = gcp.compute.Network("vpc")
519
+ default = gcp.edgecontainer.VpnConnection("default",
520
+ location="us-central1",
521
+ cluster=cluster.name.apply(lambda name: f"projects/{project.number}/locations/us-east1/clusters/{name}"),
522
+ vpc=vpc.name,
523
+ enable_high_availability=True,
524
+ labels={
525
+ "my_key": "my_val",
526
+ "other_key": "other_val",
527
+ },
528
+ opts=pulumi.ResourceOptions(depends_on=[node_pool]))
529
+ ```
530
+
531
+ ## Import
532
+
533
+ VpnConnection can be imported using any of these accepted formats* `projects/{{project}}/locations/{{location}}/vpnConnections` * `{{project}}/{{location}}` * `{{location}}` In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import VpnConnection using one of the formats above. For exampletf import {
534
+
535
+ id = "projects/{{project}}/locations/{{location}}/vpnConnections"
536
+
537
+ to = google_edgecontainer_vpn_connection.default }
538
+
539
+ ```sh
540
+ $ pulumi import gcp:edgecontainer/vpnConnection:VpnConnection When using the [`terraform import` command](https://developer.hashicorp.com/terraform/cli/commands/import), VpnConnection can be imported using one of the formats above. For example
541
+ ```
542
+
543
+ ```sh
544
+ $ pulumi import gcp:edgecontainer/vpnConnection:VpnConnection default projects/{{project}}/locations/{{location}}/vpnConnections
545
+ ```
546
+
547
+ ```sh
548
+ $ pulumi import gcp:edgecontainer/vpnConnection:VpnConnection default {{project}}/{{location}}
549
+ ```
550
+
551
+ ```sh
552
+ $ pulumi import gcp:edgecontainer/vpnConnection:VpnConnection default {{location}}
553
+ ```
554
+
555
+ :param str resource_name: The name of the resource.
556
+ :param pulumi.ResourceOptions opts: Options for the resource.
557
+ :param pulumi.Input[str] cluster: The canonical Cluster name to connect to. It is in the form of projects/{project}/locations/{location}/clusters/{cluster}.
558
+ :param pulumi.Input[bool] enable_high_availability: Whether this VPN connection has HA enabled on cluster side. If enabled, when creating VPN connection we will attempt to use 2 ANG floating IPs.
559
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Labels associated with this resource.
560
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
561
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
562
+ :param pulumi.Input[str] location: Google Cloud Platform location.
563
+
564
+
565
+ - - -
566
+ :param pulumi.Input[str] name: The resource name of VPN connection
567
+ :param pulumi.Input[str] nat_gateway_ip: NAT gateway IP, or WAN IP address. If a customer has multiple NAT IPs, the customer needs to configure NAT such that only one external IP maps to the GMEC Anthos cluster.
568
+ This is empty if NAT is not used.
569
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
570
+ If it is not provided, the provider project is used.
571
+ :param pulumi.Input[str] router: The VPN connection Cloud Router name.
572
+ :param pulumi.Input[str] vpc: The network ID of VPC to connect to.
573
+ :param pulumi.Input[pulumi.InputType['VpnConnectionVpcProjectArgs']] vpc_project: Project detail of the VPC network. Required if VPC is in a different project than the cluster project.
574
+ Structure is documented below.
575
+ """
576
+ ...
577
+ @overload
578
+ def __init__(__self__,
579
+ resource_name: str,
580
+ args: VpnConnectionArgs,
581
+ opts: Optional[pulumi.ResourceOptions] = None):
582
+ """
583
+ A VPN connection
584
+
585
+ To get more information about VpnConnection, see:
586
+
587
+ * [API documentation](https://cloud.google.com/distributed-cloud/edge/latest/docs/reference/container/rest/v1/projects.locations.vpnConnections)
588
+ * How-to Guides
589
+ * [Google Distributed Cloud Edge](https://cloud.google.com/distributed-cloud/edge/latest/docs)
590
+
591
+ ## Example Usage
592
+ ### Edgecontainer Vpn Connection
593
+
594
+ ```python
595
+ import pulumi
596
+ import pulumi_gcp as gcp
597
+
598
+ project = gcp.organizations.get_project()
599
+ cluster = gcp.edgecontainer.Cluster("cluster",
600
+ location="us-central1",
601
+ authorization=gcp.edgecontainer.ClusterAuthorizationArgs(
602
+ admin_users=gcp.edgecontainer.ClusterAuthorizationAdminUsersArgs(
603
+ username="admin@hashicorptest.com",
604
+ ),
605
+ ),
606
+ networking=gcp.edgecontainer.ClusterNetworkingArgs(
607
+ cluster_ipv4_cidr_blocks=["10.0.0.0/16"],
608
+ services_ipv4_cidr_blocks=["10.1.0.0/16"],
609
+ ),
610
+ fleet=gcp.edgecontainer.ClusterFleetArgs(
611
+ project=f"projects/{project.number}",
612
+ ))
613
+ node_pool = gcp.edgecontainer.NodePool("nodePool",
614
+ cluster=cluster.name,
615
+ location="us-central1",
616
+ node_location="us-central1-edge-example-edgesite",
617
+ node_count=3)
618
+ vpc = gcp.compute.Network("vpc")
619
+ default = gcp.edgecontainer.VpnConnection("default",
620
+ location="us-central1",
621
+ cluster=cluster.name.apply(lambda name: f"projects/{project.number}/locations/us-east1/clusters/{name}"),
622
+ vpc=vpc.name,
623
+ enable_high_availability=True,
624
+ labels={
625
+ "my_key": "my_val",
626
+ "other_key": "other_val",
627
+ },
628
+ opts=pulumi.ResourceOptions(depends_on=[node_pool]))
629
+ ```
630
+
631
+ ## Import
632
+
633
+ VpnConnection can be imported using any of these accepted formats* `projects/{{project}}/locations/{{location}}/vpnConnections` * `{{project}}/{{location}}` * `{{location}}` In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import VpnConnection using one of the formats above. For exampletf import {
634
+
635
+ id = "projects/{{project}}/locations/{{location}}/vpnConnections"
636
+
637
+ to = google_edgecontainer_vpn_connection.default }
638
+
639
+ ```sh
640
+ $ pulumi import gcp:edgecontainer/vpnConnection:VpnConnection When using the [`terraform import` command](https://developer.hashicorp.com/terraform/cli/commands/import), VpnConnection can be imported using one of the formats above. For example
641
+ ```
642
+
643
+ ```sh
644
+ $ pulumi import gcp:edgecontainer/vpnConnection:VpnConnection default projects/{{project}}/locations/{{location}}/vpnConnections
645
+ ```
646
+
647
+ ```sh
648
+ $ pulumi import gcp:edgecontainer/vpnConnection:VpnConnection default {{project}}/{{location}}
649
+ ```
650
+
651
+ ```sh
652
+ $ pulumi import gcp:edgecontainer/vpnConnection:VpnConnection default {{location}}
653
+ ```
654
+
655
+ :param str resource_name: The name of the resource.
656
+ :param VpnConnectionArgs args: The arguments to use to populate this resource's properties.
657
+ :param pulumi.ResourceOptions opts: Options for the resource.
658
+ """
659
+ ...
660
+ def __init__(__self__, resource_name: str, *args, **kwargs):
661
+ resource_args, opts = _utilities.get_resource_args_opts(VpnConnectionArgs, pulumi.ResourceOptions, *args, **kwargs)
662
+ if resource_args is not None:
663
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
664
+ else:
665
+ __self__._internal_init(resource_name, *args, **kwargs)
666
+
667
+ def _internal_init(__self__,
668
+ resource_name: str,
669
+ opts: Optional[pulumi.ResourceOptions] = None,
670
+ cluster: Optional[pulumi.Input[str]] = None,
671
+ enable_high_availability: Optional[pulumi.Input[bool]] = None,
672
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
673
+ location: Optional[pulumi.Input[str]] = None,
674
+ name: Optional[pulumi.Input[str]] = None,
675
+ nat_gateway_ip: Optional[pulumi.Input[str]] = None,
676
+ project: Optional[pulumi.Input[str]] = None,
677
+ router: Optional[pulumi.Input[str]] = None,
678
+ vpc: Optional[pulumi.Input[str]] = None,
679
+ vpc_project: Optional[pulumi.Input[pulumi.InputType['VpnConnectionVpcProjectArgs']]] = None,
680
+ __props__=None):
681
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
682
+ if not isinstance(opts, pulumi.ResourceOptions):
683
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
684
+ if opts.id is None:
685
+ if __props__ is not None:
686
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
687
+ __props__ = VpnConnectionArgs.__new__(VpnConnectionArgs)
688
+
689
+ if cluster is None and not opts.urn:
690
+ raise TypeError("Missing required property 'cluster'")
691
+ __props__.__dict__["cluster"] = cluster
692
+ __props__.__dict__["enable_high_availability"] = enable_high_availability
693
+ __props__.__dict__["labels"] = labels
694
+ if location is None and not opts.urn:
695
+ raise TypeError("Missing required property 'location'")
696
+ __props__.__dict__["location"] = location
697
+ __props__.__dict__["name"] = name
698
+ __props__.__dict__["nat_gateway_ip"] = nat_gateway_ip
699
+ __props__.__dict__["project"] = project
700
+ __props__.__dict__["router"] = router
701
+ __props__.__dict__["vpc"] = vpc
702
+ __props__.__dict__["vpc_project"] = vpc_project
703
+ __props__.__dict__["create_time"] = None
704
+ __props__.__dict__["details"] = None
705
+ __props__.__dict__["effective_labels"] = None
706
+ __props__.__dict__["pulumi_labels"] = None
707
+ __props__.__dict__["update_time"] = None
708
+ secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["effectiveLabels", "pulumiLabels"])
709
+ opts = pulumi.ResourceOptions.merge(opts, secret_opts)
710
+ super(VpnConnection, __self__).__init__(
711
+ 'gcp:edgecontainer/vpnConnection:VpnConnection',
712
+ resource_name,
713
+ __props__,
714
+ opts)
715
+
716
+ @staticmethod
717
+ def get(resource_name: str,
718
+ id: pulumi.Input[str],
719
+ opts: Optional[pulumi.ResourceOptions] = None,
720
+ cluster: Optional[pulumi.Input[str]] = None,
721
+ create_time: Optional[pulumi.Input[str]] = None,
722
+ details: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpnConnectionDetailArgs']]]]] = None,
723
+ effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
724
+ enable_high_availability: Optional[pulumi.Input[bool]] = None,
725
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
726
+ location: Optional[pulumi.Input[str]] = None,
727
+ name: Optional[pulumi.Input[str]] = None,
728
+ nat_gateway_ip: Optional[pulumi.Input[str]] = None,
729
+ project: Optional[pulumi.Input[str]] = None,
730
+ pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
731
+ router: Optional[pulumi.Input[str]] = None,
732
+ update_time: Optional[pulumi.Input[str]] = None,
733
+ vpc: Optional[pulumi.Input[str]] = None,
734
+ vpc_project: Optional[pulumi.Input[pulumi.InputType['VpnConnectionVpcProjectArgs']]] = None) -> 'VpnConnection':
735
+ """
736
+ Get an existing VpnConnection resource's state with the given name, id, and optional extra
737
+ properties used to qualify the lookup.
738
+
739
+ :param str resource_name: The unique name of the resulting resource.
740
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
741
+ :param pulumi.ResourceOptions opts: Options for the resource.
742
+ :param pulumi.Input[str] cluster: The canonical Cluster name to connect to. It is in the form of projects/{project}/locations/{location}/clusters/{cluster}.
743
+ :param pulumi.Input[str] create_time: The time when the VPN connection was created.
744
+ :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpnConnectionDetailArgs']]]] details: A nested object resource
745
+ Structure is documented below.
746
+ :param pulumi.Input[Mapping[str, pulumi.Input[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.
747
+ :param pulumi.Input[bool] enable_high_availability: Whether this VPN connection has HA enabled on cluster side. If enabled, when creating VPN connection we will attempt to use 2 ANG floating IPs.
748
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Labels associated with this resource.
749
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
750
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
751
+ :param pulumi.Input[str] location: Google Cloud Platform location.
752
+
753
+
754
+ - - -
755
+ :param pulumi.Input[str] name: The resource name of VPN connection
756
+ :param pulumi.Input[str] nat_gateway_ip: NAT gateway IP, or WAN IP address. If a customer has multiple NAT IPs, the customer needs to configure NAT such that only one external IP maps to the GMEC Anthos cluster.
757
+ This is empty if NAT is not used.
758
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
759
+ If it is not provided, the provider project is used.
760
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource
761
+ and default labels configured on the provider.
762
+ :param pulumi.Input[str] router: The VPN connection Cloud Router name.
763
+ :param pulumi.Input[str] update_time: The time when the VPN connection was last updated.
764
+ :param pulumi.Input[str] vpc: The network ID of VPC to connect to.
765
+ :param pulumi.Input[pulumi.InputType['VpnConnectionVpcProjectArgs']] vpc_project: Project detail of the VPC network. Required if VPC is in a different project than the cluster project.
766
+ Structure is documented below.
767
+ """
768
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
769
+
770
+ __props__ = _VpnConnectionState.__new__(_VpnConnectionState)
771
+
772
+ __props__.__dict__["cluster"] = cluster
773
+ __props__.__dict__["create_time"] = create_time
774
+ __props__.__dict__["details"] = details
775
+ __props__.__dict__["effective_labels"] = effective_labels
776
+ __props__.__dict__["enable_high_availability"] = enable_high_availability
777
+ __props__.__dict__["labels"] = labels
778
+ __props__.__dict__["location"] = location
779
+ __props__.__dict__["name"] = name
780
+ __props__.__dict__["nat_gateway_ip"] = nat_gateway_ip
781
+ __props__.__dict__["project"] = project
782
+ __props__.__dict__["pulumi_labels"] = pulumi_labels
783
+ __props__.__dict__["router"] = router
784
+ __props__.__dict__["update_time"] = update_time
785
+ __props__.__dict__["vpc"] = vpc
786
+ __props__.__dict__["vpc_project"] = vpc_project
787
+ return VpnConnection(resource_name, opts=opts, __props__=__props__)
788
+
789
+ @property
790
+ @pulumi.getter
791
+ def cluster(self) -> pulumi.Output[str]:
792
+ """
793
+ The canonical Cluster name to connect to. It is in the form of projects/{project}/locations/{location}/clusters/{cluster}.
794
+ """
795
+ return pulumi.get(self, "cluster")
796
+
797
+ @property
798
+ @pulumi.getter(name="createTime")
799
+ def create_time(self) -> pulumi.Output[str]:
800
+ """
801
+ The time when the VPN connection was created.
802
+ """
803
+ return pulumi.get(self, "create_time")
804
+
805
+ @property
806
+ @pulumi.getter
807
+ def details(self) -> pulumi.Output[Sequence['outputs.VpnConnectionDetail']]:
808
+ """
809
+ A nested object resource
810
+ Structure is documented below.
811
+ """
812
+ return pulumi.get(self, "details")
813
+
814
+ @property
815
+ @pulumi.getter(name="effectiveLabels")
816
+ def effective_labels(self) -> pulumi.Output[Mapping[str, str]]:
817
+ """
818
+ All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
819
+ """
820
+ return pulumi.get(self, "effective_labels")
821
+
822
+ @property
823
+ @pulumi.getter(name="enableHighAvailability")
824
+ def enable_high_availability(self) -> pulumi.Output[bool]:
825
+ """
826
+ Whether this VPN connection has HA enabled on cluster side. If enabled, when creating VPN connection we will attempt to use 2 ANG floating IPs.
827
+ """
828
+ return pulumi.get(self, "enable_high_availability")
829
+
830
+ @property
831
+ @pulumi.getter
832
+ def labels(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
833
+ """
834
+ Labels associated with this resource.
835
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
836
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
837
+ """
838
+ return pulumi.get(self, "labels")
839
+
840
+ @property
841
+ @pulumi.getter
842
+ def location(self) -> pulumi.Output[str]:
843
+ """
844
+ Google Cloud Platform location.
845
+
846
+
847
+ - - -
848
+ """
849
+ return pulumi.get(self, "location")
850
+
851
+ @property
852
+ @pulumi.getter
853
+ def name(self) -> pulumi.Output[str]:
854
+ """
855
+ The resource name of VPN connection
856
+ """
857
+ return pulumi.get(self, "name")
858
+
859
+ @property
860
+ @pulumi.getter(name="natGatewayIp")
861
+ def nat_gateway_ip(self) -> pulumi.Output[Optional[str]]:
862
+ """
863
+ NAT gateway IP, or WAN IP address. If a customer has multiple NAT IPs, the customer needs to configure NAT such that only one external IP maps to the GMEC Anthos cluster.
864
+ This is empty if NAT is not used.
865
+ """
866
+ return pulumi.get(self, "nat_gateway_ip")
867
+
868
+ @property
869
+ @pulumi.getter
870
+ def project(self) -> pulumi.Output[str]:
871
+ """
872
+ The ID of the project in which the resource belongs.
873
+ If it is not provided, the provider project is used.
874
+ """
875
+ return pulumi.get(self, "project")
876
+
877
+ @property
878
+ @pulumi.getter(name="pulumiLabels")
879
+ def pulumi_labels(self) -> pulumi.Output[Mapping[str, str]]:
880
+ """
881
+ The combination of labels configured directly on the resource
882
+ and default labels configured on the provider.
883
+ """
884
+ return pulumi.get(self, "pulumi_labels")
885
+
886
+ @property
887
+ @pulumi.getter
888
+ def router(self) -> pulumi.Output[Optional[str]]:
889
+ """
890
+ The VPN connection Cloud Router name.
891
+ """
892
+ return pulumi.get(self, "router")
893
+
894
+ @property
895
+ @pulumi.getter(name="updateTime")
896
+ def update_time(self) -> pulumi.Output[str]:
897
+ """
898
+ The time when the VPN connection was last updated.
899
+ """
900
+ return pulumi.get(self, "update_time")
901
+
902
+ @property
903
+ @pulumi.getter
904
+ def vpc(self) -> pulumi.Output[Optional[str]]:
905
+ """
906
+ The network ID of VPC to connect to.
907
+ """
908
+ return pulumi.get(self, "vpc")
909
+
910
+ @property
911
+ @pulumi.getter(name="vpcProject")
912
+ def vpc_project(self) -> pulumi.Output[Optional['outputs.VpnConnectionVpcProject']]:
913
+ """
914
+ Project detail of the VPC network. Required if VPC is in a different project than the cluster project.
915
+ Structure is documented below.
916
+ """
917
+ return pulumi.get(self, "vpc_project")
918
+