pulumi-gcp 7.24.0a1716588893__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 (179) hide show
  1. pulumi_gcp/__init__.py +88 -0
  2. pulumi_gcp/accesscontextmanager/service_perimeter_egress_policy.py +0 -64
  3. pulumi_gcp/accesscontextmanager/service_perimeter_ingress_policy.py +0 -70
  4. pulumi_gcp/alloydb/backup.py +50 -42
  5. pulumi_gcp/alloydb/cluster.py +56 -48
  6. pulumi_gcp/alloydb/instance.py +50 -42
  7. pulumi_gcp/alloydb/user.py +32 -24
  8. pulumi_gcp/apigateway/api_config.py +0 -114
  9. pulumi_gcp/apigateway/gateway.py +0 -44
  10. pulumi_gcp/apigee/addons_config.py +14 -4
  11. pulumi_gcp/apigee/endpoint_attachment.py +4 -2
  12. pulumi_gcp/apigee/env_group.py +4 -2
  13. pulumi_gcp/apigee/environment.py +4 -2
  14. pulumi_gcp/apigee/instance.py +22 -8
  15. pulumi_gcp/apigee/keystores_aliases_self_signed_cert.py +26 -10
  16. pulumi_gcp/apigee/nat_address.py +10 -2
  17. pulumi_gcp/apigee/organization.py +18 -6
  18. pulumi_gcp/apigee/sync_authorization.py +8 -4
  19. pulumi_gcp/apigee/target_server.py +26 -10
  20. pulumi_gcp/appengine/_inputs.py +18 -0
  21. pulumi_gcp/appengine/domain_mapping.py +1 -1
  22. pulumi_gcp/appengine/outputs.py +16 -0
  23. pulumi_gcp/apphub/service.py +40 -20
  24. pulumi_gcp/apphub/service_project_attachment.py +16 -8
  25. pulumi_gcp/apphub/workload.py +0 -418
  26. pulumi_gcp/applicationintegration/auth_config.py +4 -2
  27. pulumi_gcp/artifactregistry/repository.py +14 -12
  28. pulumi_gcp/backupdisasterrecovery/management_server.py +4 -2
  29. pulumi_gcp/bigquery/_inputs.py +286 -2
  30. pulumi_gcp/bigquery/data_transfer_config.py +8 -4
  31. pulumi_gcp/bigquery/job.py +22 -16
  32. pulumi_gcp/bigquery/outputs.py +289 -2
  33. pulumi_gcp/bigquery/table.py +77 -35
  34. pulumi_gcp/certificateauthority/authority.py +10 -2
  35. pulumi_gcp/certificateauthority/certificate.py +8 -4
  36. pulumi_gcp/certificatemanager/certificate.py +84 -80
  37. pulumi_gcp/certificatemanager/certificate_issuance_config.py +32 -30
  38. pulumi_gcp/cloudbuild/bitbucket_server_config.py +12 -6
  39. pulumi_gcp/cloudbuild/trigger.py +22 -14
  40. pulumi_gcp/cloudbuild/worker_pool.py +12 -6
  41. pulumi_gcp/cloudbuildv2/connection.py +10 -2
  42. pulumi_gcp/cloudbuildv2/repository.py +10 -2
  43. pulumi_gcp/cloudfunctionsv2/function.py +110 -66
  44. pulumi_gcp/cloudids/endpoint.py +4 -2
  45. pulumi_gcp/cloudrun/_inputs.py +80 -4
  46. pulumi_gcp/cloudrun/outputs.py +137 -4
  47. pulumi_gcp/cloudrunv2/job.py +32 -20
  48. pulumi_gcp/cloudrunv2/service.py +28 -20
  49. pulumi_gcp/composer/user_workloads_secret.py +4 -4
  50. pulumi_gcp/compute/__init__.py +1 -0
  51. pulumi_gcp/compute/_inputs.py +398 -176
  52. pulumi_gcp/compute/forwarding_rule.py +225 -817
  53. pulumi_gcp/compute/get_subnetworks.py +157 -0
  54. pulumi_gcp/compute/global_forwarding_rule.py +0 -766
  55. pulumi_gcp/compute/instance_group.py +0 -100
  56. pulumi_gcp/compute/instance_group_membership.py +2 -2
  57. pulumi_gcp/compute/interconnect_attachment.py +82 -0
  58. pulumi_gcp/compute/network_endpoint.py +2 -2
  59. pulumi_gcp/compute/network_endpoint_list.py +2 -2
  60. pulumi_gcp/compute/outputs.py +609 -161
  61. pulumi_gcp/compute/packet_mirroring.py +4 -2
  62. pulumi_gcp/compute/region_security_policy_rule.py +4 -2
  63. pulumi_gcp/compute/region_ssl_certificate.py +0 -188
  64. pulumi_gcp/compute/region_ssl_policy.py +39 -40
  65. pulumi_gcp/compute/route.py +10 -2
  66. pulumi_gcp/compute/security_policy_rule.py +55 -1
  67. pulumi_gcp/compute/ssl_certificate.py +0 -166
  68. pulumi_gcp/compute/target_instance.py +4 -2
  69. pulumi_gcp/compute/vpn_gateway.py +12 -2
  70. pulumi_gcp/compute/vpn_tunnel.py +26 -16
  71. pulumi_gcp/container/_inputs.py +560 -0
  72. pulumi_gcp/container/outputs.py +1106 -51
  73. pulumi_gcp/databasemigrationservice/connection_profile.py +32 -16
  74. pulumi_gcp/datacatalog/policy_tag.py +4 -2
  75. pulumi_gcp/datafusion/instance.py +14 -12
  76. pulumi_gcp/dataplex/__init__.py +10 -0
  77. pulumi_gcp/dataplex/_inputs.py +160 -0
  78. pulumi_gcp/dataplex/aspect_type.py +1077 -0
  79. pulumi_gcp/dataplex/aspect_type_iam_binding.py +765 -0
  80. pulumi_gcp/dataplex/aspect_type_iam_member.py +765 -0
  81. pulumi_gcp/dataplex/aspect_type_iam_policy.py +604 -0
  82. pulumi_gcp/dataplex/asset.py +4 -2
  83. pulumi_gcp/dataplex/datascan.py +16 -14
  84. pulumi_gcp/dataplex/entry_group.py +722 -0
  85. pulumi_gcp/dataplex/entry_group_iam_binding.py +765 -0
  86. pulumi_gcp/dataplex/entry_group_iam_member.py +765 -0
  87. pulumi_gcp/dataplex/entry_group_iam_policy.py +604 -0
  88. pulumi_gcp/dataplex/get_aspect_type_iam_policy.py +164 -0
  89. pulumi_gcp/dataplex/get_entry_group_iam_policy.py +164 -0
  90. pulumi_gcp/dataplex/outputs.py +112 -0
  91. pulumi_gcp/datastore/data_store_index.py +4 -2
  92. pulumi_gcp/datastream/connection_profile.py +47 -0
  93. pulumi_gcp/datastream/private_connection.py +47 -0
  94. pulumi_gcp/datastream/stream.py +63 -10
  95. pulumi_gcp/diagflow/cx_test_case.py +4 -4
  96. pulumi_gcp/diagflow/entity_type.py +4 -2
  97. pulumi_gcp/diagflow/fulfillment.py +4 -2
  98. pulumi_gcp/diagflow/intent.py +8 -4
  99. pulumi_gcp/dns/get_managed_zone.py +3 -3
  100. pulumi_gcp/dns/managed_zone.py +7 -7
  101. pulumi_gcp/dns/outputs.py +2 -2
  102. pulumi_gcp/edgecontainer/node_pool.py +4 -2
  103. pulumi_gcp/edgecontainer/vpn_connection.py +4 -2
  104. pulumi_gcp/eventarc/channel.py +4 -2
  105. pulumi_gcp/eventarc/google_channel_config.py +4 -2
  106. pulumi_gcp/firebase/app_check_app_attest_config.py +16 -8
  107. pulumi_gcp/firebase/app_check_debug_token.py +8 -4
  108. pulumi_gcp/firebase/app_check_device_check_config.py +8 -4
  109. pulumi_gcp/firebase/app_check_play_integrity_config.py +16 -8
  110. pulumi_gcp/firebase/app_check_recaptcha_enterprise_config.py +8 -4
  111. pulumi_gcp/firebase/app_check_recaptcha_v3_config.py +8 -4
  112. pulumi_gcp/firebase/app_check_service_config.py +12 -6
  113. pulumi_gcp/firebase/database_instance.py +4 -2
  114. pulumi_gcp/firebaserules/release.py +0 -98
  115. pulumi_gcp/firestore/database.py +24 -20
  116. pulumi_gcp/firestore/document.py +24 -12
  117. pulumi_gcp/folder/access_approval_settings.py +4 -2
  118. pulumi_gcp/gkehub/membership_binding.py +14 -4
  119. pulumi_gcp/gkehub/membership_rbac_role_binding.py +8 -4
  120. pulumi_gcp/gkehub/namespace.py +4 -2
  121. pulumi_gcp/gkehub/scope_rbac_role_binding.py +4 -2
  122. pulumi_gcp/integrationconnectors/connection.py +4 -2
  123. pulumi_gcp/integrationconnectors/managed_zone.py +18 -6
  124. pulumi_gcp/kms/__init__.py +2 -0
  125. pulumi_gcp/kms/autokey_config.py +366 -0
  126. pulumi_gcp/kms/key_handle.py +548 -0
  127. pulumi_gcp/logging/folder_settings.py +12 -10
  128. pulumi_gcp/logging/linked_dataset.py +4 -2
  129. pulumi_gcp/logging/organization_settings.py +12 -10
  130. pulumi_gcp/logging/project_bucket_config.py +4 -2
  131. pulumi_gcp/looker/instance.py +12 -10
  132. pulumi_gcp/netapp/volume_replication.py +4 -2
  133. pulumi_gcp/netapp/volume_snapshot.py +4 -2
  134. pulumi_gcp/networkconnectivity/internal_range.py +14 -12
  135. pulumi_gcp/networksecurity/gateway_security_policy.py +16 -4
  136. pulumi_gcp/networksecurity/tls_inspection_policy.py +22 -4
  137. pulumi_gcp/networkservices/__init__.py +1 -0
  138. pulumi_gcp/networkservices/_inputs.py +245 -27
  139. pulumi_gcp/networkservices/gateway.py +12 -6
  140. pulumi_gcp/networkservices/lb_route_extension.py +663 -0
  141. pulumi_gcp/networkservices/lb_traffic_extension.py +28 -540
  142. pulumi_gcp/networkservices/outputs.py +251 -20
  143. pulumi_gcp/organizations/access_approval_settings.py +4 -2
  144. pulumi_gcp/orgpolicy/policy.py +2 -2
  145. pulumi_gcp/parallelstore/instance.py +20 -18
  146. pulumi_gcp/projects/access_approval_settings.py +4 -2
  147. pulumi_gcp/pubsub/_inputs.py +16 -0
  148. pulumi_gcp/pubsub/outputs.py +25 -0
  149. pulumi_gcp/pubsub/schema.py +4 -2
  150. pulumi_gcp/pubsub/subscription.py +102 -66
  151. pulumi_gcp/pubsub/topic.py +4 -2
  152. pulumi_gcp/pulumi-plugin.json +1 -1
  153. pulumi_gcp/redis/cluster.py +30 -28
  154. pulumi_gcp/redis/instance.py +4 -2
  155. pulumi_gcp/secretmanager/secret.py +4 -2
  156. pulumi_gcp/securesourcemanager/instance.py +20 -8
  157. pulumi_gcp/securitycenter/instance_iam_binding.py +14 -12
  158. pulumi_gcp/securitycenter/instance_iam_member.py +14 -12
  159. pulumi_gcp/securitycenter/instance_iam_policy.py +14 -12
  160. pulumi_gcp/serviceaccount/key.py +2 -2
  161. pulumi_gcp/sql/database_instance.py +4 -2
  162. pulumi_gcp/sql/user.py +4 -4
  163. pulumi_gcp/storage/get_project_service_account.py +4 -2
  164. pulumi_gcp/storage/insights_report_config.py +12 -10
  165. pulumi_gcp/storage/notification.py +18 -16
  166. pulumi_gcp/storage/transfer_agent_pool.py +4 -2
  167. pulumi_gcp/storage/transfer_job.py +14 -4
  168. pulumi_gcp/tpu/_inputs.py +2 -2
  169. pulumi_gcp/tpu/outputs.py +2 -2
  170. pulumi_gcp/tpu/v2_vm.py +10 -6
  171. pulumi_gcp/vertex/ai_endpoint.py +24 -22
  172. pulumi_gcp/vertex/ai_index_endpoint.py +20 -18
  173. pulumi_gcp/vertex/ai_tensorboard.py +14 -12
  174. pulumi_gcp/vmwareengine/external_address.py +4 -2
  175. pulumi_gcp/vmwareengine/network.py +8 -4
  176. {pulumi_gcp-7.24.0a1716588893.dist-info → pulumi_gcp-7.25.0.dist-info}/METADATA +1 -1
  177. {pulumi_gcp-7.24.0a1716588893.dist-info → pulumi_gcp-7.25.0.dist-info}/RECORD +179 -165
  178. {pulumi_gcp-7.24.0a1716588893.dist-info → pulumi_gcp-7.25.0.dist-info}/WHEEL +0 -0
  179. {pulumi_gcp-7.24.0a1716588893.dist-info → pulumi_gcp-7.25.0.dist-info}/top_level.txt +0 -0
@@ -374,89 +374,6 @@ class SSLCertificate(pulumi.CustomResource):
374
374
 
375
375
  ## Example Usage
376
376
 
377
- ### Ssl Certificate Basic
378
-
379
- ```python
380
- import pulumi
381
- import pulumi_gcp as gcp
382
- import pulumi_std as std
383
-
384
- default = gcp.compute.SSLCertificate("default",
385
- name_prefix="my-certificate-",
386
- description="a description",
387
- private_key=std.file(input="path/to/private.key").result,
388
- certificate=std.file(input="path/to/certificate.crt").result)
389
- ```
390
- ### Ssl Certificate Random Provider
391
-
392
- ```python
393
- import pulumi
394
- import pulumi_gcp as gcp
395
- import pulumi_random as random
396
- import pulumi_std as std
397
-
398
- certificate = random.RandomId("certificate",
399
- byte_length=4,
400
- prefix="my-certificate-",
401
- keepers={
402
- "private_key": std.filebase64sha256(input="path/to/private.key").result,
403
- "certificate": std.filebase64sha256(input="path/to/certificate.crt").result,
404
- })
405
- # You may also want to control name generation explicitly:
406
- default = gcp.compute.SSLCertificate("default",
407
- name=certificate.hex,
408
- private_key=std.file(input="path/to/private.key").result,
409
- certificate=std.file(input="path/to/certificate.crt").result)
410
- ```
411
- ### Ssl Certificate Target Https Proxies
412
-
413
- ```python
414
- import pulumi
415
- import pulumi_gcp as gcp
416
- import pulumi_std as std
417
-
418
- # Using with Target HTTPS Proxies
419
- #
420
- # SSL certificates cannot be updated after creation. In order to apply
421
- # the specified configuration, the provider will destroy the existing
422
- # resource and create a replacement. Example:
423
- default = gcp.compute.SSLCertificate("default",
424
- name_prefix="my-certificate-",
425
- private_key=std.file(input="path/to/private.key").result,
426
- certificate=std.file(input="path/to/certificate.crt").result)
427
- default_http_health_check = gcp.compute.HttpHealthCheck("default",
428
- name="http-health-check",
429
- request_path="/",
430
- check_interval_sec=1,
431
- timeout_sec=1)
432
- default_backend_service = gcp.compute.BackendService("default",
433
- name="backend-service",
434
- port_name="http",
435
- protocol="HTTP",
436
- timeout_sec=10,
437
- health_checks=default_http_health_check.id)
438
- default_url_map = gcp.compute.URLMap("default",
439
- name="url-map",
440
- description="a description",
441
- default_service=default_backend_service.id,
442
- host_rules=[gcp.compute.URLMapHostRuleArgs(
443
- hosts=["mysite.com"],
444
- path_matcher="allpaths",
445
- )],
446
- path_matchers=[gcp.compute.URLMapPathMatcherArgs(
447
- name="allpaths",
448
- default_service=default_backend_service.id,
449
- path_rules=[gcp.compute.URLMapPathMatcherPathRuleArgs(
450
- paths=["/*"],
451
- service=default_backend_service.id,
452
- )],
453
- )])
454
- default_target_https_proxy = gcp.compute.TargetHttpsProxy("default",
455
- name="test-proxy",
456
- url_map=default_url_map.id,
457
- ssl_certificates=[default.id])
458
- ```
459
-
460
377
  ## Import
461
378
 
462
379
  SslCertificate can be imported using any of these accepted formats:
@@ -526,89 +443,6 @@ class SSLCertificate(pulumi.CustomResource):
526
443
 
527
444
  ## Example Usage
528
445
 
529
- ### Ssl Certificate Basic
530
-
531
- ```python
532
- import pulumi
533
- import pulumi_gcp as gcp
534
- import pulumi_std as std
535
-
536
- default = gcp.compute.SSLCertificate("default",
537
- name_prefix="my-certificate-",
538
- description="a description",
539
- private_key=std.file(input="path/to/private.key").result,
540
- certificate=std.file(input="path/to/certificate.crt").result)
541
- ```
542
- ### Ssl Certificate Random Provider
543
-
544
- ```python
545
- import pulumi
546
- import pulumi_gcp as gcp
547
- import pulumi_random as random
548
- import pulumi_std as std
549
-
550
- certificate = random.RandomId("certificate",
551
- byte_length=4,
552
- prefix="my-certificate-",
553
- keepers={
554
- "private_key": std.filebase64sha256(input="path/to/private.key").result,
555
- "certificate": std.filebase64sha256(input="path/to/certificate.crt").result,
556
- })
557
- # You may also want to control name generation explicitly:
558
- default = gcp.compute.SSLCertificate("default",
559
- name=certificate.hex,
560
- private_key=std.file(input="path/to/private.key").result,
561
- certificate=std.file(input="path/to/certificate.crt").result)
562
- ```
563
- ### Ssl Certificate Target Https Proxies
564
-
565
- ```python
566
- import pulumi
567
- import pulumi_gcp as gcp
568
- import pulumi_std as std
569
-
570
- # Using with Target HTTPS Proxies
571
- #
572
- # SSL certificates cannot be updated after creation. In order to apply
573
- # the specified configuration, the provider will destroy the existing
574
- # resource and create a replacement. Example:
575
- default = gcp.compute.SSLCertificate("default",
576
- name_prefix="my-certificate-",
577
- private_key=std.file(input="path/to/private.key").result,
578
- certificate=std.file(input="path/to/certificate.crt").result)
579
- default_http_health_check = gcp.compute.HttpHealthCheck("default",
580
- name="http-health-check",
581
- request_path="/",
582
- check_interval_sec=1,
583
- timeout_sec=1)
584
- default_backend_service = gcp.compute.BackendService("default",
585
- name="backend-service",
586
- port_name="http",
587
- protocol="HTTP",
588
- timeout_sec=10,
589
- health_checks=default_http_health_check.id)
590
- default_url_map = gcp.compute.URLMap("default",
591
- name="url-map",
592
- description="a description",
593
- default_service=default_backend_service.id,
594
- host_rules=[gcp.compute.URLMapHostRuleArgs(
595
- hosts=["mysite.com"],
596
- path_matcher="allpaths",
597
- )],
598
- path_matchers=[gcp.compute.URLMapPathMatcherArgs(
599
- name="allpaths",
600
- default_service=default_backend_service.id,
601
- path_rules=[gcp.compute.URLMapPathMatcherPathRuleArgs(
602
- paths=["/*"],
603
- service=default_backend_service.id,
604
- )],
605
- )])
606
- default_target_https_proxy = gcp.compute.TargetHttpsProxy("default",
607
- name="test-proxy",
608
- url_map=default_url_map.id,
609
- ssl_certificates=[default.id])
610
- ```
611
-
612
446
  ## Import
613
447
 
614
448
  SslCertificate can be imported using any of these accepted formats:
@@ -516,7 +516,8 @@ class TargetInstance(pulumi.CustomResource):
516
516
  name="region-secpolicy",
517
517
  region="southamerica-west1",
518
518
  description="basic security policy for target instance",
519
- type="CLOUD_ARMOR_NETWORK")
519
+ type="CLOUD_ARMOR_NETWORK",
520
+ opts=pulumi.ResourceOptions(depends_on=[edge_sec_service]))
520
521
  default_target_instance = gcp.compute.TargetInstance("default",
521
522
  name="target-instance",
522
523
  zone="southamerica-west1-a",
@@ -705,7 +706,8 @@ class TargetInstance(pulumi.CustomResource):
705
706
  name="region-secpolicy",
706
707
  region="southamerica-west1",
707
708
  description="basic security policy for target instance",
708
- type="CLOUD_ARMOR_NETWORK")
709
+ type="CLOUD_ARMOR_NETWORK",
710
+ opts=pulumi.ResourceOptions(depends_on=[edge_sec_service]))
709
711
  default_target_instance = gcp.compute.TargetInstance("default",
710
712
  name="target-instance",
711
713
  zone="southamerica-west1-a",
@@ -330,7 +330,12 @@ class VPNGateway(pulumi.CustomResource):
330
330
  name="tunnel1",
331
331
  peer_ip="15.0.0.120",
332
332
  shared_secret="a secret message",
333
- target_vpn_gateway=target_gateway.id)
333
+ target_vpn_gateway=target_gateway.id,
334
+ opts=pulumi.ResourceOptions(depends_on=[
335
+ fr_esp,
336
+ fr_udp500,
337
+ fr_udp4500,
338
+ ]))
334
339
  route1 = gcp.compute.Route("route1",
335
340
  name="route1",
336
341
  network=network1.name,
@@ -438,7 +443,12 @@ class VPNGateway(pulumi.CustomResource):
438
443
  name="tunnel1",
439
444
  peer_ip="15.0.0.120",
440
445
  shared_secret="a secret message",
441
- target_vpn_gateway=target_gateway.id)
446
+ target_vpn_gateway=target_gateway.id,
447
+ opts=pulumi.ResourceOptions(depends_on=[
448
+ fr_esp,
449
+ fr_udp500,
450
+ fr_udp4500,
451
+ ]))
442
452
  route1 = gcp.compute.Route("route1",
443
453
  name="route1",
444
454
  network=network1.name,
@@ -859,14 +859,6 @@ class VPNTunnel(pulumi.CustomResource):
859
859
  target_gateway = gcp.compute.VPNGateway("target_gateway",
860
860
  name="vpn-1",
861
861
  network=network1.id)
862
- tunnel1 = gcp.compute.VPNTunnel("tunnel1",
863
- name="tunnel-1",
864
- peer_ip="15.0.0.120",
865
- shared_secret="a secret message",
866
- target_vpn_gateway=target_gateway.id,
867
- labels={
868
- "foo": "bar",
869
- })
870
862
  vpn_static_ip = gcp.compute.Address("vpn_static_ip", name="vpn-static-ip")
871
863
  fr_esp = gcp.compute.ForwardingRule("fr_esp",
872
864
  name="fr-esp",
@@ -885,6 +877,19 @@ class VPNTunnel(pulumi.CustomResource):
885
877
  port_range="4500",
886
878
  ip_address=vpn_static_ip.address,
887
879
  target=target_gateway.id)
880
+ tunnel1 = gcp.compute.VPNTunnel("tunnel1",
881
+ name="tunnel-1",
882
+ peer_ip="15.0.0.120",
883
+ shared_secret="a secret message",
884
+ target_vpn_gateway=target_gateway.id,
885
+ labels={
886
+ "foo": "bar",
887
+ },
888
+ opts=pulumi.ResourceOptions(depends_on=[
889
+ fr_esp,
890
+ fr_udp500,
891
+ fr_udp4500,
892
+ ]))
888
893
  route1 = gcp.compute.Route("route1",
889
894
  name="route1",
890
895
  network=network1.name,
@@ -999,14 +1004,6 @@ class VPNTunnel(pulumi.CustomResource):
999
1004
  target_gateway = gcp.compute.VPNGateway("target_gateway",
1000
1005
  name="vpn-1",
1001
1006
  network=network1.id)
1002
- tunnel1 = gcp.compute.VPNTunnel("tunnel1",
1003
- name="tunnel-1",
1004
- peer_ip="15.0.0.120",
1005
- shared_secret="a secret message",
1006
- target_vpn_gateway=target_gateway.id,
1007
- labels={
1008
- "foo": "bar",
1009
- })
1010
1007
  vpn_static_ip = gcp.compute.Address("vpn_static_ip", name="vpn-static-ip")
1011
1008
  fr_esp = gcp.compute.ForwardingRule("fr_esp",
1012
1009
  name="fr-esp",
@@ -1025,6 +1022,19 @@ class VPNTunnel(pulumi.CustomResource):
1025
1022
  port_range="4500",
1026
1023
  ip_address=vpn_static_ip.address,
1027
1024
  target=target_gateway.id)
1025
+ tunnel1 = gcp.compute.VPNTunnel("tunnel1",
1026
+ name="tunnel-1",
1027
+ peer_ip="15.0.0.120",
1028
+ shared_secret="a secret message",
1029
+ target_vpn_gateway=target_gateway.id,
1030
+ labels={
1031
+ "foo": "bar",
1032
+ },
1033
+ opts=pulumi.ResourceOptions(depends_on=[
1034
+ fr_esp,
1035
+ fr_udp500,
1036
+ fr_udp4500,
1037
+ ]))
1028
1038
  route1 = gcp.compute.Route("route1",
1029
1039
  name="route1",
1030
1040
  network=network1.name,