amazonka-route53-1.3.0: Amazon Route 53 SDK.

Copyright(c) 2013-2015 Brendan Hay
LicenseMozilla Public License, v. 2.0.
MaintainerBrendan Hay <>
Portabilitynon-portable (GHC extensions)
Safe HaskellNone




This action creates a new hosted zone.

To create a new hosted zone, send a POST request to the '2013-04-01\/hostedzone' resource. The request body must include an XML document with a CreateHostedZoneRequest element. The response returns the CreateHostedZoneResponse element that contains metadata about the hosted zone.

Route 53 automatically creates a default SOA record and four NS records for the zone. The NS records in the hosted zone are the name servers you give your registrar to delegate your domain to. For more information about SOA and NS records, see NS and SOA Records that Route 53 Creates for a Hosted Zone in the Amazon Route 53 Developer Guide.

When you create a zone, its initial status is PENDING. This means that it is not yet available on all DNS servers. The status of the zone changes to INSYNC when the NS and SOA records are available on all Route 53 DNS servers.

When trying to create a hosted zone using a reusable delegation set, you could specify an optional DelegationSetId, and Route53 would assign those 4 NS records for the zone, instead of alloting a new one.

See: AWS API Reference for CreateHostedZone.


Creating a Request

createHostedZone Source

Creates a value of CreateHostedZone with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

Request Lenses

chzDelegationSetId :: Lens' CreateHostedZone (Maybe Text) Source

The delegation set id of the reusable delgation set whose NS records you want to assign to the new hosted zone.

chzVPC :: Lens' CreateHostedZone (Maybe VPC) Source

The VPC that you want your hosted zone to be associated with. By providing this parameter, your newly created hosted cannot be resolved anywhere other than the given VPC.

chzHostedZoneConfig :: Lens' CreateHostedZone (Maybe HostedZoneConfig) Source

A complex type that contains an optional comment about your hosted zone.

chzName :: Lens' CreateHostedZone Text Source

The name of the domain. This must be a fully-specified domain, for example, The trailing dot is optional; Route 53 assumes that the domain name is fully qualified. This means that Route 53 treats (without a trailing dot) and (with a trailing dot) as identical.

This is the name you have registered with your DNS registrar. You should ask your registrar to change the authoritative name servers for your domain to the set of NameServers elements returned in DelegationSet.

chzCallerReference :: Lens' CreateHostedZone Text Source

A unique string that identifies the request and that allows failed CreateHostedZone requests to be retried without the risk of executing the operation twice. You must use a unique CallerReference string every time you create a hosted zone. CallerReference can be any unique string; you might choose to use a string that identifies your project, such as DNSMigration_01.

Valid characters are any Unicode code points that are legal in an XML 1.0 document. The UTF-8 encoding of the value must be less than 128 bytes.

Destructuring the Response

Response Lenses

chzrsHostedZone :: Lens' CreateHostedZoneResponse HostedZone Source

A complex type that contains identifying information about the hosted zone.

chzrsChangeInfo :: Lens' CreateHostedZoneResponse ChangeInfo Source

A complex type that contains information about the request to create a hosted zone. This includes an ID that you use when you call the GetChange action to get the current status of the change request.

chzrsDelegationSet :: Lens' CreateHostedZoneResponse DelegationSet Source

A complex type that contains name server information.

chzrsLocation :: Lens' CreateHostedZoneResponse Text Source

The unique URL representing the new hosted zone.