salt.modules.boto_route53

Connection module for Amazon Route53

New in version 2014.7.0.

configuration

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
depends

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
retry_on_errors

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.

error_retries

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.

domain_name

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.

caller_ref

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.

comment

Any comments you want to include about the hosted zone.

private_zone

Set True if creating a private hosted zone.

vpc_id

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.

vpc_name

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.

vpc_region

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

Region endpoint to connect to.

key

AWS key to bind with.

keyid

AWS keyid to bind with.

profile

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.

zone

DNS zone to create

private

True/False if the zone will be a private zone

vpc_id

VPC ID to associate the zone to (required if private is True)

vpc_region

VPC Region (required if private is True)

region

region endpoint to connect to

key

AWS key

keyid

AWS keyid

profile

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
retry_on_errors

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.

error_retries

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.

zone_id

The unique identifier for the Hosted Zone

domain_name

The FQDN of the Hosted Zone (including final period)

region

Region to connect to.

key

Secret key to be used.

keyid

Access key to be used.

profile

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
retry_on_errors

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.

error_retries

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

Region to connect to.

key

Secret key to be used.

keyid

Access key to be used.

profile

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

Region to connect to.

key

Secret key to be used.

keyid

Access key to be used.

profile

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
retry_on_errors

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.

error_retries

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
retry_on_errors

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.

error_retries

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.