aws.waf.ByteMatchSet
Explore with Pulumi AI
Provides a WAF Byte Match Set Resource
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const byteSet = new aws.waf.ByteMatchSet("byte_set", {
name: "my_waf_byte_match_set",
byteMatchTuples: [{
textTransformation: "NONE",
targetString: "badrefer1",
positionalConstraint: "CONTAINS",
fieldToMatch: {
type: "HEADER",
data: "referer",
},
}],
});
import pulumi
import pulumi_aws as aws
byte_set = aws.waf.ByteMatchSet("byte_set",
name="my_waf_byte_match_set",
byte_match_tuples=[{
"text_transformation": "NONE",
"target_string": "badrefer1",
"positional_constraint": "CONTAINS",
"field_to_match": {
"type": "HEADER",
"data": "referer",
},
}])
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/waf"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := waf.NewByteMatchSet(ctx, "byte_set", &waf.ByteMatchSetArgs{
Name: pulumi.String("my_waf_byte_match_set"),
ByteMatchTuples: waf.ByteMatchSetByteMatchTupleArray{
&waf.ByteMatchSetByteMatchTupleArgs{
TextTransformation: pulumi.String("NONE"),
TargetString: pulumi.String("badrefer1"),
PositionalConstraint: pulumi.String("CONTAINS"),
FieldToMatch: &waf.ByteMatchSetByteMatchTupleFieldToMatchArgs{
Type: pulumi.String("HEADER"),
Data: pulumi.String("referer"),
},
},
},
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var byteSet = new Aws.Waf.ByteMatchSet("byte_set", new()
{
Name = "my_waf_byte_match_set",
ByteMatchTuples = new[]
{
new Aws.Waf.Inputs.ByteMatchSetByteMatchTupleArgs
{
TextTransformation = "NONE",
TargetString = "badrefer1",
PositionalConstraint = "CONTAINS",
FieldToMatch = new Aws.Waf.Inputs.ByteMatchSetByteMatchTupleFieldToMatchArgs
{
Type = "HEADER",
Data = "referer",
},
},
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.waf.ByteMatchSet;
import com.pulumi.aws.waf.ByteMatchSetArgs;
import com.pulumi.aws.waf.inputs.ByteMatchSetByteMatchTupleArgs;
import com.pulumi.aws.waf.inputs.ByteMatchSetByteMatchTupleFieldToMatchArgs;
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 byteSet = new ByteMatchSet("byteSet", ByteMatchSetArgs.builder()
.name("my_waf_byte_match_set")
.byteMatchTuples(ByteMatchSetByteMatchTupleArgs.builder()
.textTransformation("NONE")
.targetString("badrefer1")
.positionalConstraint("CONTAINS")
.fieldToMatch(ByteMatchSetByteMatchTupleFieldToMatchArgs.builder()
.type("HEADER")
.data("referer")
.build())
.build())
.build());
}
}
resources:
byteSet:
type: aws:waf:ByteMatchSet
name: byte_set
properties:
name: my_waf_byte_match_set
byteMatchTuples:
- textTransformation: NONE
targetString: badrefer1
positionalConstraint: CONTAINS
fieldToMatch:
type: HEADER
data: referer
Create ByteMatchSet Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new ByteMatchSet(name: string, args?: ByteMatchSetArgs, opts?: CustomResourceOptions);
@overload
def ByteMatchSet(resource_name: str,
args: Optional[ByteMatchSetArgs] = None,
opts: Optional[ResourceOptions] = None)
@overload
def ByteMatchSet(resource_name: str,
opts: Optional[ResourceOptions] = None,
byte_match_tuples: Optional[Sequence[ByteMatchSetByteMatchTupleArgs]] = None,
name: Optional[str] = None)
func NewByteMatchSet(ctx *Context, name string, args *ByteMatchSetArgs, opts ...ResourceOption) (*ByteMatchSet, error)
public ByteMatchSet(string name, ByteMatchSetArgs? args = null, CustomResourceOptions? opts = null)
public ByteMatchSet(String name, ByteMatchSetArgs args)
public ByteMatchSet(String name, ByteMatchSetArgs args, CustomResourceOptions options)
type: aws:waf:ByteMatchSet
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 ByteMatchSetArgs
- 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 ByteMatchSetArgs
- 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 ByteMatchSetArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args ByteMatchSetArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args ByteMatchSetArgs
- 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 byteMatchSetResource = new Aws.Waf.ByteMatchSet("byteMatchSetResource", new()
{
ByteMatchTuples = new[]
{
new Aws.Waf.Inputs.ByteMatchSetByteMatchTupleArgs
{
FieldToMatch = new Aws.Waf.Inputs.ByteMatchSetByteMatchTupleFieldToMatchArgs
{
Type = "string",
Data = "string",
},
PositionalConstraint = "string",
TextTransformation = "string",
TargetString = "string",
},
},
Name = "string",
});
example, err := waf.NewByteMatchSet(ctx, "byteMatchSetResource", &waf.ByteMatchSetArgs{
ByteMatchTuples: waf.ByteMatchSetByteMatchTupleArray{
&waf.ByteMatchSetByteMatchTupleArgs{
FieldToMatch: &waf.ByteMatchSetByteMatchTupleFieldToMatchArgs{
Type: pulumi.String("string"),
Data: pulumi.String("string"),
},
PositionalConstraint: pulumi.String("string"),
TextTransformation: pulumi.String("string"),
TargetString: pulumi.String("string"),
},
},
Name: pulumi.String("string"),
})
var byteMatchSetResource = new ByteMatchSet("byteMatchSetResource", ByteMatchSetArgs.builder()
.byteMatchTuples(ByteMatchSetByteMatchTupleArgs.builder()
.fieldToMatch(ByteMatchSetByteMatchTupleFieldToMatchArgs.builder()
.type("string")
.data("string")
.build())
.positionalConstraint("string")
.textTransformation("string")
.targetString("string")
.build())
.name("string")
.build());
byte_match_set_resource = aws.waf.ByteMatchSet("byteMatchSetResource",
byte_match_tuples=[{
"fieldToMatch": {
"type": "string",
"data": "string",
},
"positionalConstraint": "string",
"textTransformation": "string",
"targetString": "string",
}],
name="string")
const byteMatchSetResource = new aws.waf.ByteMatchSet("byteMatchSetResource", {
byteMatchTuples: [{
fieldToMatch: {
type: "string",
data: "string",
},
positionalConstraint: "string",
textTransformation: "string",
targetString: "string",
}],
name: "string",
});
type: aws:waf:ByteMatchSet
properties:
byteMatchTuples:
- fieldToMatch:
data: string
type: string
positionalConstraint: string
targetString: string
textTransformation: string
name: string
ByteMatchSet 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 ByteMatchSet resource accepts the following input properties:
- Byte
Match List<ByteTuples Match Set Byte Match Tuple> - Specifies the bytes (typically a string that corresponds with ASCII characters) that you want to search for in web requests, the location in requests that you want to search, and other settings.
- Name string
- The name or description of the Byte Match Set.
- Byte
Match []ByteTuples Match Set Byte Match Tuple Args - Specifies the bytes (typically a string that corresponds with ASCII characters) that you want to search for in web requests, the location in requests that you want to search, and other settings.
- Name string
- The name or description of the Byte Match Set.
- byte
Match List<ByteTuples Match Set Byte Match Tuple> - Specifies the bytes (typically a string that corresponds with ASCII characters) that you want to search for in web requests, the location in requests that you want to search, and other settings.
- name String
- The name or description of the Byte Match Set.
- byte
Match ByteTuples Match Set Byte Match Tuple[] - Specifies the bytes (typically a string that corresponds with ASCII characters) that you want to search for in web requests, the location in requests that you want to search, and other settings.
- name string
- The name or description of the Byte Match Set.
- byte_
match_ Sequence[Bytetuples Match Set Byte Match Tuple Args] - Specifies the bytes (typically a string that corresponds with ASCII characters) that you want to search for in web requests, the location in requests that you want to search, and other settings.
- name str
- The name or description of the Byte Match Set.
- byte
Match List<Property Map>Tuples - Specifies the bytes (typically a string that corresponds with ASCII characters) that you want to search for in web requests, the location in requests that you want to search, and other settings.
- name String
- The name or description of the Byte Match Set.
Outputs
All input properties are implicitly available as output properties. Additionally, the ByteMatchSet resource produces the following output properties:
- Id string
- The provider-assigned unique ID for this managed resource.
- Id string
- The provider-assigned unique ID for this managed resource.
- id String
- The provider-assigned unique ID for this managed resource.
- id string
- The provider-assigned unique ID for this managed resource.
- id str
- The provider-assigned unique ID for this managed resource.
- id String
- The provider-assigned unique ID for this managed resource.
Look up Existing ByteMatchSet Resource
Get an existing ByteMatchSet resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
public static get(name: string, id: Input<ID>, state?: ByteMatchSetState, opts?: CustomResourceOptions): ByteMatchSet
@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
byte_match_tuples: Optional[Sequence[ByteMatchSetByteMatchTupleArgs]] = None,
name: Optional[str] = None) -> ByteMatchSet
func GetByteMatchSet(ctx *Context, name string, id IDInput, state *ByteMatchSetState, opts ...ResourceOption) (*ByteMatchSet, error)
public static ByteMatchSet Get(string name, Input<string> id, ByteMatchSetState? state, CustomResourceOptions? opts = null)
public static ByteMatchSet get(String name, Output<String> id, ByteMatchSetState state, CustomResourceOptions options)
Resource lookup is not supported in YAML
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- resource_name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- Byte
Match List<ByteTuples Match Set Byte Match Tuple> - Specifies the bytes (typically a string that corresponds with ASCII characters) that you want to search for in web requests, the location in requests that you want to search, and other settings.
- Name string
- The name or description of the Byte Match Set.
- Byte
Match []ByteTuples Match Set Byte Match Tuple Args - Specifies the bytes (typically a string that corresponds with ASCII characters) that you want to search for in web requests, the location in requests that you want to search, and other settings.
- Name string
- The name or description of the Byte Match Set.
- byte
Match List<ByteTuples Match Set Byte Match Tuple> - Specifies the bytes (typically a string that corresponds with ASCII characters) that you want to search for in web requests, the location in requests that you want to search, and other settings.
- name String
- The name or description of the Byte Match Set.
- byte
Match ByteTuples Match Set Byte Match Tuple[] - Specifies the bytes (typically a string that corresponds with ASCII characters) that you want to search for in web requests, the location in requests that you want to search, and other settings.
- name string
- The name or description of the Byte Match Set.
- byte_
match_ Sequence[Bytetuples Match Set Byte Match Tuple Args] - Specifies the bytes (typically a string that corresponds with ASCII characters) that you want to search for in web requests, the location in requests that you want to search, and other settings.
- name str
- The name or description of the Byte Match Set.
- byte
Match List<Property Map>Tuples - Specifies the bytes (typically a string that corresponds with ASCII characters) that you want to search for in web requests, the location in requests that you want to search, and other settings.
- name String
- The name or description of the Byte Match Set.
Supporting Types
ByteMatchSetByteMatchTuple, ByteMatchSetByteMatchTupleArgs
- Field
To ByteMatch Match Set Byte Match Tuple Field To Match - The part of a web request that you want to search, such as a specified header or a query string.
- Positional
Constraint string - Within the portion of a web request that you want to search
(for example, in the query string, if any), specify where you want to search.
e.g.,
CONTAINS
,CONTAINS_WORD
orEXACTLY
. See docs for all supported values. - Text
Transformation string - Text transformations used to eliminate unusual formatting that attackers use in web requests in an effort to bypass AWS WAF.
If you specify a transformation, AWS WAF performs the transformation on
target_string
before inspecting a request for a match. e.g.,CMD_LINE
,HTML_ENTITY_DECODE
orNONE
. See docs for all supported values. - Target
String string - The value that you want to search for within the field specified by
field_to_match
, e.g.,badrefer1
. See docs for all supported values.
- Field
To ByteMatch Match Set Byte Match Tuple Field To Match - The part of a web request that you want to search, such as a specified header or a query string.
- Positional
Constraint string - Within the portion of a web request that you want to search
(for example, in the query string, if any), specify where you want to search.
e.g.,
CONTAINS
,CONTAINS_WORD
orEXACTLY
. See docs for all supported values. - Text
Transformation string - Text transformations used to eliminate unusual formatting that attackers use in web requests in an effort to bypass AWS WAF.
If you specify a transformation, AWS WAF performs the transformation on
target_string
before inspecting a request for a match. e.g.,CMD_LINE
,HTML_ENTITY_DECODE
orNONE
. See docs for all supported values. - Target
String string - The value that you want to search for within the field specified by
field_to_match
, e.g.,badrefer1
. See docs for all supported values.
- field
To ByteMatch Match Set Byte Match Tuple Field To Match - The part of a web request that you want to search, such as a specified header or a query string.
- positional
Constraint String - Within the portion of a web request that you want to search
(for example, in the query string, if any), specify where you want to search.
e.g.,
CONTAINS
,CONTAINS_WORD
orEXACTLY
. See docs for all supported values. - text
Transformation String - Text transformations used to eliminate unusual formatting that attackers use in web requests in an effort to bypass AWS WAF.
If you specify a transformation, AWS WAF performs the transformation on
target_string
before inspecting a request for a match. e.g.,CMD_LINE
,HTML_ENTITY_DECODE
orNONE
. See docs for all supported values. - target
String String - The value that you want to search for within the field specified by
field_to_match
, e.g.,badrefer1
. See docs for all supported values.
- field
To ByteMatch Match Set Byte Match Tuple Field To Match - The part of a web request that you want to search, such as a specified header or a query string.
- positional
Constraint string - Within the portion of a web request that you want to search
(for example, in the query string, if any), specify where you want to search.
e.g.,
CONTAINS
,CONTAINS_WORD
orEXACTLY
. See docs for all supported values. - text
Transformation string - Text transformations used to eliminate unusual formatting that attackers use in web requests in an effort to bypass AWS WAF.
If you specify a transformation, AWS WAF performs the transformation on
target_string
before inspecting a request for a match. e.g.,CMD_LINE
,HTML_ENTITY_DECODE
orNONE
. See docs for all supported values. - target
String string - The value that you want to search for within the field specified by
field_to_match
, e.g.,badrefer1
. See docs for all supported values.
- field_
to_ Bytematch Match Set Byte Match Tuple Field To Match - The part of a web request that you want to search, such as a specified header or a query string.
- positional_
constraint str - Within the portion of a web request that you want to search
(for example, in the query string, if any), specify where you want to search.
e.g.,
CONTAINS
,CONTAINS_WORD
orEXACTLY
. See docs for all supported values. - text_
transformation str - Text transformations used to eliminate unusual formatting that attackers use in web requests in an effort to bypass AWS WAF.
If you specify a transformation, AWS WAF performs the transformation on
target_string
before inspecting a request for a match. e.g.,CMD_LINE
,HTML_ENTITY_DECODE
orNONE
. See docs for all supported values. - target_
string str - The value that you want to search for within the field specified by
field_to_match
, e.g.,badrefer1
. See docs for all supported values.
- field
To Property MapMatch - The part of a web request that you want to search, such as a specified header or a query string.
- positional
Constraint String - Within the portion of a web request that you want to search
(for example, in the query string, if any), specify where you want to search.
e.g.,
CONTAINS
,CONTAINS_WORD
orEXACTLY
. See docs for all supported values. - text
Transformation String - Text transformations used to eliminate unusual formatting that attackers use in web requests in an effort to bypass AWS WAF.
If you specify a transformation, AWS WAF performs the transformation on
target_string
before inspecting a request for a match. e.g.,CMD_LINE
,HTML_ENTITY_DECODE
orNONE
. See docs for all supported values. - target
String String - The value that you want to search for within the field specified by
field_to_match
, e.g.,badrefer1
. See docs for all supported values.
ByteMatchSetByteMatchTupleFieldToMatch, ByteMatchSetByteMatchTupleFieldToMatchArgs
- Type string
- The part of the web request that you want AWS WAF to search for a specified string.
e.g.,
HEADER
,METHOD
orBODY
. See docs for all supported values. - Data string
- When
type
isHEADER
, enter the name of the header that you want to search, e.g.,User-Agent
orReferer
. Iftype
is any other value, omit this field.
- Type string
- The part of the web request that you want AWS WAF to search for a specified string.
e.g.,
HEADER
,METHOD
orBODY
. See docs for all supported values. - Data string
- When
type
isHEADER
, enter the name of the header that you want to search, e.g.,User-Agent
orReferer
. Iftype
is any other value, omit this field.
- type String
- The part of the web request that you want AWS WAF to search for a specified string.
e.g.,
HEADER
,METHOD
orBODY
. See docs for all supported values. - data String
- When
type
isHEADER
, enter the name of the header that you want to search, e.g.,User-Agent
orReferer
. Iftype
is any other value, omit this field.
- type string
- The part of the web request that you want AWS WAF to search for a specified string.
e.g.,
HEADER
,METHOD
orBODY
. See docs for all supported values. - data string
- When
type
isHEADER
, enter the name of the header that you want to search, e.g.,User-Agent
orReferer
. Iftype
is any other value, omit this field.
- type str
- The part of the web request that you want AWS WAF to search for a specified string.
e.g.,
HEADER
,METHOD
orBODY
. See docs for all supported values. - data str
- When
type
isHEADER
, enter the name of the header that you want to search, e.g.,User-Agent
orReferer
. Iftype
is any other value, omit this field.
- type String
- The part of the web request that you want AWS WAF to search for a specified string.
e.g.,
HEADER
,METHOD
orBODY
. See docs for all supported values. - data String
- When
type
isHEADER
, enter the name of the header that you want to search, e.g.,User-Agent
orReferer
. Iftype
is any other value, omit this field.
Import
Using pulumi import
, import WAF Byte Match Set using the id. For example:
$ pulumi import aws:waf/byteMatchSet:ByteMatchSet byte_set a1b2c3d4-d5f6-7777-8888-9999aaaabbbbcccc
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- AWS Classic pulumi/pulumi-aws
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
aws
Terraform Provider.