1. Packages
  2. AWS Cloud Control
  3. API Docs
  4. vpclattice
  5. Rule

We recommend new projects start with resources from the AWS provider.

AWS Cloud Control v1.27.0 published on Monday, Apr 14, 2025 by Pulumi

aws-native.vpclattice.Rule

Explore with Pulumi AI

We recommend new projects start with resources from the AWS provider.

AWS Cloud Control v1.27.0 published on Monday, Apr 14, 2025 by Pulumi

Creates a listener rule. Each listener has a default rule for checking connection requests, but you can define additional rules. Each rule consists of a priority, one or more actions, and one or more conditions.

Create Rule Resource

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

Constructor syntax

new Rule(name: string, args: RuleArgs, opts?: CustomResourceOptions);
@overload
def Rule(resource_name: str,
         args: RuleArgs,
         opts: Optional[ResourceOptions] = None)

@overload
def Rule(resource_name: str,
         opts: Optional[ResourceOptions] = None,
         action: Optional[RuleActionArgs] = None,
         match: Optional[RuleMatchArgs] = None,
         priority: Optional[int] = None,
         listener_identifier: Optional[str] = None,
         name: Optional[str] = None,
         service_identifier: Optional[str] = None,
         tags: Optional[Sequence[_root_inputs.TagArgs]] = None)
func NewRule(ctx *Context, name string, args RuleArgs, opts ...ResourceOption) (*Rule, error)
public Rule(string name, RuleArgs args, CustomResourceOptions? opts = null)
public Rule(String name, RuleArgs args)
public Rule(String name, RuleArgs args, CustomResourceOptions options)
type: aws-native:vpclattice:Rule
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

Parameters

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

Rule Resource Properties

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

Inputs

In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

The Rule resource accepts the following input properties:

Action This property is required. Pulumi.AwsNative.VpcLattice.Inputs.RuleAction
Describes the action for a rule.
Match This property is required. Pulumi.AwsNative.VpcLattice.Inputs.RuleMatch
The rule match.
Priority This property is required. int
The priority assigned to the rule. Each rule for a specific listener must have a unique priority. The lower the priority number the higher the priority.
ListenerIdentifier string
The ID or ARN of the listener.
Name string

The name of the rule. The name must be unique within the listener. The valid characters are a-z, 0-9, and hyphens (-). You can't use a hyphen as the first or last character, or immediately after another hyphen.

If you don't specify a name, CloudFormation generates one. However, if you specify a name, and later want to replace the resource, you must specify a new name.

ServiceIdentifier string
The ID or ARN of the service.
Tags List<Pulumi.AwsNative.Inputs.Tag>
The tags for the rule.
Action This property is required. RuleActionArgs
Describes the action for a rule.
Match This property is required. RuleMatchArgs
The rule match.
Priority This property is required. int
The priority assigned to the rule. Each rule for a specific listener must have a unique priority. The lower the priority number the higher the priority.
ListenerIdentifier string
The ID or ARN of the listener.
Name string

The name of the rule. The name must be unique within the listener. The valid characters are a-z, 0-9, and hyphens (-). You can't use a hyphen as the first or last character, or immediately after another hyphen.

If you don't specify a name, CloudFormation generates one. However, if you specify a name, and later want to replace the resource, you must specify a new name.

ServiceIdentifier string
The ID or ARN of the service.
Tags TagArgs
The tags for the rule.
action This property is required. RuleAction
Describes the action for a rule.
match This property is required. RuleMatch
The rule match.
priority This property is required. Integer
The priority assigned to the rule. Each rule for a specific listener must have a unique priority. The lower the priority number the higher the priority.
listenerIdentifier String
The ID or ARN of the listener.
name String

The name of the rule. The name must be unique within the listener. The valid characters are a-z, 0-9, and hyphens (-). You can't use a hyphen as the first or last character, or immediately after another hyphen.

If you don't specify a name, CloudFormation generates one. However, if you specify a name, and later want to replace the resource, you must specify a new name.

serviceIdentifier String
The ID or ARN of the service.
tags List<Tag>
The tags for the rule.
action This property is required. RuleAction
Describes the action for a rule.
match This property is required. RuleMatch
The rule match.
priority This property is required. number
The priority assigned to the rule. Each rule for a specific listener must have a unique priority. The lower the priority number the higher the priority.
listenerIdentifier string
The ID or ARN of the listener.
name string

The name of the rule. The name must be unique within the listener. The valid characters are a-z, 0-9, and hyphens (-). You can't use a hyphen as the first or last character, or immediately after another hyphen.

If you don't specify a name, CloudFormation generates one. However, if you specify a name, and later want to replace the resource, you must specify a new name.

serviceIdentifier string
The ID or ARN of the service.
tags Tag[]
The tags for the rule.
action This property is required. RuleActionArgs
Describes the action for a rule.
match This property is required. RuleMatchArgs
The rule match.
priority This property is required. int
The priority assigned to the rule. Each rule for a specific listener must have a unique priority. The lower the priority number the higher the priority.
listener_identifier str
The ID or ARN of the listener.
name str

The name of the rule. The name must be unique within the listener. The valid characters are a-z, 0-9, and hyphens (-). You can't use a hyphen as the first or last character, or immediately after another hyphen.

If you don't specify a name, CloudFormation generates one. However, if you specify a name, and later want to replace the resource, you must specify a new name.

service_identifier str
The ID or ARN of the service.
tags Sequence[TagArgs]
The tags for the rule.
action This property is required. Property Map
Describes the action for a rule.
match This property is required. Property Map
The rule match.
priority This property is required. Number
The priority assigned to the rule. Each rule for a specific listener must have a unique priority. The lower the priority number the higher the priority.
listenerIdentifier String
The ID or ARN of the listener.
name String

The name of the rule. The name must be unique within the listener. The valid characters are a-z, 0-9, and hyphens (-). You can't use a hyphen as the first or last character, or immediately after another hyphen.

If you don't specify a name, CloudFormation generates one. However, if you specify a name, and later want to replace the resource, you must specify a new name.

serviceIdentifier String
The ID or ARN of the service.
tags List<Property Map>
The tags for the rule.

Outputs

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

Arn string
The Amazon Resource Name (ARN) of the rule.
AwsId string
The ID of the listener.
Id string
The provider-assigned unique ID for this managed resource.
Arn string
The Amazon Resource Name (ARN) of the rule.
AwsId string
The ID of the listener.
Id string
The provider-assigned unique ID for this managed resource.
arn String
The Amazon Resource Name (ARN) of the rule.
awsId String
The ID of the listener.
id String
The provider-assigned unique ID for this managed resource.
arn string
The Amazon Resource Name (ARN) of the rule.
awsId string
The ID of the listener.
id string
The provider-assigned unique ID for this managed resource.
arn str
The Amazon Resource Name (ARN) of the rule.
aws_id str
The ID of the listener.
id str
The provider-assigned unique ID for this managed resource.
arn String
The Amazon Resource Name (ARN) of the rule.
awsId String
The ID of the listener.
id String
The provider-assigned unique ID for this managed resource.

Supporting Types

RuleAction
, RuleActionArgs

FixedResponse Pulumi.AwsNative.VpcLattice.Inputs.RuleFixedResponse
The fixed response action. The rule returns a custom HTTP response.
Forward Pulumi.AwsNative.VpcLattice.Inputs.RuleForward
The forward action. Traffic that matches the rule is forwarded to the specified target groups.
FixedResponse RuleFixedResponse
The fixed response action. The rule returns a custom HTTP response.
Forward RuleForward
The forward action. Traffic that matches the rule is forwarded to the specified target groups.
fixedResponse RuleFixedResponse
The fixed response action. The rule returns a custom HTTP response.
forward RuleForward
The forward action. Traffic that matches the rule is forwarded to the specified target groups.
fixedResponse RuleFixedResponse
The fixed response action. The rule returns a custom HTTP response.
forward RuleForward
The forward action. Traffic that matches the rule is forwarded to the specified target groups.
fixed_response RuleFixedResponse
The fixed response action. The rule returns a custom HTTP response.
forward RuleForward
The forward action. Traffic that matches the rule is forwarded to the specified target groups.
fixedResponse Property Map
The fixed response action. The rule returns a custom HTTP response.
forward Property Map
The forward action. Traffic that matches the rule is forwarded to the specified target groups.

RuleFixedResponse
, RuleFixedResponseArgs

StatusCode This property is required. int
The HTTP response code.
StatusCode This property is required. int
The HTTP response code.
statusCode This property is required. Integer
The HTTP response code.
statusCode This property is required. number
The HTTP response code.
status_code This property is required. int
The HTTP response code.
statusCode This property is required. Number
The HTTP response code.

RuleForward
, RuleForwardArgs

TargetGroups This property is required. List<Pulumi.AwsNative.VpcLattice.Inputs.RuleWeightedTargetGroup>

The target groups. Traffic matching the rule is forwarded to the specified target groups. With forward actions, you can assign a weight that controls the prioritization and selection of each target group. This means that requests are distributed to individual target groups based on their weights. For example, if two target groups have the same weight, each target group receives half of the traffic.

The default value is 1. This means that if only one target group is provided, there is no need to set the weight; 100% of the traffic goes to that target group.

TargetGroups This property is required. []RuleWeightedTargetGroup

The target groups. Traffic matching the rule is forwarded to the specified target groups. With forward actions, you can assign a weight that controls the prioritization and selection of each target group. This means that requests are distributed to individual target groups based on their weights. For example, if two target groups have the same weight, each target group receives half of the traffic.

The default value is 1. This means that if only one target group is provided, there is no need to set the weight; 100% of the traffic goes to that target group.

targetGroups This property is required. List<RuleWeightedTargetGroup>

The target groups. Traffic matching the rule is forwarded to the specified target groups. With forward actions, you can assign a weight that controls the prioritization and selection of each target group. This means that requests are distributed to individual target groups based on their weights. For example, if two target groups have the same weight, each target group receives half of the traffic.

The default value is 1. This means that if only one target group is provided, there is no need to set the weight; 100% of the traffic goes to that target group.

targetGroups This property is required. RuleWeightedTargetGroup[]

The target groups. Traffic matching the rule is forwarded to the specified target groups. With forward actions, you can assign a weight that controls the prioritization and selection of each target group. This means that requests are distributed to individual target groups based on their weights. For example, if two target groups have the same weight, each target group receives half of the traffic.

The default value is 1. This means that if only one target group is provided, there is no need to set the weight; 100% of the traffic goes to that target group.

target_groups This property is required. Sequence[RuleWeightedTargetGroup]

The target groups. Traffic matching the rule is forwarded to the specified target groups. With forward actions, you can assign a weight that controls the prioritization and selection of each target group. This means that requests are distributed to individual target groups based on their weights. For example, if two target groups have the same weight, each target group receives half of the traffic.

The default value is 1. This means that if only one target group is provided, there is no need to set the weight; 100% of the traffic goes to that target group.

targetGroups This property is required. List<Property Map>

The target groups. Traffic matching the rule is forwarded to the specified target groups. With forward actions, you can assign a weight that controls the prioritization and selection of each target group. This means that requests are distributed to individual target groups based on their weights. For example, if two target groups have the same weight, each target group receives half of the traffic.

The default value is 1. This means that if only one target group is provided, there is no need to set the weight; 100% of the traffic goes to that target group.

RuleHeaderMatch
, RuleHeaderMatchArgs

Match This property is required. Pulumi.AwsNative.VpcLattice.Inputs.RuleHeaderMatchType
The header match type.
Name This property is required. string
The name of the header.
CaseSensitive bool
Indicates whether the match is case sensitive.
Match This property is required. RuleHeaderMatchType
The header match type.
Name This property is required. string
The name of the header.
CaseSensitive bool
Indicates whether the match is case sensitive.
match This property is required. RuleHeaderMatchType
The header match type.
name This property is required. String
The name of the header.
caseSensitive Boolean
Indicates whether the match is case sensitive.
match This property is required. RuleHeaderMatchType
The header match type.
name This property is required. string
The name of the header.
caseSensitive boolean
Indicates whether the match is case sensitive.
match This property is required. RuleHeaderMatchType
The header match type.
name This property is required. str
The name of the header.
case_sensitive bool
Indicates whether the match is case sensitive.
match This property is required. Property Map
The header match type.
name This property is required. String
The name of the header.
caseSensitive Boolean
Indicates whether the match is case sensitive.

RuleHeaderMatchType
, RuleHeaderMatchTypeArgs

Contains string
A contains type match.
Exact string
An exact type match.
Prefix string
A prefix type match. Matches the value with the prefix.
Contains string
A contains type match.
Exact string
An exact type match.
Prefix string
A prefix type match. Matches the value with the prefix.
contains String
A contains type match.
exact String
An exact type match.
prefix String
A prefix type match. Matches the value with the prefix.
contains string
A contains type match.
exact string
An exact type match.
prefix string
A prefix type match. Matches the value with the prefix.
contains str
A contains type match.
exact str
An exact type match.
prefix str
A prefix type match. Matches the value with the prefix.
contains String
A contains type match.
exact String
An exact type match.
prefix String
A prefix type match. Matches the value with the prefix.

RuleHttpMatch
, RuleHttpMatchArgs

HeaderMatches List<Pulumi.AwsNative.VpcLattice.Inputs.RuleHeaderMatch>
The header matches. Matches incoming requests with rule based on request header value before applying rule action.
Method Pulumi.AwsNative.VpcLattice.RuleHttpMatchMethod
The HTTP method type.
PathMatch Pulumi.AwsNative.VpcLattice.Inputs.RulePathMatch
The path match.
HeaderMatches []RuleHeaderMatch
The header matches. Matches incoming requests with rule based on request header value before applying rule action.
Method RuleHttpMatchMethod
The HTTP method type.
PathMatch RulePathMatch
The path match.
headerMatches List<RuleHeaderMatch>
The header matches. Matches incoming requests with rule based on request header value before applying rule action.
method RuleHttpMatchMethod
The HTTP method type.
pathMatch RulePathMatch
The path match.
headerMatches RuleHeaderMatch[]
The header matches. Matches incoming requests with rule based on request header value before applying rule action.
method RuleHttpMatchMethod
The HTTP method type.
pathMatch RulePathMatch
The path match.
header_matches Sequence[RuleHeaderMatch]
The header matches. Matches incoming requests with rule based on request header value before applying rule action.
method RuleHttpMatchMethod
The HTTP method type.
path_match RulePathMatch
The path match.
headerMatches List<Property Map>
The header matches. Matches incoming requests with rule based on request header value before applying rule action.
method "CONNECT" | "DELETE" | "GET" | "HEAD" | "OPTIONS" | "POST" | "PUT" | "TRACE"
The HTTP method type.
pathMatch Property Map
The path match.

RuleHttpMatchMethod
, RuleHttpMatchMethodArgs

Connect
CONNECT
Delete
DELETE
Get
GET
Head
HEAD
Options
OPTIONS
Post
POST
Put
PUT
Trace
TRACE
RuleHttpMatchMethodConnect
CONNECT
RuleHttpMatchMethodDelete
DELETE
RuleHttpMatchMethodGet
GET
RuleHttpMatchMethodHead
HEAD
RuleHttpMatchMethodOptions
OPTIONS
RuleHttpMatchMethodPost
POST
RuleHttpMatchMethodPut
PUT
RuleHttpMatchMethodTrace
TRACE
Connect
CONNECT
Delete
DELETE
Get
GET
Head
HEAD
Options
OPTIONS
Post
POST
Put
PUT
Trace
TRACE
Connect
CONNECT
Delete
DELETE
Get
GET
Head
HEAD
Options
OPTIONS
Post
POST
Put
PUT
Trace
TRACE
CONNECT
CONNECT
DELETE
DELETE
GET
GET
HEAD
HEAD
OPTIONS
OPTIONS
POST
POST
PUT
PUT
TRACE
TRACE
"CONNECT"
CONNECT
"DELETE"
DELETE
"GET"
GET
"HEAD"
HEAD
"OPTIONS"
OPTIONS
"POST"
POST
"PUT"
PUT
"TRACE"
TRACE

RuleMatch
, RuleMatchArgs

HttpMatch This property is required. Pulumi.AwsNative.VpcLattice.Inputs.RuleHttpMatch
The HTTP criteria that a rule must match.
HttpMatch This property is required. RuleHttpMatch
The HTTP criteria that a rule must match.
httpMatch This property is required. RuleHttpMatch
The HTTP criteria that a rule must match.
httpMatch This property is required. RuleHttpMatch
The HTTP criteria that a rule must match.
http_match This property is required. RuleHttpMatch
The HTTP criteria that a rule must match.
httpMatch This property is required. Property Map
The HTTP criteria that a rule must match.

RulePathMatch
, RulePathMatchArgs

Match This property is required. Pulumi.AwsNative.VpcLattice.Inputs.RulePathMatchType
The type of path match.
CaseSensitive bool
Indicates whether the match is case sensitive.
Match This property is required. RulePathMatchType
The type of path match.
CaseSensitive bool
Indicates whether the match is case sensitive.
match This property is required. RulePathMatchType
The type of path match.
caseSensitive Boolean
Indicates whether the match is case sensitive.
match This property is required. RulePathMatchType
The type of path match.
caseSensitive boolean
Indicates whether the match is case sensitive.
match This property is required. RulePathMatchType
The type of path match.
case_sensitive bool
Indicates whether the match is case sensitive.
match This property is required. Property Map
The type of path match.
caseSensitive Boolean
Indicates whether the match is case sensitive.

RulePathMatchType
, RulePathMatchTypeArgs

Exact string
An exact match of the path.
Prefix string
A prefix match of the path.
Exact string
An exact match of the path.
Prefix string
A prefix match of the path.
exact String
An exact match of the path.
prefix String
A prefix match of the path.
exact string
An exact match of the path.
prefix string
A prefix match of the path.
exact str
An exact match of the path.
prefix str
A prefix match of the path.
exact String
An exact match of the path.
prefix String
A prefix match of the path.

RuleWeightedTargetGroup
, RuleWeightedTargetGroupArgs

TargetGroupIdentifier This property is required. string
The ID of the target group.
Weight int
Only required if you specify multiple target groups for a forward action. The weight determines how requests are distributed to the target group. For example, if you specify two target groups, each with a weight of 10, each target group receives half the requests. If you specify two target groups, one with a weight of 10 and the other with a weight of 20, the target group with a weight of 20 receives twice as many requests as the other target group. If there's only one target group specified, then the default value is 100.
TargetGroupIdentifier This property is required. string
The ID of the target group.
Weight int
Only required if you specify multiple target groups for a forward action. The weight determines how requests are distributed to the target group. For example, if you specify two target groups, each with a weight of 10, each target group receives half the requests. If you specify two target groups, one with a weight of 10 and the other with a weight of 20, the target group with a weight of 20 receives twice as many requests as the other target group. If there's only one target group specified, then the default value is 100.
targetGroupIdentifier This property is required. String
The ID of the target group.
weight Integer
Only required if you specify multiple target groups for a forward action. The weight determines how requests are distributed to the target group. For example, if you specify two target groups, each with a weight of 10, each target group receives half the requests. If you specify two target groups, one with a weight of 10 and the other with a weight of 20, the target group with a weight of 20 receives twice as many requests as the other target group. If there's only one target group specified, then the default value is 100.
targetGroupIdentifier This property is required. string
The ID of the target group.
weight number
Only required if you specify multiple target groups for a forward action. The weight determines how requests are distributed to the target group. For example, if you specify two target groups, each with a weight of 10, each target group receives half the requests. If you specify two target groups, one with a weight of 10 and the other with a weight of 20, the target group with a weight of 20 receives twice as many requests as the other target group. If there's only one target group specified, then the default value is 100.
target_group_identifier This property is required. str
The ID of the target group.
weight int
Only required if you specify multiple target groups for a forward action. The weight determines how requests are distributed to the target group. For example, if you specify two target groups, each with a weight of 10, each target group receives half the requests. If you specify two target groups, one with a weight of 10 and the other with a weight of 20, the target group with a weight of 20 receives twice as many requests as the other target group. If there's only one target group specified, then the default value is 100.
targetGroupIdentifier This property is required. String
The ID of the target group.
weight Number
Only required if you specify multiple target groups for a forward action. The weight determines how requests are distributed to the target group. For example, if you specify two target groups, each with a weight of 10, each target group receives half the requests. If you specify two target groups, one with a weight of 10 and the other with a weight of 20, the target group with a weight of 20 receives twice as many requests as the other target group. If there's only one target group specified, then the default value is 100.

Tag
, TagArgs

Key This property is required. string
The key name of the tag
Value This property is required. string
The value of the tag
Key This property is required. string
The key name of the tag
Value This property is required. string
The value of the tag
key This property is required. String
The key name of the tag
value This property is required. String
The value of the tag
key This property is required. string
The key name of the tag
value This property is required. string
The value of the tag
key This property is required. str
The key name of the tag
value This property is required. str
The value of the tag
key This property is required. String
The key name of the tag
value This property is required. String
The value of the tag

Package Details

Repository
AWS Native pulumi/pulumi-aws-native
License
Apache-2.0

We recommend new projects start with resources from the AWS provider.

AWS Cloud Control v1.27.0 published on Monday, Apr 14, 2025 by Pulumi