From 437d4deffc98999e7904e8dad7645d037b7f255d Mon Sep 17 00:00:00 2001 From: Mark Chance Date: Fri, 31 Jul 2015 09:47:24 -0600 Subject: [PATCH] change ec2 util to create only requested objects --- lib/ansible/module_utils/ec2.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/lib/ansible/module_utils/ec2.py b/lib/ansible/module_utils/ec2.py index 4ba172cebe4..77d0b704811 100644 --- a/lib/ansible/module_utils/ec2.py +++ b/lib/ansible/module_utils/ec2.py @@ -25,6 +25,7 @@ # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE # USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +import os, boto3 try: from distutils.version import LooseVersion @@ -37,14 +38,15 @@ def boto3_conn(module, conn_type=None, resource=None, region=None, endpoint=None if conn_type not in ['both', 'resource', 'client']: module.fail_json(msg='There is an issue in the code of the module. You must specify either both, resource or client to the conn_type parameter in the boto3_conn function call') - resource = boto3.session.Session().resource(resource, region_name=region, endpoint_url=endpoint, **params) - client = resource.meta.client - if conn_type == 'resource': + resource = boto3.session.Session().resource(resource, region_name=region, endpoint_url=endpoint, **params) return resource elif conn_type == 'client': + client = boto3.session.Session().client(resource, region_name=region, endpoint_url=endpoint, **params) return client else: + resource = boto3.session.Session().resource(resource, region_name=region, endpoint_url=endpoint, **params) + client = boto3.session.Session().client(resource, region_name=region, endpoint_url=endpoint, **params) return client, resource def aws_common_argument_spec():