mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
[cloud] Remove custom pagination function in ec2_launchconfig module (#28574)
This commit is contained in:
parent
9822db610b
commit
e05eebcb50
2 changed files with 3 additions and 34 deletions
|
@ -332,37 +332,6 @@ def ec2_connect(module):
|
||||||
return ec2
|
return ec2
|
||||||
|
|
||||||
|
|
||||||
def paging(pause=0, marker_property='marker', result_key=None):
|
|
||||||
""" Adds paging to boto retrieval functions that support a 'marker'
|
|
||||||
this is configurable as not all boto functions seem to use the
|
|
||||||
same name.
|
|
||||||
"""
|
|
||||||
def wrapper(f):
|
|
||||||
def page(*args, **kwargs):
|
|
||||||
results = []
|
|
||||||
marker = None
|
|
||||||
while True:
|
|
||||||
try:
|
|
||||||
if marker:
|
|
||||||
kwargs[marker_property] = marker
|
|
||||||
new = f(*args, **kwargs)
|
|
||||||
marker = new.get(marker_property)
|
|
||||||
if result_key:
|
|
||||||
new = new[result_key]
|
|
||||||
results.extend(new)
|
|
||||||
if not marker:
|
|
||||||
break
|
|
||||||
elif pause:
|
|
||||||
sleep(pause)
|
|
||||||
except TypeError:
|
|
||||||
# Older version of boto do not allow for marker param, just run normally
|
|
||||||
results = f(*args, **kwargs)
|
|
||||||
break
|
|
||||||
return results
|
|
||||||
return page
|
|
||||||
return wrapper
|
|
||||||
|
|
||||||
|
|
||||||
def _camel_to_snake(name):
|
def _camel_to_snake(name):
|
||||||
|
|
||||||
def prepend_underscore_and_lower(m):
|
def prepend_underscore_and_lower(m):
|
||||||
|
|
|
@ -165,7 +165,7 @@ except ImportError:
|
||||||
|
|
||||||
from ansible.module_utils.basic import AnsibleModule
|
from ansible.module_utils.basic import AnsibleModule
|
||||||
from ansible.module_utils.ec2 import (HAS_BOTO3, boto3_conn, camel_dict_to_snake_dict, ec2_argument_spec,
|
from ansible.module_utils.ec2 import (HAS_BOTO3, boto3_conn, camel_dict_to_snake_dict, ec2_argument_spec,
|
||||||
get_aws_connection_info, paging)
|
get_aws_connection_info)
|
||||||
|
|
||||||
|
|
||||||
def list_launch_configs(connection, module):
|
def list_launch_configs(connection, module):
|
||||||
|
@ -177,8 +177,8 @@ def list_launch_configs(connection, module):
|
||||||
sort_end = module.params.get('sort_end')
|
sort_end = module.params.get('sort_end')
|
||||||
|
|
||||||
try:
|
try:
|
||||||
launch_configs = {'LaunchConfigurations': paging(pause=0, marker_property='NextToken', result_key='LaunchConfigurations')
|
pg = connection.get_paginator('describe_launch_configurations')
|
||||||
(connection.describe_launch_configurations)(LaunchConfigurationNames=launch_config_name)}
|
launch_configs = pg.paginate(LaunchConfigurationNames=launch_config_name).build_full_result()
|
||||||
except ClientError as e:
|
except ClientError as e:
|
||||||
module.fail_json(msg=e.message)
|
module.fail_json(msg=e.message)
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue