Skip to content

IAM endpoint incorrect #110

@bkruger99

Description

@bkruger99

Using this sample code:

import skew
from skew import scan
from pprint import pprint
arn = scan('arn:aws:*:*:*:*/*')
for resource in arn:
    print(resource.data)

Has error of:

Traceback (most recent call last):
  File "/Users/BKruger/skewer.py", line 7, in 
    for resource in arn:
  File "/Users/BKruger/Library/Python/2.7/lib/python/site-packages/skew/arn/__init__.py", line 319, in __iter__
    for scheme in self.scheme.enumerate(context, **self.kwargs):
  File "/Users/BKruger/Library/Python/2.7/lib/python/site-packages/skew/arn/__init__.py", line 244, in enumerate
    context, **kwargs):
  File "/Users/BKruger/Library/Python/2.7/lib/python/site-packages/skew/arn/__init__.py", line 229, in enumerate
    context, **kwargs):
  File "/Users/BKruger/Library/Python/2.7/lib/python/site-packages/skew/arn/__init__.py", line 214, in enumerate
    context, **kwargs):
  File "/Users/BKruger/Library/Python/2.7/lib/python/site-packages/skew/arn/__init__.py", line 195, in enumerate
    context, **kwargs):
  File "/Users/BKruger/Library/Python/2.7/lib/python/site-packages/skew/arn/__init__.py", line 146, in enumerate
    context, **kwargs):
  File "/Users/BKruger/Library/Python/2.7/lib/python/site-packages/skew/arn/__init__.py", line 128, in enumerate
    self._arn, region, account, resource_id, **kwargs))
  File "/Users/BKruger/Library/Python/2.7/lib/python/site-packages/skew/resources/resource.py", line 28, in enumerate
    cls.Meta.service, region, account, **kwargs)
  File "/Users/BKruger/Library/Python/2.7/lib/python/site-packages/skew/awsclient.py", line 139, in get_awsclient
    return AWSClient(service_name, region_name, account_id, **kwargs)
  File "/Users/BKruger/Library/Python/2.7/lib/python/site-packages/skew/awsclient.py", line 51, in __init__
    self._client = self._create_client()
  File "/Users/BKruger/Library/Python/2.7/lib/python/site-packages/skew/awsclient.py", line 81, in _create_client
    return session.client(self.service_name, region_name=self.region_name)
  File "/Users/BKruger/Library/Python/2.7/lib/python/site-packages/boto3/session.py", line 256, in client
    aws_session_token=aws_session_token, config=config)
  File "/Users/BKruger/Library/Python/2.7/lib/python/site-packages/botocore/session.py", line 824, in create_client
    client_config=config, api_version=api_version)
  File "/Users/BKruger/Library/Python/2.7/lib/python/site-packages/botocore/client.py", line 68, in create_client
    verify, credentials, scoped_config, client_config, endpoint_bridge)
  File "/Users/BKruger/Library/Python/2.7/lib/python/site-packages/botocore/client.py", line 130, in _get_client_args
    verify, credentials, scoped_config, client_config, endpoint_bridge)
  File "/Users/BKruger/Library/Python/2.7/lib/python/site-packages/botocore/args.py", line 72, in get_client_args
    timeout=(new_config.connect_timeout, new_config.read_timeout))
  File "/Users/BKruger/Library/Python/2.7/lib/python/site-packages/botocore/endpoint.py", line 240, in create_endpoint
    raise ValueError("Invalid endpoint: %s" % endpoint_url)
ValueError: Invalid endpoint: https://iam..amazonaws.com

The problem is in:
skew/arn/init.py, line 169 - there's an entry made of '' that shouldn't be, it should just be an empty list.

old code:
_no_region_required = ['']
fix:
_no_region_required = []

This is just for documenting purposes, a pull request will need to be made yet.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions