Resolver Firewall Rule Args
Provides a Route 53 Resolver DNS Firewall rule resource.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = new aws.route53.ResolverFirewallDomainList("example", {
name: "example",
domains: ["example.com"],
tags: {},
});
const exampleResolverFirewallRuleGroup = new aws.route53.ResolverFirewallRuleGroup("example", {
name: "example",
tags: {},
});
const exampleResolverFirewallRule = new aws.route53.ResolverFirewallRule("example", {
name: "example",
action: "BLOCK",
blockOverrideDnsType: "CNAME",
blockOverrideDomain: "example.com",
blockOverrideTtl: 1,
blockResponse: "OVERRIDE",
firewallDomainListId: example.id,
firewallRuleGroupId: exampleResolverFirewallRuleGroup.id,
priority: 100,
});
import pulumi
import pulumi_aws as aws
example = aws.route53.ResolverFirewallDomainList("example",
name="example",
domains=["example.com"],
tags={})
example_resolver_firewall_rule_group = aws.route53.ResolverFirewallRuleGroup("example",
name="example",
tags={})
example_resolver_firewall_rule = aws.route53.ResolverFirewallRule("example",
name="example",
action="BLOCK",
block_override_dns_type="CNAME",
block_override_domain="example.com",
block_override_ttl=1,
block_response="OVERRIDE",
firewall_domain_list_id=example.id,
firewall_rule_group_id=example_resolver_firewall_rule_group.id,
priority=100)
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var example = new Aws.Route53.ResolverFirewallDomainList("example", new()
{
Name = "example",
Domains = new[]
{
"example.com",
},
Tags = null,
});
var exampleResolverFirewallRuleGroup = new Aws.Route53.ResolverFirewallRuleGroup("example", new()
{
Name = "example",
Tags = null,
});
var exampleResolverFirewallRule = new Aws.Route53.ResolverFirewallRule("example", new()
{
Name = "example",
Action = "BLOCK",
BlockOverrideDnsType = "CNAME",
BlockOverrideDomain = "example.com",
BlockOverrideTtl = 1,
BlockResponse = "OVERRIDE",
FirewallDomainListId = example.Id,
FirewallRuleGroupId = exampleResolverFirewallRuleGroup.Id,
Priority = 100,
});
});
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
example, err := route53.NewResolverFirewallDomainList(ctx, "example", &route53.ResolverFirewallDomainListArgs{
Name: pulumi.String("example"),
Domains: pulumi.StringArray{
pulumi.String("example.com"),
},
Tags: pulumi.StringMap{},
})
if err != nil {
return err
}
exampleResolverFirewallRuleGroup, err := route53.NewResolverFirewallRuleGroup(ctx, "example", &route53.ResolverFirewallRuleGroupArgs{
Name: pulumi.String("example"),
Tags: pulumi.StringMap{},
})
if err != nil {
return err
}
_, err = route53.NewResolverFirewallRule(ctx, "example", &route53.ResolverFirewallRuleArgs{
Name: pulumi.String("example"),
Action: pulumi.String("BLOCK"),
BlockOverrideDnsType: pulumi.String("CNAME"),
BlockOverrideDomain: pulumi.String("example.com"),
BlockOverrideTtl: pulumi.Int(1),
BlockResponse: pulumi.String("OVERRIDE"),
FirewallDomainListId: example.ID(),
FirewallRuleGroupId: exampleResolverFirewallRuleGroup.ID(),
Priority: pulumi.Int(100),
})
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.aws.route53.ResolverFirewallDomainList;
import com.pulumi.aws.route53.ResolverFirewallDomainListArgs;
import com.pulumi.aws.route53.ResolverFirewallRuleGroup;
import com.pulumi.aws.route53.ResolverFirewallRuleGroupArgs;
import com.pulumi.aws.route53.ResolverFirewallRule;
import com.pulumi.aws.route53.ResolverFirewallRuleArgs;
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 example = new ResolverFirewallDomainList("example", ResolverFirewallDomainListArgs.builder()
.name("example")
.domains("example.com")
.tags(Map.ofEntries(
))
.build());
var exampleResolverFirewallRuleGroup = new ResolverFirewallRuleGroup("exampleResolverFirewallRuleGroup", ResolverFirewallRuleGroupArgs.builder()
.name("example")
.tags(Map.ofEntries(
))
.build());
var exampleResolverFirewallRule = new ResolverFirewallRule("exampleResolverFirewallRule", ResolverFirewallRuleArgs.builder()
.name("example")
.action("BLOCK")
.blockOverrideDnsType("CNAME")
.blockOverrideDomain("example.com")
.blockOverrideTtl(1)
.blockResponse("OVERRIDE")
.firewallDomainListId(example.id())
.firewallRuleGroupId(exampleResolverFirewallRuleGroup.id())
.priority(100)
.build());
}
}
resources:
example:
type: aws:route53:ResolverFirewallDomainList
properties:
name: example
domains:
- example.com
tags: {}
exampleResolverFirewallRuleGroup:
type: aws:route53:ResolverFirewallRuleGroup
name: example
properties:
name: example
tags: {}
exampleResolverFirewallRule:
type: aws:route53:ResolverFirewallRule
name: example
properties:
name: example
action: BLOCK
blockOverrideDnsType: CNAME
blockOverrideDomain: example.com
blockOverrideTtl: 1
blockResponse: OVERRIDE
firewallDomainListId: ${example.id}
firewallRuleGroupId: ${exampleResolverFirewallRuleGroup.id}
priority: 100
Import
Using pulumi import
, import Route 53 Resolver DNS Firewall rules using the Route 53 Resolver DNS Firewall rule group ID and domain list ID separated by ':'. For example:
$ pulumi import aws:route53/resolverFirewallRule:ResolverFirewallRule example rslvr-frg-0123456789abcdef:rslvr-fdl-0123456789abcdef
Constructors
Properties
The DNS record's type. This determines the format of the record value that you provided in BlockOverrideDomain. Value values: CNAME
.
The custom DNS record to send back in response to the query.
The recommended amount of time, in seconds, for the DNS resolver or web browser to cache the provided override record. Minimum value of 0. Maximum value of 604800.
The way that you want DNS Firewall to block the request. Valid values: NODATA
, NXDOMAIN
, OVERRIDE
.
The ID of the domain list that you want to use in the rule.
Evaluate DNS redirection in the DNS redirection chain, such as CNAME, DNAME, ot ALIAS. Valid values are INSPECT_REDIRECTION_DOMAIN
and TRUST_REDIRECTION_DOMAIN
. Default value is INSPECT_REDIRECTION_DOMAIN
.
The unique identifier of the firewall rule group where you want to create the rule.