# salt.modules.boto_route53

Connection module for Amazon Route53

Added 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

  Added 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.

  Added 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.

  Added 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.

  Added 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.