Merge pull request #2489 from jimbydamonk/evaluate_targe_health
Add evaluate taget health for alias based records
This commit is contained in:
commit
18284d18a3
1 changed files with 60 additions and 38 deletions
|
@ -64,6 +64,12 @@ options:
|
|||
required: false
|
||||
version_added: "1.9"
|
||||
default: null
|
||||
alias_evaluate_target_health:
|
||||
description:
|
||||
- Whether or not to evaluate an alias target health. Useful for aliases to Elastic Load Balancers.
|
||||
required: false
|
||||
version_added: "2.0"
|
||||
default: false
|
||||
value:
|
||||
description:
|
||||
- The new value when creating a DNS record. Multiple comma-spaced values are allowed for non-alias records. When deleting a record all values for the record must be specified or Route53 will not delete it.
|
||||
|
@ -131,7 +137,9 @@ options:
|
|||
required: false
|
||||
default: null
|
||||
version_added: "2.0"
|
||||
author: "Bruce Pennypacker (@bpennypacker)"
|
||||
author:
|
||||
- "Bruce Pennypacker (@bpennypacker)"
|
||||
- "Mike Buzzetti <mike.buzzetti@gmail.com>"
|
||||
extends_documentation_fragment: aws
|
||||
'''
|
||||
|
||||
|
@ -194,6 +202,17 @@ EXAMPLES = '''
|
|||
alias=True
|
||||
alias_hosted_zone_id="{{ elb_zone_id }}"
|
||||
|
||||
# Add an alias record that points to an Amazon ELB and evaluates it health:
|
||||
- route53:
|
||||
command=create
|
||||
zone=foo.com
|
||||
record=elb.foo.com
|
||||
type=A
|
||||
value="{{ elb_dns_name }}"
|
||||
alias=True
|
||||
alias_hosted_zone_id="{{ elb_zone_id }}"
|
||||
alias_evaluate_target_health=True
|
||||
|
||||
# Add an AAAA record with Hosted Zone ID. Note that because there are colons in the value
|
||||
# that the entire parameter list must be quoted:
|
||||
- route53:
|
||||
|
@ -291,6 +310,7 @@ def main():
|
|||
type = dict(choices=['A', 'CNAME', 'MX', 'AAAA', 'TXT', 'PTR', 'SRV', 'SPF', 'NS'], required=True),
|
||||
alias = dict(required=False, type='bool'),
|
||||
alias_hosted_zone_id = dict(required=False),
|
||||
alias_evaluate_target_health = dict(required=False, type='bool', default=False),
|
||||
value = dict(required=False),
|
||||
overwrite = dict(required=False, type='bool'),
|
||||
retry_interval = dict(required=False, default=500),
|
||||
|
@ -317,6 +337,7 @@ def main():
|
|||
value_in = module.params.get('value')
|
||||
alias_in = module.params.get('alias')
|
||||
alias_hosted_zone_id_in = module.params.get('alias_hosted_zone_id')
|
||||
alias_evaluate_target_health_in = module.params.get('alias_evaluate_target_health')
|
||||
retry_interval_in = module.params.get('retry_interval')
|
||||
private_zone_in = module.params.get('private_zone')
|
||||
identifier_in = module.params.get('identifier')
|
||||
|
@ -378,7 +399,7 @@ def main():
|
|||
health_check=health_check_in, failover=failover_in)
|
||||
for v in value_list:
|
||||
if alias_in:
|
||||
wanted_rset.set_alias(alias_hosted_zone_id_in, v)
|
||||
wanted_rset.set_alias(alias_hosted_zone_id_in, v, alias_evaluate_target_health_in)
|
||||
else:
|
||||
wanted_rset.add_value(v)
|
||||
|
||||
|
@ -413,6 +434,7 @@ def main():
|
|||
record['value'] = rset.alias_dns_name
|
||||
record['values'] = [rset.alias_dns_name]
|
||||
record['alias_hosted_zone_id'] = rset.alias_hosted_zone_id
|
||||
record['alias_evaluate_target_health'] = rset.alias_evaluate_target_health
|
||||
else:
|
||||
record['alias'] = False
|
||||
record['value'] = ','.join(sorted(rset.resource_records))
|
||||
|
|
Loading…
Reference in a new issue