Listener Rule Args
data class ListenerRuleArgs(val action: Output<ListenerRuleActionArgs>? = null, val listenerIdentifier: Output<String>? = null, val match: Output<ListenerRuleMatchArgs>? = null, val name: Output<String>? = null, val priority: Output<Int>? = null, val serviceIdentifier: Output<String>? = null, val tags: Output<Map<String, String>>? = null) : ConvertibleToJava<ListenerRuleArgs>
Resource for managing an AWS VPC Lattice Listener Rule.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const test = new aws.vpclattice.ListenerRule("test", {
name: "example",
listenerIdentifier: exampleAwsVpclatticeListener.listenerId,
serviceIdentifier: exampleAwsVpclatticeService.id,
priority: 20,
match: {
httpMatch: {
headerMatches: [{
name: "example-header",
caseSensitive: false,
match: {
exact: "example-contains",
},
}],
pathMatch: {
caseSensitive: true,
match: {
prefix: "/example-path",
},
},
},
},
action: {
forward: {
targetGroups: [
{
targetGroupIdentifier: example.id,
weight: 1,
},
{
targetGroupIdentifier: example2.id,
weight: 2,
},
],
},
},
});
Content copied to clipboard
import pulumi
import pulumi_aws as aws
test = aws.vpclattice.ListenerRule("test",
name="example",
listener_identifier=example_aws_vpclattice_listener["listenerId"],
service_identifier=example_aws_vpclattice_service["id"],
priority=20,
match=aws.vpclattice.ListenerRuleMatchArgs(
http_match=aws.vpclattice.ListenerRuleMatchHttpMatchArgs(
header_matches=[aws.vpclattice.ListenerRuleMatchHttpMatchHeaderMatchArgs(
name="example-header",
case_sensitive=False,
match=aws.vpclattice.ListenerRuleMatchHttpMatchHeaderMatchMatchArgs(
exact="example-contains",
),
)],
path_match=aws.vpclattice.ListenerRuleMatchHttpMatchPathMatchArgs(
case_sensitive=True,
match=aws.vpclattice.ListenerRuleMatchHttpMatchPathMatchMatchArgs(
prefix="/example-path",
),
),
),
),
action=aws.vpclattice.ListenerRuleActionArgs(
forward=aws.vpclattice.ListenerRuleActionForwardArgs(
target_groups=[
aws.vpclattice.ListenerRuleActionForwardTargetGroupArgs(
target_group_identifier=example["id"],
weight=1,
),
aws.vpclattice.ListenerRuleActionForwardTargetGroupArgs(
target_group_identifier=example2["id"],
weight=2,
),
],
),
))
Content copied to clipboard
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var test = new Aws.VpcLattice.ListenerRule("test", new()
{
Name = "example",
ListenerIdentifier = exampleAwsVpclatticeListener.ListenerId,
ServiceIdentifier = exampleAwsVpclatticeService.Id,
Priority = 20,
Match = new Aws.VpcLattice.Inputs.ListenerRuleMatchArgs
{
HttpMatch = new Aws.VpcLattice.Inputs.ListenerRuleMatchHttpMatchArgs
{
HeaderMatches = new[]
{
new Aws.VpcLattice.Inputs.ListenerRuleMatchHttpMatchHeaderMatchArgs
{
Name = "example-header",
CaseSensitive = false,
Match = new Aws.VpcLattice.Inputs.ListenerRuleMatchHttpMatchHeaderMatchMatchArgs
{
Exact = "example-contains",
},
},
},
PathMatch = new Aws.VpcLattice.Inputs.ListenerRuleMatchHttpMatchPathMatchArgs
{
CaseSensitive = true,
Match = new Aws.VpcLattice.Inputs.ListenerRuleMatchHttpMatchPathMatchMatchArgs
{
Prefix = "/example-path",
},
},
},
},
Action = new Aws.VpcLattice.Inputs.ListenerRuleActionArgs
{
Forward = new Aws.VpcLattice.Inputs.ListenerRuleActionForwardArgs
{
TargetGroups = new[]
{
new Aws.VpcLattice.Inputs.ListenerRuleActionForwardTargetGroupArgs
{
TargetGroupIdentifier = example.Id,
Weight = 1,
},
new Aws.VpcLattice.Inputs.ListenerRuleActionForwardTargetGroupArgs
{
TargetGroupIdentifier = example2.Id,
Weight = 2,
},
},
},
},
});
});
Content copied to clipboard
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/vpclattice"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := vpclattice.NewListenerRule(ctx, "test", &vpclattice.ListenerRuleArgs{
Name: pulumi.String("example"),
ListenerIdentifier: pulumi.Any(exampleAwsVpclatticeListener.ListenerId),
ServiceIdentifier: pulumi.Any(exampleAwsVpclatticeService.Id),
Priority: pulumi.Int(20),
Match: &vpclattice.ListenerRuleMatchArgs{
HttpMatch: &vpclattice.ListenerRuleMatchHttpMatchArgs{
HeaderMatches: vpclattice.ListenerRuleMatchHttpMatchHeaderMatchArray{
&vpclattice.ListenerRuleMatchHttpMatchHeaderMatchArgs{
Name: pulumi.String("example-header"),
CaseSensitive: pulumi.Bool(false),
Match: &vpclattice.ListenerRuleMatchHttpMatchHeaderMatchMatchArgs{
Exact: pulumi.String("example-contains"),
},
},
},
PathMatch: &vpclattice.ListenerRuleMatchHttpMatchPathMatchArgs{
CaseSensitive: pulumi.Bool(true),
Match: &vpclattice.ListenerRuleMatchHttpMatchPathMatchMatchArgs{
Prefix: pulumi.String("/example-path"),
},
},
},
},
Action: &vpclattice.ListenerRuleActionArgs{
Forward: &vpclattice.ListenerRuleActionForwardArgs{
TargetGroups: vpclattice.ListenerRuleActionForwardTargetGroupArray{
&vpclattice.ListenerRuleActionForwardTargetGroupArgs{
TargetGroupIdentifier: pulumi.Any(example.Id),
Weight: pulumi.Int(1),
},
&vpclattice.ListenerRuleActionForwardTargetGroupArgs{
TargetGroupIdentifier: pulumi.Any(example2.Id),
Weight: pulumi.Int(2),
},
},
},
},
})
if err != nil {
return err
}
return nil
})
}
Content copied to clipboard
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.vpclattice.ListenerRule;
import com.pulumi.aws.vpclattice.ListenerRuleArgs;
import com.pulumi.aws.vpclattice.inputs.ListenerRuleMatchArgs;
import com.pulumi.aws.vpclattice.inputs.ListenerRuleMatchHttpMatchArgs;
import com.pulumi.aws.vpclattice.inputs.ListenerRuleMatchHttpMatchPathMatchArgs;
import com.pulumi.aws.vpclattice.inputs.ListenerRuleMatchHttpMatchPathMatchMatchArgs;
import com.pulumi.aws.vpclattice.inputs.ListenerRuleActionArgs;
import com.pulumi.aws.vpclattice.inputs.ListenerRuleActionForwardArgs;
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 test = new ListenerRule("test", ListenerRuleArgs.builder()
.name("example")
.listenerIdentifier(exampleAwsVpclatticeListener.listenerId())
.serviceIdentifier(exampleAwsVpclatticeService.id())
.priority(20)
.match(ListenerRuleMatchArgs.builder()
.httpMatch(ListenerRuleMatchHttpMatchArgs.builder()
.headerMatches(ListenerRuleMatchHttpMatchHeaderMatchArgs.builder()
.name("example-header")
.caseSensitive(false)
.match(ListenerRuleMatchHttpMatchHeaderMatchMatchArgs.builder()
.exact("example-contains")
.build())
.build())
.pathMatch(ListenerRuleMatchHttpMatchPathMatchArgs.builder()
.caseSensitive(true)
.match(ListenerRuleMatchHttpMatchPathMatchMatchArgs.builder()
.prefix("/example-path")
.build())
.build())
.build())
.build())
.action(ListenerRuleActionArgs.builder()
.forward(ListenerRuleActionForwardArgs.builder()
.targetGroups(
ListenerRuleActionForwardTargetGroupArgs.builder()
.targetGroupIdentifier(example.id())
.weight(1)
.build(),
ListenerRuleActionForwardTargetGroupArgs.builder()
.targetGroupIdentifier(example2.id())
.weight(2)
.build())
.build())
.build())
.build());
}
}
Content copied to clipboard
resources:
test:
type: aws:vpclattice:ListenerRule
properties:
name: example
listenerIdentifier: ${exampleAwsVpclatticeListener.listenerId}
serviceIdentifier: ${exampleAwsVpclatticeService.id}
priority: 20
match:
httpMatch:
headerMatches:
- name: example-header
caseSensitive: false
match:
exact: example-contains
pathMatch:
caseSensitive: true
match:
prefix: /example-path
action:
forward:
targetGroups:
- targetGroupIdentifier: ${example.id}
weight: 1
- targetGroupIdentifier: ${example2.id}
weight: 2
Content copied to clipboard
Basic Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const test = new aws.vpclattice.ListenerRule("test", {
name: "example",
listenerIdentifier: example.listenerId,
serviceIdentifier: exampleAwsVpclatticeService.id,
priority: 10,
match: {
httpMatch: {
pathMatch: {
caseSensitive: false,
match: {
exact: "/example-path",
},
},
},
},
action: {
fixedResponse: {
statusCode: 404,
},
},
});
Content copied to clipboard
import pulumi
import pulumi_aws as aws
test = aws.vpclattice.ListenerRule("test",
name="example",
listener_identifier=example["listenerId"],
service_identifier=example_aws_vpclattice_service["id"],
priority=10,
match=aws.vpclattice.ListenerRuleMatchArgs(
http_match=aws.vpclattice.ListenerRuleMatchHttpMatchArgs(
path_match=aws.vpclattice.ListenerRuleMatchHttpMatchPathMatchArgs(
case_sensitive=False,
match=aws.vpclattice.ListenerRuleMatchHttpMatchPathMatchMatchArgs(
exact="/example-path",
),
),
),
),
action=aws.vpclattice.ListenerRuleActionArgs(
fixed_response=aws.vpclattice.ListenerRuleActionFixedResponseArgs(
status_code=404,
),
))
Content copied to clipboard
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var test = new Aws.VpcLattice.ListenerRule("test", new()
{
Name = "example",
ListenerIdentifier = example.ListenerId,
ServiceIdentifier = exampleAwsVpclatticeService.Id,
Priority = 10,
Match = new Aws.VpcLattice.Inputs.ListenerRuleMatchArgs
{
HttpMatch = new Aws.VpcLattice.Inputs.ListenerRuleMatchHttpMatchArgs
{
PathMatch = new Aws.VpcLattice.Inputs.ListenerRuleMatchHttpMatchPathMatchArgs
{
CaseSensitive = false,
Match = new Aws.VpcLattice.Inputs.ListenerRuleMatchHttpMatchPathMatchMatchArgs
{
Exact = "/example-path",
},
},
},
},
Action = new Aws.VpcLattice.Inputs.ListenerRuleActionArgs
{
FixedResponse = new Aws.VpcLattice.Inputs.ListenerRuleActionFixedResponseArgs
{
StatusCode = 404,
},
},
});
});
Content copied to clipboard
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/vpclattice"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := vpclattice.NewListenerRule(ctx, "test", &vpclattice.ListenerRuleArgs{
Name: pulumi.String("example"),
ListenerIdentifier: pulumi.Any(example.ListenerId),
ServiceIdentifier: pulumi.Any(exampleAwsVpclatticeService.Id),
Priority: pulumi.Int(10),
Match: &vpclattice.ListenerRuleMatchArgs{
HttpMatch: &vpclattice.ListenerRuleMatchHttpMatchArgs{
PathMatch: &vpclattice.ListenerRuleMatchHttpMatchPathMatchArgs{
CaseSensitive: pulumi.Bool(false),
Match: &vpclattice.ListenerRuleMatchHttpMatchPathMatchMatchArgs{
Exact: pulumi.String("/example-path"),
},
},
},
},
Action: &vpclattice.ListenerRuleActionArgs{
FixedResponse: &vpclattice.ListenerRuleActionFixedResponseArgs{
StatusCode: pulumi.Int(404),
},
},
})
if err != nil {
return err
}
return nil
})
}
Content copied to clipboard
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.vpclattice.ListenerRule;
import com.pulumi.aws.vpclattice.ListenerRuleArgs;
import com.pulumi.aws.vpclattice.inputs.ListenerRuleMatchArgs;
import com.pulumi.aws.vpclattice.inputs.ListenerRuleMatchHttpMatchArgs;
import com.pulumi.aws.vpclattice.inputs.ListenerRuleMatchHttpMatchPathMatchArgs;
import com.pulumi.aws.vpclattice.inputs.ListenerRuleMatchHttpMatchPathMatchMatchArgs;
import com.pulumi.aws.vpclattice.inputs.ListenerRuleActionArgs;
import com.pulumi.aws.vpclattice.inputs.ListenerRuleActionFixedResponseArgs;
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 test = new ListenerRule("test", ListenerRuleArgs.builder()
.name("example")
.listenerIdentifier(example.listenerId())
.serviceIdentifier(exampleAwsVpclatticeService.id())
.priority(10)
.match(ListenerRuleMatchArgs.builder()
.httpMatch(ListenerRuleMatchHttpMatchArgs.builder()
.pathMatch(ListenerRuleMatchHttpMatchPathMatchArgs.builder()
.caseSensitive(false)
.match(ListenerRuleMatchHttpMatchPathMatchMatchArgs.builder()
.exact("/example-path")
.build())
.build())
.build())
.build())
.action(ListenerRuleActionArgs.builder()
.fixedResponse(ListenerRuleActionFixedResponseArgs.builder()
.statusCode(404)
.build())
.build())
.build());
}
}
Content copied to clipboard
resources:
test:
type: aws:vpclattice:ListenerRule
properties:
name: example
listenerIdentifier: ${example.listenerId}
serviceIdentifier: ${exampleAwsVpclatticeService.id}
priority: 10
match:
httpMatch:
pathMatch:
caseSensitive: false
match:
exact: /example-path
action:
fixedResponse:
statusCode: 404
Content copied to clipboard
Import
Using pulumi import
, import VPC Lattice Listener Rule using the id
. For example:
$ pulumi import aws:vpclattice/listenerRule:ListenerRule example service123/listener456/rule789
Content copied to clipboard
Constructors
Link copied to clipboard
constructor(action: Output<ListenerRuleActionArgs>? = null, listenerIdentifier: Output<String>? = null, match: Output<ListenerRuleMatchArgs>? = null, name: Output<String>? = null, priority: Output<Int>? = null, serviceIdentifier: Output<String>? = null, tags: Output<Map<String, String>>? = null)