community.aws.route53_info (4.3.0) — module

Retrieves route53 details using AWS methods

| "added in version" 1.0.0 of community.aws"

Authors: Karen Cheng (@Etherdaemon)

Install collection

Install with ansible-galaxy collection install community.aws:==4.3.0


Add to requirements.yml

  collections:
    - name: community.aws
      version: 4.3.0

Description

Gets various details related to Route53 zone, record set or health check details.


Requirements

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
# Simple example of listing all hosted zones
- name: List all hosted zones
  community.aws.route53_info:
    query: hosted_zone
  register: hosted_zones
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
# Getting a count of hosted zones
- name: Return a count of all hosted zones
  community.aws.route53_info:
    query: hosted_zone
    hosted_zone_method: count
  register: hosted_zone_count
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: List the first 20 resource record sets in a given hosted zone
  community.aws.route53_info:
    profile: account_name
    query: record_sets
    hosted_zone_id: ZZZ1111112222
    max_items: 20
  register: record_sets
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: List first 20 health checks
  community.aws.route53_info:
    query: health_check
    health_check_method: list
    max_items: 20
  register: health_checks
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Get health check last failure_reason
  community.aws.route53_info:
    query: health_check
    health_check_method: failure_reason
    health_check_id: 00000000-1111-2222-3333-12345678abcd
  register: health_check_failure_reason
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Retrieve reusable delegation set details
  community.aws.route53_info:
    query: reusable_delegation_set
    delegation_set_id: delegation id
  register: delegation_sets
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: setup of example for using next_marker
  community.aws.route53_info:
    query: hosted_zone
    max_items: 1
  register: first_info
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: example for using next_marker
  community.aws.route53_info:
    query: hosted_zone
    next_marker: "{{ first_info.NextMarker }}"
    max_items: 1
  when: "{{ 'NextMarker' in first_info }}"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: retrieve host entries starting with host1.workshop.test.io
  block:
    - name: grab zone id
      community.aws.route53_zone:
        zone: "test.io"
      register: AWSINFO

    - name: grab Route53 record information
      community.aws.route53_info:
        type: A
        query: record_sets
        hosted_zone_id: "{{ AWSINFO.zone_id }}"
        start_record_name: "host1.workshop.test.io"
      register: RECORDS

Inputs

    
type:
    choices:
    - A
    - CNAME
    - MX
    - AAAA
    - TXT
    - PTR
    - SRV
    - SPF
    - CAA
    - NS
    - NAPTR
    - SOA
    - DS
    description:
    - The type of DNS record.
    required: false
    type: str

query:
    choices:
    - change
    - checker_ip_range
    - health_check
    - hosted_zone
    - record_sets
    - reusable_delegation_set
    description:
    - Specifies the query action to take.
    required: true
    type: str

region:
    aliases:
    - aws_region
    - ec2_region
    description:
    - The AWS region to use. If not specified then the value of the AWS_REGION or EC2_REGION
      environment variable, if any, is used. See U(http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region)
    type: str

ec2_url:
    aliases:
    - aws_endpoint_url
    - endpoint_url
    description:
    - Url to use to connect to EC2 or your Eucalyptus cloud (by default the module will
      use EC2 endpoints). Ignored for modules where region is required. Must be specified
      for all other modules if region is not used. If not set then the value of the EC2_URL
      environment variable, if any, is used.
    type: str

profile:
    aliases:
    - aws_profile
    description:
    - Uses a boto profile. Only works with boto >= 2.24.0.
    - Using I(profile) will override I(aws_access_key), I(aws_secret_key) and I(security_token)
      and support for passing them at the same time as I(profile) has been deprecated.
    - I(aws_access_key), I(aws_secret_key) and I(security_token) will be made mutually
      exclusive with I(profile) after 2022-06-01.
    type: str

dns_name:
    description:
    - The first name in the lexicographic ordering of domain names that you want the list_command
      to start listing from.
    required: false
    type: str

change_id:
    description:
    - The ID of the change batch request.
    - The value that you specify here is the value that ChangeResourceRecordSets returned
      in the Id element when you submitted the request.
    - Required if I(query=change).
    required: false
    type: str

max_items:
    description:
    - Maximum number of items to return for various get/list requests.
    required: false
    type: int

aws_config:
    description:
    - A dictionary to modify the botocore configuration.
    - Parameters can be found at U(https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config).
    - Only the 'user_agent' key is used for boto modules. See U(http://boto.cloudhackers.com/en/latest/boto_config_tut.html#boto)
      for more boto configuration.
    type: dict

next_marker:
    description:
    - 'Some requests such as list_command: hosted_zones will return a maximum number of
      entries - EG 100 or the number specified by I(max_items). If the number of entries
      exceeds this maximum another request can be sent using the NextMarker entry from
      the first response to get the next page of results.'
    required: false
    type: str

resource_id:
    aliases:
    - resource_ids
    description:
    - The ID/s of the specified resource/s.
    - Required if I(query=health_check) and I(health_check_method=tags).
    - Required if I(query=hosted_zone) and I(hosted_zone_method=tags).
    elements: str
    required: false
    type: list

aws_ca_bundle:
    description:
    - The location of a CA Bundle to use when validating SSL certificates.
    - Only used for boto3 based modules.
    - 'Note: The CA Bundle is read ''module'' side and may need to be explicitly copied
      from the controller if not run locally.'
    type: path

aws_access_key:
    aliases:
    - ec2_access_key
    - access_key
    description:
    - AWS access key. If not set then the value of the AWS_ACCESS_KEY_ID, AWS_ACCESS_KEY
      or EC2_ACCESS_KEY environment variable is used.
    - If I(profile) is set this parameter is ignored.
    - Passing the I(aws_access_key) and I(profile) options at the same time has been deprecated
      and the options will be made mutually exclusive after 2022-06-01.
    type: str

aws_secret_key:
    aliases:
    - ec2_secret_key
    - secret_key
    description:
    - AWS secret key. If not set then the value of the AWS_SECRET_ACCESS_KEY, AWS_SECRET_KEY,
      or EC2_SECRET_KEY environment variable is used.
    - If I(profile) is set this parameter is ignored.
    - Passing the I(aws_secret_key) and I(profile) options at the same time has been deprecated
      and the options will be made mutually exclusive after 2022-06-01.
    type: str

hosted_zone_id:
    description:
    - The Hosted Zone ID of the DNS zone.
    - Required if I(query) is set to I(hosted_zone) and I(hosted_zone_method) is set to
      I(details).
    - Required if I(query) is set to I(record_sets).
    required: false
    type: str

security_token:
    aliases:
    - aws_security_token
    - access_token
    description:
    - AWS STS security token. If not set then the value of the AWS_SECURITY_TOKEN or EC2_SECURITY_TOKEN
      environment variable is used.
    - If I(profile) is set this parameter is ignored.
    - Passing the I(security_token) and I(profile) options at the same time has been deprecated
      and the options will be made mutually exclusive after 2022-06-01.
    type: str

validate_certs:
    default: true
    description:
    - When set to "no", SSL certificates will not be validated for boto versions >= 2.6.0.
    type: bool

health_check_id:
    description:
    - The ID of the health check.
    - Required if C(query) is set to C(health_check) and C(health_check_method) is set
      to C(details) or C(status) or C(failure_reason).
    required: false
    type: str

delegation_set_id:
    description:
    - The DNS Zone delegation set ID.
    required: false
    type: str

start_record_name:
    description:
    - 'The first name in the lexicographic ordering of domain names that you want the
      list_command: record_sets to start listing from.'
    required: false
    type: str

hosted_zone_method:
    choices:
    - details
    - list
    - list_by_name
    - count
    - tags
    default: list
    description:
    - 'This is used in conjunction with query: hosted_zone. It allows for listing details,
      counts or tags of various hosted zone details.'
    required: false
    type: str

health_check_method:
    choices:
    - list
    - details
    - status
    - failure_reason
    - count
    - tags
    default: list
    description:
    - 'This is used in conjunction with query: health_check. It allows for listing details,
      counts or tags of various health check details.'
    required: false
    type: str

debug_botocore_endpoint_logs:
    default: 'no'
    description:
    - Use a botocore.endpoint logger to parse the unique (rather than total) "resource:action"
      API calls made during a task, outputing the set to the resource_actions key in the
      task results. Use the aws_resource_action callback to output to total list made
      during a playbook. The ANSIBLE_DEBUG_BOTOCORE_LOGS environment variable may also
      be used.
    type: bool

Outputs

CheckerIpRanges:
  description: A deprecated CamelCased list of IP ranges in CIDR format for Amazon
    Route 53 health checkers.\ This list contains same elements/parameters as it's
    snake_cased version mentioned abobe. \ This field is deprecated and will be removed
    in 6.0.0 version release.
  elements: str
  returned: when I(query=checker_ip_range)
  type: list
DelegationSets:
  description: A deprecated CamelCased list of dicts that contains information about
    the reusable delegation set. \ This list contains same elements/parameters as
    it's snake_cased version mentioned above. \ This field is deprecated and will
    be removed in 6.0.0 version release.
  elements: dict
  returned: when I(query=reusable_delegation_set)
  type: list
HealthCheck:
  description: A deprecated CamelCased dict of Route53 health check details returned
    by get_health_check_status in boto3. \ This dict contains same elements/parameters
    as it's snake_cased version mentioned above. \ This field is deprecated and will
    be removed in 6.0.0 version release.
  returned: when I(query=health_check) and I(health_check_method=details)
  type: dict
HealthChecks:
  description: A deprecated CamelCased list of Route53 health checks returned by list_health_checks
    in boto3. \ This list contains same elements/parameters as it's snake_cased version
    mentioned above. \ This field is deprecated and will be removed in 6.0.0 version
    release.
  elements: dict
  returned: when I(query=health_check)
  type: list
HostedZones:
  description: A deprecated CamelCased list of hosted zones returned by list_hosted_zones
    in boto3. \ This list contains same elements/parameters as it's snake_cased version
    mentioned above. \ This field is deprecated and will be removed in 6.0.0 version
    release.
  elements: dict
  returned: when I(query=hosted_zone)
  type: list
ResourceRecordSets:
  description: A deprecated CamelCased list of resource record sets returned by list_resource_record_sets
    in boto3. \ This list contains same elements/parameters as it's snake_cased version
    mentioned above. \ This field is deprecated and will be removed in 6.0.0 version
    release.
  elements: dict
  returned: when I(query=record_sets)
  type: list
checker_ip_ranges:
  description: A list of IP ranges in CIDR format for Amazon Route 53 health checkers.
  elements: str
  returned: when I(query=checker_ip_range)
  type: list
  version_added: 4.1.0
  version_added_collection: community.aws
delegation_sets:
  description: A list of dicts that contains information about the reusable delegation
    set.
  elements: dict
  returned: when I(query=reusable_delegation_set)
  type: list
  version_added: 4.1.0
  version_added_collection: community.aws
health_check:
  contains:
    caller_reference:
      description: A unique string that you specified when you created the health
        check.
      sample: 01d0db12-x0x9-12a3-1234-0z000z00zz0z
      type: str
    health_check_config:
      contains:
        disabled:
          description: Whether Route53 should stop performing health checks on a endpoint.
          sample: false
          type: bool
        enable_sni:
          description: Whether Route53 should send value of FullyQualifiedDomainName
            to endpoint in client_hello message during TLS negotiation.
          sample: true
          type: bool
        failure_threshold:
          description: The number of consecutive health checks that an endpoint must
            pass/fail for Route53 to change current status of endpoint.
          sample: 3
          type: int
        fully_qualified_domain_name:
          description: The fully qualified DNS name of the endpoint on which Route53
            performs health checks.
          sample: hello
          type: str
        inverted:
          description: Whether Route53 should invert the status of a health check.
          sample: false
          type: bool
        ip_address:
          description: The IPv4/IPv6 IP address of the endpoint that Route53 should
            perform health checks on.
          sample: 192.0.2.44
          type: str
        measure_latency:
          description: Whether Route53 should measure latency between health checkers
            in multiple AWS regions and the endpoint.
          sample: false
          type: bool
        port:
          description: The port of the endpoint that Route53 should perform health
            checks on.
          sample: 80
          type: int
        request_interval:
          description: The number of seconds between the time that Route53 gets a
            response from endpoint and the next health check request.
          sample: 30
          type: int
        resource_path:
          description: The path that Route53 requests when performing health checks.
          sample: /welcome.html
          type: str
        search_string:
          description: The string that Route53 uses to search for in the response
            body from specified resource.
          sample: test-string-to-match
          type: str
        type:
          description: The type of the health check.
          sample: HTTPS
          type: str
      description: A dict that contains detailed information about one health check.
      type: dict
    health_check_version:
      description: The version of the health check.
      sample: 1
      type: str
    id:
      description: The identifier that Amazon Route53 assigned to the health check
        at the time of creation.
      sample: 12345cdc-2cc4-1234-bed2-123456abc1a2
      type: str
  description: A dict of Route53 health check details returned by get_health_check_status
    in boto3.
  returned: when I(query=health_check) and I(health_check_method=details)
  type: dict
  version_added: 4.1.0
  version_added_collection: community.aws
health_checks:
  contains:
    caller_reference:
      description: A unique string that you specified when you created the health
        check.
      sample: 01d0db12-x0x9-12a3-1234-0z000z00zz0z
      type: str
    health_check_config:
      contains:
        disabled:
          description: Whether Route53 should stop performing health checks on a endpoint.
          sample: false
          type: bool
        enable_sni:
          description: Whether Route53 should send value of FullyQualifiedDomainName
            to endpoint in client_hello message during TLS negotiation.
          sample: true
          type: bool
        failure_threshold:
          description: The number of consecutive health checks that an endpoint must
            pass/fail for Route53 to change current status of endpoint.
          sample: 3
          type: int
        fully_qualified_domain_name:
          description: The fully qualified DNS name of the endpoint on which Route53
            performs health checks.
          sample: hello
          type: str
        inverted:
          description: Whether Route53 should invert the status of a health check.
          sample: false
          type: bool
        ip_address:
          description: The IPv4/IPv6 IP address of the endpoint that Route53 should
            perform health checks on.
          sample: 192.0.2.44
          type: str
        measure_latency:
          description: Whether Route53 should measure latency between health checkers
            in multiple AWS regions and the endpoint.
          sample: false
          type: bool
        port:
          description: The port of the endpoint that Route53 should perform health
            checks on.
          sample: 80
          type: int
        request_interval:
          description: The number of seconds between the time that Route53 gets a
            response from endpoint and the next health check request.
          sample: 30
          type: int
        resource_path:
          description: The path that Route53 requests when performing health checks.
          sample: /welcome.html
          type: str
        search_string:
          description: The string that Route53 uses to search for in the response
            body from specified resource.
          sample: test-string-to-match
          type: str
        type:
          description: The type of the health check.
          sample: HTTPS
          type: str
      description: A dict that contains detailed information about one health check.
      type: dict
    health_check_version:
      description: The version of the health check.
      sample: 1
      type: str
    id:
      description: The identifier that Amazon Route53 assigned to the health check
        at the time of creation.
      sample: 12345cdc-2cc4-1234-bed2-123456abc1a2
      type: str
  description: A list of Route53 health checks returned by list_health_checks in boto3.
  elements: dict
  returned: when I(query=health_check)
  type: list
  version_added: 4.0.0
  version_added_collection: community.aws
hosted_zones:
  contains:
    caller_reference:
      description: The value specified for CallerReference at the time of hosted zone
        creation.
      sample: 01d0db12-x0x9-12a3-1234-0z000z00zz0z
      type: str
    config:
      contains:
        comment:
          description: Any comments that included about in the hosted zone.
          sample: HostedZone created by Route53 Registrar
          type: str
        private_zone:
          description: A value that indicates whether this is a private hosted zone
            or not.
          sample: false
          type: bool
      description: A dict that contains Comment and PrivateZone elements.
      type: dict
    id:
      description: The ID of the hosted zone assigned by Amazon Route53 to the hosted
        zone at the creation time.
      sample: /hostedzone/Z01234567AB1234567890
      type: str
    name:
      description: The name of the domain.
      sample: example.io
      type: str
    resource_record_set_count:
      description: The number of resource record sets in the hosted zone.
      sample: 3
      type: int
  description: A list of hosted zones returned by list_hosted_zones in boto3.
  elements: dict
  returned: when I(query=hosted_zone)
  type: list
  version_added: 4.0.0
  version_added_collection: community.aws
resource_record_sets:
  contains:
    geo_location:
      contains:
        continent_code:
          description: The two-letter code for the continent.
          sample: NA
          type: str
        country_code:
          description: The two-letter code for a country.
          sample: US
          type: str
        subdivision_code:
          description: The two-letter code for a state of the United States
          sample: NY
          type: str
      description: The specified geographic location for which the Route53 responds
        to based on location.
      elements: str
      type: dict
    name:
      description: The name of a record in the specified hosted zone.
      sample: www.example.com
      type: str
    resource_records:
      contains:
        value:
          description: The current or new DNS record value.
          sample: ns-12.awsdns-34.com.
          type: str
      description: Information about the resource records.
      elements: dict
      type: list
    set_identifier:
      description: An identifier that differentiates among multiple resource record
        sets that have the same combination of name and type.
      sample: abcd
      type: str
    ttl:
      description: The resource record cache time to live (TTL), in seconds.
      sample: 60
      type: int
    type:
      description: The DNS record type.
      sample: A
      type: str
  description: A list of resource record sets returned by list_resource_record_sets
    in boto3.
  elements: dict
  returned: when I(query=record_sets)
  type: list
  version_added: 4.0.0
  version_added_collection: community.aws