Zone Args
Manages a Route53 Hosted Zone. For managing Domain Name System Security Extensions (DNSSEC), see the aws.route53.KeySigningKey
and aws.route53.HostedZoneDnsSec
resources.
Example Usage
Public Zone
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.route53.Zone;
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 primary = new Zone("primary");
}
}
Public Subdomain Zone
For use in subdomains, note that you need to create a aws.route53.Record
of type NS
as well as the subdomain zone.
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.route53.Zone;
import com.pulumi.aws.route53.ZoneArgs;
import com.pulumi.aws.route53.Record;
import com.pulumi.aws.route53.RecordArgs;
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 main = new Zone("main");
var dev = new Zone("dev", ZoneArgs.builder()
.tags(Map.of("Environment", "dev"))
.build());
var dev_ns = new Record("dev-ns", RecordArgs.builder()
.zoneId(main.zoneId())
.name("dev.example.com")
.type("NS")
.ttl("30")
.records(dev.nameServers())
.build());
}
}
Private Zone
NOTE: This provider provides both exclusive VPC associations defined in-line in this resource via
vpc
configuration blocks and a separateZone VPC Association resource. At this time, you cannot use in-line VPC associations in conjunction with any
aws.route53.ZoneAssociationresources with the same zone ID otherwise it will cause a perpetual difference in plan output. You can optionally use [
ignoreChanges](https://www.pulumi.com/docs/intro/concepts/programming-model/#ignorechanges) to manage additional associations via the
aws.route53.ZoneAssociation` resource. NOTE: Private zones require at least one VPC association at all times.
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.route53.Zone;
import com.pulumi.aws.route53.ZoneArgs;
import com.pulumi.aws.route53.inputs.ZoneVpcArgs;
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 private_ = new Zone("private", ZoneArgs.builder()
.vpcs(ZoneVpcArgs.builder()
.vpcId(aws_vpc.example().id())
.build())
.build());
}
}
Import
Route53 Zones can be imported using the zone id
, e.g.,
$ pulumi import aws:route53/zone:Zone myzone Z1D633PJN98FT9