RouterNamedSet class
A Named Set is a collection of IP addresses or ranges (for PREFIX type) or BGP communities (for COMMUNITY type) that can be used in route policies.
To get more information about RouterNamedSet, see:
- API documentation
- How-to Guides
- Google Cloud Router
Example Usage
Router Named Set Route Policy
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const myNetwork = new gcp.compute.Network("my_network", {
name: "my-network",
autoCreateSubnetworks: false,
});
const myRouter = new gcp.compute.Router("my_router", {
name: "my-router",
network: myNetwork.name,
region: "us-central1",
bgp: {
asn: 64514,
},
});
const myPrefixSet = new gcp.compute.RouterNamedSet("my_prefix_set", {
name: "prefix-set-name",
router: myRouter.name,
region: myRouter.region,
description: "My example prefix named set",
type: "NAMED_SET_TYPE_PREFIX",
elements: [
{
expression: "'10.0.0.0/8'",
title: "private-range",
},
{
expression: "'172.16.0.0/12'",
},
{
expression: "prefix('192.168.10.0/24').orLonger()",
title: "or-longer-example",
},
],
});
const myRoutePolicy = new gcp.compute.RouterRoutePolicy("my_route_policy", {
name: "policy-name",
router: myRouter.name,
region: myRouter.region,
type: "ROUTE_POLICY_TYPE_EXPORT",
terms: [{
priority: 1,
match: {
expression: pulumi.interpolate`destination.inAnyRange(prefixSets('${myPrefixSet.name}'))`,
},
actions: [{
expression: "accept()",
}],
}],
});
import pulumi
import pulumi_gcp as gcp
my_network = gcp.compute.Network("my_network",
name="my-network",
auto_create_subnetworks=False)
my_router = gcp.compute.Router("my_router",
name="my-router",
network=my_network.name,
region="us-central1",
bgp={
"asn": 64514,
})
my_prefix_set = gcp.compute.RouterNamedSet("my_prefix_set",
name="prefix-set-name",
router=my_router.name,
region=my_router.region,
description="My example prefix named set",
type="NAMED_SET_TYPE_PREFIX",
elements=[
{
"expression": "'10.0.0.0/8'",
"title": "private-range",
},
{
"expression": "'172.16.0.0/12'",
},
{
"expression": "prefix('192.168.10.0/24').orLonger()",
"title": "or-longer-example",
},
])
my_route_policy = gcp.compute.RouterRoutePolicy("my_route_policy",
name="policy-name",
router=my_router.name,
region=my_router.region,
type="ROUTE_POLICY_TYPE_EXPORT",
terms=[{
"priority": 1,
"match": {
"expression": my_prefix_set.name.apply(lambda name: f"destination.inAnyRange(prefixSets('{name}'))"),
},
"actions": [{
"expression": "accept()",
}],
}])
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;
return await Deployment.RunAsync(() =>
{
var myNetwork = new Gcp.Compute.Network("my_network", new()
{
Name = "my-network",
AutoCreateSubnetworks = false,
});
var myRouter = new Gcp.Compute.Router("my_router", new()
{
Name = "my-router",
Network = myNetwork.Name,
Region = "us-central1",
Bgp = new Gcp.Compute.Inputs.RouterBgpArgs
{
Asn = 64514,
},
});
var myPrefixSet = new Gcp.Compute.RouterNamedSet("my_prefix_set", new()
{
Name = "prefix-set-name",
Router = myRouter.Name,
Region = myRouter.Region,
Description = "My example prefix named set",
Type = "NAMED_SET_TYPE_PREFIX",
Elements = new[]
{
new Gcp.Compute.Inputs.RouterNamedSetElementArgs
{
Expression = "'10.0.0.0/8'",
Title = "private-range",
},
new Gcp.Compute.Inputs.RouterNamedSetElementArgs
{
Expression = "'172.16.0.0/12'",
},
new Gcp.Compute.Inputs.RouterNamedSetElementArgs
{
Expression = "prefix('192.168.10.0/24').orLonger()",
Title = "or-longer-example",
},
},
});
var myRoutePolicy = new Gcp.Compute.RouterRoutePolicy("my_route_policy", new()
{
Name = "policy-name",
Router = myRouter.Name,
Region = myRouter.Region,
Type = "ROUTE_POLICY_TYPE_EXPORT",
Terms = new[]
{
new Gcp.Compute.Inputs.RouterRoutePolicyTermArgs
{
Priority = 1,
Match = new Gcp.Compute.Inputs.RouterRoutePolicyTermMatchArgs
{
Expression = myPrefixSet.Name.Apply(name => $"destination.inAnyRange(prefixSets('{name}'))"),
},
Actions = new[]
{
new Gcp.Compute.Inputs.RouterRoutePolicyTermActionArgs
{
Expression = "accept()",
},
},
},
},
});
});
package main
import (
"fmt"
"github.com/pulumi/pulumi-gcp/sdk/v9/go/gcp/compute"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
myNetwork, err := compute.NewNetwork(ctx, "my_network", &compute.NetworkArgs{
Name: pulumi.String("my-network"),
AutoCreateSubnetworks: pulumi.Bool(false),
})
if err != nil {
return err
}
myRouter, err := compute.NewRouter(ctx, "my_router", &compute.RouterArgs{
Name: pulumi.String("my-router"),
Network: myNetwork.Name,
Region: pulumi.String("us-central1"),
Bgp: &compute.RouterBgpArgs{
Asn: pulumi.Int(64514),
},
})
if err != nil {
return err
}
myPrefixSet, err := compute.NewRouterNamedSet(ctx, "my_prefix_set", &compute.RouterNamedSetArgs{
Name: pulumi.String("prefix-set-name"),
Router: myRouter.Name,
Region: myRouter.Region,
Description: pulumi.String("My example prefix named set"),
Type: pulumi.String("NAMED_SET_TYPE_PREFIX"),
Elements: compute.RouterNamedSetElementArray{
&compute.RouterNamedSetElementArgs{
Expression: pulumi.String("'10.0.0.0/8'"),
Title: pulumi.String("private-range"),
},
&compute.RouterNamedSetElementArgs{
Expression: pulumi.String("'172.16.0.0/12'"),
},
&compute.RouterNamedSetElementArgs{
Expression: pulumi.String("prefix('192.168.10.0/24').orLonger()"),
Title: pulumi.String("or-longer-example"),
},
},
})
if err != nil {
return err
}
_, err = compute.NewRouterRoutePolicy(ctx, "my_route_policy", &compute.RouterRoutePolicyArgs{
Name: pulumi.String("policy-name"),
Router: myRouter.Name,
Region: myRouter.Region,
Type: pulumi.String("ROUTE_POLICY_TYPE_EXPORT"),
Terms: compute.RouterRoutePolicyTermArray{
&compute.RouterRoutePolicyTermArgs{
Priority: pulumi.Int(1),
Match: &compute.RouterRoutePolicyTermMatchArgs{
Expression: myPrefixSet.Name.ApplyT(func(name string) (string, error) {
return fmt.Sprintf("destination.inAnyRange(prefixSets('%v'))", name), nil
}).(pulumi.StringOutput),
},
Actions: compute.RouterRoutePolicyTermActionArray{
&compute.RouterRoutePolicyTermActionArgs{
Expression: pulumi.String("accept()"),
},
},
},
},
})
if err != nil {
return err
}
return nil
})
}
pulumi {
required_providers {
gcp = {
source = "pulumi/gcp"
}
}
}
resource "gcp_compute_network" "my_network" {
name = "my-network"
auto_create_subnetworks = false
}
resource "gcp_compute_router" "my_router" {
name = "my-router"
network = gcp_compute_network.my_network.name
region = "us-central1"
bgp = {
asn = 64514
}
}
resource "gcp_compute_routernamedset" "my_prefix_set" {
name = "prefix-set-name"
router = gcp_compute_router.my_router.name
region = gcp_compute_router.my_router.region
description = "My example prefix named set"
type = "NAMED_SET_TYPE_PREFIX"
elements {
expression = "'10.0.0.0/8'"
title = "private-range"
}
elements {
expression = "'172.16.0.0/12'"
}
elements {
expression = "prefix('192.168.10.0/24').orLonger()"
title = "or-longer-example"
}
}
resource "gcp_compute_routerroutepolicy" "my_route_policy" {
name = "policy-name"
router = gcp_compute_router.my_router.name
region = gcp_compute_router.my_router.region
type = "ROUTE_POLICY_TYPE_EXPORT"
terms {
priority = 1
match = {
expression ="destination.inAnyRange(prefixSets('${gcp_compute_routernamedset.my_prefix_set.name}'))"
}
actions {
expression = "accept()"
}
}
}
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 com.pulumi.gcp.compute.RouterNamedSet;
import com.pulumi.gcp.compute.RouterNamedSetArgs;
import com.pulumi.gcp.compute.inputs.RouterNamedSetElementArgs;
import com.pulumi.gcp.compute.RouterRoutePolicy;
import com.pulumi.gcp.compute.RouterRoutePolicyArgs;
import com.pulumi.gcp.compute.inputs.RouterRoutePolicyTermArgs;
import com.pulumi.gcp.compute.inputs.RouterRoutePolicyTermMatchArgs;
import com.pulumi.gcp.compute.inputs.RouterRoutePolicyTermActionArgs;
import java.util.ArrayList;
import java.util.Arrays;
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 myNetwork = new Network("myNetwork", NetworkArgs.builder()
.name("my-network")
.autoCreateSubnetworks(false)
.build());
var myRouter = new Router("myRouter", RouterArgs.builder()
.name("my-router")
.network(myNetwork.name())
.region("us-central1")
.bgp(RouterBgpArgs.builder()
.asn(64514)
.build())
.build());
var myPrefixSet = new RouterNamedSet("myPrefixSet", RouterNamedSetArgs.builder()
.name("prefix-set-name")
.router(myRouter.name())
.region(myRouter.region())
.description("My example prefix named set")
.type("NAMED_SET_TYPE_PREFIX")
.elements(
RouterNamedSetElementArgs.builder()
.expression("'10.0.0.0/8'")
.title("private-range")
.build(),
RouterNamedSetElementArgs.builder()
.expression("'172.16.0.0/12'")
.build(),
RouterNamedSetElementArgs.builder()
.expression("prefix('192.168.10.0/24').orLonger()")
.title("or-longer-example")
.build())
.build());
var myRoutePolicy = new RouterRoutePolicy("myRoutePolicy", RouterRoutePolicyArgs.builder()
.name("policy-name")
.router(myRouter.name())
.region(myRouter.region())
.type("ROUTE_POLICY_TYPE_EXPORT")
.terms(RouterRoutePolicyTermArgs.builder()
.priority(1)
.match(RouterRoutePolicyTermMatchArgs.builder()
.expression(myPrefixSet.name().applyValue(_name -> String.format("destination.inAnyRange(prefixSets('%s'))", _name)))
.build())
.actions(RouterRoutePolicyTermActionArgs.builder()
.expression("accept()")
.build())
.build())
.build());
}
}
resources:
myNetwork:
type: gcp:compute:Network
name: my_network
properties:
name: my-network
autoCreateSubnetworks: false
myRouter:
type: gcp:compute:Router
name: my_router
properties:
name: my-router
network: ${myNetwork.name}
region: us-central1
bgp:
asn: 64514
myPrefixSet:
type: gcp:compute:RouterNamedSet
name: my_prefix_set
properties:
name: prefix-set-name
router: ${myRouter.name}
region: ${myRouter.region}
description: My example prefix named set
type: NAMED_SET_TYPE_PREFIX
elements:
- expression: '''10.0.0.0/8'''
title: private-range
- expression: '''172.16.0.0/12'''
- expression: prefix('192.168.10.0/24').orLonger()
title: or-longer-example
myRoutePolicy:
type: gcp:compute:RouterRoutePolicy
name: my_route_policy
properties:
name: policy-name
router: ${myRouter.name}
region: ${myRouter.region}
type: ROUTE_POLICY_TYPE_EXPORT
terms:
- priority: 1
match:
expression: destination.inAnyRange(prefixSets('${myPrefixSet.name}'))
actions:
- expression: accept()
Router Named Set Prefix
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const net = new gcp.compute.Network("net", {
name: "my-network",
autoCreateSubnetworks: false,
});
const router = new gcp.compute.Router("router", {
name: "my-router",
network: net.name,
region: "us-central1",
});
const prefixSet = new gcp.compute.RouterNamedSet("prefix_set", {
name: "my-prefix-set",
router: router.name,
region: "us-central1",
description: "A sample prefix named set",
type: "NAMED_SET_TYPE_PREFIX",
elements: [
{
expression: "'10.0.0.0/8'",
title: "ten-slash-eight",
description: "A sample IPv4 prefix",
},
{
expression: "'172.16.0.0/12'",
title: "seventeen-two-slash-sixteen",
},
],
});
import pulumi
import pulumi_gcp as gcp
net = gcp.compute.Network("net",
name="my-network",
auto_create_subnetworks=False)
router = gcp.compute.Router("router",
name="my-router",
network=net.name,
region="us-central1")
prefix_set = gcp.compute.RouterNamedSet("prefix_set",
name="my-prefix-set",
router=router.name,
region="us-central1",
description="A sample prefix named set",
type="NAMED_SET_TYPE_PREFIX",
elements=[
{
"expression": "'10.0.0.0/8'",
"title": "ten-slash-eight",
"description": "A sample IPv4 prefix",
},
{
"expression": "'172.16.0.0/12'",
"title": "seventeen-two-slash-sixteen",
},
])
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;
return await Deployment.RunAsync(() =>
{
var net = new Gcp.Compute.Network("net", new()
{
Name = "my-network",
AutoCreateSubnetworks = false,
});
var router = new Gcp.Compute.Router("router", new()
{
Name = "my-router",
Network = net.Name,
Region = "us-central1",
});
var prefixSet = new Gcp.Compute.RouterNamedSet("prefix_set", new()
{
Name = "my-prefix-set",
Router = router.Name,
Region = "us-central1",
Description = "A sample prefix named set",
Type = "NAMED_SET_TYPE_PREFIX",
Elements = new[]
{
new Gcp.Compute.Inputs.RouterNamedSetElementArgs
{
Expression = "'10.0.0.0/8'",
Title = "ten-slash-eight",
Description = "A sample IPv4 prefix",
},
new Gcp.Compute.Inputs.RouterNamedSetElementArgs
{
Expression = "'172.16.0.0/12'",
Title = "seventeen-two-slash-sixteen",
},
},
});
});
package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v9/go/gcp/compute"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
net, err := compute.NewNetwork(ctx, "net", &compute.NetworkArgs{
Name: pulumi.String("my-network"),
AutoCreateSubnetworks: pulumi.Bool(false),
})
if err != nil {
return err
}
router, err := compute.NewRouter(ctx, "router", &compute.RouterArgs{
Name: pulumi.String("my-router"),
Network: net.Name,
Region: pulumi.String("us-central1"),
})
if err != nil {
return err
}
_, err = compute.NewRouterNamedSet(ctx, "prefix_set", &compute.RouterNamedSetArgs{
Name: pulumi.String("my-prefix-set"),
Router: router.Name,
Region: pulumi.String("us-central1"),
Description: pulumi.String("A sample prefix named set"),
Type: pulumi.String("NAMED_SET_TYPE_PREFIX"),
Elements: compute.RouterNamedSetElementArray{
&compute.RouterNamedSetElementArgs{
Expression: pulumi.String("'10.0.0.0/8'"),
Title: pulumi.String("ten-slash-eight"),
Description: pulumi.String("A sample IPv4 prefix"),
},
&compute.RouterNamedSetElementArgs{
Expression: pulumi.String("'172.16.0.0/12'"),
Title: pulumi.String("seventeen-two-slash-sixteen"),
},
},
})
if err != nil {
return err
}
return nil
})
}
pulumi {
required_providers {
gcp = {
source = "pulumi/gcp"
}
}
}
resource "gcp_compute_network" "net" {
name = "my-network"
auto_create_subnetworks = false
}
resource "gcp_compute_router" "router" {
name = "my-router"
network = gcp_compute_network.net.name
region = "us-central1"
}
resource "gcp_compute_routernamedset" "prefix_set" {
name = "my-prefix-set"
router = gcp_compute_router.router.name
region = "us-central1"
description = "A sample prefix named set"
type = "NAMED_SET_TYPE_PREFIX"
elements {
expression = "'10.0.0.0/8'"
title = "ten-slash-eight"
description = "A sample IPv4 prefix"
}
elements {
expression = "'172.16.0.0/12'"
title = "seventeen-two-slash-sixteen"
}
}
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.RouterNamedSet;
import com.pulumi.gcp.compute.RouterNamedSetArgs;
import com.pulumi.gcp.compute.inputs.RouterNamedSetElementArgs;
import java.util.ArrayList;
import java.util.Arrays;
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 net = new Network("net", NetworkArgs.builder()
.name("my-network")
.autoCreateSubnetworks(false)
.build());
var router = new Router("router", RouterArgs.builder()
.name("my-router")
.network(net.name())
.region("us-central1")
.build());
var prefixSet = new RouterNamedSet("prefixSet", RouterNamedSetArgs.builder()
.name("my-prefix-set")
.router(router.name())
.region("us-central1")
.description("A sample prefix named set")
.type("NAMED_SET_TYPE_PREFIX")
.elements(
RouterNamedSetElementArgs.builder()
.expression("'10.0.0.0/8'")
.title("ten-slash-eight")
.description("A sample IPv4 prefix")
.build(),
RouterNamedSetElementArgs.builder()
.expression("'172.16.0.0/12'")
.title("seventeen-two-slash-sixteen")
.build())
.build());
}
}
resources:
net:
type: gcp:compute:Network
properties:
name: my-network
autoCreateSubnetworks: false
router:
type: gcp:compute:Router
properties:
name: my-router
network: ${net.name}
region: us-central1
prefixSet:
type: gcp:compute:RouterNamedSet
name: prefix_set
properties:
name: my-prefix-set
router: ${router.name}
region: us-central1
description: A sample prefix named set
type: NAMED_SET_TYPE_PREFIX
elements:
- expression: '''10.0.0.0/8'''
title: ten-slash-eight
description: A sample IPv4 prefix
- expression: '''172.16.0.0/12'''
title: seventeen-two-slash-sixteen
Router Named Set Community
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const net = new gcp.compute.Network("net", {
name: "my-network",
autoCreateSubnetworks: false,
});
const router = new gcp.compute.Router("router", {
name: "my-router",
network: net.name,
region: "us-central1",
});
const communitySet = new gcp.compute.RouterNamedSet("community_set", {
name: "my-community-set",
router: router.name,
region: "us-central1",
description: "A sample community named set",
type: "NAMED_SET_TYPE_COMMUNITY",
elements: [{
expression: "'65512:100'",
title: "community-one",
description: "A sample BGP community",
}],
});
import pulumi
import pulumi_gcp as gcp
net = gcp.compute.Network("net",
name="my-network",
auto_create_subnetworks=False)
router = gcp.compute.Router("router",
name="my-router",
network=net.name,
region="us-central1")
community_set = gcp.compute.RouterNamedSet("community_set",
name="my-community-set",
router=router.name,
region="us-central1",
description="A sample community named set",
type="NAMED_SET_TYPE_COMMUNITY",
elements=[{
"expression": "'65512:100'",
"title": "community-one",
"description": "A sample BGP community",
}])
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;
return await Deployment.RunAsync(() =>
{
var net = new Gcp.Compute.Network("net", new()
{
Name = "my-network",
AutoCreateSubnetworks = false,
});
var router = new Gcp.Compute.Router("router", new()
{
Name = "my-router",
Network = net.Name,
Region = "us-central1",
});
var communitySet = new Gcp.Compute.RouterNamedSet("community_set", new()
{
Name = "my-community-set",
Router = router.Name,
Region = "us-central1",
Description = "A sample community named set",
Type = "NAMED_SET_TYPE_COMMUNITY",
Elements = new[]
{
new Gcp.Compute.Inputs.RouterNamedSetElementArgs
{
Expression = "'65512:100'",
Title = "community-one",
Description = "A sample BGP community",
},
},
});
});
package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v9/go/gcp/compute"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
net, err := compute.NewNetwork(ctx, "net", &compute.NetworkArgs{
Name: pulumi.String("my-network"),
AutoCreateSubnetworks: pulumi.Bool(false),
})
if err != nil {
return err
}
router, err := compute.NewRouter(ctx, "router", &compute.RouterArgs{
Name: pulumi.String("my-router"),
Network: net.Name,
Region: pulumi.String("us-central1"),
})
if err != nil {
return err
}
_, err = compute.NewRouterNamedSet(ctx, "community_set", &compute.RouterNamedSetArgs{
Name: pulumi.String("my-community-set"),
Router: router.Name,
Region: pulumi.String("us-central1"),
Description: pulumi.String("A sample community named set"),
Type: pulumi.String("NAMED_SET_TYPE_COMMUNITY"),
Elements: compute.RouterNamedSetElementArray{
&compute.RouterNamedSetElementArgs{
Expression: pulumi.String("'65512:100'"),
Title: pulumi.String("community-one"),
Description: pulumi.String("A sample BGP community"),
},
},
})
if err != nil {
return err
}
return nil
})
}
pulumi {
required_providers {
gcp = {
source = "pulumi/gcp"
}
}
}
resource "gcp_compute_network" "net" {
name = "my-network"
auto_create_subnetworks = false
}
resource "gcp_compute_router" "router" {
name = "my-router"
network = gcp_compute_network.net.name
region = "us-central1"
}
resource "gcp_compute_routernamedset" "community_set" {
name = "my-community-set"
router = gcp_compute_router.router.name
region = "us-central1"
description = "A sample community named set"
type = "NAMED_SET_TYPE_COMMUNITY"
elements {
expression = "'65512:100'"
title = "community-one"
description = "A sample BGP community"
}
}
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.RouterNamedSet;
import com.pulumi.gcp.compute.RouterNamedSetArgs;
import com.pulumi.gcp.compute.inputs.RouterNamedSetElementArgs;
import java.util.ArrayList;
import java.util.Arrays;
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 net = new Network("net", NetworkArgs.builder()
.name("my-network")
.autoCreateSubnetworks(false)
.build());
var router = new Router("router", RouterArgs.builder()
.name("my-router")
.network(net.name())
.region("us-central1")
.build());
var communitySet = new RouterNamedSet("communitySet", RouterNamedSetArgs.builder()
.name("my-community-set")
.router(router.name())
.region("us-central1")
.description("A sample community named set")
.type("NAMED_SET_TYPE_COMMUNITY")
.elements(RouterNamedSetElementArgs.builder()
.expression("'65512:100'")
.title("community-one")
.description("A sample BGP community")
.build())
.build());
}
}
resources:
net:
type: gcp:compute:Network
properties:
name: my-network
autoCreateSubnetworks: false
router:
type: gcp:compute:Router
properties:
name: my-router
network: ${net.name}
region: us-central1
communitySet:
type: gcp:compute:RouterNamedSet
name: community_set
properties:
name: my-community-set
router: ${router.name}
region: us-central1
description: A sample community named set
type: NAMED_SET_TYPE_COMMUNITY
elements:
- expression: '''65512:100'''
title: community-one
description: A sample BGP community
Import
RouterNamedSet can be imported using any of these accepted formats:
{{project}}/{{region}}/{{router}}/namedSets/{{name}}{{project}}/{{region}}/{{router}}/{{name}}{{region}}/{{router}}/{{name}}{{router}}/{{name}}
When using the pulumi import command, RouterNamedSet can be imported using one of the formats above. For example:
$ pulumi import gcp:compute/routerNamedSet:RouterNamedSet default {{project}}/{{region}}/{{router}}/namedSets/{{name}}
$ pulumi import gcp:compute/routerNamedSet:RouterNamedSet default {{project}}/{{region}}/{{router}}/{{name}}
$ pulumi import gcp:compute/routerNamedSet:RouterNamedSet default {{region}}/{{router}}/{{name}}
$ pulumi import gcp:compute/routerNamedSet:RouterNamedSet default {{router}}/{{name}}
Constructors
- RouterNamedSet(String name, {RouterNamedSetArgs? args, CustomResourceOptions? options})
-
Creates a new RouterNamedSet.
nameThe Pulumi resource name.argsArguments used to configure this RouterNamedSet. The set of arguments for RouterNamedSet.optionsResource options controlling this resource's behavior. - RouterNamedSet.reference(String urn)
- Creates a typed reference to an existing RouterNamedSet resource.
Properties
-
childResources
→ Set<
Resource> -
finalinherited
-
completionSources
↔ Map<
String, IOutputCompletionSource> -
latefinalinherited
-
deletionPolicy
↔ Output<
String> -
Whether Terraform will be prevented from destroying the resource. Defaults to DELETE.
When a 'terraform destroy' or 'pulumi up' would delete the resource,
the command will fail if this field is set to "PREVENT" in Terraform state.
When set to "ABANDON", the command will remove the resource from Terraform
management without updating or deleting the resource in the API.
When set to "DELETE", deleting the resource is allowed.
latefinal
-
description
↔ Output<
String?> -
An optional description of the Named Set.
latefinal
-
elements
↔ Output<
List< RouterNamedSetElement> ?> -
CEL expressions that are comparable to constructs of this set's type.
Structure is documented below.
latefinal
-
fingerprint
↔ Output<
String> -
The fingerprint used for optimistic locking of this resource. Used
internally during updates.
latefinal
- hashCode → int
-
The hash code for this object.
no setterinherited
-
id
↔ Output<
String> -
getter/setter pairinherited
- isCustom → bool
-
Returns whether this resource is provider-managed.
no setterinherited
- isProtected → bool
-
Returns whether this resource is protected from deletion.
no setterinherited
- isRemote → bool
-
Whether this resource is registered as remote.
no setterinherited
- isResourceReference → bool
-
Whether this instance represents a resource value returned over RPC.
finalinherited
-
name
↔ Output<
String> -
The name of the Named Set, which must be a resource ID segment and unique
within all named sets owned by the Router.
latefinal
-
project
↔ Output<
String> -
The ID of the project in which the resource belongs.
If it is not provided, the provider project is used.
latefinal
-
region
↔ Output<
String> -
Region where the router resides.
latefinal
-
resourceTransforms
→ List<
ResourceTransform> -
Inherited/explicit async transforms.
no setterinherited
-
router
↔ Output<
String> -
The name of the Cloud Router in which this Named Set will be configured.
latefinal
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
-
transformations
→ List<
ResourceTransformation> -
Inherited/explicit legacy transformations.
no setterinherited
-
type
↔ Output<
String> -
The type of the Named Set.
Possible values are:
NAMED_SET_TYPE_PREFIX,NAMED_SET_TYPE_COMMUNITY.latefinal -
urn
↔ Output<
String> -
latefinalinherited
Methods
-
failId(
Object error) → void -
Completes this resource ID with an error when registration fails.
inherited
-
failOutputs(
Object error) → void -
Completes all output properties with
error.inherited -
failUrn(
Object error) → void -
Completes this resource URN with an error when registration fails.
inherited
-
getProvider(
String moduleMember) → ProviderResource? -
Returns provider for
moduleMember's package, if configured.inherited -
getResourceName(
) → String -
Returns this resource's logical name.
inherited
-
getResourceType(
) → String -
Returns this resource's Pulumi type token.
inherited
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
registerOutput<
T> (String propertyName, {Object? decoder(Object?)?, bool isSecret = false}) → Output< T> -
Registers a dynamic output property for this resource.
inherited
-
resolveId(
String? value, {required bool isKnown}) → void -
Resolves the provider-assigned ID for this resource.
inherited
-
resolveOutputs(
Struct outputs) → void -
Resolves all output properties from a monitor response payload.
inherited
-
resolveUrn(
String value) → void -
Resolves this resource's URN once assigned by the engine.
inherited
-
serializeProperties(
Map< String, dynamic> properties) → Future<Struct> -
Serializes resource properties for RPC transmission.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
Static Methods
-
get(
String name, Input< String> id, {RouterNamedSetState? state, CustomResourceOptions? options}) → RouterNamedSet -
Gets an existing RouterNamedSet resource's state with the given
nameandid.