1. Packages
  2. Google Cloud Native
  3. API Docs
  4. compute
  5. compute/beta
  6. Router

Google Cloud Native is in preview. Google Cloud Classic is fully supported.

Google Cloud Native v0.32.0 published on Wednesday, Nov 29, 2023 by Pulumi

google-native.compute/beta.Router

Explore with Pulumi AI

google-native logo

Google Cloud Native is in preview. Google Cloud Classic is fully supported.

Google Cloud Native v0.32.0 published on Wednesday, Nov 29, 2023 by Pulumi

    Creates a Router resource in the specified project and region using the data included in the request.

    Create Router Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new Router(name: string, args: RouterArgs, opts?: CustomResourceOptions);
    @overload
    def Router(resource_name: str,
               args: RouterArgs,
               opts: Optional[ResourceOptions] = None)
    
    @overload
    def Router(resource_name: str,
               opts: Optional[ResourceOptions] = None,
               region: Optional[str] = None,
               bgp: Optional[RouterBgpArgs] = None,
               bgp_peers: Optional[Sequence[RouterBgpPeerArgs]] = None,
               description: Optional[str] = None,
               encrypted_interconnect_router: Optional[bool] = None,
               interfaces: Optional[Sequence[RouterInterfaceArgs]] = None,
               md5_authentication_keys: Optional[Sequence[RouterMd5AuthenticationKeyArgs]] = None,
               name: Optional[str] = None,
               nats: Optional[Sequence[RouterNatArgs]] = None,
               network: Optional[str] = None,
               project: Optional[str] = None,
               request_id: Optional[str] = None)
    func NewRouter(ctx *Context, name string, args RouterArgs, opts ...ResourceOption) (*Router, error)
    public Router(string name, RouterArgs args, CustomResourceOptions? opts = null)
    public Router(String name, RouterArgs args)
    public Router(String name, RouterArgs args, CustomResourceOptions options)
    
    type: google-native:compute/beta:Router
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args RouterArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args RouterArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args RouterArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args RouterArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args RouterArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Constructor example

    The following reference example uses placeholder values for all input properties.

    var google_nativeRouterResource = new GoogleNative.Compute.Beta.Router("google-nativeRouterResource", new()
    {
        Region = "string",
        Bgp = new GoogleNative.Compute.Beta.Inputs.RouterBgpArgs
        {
            AdvertiseMode = GoogleNative.Compute.Beta.RouterBgpAdvertiseMode.Custom,
            AdvertisedGroups = new[]
            {
                GoogleNative.Compute.Beta.RouterBgpAdvertisedGroupsItem.AllSubnets,
            },
            AdvertisedIpRanges = new[]
            {
                new GoogleNative.Compute.Beta.Inputs.RouterAdvertisedIpRangeArgs
                {
                    Description = "string",
                    Range = "string",
                },
            },
            Asn = 0,
            IdentifierRange = "string",
            KeepaliveInterval = 0,
        },
        BgpPeers = new[]
        {
            new GoogleNative.Compute.Beta.Inputs.RouterBgpPeerArgs
            {
                AdvertiseMode = GoogleNative.Compute.Beta.RouterBgpPeerAdvertiseMode.Custom,
                AdvertisedGroups = new[]
                {
                    GoogleNative.Compute.Beta.RouterBgpPeerAdvertisedGroupsItem.AllSubnets,
                },
                AdvertisedIpRanges = new[]
                {
                    new GoogleNative.Compute.Beta.Inputs.RouterAdvertisedIpRangeArgs
                    {
                        Description = "string",
                        Range = "string",
                    },
                },
                AdvertisedRoutePriority = 0,
                Bfd = new GoogleNative.Compute.Beta.Inputs.RouterBgpPeerBfdArgs
                {
                    MinReceiveInterval = 0,
                    MinTransmitInterval = 0,
                    Multiplier = 0,
                    SessionInitializationMode = GoogleNative.Compute.Beta.RouterBgpPeerBfdSessionInitializationMode.Active,
                },
                CustomLearnedIpRanges = new[]
                {
                    new GoogleNative.Compute.Beta.Inputs.RouterBgpPeerCustomLearnedIpRangeArgs
                    {
                        Range = "string",
                    },
                },
                CustomLearnedRoutePriority = 0,
                Enable = GoogleNative.Compute.Beta.RouterBgpPeerEnable.False,
                EnableIpv4 = false,
                EnableIpv6 = false,
                InterfaceName = "string",
                IpAddress = "string",
                Ipv4NexthopAddress = "string",
                Ipv6NexthopAddress = "string",
                Md5AuthenticationKeyName = "string",
                Name = "string",
                PeerAsn = 0,
                PeerIpAddress = "string",
                PeerIpv4NexthopAddress = "string",
                PeerIpv6NexthopAddress = "string",
                RouterApplianceInstance = "string",
            },
        },
        Description = "string",
        EncryptedInterconnectRouter = false,
        Interfaces = new[]
        {
            new GoogleNative.Compute.Beta.Inputs.RouterInterfaceArgs
            {
                IpRange = "string",
                IpVersion = GoogleNative.Compute.Beta.RouterInterfaceIpVersion.Ipv4,
                LinkedInterconnectAttachment = "string",
                LinkedVpnTunnel = "string",
                Name = "string",
                PrivateIpAddress = "string",
                RedundantInterface = "string",
                Subnetwork = "string",
            },
        },
        Md5AuthenticationKeys = new[]
        {
            new GoogleNative.Compute.Beta.Inputs.RouterMd5AuthenticationKeyArgs
            {
                Key = "string",
                Name = "string",
            },
        },
        Name = "string",
        Nats = new[]
        {
            new GoogleNative.Compute.Beta.Inputs.RouterNatArgs
            {
                AutoNetworkTier = GoogleNative.Compute.Beta.RouterNatAutoNetworkTier.FixedStandard,
                DrainNatIps = new[]
                {
                    "string",
                },
                EnableDynamicPortAllocation = false,
                EnableEndpointIndependentMapping = false,
                EndpointTypes = new[]
                {
                    GoogleNative.Compute.Beta.RouterNatEndpointTypesItem.EndpointTypeManagedProxyLb,
                },
                IcmpIdleTimeoutSec = 0,
                LogConfig = new GoogleNative.Compute.Beta.Inputs.RouterNatLogConfigArgs
                {
                    Enable = false,
                    Filter = GoogleNative.Compute.Beta.RouterNatLogConfigFilter.All,
                },
                MaxPortsPerVm = 0,
                MinPortsPerVm = 0,
                Name = "string",
                NatIpAllocateOption = GoogleNative.Compute.Beta.RouterNatNatIpAllocateOption.AutoOnly,
                NatIps = new[]
                {
                    "string",
                },
                Rules = new[]
                {
                    new GoogleNative.Compute.Beta.Inputs.RouterNatRuleArgs
                    {
                        Action = new GoogleNative.Compute.Beta.Inputs.RouterNatRuleActionArgs
                        {
                            SourceNatActiveIps = new[]
                            {
                                "string",
                            },
                            SourceNatActiveRanges = new[]
                            {
                                "string",
                            },
                            SourceNatDrainIps = new[]
                            {
                                "string",
                            },
                            SourceNatDrainRanges = new[]
                            {
                                "string",
                            },
                        },
                        Description = "string",
                        Match = "string",
                        RuleNumber = 0,
                    },
                },
                SourceSubnetworkIpRangesToNat = GoogleNative.Compute.Beta.RouterNatSourceSubnetworkIpRangesToNat.AllSubnetworksAllIpRanges,
                Subnetworks = new[]
                {
                    new GoogleNative.Compute.Beta.Inputs.RouterNatSubnetworkToNatArgs
                    {
                        Name = "string",
                        SecondaryIpRangeNames = new[]
                        {
                            "string",
                        },
                        SourceIpRangesToNat = new[]
                        {
                            GoogleNative.Compute.Beta.RouterNatSubnetworkToNatSourceIpRangesToNatItem.AllIpRanges,
                        },
                    },
                },
                TcpEstablishedIdleTimeoutSec = 0,
                TcpTimeWaitTimeoutSec = 0,
                TcpTransitoryIdleTimeoutSec = 0,
                Type = GoogleNative.Compute.Beta.RouterNatType.Private,
                UdpIdleTimeoutSec = 0,
            },
        },
        Network = "string",
        Project = "string",
        RequestId = "string",
    });
    
    example, err := computebeta.NewRouter(ctx, "google-nativeRouterResource", &computebeta.RouterArgs{
    Region: pulumi.String("string"),
    Bgp: &compute.RouterBgpArgs{
    AdvertiseMode: computebeta.RouterBgpAdvertiseModeCustom,
    AdvertisedGroups: compute.RouterBgpAdvertisedGroupsItemArray{
    computebeta.RouterBgpAdvertisedGroupsItemAllSubnets,
    },
    AdvertisedIpRanges: compute.RouterAdvertisedIpRangeArray{
    &compute.RouterAdvertisedIpRangeArgs{
    Description: pulumi.String("string"),
    Range: pulumi.String("string"),
    },
    },
    Asn: pulumi.Int(0),
    IdentifierRange: pulumi.String("string"),
    KeepaliveInterval: pulumi.Int(0),
    },
    BgpPeers: compute.RouterBgpPeerArray{
    &compute.RouterBgpPeerArgs{
    AdvertiseMode: computebeta.RouterBgpPeerAdvertiseModeCustom,
    AdvertisedGroups: compute.RouterBgpPeerAdvertisedGroupsItemArray{
    computebeta.RouterBgpPeerAdvertisedGroupsItemAllSubnets,
    },
    AdvertisedIpRanges: compute.RouterAdvertisedIpRangeArray{
    &compute.RouterAdvertisedIpRangeArgs{
    Description: pulumi.String("string"),
    Range: pulumi.String("string"),
    },
    },
    AdvertisedRoutePriority: pulumi.Int(0),
    Bfd: &compute.RouterBgpPeerBfdArgs{
    MinReceiveInterval: pulumi.Int(0),
    MinTransmitInterval: pulumi.Int(0),
    Multiplier: pulumi.Int(0),
    SessionInitializationMode: computebeta.RouterBgpPeerBfdSessionInitializationModeActive,
    },
    CustomLearnedIpRanges: compute.RouterBgpPeerCustomLearnedIpRangeArray{
    &compute.RouterBgpPeerCustomLearnedIpRangeArgs{
    Range: pulumi.String("string"),
    },
    },
    CustomLearnedRoutePriority: pulumi.Int(0),
    Enable: computebeta.RouterBgpPeerEnableFalse,
    EnableIpv4: pulumi.Bool(false),
    EnableIpv6: pulumi.Bool(false),
    InterfaceName: pulumi.String("string"),
    IpAddress: pulumi.String("string"),
    Ipv4NexthopAddress: pulumi.String("string"),
    Ipv6NexthopAddress: pulumi.String("string"),
    Md5AuthenticationKeyName: pulumi.String("string"),
    Name: pulumi.String("string"),
    PeerAsn: pulumi.Int(0),
    PeerIpAddress: pulumi.String("string"),
    PeerIpv4NexthopAddress: pulumi.String("string"),
    PeerIpv6NexthopAddress: pulumi.String("string"),
    RouterApplianceInstance: pulumi.String("string"),
    },
    },
    Description: pulumi.String("string"),
    EncryptedInterconnectRouter: pulumi.Bool(false),
    Interfaces: compute.RouterInterfaceArray{
    &compute.RouterInterfaceArgs{
    IpRange: pulumi.String("string"),
    IpVersion: computebeta.RouterInterfaceIpVersionIpv4,
    LinkedInterconnectAttachment: pulumi.String("string"),
    LinkedVpnTunnel: pulumi.String("string"),
    Name: pulumi.String("string"),
    PrivateIpAddress: pulumi.String("string"),
    RedundantInterface: pulumi.String("string"),
    Subnetwork: pulumi.String("string"),
    },
    },
    Md5AuthenticationKeys: compute.RouterMd5AuthenticationKeyArray{
    &compute.RouterMd5AuthenticationKeyArgs{
    Key: pulumi.String("string"),
    Name: pulumi.String("string"),
    },
    },
    Name: pulumi.String("string"),
    Nats: compute.RouterNatArray{
    &compute.RouterNatArgs{
    AutoNetworkTier: computebeta.RouterNatAutoNetworkTierFixedStandard,
    DrainNatIps: pulumi.StringArray{
    pulumi.String("string"),
    },
    EnableDynamicPortAllocation: pulumi.Bool(false),
    EnableEndpointIndependentMapping: pulumi.Bool(false),
    EndpointTypes: compute.RouterNatEndpointTypesItemArray{
    computebeta.RouterNatEndpointTypesItemEndpointTypeManagedProxyLb,
    },
    IcmpIdleTimeoutSec: pulumi.Int(0),
    LogConfig: &compute.RouterNatLogConfigArgs{
    Enable: pulumi.Bool(false),
    Filter: computebeta.RouterNatLogConfigFilterAll,
    },
    MaxPortsPerVm: pulumi.Int(0),
    MinPortsPerVm: pulumi.Int(0),
    Name: pulumi.String("string"),
    NatIpAllocateOption: computebeta.RouterNatNatIpAllocateOptionAutoOnly,
    NatIps: pulumi.StringArray{
    pulumi.String("string"),
    },
    Rules: compute.RouterNatRuleArray{
    &compute.RouterNatRuleArgs{
    Action: &compute.RouterNatRuleActionArgs{
    SourceNatActiveIps: pulumi.StringArray{
    pulumi.String("string"),
    },
    SourceNatActiveRanges: pulumi.StringArray{
    pulumi.String("string"),
    },
    SourceNatDrainIps: pulumi.StringArray{
    pulumi.String("string"),
    },
    SourceNatDrainRanges: pulumi.StringArray{
    pulumi.String("string"),
    },
    },
    Description: pulumi.String("string"),
    Match: pulumi.String("string"),
    RuleNumber: pulumi.Int(0),
    },
    },
    SourceSubnetworkIpRangesToNat: computebeta.RouterNatSourceSubnetworkIpRangesToNatAllSubnetworksAllIpRanges,
    Subnetworks: compute.RouterNatSubnetworkToNatArray{
    &compute.RouterNatSubnetworkToNatArgs{
    Name: pulumi.String("string"),
    SecondaryIpRangeNames: pulumi.StringArray{
    pulumi.String("string"),
    },
    SourceIpRangesToNat: compute.RouterNatSubnetworkToNatSourceIpRangesToNatItemArray{
    computebeta.RouterNatSubnetworkToNatSourceIpRangesToNatItemAllIpRanges,
    },
    },
    },
    TcpEstablishedIdleTimeoutSec: pulumi.Int(0),
    TcpTimeWaitTimeoutSec: pulumi.Int(0),
    TcpTransitoryIdleTimeoutSec: pulumi.Int(0),
    Type: computebeta.RouterNatTypePrivate,
    UdpIdleTimeoutSec: pulumi.Int(0),
    },
    },
    Network: pulumi.String("string"),
    Project: pulumi.String("string"),
    RequestId: pulumi.String("string"),
    })
    
    var google_nativeRouterResource = new Router("google-nativeRouterResource", RouterArgs.builder()
        .region("string")
        .bgp(RouterBgpArgs.builder()
            .advertiseMode("CUSTOM")
            .advertisedGroups("ALL_SUBNETS")
            .advertisedIpRanges(RouterAdvertisedIpRangeArgs.builder()
                .description("string")
                .range("string")
                .build())
            .asn(0)
            .identifierRange("string")
            .keepaliveInterval(0)
            .build())
        .bgpPeers(RouterBgpPeerArgs.builder()
            .advertiseMode("CUSTOM")
            .advertisedGroups("ALL_SUBNETS")
            .advertisedIpRanges(RouterAdvertisedIpRangeArgs.builder()
                .description("string")
                .range("string")
                .build())
            .advertisedRoutePriority(0)
            .bfd(RouterBgpPeerBfdArgs.builder()
                .minReceiveInterval(0)
                .minTransmitInterval(0)
                .multiplier(0)
                .sessionInitializationMode("ACTIVE")
                .build())
            .customLearnedIpRanges(RouterBgpPeerCustomLearnedIpRangeArgs.builder()
                .range("string")
                .build())
            .customLearnedRoutePriority(0)
            .enable("FALSE")
            .enableIpv4(false)
            .enableIpv6(false)
            .interfaceName("string")
            .ipAddress("string")
            .ipv4NexthopAddress("string")
            .ipv6NexthopAddress("string")
            .md5AuthenticationKeyName("string")
            .name("string")
            .peerAsn(0)
            .peerIpAddress("string")
            .peerIpv4NexthopAddress("string")
            .peerIpv6NexthopAddress("string")
            .routerApplianceInstance("string")
            .build())
        .description("string")
        .encryptedInterconnectRouter(false)
        .interfaces(RouterInterfaceArgs.builder()
            .ipRange("string")
            .ipVersion("IPV4")
            .linkedInterconnectAttachment("string")
            .linkedVpnTunnel("string")
            .name("string")
            .privateIpAddress("string")
            .redundantInterface("string")
            .subnetwork("string")
            .build())
        .md5AuthenticationKeys(RouterMd5AuthenticationKeyArgs.builder()
            .key("string")
            .name("string")
            .build())
        .name("string")
        .nats(RouterNatArgs.builder()
            .autoNetworkTier("FIXED_STANDARD")
            .drainNatIps("string")
            .enableDynamicPortAllocation(false)
            .enableEndpointIndependentMapping(false)
            .endpointTypes("ENDPOINT_TYPE_MANAGED_PROXY_LB")
            .icmpIdleTimeoutSec(0)
            .logConfig(RouterNatLogConfigArgs.builder()
                .enable(false)
                .filter("ALL")
                .build())
            .maxPortsPerVm(0)
            .minPortsPerVm(0)
            .name("string")
            .natIpAllocateOption("AUTO_ONLY")
            .natIps("string")
            .rules(RouterNatRuleArgs.builder()
                .action(RouterNatRuleActionArgs.builder()
                    .sourceNatActiveIps("string")
                    .sourceNatActiveRanges("string")
                    .sourceNatDrainIps("string")
                    .sourceNatDrainRanges("string")
                    .build())
                .description("string")
                .match("string")
                .ruleNumber(0)
                .build())
            .sourceSubnetworkIpRangesToNat("ALL_SUBNETWORKS_ALL_IP_RANGES")
            .subnetworks(RouterNatSubnetworkToNatArgs.builder()
                .name("string")
                .secondaryIpRangeNames("string")
                .sourceIpRangesToNat("ALL_IP_RANGES")
                .build())
            .tcpEstablishedIdleTimeoutSec(0)
            .tcpTimeWaitTimeoutSec(0)
            .tcpTransitoryIdleTimeoutSec(0)
            .type("PRIVATE")
            .udpIdleTimeoutSec(0)
            .build())
        .network("string")
        .project("string")
        .requestId("string")
        .build());
    
    google_native_router_resource = google_native.compute.beta.Router("google-nativeRouterResource",
        region="string",
        bgp=google_native.compute.beta.RouterBgpArgs(
            advertise_mode=google_native.compute.beta.RouterBgpAdvertiseMode.CUSTOM,
            advertised_groups=[google_native.compute.beta.RouterBgpAdvertisedGroupsItem.ALL_SUBNETS],
            advertised_ip_ranges=[google_native.compute.beta.RouterAdvertisedIpRangeArgs(
                description="string",
                range="string",
            )],
            asn=0,
            identifier_range="string",
            keepalive_interval=0,
        ),
        bgp_peers=[google_native.compute.beta.RouterBgpPeerArgs(
            advertise_mode=google_native.compute.beta.RouterBgpPeerAdvertiseMode.CUSTOM,
            advertised_groups=[google_native.compute.beta.RouterBgpPeerAdvertisedGroupsItem.ALL_SUBNETS],
            advertised_ip_ranges=[google_native.compute.beta.RouterAdvertisedIpRangeArgs(
                description="string",
                range="string",
            )],
            advertised_route_priority=0,
            bfd=google_native.compute.beta.RouterBgpPeerBfdArgs(
                min_receive_interval=0,
                min_transmit_interval=0,
                multiplier=0,
                session_initialization_mode=google_native.compute.beta.RouterBgpPeerBfdSessionInitializationMode.ACTIVE,
            ),
            custom_learned_ip_ranges=[google_native.compute.beta.RouterBgpPeerCustomLearnedIpRangeArgs(
                range="string",
            )],
            custom_learned_route_priority=0,
            enable=google_native.compute.beta.RouterBgpPeerEnable.FALSE,
            enable_ipv4=False,
            enable_ipv6=False,
            interface_name="string",
            ip_address="string",
            ipv4_nexthop_address="string",
            ipv6_nexthop_address="string",
            md5_authentication_key_name="string",
            name="string",
            peer_asn=0,
            peer_ip_address="string",
            peer_ipv4_nexthop_address="string",
            peer_ipv6_nexthop_address="string",
            router_appliance_instance="string",
        )],
        description="string",
        encrypted_interconnect_router=False,
        interfaces=[google_native.compute.beta.RouterInterfaceArgs(
            ip_range="string",
            ip_version=google_native.compute.beta.RouterInterfaceIpVersion.IPV4,
            linked_interconnect_attachment="string",
            linked_vpn_tunnel="string",
            name="string",
            private_ip_address="string",
            redundant_interface="string",
            subnetwork="string",
        )],
        md5_authentication_keys=[google_native.compute.beta.RouterMd5AuthenticationKeyArgs(
            key="string",
            name="string",
        )],
        name="string",
        nats=[google_native.compute.beta.RouterNatArgs(
            auto_network_tier=google_native.compute.beta.RouterNatAutoNetworkTier.FIXED_STANDARD,
            drain_nat_ips=["string"],
            enable_dynamic_port_allocation=False,
            enable_endpoint_independent_mapping=False,
            endpoint_types=[google_native.compute.beta.RouterNatEndpointTypesItem.ENDPOINT_TYPE_MANAGED_PROXY_LB],
            icmp_idle_timeout_sec=0,
            log_config=google_native.compute.beta.RouterNatLogConfigArgs(
                enable=False,
                filter=google_native.compute.beta.RouterNatLogConfigFilter.ALL,
            ),
            max_ports_per_vm=0,
            min_ports_per_vm=0,
            name="string",
            nat_ip_allocate_option=google_native.compute.beta.RouterNatNatIpAllocateOption.AUTO_ONLY,
            nat_ips=["string"],
            rules=[google_native.compute.beta.RouterNatRuleArgs(
                action=google_native.compute.beta.RouterNatRuleActionArgs(
                    source_nat_active_ips=["string"],
                    source_nat_active_ranges=["string"],
                    source_nat_drain_ips=["string"],
                    source_nat_drain_ranges=["string"],
                ),
                description="string",
                match="string",
                rule_number=0,
            )],
            source_subnetwork_ip_ranges_to_nat=google_native.compute.beta.RouterNatSourceSubnetworkIpRangesToNat.ALL_SUBNETWORKS_ALL_IP_RANGES,
            subnetworks=[google_native.compute.beta.RouterNatSubnetworkToNatArgs(
                name="string",
                secondary_ip_range_names=["string"],
                source_ip_ranges_to_nat=[google_native.compute.beta.RouterNatSubnetworkToNatSourceIpRangesToNatItem.ALL_IP_RANGES],
            )],
            tcp_established_idle_timeout_sec=0,
            tcp_time_wait_timeout_sec=0,
            tcp_transitory_idle_timeout_sec=0,
            type=google_native.compute.beta.RouterNatType.PRIVATE,
            udp_idle_timeout_sec=0,
        )],
        network="string",
        project="string",
        request_id="string")
    
    const google_nativeRouterResource = new google_native.compute.beta.Router("google-nativeRouterResource", {
        region: "string",
        bgp: {
            advertiseMode: google_native.compute.beta.RouterBgpAdvertiseMode.Custom,
            advertisedGroups: [google_native.compute.beta.RouterBgpAdvertisedGroupsItem.AllSubnets],
            advertisedIpRanges: [{
                description: "string",
                range: "string",
            }],
            asn: 0,
            identifierRange: "string",
            keepaliveInterval: 0,
        },
        bgpPeers: [{
            advertiseMode: google_native.compute.beta.RouterBgpPeerAdvertiseMode.Custom,
            advertisedGroups: [google_native.compute.beta.RouterBgpPeerAdvertisedGroupsItem.AllSubnets],
            advertisedIpRanges: [{
                description: "string",
                range: "string",
            }],
            advertisedRoutePriority: 0,
            bfd: {
                minReceiveInterval: 0,
                minTransmitInterval: 0,
                multiplier: 0,
                sessionInitializationMode: google_native.compute.beta.RouterBgpPeerBfdSessionInitializationMode.Active,
            },
            customLearnedIpRanges: [{
                range: "string",
            }],
            customLearnedRoutePriority: 0,
            enable: google_native.compute.beta.RouterBgpPeerEnable.False,
            enableIpv4: false,
            enableIpv6: false,
            interfaceName: "string",
            ipAddress: "string",
            ipv4NexthopAddress: "string",
            ipv6NexthopAddress: "string",
            md5AuthenticationKeyName: "string",
            name: "string",
            peerAsn: 0,
            peerIpAddress: "string",
            peerIpv4NexthopAddress: "string",
            peerIpv6NexthopAddress: "string",
            routerApplianceInstance: "string",
        }],
        description: "string",
        encryptedInterconnectRouter: false,
        interfaces: [{
            ipRange: "string",
            ipVersion: google_native.compute.beta.RouterInterfaceIpVersion.Ipv4,
            linkedInterconnectAttachment: "string",
            linkedVpnTunnel: "string",
            name: "string",
            privateIpAddress: "string",
            redundantInterface: "string",
            subnetwork: "string",
        }],
        md5AuthenticationKeys: [{
            key: "string",
            name: "string",
        }],
        name: "string",
        nats: [{
            autoNetworkTier: google_native.compute.beta.RouterNatAutoNetworkTier.FixedStandard,
            drainNatIps: ["string"],
            enableDynamicPortAllocation: false,
            enableEndpointIndependentMapping: false,
            endpointTypes: [google_native.compute.beta.RouterNatEndpointTypesItem.EndpointTypeManagedProxyLb],
            icmpIdleTimeoutSec: 0,
            logConfig: {
                enable: false,
                filter: google_native.compute.beta.RouterNatLogConfigFilter.All,
            },
            maxPortsPerVm: 0,
            minPortsPerVm: 0,
            name: "string",
            natIpAllocateOption: google_native.compute.beta.RouterNatNatIpAllocateOption.AutoOnly,
            natIps: ["string"],
            rules: [{
                action: {
                    sourceNatActiveIps: ["string"],
                    sourceNatActiveRanges: ["string"],
                    sourceNatDrainIps: ["string"],
                    sourceNatDrainRanges: ["string"],
                },
                description: "string",
                match: "string",
                ruleNumber: 0,
            }],
            sourceSubnetworkIpRangesToNat: google_native.compute.beta.RouterNatSourceSubnetworkIpRangesToNat.AllSubnetworksAllIpRanges,
            subnetworks: [{
                name: "string",
                secondaryIpRangeNames: ["string"],
                sourceIpRangesToNat: [google_native.compute.beta.RouterNatSubnetworkToNatSourceIpRangesToNatItem.AllIpRanges],
            }],
            tcpEstablishedIdleTimeoutSec: 0,
            tcpTimeWaitTimeoutSec: 0,
            tcpTransitoryIdleTimeoutSec: 0,
            type: google_native.compute.beta.RouterNatType.Private,
            udpIdleTimeoutSec: 0,
        }],
        network: "string",
        project: "string",
        requestId: "string",
    });
    
    type: google-native:compute/beta:Router
    properties:
        bgp:
            advertiseMode: CUSTOM
            advertisedGroups:
                - ALL_SUBNETS
            advertisedIpRanges:
                - description: string
                  range: string
            asn: 0
            identifierRange: string
            keepaliveInterval: 0
        bgpPeers:
            - advertiseMode: CUSTOM
              advertisedGroups:
                - ALL_SUBNETS
              advertisedIpRanges:
                - description: string
                  range: string
              advertisedRoutePriority: 0
              bfd:
                minReceiveInterval: 0
                minTransmitInterval: 0
                multiplier: 0
                sessionInitializationMode: ACTIVE
              customLearnedIpRanges:
                - range: string
              customLearnedRoutePriority: 0
              enable: false
              enableIpv4: false
              enableIpv6: false
              interfaceName: string
              ipAddress: string
              ipv4NexthopAddress: string
              ipv6NexthopAddress: string
              md5AuthenticationKeyName: string
              name: string
              peerAsn: 0
              peerIpAddress: string
              peerIpv4NexthopAddress: string
              peerIpv6NexthopAddress: string
              routerApplianceInstance: string
        description: string
        encryptedInterconnectRouter: false
        interfaces:
            - ipRange: string
              ipVersion: IPV4
              linkedInterconnectAttachment: string
              linkedVpnTunnel: string
              name: string
              privateIpAddress: string
              redundantInterface: string
              subnetwork: string
        md5AuthenticationKeys:
            - key: string
              name: string
        name: string
        nats:
            - autoNetworkTier: FIXED_STANDARD
              drainNatIps:
                - string
              enableDynamicPortAllocation: false
              enableEndpointIndependentMapping: false
              endpointTypes:
                - ENDPOINT_TYPE_MANAGED_PROXY_LB
              icmpIdleTimeoutSec: 0
              logConfig:
                enable: false
                filter: ALL
              maxPortsPerVm: 0
              minPortsPerVm: 0
              name: string
              natIpAllocateOption: AUTO_ONLY
              natIps:
                - string
              rules:
                - action:
                    sourceNatActiveIps:
                        - string
                    sourceNatActiveRanges:
                        - string
                    sourceNatDrainIps:
                        - string
                    sourceNatDrainRanges:
                        - string
                  description: string
                  match: string
                  ruleNumber: 0
              sourceSubnetworkIpRangesToNat: ALL_SUBNETWORKS_ALL_IP_RANGES
              subnetworks:
                - name: string
                  secondaryIpRangeNames:
                    - string
                  sourceIpRangesToNat:
                    - ALL_IP_RANGES
              tcpEstablishedIdleTimeoutSec: 0
              tcpTimeWaitTimeoutSec: 0
              tcpTransitoryIdleTimeoutSec: 0
              type: PRIVATE
              udpIdleTimeoutSec: 0
        network: string
        project: string
        region: string
        requestId: string
    

    Router Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    The Router resource accepts the following input properties:

    Region string
    Bgp Pulumi.GoogleNative.Compute.Beta.Inputs.RouterBgp
    BGP information specific to this router.
    BgpPeers List<Pulumi.GoogleNative.Compute.Beta.Inputs.RouterBgpPeer>
    BGP information that must be configured into the routing stack to establish BGP peering. This information must specify the peer ASN and either the interface name, IP address, or peer IP address. Please refer to RFC4273.
    Description string
    An optional description of this resource. Provide this property when you create the resource.
    EncryptedInterconnectRouter bool
    Indicates if a router is dedicated for use with encrypted VLAN attachments (interconnectAttachments).
    Interfaces List<Pulumi.GoogleNative.Compute.Beta.Inputs.RouterInterface>
    Router interfaces. To create a BGP peer that uses a router interface, the interface must have one of the following fields specified: - linkedVpnTunnel - linkedInterconnectAttachment - subnetwork You can create a router interface without any of these fields specified. However, you cannot create a BGP peer that uses that interface.
    Md5AuthenticationKeys List<Pulumi.GoogleNative.Compute.Beta.Inputs.RouterMd5AuthenticationKey>
    Keys used for MD5 authentication.
    Name string
    Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
    Nats List<Pulumi.GoogleNative.Compute.Beta.Inputs.RouterNat>
    A list of NAT services created in this router.
    Network string
    URI of the network to which this router belongs.
    Project string
    RequestId string
    An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).
    Region string
    Bgp RouterBgpArgs
    BGP information specific to this router.
    BgpPeers []RouterBgpPeerArgs
    BGP information that must be configured into the routing stack to establish BGP peering. This information must specify the peer ASN and either the interface name, IP address, or peer IP address. Please refer to RFC4273.
    Description string
    An optional description of this resource. Provide this property when you create the resource.
    EncryptedInterconnectRouter bool
    Indicates if a router is dedicated for use with encrypted VLAN attachments (interconnectAttachments).
    Interfaces []RouterInterfaceArgs
    Router interfaces. To create a BGP peer that uses a router interface, the interface must have one of the following fields specified: - linkedVpnTunnel - linkedInterconnectAttachment - subnetwork You can create a router interface without any of these fields specified. However, you cannot create a BGP peer that uses that interface.
    Md5AuthenticationKeys []RouterMd5AuthenticationKeyArgs
    Keys used for MD5 authentication.
    Name string
    Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
    Nats []RouterNatArgs
    A list of NAT services created in this router.
    Network string
    URI of the network to which this router belongs.
    Project string
    RequestId string
    An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).
    region String
    bgp RouterBgp
    BGP information specific to this router.
    bgpPeers List<RouterBgpPeer>
    BGP information that must be configured into the routing stack to establish BGP peering. This information must specify the peer ASN and either the interface name, IP address, or peer IP address. Please refer to RFC4273.
    description String
    An optional description of this resource. Provide this property when you create the resource.
    encryptedInterconnectRouter Boolean
    Indicates if a router is dedicated for use with encrypted VLAN attachments (interconnectAttachments).
    interfaces List<RouterInterface>
    Router interfaces. To create a BGP peer that uses a router interface, the interface must have one of the following fields specified: - linkedVpnTunnel - linkedInterconnectAttachment - subnetwork You can create a router interface without any of these fields specified. However, you cannot create a BGP peer that uses that interface.
    md5AuthenticationKeys List<RouterMd5AuthenticationKey>
    Keys used for MD5 authentication.
    name String
    Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
    nats List<RouterNat>
    A list of NAT services created in this router.
    network String
    URI of the network to which this router belongs.
    project String
    requestId String
    An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).
    region string
    bgp RouterBgp
    BGP information specific to this router.
    bgpPeers RouterBgpPeer[]
    BGP information that must be configured into the routing stack to establish BGP peering. This information must specify the peer ASN and either the interface name, IP address, or peer IP address. Please refer to RFC4273.
    description string
    An optional description of this resource. Provide this property when you create the resource.
    encryptedInterconnectRouter boolean
    Indicates if a router is dedicated for use with encrypted VLAN attachments (interconnectAttachments).
    interfaces RouterInterface[]
    Router interfaces. To create a BGP peer that uses a router interface, the interface must have one of the following fields specified: - linkedVpnTunnel - linkedInterconnectAttachment - subnetwork You can create a router interface without any of these fields specified. However, you cannot create a BGP peer that uses that interface.
    md5AuthenticationKeys RouterMd5AuthenticationKey[]
    Keys used for MD5 authentication.
    name string
    Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
    nats RouterNat[]
    A list of NAT services created in this router.
    network string
    URI of the network to which this router belongs.
    project string
    requestId string
    An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).
    region str
    bgp RouterBgpArgs
    BGP information specific to this router.
    bgp_peers Sequence[RouterBgpPeerArgs]
    BGP information that must be configured into the routing stack to establish BGP peering. This information must specify the peer ASN and either the interface name, IP address, or peer IP address. Please refer to RFC4273.
    description str
    An optional description of this resource. Provide this property when you create the resource.
    encrypted_interconnect_router bool
    Indicates if a router is dedicated for use with encrypted VLAN attachments (interconnectAttachments).
    interfaces Sequence[RouterInterfaceArgs]
    Router interfaces. To create a BGP peer that uses a router interface, the interface must have one of the following fields specified: - linkedVpnTunnel - linkedInterconnectAttachment - subnetwork You can create a router interface without any of these fields specified. However, you cannot create a BGP peer that uses that interface.
    md5_authentication_keys Sequence[RouterMd5AuthenticationKeyArgs]
    Keys used for MD5 authentication.
    name str
    Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
    nats Sequence[RouterNatArgs]
    A list of NAT services created in this router.
    network str
    URI of the network to which this router belongs.
    project str
    request_id str
    An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).
    region String
    bgp Property Map
    BGP information specific to this router.
    bgpPeers List<Property Map>
    BGP information that must be configured into the routing stack to establish BGP peering. This information must specify the peer ASN and either the interface name, IP address, or peer IP address. Please refer to RFC4273.
    description String
    An optional description of this resource. Provide this property when you create the resource.
    encryptedInterconnectRouter Boolean
    Indicates if a router is dedicated for use with encrypted VLAN attachments (interconnectAttachments).
    interfaces List<Property Map>
    Router interfaces. To create a BGP peer that uses a router interface, the interface must have one of the following fields specified: - linkedVpnTunnel - linkedInterconnectAttachment - subnetwork You can create a router interface without any of these fields specified. However, you cannot create a BGP peer that uses that interface.
    md5AuthenticationKeys List<Property Map>
    Keys used for MD5 authentication.
    name String
    Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
    nats List<Property Map>
    A list of NAT services created in this router.
    network String
    URI of the network to which this router belongs.
    project String
    requestId String
    An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).

    Outputs

    All input properties are implicitly available as output properties. Additionally, the Router resource produces the following output properties:

    CreationTimestamp string
    Creation timestamp in RFC3339 text format.
    Id string
    The provider-assigned unique ID for this managed resource.
    Kind string
    Type of resource. Always compute#router for routers.
    SelfLink string
    Server-defined URL for the resource.
    CreationTimestamp string
    Creation timestamp in RFC3339 text format.
    Id string
    The provider-assigned unique ID for this managed resource.
    Kind string
    Type of resource. Always compute#router for routers.
    SelfLink string
    Server-defined URL for the resource.
    creationTimestamp String
    Creation timestamp in RFC3339 text format.
    id String
    The provider-assigned unique ID for this managed resource.
    kind String
    Type of resource. Always compute#router for routers.
    selfLink String
    Server-defined URL for the resource.
    creationTimestamp string
    Creation timestamp in RFC3339 text format.
    id string
    The provider-assigned unique ID for this managed resource.
    kind string
    Type of resource. Always compute#router for routers.
    selfLink string
    Server-defined URL for the resource.
    creation_timestamp str
    Creation timestamp in RFC3339 text format.
    id str
    The provider-assigned unique ID for this managed resource.
    kind str
    Type of resource. Always compute#router for routers.
    self_link str
    Server-defined URL for the resource.
    creationTimestamp String
    Creation timestamp in RFC3339 text format.
    id String
    The provider-assigned unique ID for this managed resource.
    kind String
    Type of resource. Always compute#router for routers.
    selfLink String
    Server-defined URL for the resource.

    Supporting Types

    RouterAdvertisedIpRange, RouterAdvertisedIpRangeArgs

    Description string
    User-specified description for the IP range.
    Range string
    The IP range to advertise. The value must be a CIDR-formatted string.
    Description string
    User-specified description for the IP range.
    Range string
    The IP range to advertise. The value must be a CIDR-formatted string.
    description String
    User-specified description for the IP range.
    range String
    The IP range to advertise. The value must be a CIDR-formatted string.
    description string
    User-specified description for the IP range.
    range string
    The IP range to advertise. The value must be a CIDR-formatted string.
    description str
    User-specified description for the IP range.
    range str
    The IP range to advertise. The value must be a CIDR-formatted string.
    description String
    User-specified description for the IP range.
    range String
    The IP range to advertise. The value must be a CIDR-formatted string.

    RouterAdvertisedIpRangeResponse, RouterAdvertisedIpRangeResponseArgs

    Description string
    User-specified description for the IP range.
    Range string
    The IP range to advertise. The value must be a CIDR-formatted string.
    Description string
    User-specified description for the IP range.
    Range string
    The IP range to advertise. The value must be a CIDR-formatted string.
    description String
    User-specified description for the IP range.
    range String
    The IP range to advertise. The value must be a CIDR-formatted string.
    description string
    User-specified description for the IP range.
    range string
    The IP range to advertise. The value must be a CIDR-formatted string.
    description str
    User-specified description for the IP range.
    range str
    The IP range to advertise. The value must be a CIDR-formatted string.
    description String
    User-specified description for the IP range.
    range String
    The IP range to advertise. The value must be a CIDR-formatted string.

    RouterBgp, RouterBgpArgs

    AdvertiseMode Pulumi.GoogleNative.Compute.Beta.RouterBgpAdvertiseMode
    User-specified flag to indicate which mode to use for advertisement. The options are DEFAULT or CUSTOM.
    AdvertisedGroups List<Pulumi.GoogleNative.Compute.Beta.RouterBgpAdvertisedGroupsItem>
    User-specified list of prefix groups to advertise in custom mode. This field can only be populated if advertise_mode is CUSTOM and is advertised to all peers of the router. These groups will be advertised in addition to any specified prefixes. Leave this field blank to advertise no custom groups.
    AdvertisedIpRanges List<Pulumi.GoogleNative.Compute.Beta.Inputs.RouterAdvertisedIpRange>
    User-specified list of individual IP ranges to advertise in custom mode. This field can only be populated if advertise_mode is CUSTOM and is advertised to all peers of the router. These IP ranges will be advertised in addition to any specified groups. Leave this field blank to advertise no custom IP ranges.
    Asn int
    Local BGP Autonomous System Number (ASN). Must be an RFC6996 private ASN, either 16-bit or 32-bit. The value will be fixed for this router resource. All VPN tunnels that link to this router will have the same local ASN.
    IdentifierRange string
    Explicitly specifies a range of valid BGP Identifiers for this Router. It is provided as a link-local IPv4 range (from 169.254.0.0/16), of size at least /30, even if the BGP sessions are over IPv6. It must not overlap with any IPv4 BGP session ranges. Other vendors commonly call this "router ID".
    KeepaliveInterval int
    The interval in seconds between BGP keepalive messages that are sent to the peer. Hold time is three times the interval at which keepalive messages are sent, and the hold time is the maximum number of seconds allowed to elapse between successive keepalive messages that BGP receives from a peer. BGP will use the smaller of either the local hold time value or the peer's hold time value as the hold time for the BGP connection between the two peers. If set, this value must be between 20 and 60. The default is 20.
    AdvertiseMode RouterBgpAdvertiseMode
    User-specified flag to indicate which mode to use for advertisement. The options are DEFAULT or CUSTOM.
    AdvertisedGroups []RouterBgpAdvertisedGroupsItem
    User-specified list of prefix groups to advertise in custom mode. This field can only be populated if advertise_mode is CUSTOM and is advertised to all peers of the router. These groups will be advertised in addition to any specified prefixes. Leave this field blank to advertise no custom groups.
    AdvertisedIpRanges []RouterAdvertisedIpRange
    User-specified list of individual IP ranges to advertise in custom mode. This field can only be populated if advertise_mode is CUSTOM and is advertised to all peers of the router. These IP ranges will be advertised in addition to any specified groups. Leave this field blank to advertise no custom IP ranges.
    Asn int
    Local BGP Autonomous System Number (ASN). Must be an RFC6996 private ASN, either 16-bit or 32-bit. The value will be fixed for this router resource. All VPN tunnels that link to this router will have the same local ASN.
    IdentifierRange string
    Explicitly specifies a range of valid BGP Identifiers for this Router. It is provided as a link-local IPv4 range (from 169.254.0.0/16), of size at least /30, even if the BGP sessions are over IPv6. It must not overlap with any IPv4 BGP session ranges. Other vendors commonly call this "router ID".
    KeepaliveInterval int
    The interval in seconds between BGP keepalive messages that are sent to the peer. Hold time is three times the interval at which keepalive messages are sent, and the hold time is the maximum number of seconds allowed to elapse between successive keepalive messages that BGP receives from a peer. BGP will use the smaller of either the local hold time value or the peer's hold time value as the hold time for the BGP connection between the two peers. If set, this value must be between 20 and 60. The default is 20.
    advertiseMode RouterBgpAdvertiseMode
    User-specified flag to indicate which mode to use for advertisement. The options are DEFAULT or CUSTOM.
    advertisedGroups List<RouterBgpAdvertisedGroupsItem>
    User-specified list of prefix groups to advertise in custom mode. This field can only be populated if advertise_mode is CUSTOM and is advertised to all peers of the router. These groups will be advertised in addition to any specified prefixes. Leave this field blank to advertise no custom groups.
    advertisedIpRanges List<RouterAdvertisedIpRange>
    User-specified list of individual IP ranges to advertise in custom mode. This field can only be populated if advertise_mode is CUSTOM and is advertised to all peers of the router. These IP ranges will be advertised in addition to any specified groups. Leave this field blank to advertise no custom IP ranges.
    asn Integer
    Local BGP Autonomous System Number (ASN). Must be an RFC6996 private ASN, either 16-bit or 32-bit. The value will be fixed for this router resource. All VPN tunnels that link to this router will have the same local ASN.
    identifierRange String
    Explicitly specifies a range of valid BGP Identifiers for this Router. It is provided as a link-local IPv4 range (from 169.254.0.0/16), of size at least /30, even if the BGP sessions are over IPv6. It must not overlap with any IPv4 BGP session ranges. Other vendors commonly call this "router ID".
    keepaliveInterval Integer
    The interval in seconds between BGP keepalive messages that are sent to the peer. Hold time is three times the interval at which keepalive messages are sent, and the hold time is the maximum number of seconds allowed to elapse between successive keepalive messages that BGP receives from a peer. BGP will use the smaller of either the local hold time value or the peer's hold time value as the hold time for the BGP connection between the two peers. If set, this value must be between 20 and 60. The default is 20.
    advertiseMode RouterBgpAdvertiseMode
    User-specified flag to indicate which mode to use for advertisement. The options are DEFAULT or CUSTOM.
    advertisedGroups RouterBgpAdvertisedGroupsItem[]
    User-specified list of prefix groups to advertise in custom mode. This field can only be populated if advertise_mode is CUSTOM and is advertised to all peers of the router. These groups will be advertised in addition to any specified prefixes. Leave this field blank to advertise no custom groups.
    advertisedIpRanges RouterAdvertisedIpRange[]
    User-specified list of individual IP ranges to advertise in custom mode. This field can only be populated if advertise_mode is CUSTOM and is advertised to all peers of the router. These IP ranges will be advertised in addition to any specified groups. Leave this field blank to advertise no custom IP ranges.
    asn number
    Local BGP Autonomous System Number (ASN). Must be an RFC6996 private ASN, either 16-bit or 32-bit. The value will be fixed for this router resource. All VPN tunnels that link to this router will have the same local ASN.
    identifierRange string
    Explicitly specifies a range of valid BGP Identifiers for this Router. It is provided as a link-local IPv4 range (from 169.254.0.0/16), of size at least /30, even if the BGP sessions are over IPv6. It must not overlap with any IPv4 BGP session ranges. Other vendors commonly call this "router ID".
    keepaliveInterval number
    The interval in seconds between BGP keepalive messages that are sent to the peer. Hold time is three times the interval at which keepalive messages are sent, and the hold time is the maximum number of seconds allowed to elapse between successive keepalive messages that BGP receives from a peer. BGP will use the smaller of either the local hold time value or the peer's hold time value as the hold time for the BGP connection between the two peers. If set, this value must be between 20 and 60. The default is 20.
    RouterBgpAdvertiseMode
    User-specified flag to indicate which mode to use for advertisement. The options are DEFAULT or CUSTOM.
    advertised_groups Sequence[RouterBgpAdvertisedGroupsItem]
    User-specified list of prefix groups to advertise in custom mode. This field can only be populated if advertise_mode is CUSTOM and is advertised to all peers of the router. These groups will be advertised in addition to any specified prefixes. Leave this field blank to advertise no custom groups.
    advertised_ip_ranges Sequence[RouterAdvertisedIpRange]
    User-specified list of individual IP ranges to advertise in custom mode. This field can only be populated if advertise_mode is CUSTOM and is advertised to all peers of the router. These IP ranges will be advertised in addition to any specified groups. Leave this field blank to advertise no custom IP ranges.
    asn int
    Local BGP Autonomous System Number (ASN). Must be an RFC6996 private ASN, either 16-bit or 32-bit. The value will be fixed for this router resource. All VPN tunnels that link to this router will have the same local ASN.
    identifier_range str
    Explicitly specifies a range of valid BGP Identifiers for this Router. It is provided as a link-local IPv4 range (from 169.254.0.0/16), of size at least /30, even if the BGP sessions are over IPv6. It must not overlap with any IPv4 BGP session ranges. Other vendors commonly call this "router ID".
    keepalive_interval int
    The interval in seconds between BGP keepalive messages that are sent to the peer. Hold time is three times the interval at which keepalive messages are sent, and the hold time is the maximum number of seconds allowed to elapse between successive keepalive messages that BGP receives from a peer. BGP will use the smaller of either the local hold time value or the peer's hold time value as the hold time for the BGP connection between the two peers. If set, this value must be between 20 and 60. The default is 20.
    advertiseMode "CUSTOM" | "DEFAULT"
    User-specified flag to indicate which mode to use for advertisement. The options are DEFAULT or CUSTOM.
    advertisedGroups List<"ALL_SUBNETS">
    User-specified list of prefix groups to advertise in custom mode. This field can only be populated if advertise_mode is CUSTOM and is advertised to all peers of the router. These groups will be advertised in addition to any specified prefixes. Leave this field blank to advertise no custom groups.
    advertisedIpRanges List<Property Map>
    User-specified list of individual IP ranges to advertise in custom mode. This field can only be populated if advertise_mode is CUSTOM and is advertised to all peers of the router. These IP ranges will be advertised in addition to any specified groups. Leave this field blank to advertise no custom IP ranges.
    asn Number
    Local BGP Autonomous System Number (ASN). Must be an RFC6996 private ASN, either 16-bit or 32-bit. The value will be fixed for this router resource. All VPN tunnels that link to this router will have the same local ASN.
    identifierRange String
    Explicitly specifies a range of valid BGP Identifiers for this Router. It is provided as a link-local IPv4 range (from 169.254.0.0/16), of size at least /30, even if the BGP sessions are over IPv6. It must not overlap with any IPv4 BGP session ranges. Other vendors commonly call this "router ID".
    keepaliveInterval Number
    The interval in seconds between BGP keepalive messages that are sent to the peer. Hold time is three times the interval at which keepalive messages are sent, and the hold time is the maximum number of seconds allowed to elapse between successive keepalive messages that BGP receives from a peer. BGP will use the smaller of either the local hold time value or the peer's hold time value as the hold time for the BGP connection between the two peers. If set, this value must be between 20 and 60. The default is 20.

    RouterBgpAdvertiseMode, RouterBgpAdvertiseModeArgs

    Custom
    CUSTOM
    Default
    DEFAULT
    RouterBgpAdvertiseModeCustom
    CUSTOM
    RouterBgpAdvertiseModeDefault
    DEFAULT
    Custom
    CUSTOM
    Default
    DEFAULT
    Custom
    CUSTOM
    Default
    DEFAULT
    CUSTOM
    CUSTOM
    DEFAULT
    DEFAULT
    "CUSTOM"
    CUSTOM
    "DEFAULT"
    DEFAULT

    RouterBgpAdvertisedGroupsItem, RouterBgpAdvertisedGroupsItemArgs

    AllSubnets
    ALL_SUBNETSAdvertise all available subnets (including peer VPC subnets).
    RouterBgpAdvertisedGroupsItemAllSubnets
    ALL_SUBNETSAdvertise all available subnets (including peer VPC subnets).
    AllSubnets
    ALL_SUBNETSAdvertise all available subnets (including peer VPC subnets).
    AllSubnets
    ALL_SUBNETSAdvertise all available subnets (including peer VPC subnets).
    ALL_SUBNETS
    ALL_SUBNETSAdvertise all available subnets (including peer VPC subnets).
    "ALL_SUBNETS"
    ALL_SUBNETSAdvertise all available subnets (including peer VPC subnets).

    RouterBgpPeer, RouterBgpPeerArgs

    AdvertiseMode Pulumi.GoogleNative.Compute.Beta.RouterBgpPeerAdvertiseMode
    User-specified flag to indicate which mode to use for advertisement.
    AdvertisedGroups List<Pulumi.GoogleNative.Compute.Beta.RouterBgpPeerAdvertisedGroupsItem>
    User-specified list of prefix groups to advertise in custom mode, which currently supports the following option: - ALL_SUBNETS: Advertises all of the router's own VPC subnets. This excludes any routes learned for subnets that use VPC Network Peering. Note that this field can only be populated if advertise_mode is CUSTOM and overrides the list defined for the router (in the "bgp" message). These groups are advertised in addition to any specified prefixes. Leave this field blank to advertise no custom groups.
    AdvertisedIpRanges List<Pulumi.GoogleNative.Compute.Beta.Inputs.RouterAdvertisedIpRange>
    User-specified list of individual IP ranges to advertise in custom mode. This field can only be populated if advertise_mode is CUSTOM and overrides the list defined for the router (in the "bgp" message). These IP ranges are advertised in addition to any specified groups. Leave this field blank to advertise no custom IP ranges.
    AdvertisedRoutePriority int
    The priority of routes advertised to this BGP peer. Where there is more than one matching route of maximum length, the routes with the lowest priority value win.
    Bfd Pulumi.GoogleNative.Compute.Beta.Inputs.RouterBgpPeerBfd
    BFD configuration for the BGP peering.
    CustomLearnedIpRanges List<Pulumi.GoogleNative.Compute.Beta.Inputs.RouterBgpPeerCustomLearnedIpRange>
    A list of user-defined custom learned route IP address ranges for a BGP session.
    CustomLearnedRoutePriority int
    The user-defined custom learned route priority for a BGP session. This value is applied to all custom learned route ranges for the session. You can choose a value from 0 to 65335. If you don't provide a value, Google Cloud assigns a priority of 100 to the ranges.
    Enable Pulumi.GoogleNative.Compute.Beta.RouterBgpPeerEnable
    The status of the BGP peer connection. If set to FALSE, any active session with the peer is terminated and all associated routing information is removed. If set to TRUE, the peer connection can be established with routing information. The default is TRUE.
    EnableIpv4 bool
    Enable IPv4 traffic over BGP Peer. It is enabled by default if the peerIpAddress is version 4.
    EnableIpv6 bool
    Enable IPv6 traffic over BGP Peer. If not specified, it is disabled by default.
    InterfaceName string
    Name of the interface the BGP peer is associated with.
    IpAddress string
    IP address of the interface inside Google Cloud Platform. Only IPv4 is supported.
    Ipv4NexthopAddress string
    IPv4 address of the interface inside Google Cloud Platform.
    Ipv6NexthopAddress string
    IPv6 address of the interface inside Google Cloud Platform.
    Md5AuthenticationKeyName string
    Present if MD5 authentication is enabled for the peering. Must be the name of one of the entries in the Router.md5_authentication_keys. The field must comply with RFC1035.
    Name string
    Name of this BGP peer. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
    PeerAsn int
    Peer BGP Autonomous System Number (ASN). Each BGP interface may use a different value.
    PeerIpAddress string
    IP address of the BGP interface outside Google Cloud Platform. Only IPv4 is supported.
    PeerIpv4NexthopAddress string
    IPv4 address of the BGP interface outside Google Cloud Platform.
    PeerIpv6NexthopAddress string
    IPv6 address of the BGP interface outside Google Cloud Platform.
    RouterApplianceInstance string
    URI of the VM instance that is used as third-party router appliances such as Next Gen Firewalls, Virtual Routers, or Router Appliances. The VM instance must be located in zones contained in the same region as this Cloud Router. The VM instance is the peer side of the BGP session.
    AdvertiseMode RouterBgpPeerAdvertiseMode
    User-specified flag to indicate which mode to use for advertisement.
    AdvertisedGroups []RouterBgpPeerAdvertisedGroupsItem
    User-specified list of prefix groups to advertise in custom mode, which currently supports the following option: - ALL_SUBNETS: Advertises all of the router's own VPC subnets. This excludes any routes learned for subnets that use VPC Network Peering. Note that this field can only be populated if advertise_mode is CUSTOM and overrides the list defined for the router (in the "bgp" message). These groups are advertised in addition to any specified prefixes. Leave this field blank to advertise no custom groups.
    AdvertisedIpRanges []RouterAdvertisedIpRange
    User-specified list of individual IP ranges to advertise in custom mode. This field can only be populated if advertise_mode is CUSTOM and overrides the list defined for the router (in the "bgp" message). These IP ranges are advertised in addition to any specified groups. Leave this field blank to advertise no custom IP ranges.
    AdvertisedRoutePriority int
    The priority of routes advertised to this BGP peer. Where there is more than one matching route of maximum length, the routes with the lowest priority value win.
    Bfd RouterBgpPeerBfd
    BFD configuration for the BGP peering.
    CustomLearnedIpRanges []RouterBgpPeerCustomLearnedIpRange
    A list of user-defined custom learned route IP address ranges for a BGP session.
    CustomLearnedRoutePriority int
    The user-defined custom learned route priority for a BGP session. This value is applied to all custom learned route ranges for the session. You can choose a value from 0 to 65335. If you don't provide a value, Google Cloud assigns a priority of 100 to the ranges.
    Enable RouterBgpPeerEnable
    The status of the BGP peer connection. If set to FALSE, any active session with the peer is terminated and all associated routing information is removed. If set to TRUE, the peer connection can be established with routing information. The default is TRUE.
    EnableIpv4 bool
    Enable IPv4 traffic over BGP Peer. It is enabled by default if the peerIpAddress is version 4.
    EnableIpv6 bool
    Enable IPv6 traffic over BGP Peer. If not specified, it is disabled by default.
    InterfaceName string
    Name of the interface the BGP peer is associated with.
    IpAddress string
    IP address of the interface inside Google Cloud Platform. Only IPv4 is supported.
    Ipv4NexthopAddress string
    IPv4 address of the interface inside Google Cloud Platform.
    Ipv6NexthopAddress string
    IPv6 address of the interface inside Google Cloud Platform.
    Md5AuthenticationKeyName string
    Present if MD5 authentication is enabled for the peering. Must be the name of one of the entries in the Router.md5_authentication_keys. The field must comply with RFC1035.
    Name string
    Name of this BGP peer. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
    PeerAsn int
    Peer BGP Autonomous System Number (ASN). Each BGP interface may use a different value.
    PeerIpAddress string
    IP address of the BGP interface outside Google Cloud Platform. Only IPv4 is supported.
    PeerIpv4NexthopAddress string
    IPv4 address of the BGP interface outside Google Cloud Platform.
    PeerIpv6NexthopAddress string
    IPv6 address of the BGP interface outside Google Cloud Platform.
    RouterApplianceInstance string
    URI of the VM instance that is used as third-party router appliances such as Next Gen Firewalls, Virtual Routers, or Router Appliances. The VM instance must be located in zones contained in the same region as this Cloud Router. The VM instance is the peer side of the BGP session.
    advertiseMode RouterBgpPeerAdvertiseMode
    User-specified flag to indicate which mode to use for advertisement.
    advertisedGroups List<RouterBgpPeerAdvertisedGroupsItem>
    User-specified list of prefix groups to advertise in custom mode, which currently supports the following option: - ALL_SUBNETS: Advertises all of the router's own VPC subnets. This excludes any routes learned for subnets that use VPC Network Peering. Note that this field can only be populated if advertise_mode is CUSTOM and overrides the list defined for the router (in the "bgp" message). These groups are advertised in addition to any specified prefixes. Leave this field blank to advertise no custom groups.
    advertisedIpRanges List<RouterAdvertisedIpRange>
    User-specified list of individual IP ranges to advertise in custom mode. This field can only be populated if advertise_mode is CUSTOM and overrides the list defined for the router (in the "bgp" message). These IP ranges are advertised in addition to any specified groups. Leave this field blank to advertise no custom IP ranges.
    advertisedRoutePriority Integer
    The priority of routes advertised to this BGP peer. Where there is more than one matching route of maximum length, the routes with the lowest priority value win.
    bfd RouterBgpPeerBfd
    BFD configuration for the BGP peering.
    customLearnedIpRanges List<RouterBgpPeerCustomLearnedIpRange>
    A list of user-defined custom learned route IP address ranges for a BGP session.
    customLearnedRoutePriority Integer
    The user-defined custom learned route priority for a BGP session. This value is applied to all custom learned route ranges for the session. You can choose a value from 0 to 65335. If you don't provide a value, Google Cloud assigns a priority of 100 to the ranges.
    enable RouterBgpPeerEnable
    The status of the BGP peer connection. If set to FALSE, any active session with the peer is terminated and all associated routing information is removed. If set to TRUE, the peer connection can be established with routing information. The default is TRUE.
    enableIpv4 Boolean
    Enable IPv4 traffic over BGP Peer. It is enabled by default if the peerIpAddress is version 4.
    enableIpv6 Boolean
    Enable IPv6 traffic over BGP Peer. If not specified, it is disabled by default.
    interfaceName String
    Name of the interface the BGP peer is associated with.
    ipAddress String
    IP address of the interface inside Google Cloud Platform. Only IPv4 is supported.
    ipv4NexthopAddress String
    IPv4 address of the interface inside Google Cloud Platform.
    ipv6NexthopAddress String
    IPv6 address of the interface inside Google Cloud Platform.
    md5AuthenticationKeyName String
    Present if MD5 authentication is enabled for the peering. Must be the name of one of the entries in the Router.md5_authentication_keys. The field must comply with RFC1035.
    name String
    Name of this BGP peer. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
    peerAsn Integer
    Peer BGP Autonomous System Number (ASN). Each BGP interface may use a different value.
    peerIpAddress String
    IP address of the BGP interface outside Google Cloud Platform. Only IPv4 is supported.
    peerIpv4NexthopAddress String
    IPv4 address of the BGP interface outside Google Cloud Platform.
    peerIpv6NexthopAddress String
    IPv6 address of the BGP interface outside Google Cloud Platform.
    routerApplianceInstance String
    URI of the VM instance that is used as third-party router appliances such as Next Gen Firewalls, Virtual Routers, or Router Appliances. The VM instance must be located in zones contained in the same region as this Cloud Router. The VM instance is the peer side of the BGP session.
    advertiseMode RouterBgpPeerAdvertiseMode
    User-specified flag to indicate which mode to use for advertisement.
    advertisedGroups RouterBgpPeerAdvertisedGroupsItem[]
    User-specified list of prefix groups to advertise in custom mode, which currently supports the following option: - ALL_SUBNETS: Advertises all of the router's own VPC subnets. This excludes any routes learned for subnets that use VPC Network Peering. Note that this field can only be populated if advertise_mode is CUSTOM and overrides the list defined for the router (in the "bgp" message). These groups are advertised in addition to any specified prefixes. Leave this field blank to advertise no custom groups.
    advertisedIpRanges RouterAdvertisedIpRange[]
    User-specified list of individual IP ranges to advertise in custom mode. This field can only be populated if advertise_mode is CUSTOM and overrides the list defined for the router (in the "bgp" message). These IP ranges are advertised in addition to any specified groups. Leave this field blank to advertise no custom IP ranges.
    advertisedRoutePriority number
    The priority of routes advertised to this BGP peer. Where there is more than one matching route of maximum length, the routes with the lowest priority value win.
    bfd RouterBgpPeerBfd
    BFD configuration for the BGP peering.
    customLearnedIpRanges RouterBgpPeerCustomLearnedIpRange[]
    A list of user-defined custom learned route IP address ranges for a BGP session.
    customLearnedRoutePriority number
    The user-defined custom learned route priority for a BGP session. This value is applied to all custom learned route ranges for the session. You can choose a value from 0 to 65335. If you don't provide a value, Google Cloud assigns a priority of 100 to the ranges.
    enable RouterBgpPeerEnable
    The status of the BGP peer connection. If set to FALSE, any active session with the peer is terminated and all associated routing information is removed. If set to TRUE, the peer connection can be established with routing information. The default is TRUE.
    enableIpv4 boolean
    Enable IPv4 traffic over BGP Peer. It is enabled by default if the peerIpAddress is version 4.
    enableIpv6 boolean
    Enable IPv6 traffic over BGP Peer. If not specified, it is disabled by default.
    interfaceName string
    Name of the interface the BGP peer is associated with.
    ipAddress string
    IP address of the interface inside Google Cloud Platform. Only IPv4 is supported.
    ipv4NexthopAddress string
    IPv4 address of the interface inside Google Cloud Platform.
    ipv6NexthopAddress string
    IPv6 address of the interface inside Google Cloud Platform.
    md5AuthenticationKeyName string
    Present if MD5 authentication is enabled for the peering. Must be the name of one of the entries in the Router.md5_authentication_keys. The field must comply with RFC1035.
    name string
    Name of this BGP peer. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
    peerAsn number
    Peer BGP Autonomous System Number (ASN). Each BGP interface may use a different value.
    peerIpAddress string
    IP address of the BGP interface outside Google Cloud Platform. Only IPv4 is supported.
    peerIpv4NexthopAddress string
    IPv4 address of the BGP interface outside Google Cloud Platform.
    peerIpv6NexthopAddress string
    IPv6 address of the BGP interface outside Google Cloud Platform.
    routerApplianceInstance string
    URI of the VM instance that is used as third-party router appliances such as Next Gen Firewalls, Virtual Routers, or Router Appliances. The VM instance must be located in zones contained in the same region as this Cloud Router. The VM instance is the peer side of the BGP session.
    RouterBgpPeerAdvertiseMode
    User-specified flag to indicate which mode to use for advertisement.
    advertised_groups Sequence[RouterBgpPeerAdvertisedGroupsItem]
    User-specified list of prefix groups to advertise in custom mode, which currently supports the following option: - ALL_SUBNETS: Advertises all of the router's own VPC subnets. This excludes any routes learned for subnets that use VPC Network Peering. Note that this field can only be populated if advertise_mode is CUSTOM and overrides the list defined for the router (in the "bgp" message). These groups are advertised in addition to any specified prefixes. Leave this field blank to advertise no custom groups.
    advertised_ip_ranges Sequence[RouterAdvertisedIpRange]
    User-specified list of individual IP ranges to advertise in custom mode. This field can only be populated if advertise_mode is CUSTOM and overrides the list defined for the router (in the "bgp" message). These IP ranges are advertised in addition to any specified groups. Leave this field blank to advertise no custom IP ranges.
    advertised_route_priority int
    The priority of routes advertised to this BGP peer. Where there is more than one matching route of maximum length, the routes with the lowest priority value win.
    bfd RouterBgpPeerBfd
    BFD configuration for the BGP peering.
    custom_learned_ip_ranges Sequence[RouterBgpPeerCustomLearnedIpRange]
    A list of user-defined custom learned route IP address ranges for a BGP session.
    custom_learned_route_priority int
    The user-defined custom learned route priority for a BGP session. This value is applied to all custom learned route ranges for the session. You can choose a value from 0 to 65335. If you don't provide a value, Google Cloud assigns a priority of 100 to the ranges.
    enable RouterBgpPeerEnable
    The status of the BGP peer connection. If set to FALSE, any active session with the peer is terminated and all associated routing information is removed. If set to TRUE, the peer connection can be established with routing information. The default is TRUE.
    enable_ipv4 bool
    Enable IPv4 traffic over BGP Peer. It is enabled by default if the peerIpAddress is version 4.
    enable_ipv6 bool
    Enable IPv6 traffic over BGP Peer. If not specified, it is disabled by default.
    interface_name str
    Name of the interface the BGP peer is associated with.
    ip_address str
    IP address of the interface inside Google Cloud Platform. Only IPv4 is supported.
    ipv4_nexthop_address str
    IPv4 address of the interface inside Google Cloud Platform.
    ipv6_nexthop_address str
    IPv6 address of the interface inside Google Cloud Platform.
    md5_authentication_key_name str
    Present if MD5 authentication is enabled for the peering. Must be the name of one of the entries in the Router.md5_authentication_keys. The field must comply with RFC1035.
    name str
    Name of this BGP peer. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
    peer_asn int
    Peer BGP Autonomous System Number (ASN). Each BGP interface may use a different value.
    peer_ip_address str
    IP address of the BGP interface outside Google Cloud Platform. Only IPv4 is supported.
    peer_ipv4_nexthop_address str
    IPv4 address of the BGP interface outside Google Cloud Platform.
    peer_ipv6_nexthop_address str
    IPv6 address of the BGP interface outside Google Cloud Platform.
    router_appliance_instance str
    URI of the VM instance that is used as third-party router appliances such as Next Gen Firewalls, Virtual Routers, or Router Appliances. The VM instance must be located in zones contained in the same region as this Cloud Router. The VM instance is the peer side of the BGP session.
    advertiseMode "CUSTOM" | "DEFAULT"
    User-specified flag to indicate which mode to use for advertisement.
    advertisedGroups List<"ALL_SUBNETS">
    User-specified list of prefix groups to advertise in custom mode, which currently supports the following option: - ALL_SUBNETS: Advertises all of the router's own VPC subnets. This excludes any routes learned for subnets that use VPC Network Peering. Note that this field can only be populated if advertise_mode is CUSTOM and overrides the list defined for the router (in the "bgp" message). These groups are advertised in addition to any specified prefixes. Leave this field blank to advertise no custom groups.
    advertisedIpRanges List<Property Map>
    User-specified list of individual IP ranges to advertise in custom mode. This field can only be populated if advertise_mode is CUSTOM and overrides the list defined for the router (in the "bgp" message). These IP ranges are advertised in addition to any specified groups. Leave this field blank to advertise no custom IP ranges.
    advertisedRoutePriority Number
    The priority of routes advertised to this BGP peer. Where there is more than one matching route of maximum length, the routes with the lowest priority value win.
    bfd Property Map
    BFD configuration for the BGP peering.
    customLearnedIpRanges List<Property Map>
    A list of user-defined custom learned route IP address ranges for a BGP session.
    customLearnedRoutePriority Number
    The user-defined custom learned route priority for a BGP session. This value is applied to all custom learned route ranges for the session. You can choose a value from 0 to 65335. If you don't provide a value, Google Cloud assigns a priority of 100 to the ranges.
    enable "FALSE" | "TRUE"
    The status of the BGP peer connection. If set to FALSE, any active session with the peer is terminated and all associated routing information is removed. If set to TRUE, the peer connection can be established with routing information. The default is TRUE.
    enableIpv4 Boolean
    Enable IPv4 traffic over BGP Peer. It is enabled by default if the peerIpAddress is version 4.
    enableIpv6 Boolean
    Enable IPv6 traffic over BGP Peer. If not specified, it is disabled by default.
    interfaceName String
    Name of the interface the BGP peer is associated with.
    ipAddress String
    IP address of the interface inside Google Cloud Platform. Only IPv4 is supported.
    ipv4NexthopAddress String
    IPv4 address of the interface inside Google Cloud Platform.
    ipv6NexthopAddress String
    IPv6 address of the interface inside Google Cloud Platform.
    md5AuthenticationKeyName String
    Present if MD5 authentication is enabled for the peering. Must be the name of one of the entries in the Router.md5_authentication_keys. The field must comply with RFC1035.
    name String
    Name of this BGP peer. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
    peerAsn Number
    Peer BGP Autonomous System Number (ASN). Each BGP interface may use a different value.
    peerIpAddress String
    IP address of the BGP interface outside Google Cloud Platform. Only IPv4 is supported.
    peerIpv4NexthopAddress String
    IPv4 address of the BGP interface outside Google Cloud Platform.
    peerIpv6NexthopAddress String
    IPv6 address of the BGP interface outside Google Cloud Platform.
    routerApplianceInstance String
    URI of the VM instance that is used as third-party router appliances such as Next Gen Firewalls, Virtual Routers, or Router Appliances. The VM instance must be located in zones contained in the same region as this Cloud Router. The VM instance is the peer side of the BGP session.

    RouterBgpPeerAdvertiseMode, RouterBgpPeerAdvertiseModeArgs

    Custom
    CUSTOM
    Default
    DEFAULT
    RouterBgpPeerAdvertiseModeCustom
    CUSTOM
    RouterBgpPeerAdvertiseModeDefault
    DEFAULT
    Custom
    CUSTOM
    Default
    DEFAULT
    Custom
    CUSTOM
    Default
    DEFAULT
    CUSTOM
    CUSTOM
    DEFAULT
    DEFAULT
    "CUSTOM"
    CUSTOM
    "DEFAULT"
    DEFAULT

    RouterBgpPeerAdvertisedGroupsItem, RouterBgpPeerAdvertisedGroupsItemArgs

    AllSubnets
    ALL_SUBNETSAdvertise all available subnets (including peer VPC subnets).
    RouterBgpPeerAdvertisedGroupsItemAllSubnets
    ALL_SUBNETSAdvertise all available subnets (including peer VPC subnets).
    AllSubnets
    ALL_SUBNETSAdvertise all available subnets (including peer VPC subnets).
    AllSubnets
    ALL_SUBNETSAdvertise all available subnets (including peer VPC subnets).
    ALL_SUBNETS
    ALL_SUBNETSAdvertise all available subnets (including peer VPC subnets).
    "ALL_SUBNETS"
    ALL_SUBNETSAdvertise all available subnets (including peer VPC subnets).

    RouterBgpPeerBfd, RouterBgpPeerBfdArgs

    MinReceiveInterval int
    The minimum interval, in milliseconds, between BFD control packets received from the peer router. The actual value is negotiated between the two routers and is equal to the greater of this value and the transmit interval of the other router. If set, this value must be between 1000 and 30000. The default is 1000.
    MinTransmitInterval int
    The minimum interval, in milliseconds, between BFD control packets transmitted to the peer router. The actual value is negotiated between the two routers and is equal to the greater of this value and the corresponding receive interval of the other router. If set, this value must be between 1000 and 30000. The default is 1000.
    Multiplier int
    The number of consecutive BFD packets that must be missed before BFD declares that a peer is unavailable. If set, the value must be a value between 5 and 16. The default is 5.
    SessionInitializationMode Pulumi.GoogleNative.Compute.Beta.RouterBgpPeerBfdSessionInitializationMode
    The BFD session initialization mode for this BGP peer. If set to ACTIVE, the Cloud Router will initiate the BFD session for this BGP peer. If set to PASSIVE, the Cloud Router will wait for the peer router to initiate the BFD session for this BGP peer. If set to DISABLED, BFD is disabled for this BGP peer. The default is DISABLED.
    MinReceiveInterval int
    The minimum interval, in milliseconds, between BFD control packets received from the peer router. The actual value is negotiated between the two routers and is equal to the greater of this value and the transmit interval of the other router. If set, this value must be between 1000 and 30000. The default is 1000.
    MinTransmitInterval int
    The minimum interval, in milliseconds, between BFD control packets transmitted to the peer router. The actual value is negotiated between the two routers and is equal to the greater of this value and the corresponding receive interval of the other router. If set, this value must be between 1000 and 30000. The default is 1000.
    Multiplier int
    The number of consecutive BFD packets that must be missed before BFD declares that a peer is unavailable. If set, the value must be a value between 5 and 16. The default is 5.
    SessionInitializationMode RouterBgpPeerBfdSessionInitializationMode
    The BFD session initialization mode for this BGP peer. If set to ACTIVE, the Cloud Router will initiate the BFD session for this BGP peer. If set to PASSIVE, the Cloud Router will wait for the peer router to initiate the BFD session for this BGP peer. If set to DISABLED, BFD is disabled for this BGP peer. The default is DISABLED.
    minReceiveInterval Integer
    The minimum interval, in milliseconds, between BFD control packets received from the peer router. The actual value is negotiated between the two routers and is equal to the greater of this value and the transmit interval of the other router. If set, this value must be between 1000 and 30000. The default is 1000.
    minTransmitInterval Integer
    The minimum interval, in milliseconds, between BFD control packets transmitted to the peer router. The actual value is negotiated between the two routers and is equal to the greater of this value and the corresponding receive interval of the other router. If set, this value must be between 1000 and 30000. The default is 1000.
    multiplier Integer
    The number of consecutive BFD packets that must be missed before BFD declares that a peer is unavailable. If set, the value must be a value between 5 and 16. The default is 5.
    sessionInitializationMode RouterBgpPeerBfdSessionInitializationMode
    The BFD session initialization mode for this BGP peer. If set to ACTIVE, the Cloud Router will initiate the BFD session for this BGP peer. If set to PASSIVE, the Cloud Router will wait for the peer router to initiate the BFD session for this BGP peer. If set to DISABLED, BFD is disabled for this BGP peer. The default is DISABLED.
    minReceiveInterval number
    The minimum interval, in milliseconds, between BFD control packets received from the peer router. The actual value is negotiated between the two routers and is equal to the greater of this value and the transmit interval of the other router. If set, this value must be between 1000 and 30000. The default is 1000.
    minTransmitInterval number
    The minimum interval, in milliseconds, between BFD control packets transmitted to the peer router. The actual value is negotiated between the two routers and is equal to the greater of this value and the corresponding receive interval of the other router. If set, this value must be between 1000 and 30000. The default is 1000.
    multiplier number
    The number of consecutive BFD packets that must be missed before BFD declares that a peer is unavailable. If set, the value must be a value between 5 and 16. The default is 5.
    sessionInitializationMode RouterBgpPeerBfdSessionInitializationMode
    The BFD session initialization mode for this BGP peer. If set to ACTIVE, the Cloud Router will initiate the BFD session for this BGP peer. If set to PASSIVE, the Cloud Router will wait for the peer router to initiate the BFD session for this BGP peer. If set to DISABLED, BFD is disabled for this BGP peer. The default is DISABLED.
    min_receive_interval int
    The minimum interval, in milliseconds, between BFD control packets received from the peer router. The actual value is negotiated between the two routers and is equal to the greater of this value and the transmit interval of the other router. If set, this value must be between 1000 and 30000. The default is 1000.
    min_transmit_interval int
    The minimum interval, in milliseconds, between BFD control packets transmitted to the peer router. The actual value is negotiated between the two routers and is equal to the greater of this value and the corresponding receive interval of the other router. If set, this value must be between 1000 and 30000. The default is 1000.
    multiplier int
    The number of consecutive BFD packets that must be missed before BFD declares that a peer is unavailable. If set, the value must be a value between 5 and 16. The default is 5.
    session_initialization_mode RouterBgpPeerBfdSessionInitializationMode
    The BFD session initialization mode for this BGP peer. If set to ACTIVE, the Cloud Router will initiate the BFD session for this BGP peer. If set to PASSIVE, the Cloud Router will wait for the peer router to initiate the BFD session for this BGP peer. If set to DISABLED, BFD is disabled for this BGP peer. The default is DISABLED.
    minReceiveInterval Number
    The minimum interval, in milliseconds, between BFD control packets received from the peer router. The actual value is negotiated between the two routers and is equal to the greater of this value and the transmit interval of the other router. If set, this value must be between 1000 and 30000. The default is 1000.
    minTransmitInterval Number
    The minimum interval, in milliseconds, between BFD control packets transmitted to the peer router. The actual value is negotiated between the two routers and is equal to the greater of this value and the corresponding receive interval of the other router. If set, this value must be between 1000 and 30000. The default is 1000.
    multiplier Number
    The number of consecutive BFD packets that must be missed before BFD declares that a peer is unavailable. If set, the value must be a value between 5 and 16. The default is 5.
    sessionInitializationMode "ACTIVE" | "DISABLED" | "PASSIVE"
    The BFD session initialization mode for this BGP peer. If set to ACTIVE, the Cloud Router will initiate the BFD session for this BGP peer. If set to PASSIVE, the Cloud Router will wait for the peer router to initiate the BFD session for this BGP peer. If set to DISABLED, BFD is disabled for this BGP peer. The default is DISABLED.

    RouterBgpPeerBfdResponse, RouterBgpPeerBfdResponseArgs

    MinReceiveInterval int
    The minimum interval, in milliseconds, between BFD control packets received from the peer router. The actual value is negotiated between the two routers and is equal to the greater of this value and the transmit interval of the other router. If set, this value must be between 1000 and 30000. The default is 1000.
    MinTransmitInterval int
    The minimum interval, in milliseconds, between BFD control packets transmitted to the peer router. The actual value is negotiated between the two routers and is equal to the greater of this value and the corresponding receive interval of the other router. If set, this value must be between 1000 and 30000. The default is 1000.
    Multiplier int
    The number of consecutive BFD packets that must be missed before BFD declares that a peer is unavailable. If set, the value must be a value between 5 and 16. The default is 5.
    SessionInitializationMode string
    The BFD session initialization mode for this BGP peer. If set to ACTIVE, the Cloud Router will initiate the BFD session for this BGP peer. If set to PASSIVE, the Cloud Router will wait for the peer router to initiate the BFD session for this BGP peer. If set to DISABLED, BFD is disabled for this BGP peer. The default is DISABLED.
    MinReceiveInterval int
    The minimum interval, in milliseconds, between BFD control packets received from the peer router. The actual value is negotiated between the two routers and is equal to the greater of this value and the transmit interval of the other router. If set, this value must be between 1000 and 30000. The default is 1000.
    MinTransmitInterval int
    The minimum interval, in milliseconds, between BFD control packets transmitted to the peer router. The actual value is negotiated between the two routers and is equal to the greater of this value and the corresponding receive interval of the other router. If set, this value must be between 1000 and 30000. The default is 1000.
    Multiplier int
    The number of consecutive BFD packets that must be missed before BFD declares that a peer is unavailable. If set, the value must be a value between 5 and 16. The default is 5.
    SessionInitializationMode string
    The BFD session initialization mode for this BGP peer. If set to ACTIVE, the Cloud Router will initiate the BFD session for this BGP peer. If set to PASSIVE, the Cloud Router will wait for the peer router to initiate the BFD session for this BGP peer. If set to DISABLED, BFD is disabled for this BGP peer. The default is DISABLED.
    minReceiveInterval Integer
    The minimum interval, in milliseconds, between BFD control packets received from the peer router. The actual value is negotiated between the two routers and is equal to the greater of this value and the transmit interval of the other router. If set, this value must be between 1000 and 30000. The default is 1000.
    minTransmitInterval Integer
    The minimum interval, in milliseconds, between BFD control packets transmitted to the peer router. The actual value is negotiated between the two routers and is equal to the greater of this value and the corresponding receive interval of the other router. If set, this value must be between 1000 and 30000. The default is 1000.
    multiplier Integer
    The number of consecutive BFD packets that must be missed before BFD declares that a peer is unavailable. If set, the value must be a value between 5 and 16. The default is 5.
    sessionInitializationMode String
    The BFD session initialization mode for this BGP peer. If set to ACTIVE, the Cloud Router will initiate the BFD session for this BGP peer. If set to PASSIVE, the Cloud Router will wait for the peer router to initiate the BFD session for this BGP peer. If set to DISABLED, BFD is disabled for this BGP peer. The default is DISABLED.
    minReceiveInterval number
    The minimum interval, in milliseconds, between BFD control packets received from the peer router. The actual value is negotiated between the two routers and is equal to the greater of this value and the transmit interval of the other router. If set, this value must be between 1000 and 30000. The default is 1000.
    minTransmitInterval number
    The minimum interval, in milliseconds, between BFD control packets transmitted to the peer router. The actual value is negotiated between the two routers and is equal to the greater of this value and the corresponding receive interval of the other router. If set, this value must be between 1000 and 30000. The default is 1000.
    multiplier number
    The number of consecutive BFD packets that must be missed before BFD declares that a peer is unavailable. If set, the value must be a value between 5 and 16. The default is 5.
    sessionInitializationMode string
    The BFD session initialization mode for this BGP peer. If set to ACTIVE, the Cloud Router will initiate the BFD session for this BGP peer. If set to PASSIVE, the Cloud Router will wait for the peer router to initiate the BFD session for this BGP peer. If set to DISABLED, BFD is disabled for this BGP peer. The default is DISABLED.
    min_receive_interval int
    The minimum interval, in milliseconds, between BFD control packets received from the peer router. The actual value is negotiated between the two routers and is equal to the greater of this value and the transmit interval of the other router. If set, this value must be between 1000 and 30000. The default is 1000.
    min_transmit_interval int
    The minimum interval, in milliseconds, between BFD control packets transmitted to the peer router. The actual value is negotiated between the two routers and is equal to the greater of this value and the corresponding receive interval of the other router. If set, this value must be between 1000 and 30000. The default is 1000.
    multiplier int
    The number of consecutive BFD packets that must be missed before BFD declares that a peer is unavailable. If set, the value must be a value between 5 and 16. The default is 5.
    session_initialization_mode str
    The BFD session initialization mode for this BGP peer. If set to ACTIVE, the Cloud Router will initiate the BFD session for this BGP peer. If set to PASSIVE, the Cloud Router will wait for the peer router to initiate the BFD session for this BGP peer. If set to DISABLED, BFD is disabled for this BGP peer. The default is DISABLED.
    minReceiveInterval Number
    The minimum interval, in milliseconds, between BFD control packets received from the peer router. The actual value is negotiated between the two routers and is equal to the greater of this value and the transmit interval of the other router. If set, this value must be between 1000 and 30000. The default is 1000.
    minTransmitInterval Number
    The minimum interval, in milliseconds, between BFD control packets transmitted to the peer router. The actual value is negotiated between the two routers and is equal to the greater of this value and the corresponding receive interval of the other router. If set, this value must be between 1000 and 30000. The default is 1000.
    multiplier Number
    The number of consecutive BFD packets that must be missed before BFD declares that a peer is unavailable. If set, the value must be a value between 5 and 16. The default is 5.
    sessionInitializationMode String
    The BFD session initialization mode for this BGP peer. If set to ACTIVE, the Cloud Router will initiate the BFD session for this BGP peer. If set to PASSIVE, the Cloud Router will wait for the peer router to initiate the BFD session for this BGP peer. If set to DISABLED, BFD is disabled for this BGP peer. The default is DISABLED.

    RouterBgpPeerBfdSessionInitializationMode, RouterBgpPeerBfdSessionInitializationModeArgs

    Active
    ACTIVE
    Disabled
    DISABLED
    Passive
    PASSIVE
    RouterBgpPeerBfdSessionInitializationModeActive
    ACTIVE
    RouterBgpPeerBfdSessionInitializationModeDisabled
    DISABLED
    RouterBgpPeerBfdSessionInitializationModePassive
    PASSIVE
    Active
    ACTIVE
    Disabled
    DISABLED
    Passive
    PASSIVE
    Active
    ACTIVE
    Disabled
    DISABLED
    Passive
    PASSIVE
    ACTIVE
    ACTIVE
    DISABLED
    DISABLED
    PASSIVE
    PASSIVE
    "ACTIVE"
    ACTIVE
    "DISABLED"
    DISABLED
    "PASSIVE"
    PASSIVE

    RouterBgpPeerCustomLearnedIpRange, RouterBgpPeerCustomLearnedIpRangeArgs

    Range string
    The custom learned route IP address range. Must be a valid CIDR-formatted prefix. If an IP address is provided without a subnet mask, it is interpreted as, for IPv4, a /32 singular IP address range, and, for IPv6, /128.
    Range string
    The custom learned route IP address range. Must be a valid CIDR-formatted prefix. If an IP address is provided without a subnet mask, it is interpreted as, for IPv4, a /32 singular IP address range, and, for IPv6, /128.
    range String
    The custom learned route IP address range. Must be a valid CIDR-formatted prefix. If an IP address is provided without a subnet mask, it is interpreted as, for IPv4, a /32 singular IP address range, and, for IPv6, /128.
    range string
    The custom learned route IP address range. Must be a valid CIDR-formatted prefix. If an IP address is provided without a subnet mask, it is interpreted as, for IPv4, a /32 singular IP address range, and, for IPv6, /128.
    range str
    The custom learned route IP address range. Must be a valid CIDR-formatted prefix. If an IP address is provided without a subnet mask, it is interpreted as, for IPv4, a /32 singular IP address range, and, for IPv6, /128.
    range String
    The custom learned route IP address range. Must be a valid CIDR-formatted prefix. If an IP address is provided without a subnet mask, it is interpreted as, for IPv4, a /32 singular IP address range, and, for IPv6, /128.

    RouterBgpPeerCustomLearnedIpRangeResponse, RouterBgpPeerCustomLearnedIpRangeResponseArgs

    Range string
    The custom learned route IP address range. Must be a valid CIDR-formatted prefix. If an IP address is provided without a subnet mask, it is interpreted as, for IPv4, a /32 singular IP address range, and, for IPv6, /128.
    Range string
    The custom learned route IP address range. Must be a valid CIDR-formatted prefix. If an IP address is provided without a subnet mask, it is interpreted as, for IPv4, a /32 singular IP address range, and, for IPv6, /128.
    range String
    The custom learned route IP address range. Must be a valid CIDR-formatted prefix. If an IP address is provided without a subnet mask, it is interpreted as, for IPv4, a /32 singular IP address range, and, for IPv6, /128.
    range string
    The custom learned route IP address range. Must be a valid CIDR-formatted prefix. If an IP address is provided without a subnet mask, it is interpreted as, for IPv4, a /32 singular IP address range, and, for IPv6, /128.
    range str
    The custom learned route IP address range. Must be a valid CIDR-formatted prefix. If an IP address is provided without a subnet mask, it is interpreted as, for IPv4, a /32 singular IP address range, and, for IPv6, /128.
    range String
    The custom learned route IP address range. Must be a valid CIDR-formatted prefix. If an IP address is provided without a subnet mask, it is interpreted as, for IPv4, a /32 singular IP address range, and, for IPv6, /128.

    RouterBgpPeerEnable, RouterBgpPeerEnableArgs

    False
    FALSE
    True
    TRUE
    RouterBgpPeerEnableFalse
    FALSE
    RouterBgpPeerEnableTrue
    TRUE
    False
    FALSE
    True
    TRUE
    False
    FALSE
    True
    TRUE
    FALSE
    FALSE
    TRUE
    TRUE
    "FALSE"
    FALSE
    "TRUE"
    TRUE

    RouterBgpPeerResponse, RouterBgpPeerResponseArgs

    AdvertiseMode string
    User-specified flag to indicate which mode to use for advertisement.
    AdvertisedGroups List<string>
    User-specified list of prefix groups to advertise in custom mode, which currently supports the following option: - ALL_SUBNETS: Advertises all of the router's own VPC subnets. This excludes any routes learned for subnets that use VPC Network Peering. Note that this field can only be populated if advertise_mode is CUSTOM and overrides the list defined for the router (in the "bgp" message). These groups are advertised in addition to any specified prefixes. Leave this field blank to advertise no custom groups.
    AdvertisedIpRanges List<Pulumi.GoogleNative.Compute.Beta.Inputs.RouterAdvertisedIpRangeResponse>
    User-specified list of individual IP ranges to advertise in custom mode. This field can only be populated if advertise_mode is CUSTOM and overrides the list defined for the router (in the "bgp" message). These IP ranges are advertised in addition to any specified groups. Leave this field blank to advertise no custom IP ranges.
    AdvertisedRoutePriority int
    The priority of routes advertised to this BGP peer. Where there is more than one matching route of maximum length, the routes with the lowest priority value win.
    Bfd Pulumi.GoogleNative.Compute.Beta.Inputs.RouterBgpPeerBfdResponse
    BFD configuration for the BGP peering.
    CustomLearnedIpRanges List<Pulumi.GoogleNative.Compute.Beta.Inputs.RouterBgpPeerCustomLearnedIpRangeResponse>
    A list of user-defined custom learned route IP address ranges for a BGP session.
    CustomLearnedRoutePriority int
    The user-defined custom learned route priority for a BGP session. This value is applied to all custom learned route ranges for the session. You can choose a value from 0 to 65335. If you don't provide a value, Google Cloud assigns a priority of 100 to the ranges.
    Enable string
    The status of the BGP peer connection. If set to FALSE, any active session with the peer is terminated and all associated routing information is removed. If set to TRUE, the peer connection can be established with routing information. The default is TRUE.
    EnableIpv4 bool
    Enable IPv4 traffic over BGP Peer. It is enabled by default if the peerIpAddress is version 4.
    EnableIpv6 bool
    Enable IPv6 traffic over BGP Peer. If not specified, it is disabled by default.
    InterfaceName string
    Name of the interface the BGP peer is associated with.
    IpAddress string
    IP address of the interface inside Google Cloud Platform. Only IPv4 is supported.
    Ipv4NexthopAddress string
    IPv4 address of the interface inside Google Cloud Platform.
    Ipv6NexthopAddress string
    IPv6 address of the interface inside Google Cloud Platform.
    ManagementType string
    The resource that configures and manages this BGP peer. - MANAGED_BY_USER is the default value and can be managed by you or other users - MANAGED_BY_ATTACHMENT is a BGP peer that is configured and managed by Cloud Interconnect, specifically by an InterconnectAttachment of type PARTNER. Google automatically creates, updates, and deletes this type of BGP peer when the PARTNER InterconnectAttachment is created, updated, or deleted.
    Md5AuthenticationKeyName string
    Present if MD5 authentication is enabled for the peering. Must be the name of one of the entries in the Router.md5_authentication_keys. The field must comply with RFC1035.
    Name string
    Name of this BGP peer. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
    PeerAsn int
    Peer BGP Autonomous System Number (ASN). Each BGP interface may use a different value.
    PeerIpAddress string
    IP address of the BGP interface outside Google Cloud Platform. Only IPv4 is supported.
    PeerIpv4NexthopAddress string
    IPv4 address of the BGP interface outside Google Cloud Platform.
    PeerIpv6NexthopAddress string
    IPv6 address of the BGP interface outside Google Cloud Platform.
    RouterApplianceInstance string
    URI of the VM instance that is used as third-party router appliances such as Next Gen Firewalls, Virtual Routers, or Router Appliances. The VM instance must be located in zones contained in the same region as this Cloud Router. The VM instance is the peer side of the BGP session.
    AdvertiseMode string
    User-specified flag to indicate which mode to use for advertisement.
    AdvertisedGroups []string
    User-specified list of prefix groups to advertise in custom mode, which currently supports the following option: - ALL_SUBNETS: Advertises all of the router's own VPC subnets. This excludes any routes learned for subnets that use VPC Network Peering. Note that this field can only be populated if advertise_mode is CUSTOM and overrides the list defined for the router (in the "bgp" message). These groups are advertised in addition to any specified prefixes. Leave this field blank to advertise no custom groups.
    AdvertisedIpRanges []RouterAdvertisedIpRangeResponse
    User-specified list of individual IP ranges to advertise in custom mode. This field can only be populated if advertise_mode is CUSTOM and overrides the list defined for the router (in the "bgp" message). These IP ranges are advertised in addition to any specified groups. Leave this field blank to advertise no custom IP ranges.
    AdvertisedRoutePriority int
    The priority of routes advertised to this BGP peer. Where there is more than one matching route of maximum length, the routes with the lowest priority value win.
    Bfd RouterBgpPeerBfdResponse
    BFD configuration for the BGP peering.
    CustomLearnedIpRanges []RouterBgpPeerCustomLearnedIpRangeResponse
    A list of user-defined custom learned route IP address ranges for a BGP session.
    CustomLearnedRoutePriority int
    The user-defined custom learned route priority for a BGP session. This value is applied to all custom learned route ranges for the session. You can choose a value from 0 to 65335. If you don't provide a value, Google Cloud assigns a priority of 100 to the ranges.
    Enable string
    The status of the BGP peer connection. If set to FALSE, any active session with the peer is terminated and all associated routing information is removed. If set to TRUE, the peer connection can be established with routing information. The default is TRUE.
    EnableIpv4 bool
    Enable IPv4 traffic over BGP Peer. It is enabled by default if the peerIpAddress is version 4.
    EnableIpv6 bool
    Enable IPv6 traffic over BGP Peer. If not specified, it is disabled by default.
    InterfaceName string
    Name of the interface the BGP peer is associated with.
    IpAddress string
    IP address of the interface inside Google Cloud Platform. Only IPv4 is supported.
    Ipv4NexthopAddress string
    IPv4 address of the interface inside Google Cloud Platform.
    Ipv6NexthopAddress string
    IPv6 address of the interface inside Google Cloud Platform.
    ManagementType string
    The resource that configures and manages this BGP peer. - MANAGED_BY_USER is the default value and can be managed by you or other users - MANAGED_BY_ATTACHMENT is a BGP peer that is configured and managed by Cloud Interconnect, specifically by an InterconnectAttachment of type PARTNER. Google automatically creates, updates, and deletes this type of BGP peer when the PARTNER InterconnectAttachment is created, updated, or deleted.
    Md5AuthenticationKeyName string
    Present if MD5 authentication is enabled for the peering. Must be the name of one of the entries in the Router.md5_authentication_keys. The field must comply with RFC1035.
    Name string
    Name of this BGP peer. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
    PeerAsn int
    Peer BGP Autonomous System Number (ASN). Each BGP interface may use a different value.
    PeerIpAddress string
    IP address of the BGP interface outside Google Cloud Platform. Only IPv4 is supported.
    PeerIpv4NexthopAddress string
    IPv4 address of the BGP interface outside Google Cloud Platform.
    PeerIpv6NexthopAddress string
    IPv6 address of the BGP interface outside Google Cloud Platform.
    RouterApplianceInstance string
    URI of the VM instance that is used as third-party router appliances such as Next Gen Firewalls, Virtual Routers, or Router Appliances. The VM instance must be located in zones contained in the same region as this Cloud Router. The VM instance is the peer side of the BGP session.
    advertiseMode String
    User-specified flag to indicate which mode to use for advertisement.
    advertisedGroups List<String>
    User-specified list of prefix groups to advertise in custom mode, which currently supports the following option: - ALL_SUBNETS: Advertises all of the router's own VPC subnets. This excludes any routes learned for subnets that use VPC Network Peering. Note that this field can only be populated if advertise_mode is CUSTOM and overrides the list defined for the router (in the "bgp" message). These groups are advertised in addition to any specified prefixes. Leave this field blank to advertise no custom groups.
    advertisedIpRanges List<RouterAdvertisedIpRangeResponse>
    User-specified list of individual IP ranges to advertise in custom mode. This field can only be populated if advertise_mode is CUSTOM and overrides the list defined for the router (in the "bgp" message). These IP ranges are advertised in addition to any specified groups. Leave this field blank to advertise no custom IP ranges.
    advertisedRoutePriority Integer
    The priority of routes advertised to this BGP peer. Where there is more than one matching route of maximum length, the routes with the lowest priority value win.
    bfd RouterBgpPeerBfdResponse
    BFD configuration for the BGP peering.
    customLearnedIpRanges List<RouterBgpPeerCustomLearnedIpRangeResponse>
    A list of user-defined custom learned route IP address ranges for a BGP session.
    customLearnedRoutePriority Integer
    The user-defined custom learned route priority for a BGP session. This value is applied to all custom learned route ranges for the session. You can choose a value from 0 to 65335. If you don't provide a value, Google Cloud assigns a priority of 100 to the ranges.
    enable String
    The status of the BGP peer connection. If set to FALSE, any active session with the peer is terminated and all associated routing information is removed. If set to TRUE, the peer connection can be established with routing information. The default is TRUE.
    enableIpv4 Boolean
    Enable IPv4 traffic over BGP Peer. It is enabled by default if the peerIpAddress is version 4.
    enableIpv6 Boolean
    Enable IPv6 traffic over BGP Peer. If not specified, it is disabled by default.
    interfaceName String
    Name of the interface the BGP peer is associated with.
    ipAddress String
    IP address of the interface inside Google Cloud Platform. Only IPv4 is supported.
    ipv4NexthopAddress String
    IPv4 address of the interface inside Google Cloud Platform.
    ipv6NexthopAddress String
    IPv6 address of the interface inside Google Cloud Platform.
    managementType String
    The resource that configures and manages this BGP peer. - MANAGED_BY_USER is the default value and can be managed by you or other users - MANAGED_BY_ATTACHMENT is a BGP peer that is configured and managed by Cloud Interconnect, specifically by an InterconnectAttachment of type PARTNER. Google automatically creates, updates, and deletes this type of BGP peer when the PARTNER InterconnectAttachment is created, updated, or deleted.
    md5AuthenticationKeyName String
    Present if MD5 authentication is enabled for the peering. Must be the name of one of the entries in the Router.md5_authentication_keys. The field must comply with RFC1035.
    name String
    Name of this BGP peer. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
    peerAsn Integer
    Peer BGP Autonomous System Number (ASN). Each BGP interface may use a different value.
    peerIpAddress String
    IP address of the BGP interface outside Google Cloud Platform. Only IPv4 is supported.
    peerIpv4NexthopAddress String
    IPv4 address of the BGP interface outside Google Cloud Platform.
    peerIpv6NexthopAddress String
    IPv6 address of the BGP interface outside Google Cloud Platform.
    routerApplianceInstance String
    URI of the VM instance that is used as third-party router appliances such as Next Gen Firewalls, Virtual Routers, or Router Appliances. The VM instance must be located in zones contained in the same region as this Cloud Router. The VM instance is the peer side of the BGP session.
    advertiseMode string
    User-specified flag to indicate which mode to use for advertisement.
    advertisedGroups string[]
    User-specified list of prefix groups to advertise in custom mode, which currently supports the following option: - ALL_SUBNETS: Advertises all of the router's own VPC subnets. This excludes any routes learned for subnets that use VPC Network Peering. Note that this field can only be populated if advertise_mode is CUSTOM and overrides the list defined for the router (in the "bgp" message). These groups are advertised in addition to any specified prefixes. Leave this field blank to advertise no custom groups.
    advertisedIpRanges RouterAdvertisedIpRangeResponse[]
    User-specified list of individual IP ranges to advertise in custom mode. This field can only be populated if advertise_mode is CUSTOM and overrides the list defined for the router (in the "bgp" message). These IP ranges are advertised in addition to any specified groups. Leave this field blank to advertise no custom IP ranges.
    advertisedRoutePriority number
    The priority of routes advertised to this BGP peer. Where there is more than one matching route of maximum length, the routes with the lowest priority value win.
    bfd RouterBgpPeerBfdResponse
    BFD configuration for the BGP peering.
    customLearnedIpRanges RouterBgpPeerCustomLearnedIpRangeResponse[]
    A list of user-defined custom learned route IP address ranges for a BGP session.
    customLearnedRoutePriority number
    The user-defined custom learned route priority for a BGP session. This value is applied to all custom learned route ranges for the session. You can choose a value from 0 to 65335. If you don't provide a value, Google Cloud assigns a priority of 100 to the ranges.
    enable string
    The status of the BGP peer connection. If set to FALSE, any active session with the peer is terminated and all associated routing information is removed. If set to TRUE, the peer connection can be established with routing information. The default is TRUE.
    enableIpv4 boolean
    Enable IPv4 traffic over BGP Peer. It is enabled by default if the peerIpAddress is version 4.
    enableIpv6 boolean
    Enable IPv6 traffic over BGP Peer. If not specified, it is disabled by default.
    interfaceName string
    Name of the interface the BGP peer is associated with.
    ipAddress string
    IP address of the interface inside Google Cloud Platform. Only IPv4 is supported.
    ipv4NexthopAddress string
    IPv4 address of the interface inside Google Cloud Platform.
    ipv6NexthopAddress string
    IPv6 address of the interface inside Google Cloud Platform.
    managementType string
    The resource that configures and manages this BGP peer. - MANAGED_BY_USER is the default value and can be managed by you or other users - MANAGED_BY_ATTACHMENT is a BGP peer that is configured and managed by Cloud Interconnect, specifically by an InterconnectAttachment of type PARTNER. Google automatically creates, updates, and deletes this type of BGP peer when the PARTNER InterconnectAttachment is created, updated, or deleted.
    md5AuthenticationKeyName string
    Present if MD5 authentication is enabled for the peering. Must be the name of one of the entries in the Router.md5_authentication_keys. The field must comply with RFC1035.
    name string
    Name of this BGP peer. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
    peerAsn number
    Peer BGP Autonomous System Number (ASN). Each BGP interface may use a different value.
    peerIpAddress string
    IP address of the BGP interface outside Google Cloud Platform. Only IPv4 is supported.
    peerIpv4NexthopAddress string
    IPv4 address of the BGP interface outside Google Cloud Platform.
    peerIpv6NexthopAddress string
    IPv6 address of the BGP interface outside Google Cloud Platform.
    routerApplianceInstance string
    URI of the VM instance that is used as third-party router appliances such as Next Gen Firewalls, Virtual Routers, or Router Appliances. The VM instance must be located in zones contained in the same region as this Cloud Router. The VM instance is the peer side of the BGP session.
    str
    User-specified flag to indicate which mode to use for advertisement.
    advertised_groups Sequence[str]
    User-specified list of prefix groups to advertise in custom mode, which currently supports the following option: - ALL_SUBNETS: Advertises all of the router's own VPC subnets. This excludes any routes learned for subnets that use VPC Network Peering. Note that this field can only be populated if advertise_mode is CUSTOM and overrides the list defined for the router (in the "bgp" message). These groups are advertised in addition to any specified prefixes. Leave this field blank to advertise no custom groups.
    advertised_ip_ranges Sequence[RouterAdvertisedIpRangeResponse]
    User-specified list of individual IP ranges to advertise in custom mode. This field can only be populated if advertise_mode is CUSTOM and overrides the list defined for the router (in the "bgp" message). These IP ranges are advertised in addition to any specified groups. Leave this field blank to advertise no custom IP ranges.
    advertised_route_priority int
    The priority of routes advertised to this BGP peer. Where there is more than one matching route of maximum length, the routes with the lowest priority value win.
    bfd RouterBgpPeerBfdResponse
    BFD configuration for the BGP peering.
    custom_learned_ip_ranges Sequence[RouterBgpPeerCustomLearnedIpRangeResponse]
    A list of user-defined custom learned route IP address ranges for a BGP session.
    custom_learned_route_priority int
    The user-defined custom learned route priority for a BGP session. This value is applied to all custom learned route ranges for the session. You can choose a value from 0 to 65335. If you don't provide a value, Google Cloud assigns a priority of 100 to the ranges.
    enable str
    The status of the BGP peer connection. If set to FALSE, any active session with the peer is terminated and all associated routing information is removed. If set to TRUE, the peer connection can be established with routing information. The default is TRUE.
    enable_ipv4 bool
    Enable IPv4 traffic over BGP Peer. It is enabled by default if the peerIpAddress is version 4.
    enable_ipv6 bool
    Enable IPv6 traffic over BGP Peer. If not specified, it is disabled by default.
    interface_name str
    Name of the interface the BGP peer is associated with.
    ip_address str
    IP address of the interface inside Google Cloud Platform. Only IPv4 is supported.
    ipv4_nexthop_address str
    IPv4 address of the interface inside Google Cloud Platform.
    ipv6_nexthop_address str
    IPv6 address of the interface inside Google Cloud Platform.
    management_type str
    The resource that configures and manages this BGP peer. - MANAGED_BY_USER is the default value and can be managed by you or other users - MANAGED_BY_ATTACHMENT is a BGP peer that is configured and managed by Cloud Interconnect, specifically by an InterconnectAttachment of type PARTNER. Google automatically creates, updates, and deletes this type of BGP peer when the PARTNER InterconnectAttachment is created, updated, or deleted.
    md5_authentication_key_name str
    Present if MD5 authentication is enabled for the peering. Must be the name of one of the entries in the Router.md5_authentication_keys. The field must comply with RFC1035.
    name str
    Name of this BGP peer. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
    peer_asn int
    Peer BGP Autonomous System Number (ASN). Each BGP interface may use a different value.
    peer_ip_address str
    IP address of the BGP interface outside Google Cloud Platform. Only IPv4 is supported.
    peer_ipv4_nexthop_address str
    IPv4 address of the BGP interface outside Google Cloud Platform.
    peer_ipv6_nexthop_address str
    IPv6 address of the BGP interface outside Google Cloud Platform.
    router_appliance_instance str
    URI of the VM instance that is used as third-party router appliances such as Next Gen Firewalls, Virtual Routers, or Router Appliances. The VM instance must be located in zones contained in the same region as this Cloud Router. The VM instance is the peer side of the BGP session.
    advertiseMode String
    User-specified flag to indicate which mode to use for advertisement.
    advertisedGroups List<String>
    User-specified list of prefix groups to advertise in custom mode, which currently supports the following option: - ALL_SUBNETS: Advertises all of the router's own VPC subnets. This excludes any routes learned for subnets that use VPC Network Peering. Note that this field can only be populated if advertise_mode is CUSTOM and overrides the list defined for the router (in the "bgp" message). These groups are advertised in addition to any specified prefixes. Leave this field blank to advertise no custom groups.
    advertisedIpRanges List<Property Map>
    User-specified list of individual IP ranges to advertise in custom mode. This field can only be populated if advertise_mode is CUSTOM and overrides the list defined for the router (in the "bgp" message). These IP ranges are advertised in addition to any specified groups. Leave this field blank to advertise no custom IP ranges.
    advertisedRoutePriority Number
    The priority of routes advertised to this BGP peer. Where there is more than one matching route of maximum length, the routes with the lowest priority value win.
    bfd Property Map
    BFD configuration for the BGP peering.
    customLearnedIpRanges List<Property Map>
    A list of user-defined custom learned route IP address ranges for a BGP session.
    customLearnedRoutePriority Number
    The user-defined custom learned route priority for a BGP session. This value is applied to all custom learned route ranges for the session. You can choose a value from 0 to 65335. If you don't provide a value, Google Cloud assigns a priority of 100 to the ranges.
    enable String
    The status of the BGP peer connection. If set to FALSE, any active session with the peer is terminated and all associated routing information is removed. If set to TRUE, the peer connection can be established with routing information. The default is TRUE.
    enableIpv4 Boolean
    Enable IPv4 traffic over BGP Peer. It is enabled by default if the peerIpAddress is version 4.
    enableIpv6 Boolean
    Enable IPv6 traffic over BGP Peer. If not specified, it is disabled by default.
    interfaceName String
    Name of the interface the BGP peer is associated with.
    ipAddress String
    IP address of the interface inside Google Cloud Platform. Only IPv4 is supported.
    ipv4NexthopAddress String
    IPv4 address of the interface inside Google Cloud Platform.
    ipv6NexthopAddress String
    IPv6 address of the interface inside Google Cloud Platform.
    managementType String
    The resource that configures and manages this BGP peer. - MANAGED_BY_USER is the default value and can be managed by you or other users - MANAGED_BY_ATTACHMENT is a BGP peer that is configured and managed by Cloud Interconnect, specifically by an InterconnectAttachment of type PARTNER. Google automatically creates, updates, and deletes this type of BGP peer when the PARTNER InterconnectAttachment is created, updated, or deleted.
    md5AuthenticationKeyName String
    Present if MD5 authentication is enabled for the peering. Must be the name of one of the entries in the Router.md5_authentication_keys. The field must comply with RFC1035.
    name String
    Name of this BGP peer. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
    peerAsn Number
    Peer BGP Autonomous System Number (ASN). Each BGP interface may use a different value.
    peerIpAddress String
    IP address of the BGP interface outside Google Cloud Platform. Only IPv4 is supported.
    peerIpv4NexthopAddress String
    IPv4 address of the BGP interface outside Google Cloud Platform.
    peerIpv6NexthopAddress String
    IPv6 address of the BGP interface outside Google Cloud Platform.
    routerApplianceInstance String
    URI of the VM instance that is used as third-party router appliances such as Next Gen Firewalls, Virtual Routers, or Router Appliances. The VM instance must be located in zones contained in the same region as this Cloud Router. The VM instance is the peer side of the BGP session.

    RouterBgpResponse, RouterBgpResponseArgs

    AdvertiseMode string
    User-specified flag to indicate which mode to use for advertisement. The options are DEFAULT or CUSTOM.
    AdvertisedGroups List<string>
    User-specified list of prefix groups to advertise in custom mode. This field can only be populated if advertise_mode is CUSTOM and is advertised to all peers of the router. These groups will be advertised in addition to any specified prefixes. Leave this field blank to advertise no custom groups.
    AdvertisedIpRanges List<Pulumi.GoogleNative.Compute.Beta.Inputs.RouterAdvertisedIpRangeResponse>
    User-specified list of individual IP ranges to advertise in custom mode. This field can only be populated if advertise_mode is CUSTOM and is advertised to all peers of the router. These IP ranges will be advertised in addition to any specified groups. Leave this field blank to advertise no custom IP ranges.
    Asn int
    Local BGP Autonomous System Number (ASN). Must be an RFC6996 private ASN, either 16-bit or 32-bit. The value will be fixed for this router resource. All VPN tunnels that link to this router will have the same local ASN.
    IdentifierRange string
    Explicitly specifies a range of valid BGP Identifiers for this Router. It is provided as a link-local IPv4 range (from 169.254.0.0/16), of size at least /30, even if the BGP sessions are over IPv6. It must not overlap with any IPv4 BGP session ranges. Other vendors commonly call this "router ID".
    KeepaliveInterval int
    The interval in seconds between BGP keepalive messages that are sent to the peer. Hold time is three times the interval at which keepalive messages are sent, and the hold time is the maximum number of seconds allowed to elapse between successive keepalive messages that BGP receives from a peer. BGP will use the smaller of either the local hold time value or the peer's hold time value as the hold time for the BGP connection between the two peers. If set, this value must be between 20 and 60. The default is 20.
    AdvertiseMode string
    User-specified flag to indicate which mode to use for advertisement. The options are DEFAULT or CUSTOM.
    AdvertisedGroups []string
    User-specified list of prefix groups to advertise in custom mode. This field can only be populated if advertise_mode is CUSTOM and is advertised to all peers of the router. These groups will be advertised in addition to any specified prefixes. Leave this field blank to advertise no custom groups.
    AdvertisedIpRanges []RouterAdvertisedIpRangeResponse
    User-specified list of individual IP ranges to advertise in custom mode. This field can only be populated if advertise_mode is CUSTOM and is advertised to all peers of the router. These IP ranges will be advertised in addition to any specified groups. Leave this field blank to advertise no custom IP ranges.
    Asn int
    Local BGP Autonomous System Number (ASN). Must be an RFC6996 private ASN, either 16-bit or 32-bit. The value will be fixed for this router resource. All VPN tunnels that link to this router will have the same local ASN.
    IdentifierRange string
    Explicitly specifies a range of valid BGP Identifiers for this Router. It is provided as a link-local IPv4 range (from 169.254.0.0/16), of size at least /30, even if the BGP sessions are over IPv6. It must not overlap with any IPv4 BGP session ranges. Other vendors commonly call this "router ID".
    KeepaliveInterval int
    The interval in seconds between BGP keepalive messages that are sent to the peer. Hold time is three times the interval at which keepalive messages are sent, and the hold time is the maximum number of seconds allowed to elapse between successive keepalive messages that BGP receives from a peer. BGP will use the smaller of either the local hold time value or the peer's hold time value as the hold time for the BGP connection between the two peers. If set, this value must be between 20 and 60. The default is 20.
    advertiseMode String
    User-specified flag to indicate which mode to use for advertisement. The options are DEFAULT or CUSTOM.
    advertisedGroups List<String>
    User-specified list of prefix groups to advertise in custom mode. This field can only be populated if advertise_mode is CUSTOM and is advertised to all peers of the router. These groups will be advertised in addition to any specified prefixes. Leave this field blank to advertise no custom groups.
    advertisedIpRanges List<RouterAdvertisedIpRangeResponse>
    User-specified list of individual IP ranges to advertise in custom mode. This field can only be populated if advertise_mode is CUSTOM and is advertised to all peers of the router. These IP ranges will be advertised in addition to any specified groups. Leave this field blank to advertise no custom IP ranges.
    asn Integer
    Local BGP Autonomous System Number (ASN). Must be an RFC6996 private ASN, either 16-bit or 32-bit. The value will be fixed for this router resource. All VPN tunnels that link to this router will have the same local ASN.
    identifierRange String
    Explicitly specifies a range of valid BGP Identifiers for this Router. It is provided as a link-local IPv4 range (from 169.254.0.0/16), of size at least /30, even if the BGP sessions are over IPv6. It must not overlap with any IPv4 BGP session ranges. Other vendors commonly call this "router ID".
    keepaliveInterval Integer
    The interval in seconds between BGP keepalive messages that are sent to the peer. Hold time is three times the interval at which keepalive messages are sent, and the hold time is the maximum number of seconds allowed to elapse between successive keepalive messages that BGP receives from a peer. BGP will use the smaller of either the local hold time value or the peer's hold time value as the hold time for the BGP connection between the two peers. If set, this value must be between 20 and 60. The default is 20.
    advertiseMode string
    User-specified flag to indicate which mode to use for advertisement. The options are DEFAULT or CUSTOM.
    advertisedGroups string[]
    User-specified list of prefix groups to advertise in custom mode. This field can only be populated if advertise_mode is CUSTOM and is advertised to all peers of the router. These groups will be advertised in addition to any specified prefixes. Leave this field blank to advertise no custom groups.
    advertisedIpRanges RouterAdvertisedIpRangeResponse[]
    User-specified list of individual IP ranges to advertise in custom mode. This field can only be populated if advertise_mode is CUSTOM and is advertised to all peers of the router. These IP ranges will be advertised in addition to any specified groups. Leave this field blank to advertise no custom IP ranges.
    asn number
    Local BGP Autonomous System Number (ASN). Must be an RFC6996 private ASN, either 16-bit or 32-bit. The value will be fixed for this router resource. All VPN tunnels that link to this router will have the same local ASN.
    identifierRange string
    Explicitly specifies a range of valid BGP Identifiers for this Router. It is provided as a link-local IPv4 range (from 169.254.0.0/16), of size at least /30, even if the BGP sessions are over IPv6. It must not overlap with any IPv4 BGP session ranges. Other vendors commonly call this "router ID".
    keepaliveInterval number
    The interval in seconds between BGP keepalive messages that are sent to the peer. Hold time is three times the interval at which keepalive messages are sent, and the hold time is the maximum number of seconds allowed to elapse between successive keepalive messages that BGP receives from a peer. BGP will use the smaller of either the local hold time value or the peer's hold time value as the hold time for the BGP connection between the two peers. If set, this value must be between 20 and 60. The default is 20.
    str
    User-specified flag to indicate which mode to use for advertisement. The options are DEFAULT or CUSTOM.
    advertised_groups Sequence[str]
    User-specified list of prefix groups to advertise in custom mode. This field can only be populated if advertise_mode is CUSTOM and is advertised to all peers of the router. These groups will be advertised in addition to any specified prefixes. Leave this field blank to advertise no custom groups.
    advertised_ip_ranges Sequence[RouterAdvertisedIpRangeResponse]
    User-specified list of individual IP ranges to advertise in custom mode. This field can only be populated if advertise_mode is CUSTOM and is advertised to all peers of the router. These IP ranges will be advertised in addition to any specified groups. Leave this field blank to advertise no custom IP ranges.
    asn int
    Local BGP Autonomous System Number (ASN). Must be an RFC6996 private ASN, either 16-bit or 32-bit. The value will be fixed for this router resource. All VPN tunnels that link to this router will have the same local ASN.
    identifier_range str
    Explicitly specifies a range of valid BGP Identifiers for this Router. It is provided as a link-local IPv4 range (from 169.254.0.0/16), of size at least /30, even if the BGP sessions are over IPv6. It must not overlap with any IPv4 BGP session ranges. Other vendors commonly call this "router ID".
    keepalive_interval int
    The interval in seconds between BGP keepalive messages that are sent to the peer. Hold time is three times the interval at which keepalive messages are sent, and the hold time is the maximum number of seconds allowed to elapse between successive keepalive messages that BGP receives from a peer. BGP will use the smaller of either the local hold time value or the peer's hold time value as the hold time for the BGP connection between the two peers. If set, this value must be between 20 and 60. The default is 20.
    advertiseMode String
    User-specified flag to indicate which mode to use for advertisement. The options are DEFAULT or CUSTOM.
    advertisedGroups List<String>
    User-specified list of prefix groups to advertise in custom mode. This field can only be populated if advertise_mode is CUSTOM and is advertised to all peers of the router. These groups will be advertised in addition to any specified prefixes. Leave this field blank to advertise no custom groups.
    advertisedIpRanges List<Property Map>
    User-specified list of individual IP ranges to advertise in custom mode. This field can only be populated if advertise_mode is CUSTOM and is advertised to all peers of the router. These IP ranges will be advertised in addition to any specified groups. Leave this field blank to advertise no custom IP ranges.
    asn Number
    Local BGP Autonomous System Number (ASN). Must be an RFC6996 private ASN, either 16-bit or 32-bit. The value will be fixed for this router resource. All VPN tunnels that link to this router will have the same local ASN.
    identifierRange String
    Explicitly specifies a range of valid BGP Identifiers for this Router. It is provided as a link-local IPv4 range (from 169.254.0.0/16), of size at least /30, even if the BGP sessions are over IPv6. It must not overlap with any IPv4 BGP session ranges. Other vendors commonly call this "router ID".
    keepaliveInterval Number
    The interval in seconds between BGP keepalive messages that are sent to the peer. Hold time is three times the interval at which keepalive messages are sent, and the hold time is the maximum number of seconds allowed to elapse between successive keepalive messages that BGP receives from a peer. BGP will use the smaller of either the local hold time value or the peer's hold time value as the hold time for the BGP connection between the two peers. If set, this value must be between 20 and 60. The default is 20.

    RouterInterface, RouterInterfaceArgs

    IpRange string
    IP address and range of the interface. The IP range must be in the RFC3927 link-local IP address space. The value must be a CIDR-formatted string, for example: 169.254.0.1/30. NOTE: Do not truncate the address as it represents the IP address of the interface.
    IpVersion Pulumi.GoogleNative.Compute.Beta.RouterInterfaceIpVersion
    IP version of this interface.
    LinkedInterconnectAttachment string
    URI of the linked Interconnect attachment. It must be in the same region as the router. Each interface can have one linked resource, which can be a VPN tunnel, an Interconnect attachment, or a subnetwork.
    LinkedVpnTunnel string
    URI of the linked VPN tunnel, which must be in the same region as the router. Each interface can have one linked resource, which can be a VPN tunnel, an Interconnect attachment, or a subnetwork.
    Name string
    Name of this interface entry. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
    PrivateIpAddress string
    The regional private internal IP address that is used to establish BGP sessions to a VM instance acting as a third-party Router Appliance, such as a Next Gen Firewall, a Virtual Router, or an SD-WAN VM.
    RedundantInterface string
    Name of the interface that will be redundant with the current interface you are creating. The redundantInterface must belong to the same Cloud Router as the interface here. To establish the BGP session to a Router Appliance VM, you must create two BGP peers. The two BGP peers must be attached to two separate interfaces that are redundant with each other. The redundant_interface must be 1-63 characters long, and comply with RFC1035. Specifically, the redundant_interface must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
    Subnetwork string
    The URI of the subnetwork resource that this interface belongs to, which must be in the same region as the Cloud Router. When you establish a BGP session to a VM instance using this interface, the VM instance must belong to the same subnetwork as the subnetwork specified here.
    IpRange string
    IP address and range of the interface. The IP range must be in the RFC3927 link-local IP address space. The value must be a CIDR-formatted string, for example: 169.254.0.1/30. NOTE: Do not truncate the address as it represents the IP address of the interface.
    IpVersion RouterInterfaceIpVersion
    IP version of this interface.
    LinkedInterconnectAttachment string
    URI of the linked Interconnect attachment. It must be in the same region as the router. Each interface can have one linked resource, which can be a VPN tunnel, an Interconnect attachment, or a subnetwork.
    LinkedVpnTunnel string
    URI of the linked VPN tunnel, which must be in the same region as the router. Each interface can have one linked resource, which can be a VPN tunnel, an Interconnect attachment, or a subnetwork.
    Name string
    Name of this interface entry. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
    PrivateIpAddress string
    The regional private internal IP address that is used to establish BGP sessions to a VM instance acting as a third-party Router Appliance, such as a Next Gen Firewall, a Virtual Router, or an SD-WAN VM.
    RedundantInterface string
    Name of the interface that will be redundant with the current interface you are creating. The redundantInterface must belong to the same Cloud Router as the interface here. To establish the BGP session to a Router Appliance VM, you must create two BGP peers. The two BGP peers must be attached to two separate interfaces that are redundant with each other. The redundant_interface must be 1-63 characters long, and comply with RFC1035. Specifically, the redundant_interface must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
    Subnetwork string
    The URI of the subnetwork resource that this interface belongs to, which must be in the same region as the Cloud Router. When you establish a BGP session to a VM instance using this interface, the VM instance must belong to the same subnetwork as the subnetwork specified here.
    ipRange String
    IP address and range of the interface. The IP range must be in the RFC3927 link-local IP address space. The value must be a CIDR-formatted string, for example: 169.254.0.1/30. NOTE: Do not truncate the address as it represents the IP address of the interface.
    ipVersion RouterInterfaceIpVersion
    IP version of this interface.
    linkedInterconnectAttachment String
    URI of the linked Interconnect attachment. It must be in the same region as the router. Each interface can have one linked resource, which can be a VPN tunnel, an Interconnect attachment, or a subnetwork.
    linkedVpnTunnel String
    URI of the linked VPN tunnel, which must be in the same region as the router. Each interface can have one linked resource, which can be a VPN tunnel, an Interconnect attachment, or a subnetwork.
    name String
    Name of this interface entry. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
    privateIpAddress String
    The regional private internal IP address that is used to establish BGP sessions to a VM instance acting as a third-party Router Appliance, such as a Next Gen Firewall, a Virtual Router, or an SD-WAN VM.
    redundantInterface String
    Name of the interface that will be redundant with the current interface you are creating. The redundantInterface must belong to the same Cloud Router as the interface here. To establish the BGP session to a Router Appliance VM, you must create two BGP peers. The two BGP peers must be attached to two separate interfaces that are redundant with each other. The redundant_interface must be 1-63 characters long, and comply with RFC1035. Specifically, the redundant_interface must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
    subnetwork String
    The URI of the subnetwork resource that this interface belongs to, which must be in the same region as the Cloud Router. When you establish a BGP session to a VM instance using this interface, the VM instance must belong to the same subnetwork as the subnetwork specified here.
    ipRange string
    IP address and range of the interface. The IP range must be in the RFC3927 link-local IP address space. The value must be a CIDR-formatted string, for example: 169.254.0.1/30. NOTE: Do not truncate the address as it represents the IP address of the interface.
    ipVersion RouterInterfaceIpVersion
    IP version of this interface.
    linkedInterconnectAttachment string
    URI of the linked Interconnect attachment. It must be in the same region as the router. Each interface can have one linked resource, which can be a VPN tunnel, an Interconnect attachment, or a subnetwork.
    linkedVpnTunnel string
    URI of the linked VPN tunnel, which must be in the same region as the router. Each interface can have one linked resource, which can be a VPN tunnel, an Interconnect attachment, or a subnetwork.
    name string
    Name of this interface entry. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
    privateIpAddress string
    The regional private internal IP address that is used to establish BGP sessions to a VM instance acting as a third-party Router Appliance, such as a Next Gen Firewall, a Virtual Router, or an SD-WAN VM.
    redundantInterface string
    Name of the interface that will be redundant with the current interface you are creating. The redundantInterface must belong to the same Cloud Router as the interface here. To establish the BGP session to a Router Appliance VM, you must create two BGP peers. The two BGP peers must be attached to two separate interfaces that are redundant with each other. The redundant_interface must be 1-63 characters long, and comply with RFC1035. Specifically, the redundant_interface must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
    subnetwork string
    The URI of the subnetwork resource that this interface belongs to, which must be in the same region as the Cloud Router. When you establish a BGP session to a VM instance using this interface, the VM instance must belong to the same subnetwork as the subnetwork specified here.
    ip_range str
    IP address and range of the interface. The IP range must be in the RFC3927 link-local IP address space. The value must be a CIDR-formatted string, for example: 169.254.0.1/30. NOTE: Do not truncate the address as it represents the IP address of the interface.
    ip_version RouterInterfaceIpVersion
    IP version of this interface.
    linked_interconnect_attachment str
    URI of the linked Interconnect attachment. It must be in the same region as the router. Each interface can have one linked resource, which can be a VPN tunnel, an Interconnect attachment, or a subnetwork.
    linked_vpn_tunnel str
    URI of the linked VPN tunnel, which must be in the same region as the router. Each interface can have one linked resource, which can be a VPN tunnel, an Interconnect attachment, or a subnetwork.
    name str
    Name of this interface entry. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
    private_ip_address str
    The regional private internal IP address that is used to establish BGP sessions to a VM instance acting as a third-party Router Appliance, such as a Next Gen Firewall, a Virtual Router, or an SD-WAN VM.
    redundant_interface str
    Name of the interface that will be redundant with the current interface you are creating. The redundantInterface must belong to the same Cloud Router as the interface here. To establish the BGP session to a Router Appliance VM, you must create two BGP peers. The two BGP peers must be attached to two separate interfaces that are redundant with each other. The redundant_interface must be 1-63 characters long, and comply with RFC1035. Specifically, the redundant_interface must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
    subnetwork str
    The URI of the subnetwork resource that this interface belongs to, which must be in the same region as the Cloud Router. When you establish a BGP session to a VM instance using this interface, the VM instance must belong to the same subnetwork as the subnetwork specified here.
    ipRange String
    IP address and range of the interface. The IP range must be in the RFC3927 link-local IP address space. The value must be a CIDR-formatted string, for example: 169.254.0.1/30. NOTE: Do not truncate the address as it represents the IP address of the interface.
    ipVersion "IPV4" | "IPV6"
    IP version of this interface.
    linkedInterconnectAttachment String
    URI of the linked Interconnect attachment. It must be in the same region as the router. Each interface can have one linked resource, which can be a VPN tunnel, an Interconnect attachment, or a subnetwork.
    linkedVpnTunnel String
    URI of the linked VPN tunnel, which must be in the same region as the router. Each interface can have one linked resource, which can be a VPN tunnel, an Interconnect attachment, or a subnetwork.
    name String
    Name of this interface entry. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
    privateIpAddress String
    The regional private internal IP address that is used to establish BGP sessions to a VM instance acting as a third-party Router Appliance, such as a Next Gen Firewall, a Virtual Router, or an SD-WAN VM.
    redundantInterface String
    Name of the interface that will be redundant with the current interface you are creating. The redundantInterface must belong to the same Cloud Router as the interface here. To establish the BGP session to a Router Appliance VM, you must create two BGP peers. The two BGP peers must be attached to two separate interfaces that are redundant with each other. The redundant_interface must be 1-63 characters long, and comply with RFC1035. Specifically, the redundant_interface must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
    subnetwork String
    The URI of the subnetwork resource that this interface belongs to, which must be in the same region as the Cloud Router. When you establish a BGP session to a VM instance using this interface, the VM instance must belong to the same subnetwork as the subnetwork specified here.

    RouterInterfaceIpVersion, RouterInterfaceIpVersionArgs

    Ipv4
    IPV4
    Ipv6
    IPV6
    RouterInterfaceIpVersionIpv4
    IPV4
    RouterInterfaceIpVersionIpv6
    IPV6
    Ipv4
    IPV4
    Ipv6
    IPV6
    Ipv4
    IPV4
    Ipv6
    IPV6
    IPV4
    IPV4
    IPV6
    IPV6
    "IPV4"
    IPV4
    "IPV6"
    IPV6

    RouterInterfaceResponse, RouterInterfaceResponseArgs

    IpRange string
    IP address and range of the interface. The IP range must be in the RFC3927 link-local IP address space. The value must be a CIDR-formatted string, for example: 169.254.0.1/30. NOTE: Do not truncate the address as it represents the IP address of the interface.
    IpVersion string
    IP version of this interface.
    LinkedInterconnectAttachment string
    URI of the linked Interconnect attachment. It must be in the same region as the router. Each interface can have one linked resource, which can be a VPN tunnel, an Interconnect attachment, or a subnetwork.
    LinkedVpnTunnel string
    URI of the linked VPN tunnel, which must be in the same region as the router. Each interface can have one linked resource, which can be a VPN tunnel, an Interconnect attachment, or a subnetwork.
    ManagementType string
    The resource that configures and manages this interface. - MANAGED_BY_USER is the default value and can be managed directly by users. - MANAGED_BY_ATTACHMENT is an interface that is configured and managed by Cloud Interconnect, specifically, by an InterconnectAttachment of type PARTNER. Google automatically creates, updates, and deletes this type of interface when the PARTNER InterconnectAttachment is created, updated, or deleted.
    Name string
    Name of this interface entry. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
    PrivateIpAddress string
    The regional private internal IP address that is used to establish BGP sessions to a VM instance acting as a third-party Router Appliance, such as a Next Gen Firewall, a Virtual Router, or an SD-WAN VM.
    RedundantInterface string
    Name of the interface that will be redundant with the current interface you are creating. The redundantInterface must belong to the same Cloud Router as the interface here. To establish the BGP session to a Router Appliance VM, you must create two BGP peers. The two BGP peers must be attached to two separate interfaces that are redundant with each other. The redundant_interface must be 1-63 characters long, and comply with RFC1035. Specifically, the redundant_interface must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
    Subnetwork string
    The URI of the subnetwork resource that this interface belongs to, which must be in the same region as the Cloud Router. When you establish a BGP session to a VM instance using this interface, the VM instance must belong to the same subnetwork as the subnetwork specified here.
    IpRange string
    IP address and range of the interface. The IP range must be in the RFC3927 link-local IP address space. The value must be a CIDR-formatted string, for example: 169.254.0.1/30. NOTE: Do not truncate the address as it represents the IP address of the interface.
    IpVersion string
    IP version of this interface.
    LinkedInterconnectAttachment string
    URI of the linked Interconnect attachment. It must be in the same region as the router. Each interface can have one linked resource, which can be a VPN tunnel, an Interconnect attachment, or a subnetwork.
    LinkedVpnTunnel string
    URI of the linked VPN tunnel, which must be in the same region as the router. Each interface can have one linked resource, which can be a VPN tunnel, an Interconnect attachment, or a subnetwork.
    ManagementType string
    The resource that configures and manages this interface. - MANAGED_BY_USER is the default value and can be managed directly by users. - MANAGED_BY_ATTACHMENT is an interface that is configured and managed by Cloud Interconnect, specifically, by an InterconnectAttachment of type PARTNER. Google automatically creates, updates, and deletes this type of interface when the PARTNER InterconnectAttachment is created, updated, or deleted.
    Name string
    Name of this interface entry. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
    PrivateIpAddress string
    The regional private internal IP address that is used to establish BGP sessions to a VM instance acting as a third-party Router Appliance, such as a Next Gen Firewall, a Virtual Router, or an SD-WAN VM.
    RedundantInterface string
    Name of the interface that will be redundant with the current interface you are creating. The redundantInterface must belong to the same Cloud Router as the interface here. To establish the BGP session to a Router Appliance VM, you must create two BGP peers. The two BGP peers must be attached to two separate interfaces that are redundant with each other. The redundant_interface must be 1-63 characters long, and comply with RFC1035. Specifically, the redundant_interface must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
    Subnetwork string
    The URI of the subnetwork resource that this interface belongs to, which must be in the same region as the Cloud Router. When you establish a BGP session to a VM instance using this interface, the VM instance must belong to the same subnetwork as the subnetwork specified here.
    ipRange String
    IP address and range of the interface. The IP range must be in the RFC3927 link-local IP address space. The value must be a CIDR-formatted string, for example: 169.254.0.1/30. NOTE: Do not truncate the address as it represents the IP address of the interface.
    ipVersion String
    IP version of this interface.
    linkedInterconnectAttachment String
    URI of the linked Interconnect attachment. It must be in the same region as the router. Each interface can have one linked resource, which can be a VPN tunnel, an Interconnect attachment, or a subnetwork.
    linkedVpnTunnel String
    URI of the linked VPN tunnel, which must be in the same region as the router. Each interface can have one linked resource, which can be a VPN tunnel, an Interconnect attachment, or a subnetwork.
    managementType String
    The resource that configures and manages this interface. - MANAGED_BY_USER is the default value and can be managed directly by users. - MANAGED_BY_ATTACHMENT is an interface that is configured and managed by Cloud Interconnect, specifically, by an InterconnectAttachment of type PARTNER. Google automatically creates, updates, and deletes this type of interface when the PARTNER InterconnectAttachment is created, updated, or deleted.
    name String
    Name of this interface entry. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
    privateIpAddress String
    The regional private internal IP address that is used to establish BGP sessions to a VM instance acting as a third-party Router Appliance, such as a Next Gen Firewall, a Virtual Router, or an SD-WAN VM.
    redundantInterface String
    Name of the interface that will be redundant with the current interface you are creating. The redundantInterface must belong to the same Cloud Router as the interface here. To establish the BGP session to a Router Appliance VM, you must create two BGP peers. The two BGP peers must be attached to two separate interfaces that are redundant with each other. The redundant_interface must be 1-63 characters long, and comply with RFC1035. Specifically, the redundant_interface must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
    subnetwork String
    The URI of the subnetwork resource that this interface belongs to, which must be in the same region as the Cloud Router. When you establish a BGP session to a VM instance using this interface, the VM instance must belong to the same subnetwork as the subnetwork specified here.
    ipRange string
    IP address and range of the interface. The IP range must be in the RFC3927 link-local IP address space. The value must be a CIDR-formatted string, for example: 169.254.0.1/30. NOTE: Do not truncate the address as it represents the IP address of the interface.
    ipVersion string
    IP version of this interface.
    linkedInterconnectAttachment string
    URI of the linked Interconnect attachment. It must be in the same region as the router. Each interface can have one linked resource, which can be a VPN tunnel, an Interconnect attachment, or a subnetwork.
    linkedVpnTunnel string
    URI of the linked VPN tunnel, which must be in the same region as the router. Each interface can have one linked resource, which can be a VPN tunnel, an Interconnect attachment, or a subnetwork.
    managementType string
    The resource that configures and manages this interface. - MANAGED_BY_USER is the default value and can be managed directly by users. - MANAGED_BY_ATTACHMENT is an interface that is configured and managed by Cloud Interconnect, specifically, by an InterconnectAttachment of type PARTNER. Google automatically creates, updates, and deletes this type of interface when the PARTNER InterconnectAttachment is created, updated, or deleted.
    name string
    Name of this interface entry. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
    privateIpAddress string
    The regional private internal IP address that is used to establish BGP sessions to a VM instance acting as a third-party Router Appliance, such as a Next Gen Firewall, a Virtual Router, or an SD-WAN VM.
    redundantInterface string
    Name of the interface that will be redundant with the current interface you are creating. The redundantInterface must belong to the same Cloud Router as the interface here. To establish the BGP session to a Router Appliance VM, you must create two BGP peers. The two BGP peers must be attached to two separate interfaces that are redundant with each other. The redundant_interface must be 1-63 characters long, and comply with RFC1035. Specifically, the redundant_interface must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
    subnetwork string
    The URI of the subnetwork resource that this interface belongs to, which must be in the same region as the Cloud Router. When you establish a BGP session to a VM instance using this interface, the VM instance must belong to the same subnetwork as the subnetwork specified here.
    ip_range str
    IP address and range of the interface. The IP range must be in the RFC3927 link-local IP address space. The value must be a CIDR-formatted string, for example: 169.254.0.1/30. NOTE: Do not truncate the address as it represents the IP address of the interface.
    ip_version str
    IP version of this interface.
    linked_interconnect_attachment str
    URI of the linked Interconnect attachment. It must be in the same region as the router. Each interface can have one linked resource, which can be a VPN tunnel, an Interconnect attachment, or a subnetwork.
    linked_vpn_tunnel str
    URI of the linked VPN tunnel, which must be in the same region as the router. Each interface can have one linked resource, which can be a VPN tunnel, an Interconnect attachment, or a subnetwork.
    management_type str
    The resource that configures and manages this interface. - MANAGED_BY_USER is the default value and can be managed directly by users. - MANAGED_BY_ATTACHMENT is an interface that is configured and managed by Cloud Interconnect, specifically, by an InterconnectAttachment of type PARTNER. Google automatically creates, updates, and deletes this type of interface when the PARTNER InterconnectAttachment is created, updated, or deleted.
    name str
    Name of this interface entry. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
    private_ip_address str
    The regional private internal IP address that is used to establish BGP sessions to a VM instance acting as a third-party Router Appliance, such as a Next Gen Firewall, a Virtual Router, or an SD-WAN VM.
    redundant_interface str
    Name of the interface that will be redundant with the current interface you are creating. The redundantInterface must belong to the same Cloud Router as the interface here. To establish the BGP session to a Router Appliance VM, you must create two BGP peers. The two BGP peers must be attached to two separate interfaces that are redundant with each other. The redundant_interface must be 1-63 characters long, and comply with RFC1035. Specifically, the redundant_interface must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
    subnetwork str
    The URI of the subnetwork resource that this interface belongs to, which must be in the same region as the Cloud Router. When you establish a BGP session to a VM instance using this interface, the VM instance must belong to the same subnetwork as the subnetwork specified here.
    ipRange String
    IP address and range of the interface. The IP range must be in the RFC3927 link-local IP address space. The value must be a CIDR-formatted string, for example: 169.254.0.1/30. NOTE: Do not truncate the address as it represents the IP address of the interface.
    ipVersion String
    IP version of this interface.
    linkedInterconnectAttachment String
    URI of the linked Interconnect attachment. It must be in the same region as the router. Each interface can have one linked resource, which can be a VPN tunnel, an Interconnect attachment, or a subnetwork.
    linkedVpnTunnel String
    URI of the linked VPN tunnel, which must be in the same region as the router. Each interface can have one linked resource, which can be a VPN tunnel, an Interconnect attachment, or a subnetwork.
    managementType String
    The resource that configures and manages this interface. - MANAGED_BY_USER is the default value and can be managed directly by users. - MANAGED_BY_ATTACHMENT is an interface that is configured and managed by Cloud Interconnect, specifically, by an InterconnectAttachment of type PARTNER. Google automatically creates, updates, and deletes this type of interface when the PARTNER InterconnectAttachment is created, updated, or deleted.
    name String
    Name of this interface entry. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
    privateIpAddress String
    The regional private internal IP address that is used to establish BGP sessions to a VM instance acting as a third-party Router Appliance, such as a Next Gen Firewall, a Virtual Router, or an SD-WAN VM.
    redundantInterface String
    Name of the interface that will be redundant with the current interface you are creating. The redundantInterface must belong to the same Cloud Router as the interface here. To establish the BGP session to a Router Appliance VM, you must create two BGP peers. The two BGP peers must be attached to two separate interfaces that are redundant with each other. The redundant_interface must be 1-63 characters long, and comply with RFC1035. Specifically, the redundant_interface must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
    subnetwork String
    The URI of the subnetwork resource that this interface belongs to, which must be in the same region as the Cloud Router. When you establish a BGP session to a VM instance using this interface, the VM instance must belong to the same subnetwork as the subnetwork specified here.

    RouterMd5AuthenticationKey, RouterMd5AuthenticationKeyArgs

    Key string
    [Input only] Value of the key. For patch and update calls, it can be skipped to copy the value from the previous configuration. This is allowed if the key with the same name existed before the operation. Maximum length is 80 characters. Can only contain printable ASCII characters.
    Name string
    Name used to identify the key. Must be unique within a router. Must be referenced by exactly one bgpPeer. Must comply with RFC1035.
    Key string
    [Input only] Value of the key. For patch and update calls, it can be skipped to copy the value from the previous configuration. This is allowed if the key with the same name existed before the operation. Maximum length is 80 characters. Can only contain printable ASCII characters.
    Name string
    Name used to identify the key. Must be unique within a router. Must be referenced by exactly one bgpPeer. Must comply with RFC1035.
    key String
    [Input only] Value of the key. For patch and update calls, it can be skipped to copy the value from the previous configuration. This is allowed if the key with the same name existed before the operation. Maximum length is 80 characters. Can only contain printable ASCII characters.
    name String
    Name used to identify the key. Must be unique within a router. Must be referenced by exactly one bgpPeer. Must comply with RFC1035.
    key string
    [Input only] Value of the key. For patch and update calls, it can be skipped to copy the value from the previous configuration. This is allowed if the key with the same name existed before the operation. Maximum length is 80 characters. Can only contain printable ASCII characters.
    name string
    Name used to identify the key. Must be unique within a router. Must be referenced by exactly one bgpPeer. Must comply with RFC1035.
    key str
    [Input only] Value of the key. For patch and update calls, it can be skipped to copy the value from the previous configuration. This is allowed if the key with the same name existed before the operation. Maximum length is 80 characters. Can only contain printable ASCII characters.
    name str
    Name used to identify the key. Must be unique within a router. Must be referenced by exactly one bgpPeer. Must comply with RFC1035.
    key String
    [Input only] Value of the key. For patch and update calls, it can be skipped to copy the value from the previous configuration. This is allowed if the key with the same name existed before the operation. Maximum length is 80 characters. Can only contain printable ASCII characters.
    name String
    Name used to identify the key. Must be unique within a router. Must be referenced by exactly one bgpPeer. Must comply with RFC1035.

    RouterMd5AuthenticationKeyResponse, RouterMd5AuthenticationKeyResponseArgs

    Key string
    [Input only] Value of the key. For patch and update calls, it can be skipped to copy the value from the previous configuration. This is allowed if the key with the same name existed before the operation. Maximum length is 80 characters. Can only contain printable ASCII characters.
    Name string
    Name used to identify the key. Must be unique within a router. Must be referenced by exactly one bgpPeer. Must comply with RFC1035.
    Key string
    [Input only] Value of the key. For patch and update calls, it can be skipped to copy the value from the previous configuration. This is allowed if the key with the same name existed before the operation. Maximum length is 80 characters. Can only contain printable ASCII characters.
    Name string
    Name used to identify the key. Must be unique within a router. Must be referenced by exactly one bgpPeer. Must comply with RFC1035.
    key String
    [Input only] Value of the key. For patch and update calls, it can be skipped to copy the value from the previous configuration. This is allowed if the key with the same name existed before the operation. Maximum length is 80 characters. Can only contain printable ASCII characters.
    name String
    Name used to identify the key. Must be unique within a router. Must be referenced by exactly one bgpPeer. Must comply with RFC1035.
    key string
    [Input only] Value of the key. For patch and update calls, it can be skipped to copy the value from the previous configuration. This is allowed if the key with the same name existed before the operation. Maximum length is 80 characters. Can only contain printable ASCII characters.
    name string
    Name used to identify the key. Must be unique within a router. Must be referenced by exactly one bgpPeer. Must comply with RFC1035.
    key str
    [Input only] Value of the key. For patch and update calls, it can be skipped to copy the value from the previous configuration. This is allowed if the key with the same name existed before the operation. Maximum length is 80 characters. Can only contain printable ASCII characters.
    name str
    Name used to identify the key. Must be unique within a router. Must be referenced by exactly one bgpPeer. Must comply with RFC1035.
    key String
    [Input only] Value of the key. For patch and update calls, it can be skipped to copy the value from the previous configuration. This is allowed if the key with the same name existed before the operation. Maximum length is 80 characters. Can only contain printable ASCII characters.
    name String
    Name used to identify the key. Must be unique within a router. Must be referenced by exactly one bgpPeer. Must comply with RFC1035.

    RouterNat, RouterNatArgs

    AutoNetworkTier Pulumi.GoogleNative.Compute.Beta.RouterNatAutoNetworkTier
    The network tier to use when automatically reserving NAT IP addresses. Must be one of: PREMIUM, STANDARD. If not specified, then the current project-level default tier is used.
    DrainNatIps List<string>
    A list of URLs of the IP resources to be drained. These IPs must be valid static external IPs that have been assigned to the NAT. These IPs should be used for updating/patching a NAT only.
    EnableDynamicPortAllocation bool
    Enable Dynamic Port Allocation. If not specified, it is disabled by default. If set to true, - Dynamic Port Allocation will be enabled on this NAT config. - enableEndpointIndependentMapping cannot be set to true. - If minPorts is set, minPortsPerVm must be set to a power of two greater than or equal to 32. If minPortsPerVm is not set, a minimum of 32 ports will be allocated to a VM from this NAT config.
    EnableEndpointIndependentMapping bool
    EndpointTypes List<Pulumi.GoogleNative.Compute.Beta.RouterNatEndpointTypesItem>
    List of NAT-ted endpoint types supported by the Nat Gateway. If the list is empty, then it will be equivalent to include ENDPOINT_TYPE_VM
    IcmpIdleTimeoutSec int
    Timeout (in seconds) for ICMP connections. Defaults to 30s if not set.
    LogConfig Pulumi.GoogleNative.Compute.Beta.Inputs.RouterNatLogConfig
    Configure logging on this NAT.
    MaxPortsPerVm int
    Maximum number of ports allocated to a VM from this NAT config when Dynamic Port Allocation is enabled. If Dynamic Port Allocation is not enabled, this field has no effect. If Dynamic Port Allocation is enabled, and this field is set, it must be set to a power of two greater than minPortsPerVm, or 64 if minPortsPerVm is not set. If Dynamic Port Allocation is enabled and this field is not set, a maximum of 65536 ports will be allocated to a VM from this NAT config.
    MinPortsPerVm int
    Minimum number of ports allocated to a VM from this NAT config. If not set, a default number of ports is allocated to a VM. This is rounded up to the nearest power of 2. For example, if the value of this field is 50, at least 64 ports are allocated to a VM.
    Name string
    Unique name of this Nat service. The name must be 1-63 characters long and comply with RFC1035.
    NatIpAllocateOption Pulumi.GoogleNative.Compute.Beta.RouterNatNatIpAllocateOption
    Specify the NatIpAllocateOption, which can take one of the following values: - MANUAL_ONLY: Uses only Nat IP addresses provided by customers. When there are not enough specified Nat IPs, the Nat service fails for new VMs. - AUTO_ONLY: Nat IPs are allocated by Google Cloud Platform; customers can't specify any Nat IPs. When choosing AUTO_ONLY, then nat_ip should be empty.
    NatIps List<string>
    A list of URLs of the IP resources used for this Nat service. These IP addresses must be valid static external IP addresses assigned to the project.
    Rules List<Pulumi.GoogleNative.Compute.Beta.Inputs.RouterNatRule>
    A list of rules associated with this NAT.
    SourceSubnetworkIpRangesToNat Pulumi.GoogleNative.Compute.Beta.RouterNatSourceSubnetworkIpRangesToNat
    Specify the Nat option, which can take one of the following values: - ALL_SUBNETWORKS_ALL_IP_RANGES: All of the IP ranges in every Subnetwork are allowed to Nat. - ALL_SUBNETWORKS_ALL_PRIMARY_IP_RANGES: All of the primary IP ranges in every Subnetwork are allowed to Nat. - LIST_OF_SUBNETWORKS: A list of Subnetworks are allowed to Nat (specified in the field subnetwork below) The default is SUBNETWORK_IP_RANGE_TO_NAT_OPTION_UNSPECIFIED. Note that if this field contains ALL_SUBNETWORKS_ALL_IP_RANGES then there should not be any other Router.Nat section in any Router for this network in this region.
    Subnetworks List<Pulumi.GoogleNative.Compute.Beta.Inputs.RouterNatSubnetworkToNat>
    A list of Subnetwork resources whose traffic should be translated by NAT Gateway. It is used only when LIST_OF_SUBNETWORKS is selected for the SubnetworkIpRangeToNatOption above.
    TcpEstablishedIdleTimeoutSec int
    Timeout (in seconds) for TCP established connections. Defaults to 1200s if not set.
    TcpTimeWaitTimeoutSec int
    Timeout (in seconds) for TCP connections that are in TIME_WAIT state. Defaults to 120s if not set.
    TcpTransitoryIdleTimeoutSec int
    Timeout (in seconds) for TCP transitory connections. Defaults to 30s if not set.
    Type Pulumi.GoogleNative.Compute.Beta.RouterNatType
    Indicates whether this NAT is used for public or private IP translation. If unspecified, it defaults to PUBLIC.
    UdpIdleTimeoutSec int
    Timeout (in seconds) for UDP connections. Defaults to 30s if not set.
    AutoNetworkTier RouterNatAutoNetworkTier
    The network tier to use when automatically reserving NAT IP addresses. Must be one of: PREMIUM, STANDARD. If not specified, then the current project-level default tier is used.
    DrainNatIps []string
    A list of URLs of the IP resources to be drained. These IPs must be valid static external IPs that have been assigned to the NAT. These IPs should be used for updating/patching a NAT only.
    EnableDynamicPortAllocation bool
    Enable Dynamic Port Allocation. If not specified, it is disabled by default. If set to true, - Dynamic Port Allocation will be enabled on this NAT config. - enableEndpointIndependentMapping cannot be set to true. - If minPorts is set, minPortsPerVm must be set to a power of two greater than or equal to 32. If minPortsPerVm is not set, a minimum of 32 ports will be allocated to a VM from this NAT config.
    EnableEndpointIndependentMapping bool
    EndpointTypes []RouterNatEndpointTypesItem
    List of NAT-ted endpoint types supported by the Nat Gateway. If the list is empty, then it will be equivalent to include ENDPOINT_TYPE_VM
    IcmpIdleTimeoutSec int
    Timeout (in seconds) for ICMP connections. Defaults to 30s if not set.
    LogConfig RouterNatLogConfig
    Configure logging on this NAT.
    MaxPortsPerVm int
    Maximum number of ports allocated to a VM from this NAT config when Dynamic Port Allocation is enabled. If Dynamic Port Allocation is not enabled, this field has no effect. If Dynamic Port Allocation is enabled, and this field is set, it must be set to a power of two greater than minPortsPerVm, or 64 if minPortsPerVm is not set. If Dynamic Port Allocation is enabled and this field is not set, a maximum of 65536 ports will be allocated to a VM from this NAT config.
    MinPortsPerVm int
    Minimum number of ports allocated to a VM from this NAT config. If not set, a default number of ports is allocated to a VM. This is rounded up to the nearest power of 2. For example, if the value of this field is 50, at least 64 ports are allocated to a VM.
    Name string
    Unique name of this Nat service. The name must be 1-63 characters long and comply with RFC1035.
    NatIpAllocateOption RouterNatNatIpAllocateOption
    Specify the NatIpAllocateOption, which can take one of the following values: - MANUAL_ONLY: Uses only Nat IP addresses provided by customers. When there are not enough specified Nat IPs, the Nat service fails for new VMs. - AUTO_ONLY: Nat IPs are allocated by Google Cloud Platform; customers can't specify any Nat IPs. When choosing AUTO_ONLY, then nat_ip should be empty.
    NatIps []string
    A list of URLs of the IP resources used for this Nat service. These IP addresses must be valid static external IP addresses assigned to the project.
    Rules []RouterNatRule
    A list of rules associated with this NAT.
    SourceSubnetworkIpRangesToNat RouterNatSourceSubnetworkIpRangesToNat
    Specify the Nat option, which can take one of the following values: - ALL_SUBNETWORKS_ALL_IP_RANGES: All of the IP ranges in every Subnetwork are allowed to Nat. - ALL_SUBNETWORKS_ALL_PRIMARY_IP_RANGES: All of the primary IP ranges in every Subnetwork are allowed to Nat. - LIST_OF_SUBNETWORKS: A list of Subnetworks are allowed to Nat (specified in the field subnetwork below) The default is SUBNETWORK_IP_RANGE_TO_NAT_OPTION_UNSPECIFIED. Note that if this field contains ALL_SUBNETWORKS_ALL_IP_RANGES then there should not be any other Router.Nat section in any Router for this network in this region.
    Subnetworks []RouterNatSubnetworkToNat
    A list of Subnetwork resources whose traffic should be translated by NAT Gateway. It is used only when LIST_OF_SUBNETWORKS is selected for the SubnetworkIpRangeToNatOption above.
    TcpEstablishedIdleTimeoutSec int
    Timeout (in seconds) for TCP established connections. Defaults to 1200s if not set.
    TcpTimeWaitTimeoutSec int
    Timeout (in seconds) for TCP connections that are in TIME_WAIT state. Defaults to 120s if not set.
    TcpTransitoryIdleTimeoutSec int
    Timeout (in seconds) for TCP transitory connections. Defaults to 30s if not set.
    Type RouterNatType
    Indicates whether this NAT is used for public or private IP translation. If unspecified, it defaults to PUBLIC.
    UdpIdleTimeoutSec int
    Timeout (in seconds) for UDP connections. Defaults to 30s if not set.
    autoNetworkTier RouterNatAutoNetworkTier
    The network tier to use when automatically reserving NAT IP addresses. Must be one of: PREMIUM, STANDARD. If not specified, then the current project-level default tier is used.
    drainNatIps List<String>
    A list of URLs of the IP resources to be drained. These IPs must be valid static external IPs that have been assigned to the NAT. These IPs should be used for updating/patching a NAT only.
    enableDynamicPortAllocation Boolean
    Enable Dynamic Port Allocation. If not specified, it is disabled by default. If set to true, - Dynamic Port Allocation will be enabled on this NAT config. - enableEndpointIndependentMapping cannot be set to true. - If minPorts is set, minPortsPerVm must be set to a power of two greater than or equal to 32. If minPortsPerVm is not set, a minimum of 32 ports will be allocated to a VM from this NAT config.
    enableEndpointIndependentMapping Boolean
    endpointTypes List<RouterNatEndpointTypesItem>
    List of NAT-ted endpoint types supported by the Nat Gateway. If the list is empty, then it will be equivalent to include ENDPOINT_TYPE_VM
    icmpIdleTimeoutSec Integer
    Timeout (in seconds) for ICMP connections. Defaults to 30s if not set.
    logConfig RouterNatLogConfig
    Configure logging on this NAT.
    maxPortsPerVm Integer
    Maximum number of ports allocated to a VM from this NAT config when Dynamic Port Allocation is enabled. If Dynamic Port Allocation is not enabled, this field has no effect. If Dynamic Port Allocation is enabled, and this field is set, it must be set to a power of two greater than minPortsPerVm, or 64 if minPortsPerVm is not set. If Dynamic Port Allocation is enabled and this field is not set, a maximum of 65536 ports will be allocated to a VM from this NAT config.
    minPortsPerVm Integer
    Minimum number of ports allocated to a VM from this NAT config. If not set, a default number of ports is allocated to a VM. This is rounded up to the nearest power of 2. For example, if the value of this field is 50, at least 64 ports are allocated to a VM.
    name String
    Unique name of this Nat service. The name must be 1-63 characters long and comply with RFC1035.
    natIpAllocateOption RouterNatNatIpAllocateOption
    Specify the NatIpAllocateOption, which can take one of the following values: - MANUAL_ONLY: Uses only Nat IP addresses provided by customers. When there are not enough specified Nat IPs, the Nat service fails for new VMs. - AUTO_ONLY: Nat IPs are allocated by Google Cloud Platform; customers can't specify any Nat IPs. When choosing AUTO_ONLY, then nat_ip should be empty.
    natIps List<String>
    A list of URLs of the IP resources used for this Nat service. These IP addresses must be valid static external IP addresses assigned to the project.
    rules List<RouterNatRule>
    A list of rules associated with this NAT.
    sourceSubnetworkIpRangesToNat RouterNatSourceSubnetworkIpRangesToNat
    Specify the Nat option, which can take one of the following values: - ALL_SUBNETWORKS_ALL_IP_RANGES: All of the IP ranges in every Subnetwork are allowed to Nat. - ALL_SUBNETWORKS_ALL_PRIMARY_IP_RANGES: All of the primary IP ranges in every Subnetwork are allowed to Nat. - LIST_OF_SUBNETWORKS: A list of Subnetworks are allowed to Nat (specified in the field subnetwork below) The default is SUBNETWORK_IP_RANGE_TO_NAT_OPTION_UNSPECIFIED. Note that if this field contains ALL_SUBNETWORKS_ALL_IP_RANGES then there should not be any other Router.Nat section in any Router for this network in this region.
    subnetworks List<RouterNatSubnetworkToNat>
    A list of Subnetwork resources whose traffic should be translated by NAT Gateway. It is used only when LIST_OF_SUBNETWORKS is selected for the SubnetworkIpRangeToNatOption above.
    tcpEstablishedIdleTimeoutSec Integer
    Timeout (in seconds) for TCP established connections. Defaults to 1200s if not set.
    tcpTimeWaitTimeoutSec Integer
    Timeout (in seconds) for TCP connections that are in TIME_WAIT state. Defaults to 120s if not set.
    tcpTransitoryIdleTimeoutSec Integer
    Timeout (in seconds) for TCP transitory connections. Defaults to 30s if not set.
    type RouterNatType
    Indicates whether this NAT is used for public or private IP translation. If unspecified, it defaults to PUBLIC.
    udpIdleTimeoutSec Integer
    Timeout (in seconds) for UDP connections. Defaults to 30s if not set.
    autoNetworkTier RouterNatAutoNetworkTier
    The network tier to use when automatically reserving NAT IP addresses. Must be one of: PREMIUM, STANDARD. If not specified, then the current project-level default tier is used.
    drainNatIps string[]
    A list of URLs of the IP resources to be drained. These IPs must be valid static external IPs that have been assigned to the NAT. These IPs should be used for updating/patching a NAT only.
    enableDynamicPortAllocation boolean
    Enable Dynamic Port Allocation. If not specified, it is disabled by default. If set to true, - Dynamic Port Allocation will be enabled on this NAT config. - enableEndpointIndependentMapping cannot be set to true. - If minPorts is set, minPortsPerVm must be set to a power of two greater than or equal to 32. If minPortsPerVm is not set, a minimum of 32 ports will be allocated to a VM from this NAT config.
    enableEndpointIndependentMapping boolean
    endpointTypes RouterNatEndpointTypesItem[]
    List of NAT-ted endpoint types supported by the Nat Gateway. If the list is empty, then it will be equivalent to include ENDPOINT_TYPE_VM
    icmpIdleTimeoutSec number
    Timeout (in seconds) for ICMP connections. Defaults to 30s if not set.
    logConfig RouterNatLogConfig
    Configure logging on this NAT.
    maxPortsPerVm number
    Maximum number of ports allocated to a VM from this NAT config when Dynamic Port Allocation is enabled. If Dynamic Port Allocation is not enabled, this field has no effect. If Dynamic Port Allocation is enabled, and this field is set, it must be set to a power of two greater than minPortsPerVm, or 64 if minPortsPerVm is not set. If Dynamic Port Allocation is enabled and this field is not set, a maximum of 65536 ports will be allocated to a VM from this NAT config.
    minPortsPerVm number
    Minimum number of ports allocated to a VM from this NAT config. If not set, a default number of ports is allocated to a VM. This is rounded up to the nearest power of 2. For example, if the value of this field is 50, at least 64 ports are allocated to a VM.
    name string
    Unique name of this Nat service. The name must be 1-63 characters long and comply with RFC1035.
    natIpAllocateOption RouterNatNatIpAllocateOption
    Specify the NatIpAllocateOption, which can take one of the following values: - MANUAL_ONLY: Uses only Nat IP addresses provided by customers. When there are not enough specified Nat IPs, the Nat service fails for new VMs. - AUTO_ONLY: Nat IPs are allocated by Google Cloud Platform; customers can't specify any Nat IPs. When choosing AUTO_ONLY, then nat_ip should be empty.
    natIps string[]
    A list of URLs of the IP resources used for this Nat service. These IP addresses must be valid static external IP addresses assigned to the project.
    rules RouterNatRule[]
    A list of rules associated with this NAT.
    sourceSubnetworkIpRangesToNat RouterNatSourceSubnetworkIpRangesToNat
    Specify the Nat option, which can take one of the following values: - ALL_SUBNETWORKS_ALL_IP_RANGES: All of the IP ranges in every Subnetwork are allowed to Nat. - ALL_SUBNETWORKS_ALL_PRIMARY_IP_RANGES: All of the primary IP ranges in every Subnetwork are allowed to Nat. - LIST_OF_SUBNETWORKS: A list of Subnetworks are allowed to Nat (specified in the field subnetwork below) The default is SUBNETWORK_IP_RANGE_TO_NAT_OPTION_UNSPECIFIED. Note that if this field contains ALL_SUBNETWORKS_ALL_IP_RANGES then there should not be any other Router.Nat section in any Router for this network in this region.
    subnetworks RouterNatSubnetworkToNat[]
    A list of Subnetwork resources whose traffic should be translated by NAT Gateway. It is used only when LIST_OF_SUBNETWORKS is selected for the SubnetworkIpRangeToNatOption above.
    tcpEstablishedIdleTimeoutSec number
    Timeout (in seconds) for TCP established connections. Defaults to 1200s if not set.
    tcpTimeWaitTimeoutSec number
    Timeout (in seconds) for TCP connections that are in TIME_WAIT state. Defaults to 120s if not set.
    tcpTransitoryIdleTimeoutSec number
    Timeout (in seconds) for TCP transitory connections. Defaults to 30s if not set.
    type RouterNatType
    Indicates whether this NAT is used for public or private IP translation. If unspecified, it defaults to PUBLIC.
    udpIdleTimeoutSec number
    Timeout (in seconds) for UDP connections. Defaults to 30s if not set.
    auto_network_tier RouterNatAutoNetworkTier
    The network tier to use when automatically reserving NAT IP addresses. Must be one of: PREMIUM, STANDARD. If not specified, then the current project-level default tier is used.
    drain_nat_ips Sequence[str]
    A list of URLs of the IP resources to be drained. These IPs must be valid static external IPs that have been assigned to the NAT. These IPs should be used for updating/patching a NAT only.
    enable_dynamic_port_allocation bool
    Enable Dynamic Port Allocation. If not specified, it is disabled by default. If set to true, - Dynamic Port Allocation will be enabled on this NAT config. - enableEndpointIndependentMapping cannot be set to true. - If minPorts is set, minPortsPerVm must be set to a power of two greater than or equal to 32. If minPortsPerVm is not set, a minimum of 32 ports will be allocated to a VM from this NAT config.
    enable_endpoint_independent_mapping bool
    endpoint_types Sequence[RouterNatEndpointTypesItem]
    List of NAT-ted endpoint types supported by the Nat Gateway. If the list is empty, then it will be equivalent to include ENDPOINT_TYPE_VM
    icmp_idle_timeout_sec int
    Timeout (in seconds) for ICMP connections. Defaults to 30s if not set.
    log_config RouterNatLogConfig
    Configure logging on this NAT.
    max_ports_per_vm int
    Maximum number of ports allocated to a VM from this NAT config when Dynamic Port Allocation is enabled. If Dynamic Port Allocation is not enabled, this field has no effect. If Dynamic Port Allocation is enabled, and this field is set, it must be set to a power of two greater than minPortsPerVm, or 64 if minPortsPerVm is not set. If Dynamic Port Allocation is enabled and this field is not set, a maximum of 65536 ports will be allocated to a VM from this NAT config.
    min_ports_per_vm int
    Minimum number of ports allocated to a VM from this NAT config. If not set, a default number of ports is allocated to a VM. This is rounded up to the nearest power of 2. For example, if the value of this field is 50, at least 64 ports are allocated to a VM.
    name str
    Unique name of this Nat service. The name must be 1-63 characters long and comply with RFC1035.
    nat_ip_allocate_option RouterNatNatIpAllocateOption
    Specify the NatIpAllocateOption, which can take one of the following values: - MANUAL_ONLY: Uses only Nat IP addresses provided by customers. When there are not enough specified Nat IPs, the Nat service fails for new VMs. - AUTO_ONLY: Nat IPs are allocated by Google Cloud Platform; customers can't specify any Nat IPs. When choosing AUTO_ONLY, then nat_ip should be empty.
    nat_ips Sequence[str]
    A list of URLs of the IP resources used for this Nat service. These IP addresses must be valid static external IP addresses assigned to the project.
    rules Sequence[RouterNatRule]
    A list of rules associated with this NAT.
    source_subnetwork_ip_ranges_to_nat RouterNatSourceSubnetworkIpRangesToNat
    Specify the Nat option, which can take one of the following values: - ALL_SUBNETWORKS_ALL_IP_RANGES: All of the IP ranges in every Subnetwork are allowed to Nat. - ALL_SUBNETWORKS_ALL_PRIMARY_IP_RANGES: All of the primary IP ranges in every Subnetwork are allowed to Nat. - LIST_OF_SUBNETWORKS: A list of Subnetworks are allowed to Nat (specified in the field subnetwork below) The default is SUBNETWORK_IP_RANGE_TO_NAT_OPTION_UNSPECIFIED. Note that if this field contains ALL_SUBNETWORKS_ALL_IP_RANGES then there should not be any other Router.Nat section in any Router for this network in this region.
    subnetworks Sequence[RouterNatSubnetworkToNat]
    A list of Subnetwork resources whose traffic should be translated by NAT Gateway. It is used only when LIST_OF_SUBNETWORKS is selected for the SubnetworkIpRangeToNatOption above.
    tcp_established_idle_timeout_sec int
    Timeout (in seconds) for TCP established connections. Defaults to 1200s if not set.
    tcp_time_wait_timeout_sec int
    Timeout (in seconds) for TCP connections that are in TIME_WAIT state. Defaults to 120s if not set.
    tcp_transitory_idle_timeout_sec int
    Timeout (in seconds) for TCP transitory connections. Defaults to 30s if not set.
    type RouterNatType
    Indicates whether this NAT is used for public or private IP translation. If unspecified, it defaults to PUBLIC.
    udp_idle_timeout_sec int
    Timeout (in seconds) for UDP connections. Defaults to 30s if not set.
    autoNetworkTier "FIXED_STANDARD" | "PREMIUM" | "STANDARD" | "STANDARD_OVERRIDES_FIXED_STANDARD"
    The network tier to use when automatically reserving NAT IP addresses. Must be one of: PREMIUM, STANDARD. If not specified, then the current project-level default tier is used.
    drainNatIps List<String>
    A list of URLs of the IP resources to be drained. These IPs must be valid static external IPs that have been assigned to the NAT. These IPs should be used for updating/patching a NAT only.
    enableDynamicPortAllocation Boolean
    Enable Dynamic Port Allocation. If not specified, it is disabled by default. If set to true, - Dynamic Port Allocation will be enabled on this NAT config. - enableEndpointIndependentMapping cannot be set to true. - If minPorts is set, minPortsPerVm must be set to a power of two greater than or equal to 32. If minPortsPerVm is not set, a minimum of 32 ports will be allocated to a VM from this NAT config.
    enableEndpointIndependentMapping Boolean
    endpointTypes List<"ENDPOINT_TYPE_MANAGED_PROXY_LB" | "ENDPOINT_TYPE_SWG" | "ENDPOINT_TYPE_VM">
    List of NAT-ted endpoint types supported by the Nat Gateway. If the list is empty, then it will be equivalent to include ENDPOINT_TYPE_VM
    icmpIdleTimeoutSec Number
    Timeout (in seconds) for ICMP connections. Defaults to 30s if not set.
    logConfig Property Map
    Configure logging on this NAT.
    maxPortsPerVm Number
    Maximum number of ports allocated to a VM from this NAT config when Dynamic Port Allocation is enabled. If Dynamic Port Allocation is not enabled, this field has no effect. If Dynamic Port Allocation is enabled, and this field is set, it must be set to a power of two greater than minPortsPerVm, or 64 if minPortsPerVm is not set. If Dynamic Port Allocation is enabled and this field is not set, a maximum of 65536 ports will be allocated to a VM from this NAT config.
    minPortsPerVm Number
    Minimum number of ports allocated to a VM from this NAT config. If not set, a default number of ports is allocated to a VM. This is rounded up to the nearest power of 2. For example, if the value of this field is 50, at least 64 ports are allocated to a VM.
    name String
    Unique name of this Nat service. The name must be 1-63 characters long and comply with RFC1035.
    natIpAllocateOption "AUTO_ONLY" | "MANUAL_ONLY"
    Specify the NatIpAllocateOption, which can take one of the following values: - MANUAL_ONLY: Uses only Nat IP addresses provided by customers. When there are not enough specified Nat IPs, the Nat service fails for new VMs. - AUTO_ONLY: Nat IPs are allocated by Google Cloud Platform; customers can't specify any Nat IPs. When choosing AUTO_ONLY, then nat_ip should be empty.
    natIps List<String>
    A list of URLs of the IP resources used for this Nat service. These IP addresses must be valid static external IP addresses assigned to the project.
    rules List<Property Map>
    A list of rules associated with this NAT.
    sourceSubnetworkIpRangesToNat "ALL_SUBNETWORKS_ALL_IP_RANGES" | "ALL_SUBNETWORKS_ALL_PRIMARY_IP_RANGES" | "LIST_OF_SUBNETWORKS"
    Specify the Nat option, which can take one of the following values: - ALL_SUBNETWORKS_ALL_IP_RANGES: All of the IP ranges in every Subnetwork are allowed to Nat. - ALL_SUBNETWORKS_ALL_PRIMARY_IP_RANGES: All of the primary IP ranges in every Subnetwork are allowed to Nat. - LIST_OF_SUBNETWORKS: A list of Subnetworks are allowed to Nat (specified in the field subnetwork below) The default is SUBNETWORK_IP_RANGE_TO_NAT_OPTION_UNSPECIFIED. Note that if this field contains ALL_SUBNETWORKS_ALL_IP_RANGES then there should not be any other Router.Nat section in any Router for this network in this region.
    subnetworks List<Property Map>
    A list of Subnetwork resources whose traffic should be translated by NAT Gateway. It is used only when LIST_OF_SUBNETWORKS is selected for the SubnetworkIpRangeToNatOption above.
    tcpEstablishedIdleTimeoutSec Number
    Timeout (in seconds) for TCP established connections. Defaults to 1200s if not set.
    tcpTimeWaitTimeoutSec Number
    Timeout (in seconds) for TCP connections that are in TIME_WAIT state. Defaults to 120s if not set.
    tcpTransitoryIdleTimeoutSec Number
    Timeout (in seconds) for TCP transitory connections. Defaults to 30s if not set.
    type "PRIVATE" | "PUBLIC"
    Indicates whether this NAT is used for public or private IP translation. If unspecified, it defaults to PUBLIC.
    udpIdleTimeoutSec Number
    Timeout (in seconds) for UDP connections. Defaults to 30s if not set.

    RouterNatAutoNetworkTier, RouterNatAutoNetworkTierArgs

    FixedStandard
    FIXED_STANDARDPublic internet quality with fixed bandwidth.
    Premium
    PREMIUMHigh quality, Google-grade network tier, support for all networking products.
    Standard
    STANDARDPublic internet quality, only limited support for other networking products.
    StandardOverridesFixedStandard
    STANDARD_OVERRIDES_FIXED_STANDARD(Output only) Temporary tier for FIXED_STANDARD when fixed standard tier is expired or not configured.
    RouterNatAutoNetworkTierFixedStandard
    FIXED_STANDARDPublic internet quality with fixed bandwidth.
    RouterNatAutoNetworkTierPremium
    PREMIUMHigh quality, Google-grade network tier, support for all networking products.
    RouterNatAutoNetworkTierStandard
    STANDARDPublic internet quality, only limited support for other networking products.
    RouterNatAutoNetworkTierStandardOverridesFixedStandard
    STANDARD_OVERRIDES_FIXED_STANDARD(Output only) Temporary tier for FIXED_STANDARD when fixed standard tier is expired or not configured.
    FixedStandard
    FIXED_STANDARDPublic internet quality with fixed bandwidth.
    Premium
    PREMIUMHigh quality, Google-grade network tier, support for all networking products.
    Standard
    STANDARDPublic internet quality, only limited support for other networking products.
    StandardOverridesFixedStandard
    STANDARD_OVERRIDES_FIXED_STANDARD(Output only) Temporary tier for FIXED_STANDARD when fixed standard tier is expired or not configured.
    FixedStandard
    FIXED_STANDARDPublic internet quality with fixed bandwidth.
    Premium
    PREMIUMHigh quality, Google-grade network tier, support for all networking products.
    Standard
    STANDARDPublic internet quality, only limited support for other networking products.
    StandardOverridesFixedStandard
    STANDARD_OVERRIDES_FIXED_STANDARD(Output only) Temporary tier for FIXED_STANDARD when fixed standard tier is expired or not configured.
    FIXED_STANDARD
    FIXED_STANDARDPublic internet quality with fixed bandwidth.
    PREMIUM
    PREMIUMHigh quality, Google-grade network tier, support for all networking products.
    STANDARD
    STANDARDPublic internet quality, only limited support for other networking products.
    STANDARD_OVERRIDES_FIXED_STANDARD
    STANDARD_OVERRIDES_FIXED_STANDARD(Output only) Temporary tier for FIXED_STANDARD when fixed standard tier is expired or not configured.
    "FIXED_STANDARD"
    FIXED_STANDARDPublic internet quality with fixed bandwidth.
    "PREMIUM"
    PREMIUMHigh quality, Google-grade network tier, support for all networking products.
    "STANDARD"
    STANDARDPublic internet quality, only limited support for other networking products.
    "STANDARD_OVERRIDES_FIXED_STANDARD"
    STANDARD_OVERRIDES_FIXED_STANDARD(Output only) Temporary tier for FIXED_STANDARD when fixed standard tier is expired or not configured.

    RouterNatEndpointTypesItem, RouterNatEndpointTypesItemArgs

    EndpointTypeManagedProxyLb
    ENDPOINT_TYPE_MANAGED_PROXY_LBThis is used for regional Application Load Balancers (internal and external) and regional proxy Network Load Balancers (internal and external) endpoints.
    EndpointTypeSwg
    ENDPOINT_TYPE_SWGThis is used for Secure Web Gateway endpoints.
    EndpointTypeVm
    ENDPOINT_TYPE_VMThis is the default.
    RouterNatEndpointTypesItemEndpointTypeManagedProxyLb
    ENDPOINT_TYPE_MANAGED_PROXY_LBThis is used for regional Application Load Balancers (internal and external) and regional proxy Network Load Balancers (internal and external) endpoints.
    RouterNatEndpointTypesItemEndpointTypeSwg
    ENDPOINT_TYPE_SWGThis is used for Secure Web Gateway endpoints.
    RouterNatEndpointTypesItemEndpointTypeVm
    ENDPOINT_TYPE_VMThis is the default.
    EndpointTypeManagedProxyLb
    ENDPOINT_TYPE_MANAGED_PROXY_LBThis is used for regional Application Load Balancers (internal and external) and regional proxy Network Load Balancers (internal and external) endpoints.
    EndpointTypeSwg
    ENDPOINT_TYPE_SWGThis is used for Secure Web Gateway endpoints.
    EndpointTypeVm
    ENDPOINT_TYPE_VMThis is the default.
    EndpointTypeManagedProxyLb
    ENDPOINT_TYPE_MANAGED_PROXY_LBThis is used for regional Application Load Balancers (internal and external) and regional proxy Network Load Balancers (internal and external) endpoints.
    EndpointTypeSwg
    ENDPOINT_TYPE_SWGThis is used for Secure Web Gateway endpoints.
    EndpointTypeVm
    ENDPOINT_TYPE_VMThis is the default.
    ENDPOINT_TYPE_MANAGED_PROXY_LB
    ENDPOINT_TYPE_MANAGED_PROXY_LBThis is used for regional Application Load Balancers (internal and external) and regional proxy Network Load Balancers (internal and external) endpoints.
    ENDPOINT_TYPE_SWG
    ENDPOINT_TYPE_SWGThis is used for Secure Web Gateway endpoints.
    ENDPOINT_TYPE_VM
    ENDPOINT_TYPE_VMThis is the default.
    "ENDPOINT_TYPE_MANAGED_PROXY_LB"
    ENDPOINT_TYPE_MANAGED_PROXY_LBThis is used for regional Application Load Balancers (internal and external) and regional proxy Network Load Balancers (internal and external) endpoints.
    "ENDPOINT_TYPE_SWG"
    ENDPOINT_TYPE_SWGThis is used for Secure Web Gateway endpoints.
    "ENDPOINT_TYPE_VM"
    ENDPOINT_TYPE_VMThis is the default.

    RouterNatLogConfig, RouterNatLogConfigArgs

    Enable bool
    Indicates whether or not to export logs. This is false by default.
    Filter Pulumi.GoogleNative.Compute.Beta.RouterNatLogConfigFilter
    Specify the desired filtering of logs on this NAT. If unspecified, logs are exported for all connections handled by this NAT. This option can take one of the following values: - ERRORS_ONLY: Export logs only for connection failures. - TRANSLATIONS_ONLY: Export logs only for successful connections. - ALL: Export logs for all connections, successful and unsuccessful.
    Enable bool
    Indicates whether or not to export logs. This is false by default.
    Filter RouterNatLogConfigFilter
    Specify the desired filtering of logs on this NAT. If unspecified, logs are exported for all connections handled by this NAT. This option can take one of the following values: - ERRORS_ONLY: Export logs only for connection failures. - TRANSLATIONS_ONLY: Export logs only for successful connections. - ALL: Export logs for all connections, successful and unsuccessful.
    enable Boolean
    Indicates whether or not to export logs. This is false by default.
    filter RouterNatLogConfigFilter
    Specify the desired filtering of logs on this NAT. If unspecified, logs are exported for all connections handled by this NAT. This option can take one of the following values: - ERRORS_ONLY: Export logs only for connection failures. - TRANSLATIONS_ONLY: Export logs only for successful connections. - ALL: Export logs for all connections, successful and unsuccessful.
    enable boolean
    Indicates whether or not to export logs. This is false by default.
    filter RouterNatLogConfigFilter
    Specify the desired filtering of logs on this NAT. If unspecified, logs are exported for all connections handled by this NAT. This option can take one of the following values: - ERRORS_ONLY: Export logs only for connection failures. - TRANSLATIONS_ONLY: Export logs only for successful connections. - ALL: Export logs for all connections, successful and unsuccessful.
    enable bool
    Indicates whether or not to export logs. This is false by default.
    filter RouterNatLogConfigFilter
    Specify the desired filtering of logs on this NAT. If unspecified, logs are exported for all connections handled by this NAT. This option can take one of the following values: - ERRORS_ONLY: Export logs only for connection failures. - TRANSLATIONS_ONLY: Export logs only for successful connections. - ALL: Export logs for all connections, successful and unsuccessful.
    enable Boolean
    Indicates whether or not to export logs. This is false by default.
    filter "ALL" | "ERRORS_ONLY" | "TRANSLATIONS_ONLY"
    Specify the desired filtering of logs on this NAT. If unspecified, logs are exported for all connections handled by this NAT. This option can take one of the following values: - ERRORS_ONLY: Export logs only for connection failures. - TRANSLATIONS_ONLY: Export logs only for successful connections. - ALL: Export logs for all connections, successful and unsuccessful.

    RouterNatLogConfigFilter, RouterNatLogConfigFilterArgs

    All
    ALLExport logs for all (successful and unsuccessful) connections.
    ErrorsOnly
    ERRORS_ONLYExport logs for connection failures only.
    TranslationsOnly
    TRANSLATIONS_ONLYExport logs for successful connections only.
    RouterNatLogConfigFilterAll
    ALLExport logs for all (successful and unsuccessful) connections.
    RouterNatLogConfigFilterErrorsOnly
    ERRORS_ONLYExport logs for connection failures only.
    RouterNatLogConfigFilterTranslationsOnly
    TRANSLATIONS_ONLYExport logs for successful connections only.
    All
    ALLExport logs for all (successful and unsuccessful) connections.
    ErrorsOnly
    ERRORS_ONLYExport logs for connection failures only.
    TranslationsOnly
    TRANSLATIONS_ONLYExport logs for successful connections only.
    All
    ALLExport logs for all (successful and unsuccessful) connections.
    ErrorsOnly
    ERRORS_ONLYExport logs for connection failures only.
    TranslationsOnly
    TRANSLATIONS_ONLYExport logs for successful connections only.
    ALL
    ALLExport logs for all (successful and unsuccessful) connections.
    ERRORS_ONLY
    ERRORS_ONLYExport logs for connection failures only.
    TRANSLATIONS_ONLY
    TRANSLATIONS_ONLYExport logs for successful connections only.
    "ALL"
    ALLExport logs for all (successful and unsuccessful) connections.
    "ERRORS_ONLY"
    ERRORS_ONLYExport logs for connection failures only.
    "TRANSLATIONS_ONLY"
    TRANSLATIONS_ONLYExport logs for successful connections only.

    RouterNatLogConfigResponse, RouterNatLogConfigResponseArgs

    Enable bool
    Indicates whether or not to export logs. This is false by default.
    Filter string
    Specify the desired filtering of logs on this NAT. If unspecified, logs are exported for all connections handled by this NAT. This option can take one of the following values: - ERRORS_ONLY: Export logs only for connection failures. - TRANSLATIONS_ONLY: Export logs only for successful connections. - ALL: Export logs for all connections, successful and unsuccessful.
    Enable bool
    Indicates whether or not to export logs. This is false by default.
    Filter string
    Specify the desired filtering of logs on this NAT. If unspecified, logs are exported for all connections handled by this NAT. This option can take one of the following values: - ERRORS_ONLY: Export logs only for connection failures. - TRANSLATIONS_ONLY: Export logs only for successful connections. - ALL: Export logs for all connections, successful and unsuccessful.
    enable Boolean
    Indicates whether or not to export logs. This is false by default.
    filter String
    Specify the desired filtering of logs on this NAT. If unspecified, logs are exported for all connections handled by this NAT. This option can take one of the following values: - ERRORS_ONLY: Export logs only for connection failures. - TRANSLATIONS_ONLY: Export logs only for successful connections. - ALL: Export logs for all connections, successful and unsuccessful.
    enable boolean
    Indicates whether or not to export logs. This is false by default.
    filter string
    Specify the desired filtering of logs on this NAT. If unspecified, logs are exported for all connections handled by this NAT. This option can take one of the following values: - ERRORS_ONLY: Export logs only for connection failures. - TRANSLATIONS_ONLY: Export logs only for successful connections. - ALL: Export logs for all connections, successful and unsuccessful.
    enable bool
    Indicates whether or not to export logs. This is false by default.
    filter str
    Specify the desired filtering of logs on this NAT. If unspecified, logs are exported for all connections handled by this NAT. This option can take one of the following values: - ERRORS_ONLY: Export logs only for connection failures. - TRANSLATIONS_ONLY: Export logs only for successful connections. - ALL: Export logs for all connections, successful and unsuccessful.
    enable Boolean
    Indicates whether or not to export logs. This is false by default.
    filter String
    Specify the desired filtering of logs on this NAT. If unspecified, logs are exported for all connections handled by this NAT. This option can take one of the following values: - ERRORS_ONLY: Export logs only for connection failures. - TRANSLATIONS_ONLY: Export logs only for successful connections. - ALL: Export logs for all connections, successful and unsuccessful.

    RouterNatNatIpAllocateOption, RouterNatNatIpAllocateOptionArgs

    AutoOnly
    AUTO_ONLYNat IPs are allocated by GCP; customers can not specify any Nat IPs.
    ManualOnly
    MANUAL_ONLYOnly use Nat IPs provided by customers. When specified Nat IPs are not enough then the Nat service fails for new VMs.
    RouterNatNatIpAllocateOptionAutoOnly
    AUTO_ONLYNat IPs are allocated by GCP; customers can not specify any Nat IPs.
    RouterNatNatIpAllocateOptionManualOnly
    MANUAL_ONLYOnly use Nat IPs provided by customers. When specified Nat IPs are not enough then the Nat service fails for new VMs.
    AutoOnly
    AUTO_ONLYNat IPs are allocated by GCP; customers can not specify any Nat IPs.
    ManualOnly
    MANUAL_ONLYOnly use Nat IPs provided by customers. When specified Nat IPs are not enough then the Nat service fails for new VMs.
    AutoOnly
    AUTO_ONLYNat IPs are allocated by GCP; customers can not specify any Nat IPs.
    ManualOnly
    MANUAL_ONLYOnly use Nat IPs provided by customers. When specified Nat IPs are not enough then the Nat service fails for new VMs.
    AUTO_ONLY
    AUTO_ONLYNat IPs are allocated by GCP; customers can not specify any Nat IPs.
    MANUAL_ONLY
    MANUAL_ONLYOnly use Nat IPs provided by customers. When specified Nat IPs are not enough then the Nat service fails for new VMs.
    "AUTO_ONLY"
    AUTO_ONLYNat IPs are allocated by GCP; customers can not specify any Nat IPs.
    "MANUAL_ONLY"
    MANUAL_ONLYOnly use Nat IPs provided by customers. When specified Nat IPs are not enough then the Nat service fails for new VMs.

    RouterNatResponse, RouterNatResponseArgs

    AutoNetworkTier string
    The network tier to use when automatically reserving NAT IP addresses. Must be one of: PREMIUM, STANDARD. If not specified, then the current project-level default tier is used.
    DrainNatIps List<string>
    A list of URLs of the IP resources to be drained. These IPs must be valid static external IPs that have been assigned to the NAT. These IPs should be used for updating/patching a NAT only.
    EnableDynamicPortAllocation bool
    Enable Dynamic Port Allocation. If not specified, it is disabled by default. If set to true, - Dynamic Port Allocation will be enabled on this NAT config. - enableEndpointIndependentMapping cannot be set to true. - If minPorts is set, minPortsPerVm must be set to a power of two greater than or equal to 32. If minPortsPerVm is not set, a minimum of 32 ports will be allocated to a VM from this NAT config.
    EnableEndpointIndependentMapping bool
    EndpointTypes List<string>
    List of NAT-ted endpoint types supported by the Nat Gateway. If the list is empty, then it will be equivalent to include ENDPOINT_TYPE_VM
    IcmpIdleTimeoutSec int
    Timeout (in seconds) for ICMP connections. Defaults to 30s if not set.
    LogConfig Pulumi.GoogleNative.Compute.Beta.Inputs.RouterNatLogConfigResponse
    Configure logging on this NAT.
    MaxPortsPerVm int
    Maximum number of ports allocated to a VM from this NAT config when Dynamic Port Allocation is enabled. If Dynamic Port Allocation is not enabled, this field has no effect. If Dynamic Port Allocation is enabled, and this field is set, it must be set to a power of two greater than minPortsPerVm, or 64 if minPortsPerVm is not set. If Dynamic Port Allocation is enabled and this field is not set, a maximum of 65536 ports will be allocated to a VM from this NAT config.
    MinPortsPerVm int
    Minimum number of ports allocated to a VM from this NAT config. If not set, a default number of ports is allocated to a VM. This is rounded up to the nearest power of 2. For example, if the value of this field is 50, at least 64 ports are allocated to a VM.
    Name string
    Unique name of this Nat service. The name must be 1-63 characters long and comply with RFC1035.
    NatIpAllocateOption string
    Specify the NatIpAllocateOption, which can take one of the following values: - MANUAL_ONLY: Uses only Nat IP addresses provided by customers. When there are not enough specified Nat IPs, the Nat service fails for new VMs. - AUTO_ONLY: Nat IPs are allocated by Google Cloud Platform; customers can't specify any Nat IPs. When choosing AUTO_ONLY, then nat_ip should be empty.
    NatIps List<string>
    A list of URLs of the IP resources used for this Nat service. These IP addresses must be valid static external IP addresses assigned to the project.
    Rules List<Pulumi.GoogleNative.Compute.Beta.Inputs.RouterNatRuleResponse>
    A list of rules associated with this NAT.
    SourceSubnetworkIpRangesToNat string
    Specify the Nat option, which can take one of the following values: - ALL_SUBNETWORKS_ALL_IP_RANGES: All of the IP ranges in every Subnetwork are allowed to Nat. - ALL_SUBNETWORKS_ALL_PRIMARY_IP_RANGES: All of the primary IP ranges in every Subnetwork are allowed to Nat. - LIST_OF_SUBNETWORKS: A list of Subnetworks are allowed to Nat (specified in the field subnetwork below) The default is SUBNETWORK_IP_RANGE_TO_NAT_OPTION_UNSPECIFIED. Note that if this field contains ALL_SUBNETWORKS_ALL_IP_RANGES then there should not be any other Router.Nat section in any Router for this network in this region.
    Subnetworks List<Pulumi.GoogleNative.Compute.Beta.Inputs.RouterNatSubnetworkToNatResponse>
    A list of Subnetwork resources whose traffic should be translated by NAT Gateway. It is used only when LIST_OF_SUBNETWORKS is selected for the SubnetworkIpRangeToNatOption above.
    TcpEstablishedIdleTimeoutSec int
    Timeout (in seconds) for TCP established connections. Defaults to 1200s if not set.
    TcpTimeWaitTimeoutSec int
    Timeout (in seconds) for TCP connections that are in TIME_WAIT state. Defaults to 120s if not set.
    TcpTransitoryIdleTimeoutSec int
    Timeout (in seconds) for TCP transitory connections. Defaults to 30s if not set.
    Type string
    Indicates whether this NAT is used for public or private IP translation. If unspecified, it defaults to PUBLIC.
    UdpIdleTimeoutSec int
    Timeout (in seconds) for UDP connections. Defaults to 30s if not set.
    AutoNetworkTier string
    The network tier to use when automatically reserving NAT IP addresses. Must be one of: PREMIUM, STANDARD. If not specified, then the current project-level default tier is used.
    DrainNatIps []string
    A list of URLs of the IP resources to be drained. These IPs must be valid static external IPs that have been assigned to the NAT. These IPs should be used for updating/patching a NAT only.
    EnableDynamicPortAllocation bool
    Enable Dynamic Port Allocation. If not specified, it is disabled by default. If set to true, - Dynamic Port Allocation will be enabled on this NAT config. - enableEndpointIndependentMapping cannot be set to true. - If minPorts is set, minPortsPerVm must be set to a power of two greater than or equal to 32. If minPortsPerVm is not set, a minimum of 32 ports will be allocated to a VM from this NAT config.
    EnableEndpointIndependentMapping bool
    EndpointTypes []string
    List of NAT-ted endpoint types supported by the Nat Gateway. If the list is empty, then it will be equivalent to include ENDPOINT_TYPE_VM
    IcmpIdleTimeoutSec int
    Timeout (in seconds) for ICMP connections. Defaults to 30s if not set.
    LogConfig RouterNatLogConfigResponse
    Configure logging on this NAT.
    MaxPortsPerVm int
    Maximum number of ports allocated to a VM from this NAT config when Dynamic Port Allocation is enabled. If Dynamic Port Allocation is not enabled, this field has no effect. If Dynamic Port Allocation is enabled, and this field is set, it must be set to a power of two greater than minPortsPerVm, or 64 if minPortsPerVm is not set. If Dynamic Port Allocation is enabled and this field is not set, a maximum of 65536 ports will be allocated to a VM from this NAT config.
    MinPortsPerVm int
    Minimum number of ports allocated to a VM from this NAT config. If not set, a default number of ports is allocated to a VM. This is rounded up to the nearest power of 2. For example, if the value of this field is 50, at least 64 ports are allocated to a VM.
    Name string
    Unique name of this Nat service. The name must be 1-63 characters long and comply with RFC1035.
    NatIpAllocateOption string
    Specify the NatIpAllocateOption, which can take one of the following values: - MANUAL_ONLY: Uses only Nat IP addresses provided by customers. When there are not enough specified Nat IPs, the Nat service fails for new VMs. - AUTO_ONLY: Nat IPs are allocated by Google Cloud Platform; customers can't specify any Nat IPs. When choosing AUTO_ONLY, then nat_ip should be empty.
    NatIps []string
    A list of URLs of the IP resources used for this Nat service. These IP addresses must be valid static external IP addresses assigned to the project.
    Rules []RouterNatRuleResponse
    A list of rules associated with this NAT.
    SourceSubnetworkIpRangesToNat string
    Specify the Nat option, which can take one of the following values: - ALL_SUBNETWORKS_ALL_IP_RANGES: All of the IP ranges in every Subnetwork are allowed to Nat. - ALL_SUBNETWORKS_ALL_PRIMARY_IP_RANGES: All of the primary IP ranges in every Subnetwork are allowed to Nat. - LIST_OF_SUBNETWORKS: A list of Subnetworks are allowed to Nat (specified in the field subnetwork below) The default is SUBNETWORK_IP_RANGE_TO_NAT_OPTION_UNSPECIFIED. Note that if this field contains ALL_SUBNETWORKS_ALL_IP_RANGES then there should not be any other Router.Nat section in any Router for this network in this region.
    Subnetworks []RouterNatSubnetworkToNatResponse
    A list of Subnetwork resources whose traffic should be translated by NAT Gateway. It is used only when LIST_OF_SUBNETWORKS is selected for the SubnetworkIpRangeToNatOption above.
    TcpEstablishedIdleTimeoutSec int
    Timeout (in seconds) for TCP established connections. Defaults to 1200s if not set.
    TcpTimeWaitTimeoutSec int
    Timeout (in seconds) for TCP connections that are in TIME_WAIT state. Defaults to 120s if not set.
    TcpTransitoryIdleTimeoutSec int
    Timeout (in seconds) for TCP transitory connections. Defaults to 30s if not set.
    Type string
    Indicates whether this NAT is used for public or private IP translation. If unspecified, it defaults to PUBLIC.
    UdpIdleTimeoutSec int
    Timeout (in seconds) for UDP connections. Defaults to 30s if not set.
    autoNetworkTier String
    The network tier to use when automatically reserving NAT IP addresses. Must be one of: PREMIUM, STANDARD. If not specified, then the current project-level default tier is used.
    drainNatIps List<String>
    A list of URLs of the IP resources to be drained. These IPs must be valid static external IPs that have been assigned to the NAT. These IPs should be used for updating/patching a NAT only.
    enableDynamicPortAllocation Boolean
    Enable Dynamic Port Allocation. If not specified, it is disabled by default. If set to true, - Dynamic Port Allocation will be enabled on this NAT config. - enableEndpointIndependentMapping cannot be set to true. - If minPorts is set, minPortsPerVm must be set to a power of two greater than or equal to 32. If minPortsPerVm is not set, a minimum of 32 ports will be allocated to a VM from this NAT config.
    enableEndpointIndependentMapping Boolean
    endpointTypes List<String>
    List of NAT-ted endpoint types supported by the Nat Gateway. If the list is empty, then it will be equivalent to include ENDPOINT_TYPE_VM
    icmpIdleTimeoutSec Integer
    Timeout (in seconds) for ICMP connections. Defaults to 30s if not set.
    logConfig RouterNatLogConfigResponse
    Configure logging on this NAT.
    maxPortsPerVm Integer
    Maximum number of ports allocated to a VM from this NAT config when Dynamic Port Allocation is enabled. If Dynamic Port Allocation is not enabled, this field has no effect. If Dynamic Port Allocation is enabled, and this field is set, it must be set to a power of two greater than minPortsPerVm, or 64 if minPortsPerVm is not set. If Dynamic Port Allocation is enabled and this field is not set, a maximum of 65536 ports will be allocated to a VM from this NAT config.
    minPortsPerVm Integer
    Minimum number of ports allocated to a VM from this NAT config. If not set, a default number of ports is allocated to a VM. This is rounded up to the nearest power of 2. For example, if the value of this field is 50, at least 64 ports are allocated to a VM.
    name String
    Unique name of this Nat service. The name must be 1-63 characters long and comply with RFC1035.
    natIpAllocateOption String
    Specify the NatIpAllocateOption, which can take one of the following values: - MANUAL_ONLY: Uses only Nat IP addresses provided by customers. When there are not enough specified Nat IPs, the Nat service fails for new VMs. - AUTO_ONLY: Nat IPs are allocated by Google Cloud Platform; customers can't specify any Nat IPs. When choosing AUTO_ONLY, then nat_ip should be empty.
    natIps List<String>
    A list of URLs of the IP resources used for this Nat service. These IP addresses must be valid static external IP addresses assigned to the project.
    rules List<RouterNatRuleResponse>
    A list of rules associated with this NAT.
    sourceSubnetworkIpRangesToNat String
    Specify the Nat option, which can take one of the following values: - ALL_SUBNETWORKS_ALL_IP_RANGES: All of the IP ranges in every Subnetwork are allowed to Nat. - ALL_SUBNETWORKS_ALL_PRIMARY_IP_RANGES: All of the primary IP ranges in every Subnetwork are allowed to Nat. - LIST_OF_SUBNETWORKS: A list of Subnetworks are allowed to Nat (specified in the field subnetwork below) The default is SUBNETWORK_IP_RANGE_TO_NAT_OPTION_UNSPECIFIED. Note that if this field contains ALL_SUBNETWORKS_ALL_IP_RANGES then there should not be any other Router.Nat section in any Router for this network in this region.
    subnetworks List<RouterNatSubnetworkToNatResponse>
    A list of Subnetwork resources whose traffic should be translated by NAT Gateway. It is used only when LIST_OF_SUBNETWORKS is selected for the SubnetworkIpRangeToNatOption above.
    tcpEstablishedIdleTimeoutSec Integer
    Timeout (in seconds) for TCP established connections. Defaults to 1200s if not set.
    tcpTimeWaitTimeoutSec Integer
    Timeout (in seconds) for TCP connections that are in TIME_WAIT state. Defaults to 120s if not set.
    tcpTransitoryIdleTimeoutSec Integer
    Timeout (in seconds) for TCP transitory connections. Defaults to 30s if not set.
    type String
    Indicates whether this NAT is used for public or private IP translation. If unspecified, it defaults to PUBLIC.
    udpIdleTimeoutSec Integer
    Timeout (in seconds) for UDP connections. Defaults to 30s if not set.
    autoNetworkTier string
    The network tier to use when automatically reserving NAT IP addresses. Must be one of: PREMIUM, STANDARD. If not specified, then the current project-level default tier is used.
    drainNatIps string[]
    A list of URLs of the IP resources to be drained. These IPs must be valid static external IPs that have been assigned to the NAT. These IPs should be used for updating/patching a NAT only.
    enableDynamicPortAllocation boolean
    Enable Dynamic Port Allocation. If not specified, it is disabled by default. If set to true, - Dynamic Port Allocation will be enabled on this NAT config. - enableEndpointIndependentMapping cannot be set to true. - If minPorts is set, minPortsPerVm must be set to a power of two greater than or equal to 32. If minPortsPerVm is not set, a minimum of 32 ports will be allocated to a VM from this NAT config.
    enableEndpointIndependentMapping boolean
    endpointTypes string[]
    List of NAT-ted endpoint types supported by the Nat Gateway. If the list is empty, then it will be equivalent to include ENDPOINT_TYPE_VM
    icmpIdleTimeoutSec number
    Timeout (in seconds) for ICMP connections. Defaults to 30s if not set.
    logConfig RouterNatLogConfigResponse
    Configure logging on this NAT.
    maxPortsPerVm number
    Maximum number of ports allocated to a VM from this NAT config when Dynamic Port Allocation is enabled. If Dynamic Port Allocation is not enabled, this field has no effect. If Dynamic Port Allocation is enabled, and this field is set, it must be set to a power of two greater than minPortsPerVm, or 64 if minPortsPerVm is not set. If Dynamic Port Allocation is enabled and this field is not set, a maximum of 65536 ports will be allocated to a VM from this NAT config.
    minPortsPerVm number
    Minimum number of ports allocated to a VM from this NAT config. If not set, a default number of ports is allocated to a VM. This is rounded up to the nearest power of 2. For example, if the value of this field is 50, at least 64 ports are allocated to a VM.
    name string
    Unique name of this Nat service. The name must be 1-63 characters long and comply with RFC1035.
    natIpAllocateOption string
    Specify the NatIpAllocateOption, which can take one of the following values: - MANUAL_ONLY: Uses only Nat IP addresses provided by customers. When there are not enough specified Nat IPs, the Nat service fails for new VMs. - AUTO_ONLY: Nat IPs are allocated by Google Cloud Platform; customers can't specify any Nat IPs. When choosing AUTO_ONLY, then nat_ip should be empty.
    natIps string[]
    A list of URLs of the IP resources used for this Nat service. These IP addresses must be valid static external IP addresses assigned to the project.
    rules RouterNatRuleResponse[]
    A list of rules associated with this NAT.
    sourceSubnetworkIpRangesToNat string
    Specify the Nat option, which can take one of the following values: - ALL_SUBNETWORKS_ALL_IP_RANGES: All of the IP ranges in every Subnetwork are allowed to Nat. - ALL_SUBNETWORKS_ALL_PRIMARY_IP_RANGES: All of the primary IP ranges in every Subnetwork are allowed to Nat. - LIST_OF_SUBNETWORKS: A list of Subnetworks are allowed to Nat (specified in the field subnetwork below) The default is SUBNETWORK_IP_RANGE_TO_NAT_OPTION_UNSPECIFIED. Note that if this field contains ALL_SUBNETWORKS_ALL_IP_RANGES then there should not be any other Router.Nat section in any Router for this network in this region.
    subnetworks RouterNatSubnetworkToNatResponse[]
    A list of Subnetwork resources whose traffic should be translated by NAT Gateway. It is used only when LIST_OF_SUBNETWORKS is selected for the SubnetworkIpRangeToNatOption above.
    tcpEstablishedIdleTimeoutSec number
    Timeout (in seconds) for TCP established connections. Defaults to 1200s if not set.
    tcpTimeWaitTimeoutSec number
    Timeout (in seconds) for TCP connections that are in TIME_WAIT state. Defaults to 120s if not set.
    tcpTransitoryIdleTimeoutSec number
    Timeout (in seconds) for TCP transitory connections. Defaults to 30s if not set.
    type string
    Indicates whether this NAT is used for public or private IP translation. If unspecified, it defaults to PUBLIC.
    udpIdleTimeoutSec number
    Timeout (in seconds) for UDP connections. Defaults to 30s if not set.
    auto_network_tier str
    The network tier to use when automatically reserving NAT IP addresses. Must be one of: PREMIUM, STANDARD. If not specified, then the current project-level default tier is used.
    drain_nat_ips Sequence[str]
    A list of URLs of the IP resources to be drained. These IPs must be valid static external IPs that have been assigned to the NAT. These IPs should be used for updating/patching a NAT only.
    enable_dynamic_port_allocation bool
    Enable Dynamic Port Allocation. If not specified, it is disabled by default. If set to true, - Dynamic Port Allocation will be enabled on this NAT config. - enableEndpointIndependentMapping cannot be set to true. - If minPorts is set, minPortsPerVm must be set to a power of two greater than or equal to 32. If minPortsPerVm is not set, a minimum of 32 ports will be allocated to a VM from this NAT config.
    enable_endpoint_independent_mapping bool
    endpoint_types Sequence[str]
    List of NAT-ted endpoint types supported by the Nat Gateway. If the list is empty, then it will be equivalent to include ENDPOINT_TYPE_VM
    icmp_idle_timeout_sec int
    Timeout (in seconds) for ICMP connections. Defaults to 30s if not set.
    log_config RouterNatLogConfigResponse
    Configure logging on this NAT.
    max_ports_per_vm int
    Maximum number of ports allocated to a VM from this NAT config when Dynamic Port Allocation is enabled. If Dynamic Port Allocation is not enabled, this field has no effect. If Dynamic Port Allocation is enabled, and this field is set, it must be set to a power of two greater than minPortsPerVm, or 64 if minPortsPerVm is not set. If Dynamic Port Allocation is enabled and this field is not set, a maximum of 65536 ports will be allocated to a VM from this NAT config.
    min_ports_per_vm int
    Minimum number of ports allocated to a VM from this NAT config. If not set, a default number of ports is allocated to a VM. This is rounded up to the nearest power of 2. For example, if the value of this field is 50, at least 64 ports are allocated to a VM.
    name str
    Unique name of this Nat service. The name must be 1-63 characters long and comply with RFC1035.
    nat_ip_allocate_option str
    Specify the NatIpAllocateOption, which can take one of the following values: - MANUAL_ONLY: Uses only Nat IP addresses provided by customers. When there are not enough specified Nat IPs, the Nat service fails for new VMs. - AUTO_ONLY: Nat IPs are allocated by Google Cloud Platform; customers can't specify any Nat IPs. When choosing AUTO_ONLY, then nat_ip should be empty.
    nat_ips Sequence[str]
    A list of URLs of the IP resources used for this Nat service. These IP addresses must be valid static external IP addresses assigned to the project.
    rules Sequence[RouterNatRuleResponse]
    A list of rules associated with this NAT.
    source_subnetwork_ip_ranges_to_nat str
    Specify the Nat option, which can take one of the following values: - ALL_SUBNETWORKS_ALL_IP_RANGES: All of the IP ranges in every Subnetwork are allowed to Nat. - ALL_SUBNETWORKS_ALL_PRIMARY_IP_RANGES: All of the primary IP ranges in every Subnetwork are allowed to Nat. - LIST_OF_SUBNETWORKS: A list of Subnetworks are allowed to Nat (specified in the field subnetwork below) The default is SUBNETWORK_IP_RANGE_TO_NAT_OPTION_UNSPECIFIED. Note that if this field contains ALL_SUBNETWORKS_ALL_IP_RANGES then there should not be any other Router.Nat section in any Router for this network in this region.
    subnetworks Sequence[RouterNatSubnetworkToNatResponse]
    A list of Subnetwork resources whose traffic should be translated by NAT Gateway. It is used only when LIST_OF_SUBNETWORKS is selected for the SubnetworkIpRangeToNatOption above.
    tcp_established_idle_timeout_sec int
    Timeout (in seconds) for TCP established connections. Defaults to 1200s if not set.
    tcp_time_wait_timeout_sec int
    Timeout (in seconds) for TCP connections that are in TIME_WAIT state. Defaults to 120s if not set.
    tcp_transitory_idle_timeout_sec int
    Timeout (in seconds) for TCP transitory connections. Defaults to 30s if not set.
    type str
    Indicates whether this NAT is used for public or private IP translation. If unspecified, it defaults to PUBLIC.
    udp_idle_timeout_sec int
    Timeout (in seconds) for UDP connections. Defaults to 30s if not set.
    autoNetworkTier String
    The network tier to use when automatically reserving NAT IP addresses. Must be one of: PREMIUM, STANDARD. If not specified, then the current project-level default tier is used.
    drainNatIps List<String>
    A list of URLs of the IP resources to be drained. These IPs must be valid static external IPs that have been assigned to the NAT. These IPs should be used for updating/patching a NAT only.
    enableDynamicPortAllocation Boolean
    Enable Dynamic Port Allocation. If not specified, it is disabled by default. If set to true, - Dynamic Port Allocation will be enabled on this NAT config. - enableEndpointIndependentMapping cannot be set to true. - If minPorts is set, minPortsPerVm must be set to a power of two greater than or equal to 32. If minPortsPerVm is not set, a minimum of 32 ports will be allocated to a VM from this NAT config.
    enableEndpointIndependentMapping Boolean
    endpointTypes List<String>
    List of NAT-ted endpoint types supported by the Nat Gateway. If the list is empty, then it will be equivalent to include ENDPOINT_TYPE_VM
    icmpIdleTimeoutSec Number
    Timeout (in seconds) for ICMP connections. Defaults to 30s if not set.
    logConfig Property Map
    Configure logging on this NAT.
    maxPortsPerVm Number
    Maximum number of ports allocated to a VM from this NAT config when Dynamic Port Allocation is enabled. If Dynamic Port Allocation is not enabled, this field has no effect. If Dynamic Port Allocation is enabled, and this field is set, it must be set to a power of two greater than minPortsPerVm, or 64 if minPortsPerVm is not set. If Dynamic Port Allocation is enabled and this field is not set, a maximum of 65536 ports will be allocated to a VM from this NAT config.
    minPortsPerVm Number
    Minimum number of ports allocated to a VM from this NAT config. If not set, a default number of ports is allocated to a VM. This is rounded up to the nearest power of 2. For example, if the value of this field is 50, at least 64 ports are allocated to a VM.
    name String
    Unique name of this Nat service. The name must be 1-63 characters long and comply with RFC1035.
    natIpAllocateOption String
    Specify the NatIpAllocateOption, which can take one of the following values: - MANUAL_ONLY: Uses only Nat IP addresses provided by customers. When there are not enough specified Nat IPs, the Nat service fails for new VMs. - AUTO_ONLY: Nat IPs are allocated by Google Cloud Platform; customers can't specify any Nat IPs. When choosing AUTO_ONLY, then nat_ip should be empty.
    natIps List<String>
    A list of URLs of the IP resources used for this Nat service. These IP addresses must be valid static external IP addresses assigned to the project.
    rules List<Property Map>
    A list of rules associated with this NAT.
    sourceSubnetworkIpRangesToNat String
    Specify the Nat option, which can take one of the following values: - ALL_SUBNETWORKS_ALL_IP_RANGES: All of the IP ranges in every Subnetwork are allowed to Nat. - ALL_SUBNETWORKS_ALL_PRIMARY_IP_RANGES: All of the primary IP ranges in every Subnetwork are allowed to Nat. - LIST_OF_SUBNETWORKS: A list of Subnetworks are allowed to Nat (specified in the field subnetwork below) The default is SUBNETWORK_IP_RANGE_TO_NAT_OPTION_UNSPECIFIED. Note that if this field contains ALL_SUBNETWORKS_ALL_IP_RANGES then there should not be any other Router.Nat section in any Router for this network in this region.
    subnetworks List<Property Map>
    A list of Subnetwork resources whose traffic should be translated by NAT Gateway. It is used only when LIST_OF_SUBNETWORKS is selected for the SubnetworkIpRangeToNatOption above.
    tcpEstablishedIdleTimeoutSec Number
    Timeout (in seconds) for TCP established connections. Defaults to 1200s if not set.
    tcpTimeWaitTimeoutSec Number
    Timeout (in seconds) for TCP connections that are in TIME_WAIT state. Defaults to 120s if not set.
    tcpTransitoryIdleTimeoutSec Number
    Timeout (in seconds) for TCP transitory connections. Defaults to 30s if not set.
    type String
    Indicates whether this NAT is used for public or private IP translation. If unspecified, it defaults to PUBLIC.
    udpIdleTimeoutSec Number
    Timeout (in seconds) for UDP connections. Defaults to 30s if not set.

    RouterNatRule, RouterNatRuleArgs

    Action Pulumi.GoogleNative.Compute.Beta.Inputs.RouterNatRuleAction
    The action to be enforced for traffic that matches this rule.
    Description string
    An optional description of this rule.
    Match string
    CEL expression that specifies the match condition that egress traffic from a VM is evaluated against. If it evaluates to true, the corresponding action is enforced. The following examples are valid match expressions for public NAT: "inIpRange(destination.ip, '1.1.0.0/16') || inIpRange(destination.ip, '2.2.0.0/16')" "destination.ip == '1.1.0.1' || destination.ip == '8.8.8.8'" The following example is a valid match expression for private NAT: "nexthop.hub == '//networkconnectivity.googleapis.com/projects/my-project/locations/global/hubs/hub-1'"
    RuleNumber int
    An integer uniquely identifying a rule in the list. The rule number must be a positive value between 0 and 65000, and must be unique among rules within a NAT.
    Action RouterNatRuleAction
    The action to be enforced for traffic that matches this rule.
    Description string
    An optional description of this rule.
    Match string
    CEL expression that specifies the match condition that egress traffic from a VM is evaluated against. If it evaluates to true, the corresponding action is enforced. The following examples are valid match expressions for public NAT: "inIpRange(destination.ip, '1.1.0.0/16') || inIpRange(destination.ip, '2.2.0.0/16')" "destination.ip == '1.1.0.1' || destination.ip == '8.8.8.8'" The following example is a valid match expression for private NAT: "nexthop.hub == '//networkconnectivity.googleapis.com/projects/my-project/locations/global/hubs/hub-1'"
    RuleNumber int
    An integer uniquely identifying a rule in the list. The rule number must be a positive value between 0 and 65000, and must be unique among rules within a NAT.
    action RouterNatRuleAction
    The action to be enforced for traffic that matches this rule.
    description String
    An optional description of this rule.
    match String
    CEL expression that specifies the match condition that egress traffic from a VM is evaluated against. If it evaluates to true, the corresponding action is enforced. The following examples are valid match expressions for public NAT: "inIpRange(destination.ip, '1.1.0.0/16') || inIpRange(destination.ip, '2.2.0.0/16')" "destination.ip == '1.1.0.1' || destination.ip == '8.8.8.8'" The following example is a valid match expression for private NAT: "nexthop.hub == '//networkconnectivity.googleapis.com/projects/my-project/locations/global/hubs/hub-1'"
    ruleNumber Integer
    An integer uniquely identifying a rule in the list. The rule number must be a positive value between 0 and 65000, and must be unique among rules within a NAT.
    action RouterNatRuleAction
    The action to be enforced for traffic that matches this rule.
    description string
    An optional description of this rule.
    match string
    CEL expression that specifies the match condition that egress traffic from a VM is evaluated against. If it evaluates to true, the corresponding action is enforced. The following examples are valid match expressions for public NAT: "inIpRange(destination.ip, '1.1.0.0/16') || inIpRange(destination.ip, '2.2.0.0/16')" "destination.ip == '1.1.0.1' || destination.ip == '8.8.8.8'" The following example is a valid match expression for private NAT: "nexthop.hub == '//networkconnectivity.googleapis.com/projects/my-project/locations/global/hubs/hub-1'"
    ruleNumber number
    An integer uniquely identifying a rule in the list. The rule number must be a positive value between 0 and 65000, and must be unique among rules within a NAT.
    action RouterNatRuleAction
    The action to be enforced for traffic that matches this rule.
    description str
    An optional description of this rule.
    match str
    CEL expression that specifies the match condition that egress traffic from a VM is evaluated against. If it evaluates to true, the corresponding action is enforced. The following examples are valid match expressions for public NAT: "inIpRange(destination.ip, '1.1.0.0/16') || inIpRange(destination.ip, '2.2.0.0/16')" "destination.ip == '1.1.0.1' || destination.ip == '8.8.8.8'" The following example is a valid match expression for private NAT: "nexthop.hub == '//networkconnectivity.googleapis.com/projects/my-project/locations/global/hubs/hub-1'"
    rule_number int
    An integer uniquely identifying a rule in the list. The rule number must be a positive value between 0 and 65000, and must be unique among rules within a NAT.
    action Property Map
    The action to be enforced for traffic that matches this rule.
    description String
    An optional description of this rule.
    match String
    CEL expression that specifies the match condition that egress traffic from a VM is evaluated against. If it evaluates to true, the corresponding action is enforced. The following examples are valid match expressions for public NAT: "inIpRange(destination.ip, '1.1.0.0/16') || inIpRange(destination.ip, '2.2.0.0/16')" "destination.ip == '1.1.0.1' || destination.ip == '8.8.8.8'" The following example is a valid match expression for private NAT: "nexthop.hub == '//networkconnectivity.googleapis.com/projects/my-project/locations/global/hubs/hub-1'"
    ruleNumber Number
    An integer uniquely identifying a rule in the list. The rule number must be a positive value between 0 and 65000, and must be unique among rules within a NAT.

    RouterNatRuleAction, RouterNatRuleActionArgs

    SourceNatActiveIps List<string>
    A list of URLs of the IP resources used for this NAT rule. These IP addresses must be valid static external IP addresses assigned to the project. This field is used for public NAT.
    SourceNatActiveRanges List<string>
    A list of URLs of the subnetworks used as source ranges for this NAT Rule. These subnetworks must have purpose set to PRIVATE_NAT. This field is used for private NAT.
    SourceNatDrainIps List<string>
    A list of URLs of the IP resources to be drained. These IPs must be valid static external IPs that have been assigned to the NAT. These IPs should be used for updating/patching a NAT rule only. This field is used for public NAT.
    SourceNatDrainRanges List<string>
    A list of URLs of subnetworks representing source ranges to be drained. This is only supported on patch/update, and these subnetworks must have previously been used as active ranges in this NAT Rule. This field is used for private NAT.
    SourceNatActiveIps []string
    A list of URLs of the IP resources used for this NAT rule. These IP addresses must be valid static external IP addresses assigned to the project. This field is used for public NAT.
    SourceNatActiveRanges []string
    A list of URLs of the subnetworks used as source ranges for this NAT Rule. These subnetworks must have purpose set to PRIVATE_NAT. This field is used for private NAT.
    SourceNatDrainIps []string
    A list of URLs of the IP resources to be drained. These IPs must be valid static external IPs that have been assigned to the NAT. These IPs should be used for updating/patching a NAT rule only. This field is used for public NAT.
    SourceNatDrainRanges []string
    A list of URLs of subnetworks representing source ranges to be drained. This is only supported on patch/update, and these subnetworks must have previously been used as active ranges in this NAT Rule. This field is used for private NAT.
    sourceNatActiveIps List<String>
    A list of URLs of the IP resources used for this NAT rule. These IP addresses must be valid static external IP addresses assigned to the project. This field is used for public NAT.
    sourceNatActiveRanges List<String>
    A list of URLs of the subnetworks used as source ranges for this NAT Rule. These subnetworks must have purpose set to PRIVATE_NAT. This field is used for private NAT.
    sourceNatDrainIps List<String>
    A list of URLs of the IP resources to be drained. These IPs must be valid static external IPs that have been assigned to the NAT. These IPs should be used for updating/patching a NAT rule only. This field is used for public NAT.
    sourceNatDrainRanges List<String>
    A list of URLs of subnetworks representing source ranges to be drained. This is only supported on patch/update, and these subnetworks must have previously been used as active ranges in this NAT Rule. This field is used for private NAT.
    sourceNatActiveIps string[]
    A list of URLs of the IP resources used for this NAT rule. These IP addresses must be valid static external IP addresses assigned to the project. This field is used for public NAT.
    sourceNatActiveRanges string[]
    A list of URLs of the subnetworks used as source ranges for this NAT Rule. These subnetworks must have purpose set to PRIVATE_NAT. This field is used for private NAT.
    sourceNatDrainIps string[]
    A list of URLs of the IP resources to be drained. These IPs must be valid static external IPs that have been assigned to the NAT. These IPs should be used for updating/patching a NAT rule only. This field is used for public NAT.
    sourceNatDrainRanges string[]
    A list of URLs of subnetworks representing source ranges to be drained. This is only supported on patch/update, and these subnetworks must have previously been used as active ranges in this NAT Rule. This field is used for private NAT.
    source_nat_active_ips Sequence[str]
    A list of URLs of the IP resources used for this NAT rule. These IP addresses must be valid static external IP addresses assigned to the project. This field is used for public NAT.
    source_nat_active_ranges Sequence[str]
    A list of URLs of the subnetworks used as source ranges for this NAT Rule. These subnetworks must have purpose set to PRIVATE_NAT. This field is used for private NAT.
    source_nat_drain_ips Sequence[str]
    A list of URLs of the IP resources to be drained. These IPs must be valid static external IPs that have been assigned to the NAT. These IPs should be used for updating/patching a NAT rule only. This field is used for public NAT.
    source_nat_drain_ranges Sequence[str]
    A list of URLs of subnetworks representing source ranges to be drained. This is only supported on patch/update, and these subnetworks must have previously been used as active ranges in this NAT Rule. This field is used for private NAT.
    sourceNatActiveIps List<String>
    A list of URLs of the IP resources used for this NAT rule. These IP addresses must be valid static external IP addresses assigned to the project. This field is used for public NAT.
    sourceNatActiveRanges List<String>
    A list of URLs of the subnetworks used as source ranges for this NAT Rule. These subnetworks must have purpose set to PRIVATE_NAT. This field is used for private NAT.
    sourceNatDrainIps List<String>
    A list of URLs of the IP resources to be drained. These IPs must be valid static external IPs that have been assigned to the NAT. These IPs should be used for updating/patching a NAT rule only. This field is used for public NAT.
    sourceNatDrainRanges List<String>
    A list of URLs of subnetworks representing source ranges to be drained. This is only supported on patch/update, and these subnetworks must have previously been used as active ranges in this NAT Rule. This field is used for private NAT.

    RouterNatRuleActionResponse, RouterNatRuleActionResponseArgs

    SourceNatActiveIps List<string>
    A list of URLs of the IP resources used for this NAT rule. These IP addresses must be valid static external IP addresses assigned to the project. This field is used for public NAT.
    SourceNatActiveRanges List<string>
    A list of URLs of the subnetworks used as source ranges for this NAT Rule. These subnetworks must have purpose set to PRIVATE_NAT. This field is used for private NAT.
    SourceNatDrainIps List<string>
    A list of URLs of the IP resources to be drained. These IPs must be valid static external IPs that have been assigned to the NAT. These IPs should be used for updating/patching a NAT rule only. This field is used for public NAT.
    SourceNatDrainRanges List<string>
    A list of URLs of subnetworks representing source ranges to be drained. This is only supported on patch/update, and these subnetworks must have previously been used as active ranges in this NAT Rule. This field is used for private NAT.
    SourceNatActiveIps []string
    A list of URLs of the IP resources used for this NAT rule. These IP addresses must be valid static external IP addresses assigned to the project. This field is used for public NAT.
    SourceNatActiveRanges []string
    A list of URLs of the subnetworks used as source ranges for this NAT Rule. These subnetworks must have purpose set to PRIVATE_NAT. This field is used for private NAT.
    SourceNatDrainIps []string
    A list of URLs of the IP resources to be drained. These IPs must be valid static external IPs that have been assigned to the NAT. These IPs should be used for updating/patching a NAT rule only. This field is used for public NAT.
    SourceNatDrainRanges []string
    A list of URLs of subnetworks representing source ranges to be drained. This is only supported on patch/update, and these subnetworks must have previously been used as active ranges in this NAT Rule. This field is used for private NAT.
    sourceNatActiveIps List<String>
    A list of URLs of the IP resources used for this NAT rule. These IP addresses must be valid static external IP addresses assigned to the project. This field is used for public NAT.
    sourceNatActiveRanges List<String>
    A list of URLs of the subnetworks used as source ranges for this NAT Rule. These subnetworks must have purpose set to PRIVATE_NAT. This field is used for private NAT.
    sourceNatDrainIps List<String>
    A list of URLs of the IP resources to be drained. These IPs must be valid static external IPs that have been assigned to the NAT. These IPs should be used for updating/patching a NAT rule only. This field is used for public NAT.
    sourceNatDrainRanges List<String>
    A list of URLs of subnetworks representing source ranges to be drained. This is only supported on patch/update, and these subnetworks must have previously been used as active ranges in this NAT Rule. This field is used for private NAT.
    sourceNatActiveIps string[]
    A list of URLs of the IP resources used for this NAT rule. These IP addresses must be valid static external IP addresses assigned to the project. This field is used for public NAT.
    sourceNatActiveRanges string[]
    A list of URLs of the subnetworks used as source ranges for this NAT Rule. These subnetworks must have purpose set to PRIVATE_NAT. This field is used for private NAT.
    sourceNatDrainIps string[]
    A list of URLs of the IP resources to be drained. These IPs must be valid static external IPs that have been assigned to the NAT. These IPs should be used for updating/patching a NAT rule only. This field is used for public NAT.
    sourceNatDrainRanges string[]
    A list of URLs of subnetworks representing source ranges to be drained. This is only supported on patch/update, and these subnetworks must have previously been used as active ranges in this NAT Rule. This field is used for private NAT.
    source_nat_active_ips Sequence[str]
    A list of URLs of the IP resources used for this NAT rule. These IP addresses must be valid static external IP addresses assigned to the project. This field is used for public NAT.
    source_nat_active_ranges Sequence[str]
    A list of URLs of the subnetworks used as source ranges for this NAT Rule. These subnetworks must have purpose set to PRIVATE_NAT. This field is used for private NAT.
    source_nat_drain_ips Sequence[str]
    A list of URLs of the IP resources to be drained. These IPs must be valid static external IPs that have been assigned to the NAT. These IPs should be used for updating/patching a NAT rule only. This field is used for public NAT.
    source_nat_drain_ranges Sequence[str]
    A list of URLs of subnetworks representing source ranges to be drained. This is only supported on patch/update, and these subnetworks must have previously been used as active ranges in this NAT Rule. This field is used for private NAT.
    sourceNatActiveIps List<String>
    A list of URLs of the IP resources used for this NAT rule. These IP addresses must be valid static external IP addresses assigned to the project. This field is used for public NAT.
    sourceNatActiveRanges List<String>
    A list of URLs of the subnetworks used as source ranges for this NAT Rule. These subnetworks must have purpose set to PRIVATE_NAT. This field is used for private NAT.
    sourceNatDrainIps List<String>
    A list of URLs of the IP resources to be drained. These IPs must be valid static external IPs that have been assigned to the NAT. These IPs should be used for updating/patching a NAT rule only. This field is used for public NAT.
    sourceNatDrainRanges List<String>
    A list of URLs of subnetworks representing source ranges to be drained. This is only supported on patch/update, and these subnetworks must have previously been used as active ranges in this NAT Rule. This field is used for private NAT.

    RouterNatRuleResponse, RouterNatRuleResponseArgs

    Action Pulumi.GoogleNative.Compute.Beta.Inputs.RouterNatRuleActionResponse
    The action to be enforced for traffic that matches this rule.
    Description string
    An optional description of this rule.
    Match string
    CEL expression that specifies the match condition that egress traffic from a VM is evaluated against. If it evaluates to true, the corresponding action is enforced. The following examples are valid match expressions for public NAT: "inIpRange(destination.ip, '1.1.0.0/16') || inIpRange(destination.ip, '2.2.0.0/16')" "destination.ip == '1.1.0.1' || destination.ip == '8.8.8.8'" The following example is a valid match expression for private NAT: "nexthop.hub == '//networkconnectivity.googleapis.com/projects/my-project/locations/global/hubs/hub-1'"
    RuleNumber int
    An integer uniquely identifying a rule in the list. The rule number must be a positive value between 0 and 65000, and must be unique among rules within a NAT.
    Action RouterNatRuleActionResponse
    The action to be enforced for traffic that matches this rule.
    Description string
    An optional description of this rule.
    Match string
    CEL expression that specifies the match condition that egress traffic from a VM is evaluated against. If it evaluates to true, the corresponding action is enforced. The following examples are valid match expressions for public NAT: "inIpRange(destination.ip, '1.1.0.0/16') || inIpRange(destination.ip, '2.2.0.0/16')" "destination.ip == '1.1.0.1' || destination.ip == '8.8.8.8'" The following example is a valid match expression for private NAT: "nexthop.hub == '//networkconnectivity.googleapis.com/projects/my-project/locations/global/hubs/hub-1'"
    RuleNumber int
    An integer uniquely identifying a rule in the list. The rule number must be a positive value between 0 and 65000, and must be unique among rules within a NAT.
    action RouterNatRuleActionResponse
    The action to be enforced for traffic that matches this rule.
    description String
    An optional description of this rule.
    match String
    CEL expression that specifies the match condition that egress traffic from a VM is evaluated against. If it evaluates to true, the corresponding action is enforced. The following examples are valid match expressions for public NAT: "inIpRange(destination.ip, '1.1.0.0/16') || inIpRange(destination.ip, '2.2.0.0/16')" "destination.ip == '1.1.0.1' || destination.ip == '8.8.8.8'" The following example is a valid match expression for private NAT: "nexthop.hub == '//networkconnectivity.googleapis.com/projects/my-project/locations/global/hubs/hub-1'"
    ruleNumber Integer
    An integer uniquely identifying a rule in the list. The rule number must be a positive value between 0 and 65000, and must be unique among rules within a NAT.
    action RouterNatRuleActionResponse
    The action to be enforced for traffic that matches this rule.
    description string
    An optional description of this rule.
    match string
    CEL expression that specifies the match condition that egress traffic from a VM is evaluated against. If it evaluates to true, the corresponding action is enforced. The following examples are valid match expressions for public NAT: "inIpRange(destination.ip, '1.1.0.0/16') || inIpRange(destination.ip, '2.2.0.0/16')" "destination.ip == '1.1.0.1' || destination.ip == '8.8.8.8'" The following example is a valid match expression for private NAT: "nexthop.hub == '//networkconnectivity.googleapis.com/projects/my-project/locations/global/hubs/hub-1'"
    ruleNumber number
    An integer uniquely identifying a rule in the list. The rule number must be a positive value between 0 and 65000, and must be unique among rules within a NAT.
    action RouterNatRuleActionResponse
    The action to be enforced for traffic that matches this rule.
    description str
    An optional description of this rule.
    match str
    CEL expression that specifies the match condition that egress traffic from a VM is evaluated against. If it evaluates to true, the corresponding action is enforced. The following examples are valid match expressions for public NAT: "inIpRange(destination.ip, '1.1.0.0/16') || inIpRange(destination.ip, '2.2.0.0/16')" "destination.ip == '1.1.0.1' || destination.ip == '8.8.8.8'" The following example is a valid match expression for private NAT: "nexthop.hub == '//networkconnectivity.googleapis.com/projects/my-project/locations/global/hubs/hub-1'"
    rule_number int
    An integer uniquely identifying a rule in the list. The rule number must be a positive value between 0 and 65000, and must be unique among rules within a NAT.
    action Property Map
    The action to be enforced for traffic that matches this rule.
    description String
    An optional description of this rule.
    match String
    CEL expression that specifies the match condition that egress traffic from a VM is evaluated against. If it evaluates to true, the corresponding action is enforced. The following examples are valid match expressions for public NAT: "inIpRange(destination.ip, '1.1.0.0/16') || inIpRange(destination.ip, '2.2.0.0/16')" "destination.ip == '1.1.0.1' || destination.ip == '8.8.8.8'" The following example is a valid match expression for private NAT: "nexthop.hub == '//networkconnectivity.googleapis.com/projects/my-project/locations/global/hubs/hub-1'"
    ruleNumber Number
    An integer uniquely identifying a rule in the list. The rule number must be a positive value between 0 and 65000, and must be unique among rules within a NAT.

    RouterNatSourceSubnetworkIpRangesToNat, RouterNatSourceSubnetworkIpRangesToNatArgs

    AllSubnetworksAllIpRanges
    ALL_SUBNETWORKS_ALL_IP_RANGESAll the IP ranges in every Subnetwork are allowed to Nat.
    AllSubnetworksAllPrimaryIpRanges
    ALL_SUBNETWORKS_ALL_PRIMARY_IP_RANGESAll the primary IP ranges in every Subnetwork are allowed to Nat.
    ListOfSubnetworks
    LIST_OF_SUBNETWORKSA list of Subnetworks are allowed to Nat (specified in the field subnetwork below)
    RouterNatSourceSubnetworkIpRangesToNatAllSubnetworksAllIpRanges
    ALL_SUBNETWORKS_ALL_IP_RANGESAll the IP ranges in every Subnetwork are allowed to Nat.
    RouterNatSourceSubnetworkIpRangesToNatAllSubnetworksAllPrimaryIpRanges
    ALL_SUBNETWORKS_ALL_PRIMARY_IP_RANGESAll the primary IP ranges in every Subnetwork are allowed to Nat.
    RouterNatSourceSubnetworkIpRangesToNatListOfSubnetworks
    LIST_OF_SUBNETWORKSA list of Subnetworks are allowed to Nat (specified in the field subnetwork below)
    AllSubnetworksAllIpRanges
    ALL_SUBNETWORKS_ALL_IP_RANGESAll the IP ranges in every Subnetwork are allowed to Nat.
    AllSubnetworksAllPrimaryIpRanges
    ALL_SUBNETWORKS_ALL_PRIMARY_IP_RANGESAll the primary IP ranges in every Subnetwork are allowed to Nat.
    ListOfSubnetworks
    LIST_OF_SUBNETWORKSA list of Subnetworks are allowed to Nat (specified in the field subnetwork below)
    AllSubnetworksAllIpRanges
    ALL_SUBNETWORKS_ALL_IP_RANGESAll the IP ranges in every Subnetwork are allowed to Nat.
    AllSubnetworksAllPrimaryIpRanges
    ALL_SUBNETWORKS_ALL_PRIMARY_IP_RANGESAll the primary IP ranges in every Subnetwork are allowed to Nat.
    ListOfSubnetworks
    LIST_OF_SUBNETWORKSA list of Subnetworks are allowed to Nat (specified in the field subnetwork below)
    ALL_SUBNETWORKS_ALL_IP_RANGES
    ALL_SUBNETWORKS_ALL_IP_RANGESAll the IP ranges in every Subnetwork are allowed to Nat.
    ALL_SUBNETWORKS_ALL_PRIMARY_IP_RANGES
    ALL_SUBNETWORKS_ALL_PRIMARY_IP_RANGESAll the primary IP ranges in every Subnetwork are allowed to Nat.
    LIST_OF_SUBNETWORKS
    LIST_OF_SUBNETWORKSA list of Subnetworks are allowed to Nat (specified in the field subnetwork below)
    "ALL_SUBNETWORKS_ALL_IP_RANGES"
    ALL_SUBNETWORKS_ALL_IP_RANGESAll the IP ranges in every Subnetwork are allowed to Nat.
    "ALL_SUBNETWORKS_ALL_PRIMARY_IP_RANGES"
    ALL_SUBNETWORKS_ALL_PRIMARY_IP_RANGESAll the primary IP ranges in every Subnetwork are allowed to Nat.
    "LIST_OF_SUBNETWORKS"
    LIST_OF_SUBNETWORKSA list of Subnetworks are allowed to Nat (specified in the field subnetwork below)

    RouterNatSubnetworkToNat, RouterNatSubnetworkToNatArgs

    Name string
    URL for the subnetwork resource that will use NAT.
    SecondaryIpRangeNames List<string>
    A list of the secondary ranges of the Subnetwork that are allowed to use NAT. This can be populated only if "LIST_OF_SECONDARY_IP_RANGES" is one of the values in source_ip_ranges_to_nat.
    SourceIpRangesToNat List<Pulumi.GoogleNative.Compute.Beta.RouterNatSubnetworkToNatSourceIpRangesToNatItem>
    Specify the options for NAT ranges in the Subnetwork. All options of a single value are valid except NAT_IP_RANGE_OPTION_UNSPECIFIED. The only valid option with multiple values is: ["PRIMARY_IP_RANGE", "LIST_OF_SECONDARY_IP_RANGES"] Default: [ALL_IP_RANGES]
    Name string
    URL for the subnetwork resource that will use NAT.
    SecondaryIpRangeNames []string
    A list of the secondary ranges of the Subnetwork that are allowed to use NAT. This can be populated only if "LIST_OF_SECONDARY_IP_RANGES" is one of the values in source_ip_ranges_to_nat.
    SourceIpRangesToNat []RouterNatSubnetworkToNatSourceIpRangesToNatItem
    Specify the options for NAT ranges in the Subnetwork. All options of a single value are valid except NAT_IP_RANGE_OPTION_UNSPECIFIED. The only valid option with multiple values is: ["PRIMARY_IP_RANGE", "LIST_OF_SECONDARY_IP_RANGES"] Default: [ALL_IP_RANGES]
    name String
    URL for the subnetwork resource that will use NAT.
    secondaryIpRangeNames List<String>
    A list of the secondary ranges of the Subnetwork that are allowed to use NAT. This can be populated only if "LIST_OF_SECONDARY_IP_RANGES" is one of the values in source_ip_ranges_to_nat.
    sourceIpRangesToNat List<RouterNatSubnetworkToNatSourceIpRangesToNatItem>
    Specify the options for NAT ranges in the Subnetwork. All options of a single value are valid except NAT_IP_RANGE_OPTION_UNSPECIFIED. The only valid option with multiple values is: ["PRIMARY_IP_RANGE", "LIST_OF_SECONDARY_IP_RANGES"] Default: [ALL_IP_RANGES]
    name string
    URL for the subnetwork resource that will use NAT.
    secondaryIpRangeNames string[]
    A list of the secondary ranges of the Subnetwork that are allowed to use NAT. This can be populated only if "LIST_OF_SECONDARY_IP_RANGES" is one of the values in source_ip_ranges_to_nat.
    sourceIpRangesToNat RouterNatSubnetworkToNatSourceIpRangesToNatItem[]
    Specify the options for NAT ranges in the Subnetwork. All options of a single value are valid except NAT_IP_RANGE_OPTION_UNSPECIFIED. The only valid option with multiple values is: ["PRIMARY_IP_RANGE", "LIST_OF_SECONDARY_IP_RANGES"] Default: [ALL_IP_RANGES]
    name str
    URL for the subnetwork resource that will use NAT.
    secondary_ip_range_names Sequence[str]
    A list of the secondary ranges of the Subnetwork that are allowed to use NAT. This can be populated only if "LIST_OF_SECONDARY_IP_RANGES" is one of the values in source_ip_ranges_to_nat.
    source_ip_ranges_to_nat Sequence[RouterNatSubnetworkToNatSourceIpRangesToNatItem]
    Specify the options for NAT ranges in the Subnetwork. All options of a single value are valid except NAT_IP_RANGE_OPTION_UNSPECIFIED. The only valid option with multiple values is: ["PRIMARY_IP_RANGE", "LIST_OF_SECONDARY_IP_RANGES"] Default: [ALL_IP_RANGES]
    name String
    URL for the subnetwork resource that will use NAT.
    secondaryIpRangeNames List<String>
    A list of the secondary ranges of the Subnetwork that are allowed to use NAT. This can be populated only if "LIST_OF_SECONDARY_IP_RANGES" is one of the values in source_ip_ranges_to_nat.
    sourceIpRangesToNat List<"ALL_IP_RANGES" | "LIST_OF_SECONDARY_IP_RANGES" | "PRIMARY_IP_RANGE">
    Specify the options for NAT ranges in the Subnetwork. All options of a single value are valid except NAT_IP_RANGE_OPTION_UNSPECIFIED. The only valid option with multiple values is: ["PRIMARY_IP_RANGE", "LIST_OF_SECONDARY_IP_RANGES"] Default: [ALL_IP_RANGES]

    RouterNatSubnetworkToNatResponse, RouterNatSubnetworkToNatResponseArgs

    Name string
    URL for the subnetwork resource that will use NAT.
    SecondaryIpRangeNames List<string>
    A list of the secondary ranges of the Subnetwork that are allowed to use NAT. This can be populated only if "LIST_OF_SECONDARY_IP_RANGES" is one of the values in source_ip_ranges_to_nat.
    SourceIpRangesToNat List<string>
    Specify the options for NAT ranges in the Subnetwork. All options of a single value are valid except NAT_IP_RANGE_OPTION_UNSPECIFIED. The only valid option with multiple values is: ["PRIMARY_IP_RANGE", "LIST_OF_SECONDARY_IP_RANGES"] Default: [ALL_IP_RANGES]
    Name string
    URL for the subnetwork resource that will use NAT.
    SecondaryIpRangeNames []string
    A list of the secondary ranges of the Subnetwork that are allowed to use NAT. This can be populated only if "LIST_OF_SECONDARY_IP_RANGES" is one of the values in source_ip_ranges_to_nat.
    SourceIpRangesToNat []string
    Specify the options for NAT ranges in the Subnetwork. All options of a single value are valid except NAT_IP_RANGE_OPTION_UNSPECIFIED. The only valid option with multiple values is: ["PRIMARY_IP_RANGE", "LIST_OF_SECONDARY_IP_RANGES"] Default: [ALL_IP_RANGES]
    name String
    URL for the subnetwork resource that will use NAT.
    secondaryIpRangeNames List<String>
    A list of the secondary ranges of the Subnetwork that are allowed to use NAT. This can be populated only if "LIST_OF_SECONDARY_IP_RANGES" is one of the values in source_ip_ranges_to_nat.
    sourceIpRangesToNat List<String>
    Specify the options for NAT ranges in the Subnetwork. All options of a single value are valid except NAT_IP_RANGE_OPTION_UNSPECIFIED. The only valid option with multiple values is: ["PRIMARY_IP_RANGE", "LIST_OF_SECONDARY_IP_RANGES"] Default: [ALL_IP_RANGES]
    name string
    URL for the subnetwork resource that will use NAT.
    secondaryIpRangeNames string[]
    A list of the secondary ranges of the Subnetwork that are allowed to use NAT. This can be populated only if "LIST_OF_SECONDARY_IP_RANGES" is one of the values in source_ip_ranges_to_nat.
    sourceIpRangesToNat string[]
    Specify the options for NAT ranges in the Subnetwork. All options of a single value are valid except NAT_IP_RANGE_OPTION_UNSPECIFIED. The only valid option with multiple values is: ["PRIMARY_IP_RANGE", "LIST_OF_SECONDARY_IP_RANGES"] Default: [ALL_IP_RANGES]
    name str
    URL for the subnetwork resource that will use NAT.
    secondary_ip_range_names Sequence[str]
    A list of the secondary ranges of the Subnetwork that are allowed to use NAT. This can be populated only if "LIST_OF_SECONDARY_IP_RANGES" is one of the values in source_ip_ranges_to_nat.
    source_ip_ranges_to_nat Sequence[str]
    Specify the options for NAT ranges in the Subnetwork. All options of a single value are valid except NAT_IP_RANGE_OPTION_UNSPECIFIED. The only valid option with multiple values is: ["PRIMARY_IP_RANGE", "LIST_OF_SECONDARY_IP_RANGES"] Default: [ALL_IP_RANGES]
    name String
    URL for the subnetwork resource that will use NAT.
    secondaryIpRangeNames List<String>
    A list of the secondary ranges of the Subnetwork that are allowed to use NAT. This can be populated only if "LIST_OF_SECONDARY_IP_RANGES" is one of the values in source_ip_ranges_to_nat.
    sourceIpRangesToNat List<String>
    Specify the options for NAT ranges in the Subnetwork. All options of a single value are valid except NAT_IP_RANGE_OPTION_UNSPECIFIED. The only valid option with multiple values is: ["PRIMARY_IP_RANGE", "LIST_OF_SECONDARY_IP_RANGES"] Default: [ALL_IP_RANGES]

    RouterNatSubnetworkToNatSourceIpRangesToNatItem, RouterNatSubnetworkToNatSourceIpRangesToNatItemArgs

    AllIpRanges
    ALL_IP_RANGESThe primary and all the secondary ranges are allowed to Nat.
    ListOfSecondaryIpRanges
    LIST_OF_SECONDARY_IP_RANGESA list of secondary ranges are allowed to Nat.
    PrimaryIpRange
    PRIMARY_IP_RANGEThe primary range is allowed to Nat.
    RouterNatSubnetworkToNatSourceIpRangesToNatItemAllIpRanges
    ALL_IP_RANGESThe primary and all the secondary ranges are allowed to Nat.
    RouterNatSubnetworkToNatSourceIpRangesToNatItemListOfSecondaryIpRanges
    LIST_OF_SECONDARY_IP_RANGESA list of secondary ranges are allowed to Nat.
    RouterNatSubnetworkToNatSourceIpRangesToNatItemPrimaryIpRange
    PRIMARY_IP_RANGEThe primary range is allowed to Nat.
    AllIpRanges
    ALL_IP_RANGESThe primary and all the secondary ranges are allowed to Nat.
    ListOfSecondaryIpRanges
    LIST_OF_SECONDARY_IP_RANGESA list of secondary ranges are allowed to Nat.
    PrimaryIpRange
    PRIMARY_IP_RANGEThe primary range is allowed to Nat.
    AllIpRanges
    ALL_IP_RANGESThe primary and all the secondary ranges are allowed to Nat.
    ListOfSecondaryIpRanges
    LIST_OF_SECONDARY_IP_RANGESA list of secondary ranges are allowed to Nat.
    PrimaryIpRange
    PRIMARY_IP_RANGEThe primary range is allowed to Nat.
    ALL_IP_RANGES
    ALL_IP_RANGESThe primary and all the secondary ranges are allowed to Nat.
    LIST_OF_SECONDARY_IP_RANGES
    LIST_OF_SECONDARY_IP_RANGESA list of secondary ranges are allowed to Nat.
    PRIMARY_IP_RANGE
    PRIMARY_IP_RANGEThe primary range is allowed to Nat.
    "ALL_IP_RANGES"
    ALL_IP_RANGESThe primary and all the secondary ranges are allowed to Nat.
    "LIST_OF_SECONDARY_IP_RANGES"
    LIST_OF_SECONDARY_IP_RANGESA list of secondary ranges are allowed to Nat.
    "PRIMARY_IP_RANGE"
    PRIMARY_IP_RANGEThe primary range is allowed to Nat.

    RouterNatType, RouterNatTypeArgs

    Private
    PRIVATENAT used for private IP translation.
    Public
    PUBLICNAT used for public IP translation. This is the default.
    RouterNatTypePrivate
    PRIVATENAT used for private IP translation.
    RouterNatTypePublic
    PUBLICNAT used for public IP translation. This is the default.
    Private
    PRIVATENAT used for private IP translation.
    Public
    PUBLICNAT used for public IP translation. This is the default.
    Private
    PRIVATENAT used for private IP translation.
    Public
    PUBLICNAT used for public IP translation. This is the default.
    PRIVATE
    PRIVATENAT used for private IP translation.
    PUBLIC
    PUBLICNAT used for public IP translation. This is the default.
    "PRIVATE"
    PRIVATENAT used for private IP translation.
    "PUBLIC"
    PUBLICNAT used for public IP translation. This is the default.

    Package Details

    Repository
    Google Cloud Native pulumi/pulumi-google-native
    License
    Apache-2.0
    google-native logo

    Google Cloud Native is in preview. Google Cloud Classic is fully supported.

    Google Cloud Native v0.32.0 published on Wednesday, Nov 29, 2023 by Pulumi