pulumi-gcp 8.3.1a1727284265__py3-none-any.whl → 8.4.0a1727795436__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.
- pulumi_gcp/__init__.py +24 -0
- pulumi_gcp/apigee/nat_address.py +155 -2
- pulumi_gcp/bigquery/_inputs.py +102 -0
- pulumi_gcp/bigquery/outputs.py +83 -0
- pulumi_gcp/bigquery/table.py +47 -0
- pulumi_gcp/cloudrun/_inputs.py +26 -0
- pulumi_gcp/cloudrun/outputs.py +33 -0
- pulumi_gcp/cloudrun/service.py +76 -0
- pulumi_gcp/cloudrunv2/_inputs.py +65 -9
- pulumi_gcp/cloudrunv2/outputs.py +73 -8
- pulumi_gcp/cloudrunv2/service.py +64 -0
- pulumi_gcp/compute/__init__.py +3 -0
- pulumi_gcp/compute/_inputs.py +1941 -2
- pulumi_gcp/compute/get_region_instance_group_manager.py +438 -0
- pulumi_gcp/compute/get_router_nat.py +11 -1
- pulumi_gcp/compute/instance.py +7 -7
- pulumi_gcp/compute/instance_from_machine_image.py +7 -7
- pulumi_gcp/compute/instance_from_template.py +7 -7
- pulumi_gcp/compute/interconnect.py +76 -64
- pulumi_gcp/compute/outputs.py +4637 -2640
- pulumi_gcp/compute/region_commitment.py +47 -0
- pulumi_gcp/compute/region_network_firewall_policy_with_rules.py +835 -0
- pulumi_gcp/compute/router_nat.py +56 -2
- pulumi_gcp/compute/router_nat_address.py +514 -0
- pulumi_gcp/compute/subnetwork.py +14 -14
- pulumi_gcp/container/_inputs.py +222 -0
- pulumi_gcp/container/outputs.py +279 -2
- pulumi_gcp/logging/__init__.py +1 -0
- pulumi_gcp/logging/log_scope.py +492 -0
- pulumi_gcp/looker/_inputs.py +157 -0
- pulumi_gcp/looker/instance.py +143 -0
- pulumi_gcp/looker/outputs.py +136 -0
- pulumi_gcp/networkconnectivity/_inputs.py +72 -3
- pulumi_gcp/networkconnectivity/outputs.py +51 -3
- pulumi_gcp/networkconnectivity/spoke.py +310 -0
- pulumi_gcp/networksecurity/security_profile.py +2 -2
- pulumi_gcp/privilegedaccessmanager/__init__.py +1 -0
- pulumi_gcp/privilegedaccessmanager/get_entitlement.py +219 -0
- pulumi_gcp/privilegedaccessmanager/outputs.py +312 -0
- pulumi_gcp/pulumi-plugin.json +1 -1
- pulumi_gcp/secretmanager/__init__.py +2 -0
- pulumi_gcp/secretmanager/get_regional_secret_version.py +2 -2
- pulumi_gcp/secretmanager/get_regional_secret_version_access.py +188 -0
- pulumi_gcp/secretmanager/get_regional_secrets.py +156 -0
- pulumi_gcp/secretmanager/outputs.py +265 -0
- {pulumi_gcp-8.3.1a1727284265.dist-info → pulumi_gcp-8.4.0a1727795436.dist-info}/METADATA +1 -1
- {pulumi_gcp-8.3.1a1727284265.dist-info → pulumi_gcp-8.4.0a1727795436.dist-info}/RECORD +49 -42
- {pulumi_gcp-8.3.1a1727284265.dist-info → pulumi_gcp-8.4.0a1727795436.dist-info}/WHEEL +0 -0
- {pulumi_gcp-8.3.1a1727284265.dist-info → pulumi_gcp-8.4.0a1727795436.dist-info}/top_level.txt +0 -0
@@ -515,6 +515,8 @@ class SpokeLinkedInterconnectAttachments(dict):
|
|
515
515
|
suggest = None
|
516
516
|
if key == "siteToSiteDataTransfer":
|
517
517
|
suggest = "site_to_site_data_transfer"
|
518
|
+
elif key == "includeImportRanges":
|
519
|
+
suggest = "include_import_ranges"
|
518
520
|
|
519
521
|
if suggest:
|
520
522
|
pulumi.log.warn(f"Key '{key}' not found in SpokeLinkedInterconnectAttachments. Access the value via the '{suggest}' property getter instead.")
|
@@ -529,13 +531,18 @@ class SpokeLinkedInterconnectAttachments(dict):
|
|
529
531
|
|
530
532
|
def __init__(__self__, *,
|
531
533
|
site_to_site_data_transfer: bool,
|
532
|
-
uris: Sequence[str]
|
534
|
+
uris: Sequence[str],
|
535
|
+
include_import_ranges: Optional[Sequence[str]] = None):
|
533
536
|
"""
|
534
537
|
:param bool site_to_site_data_transfer: A value that controls whether site-to-site data transfer is enabled for these resources. Note that data transfer is available only in supported locations.
|
535
538
|
:param Sequence[str] uris: The URIs of linked interconnect attachment resources
|
539
|
+
:param Sequence[str] include_import_ranges: IP ranges allowed to be included during import from hub (does not control transit connectivity).
|
540
|
+
The only allowed value for now is "ALL_IPV4_RANGES".
|
536
541
|
"""
|
537
542
|
pulumi.set(__self__, "site_to_site_data_transfer", site_to_site_data_transfer)
|
538
543
|
pulumi.set(__self__, "uris", uris)
|
544
|
+
if include_import_ranges is not None:
|
545
|
+
pulumi.set(__self__, "include_import_ranges", include_import_ranges)
|
539
546
|
|
540
547
|
@property
|
541
548
|
@pulumi.getter(name="siteToSiteDataTransfer")
|
@@ -553,6 +560,15 @@ class SpokeLinkedInterconnectAttachments(dict):
|
|
553
560
|
"""
|
554
561
|
return pulumi.get(self, "uris")
|
555
562
|
|
563
|
+
@property
|
564
|
+
@pulumi.getter(name="includeImportRanges")
|
565
|
+
def include_import_ranges(self) -> Optional[Sequence[str]]:
|
566
|
+
"""
|
567
|
+
IP ranges allowed to be included during import from hub (does not control transit connectivity).
|
568
|
+
The only allowed value for now is "ALL_IPV4_RANGES".
|
569
|
+
"""
|
570
|
+
return pulumi.get(self, "include_import_ranges")
|
571
|
+
|
556
572
|
|
557
573
|
@pulumi.output_type
|
558
574
|
class SpokeLinkedRouterApplianceInstances(dict):
|
@@ -561,6 +577,8 @@ class SpokeLinkedRouterApplianceInstances(dict):
|
|
561
577
|
suggest = None
|
562
578
|
if key == "siteToSiteDataTransfer":
|
563
579
|
suggest = "site_to_site_data_transfer"
|
580
|
+
elif key == "includeImportRanges":
|
581
|
+
suggest = "include_import_ranges"
|
564
582
|
|
565
583
|
if suggest:
|
566
584
|
pulumi.log.warn(f"Key '{key}' not found in SpokeLinkedRouterApplianceInstances. Access the value via the '{suggest}' property getter instead.")
|
@@ -575,14 +593,19 @@ class SpokeLinkedRouterApplianceInstances(dict):
|
|
575
593
|
|
576
594
|
def __init__(__self__, *,
|
577
595
|
instances: Sequence['outputs.SpokeLinkedRouterApplianceInstancesInstance'],
|
578
|
-
site_to_site_data_transfer: bool
|
596
|
+
site_to_site_data_transfer: bool,
|
597
|
+
include_import_ranges: Optional[Sequence[str]] = None):
|
579
598
|
"""
|
580
599
|
:param Sequence['SpokeLinkedRouterApplianceInstancesInstanceArgs'] instances: The list of router appliance instances
|
581
600
|
Structure is documented below.
|
582
601
|
:param bool site_to_site_data_transfer: A value that controls whether site-to-site data transfer is enabled for these resources. Note that data transfer is available only in supported locations.
|
602
|
+
:param Sequence[str] include_import_ranges: IP ranges allowed to be included during import from hub (does not control transit connectivity).
|
603
|
+
The only allowed value for now is "ALL_IPV4_RANGES".
|
583
604
|
"""
|
584
605
|
pulumi.set(__self__, "instances", instances)
|
585
606
|
pulumi.set(__self__, "site_to_site_data_transfer", site_to_site_data_transfer)
|
607
|
+
if include_import_ranges is not None:
|
608
|
+
pulumi.set(__self__, "include_import_ranges", include_import_ranges)
|
586
609
|
|
587
610
|
@property
|
588
611
|
@pulumi.getter
|
@@ -601,6 +624,15 @@ class SpokeLinkedRouterApplianceInstances(dict):
|
|
601
624
|
"""
|
602
625
|
return pulumi.get(self, "site_to_site_data_transfer")
|
603
626
|
|
627
|
+
@property
|
628
|
+
@pulumi.getter(name="includeImportRanges")
|
629
|
+
def include_import_ranges(self) -> Optional[Sequence[str]]:
|
630
|
+
"""
|
631
|
+
IP ranges allowed to be included during import from hub (does not control transit connectivity).
|
632
|
+
The only allowed value for now is "ALL_IPV4_RANGES".
|
633
|
+
"""
|
634
|
+
return pulumi.get(self, "include_import_ranges")
|
635
|
+
|
604
636
|
|
605
637
|
@pulumi.output_type
|
606
638
|
class SpokeLinkedRouterApplianceInstancesInstance(dict):
|
@@ -720,6 +752,8 @@ class SpokeLinkedVpnTunnels(dict):
|
|
720
752
|
suggest = None
|
721
753
|
if key == "siteToSiteDataTransfer":
|
722
754
|
suggest = "site_to_site_data_transfer"
|
755
|
+
elif key == "includeImportRanges":
|
756
|
+
suggest = "include_import_ranges"
|
723
757
|
|
724
758
|
if suggest:
|
725
759
|
pulumi.log.warn(f"Key '{key}' not found in SpokeLinkedVpnTunnels. Access the value via the '{suggest}' property getter instead.")
|
@@ -734,13 +768,18 @@ class SpokeLinkedVpnTunnels(dict):
|
|
734
768
|
|
735
769
|
def __init__(__self__, *,
|
736
770
|
site_to_site_data_transfer: bool,
|
737
|
-
uris: Sequence[str]
|
771
|
+
uris: Sequence[str],
|
772
|
+
include_import_ranges: Optional[Sequence[str]] = None):
|
738
773
|
"""
|
739
774
|
:param bool site_to_site_data_transfer: A value that controls whether site-to-site data transfer is enabled for these resources. Note that data transfer is available only in supported locations.
|
740
775
|
:param Sequence[str] uris: The URIs of linked VPN tunnel resources.
|
776
|
+
:param Sequence[str] include_import_ranges: IP ranges allowed to be included during import from hub (does not control transit connectivity).
|
777
|
+
The only allowed value for now is "ALL_IPV4_RANGES".
|
741
778
|
"""
|
742
779
|
pulumi.set(__self__, "site_to_site_data_transfer", site_to_site_data_transfer)
|
743
780
|
pulumi.set(__self__, "uris", uris)
|
781
|
+
if include_import_ranges is not None:
|
782
|
+
pulumi.set(__self__, "include_import_ranges", include_import_ranges)
|
744
783
|
|
745
784
|
@property
|
746
785
|
@pulumi.getter(name="siteToSiteDataTransfer")
|
@@ -758,4 +797,13 @@ class SpokeLinkedVpnTunnels(dict):
|
|
758
797
|
"""
|
759
798
|
return pulumi.get(self, "uris")
|
760
799
|
|
800
|
+
@property
|
801
|
+
@pulumi.getter(name="includeImportRanges")
|
802
|
+
def include_import_ranges(self) -> Optional[Sequence[str]]:
|
803
|
+
"""
|
804
|
+
IP ranges allowed to be included during import from hub (does not control transit connectivity).
|
805
|
+
The only allowed value for now is "ALL_IPV4_RANGES".
|
806
|
+
"""
|
807
|
+
return pulumi.get(self, "include_import_ranges")
|
808
|
+
|
761
809
|
|
@@ -603,6 +603,161 @@ class Spoke(pulumi.CustomResource):
|
|
603
603
|
"ip_address": "10.0.0.2",
|
604
604
|
}],
|
605
605
|
"site_to_site_data_transfer": True,
|
606
|
+
"include_import_ranges": ["ALL_IPV4_RANGES"],
|
607
|
+
})
|
608
|
+
```
|
609
|
+
### Network Connectivity Spoke Vpn Tunnel Basic
|
610
|
+
|
611
|
+
```python
|
612
|
+
import pulumi
|
613
|
+
import pulumi_gcp as gcp
|
614
|
+
|
615
|
+
basic_hub = gcp.networkconnectivity.Hub("basic_hub",
|
616
|
+
name="basic-hub1",
|
617
|
+
description="A sample hub",
|
618
|
+
labels={
|
619
|
+
"label-two": "value-one",
|
620
|
+
})
|
621
|
+
network = gcp.compute.Network("network",
|
622
|
+
name="basic-network",
|
623
|
+
auto_create_subnetworks=False)
|
624
|
+
subnetwork = gcp.compute.Subnetwork("subnetwork",
|
625
|
+
name="basic-subnetwork",
|
626
|
+
ip_cidr_range="10.0.0.0/28",
|
627
|
+
region="us-central1",
|
628
|
+
network=network.self_link)
|
629
|
+
gateway = gcp.compute.HaVpnGateway("gateway",
|
630
|
+
name="vpn-gateway",
|
631
|
+
network=network.id)
|
632
|
+
external_vpn_gw = gcp.compute.ExternalVpnGateway("external_vpn_gw",
|
633
|
+
name="external-vpn-gateway",
|
634
|
+
redundancy_type="SINGLE_IP_INTERNALLY_REDUNDANT",
|
635
|
+
description="An externally managed VPN gateway",
|
636
|
+
interfaces=[{
|
637
|
+
"id": 0,
|
638
|
+
"ip_address": "8.8.8.8",
|
639
|
+
}])
|
640
|
+
router = gcp.compute.Router("router",
|
641
|
+
name="external-vpn-gateway",
|
642
|
+
region="us-central1",
|
643
|
+
network=network.name,
|
644
|
+
bgp={
|
645
|
+
"asn": 64514,
|
646
|
+
})
|
647
|
+
tunnel1 = gcp.compute.VPNTunnel("tunnel1",
|
648
|
+
name="tunnel1",
|
649
|
+
region="us-central1",
|
650
|
+
vpn_gateway=gateway.id,
|
651
|
+
peer_external_gateway=external_vpn_gw.id,
|
652
|
+
peer_external_gateway_interface=0,
|
653
|
+
shared_secret="a secret message",
|
654
|
+
router=router.id,
|
655
|
+
vpn_gateway_interface=0)
|
656
|
+
tunnel2 = gcp.compute.VPNTunnel("tunnel2",
|
657
|
+
name="tunnel2",
|
658
|
+
region="us-central1",
|
659
|
+
vpn_gateway=gateway.id,
|
660
|
+
peer_external_gateway=external_vpn_gw.id,
|
661
|
+
peer_external_gateway_interface=0,
|
662
|
+
shared_secret="a secret message",
|
663
|
+
router=router.id.apply(lambda id: f" {id}"),
|
664
|
+
vpn_gateway_interface=1)
|
665
|
+
router_interface1 = gcp.compute.RouterInterface("router_interface1",
|
666
|
+
name="router-interface1",
|
667
|
+
router=router.name,
|
668
|
+
region="us-central1",
|
669
|
+
ip_range="169.254.0.1/30",
|
670
|
+
vpn_tunnel=tunnel1.name)
|
671
|
+
router_peer1 = gcp.compute.RouterPeer("router_peer1",
|
672
|
+
name="router-peer1",
|
673
|
+
router=router.name,
|
674
|
+
region="us-central1",
|
675
|
+
peer_ip_address="169.254.0.2",
|
676
|
+
peer_asn=64515,
|
677
|
+
advertised_route_priority=100,
|
678
|
+
interface=router_interface1.name)
|
679
|
+
router_interface2 = gcp.compute.RouterInterface("router_interface2",
|
680
|
+
name="router-interface2",
|
681
|
+
router=router.name,
|
682
|
+
region="us-central1",
|
683
|
+
ip_range="169.254.1.1/30",
|
684
|
+
vpn_tunnel=tunnel2.name)
|
685
|
+
router_peer2 = gcp.compute.RouterPeer("router_peer2",
|
686
|
+
name="router-peer2",
|
687
|
+
router=router.name,
|
688
|
+
region="us-central1",
|
689
|
+
peer_ip_address="169.254.1.2",
|
690
|
+
peer_asn=64515,
|
691
|
+
advertised_route_priority=100,
|
692
|
+
interface=router_interface2.name)
|
693
|
+
tunnel1_spoke = gcp.networkconnectivity.Spoke("tunnel1",
|
694
|
+
name="vpn-tunnel-1-spoke",
|
695
|
+
location="us-central1",
|
696
|
+
description="A sample spoke with a linked VPN Tunnel",
|
697
|
+
labels={
|
698
|
+
"label-one": "value-one",
|
699
|
+
},
|
700
|
+
hub=basic_hub.id,
|
701
|
+
linked_vpn_tunnels={
|
702
|
+
"uris": [tunnel1.self_link],
|
703
|
+
"site_to_site_data_transfer": True,
|
704
|
+
"include_import_ranges": ["ALL_IPV4_RANGES"],
|
705
|
+
})
|
706
|
+
tunnel2_spoke = gcp.networkconnectivity.Spoke("tunnel2",
|
707
|
+
name="vpn-tunnel-2-spoke",
|
708
|
+
location="us-central1",
|
709
|
+
description="A sample spoke with a linked VPN Tunnel",
|
710
|
+
labels={
|
711
|
+
"label-one": "value-one",
|
712
|
+
},
|
713
|
+
hub=basic_hub.id,
|
714
|
+
linked_vpn_tunnels={
|
715
|
+
"uris": [tunnel2.self_link],
|
716
|
+
"site_to_site_data_transfer": True,
|
717
|
+
"include_import_ranges": ["ALL_IPV4_RANGES"],
|
718
|
+
})
|
719
|
+
```
|
720
|
+
### Network Connectivity Spoke Interconnect Attachment Basic
|
721
|
+
|
722
|
+
```python
|
723
|
+
import pulumi
|
724
|
+
import pulumi_gcp as gcp
|
725
|
+
|
726
|
+
basic_hub = gcp.networkconnectivity.Hub("basic_hub",
|
727
|
+
name="basic-hub1",
|
728
|
+
description="A sample hub",
|
729
|
+
labels={
|
730
|
+
"label-two": "value-one",
|
731
|
+
})
|
732
|
+
network = gcp.compute.Network("network",
|
733
|
+
name="basic-network",
|
734
|
+
auto_create_subnetworks=False)
|
735
|
+
router = gcp.compute.Router("router",
|
736
|
+
name="external-vpn-gateway",
|
737
|
+
region="us-central1",
|
738
|
+
network=network.name,
|
739
|
+
bgp={
|
740
|
+
"asn": 16550,
|
741
|
+
})
|
742
|
+
interconnect_attachment = gcp.compute.InterconnectAttachment("interconnect-attachment",
|
743
|
+
name="partner-interconnect1",
|
744
|
+
edge_availability_domain="AVAILABILITY_DOMAIN_1",
|
745
|
+
type="PARTNER",
|
746
|
+
router=router.id,
|
747
|
+
mtu="1500",
|
748
|
+
region="us-central1")
|
749
|
+
primary = gcp.networkconnectivity.Spoke("primary",
|
750
|
+
name="interconnect-attachment-spoke",
|
751
|
+
location="us-central1",
|
752
|
+
description="A sample spoke with a linked Interconnect Attachment",
|
753
|
+
labels={
|
754
|
+
"label-one": "value-one",
|
755
|
+
},
|
756
|
+
hub=basic_hub.id,
|
757
|
+
linked_interconnect_attachments={
|
758
|
+
"uris": [interconnect_attachment.self_link],
|
759
|
+
"site_to_site_data_transfer": True,
|
760
|
+
"include_import_ranges": ["ALL_IPV4_RANGES"],
|
606
761
|
})
|
607
762
|
```
|
608
763
|
|
@@ -756,6 +911,161 @@ class Spoke(pulumi.CustomResource):
|
|
756
911
|
"ip_address": "10.0.0.2",
|
757
912
|
}],
|
758
913
|
"site_to_site_data_transfer": True,
|
914
|
+
"include_import_ranges": ["ALL_IPV4_RANGES"],
|
915
|
+
})
|
916
|
+
```
|
917
|
+
### Network Connectivity Spoke Vpn Tunnel Basic
|
918
|
+
|
919
|
+
```python
|
920
|
+
import pulumi
|
921
|
+
import pulumi_gcp as gcp
|
922
|
+
|
923
|
+
basic_hub = gcp.networkconnectivity.Hub("basic_hub",
|
924
|
+
name="basic-hub1",
|
925
|
+
description="A sample hub",
|
926
|
+
labels={
|
927
|
+
"label-two": "value-one",
|
928
|
+
})
|
929
|
+
network = gcp.compute.Network("network",
|
930
|
+
name="basic-network",
|
931
|
+
auto_create_subnetworks=False)
|
932
|
+
subnetwork = gcp.compute.Subnetwork("subnetwork",
|
933
|
+
name="basic-subnetwork",
|
934
|
+
ip_cidr_range="10.0.0.0/28",
|
935
|
+
region="us-central1",
|
936
|
+
network=network.self_link)
|
937
|
+
gateway = gcp.compute.HaVpnGateway("gateway",
|
938
|
+
name="vpn-gateway",
|
939
|
+
network=network.id)
|
940
|
+
external_vpn_gw = gcp.compute.ExternalVpnGateway("external_vpn_gw",
|
941
|
+
name="external-vpn-gateway",
|
942
|
+
redundancy_type="SINGLE_IP_INTERNALLY_REDUNDANT",
|
943
|
+
description="An externally managed VPN gateway",
|
944
|
+
interfaces=[{
|
945
|
+
"id": 0,
|
946
|
+
"ip_address": "8.8.8.8",
|
947
|
+
}])
|
948
|
+
router = gcp.compute.Router("router",
|
949
|
+
name="external-vpn-gateway",
|
950
|
+
region="us-central1",
|
951
|
+
network=network.name,
|
952
|
+
bgp={
|
953
|
+
"asn": 64514,
|
954
|
+
})
|
955
|
+
tunnel1 = gcp.compute.VPNTunnel("tunnel1",
|
956
|
+
name="tunnel1",
|
957
|
+
region="us-central1",
|
958
|
+
vpn_gateway=gateway.id,
|
959
|
+
peer_external_gateway=external_vpn_gw.id,
|
960
|
+
peer_external_gateway_interface=0,
|
961
|
+
shared_secret="a secret message",
|
962
|
+
router=router.id,
|
963
|
+
vpn_gateway_interface=0)
|
964
|
+
tunnel2 = gcp.compute.VPNTunnel("tunnel2",
|
965
|
+
name="tunnel2",
|
966
|
+
region="us-central1",
|
967
|
+
vpn_gateway=gateway.id,
|
968
|
+
peer_external_gateway=external_vpn_gw.id,
|
969
|
+
peer_external_gateway_interface=0,
|
970
|
+
shared_secret="a secret message",
|
971
|
+
router=router.id.apply(lambda id: f" {id}"),
|
972
|
+
vpn_gateway_interface=1)
|
973
|
+
router_interface1 = gcp.compute.RouterInterface("router_interface1",
|
974
|
+
name="router-interface1",
|
975
|
+
router=router.name,
|
976
|
+
region="us-central1",
|
977
|
+
ip_range="169.254.0.1/30",
|
978
|
+
vpn_tunnel=tunnel1.name)
|
979
|
+
router_peer1 = gcp.compute.RouterPeer("router_peer1",
|
980
|
+
name="router-peer1",
|
981
|
+
router=router.name,
|
982
|
+
region="us-central1",
|
983
|
+
peer_ip_address="169.254.0.2",
|
984
|
+
peer_asn=64515,
|
985
|
+
advertised_route_priority=100,
|
986
|
+
interface=router_interface1.name)
|
987
|
+
router_interface2 = gcp.compute.RouterInterface("router_interface2",
|
988
|
+
name="router-interface2",
|
989
|
+
router=router.name,
|
990
|
+
region="us-central1",
|
991
|
+
ip_range="169.254.1.1/30",
|
992
|
+
vpn_tunnel=tunnel2.name)
|
993
|
+
router_peer2 = gcp.compute.RouterPeer("router_peer2",
|
994
|
+
name="router-peer2",
|
995
|
+
router=router.name,
|
996
|
+
region="us-central1",
|
997
|
+
peer_ip_address="169.254.1.2",
|
998
|
+
peer_asn=64515,
|
999
|
+
advertised_route_priority=100,
|
1000
|
+
interface=router_interface2.name)
|
1001
|
+
tunnel1_spoke = gcp.networkconnectivity.Spoke("tunnel1",
|
1002
|
+
name="vpn-tunnel-1-spoke",
|
1003
|
+
location="us-central1",
|
1004
|
+
description="A sample spoke with a linked VPN Tunnel",
|
1005
|
+
labels={
|
1006
|
+
"label-one": "value-one",
|
1007
|
+
},
|
1008
|
+
hub=basic_hub.id,
|
1009
|
+
linked_vpn_tunnels={
|
1010
|
+
"uris": [tunnel1.self_link],
|
1011
|
+
"site_to_site_data_transfer": True,
|
1012
|
+
"include_import_ranges": ["ALL_IPV4_RANGES"],
|
1013
|
+
})
|
1014
|
+
tunnel2_spoke = gcp.networkconnectivity.Spoke("tunnel2",
|
1015
|
+
name="vpn-tunnel-2-spoke",
|
1016
|
+
location="us-central1",
|
1017
|
+
description="A sample spoke with a linked VPN Tunnel",
|
1018
|
+
labels={
|
1019
|
+
"label-one": "value-one",
|
1020
|
+
},
|
1021
|
+
hub=basic_hub.id,
|
1022
|
+
linked_vpn_tunnels={
|
1023
|
+
"uris": [tunnel2.self_link],
|
1024
|
+
"site_to_site_data_transfer": True,
|
1025
|
+
"include_import_ranges": ["ALL_IPV4_RANGES"],
|
1026
|
+
})
|
1027
|
+
```
|
1028
|
+
### Network Connectivity Spoke Interconnect Attachment Basic
|
1029
|
+
|
1030
|
+
```python
|
1031
|
+
import pulumi
|
1032
|
+
import pulumi_gcp as gcp
|
1033
|
+
|
1034
|
+
basic_hub = gcp.networkconnectivity.Hub("basic_hub",
|
1035
|
+
name="basic-hub1",
|
1036
|
+
description="A sample hub",
|
1037
|
+
labels={
|
1038
|
+
"label-two": "value-one",
|
1039
|
+
})
|
1040
|
+
network = gcp.compute.Network("network",
|
1041
|
+
name="basic-network",
|
1042
|
+
auto_create_subnetworks=False)
|
1043
|
+
router = gcp.compute.Router("router",
|
1044
|
+
name="external-vpn-gateway",
|
1045
|
+
region="us-central1",
|
1046
|
+
network=network.name,
|
1047
|
+
bgp={
|
1048
|
+
"asn": 16550,
|
1049
|
+
})
|
1050
|
+
interconnect_attachment = gcp.compute.InterconnectAttachment("interconnect-attachment",
|
1051
|
+
name="partner-interconnect1",
|
1052
|
+
edge_availability_domain="AVAILABILITY_DOMAIN_1",
|
1053
|
+
type="PARTNER",
|
1054
|
+
router=router.id,
|
1055
|
+
mtu="1500",
|
1056
|
+
region="us-central1")
|
1057
|
+
primary = gcp.networkconnectivity.Spoke("primary",
|
1058
|
+
name="interconnect-attachment-spoke",
|
1059
|
+
location="us-central1",
|
1060
|
+
description="A sample spoke with a linked Interconnect Attachment",
|
1061
|
+
labels={
|
1062
|
+
"label-one": "value-one",
|
1063
|
+
},
|
1064
|
+
hub=basic_hub.id,
|
1065
|
+
linked_interconnect_attachments={
|
1066
|
+
"uris": [interconnect_attachment.self_link],
|
1067
|
+
"site_to_site_data_transfer": True,
|
1068
|
+
"include_import_ranges": ["ALL_IPV4_RANGES"],
|
759
1069
|
})
|
760
1070
|
```
|
761
1071
|
|
@@ -417,7 +417,7 @@ class SecurityProfile(pulumi.CustomResource):
|
|
417
417
|
|
418
418
|
To get more information about SecurityProfile, see:
|
419
419
|
|
420
|
-
* [API documentation](https://cloud.google.com/firewall/docs/reference/network-security/rest/v1/
|
420
|
+
* [API documentation](https://cloud.google.com/firewall/docs/reference/network-security/rest/v1/organizations.locations.securityProfiles)
|
421
421
|
* How-to Guides
|
422
422
|
* [Create and manage security profiles](https://cloud.google.com/firewall/docs/configure-security-profiles)
|
423
423
|
|
@@ -510,7 +510,7 @@ class SecurityProfile(pulumi.CustomResource):
|
|
510
510
|
|
511
511
|
To get more information about SecurityProfile, see:
|
512
512
|
|
513
|
-
* [API documentation](https://cloud.google.com/firewall/docs/reference/network-security/rest/v1/
|
513
|
+
* [API documentation](https://cloud.google.com/firewall/docs/reference/network-security/rest/v1/organizations.locations.securityProfiles)
|
514
514
|
* How-to Guides
|
515
515
|
* [Create and manage security profiles](https://cloud.google.com/firewall/docs/configure-security-profiles)
|
516
516
|
|