DragonFly On-Line Manual Pages

Search: Section:  


ROUTE53(1)            User Contributed Perl Documentation           ROUTE53(1)

NAME

route53 - Manage your DNS entries on Amazon's Route53 service

DESCRIPTION

route53 will manage your Amazon Route 53 account

SYNOPSIS

route53 {key and id} [options] action [action arguments] Either "-keyfile" and "-keyname" or "-id" and "-key" must be provided. OPTIONS -keyfile The file which contains the keys and ids for the Route53 service, in the format used by Amazon's "route53.pl" script: %awsSecretAccessKeys = ( "my-aws-account" => { id => "ABCDEFG", key => "12345", }, ); Defaults to "~/.aws-secrets" when not given. -keyname The name of the key to be used; in the above "-keyfile" example, it could be "my-aws-account". -id The AWS id to be used; in the above example it could be "ABCDEFG". -key The AWS key to be used; in the above example it could be 12345. -wait For the commands which support it, waits for the change requested to be in "INSYNC" status before returning. This is done by querying for the change status every 2 seconds until the change is "INSYNC". Defaults to 0, meaning the requests return immediately. -help Prints the help page and exits -man Prints the manual page and exits

ARGUMENTS

route53 performs a number of actions, each of which may take a number of arguments: list Lists the hosted zones currently associated with the account. Takes no arguments. nameservers Lists the nameservers for all the hosted zones currently associated with the account. Takes a hosted zone name as an optional argument to just show the nameservers associated with that zone. zone Performs actions on a specific DNS zone. If a zone name is given, rather than an action, it shows the nameservers associated with the zone. Possible actions are: create Needs "--comment" and optional "--callerreference". Creates a new zone. Supports the "--wait" option. delete Deletes the zone. The zone needs to be empty (containing only NS and SOA entries) before Amazon's Route53 allows its deletion. Supports the "--wait" option. record Performs actions on a specific DNS zone record. A DNS zone name must be given. If no action is provided, it lists all records for the zone. Possible actions are: list This is the default action if no action is specified. Lists all DNS records for the zone. If a "--type" is given, it lists only the records of the given type. If a "--name" is given, it lists only the records which have the given name. If a "--ttl" is given, it lists only the records which have the given TTL. If a "--value" is given, it lists only the records which have a value matching the given one. Wildcard records (i.e. "*.example.com") are displayed as "\052.example.com". The same format must be used to create a wildcard record. delete Deletes one DNS record for the zone given. Can only delete a record which is univocally identified by filtering the records list by "--name", "--type", "--ttl" and "--value". Dies listing the matching records if too many entries match. Supports the "--wait" option. create Creates a DNS record for the zone given. Needs all the following options in order to create the record: "--name", "--type", "--ttl" and one or more "--value". Supports the "--wait" option.

EXAMPLES

Specify your credentials You need to specify your credentials with one of the following notations. All the examples below use the "--keyname" notation, defaulting to using the "~/.aws-secrets" file. # Uses ~/.aws-secrets as repository, key name is specified $ route53 --keyname my-aws-keyname # Uses the given key file and key name $ route53 --keyfile ~/.aws --keyname my-aws-keyname # Uses the given key and id $ route53 --key ABCDE --id DEFG List your zones Lists the zones names, ids and comments: $ route53 --keyname my-aws-account list Hosted zone: id: /hostedzone/ABCDEFG name: example.com. callerreference: FGHIJK comment: Zone for example.com. Hosted zone: id: /hostedzone/FGHJKL name: anotherexample.com. callerreference: QWERTY comment: Zone for anotherexample.com. Get all nameservers (and details) for all zones Displays a verbose list of the zone details and the nameservers which are authoritative for the zone: $ route53 --keyname my-aws-account nameservers Hosted zone: id: /hostedzone/ABCDEFG name: example.com. callerreference: FGHIJK comment: Zone for example.com. nameserver: ns-123.awsdns-123.com nameserver: ns-123.awsdns-123.co.uk nameserver: ns-123.awsdns-123.org Hosted zone: id: /hostedzone/FGHJKL name: anotherexample.com. callerreference: QWERTY comment: Zone for anotherexample.com. nameserver: ns-456.awsdns-456.com nameserver: ns-456.awsdns-456.co.uk nameserver: ns-456.awsdns-456.org Get just the nameservers for a specific zone Displays a terse list of the nameservers, one per line: $ route53 --keyname my-aws-account nameservers example.com. ns-123.awsdns-123.com ns-123.awsdns-123.co.uk ns-123.awsdns-123.org This allows the nameservers to be used in scripting: $ for nameserver in $( route53 --keyname my-aws-account nameservers example.com. ); do # do whatever you want with $nameserver done; Create a new zone Creates a new zone: $ route53 --keyname my-aws-account zone create example.com. \ --comment 'Zone for example.com.' --callerreference 'unique id for this' You can optionally specify "--wait" to wait for the zone to have been effectively created. Otherwise the command returns as soon as the request has been sent to Route 53. Delete a zone Deletes a zone (assuming the zone contains only "SOA" and "NS" records): $ route53 --keyname my-aws-account zone delete example.com. You can optionally specify "--wait" to wait for the zone to have been effectively deleted. Otherwise the command returns as soon as the request has been sent to Route 53. List all DNS records for a zone Lists all DNS records for a zone: $ route53 --keyname my-aws-account record list example.com. example.com. A 14400 127.0.0.1 example.com. MX 14400 127.0.0.1 example.com. NS 172800 ns-123.awsdns-123.com. ns-123.awsdns-123.co.uk. ns-123.awsdns-123.org. example.com. SOA 900 ns-123.awsdns-123.com. awsdns-hostmaster.amazon.com. 1 7200 900 1209600 86400 \052.example.com. A 300 127.0.0.1 You can optionally specify "--type" to display only DNS records of a given type: $ route53 --keyname my-aws-account record list example.com. --type A example.com. A 14400 127.0.0.1 \052.example.com. A 300 127.0.0.1 Delete a specific DNS record for a zone This example assumes we want to remove the "\052.example.com." entry. One can check which parameters are needed to get the correct entry with the "record list" first: $ route53 --keyname my-aws-account record list example.com. --type A example.com. A 14400 127.0.0.1 \052.example.com. A 300 127.0.0.1 $ route53 --keyname my-aws-account record list example.com. --type A --ttl 300 \052.example.com. A 300 127.0.0.1 Or can read the error message given in case there are too many matching records: $ route53 --keyname my-aws-account record delete example.com. --type A Too many records match: example.com. A 14400 127.0.0.1 \052.example.com. A 300 127.0.0.1 The lone record deletion: $ route53 --keyname my-aws-account record delete example.com. --type A --ttl 300 Create a new DNS record for the zone This adds a new record for the zone: $ route53 --keyname my-aws-account record create example.com. \ --name test.example.com. --type A --ttl 300 \ --value 127.0.0.1

AUTHOR

Marco FONTANI <mfontani@cpan.org>

COPYRIGHT AND LICENSE

This software is copyright (c) 2011 by Marco FONTANI. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. perl v5.20.2 2012-08-18 ROUTE53(1)

Search: Section: