Skip to content

Commit

Permalink
rename return val to functions
Browse files Browse the repository at this point in the history
  • Loading branch information
jatorcasso committed Jun 29, 2022
1 parent 08696bd commit 11c8402
Show file tree
Hide file tree
Showing 3 changed files with 84 additions and 84 deletions.
6 changes: 3 additions & 3 deletions changelogs/fragments/1239-lambda_info-return_list.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
minor_changes:
- lambda_info - add return key ``lambda_info`` which returns a list of dictionaries instead of the previously returned
- lambda_info - add return key ``functions`` which returns a list of dictionaries instead of the previously returned
``function``, which returned a dictionary of dictionaries (https://github.com/ansible-collections/community.aws/pull/1239).
- lambda_info - now returns basic configuration information of each lambda, regardless of query (https://github.com/ansible-collections/community.aws/pull/1239).
- lambda_info - now returns basic configuration information of each lambda function, regardless of query (https://github.com/ansible-collections/community.aws/pull/1239).

deprecated_features:
- lambda_info - The ``function`` return key returns a dictionary of dictionaries and has been deprecated. In release 6.0.0 this module will instead
return ``lambda_info`` which returns a list of dictionaries (https://github.com/ansible-collections/community.aws/pull/1239).
return ``functions`` which returns a list of dictionaries (https://github.com/ansible-collections/community.aws/pull/1239).
32 changes: 16 additions & 16 deletions plugins/modules/lambda_info.py
Original file line number Diff line number Diff line change
Expand Up @@ -82,15 +82,15 @@
- C(function) has been deprecated in will be removed in the next major release after 2025-01-01.
returned: success
type: dict
lambda_info:
description: List of information for each lambda matching the query.
functions:
description: List of information for each lambda function matching the query.
returned: always
type: list
elements: dict
version_added: 4.1.0
contains:
aliases:
description: The aliases assoicated with the function.
description: The aliases associated with the function.
returned: when C(query) is I(aliases) or I(all)
type: list
elements: str
Expand Down Expand Up @@ -304,7 +304,7 @@ def alias_details(client, module, function_name):
return camel_dict_to_snake_dict(lambda_info)


def list_lambdas(client, module):
def list_functions(client, module):
"""
Returns queried facts for a specified function (or all functions).
Expand All @@ -323,40 +323,40 @@ def list_lambdas(client, module):
function_names = [function_info['FunctionName'] for function_info in all_function_info]

query = module.params['query']
lambdas = []
functions = []

# keep returning deprecated response (dict of dicts) until removed
all_facts = {}

for function_name in function_names:
current_lambda = {}
function = {}

# query = 'config' returns info such as FunctionName, FunctionArn, Description, etc
# these details should be returned regardless of the query
current_lambda.update(config_details(client, module, function_name))
function.update(config_details(client, module, function_name))

if query in ['all', 'aliases']:
current_lambda.update(alias_details(client, module, function_name))
function.update(alias_details(client, module, function_name))

if query in ['all', 'policy']:
current_lambda.update(policy_details(client, module, function_name))
function.update(policy_details(client, module, function_name))

if query in ['all', 'versions']:
current_lambda.update(version_details(client, module, function_name))
function.update(version_details(client, module, function_name))

if query in ['all', 'mappings']:
current_lambda.update(mapping_details(client, module, function_name))
function.update(mapping_details(client, module, function_name))

if query in ['all', 'tags']:
current_lambda.update(tags_details(client, module, function_name))
function.update(tags_details(client, module, function_name))

all_facts[current_lambda['function_name']] = current_lambda
all_facts[function['function_name']] = function

# add current lambda to list of lambdas
lambdas.append(current_lambda)
functions.append(function)

# return info
module.exit_json(function=all_facts, lambda_info=lambdas, changed=False)
module.exit_json(function=all_facts, functions=functions, changed=False)


def config_details(client, module, function_name):
Expand Down Expand Up @@ -524,7 +524,7 @@ def main():
collection_name='community.aws'
)

list_lambdas(client, module)
list_functions(client, module)


if __name__ == '__main__':
Expand Down
130 changes: 65 additions & 65 deletions tests/integration/targets/lambda/tasks/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -264,17 +264,17 @@
assert:
that:
- lambda_infos_all is not failed
- lambda_infos_all.lambda_info | length > 0
- lambda_infos_all.lambda_info[0].function_name == lambda_function_name
- lambda_infos_all.lambda_info[0].runtime == lambda_python_runtime
- lambda_infos_all.lambda_info[0].description == ""
- lambda_infos_all.lambda_info[0].function_arn is defined
- lambda_infos_all.lambda_info[0].handler == lambda_python_handler
- lambda_infos_all.lambda_info[0].versions is defined
- lambda_infos_all.lambda_info[0].aliases is defined
- lambda_infos_all.lambda_info[0].policy is defined
- lambda_infos_all.lambda_info[0].mappings is defined
- lambda_infos_all.lambda_info[0].tags is defined
- lambda_infos_all.functions | length > 0
- lambda_infos_all.functions[0].function_name == lambda_function_name
- lambda_infos_all.functions[0].runtime == lambda_python_runtime
- lambda_infos_all.functions[0].description == ""
- lambda_infos_all.functions[0].function_arn is defined
- lambda_infos_all.functions[0].handler == lambda_python_handler
- lambda_infos_all.functions[0].versions is defined
- lambda_infos_all.functions[0].aliases is defined
- lambda_infos_all.functions[0].policy is defined
- lambda_infos_all.functions[0].mappings is defined
- lambda_infos_all.functions[0].tags is defined

- name: lambda_info | Ensure default query value is 'config' when function name omitted
lambda_info:
Expand All @@ -284,17 +284,17 @@
assert:
that:
- lambda_infos_query_config is not failed
- lambda_infos_query_config.lambda_info | length > 0
- lambda_infos_query_config.lambda_info[0].function_name == lambda_function_name
- lambda_infos_query_config.lambda_info[0].runtime == lambda_python_runtime
- lambda_infos_query_config.lambda_info[0].description == ""
- lambda_infos_query_config.lambda_info[0].function_arn is defined
- lambda_infos_query_config.lambda_info[0].handler == lambda_python_handler
- lambda_infos_query_config.lambda_info[0].versions is not defined
- lambda_infos_query_config.lambda_info[0].aliases is not defined
- lambda_infos_query_config.lambda_info[0].policy is not defined
- lambda_infos_query_config.lambda_info[0].mappings is not defined
- lambda_infos_query_config.lambda_info[0].tags is not defined
- lambda_infos_query_config.functions | length > 0
- lambda_infos_query_config.functions[0].function_name == lambda_function_name
- lambda_infos_query_config.functions[0].runtime == lambda_python_runtime
- lambda_infos_query_config.functions[0].description == ""
- lambda_infos_query_config.functions[0].function_arn is defined
- lambda_infos_query_config.functions[0].handler == lambda_python_handler
- lambda_infos_query_config.functions[0].versions is not defined
- lambda_infos_query_config.functions[0].aliases is not defined
- lambda_infos_query_config.functions[0].policy is not defined
- lambda_infos_query_config.functions[0].mappings is not defined
- lambda_infos_query_config.functions[0].tags is not defined

- name: lambda_info | Ensure default query value is 'all' when function name specified
lambda_info:
Expand All @@ -304,13 +304,13 @@
assert:
that:
- lambda_infos_query_all is not failed
- lambda_infos_query_all.lambda_info | length == 1
- lambda_infos_query_all.lambda_info[0].versions|length > 0
- lambda_infos_query_all.lambda_info[0].function_name is defined
- lambda_infos_query_all.lambda_info[0].policy is defined
- lambda_infos_query_all.lambda_info[0].aliases is defined
- lambda_infos_query_all.lambda_info[0].mappings is defined
- lambda_infos_query_all.lambda_info[0].tags is defined
- lambda_infos_query_all.functions | length == 1
- lambda_infos_query_all.functions[0].versions|length > 0
- lambda_infos_query_all.functions[0].function_name is defined
- lambda_infos_query_all.functions[0].policy is defined
- lambda_infos_query_all.functions[0].aliases is defined
- lambda_infos_query_all.functions[0].mappings is defined
- lambda_infos_query_all.functions[0].tags is defined

- name: lambda_info | Gather version infos for given lambda function
lambda_info:
Expand All @@ -321,13 +321,13 @@
assert:
that:
- lambda_infos_versions is not failed
- lambda_infos_versions.lambda_info | length == 1
- lambda_infos_versions.lambda_info[0].versions|length > 0
- lambda_infos_versions.lambda_info[0].function_name == lambda_function_name
- lambda_infos_versions.lambda_info[0].policy is undefined
- lambda_infos_versions.lambda_info[0].aliases is undefined
- lambda_infos_versions.lambda_info[0].mappings is undefined
- lambda_infos_versions.lambda_info[0].tags is undefined
- lambda_infos_versions.functions | length == 1
- lambda_infos_versions.functions[0].versions|length > 0
- lambda_infos_versions.functions[0].function_name == lambda_function_name
- lambda_infos_versions.functions[0].policy is undefined
- lambda_infos_versions.functions[0].aliases is undefined
- lambda_infos_versions.functions[0].mappings is undefined
- lambda_infos_versions.functions[0].tags is undefined

- name: lambda_info | Gather config infos for given lambda function
lambda_info:
Expand All @@ -338,14 +338,14 @@
assert:
that:
- lambda_infos_config is not failed
- lambda_infos_config.lambda_info | length == 1
- lambda_infos_config.lambda_info[0].function_name == lambda_function_name
- lambda_infos_config.lambda_info[0].description is defined
- lambda_infos_config.lambda_info[0].versions is undefined
- lambda_infos_config.lambda_info[0].policy is undefined
- lambda_infos_config.lambda_info[0].aliases is undefined
- lambda_infos_config.lambda_info[0].mappings is undefined
- lambda_infos_config.lambda_info[0].tags is undefined
- lambda_infos_config.functions | length == 1
- lambda_infos_config.functions[0].function_name == lambda_function_name
- lambda_infos_config.functions[0].description is defined
- lambda_infos_config.functions[0].versions is undefined
- lambda_infos_config.functions[0].policy is undefined
- lambda_infos_config.functions[0].aliases is undefined
- lambda_infos_config.functions[0].mappings is undefined
- lambda_infos_config.functions[0].tags is undefined

- name: lambda_info | Gather policy infos for given lambda function
lambda_info:
Expand All @@ -356,13 +356,13 @@
assert:
that:
- lambda_infos_policy is not failed
- lambda_infos_policy.lambda_info | length == 1
- lambda_infos_policy.lambda_info[0].policy is defined
- lambda_infos_policy.lambda_info[0].versions is undefined
- lambda_infos_policy.lambda_info[0].function_name == lambda_function_name
- lambda_infos_policy.lambda_info[0].aliases is undefined
- lambda_infos_policy.lambda_info[0].mappings is undefined
- lambda_infos_policy.lambda_info[0].tags is undefined
- lambda_infos_policy.functions | length == 1
- lambda_infos_policy.functions[0].policy is defined
- lambda_infos_policy.functions[0].versions is undefined
- lambda_infos_policy.functions[0].function_name == lambda_function_name
- lambda_infos_policy.functions[0].aliases is undefined
- lambda_infos_policy.functions[0].mappings is undefined
- lambda_infos_policy.functions[0].tags is undefined

- name: lambda_info | Gather aliases infos for given lambda function
lambda_info:
Expand All @@ -373,13 +373,13 @@
assert:
that:
- lambda_infos_aliases is not failed
- lambda_infos_aliases.lambda_info | length == 1
- lambda_infos_aliases.lambda_info[0].aliases is defined
- lambda_infos_aliases.lambda_info[0].versions is undefined
- lambda_infos_aliases.lambda_info[0].function_name == lambda_function_name
- lambda_infos_aliases.lambda_info[0].policy is undefined
- lambda_infos_aliases.lambda_info[0].mappings is undefined
- lambda_infos_aliases.lambda_info[0].tags is undefined
- lambda_infos_aliases.functions | length == 1
- lambda_infos_aliases.functions[0].aliases is defined
- lambda_infos_aliases.functions[0].versions is undefined
- lambda_infos_aliases.functions[0].function_name == lambda_function_name
- lambda_infos_aliases.functions[0].policy is undefined
- lambda_infos_aliases.functions[0].mappings is undefined
- lambda_infos_aliases.functions[0].tags is undefined

- name: lambda_info | Gather mappings infos for given lambda function
lambda_info:
Expand All @@ -390,13 +390,13 @@
assert:
that:
- lambda_infos_mappings is not failed
- lambda_infos_mappings.lambda_info | length == 1
- lambda_infos_mappings.lambda_info[0].mappings is defined
- lambda_infos_mappings.lambda_info[0].versions is undefined
- lambda_infos_mappings.lambda_info[0].function_name == lambda_function_name
- lambda_infos_mappings.lambda_info[0].aliases is undefined
- lambda_infos_mappings.lambda_info[0].policy is undefined
- lambda_infos_mappings.lambda_info[0].tags is undefined
- lambda_infos_mappings.functions | length == 1
- lambda_infos_mappings.functions[0].mappings is defined
- lambda_infos_mappings.functions[0].versions is undefined
- lambda_infos_mappings.functions[0].function_name == lambda_function_name
- lambda_infos_mappings.functions[0].aliases is undefined
- lambda_infos_mappings.functions[0].policy is undefined
- lambda_infos_mappings.functions[0].tags is undefined

# More Lambda update tests
- name: test state=present with all nullable variables explicitly set to null
Expand Down

0 comments on commit 11c8402

Please sign in to comment.