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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions