diff --git a/.gitignore b/.gitignore index 8bb22129f381..484b2c3660c7 100644 --- a/.gitignore +++ b/.gitignore @@ -48,3 +48,5 @@ doc/source/tutorial/services.rst # Pyenv .python-version +# venv +venv/ \ No newline at end of file diff --git a/awscli/customizations/assumerole.py b/awscli/customizations/sessiontokenservice.py similarity index 66% rename from awscli/customizations/assumerole.py rename to awscli/customizations/sessiontokenservice.py index 17172efd0693..8dba33a04a35 100644 --- a/awscli/customizations/assumerole.py +++ b/awscli/customizations/sessiontokenservice.py @@ -8,13 +8,13 @@ CACHE_DIR = os.path.expanduser(os.path.join('~', '.aws', 'cli', 'cache')) -def register_assume_role_provider(event_handlers): +def register_session_token_provider(event_handlers): event_handlers.register('session-initialized', - inject_assume_role_provider_cache, - unique_id='inject_assume_role_cred_provider_cache') + inject_session_token_provider_cache, + unique_id='inject_session_token_cred_provider_cache') -def inject_assume_role_provider_cache(session, **kwargs): +def inject_session_token_provider_cache(session, **kwargs): try: cred_chain = session.get_component('credential_provider') except ProfileNotFound: @@ -34,8 +34,9 @@ def inject_assume_role_provider_cache(session, **kwargs): # up the stack will raise ProfileNotFound, otherwise # the configure (and other) commands will work as expected. LOG.debug("ProfileNotFound caught when trying to inject " - "assume-role cred provider cache. Not configuring " - "JSONFileCache for assume-role.") + "assume-role and shared-credentials-file cred provider cache. " + "Not configuring JSONFileCache for assume-role and shared-credentials-file.") return - provider = cred_chain.get_provider('assume-role') - provider.cache = JSONFileCache(CACHE_DIR) + for provider_name in ['assume-role', 'shared-credentials-file']: + provider = cred_chain.get_provider(provider_name) + provider.cache = JSONFileCache(CACHE_DIR) diff --git a/awscli/handlers.py b/awscli/handlers.py index 205ea3e01989..ef462c1337ab 100644 --- a/awscli/handlers.py +++ b/awscli/handlers.py @@ -21,7 +21,7 @@ from awscli.customizations import datapipeline from awscli.customizations.addexamples import add_examples from awscli.customizations.argrename import register_arg_renames -from awscli.customizations.assumerole import register_assume_role_provider +from awscli.customizations.sessiontokenservice import register_session_token_provider from awscli.customizations.awslambda import register_lambda_create_function from awscli.customizations.cliinputjson import register_cli_input_json from awscli.customizations.cloudformation import initialize as cloudformation_init @@ -130,7 +130,7 @@ def awscli_initialize(event_handlers): register_cloudsearchdomain(event_handlers) register_s3_endpoint(event_handlers) register_generate_cli_skeleton(event_handlers) - register_assume_role_provider(event_handlers) + register_session_token_provider(event_handlers) register_add_waiters(event_handlers) codedeploy_init(event_handlers) register_subscribe(event_handlers) diff --git a/tests/unit/customizations/test_assumerole.py b/tests/unit/customizations/test_sessiontokenservice.py similarity index 86% rename from tests/unit/customizations/test_assumerole.py rename to tests/unit/customizations/test_sessiontokenservice.py index 1d2d8e5c50c1..848f2e638ad4 100644 --- a/tests/unit/customizations/test_assumerole.py +++ b/tests/unit/customizations/test_sessiontokenservice.py @@ -16,24 +16,24 @@ from botocore.exceptions import ProfileNotFound from awscli.testutils import unittest -from awscli.customizations import assumerole +from awscli.customizations import sessiontokenservice class TestAssumeRolePlugin(unittest.TestCase): def test_assume_role_provider_injected(self): session = mock.Mock() - assumerole.inject_assume_role_provider_cache( + sessiontokenservice.inject_session_token_provider_cache( session, event_name='building-command-table.foo') session.get_component.assert_called_with('credential_provider') credential_provider = session.get_component.return_value get_provider = credential_provider.get_provider get_provider.assert_called_with('assume-role') self.assertIsInstance(get_provider.return_value.cache, - assumerole.JSONFileCache) + sessiontokenservice.JSONFileCache) def test_assume_role_provider_registration(self): event_handlers = HierarchicalEmitter() - assumerole.register_assume_role_provider(event_handlers) + sessiontokenservice.register_session_token_provider(event_handlers) session = mock.Mock() event_handlers.emit('session-initialized', session=session) # Just verifying that anything on the session was called ensures @@ -46,7 +46,7 @@ def test_no_registration_if_profile_does_not_exist(self): session.get_component.side_effect = ProfileNotFound( profile='unknown') - assumerole.inject_assume_role_provider_cache( + sessiontokenservice.inject_session_token_provider_cache( session, event_name='building-command-table.foo') credential_provider = session.get_component.return_value