Open ichekaldin opened 3 weeks ago
Same here, is there a workaround like pinning a version?
Same here, i fixed last version 8.2.1 to workaround
As a workaround, I'm using _sort_actions
instead of _sort_listener_actions
in elbv2.py, and I've partially applied the changes proposed in PR https://github.com/ansible-collections/amazon.aws/pull/2377.
So my code becomes like this:
current_actions_sorted = _sort_actions(
{
k: v
for k, v in x.items()
if k
in ["AuthenticateOidcConfig", "FixedResponseConfig", "RedirectConfig", "TargetGroupArn", "Type"]
}
for x in current_default_actions
)
if current_actions_sorted != _sort_actions(new_default_actions):
_sort_actions
simply uses Order
as the sorting key. I noticed that Order
is always present in current_listener
(and is required in module parameters) when the listener has more than one default action.
When there is only one default action, sorting should not change lists.
Now, the module does not fail anymore, but it always returns as "changed".
This is probably related to Order
being defaulted to 0 instead of 1 here, and/or to AuthenticateOidcConfig.ClientSecret
being not returned in the AuthenticateOidcActionConfig object.
This is what I could do: I lack some skills to code a 100% working solution, sorry.
Summary
elb_application_lb
module fails if any of load balancer listeners contain any action other thanforward
underDefaultActions
.For example:
works, while:
doesn't.
Same is true of other types of actions:
redirect
,fixed-response
, orauthenticate-oidc
.I believe this was introduced in #2050 and is triggered by these lines in:
line 163:
line 799:
Issue Type
Bug Report
Component Name
elb_application_lb
Ansible Version
Collection Versions
AWS SDK versions
Configuration
OS / Environment
No response
Steps to Reproduce
Expected Results
A load balancer is created or updated successfully.
Resulting load balancer has a listener on port 80 that redirects to port 443, and a listener on port 443 that returns a fixed response of HTTP 404.
Actual Results
Code of Conduct