Router Args
Represents a Router resource. To get more information about Router, see:
How-to Guides
Example Usage
Router Basic
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const foobarNetwork = new gcp.compute.Network("foobar", {
name: "my-network",
autoCreateSubnetworks: false,
});
const foobar = new gcp.compute.Router("foobar", {
name: "my-router",
network: foobarNetwork.name,
bgp: {
asn: 64514,
advertiseMode: "CUSTOM",
advertisedGroups: ["ALL_SUBNETS"],
advertisedIpRanges: [
{
range: "1.2.3.4",
},
{
range: "6.7.0.0/16",
},
],
},
});
import pulumi
import pulumi_gcp as gcp
foobar_network = gcp.compute.Network("foobar",
name="my-network",
auto_create_subnetworks=False)
foobar = gcp.compute.Router("foobar",
name="my-router",
network=foobar_network.name,
bgp={
"asn": 64514,
"advertise_mode": "CUSTOM",
"advertised_groups": ["ALL_SUBNETS"],
"advertised_ip_ranges": [
{
"range": "1.2.3.4",
},
{
"range": "6.7.0.0/16",
},
],
})
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;
return await Deployment.RunAsync(() =>
{
var foobarNetwork = new Gcp.Compute.Network("foobar", new()
{
Name = "my-network",
AutoCreateSubnetworks = false,
});
var foobar = new Gcp.Compute.Router("foobar", new()
{
Name = "my-router",
Network = foobarNetwork.Name,
Bgp = new Gcp.Compute.Inputs.RouterBgpArgs
{
Asn = 64514,
AdvertiseMode = "CUSTOM",
AdvertisedGroups = new[]
{
"ALL_SUBNETS",
},
AdvertisedIpRanges = new[]
{
new Gcp.Compute.Inputs.RouterBgpAdvertisedIpRangeArgs
{
Range = "1.2.3.4",
},
new Gcp.Compute.Inputs.RouterBgpAdvertisedIpRangeArgs
{
Range = "6.7.0.0/16",
},
},
},
});
});
package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/compute"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
foobarNetwork, err := compute.NewNetwork(ctx, "foobar", &compute.NetworkArgs{
Name: pulumi.String("my-network"),
AutoCreateSubnetworks: pulumi.Bool(false),
})
if err != nil {
return err
}
_, err = compute.NewRouter(ctx, "foobar", &compute.RouterArgs{
Name: pulumi.String("my-router"),
Network: foobarNetwork.Name,
Bgp: &compute.RouterBgpArgs{
Asn: pulumi.Int(64514),
AdvertiseMode: pulumi.String("CUSTOM"),
AdvertisedGroups: pulumi.StringArray{
pulumi.String("ALL_SUBNETS"),
},
AdvertisedIpRanges: compute.RouterBgpAdvertisedIpRangeArray{
&compute.RouterBgpAdvertisedIpRangeArgs{
Range: pulumi.String("1.2.3.4"),
},
&compute.RouterBgpAdvertisedIpRangeArgs{
Range: pulumi.String("6.7.0.0/16"),
},
},
},
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.compute.Network;
import com.pulumi.gcp.compute.NetworkArgs;
import com.pulumi.gcp.compute.Router;
import com.pulumi.gcp.compute.RouterArgs;
import com.pulumi.gcp.compute.inputs.RouterBgpArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var foobarNetwork = new Network("foobarNetwork", NetworkArgs.builder()
.name("my-network")
.autoCreateSubnetworks(false)
.build());
var foobar = new Router("foobar", RouterArgs.builder()
.name("my-router")
.network(foobarNetwork.name())
.bgp(RouterBgpArgs.builder()
.asn(64514)
.advertiseMode("CUSTOM")
.advertisedGroups("ALL_SUBNETS")
.advertisedIpRanges(
RouterBgpAdvertisedIpRangeArgs.builder()
.range("1.2.3.4")
.build(),
RouterBgpAdvertisedIpRangeArgs.builder()
.range("6.7.0.0/16")
.build())
.build())
.build());
}
}
resources:
foobar:
type: gcp:compute:Router
properties:
name: my-router
network: ${foobarNetwork.name}
bgp:
asn: 64514
advertiseMode: CUSTOM
advertisedGroups:
- ALL_SUBNETS
advertisedIpRanges:
- range: 1.2.3.4
- range: 6.7.0.0/16
foobarNetwork:
type: gcp:compute:Network
name: foobar
properties:
name: my-network
autoCreateSubnetworks: false
Compute Router Encrypted Interconnect
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const network = new gcp.compute.Network("network", {
name: "test-network",
autoCreateSubnetworks: false,
});
const encrypted_interconnect_router = new gcp.compute.Router("encrypted-interconnect-router", {
name: "test-router",
network: network.name,
encryptedInterconnectRouter: true,
bgp: {
asn: 64514,
},
});
import pulumi
import pulumi_gcp as gcp
network = gcp.compute.Network("network",
name="test-network",
auto_create_subnetworks=False)
encrypted_interconnect_router = gcp.compute.Router("encrypted-interconnect-router",
name="test-router",
network=network.name,
encrypted_interconnect_router=True,
bgp={
"asn": 64514,
})
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;
return await Deployment.RunAsync(() =>
{
var network = new Gcp.Compute.Network("network", new()
{
Name = "test-network",
AutoCreateSubnetworks = false,
});
var encrypted_interconnect_router = new Gcp.Compute.Router("encrypted-interconnect-router", new()
{
Name = "test-router",
Network = network.Name,
EncryptedInterconnectRouter = true,
Bgp = new Gcp.Compute.Inputs.RouterBgpArgs
{
Asn = 64514,
},
});
});
package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/compute"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
network, err := compute.NewNetwork(ctx, "network", &compute.NetworkArgs{
Name: pulumi.String("test-network"),
AutoCreateSubnetworks: pulumi.Bool(false),
})
if err != nil {
return err
}
_, err = compute.NewRouter(ctx, "encrypted-interconnect-router", &compute.RouterArgs{
Name: pulumi.String("test-router"),
Network: network.Name,
EncryptedInterconnectRouter: pulumi.Bool(true),
Bgp: &compute.RouterBgpArgs{
Asn: pulumi.Int(64514),
},
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.compute.Network;
import com.pulumi.gcp.compute.NetworkArgs;
import com.pulumi.gcp.compute.Router;
import com.pulumi.gcp.compute.RouterArgs;
import com.pulumi.gcp.compute.inputs.RouterBgpArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var network = new Network("network", NetworkArgs.builder()
.name("test-network")
.autoCreateSubnetworks(false)
.build());
var encrypted_interconnect_router = new Router("encrypted-interconnect-router", RouterArgs.builder()
.name("test-router")
.network(network.name())
.encryptedInterconnectRouter(true)
.bgp(RouterBgpArgs.builder()
.asn(64514)
.build())
.build());
}
}
resources:
encrypted-interconnect-router:
type: gcp:compute:Router
properties:
name: test-router
network: ${network.name}
encryptedInterconnectRouter: true
bgp:
asn: 64514
network:
type: gcp:compute:Network
properties:
name: test-network
autoCreateSubnetworks: false
Import
Router can be imported using any of these accepted formats:
projects/{{project}}/regions/{{region}}/routers/{{name}}
{{project}}/{{region}}/{{name}}
{{region}}/{{name}}
{{name}}
When using thepulumi import
command, Router can be imported using one of the formats above. For example:
$ pulumi import gcp:compute/router:Router default projects/{{project}}/regions/{{region}}/routers/{{name}}
$ pulumi import gcp:compute/router:Router default {{project}}/{{region}}/{{name}}
$ pulumi import gcp:compute/router:Router default {{region}}/{{name}}
$ pulumi import gcp:compute/router:Router default {{name}}
Properties
BGP information specific to this router. Structure is documented below.
An optional description of this resource.
Indicates if a router is dedicated for use with encrypted VLAN attachments (interconnectAttachments).
Name of the resource. 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?
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.