Connection module for Amazon Route53
New in version 2014.7.0.
This module accepts explicit route53 credentials but can also utilize IAM roles assigned to the instance through Instance Profiles. Dynamic credentials are then automatically obtained from AWS API and no further configuration is necessary. More Information available at:
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html
If IAM roles are not used you need to specify them either in a pillar or in the minion's config file:
route53.keyid: GKTADJGHEIQSXMKKRBJ08H
route53.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
A region may also be specified in the configuration:
route53.region: us-east-1
If a region is not specified, the default is 'universal', which is what the boto_route53 library expects, rather than None.
It's also possible to specify key, keyid and region via a profile, either as a passed in dict, or as a string to pull from pillars or minion config:
myprofile:
keyid: GKTADJGHEIQSXMKKRBJ08H
key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
region: us-east-1
boto
salt.modules.boto_route53.
add_record
(name, value, zone, record_type, identifier=None, ttl=None, region=None, key=None, keyid=None, profile=None, wait_for_sync=True, split_dns=False, private_zone=False, retry_on_rate_limit=None, rate_limit_retries=None, retry_on_errors=True, error_retries=5)¶Add a record to a zone.
CLI example:
salt myminion boto_route53.add_record test.example.org 1.1.1.1 example.org A
Continue to query if the zone exists after an error is raised. The previously used argument retry_on_rate_limit was deprecated for this argument. Users can still use retry_on_rate_limit to ensure backwards compatibility, but please migrate to using the favored retry_on_errors argument instead.
Number of times to attempt to query if the zone exists. The previously used argument rate_limit_retries was deprecated for this arguments. Users can still use rate_limit_retries to ensure backwards compatibility, but please migrate to using the favored error_retries argument instead.
salt.modules.boto_route53.
create_healthcheck
(ip_addr=None, fqdn=None, region=None, key=None, keyid=None, profile=None, port=53, hc_type='TCP', resource_path='', string_match=None, request_interval=30, failure_threshold=3, retry_on_errors=True, error_retries=5)¶Create a Route53 healthcheck
New in version 2018.3.0.
ip_addr
IP address to check. ip_addr or fqdn is required.
fqdn
Domain name of the endpoint to check. ip_addr or fqdn is required
port
Port to check
hc_type
Healthcheck type. HTTP | HTTPS | HTTP_STR_MATCH | HTTPS_STR_MATCH | TCP
resource_path
Path to check
string_match
If hc_type is HTTP_STR_MATCH or HTTPS_STR_MATCH, the string to search for in the response body from the specified resource
request_interval
The number of seconds between the time that Amazon Route 53 gets a response from your endpoint and the time that it sends the next health-check request.
failure_threshold
The number of consecutive health checks that an endpoint must pass or fail for Amazon Route 53 to change the current status of the endpoint from unhealthy to healthy or vice versa.
region
Region endpoint to connect to
key
AWS key
keyid
AWS keyid
profile
AWS pillar profile
CLI Example:
salt myminion boto_route53.create_healthcheck 192.168.0.1
salt myminion boto_route53.create_healthcheck 192.168.0.1 port=443 hc_type=HTTPS resource_path=/ fqdn=blog.saltstack.furniture
salt.modules.boto_route53.
create_hosted_zone
(domain_name, caller_ref=None, comment='', private_zone=False, vpc_id=None, vpc_name=None, vpc_region=None, region=None, key=None, keyid=None, profile=None)¶Create a new Route53 Hosted Zone. Returns a Python data structure with information about the newly created Hosted Zone.
The name of the domain. This must be fully-qualified, terminating with a period. This is the name you have registered with your domain registrar. It is also the name you will delegate from your registrar to the Amazon Route 53 delegation servers returned in response to this request.
A unique string that identifies the request and that allows create_hosted_zone() calls to be retried without the risk of executing the operation twice. It can take several minutes for the change to replicate globally, and change from PENDING to INSYNC status. Thus it's best to provide some value for this where possible, since duplicate calls while the first is in PENDING status will be accepted and can lead to multiple copies of the zone being created. On the other hand, if a zone is created with a given caller_ref, then deleted, a second attempt to create a zone with the same caller_ref will fail until that caller_ref is flushed from the Route53 system, which can take upwards of 24 hours.
Any comments you want to include about the hosted zone.
Set True if creating a private hosted zone.
When creating a private hosted zone, either the VPC ID or VPC Name to associate with is required. Exclusive with vpe_name. Ignored when creating a non-private zone.
When creating a private hosted zone, either the VPC ID or VPC Name to associate with is required. Exclusive with vpe_id. Ignored when creating a non-private zone.
When creating a private hosted zone, the region of the associated VPC is required. If not provided, an effort will be made to determine it from vpc_id or vpc_name, where possible. If this fails, you'll need to provide an explicit value for this option. Ignored when creating a non-private zone.
Region endpoint to connect to.
AWS key to bind with.
AWS keyid to bind with.
Dict, or pillar key pointing to a dict, containing AWS region/key/keyid.
CLI Example:
salt myminion boto_route53.create_hosted_zone example.org
salt.modules.boto_route53.
create_zone
(zone, private=False, vpc_id=None, vpc_region=None, region=None, key=None, keyid=None, profile=None)¶Create a Route53 hosted zone.
New in version 2015.8.0.
DNS zone to create
True/False if the zone will be a private zone
VPC ID to associate the zone to (required if private is True)
VPC Region (required if private is True)
region endpoint to connect to
AWS key
AWS keyid
AWS pillar profile
CLI Example:
salt myminion boto_route53.create_zone example.org
salt.modules.boto_route53.
delete_record
(name, zone, record_type, identifier=None, all_records=False, region=None, key=None, keyid=None, profile=None, wait_for_sync=True, split_dns=False, private_zone=False, retry_on_rate_limit=None, rate_limit_retries=None, retry_on_errors=True, error_retries=5)¶Modify a record in a zone.
CLI example:
salt myminion boto_route53.delete_record test.example.org example.org A
Continue to query if the zone exists after an error is raised. The previously used argument retry_on_rate_limit was deprecated for this argument. Users can still use retry_on_rate_limit to ensure backwards compatibility, but please migrate to using the favored retry_on_errors argument instead.
Number of times to attempt to query if the zone exists. The previously used argument rate_limit_retries was deprecated for this arguments. Users can still use rate_limit_retries to ensure backwards compatibility, but please migrate to using the favored error_retries argument instead.
salt.modules.boto_route53.
delete_zone
(zone, region=None, key=None, keyid=None, profile=None)¶Delete a Route53 hosted zone.
New in version 2015.8.0.
CLI Example:
salt myminion boto_route53.delete_zone example.org
salt.modules.boto_route53.
describe_hosted_zones
(zone_id=None, domain_name=None, region=None, key=None, keyid=None, profile=None)¶Return detailed info about one, or all, zones in the bound account. If neither zone_id nor domain_name is provided, return all zones. Note that the return format is slightly different between the 'all' and 'single' description types.
The unique identifier for the Hosted Zone
The FQDN of the Hosted Zone (including final period)
Region to connect to.
Secret key to be used.
Access key to be used.
A dict with region, key and keyid, or a pillar key (string) that contains a dict with region, key and keyid.
CLI Example:
salt myminion boto_route53.describe_hosted_zones domain_name=foo.bar.com. profile='{"region": "us-east-1", "keyid": "A12345678AB", "key": "xblahblahblah"}'
salt.modules.boto_route53.
get_record
(name, zone, record_type, fetch_all=False, region=None, key=None, keyid=None, profile=None, split_dns=False, private_zone=False, identifier=None, retry_on_rate_limit=None, rate_limit_retries=None, retry_on_errors=True, error_retries=5)¶Get a record from a zone.
CLI example:
salt myminion boto_route53.get_record test.example.org example.org A
Continue to query if the zone exists after an error is raised. The previously used argument retry_on_rate_limit was deprecated for this argument. Users can still use retry_on_rate_limit to ensure backwards compatibility, but please migrate to using the favored retry_on_errors argument instead.
Number of times to attempt to query if the zone exists. The previously used argument rate_limit_retries was deprecated for this arguments. Users can still use rate_limit_retries to ensure backwards compatibility, but please migrate to using the favored error_retries argument instead.
salt.modules.boto_route53.
list_all_zones_by_id
(region=None, key=None, keyid=None, profile=None)¶List, by their IDs, all hosted zones in the bound account.
Region to connect to.
Secret key to be used.
Access key to be used.
A dict with region, key and keyid, or a pillar key (string) that contains a dict with region, key and keyid.
CLI Example:
salt myminion boto_route53.list_all_zones_by_id
salt.modules.boto_route53.
list_all_zones_by_name
(region=None, key=None, keyid=None, profile=None)¶List, by their FQDNs, all hosted zones in the bound account.
Region to connect to.
Secret key to be used.
Access key to be used.
A dict with region, key and keyid, or a pillar key (string) that contains a dict with region, key and keyid.
CLI Example:
salt myminion boto_route53.list_all_zones_by_name
salt.modules.boto_route53.
update_record
(name, value, zone, record_type, identifier=None, ttl=None, region=None, key=None, keyid=None, profile=None, wait_for_sync=True, split_dns=False, private_zone=False, retry_on_rate_limit=None, rate_limit_retries=None, retry_on_errors=True, error_retries=5)¶Modify a record in a zone.
CLI example:
salt myminion boto_route53.modify_record test.example.org 1.1.1.1 example.org A
Continue to query if the zone exists after an error is raised. The previously used argument retry_on_rate_limit was deprecated for this argument. Users can still use retry_on_rate_limit to ensure backwards compatibility, but please migrate to using the favored retry_on_errors argument instead.
Number of times to attempt to query if the zone exists. The previously used argument rate_limit_retries was deprecated for this arguments. Users can still use rate_limit_retries to ensure backwards compatibility, but please migrate to using the favored error_retries argument instead.
salt.modules.boto_route53.
zone_exists
(zone, region=None, key=None, keyid=None, profile=None, retry_on_rate_limit=None, rate_limit_retries=None, retry_on_errors=True, error_retries=5)¶Check for the existence of a Route53 hosted zone.
New in version 2015.8.0.
CLI Example:
salt myminion boto_route53.zone_exists example.org
Continue to query if the zone exists after an error is raised. The previously used argument retry_on_rate_limit was deprecated for this argument. Users can still use retry_on_rate_limit to ensure backwards compatibility, but please migrate to using the favored retry_on_errors argument instead.
Number of times to attempt to query if the zone exists. The previously used argument rate_limit_retries was deprecated for this arguments. Users can still use rate_limit_retries to ensure backwards compatibility, but please migrate to using the favored error_retries argument instead.