ResolverRuleArgs

data class ResolverRuleArgs(val domainName: Output<String>? = null, val name: Output<String>? = null, val resolverEndpointId: Output<String>? = null, val ruleType: Output<String>? = null, val tags: Output<Map<String, String>>? = null, val targetIps: Output<List<ResolverRuleTargetIpArgs>>? = null) : ConvertibleToJava<ResolverRuleArgs>

Provides a Route53 Resolver rule.

Example Usage

System rule

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const sys = new aws.route53.ResolverRule("sys", {
domainName: "subdomain.example.com",
ruleType: "SYSTEM",
});
import pulumi
import pulumi_aws as aws
sys = aws.route53.ResolverRule("sys",
domain_name="subdomain.example.com",
rule_type="SYSTEM")
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var sys = new Aws.Route53.ResolverRule("sys", new()
{
DomainName = "subdomain.example.com",
RuleType = "SYSTEM",
});
});
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 {
_, err := route53.NewResolverRule(ctx, "sys", &route53.ResolverRuleArgs{
DomainName: pulumi.String("subdomain.example.com"),
RuleType: pulumi.String("SYSTEM"),
})
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.ResolverRule;
import com.pulumi.aws.route53.ResolverRuleArgs;
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 sys = new ResolverRule("sys", ResolverRuleArgs.builder()
.domainName("subdomain.example.com")
.ruleType("SYSTEM")
.build());
}
}
resources:
sys:
type: aws:route53:ResolverRule
properties:
domainName: subdomain.example.com
ruleType: SYSTEM

Forward rule

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const fwd = new aws.route53.ResolverRule("fwd", {
domainName: "example.com",
name: "example",
ruleType: "FORWARD",
resolverEndpointId: foo.id,
targetIps: [{
ip: "123.45.67.89",
}],
tags: {
Environment: "Prod",
},
});
import pulumi
import pulumi_aws as aws
fwd = aws.route53.ResolverRule("fwd",
domain_name="example.com",
name="example",
rule_type="FORWARD",
resolver_endpoint_id=foo["id"],
target_ips=[aws.route53.ResolverRuleTargetIpArgs(
ip="123.45.67.89",
)],
tags={
"Environment": "Prod",
})
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var fwd = new Aws.Route53.ResolverRule("fwd", new()
{
DomainName = "example.com",
Name = "example",
RuleType = "FORWARD",
ResolverEndpointId = foo.Id,
TargetIps = new[]
{
new Aws.Route53.Inputs.ResolverRuleTargetIpArgs
{
Ip = "123.45.67.89",
},
},
Tags =
{
{ "Environment", "Prod" },
},
});
});
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 {
_, err := route53.NewResolverRule(ctx, "fwd", &route53.ResolverRuleArgs{
DomainName: pulumi.String("example.com"),
Name: pulumi.String("example"),
RuleType: pulumi.String("FORWARD"),
ResolverEndpointId: pulumi.Any(foo.Id),
TargetIps: route53.ResolverRuleTargetIpArray{
&route53.ResolverRuleTargetIpArgs{
Ip: pulumi.String("123.45.67.89"),
},
},
Tags: pulumi.StringMap{
"Environment": pulumi.String("Prod"),
},
})
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.ResolverRule;
import com.pulumi.aws.route53.ResolverRuleArgs;
import com.pulumi.aws.route53.inputs.ResolverRuleTargetIpArgs;
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 fwd = new ResolverRule("fwd", ResolverRuleArgs.builder()
.domainName("example.com")
.name("example")
.ruleType("FORWARD")
.resolverEndpointId(foo.id())
.targetIps(ResolverRuleTargetIpArgs.builder()
.ip("123.45.67.89")
.build())
.tags(Map.of("Environment", "Prod"))
.build());
}
}
resources:
fwd:
type: aws:route53:ResolverRule
properties:
domainName: example.com
name: example
ruleType: FORWARD
resolverEndpointId: ${foo.id}
targetIps:
- ip: 123.45.67.89
tags:
Environment: Prod

Import

Using pulumi import, import Route53 Resolver rules using the id. For example:

$ pulumi import aws:route53/resolverRule:ResolverRule sys rslvr-rr-0123456789abcdef0

Constructors

Link copied to clipboard
fun ResolverRuleArgs(domainName: Output<String>? = null, name: Output<String>? = null, resolverEndpointId: Output<String>? = null, ruleType: Output<String>? = null, tags: Output<Map<String, String>>? = null, targetIps: Output<List<ResolverRuleTargetIpArgs>>? = null)

Functions

Link copied to clipboard
open override fun toJava(): ResolverRuleArgs

Properties

Link copied to clipboard
val domainName: Output<String>? = null

DNS queries for this domain name are forwarded to the IP addresses that are specified using target_ip.

Link copied to clipboard
val name: Output<String>? = null

A friendly name that lets you easily find a rule in the Resolver dashboard in the Route 53 console.

Link copied to clipboard
val resolverEndpointId: Output<String>? = null

The ID of the outbound resolver endpoint that you want to use to route DNS queries to the IP addresses that you specify using target_ip. This argument should only be specified for FORWARD type rules.

Link copied to clipboard
val ruleType: Output<String>? = null

The rule type. Valid values are FORWARD, SYSTEM and RECURSIVE.

Link copied to clipboard
val tags: Output<Map<String, String>>? = null

A map of tags to assign to the resource. .If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

Link copied to clipboard

Configuration block(s) indicating the IPs that you want Resolver to forward DNS queries to (documented below). This argument should only be specified for FORWARD type rules.