mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
[aws] add support for http2 to AWS ALB (#40372)
This commit is contained in:
parent
21b99bff94
commit
b87e1a023d
2 changed files with 20 additions and 8 deletions
|
@ -228,6 +228,7 @@ class ApplicationLoadBalancer(ElasticLoadBalancerV2):
|
||||||
self.access_logs_s3_bucket = module.params.get("access_logs_s3_bucket")
|
self.access_logs_s3_bucket = module.params.get("access_logs_s3_bucket")
|
||||||
self.access_logs_s3_prefix = module.params.get("access_logs_s3_prefix")
|
self.access_logs_s3_prefix = module.params.get("access_logs_s3_prefix")
|
||||||
self.idle_timeout = module.params.get("idle_timeout")
|
self.idle_timeout = module.params.get("idle_timeout")
|
||||||
|
self.http2 = module.params.get("http2")
|
||||||
|
|
||||||
if self.elb is not None and self.elb['Type'] != 'application':
|
if self.elb is not None and self.elb['Type'] != 'application':
|
||||||
self.module.fail_json(msg="The load balancer type you are trying to manage is not application. Try elb_network_lb module instead.")
|
self.module.fail_json(msg="The load balancer type you are trying to manage is not application. Try elb_network_lb module instead.")
|
||||||
|
@ -271,20 +272,18 @@ class ApplicationLoadBalancer(ElasticLoadBalancerV2):
|
||||||
|
|
||||||
update_attributes = []
|
update_attributes = []
|
||||||
|
|
||||||
if self.access_logs_enabled and self.elb_attributes['access_logs_s3_enabled'] != "true":
|
if self.access_logs_enabled is not None and str(self.access_logs_enabled).lower() != self.elb_attributes['access_logs_s3_enabled']:
|
||||||
update_attributes.append({'Key': 'access_logs.s3.enabled', 'Value': "true"})
|
update_attributes.append({'Key': 'access_logs.s3.enabled', 'Value': str(self.access_logs_enabled).lower()})
|
||||||
if not self.access_logs_enabled and self.elb_attributes['access_logs_s3_enabled'] != "false":
|
|
||||||
update_attributes.append({'Key': 'access_logs.s3.enabled', 'Value': 'false'})
|
|
||||||
if self.access_logs_s3_bucket is not None and self.access_logs_s3_bucket != self.elb_attributes['access_logs_s3_bucket']:
|
if self.access_logs_s3_bucket is not None and self.access_logs_s3_bucket != self.elb_attributes['access_logs_s3_bucket']:
|
||||||
update_attributes.append({'Key': 'access_logs.s3.bucket', 'Value': self.access_logs_s3_bucket})
|
update_attributes.append({'Key': 'access_logs.s3.bucket', 'Value': self.access_logs_s3_bucket})
|
||||||
if self.access_logs_s3_prefix is not None and self.access_logs_s3_prefix != self.elb_attributes['access_logs_s3_prefix']:
|
if self.access_logs_s3_prefix is not None and self.access_logs_s3_prefix != self.elb_attributes['access_logs_s3_prefix']:
|
||||||
update_attributes.append({'Key': 'access_logs.s3.prefix', 'Value': self.access_logs_s3_prefix})
|
update_attributes.append({'Key': 'access_logs.s3.prefix', 'Value': self.access_logs_s3_prefix})
|
||||||
if self.deletion_protection and self.elb_attributes['deletion_protection_enabled'] != "true":
|
if self.deletion_protection is not None and str(self.deletion_protection).lower() != self.elb_attributes['deletion_protection_enabled']:
|
||||||
update_attributes.append({'Key': 'deletion_protection.enabled', 'Value': "true"})
|
update_attributes.append({'Key': 'deletion_protection.enabled', 'Value': str(self.deletion_protection).lower()})
|
||||||
if self.deletion_protection is not None and not self.deletion_protection and self.elb_attributes['deletion_protection_enabled'] != "false":
|
|
||||||
update_attributes.append({'Key': 'deletion_protection.enabled', 'Value': "false"})
|
|
||||||
if self.idle_timeout is not None and str(self.idle_timeout) != self.elb_attributes['idle_timeout_timeout_seconds']:
|
if self.idle_timeout is not None and str(self.idle_timeout) != self.elb_attributes['idle_timeout_timeout_seconds']:
|
||||||
update_attributes.append({'Key': 'idle_timeout.timeout_seconds', 'Value': str(self.idle_timeout)})
|
update_attributes.append({'Key': 'idle_timeout.timeout_seconds', 'Value': str(self.idle_timeout)})
|
||||||
|
if self.http2 is not None and str(self.http2).lower() != self.elb_attributes['routing_http2_enabled']:
|
||||||
|
update_attributes.append({'Key': 'routing.http2.enabled', 'Value': str(self.http2).lower()})
|
||||||
|
|
||||||
if update_attributes:
|
if update_attributes:
|
||||||
try:
|
try:
|
||||||
|
|
|
@ -48,6 +48,13 @@ options:
|
||||||
required: false
|
required: false
|
||||||
default: no
|
default: no
|
||||||
type: bool
|
type: bool
|
||||||
|
http2:
|
||||||
|
description:
|
||||||
|
- Indicates whether to enable HTTP2 routing.
|
||||||
|
required: false
|
||||||
|
default: no
|
||||||
|
type: bool
|
||||||
|
version_added: 2.6
|
||||||
idle_timeout:
|
idle_timeout:
|
||||||
description:
|
description:
|
||||||
- The number of seconds to wait before an idle connection is closed.
|
- The number of seconds to wait before an idle connection is closed.
|
||||||
|
@ -320,6 +327,11 @@ load_balancer_name:
|
||||||
returned: when state is present
|
returned: when state is present
|
||||||
type: string
|
type: string
|
||||||
sample: my-elb
|
sample: my-elb
|
||||||
|
routing_http2_enabled:
|
||||||
|
description: Indicates whether HTTP/2 is enabled.
|
||||||
|
returned: when state is present
|
||||||
|
type: string
|
||||||
|
sample: true
|
||||||
scheme:
|
scheme:
|
||||||
description: Internet-facing or internal load balancer.
|
description: Internet-facing or internal load balancer.
|
||||||
returned: when state is present
|
returned: when state is present
|
||||||
|
@ -490,6 +502,7 @@ def main():
|
||||||
access_logs_s3_bucket=dict(type='str'),
|
access_logs_s3_bucket=dict(type='str'),
|
||||||
access_logs_s3_prefix=dict(type='str'),
|
access_logs_s3_prefix=dict(type='str'),
|
||||||
deletion_protection=dict(type='bool'),
|
deletion_protection=dict(type='bool'),
|
||||||
|
http2=dict(type='bool'),
|
||||||
idle_timeout=dict(type='int'),
|
idle_timeout=dict(type='int'),
|
||||||
listeners=dict(type='list',
|
listeners=dict(type='list',
|
||||||
elements='dict',
|
elements='dict',
|
||||||
|
|
Loading…
Reference in a new issue