GithubHelp home page GithubHelp logo

cshamrick / stsauth Goto Github PK

View Code? Open in Web Editor NEW
18.0 18.0 5.0 287 KB

A CLI tool that allows easy generation of AWS credentials using STS, ADFS, and Active Directory.

License: MIT License

Python 99.30% Dockerfile 0.70%
aws aws-cli aws-iam iam

stsauth's Introduction

Hi there ๐Ÿ‘‹

Metrics

stsauth's People

Contributors

cshamrick avatar flurbb avatar jrschumacher avatar phillipjf avatar semantic-release-bot avatar thetimbecker avatar xadamxk avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

stsauth's Issues

'object of type 'NoneType' has no len()' (adfs portal)

Credentials for the following profile are still valid:
~~~~~~~~~~~

Would you like to continue? [y/N]: y
Traceback (most recent call last):
  File "/home/jbpratt/.local/bin/stsauth", line 8, in <module>
    sys.exit(cli())
  File "/home/jbpratt/.local/lib/python3.8/site-packages/click/core.py", line 764, in __call__
    return self.main(*args, **kwargs)
  File "/home/jbpratt/.local/lib/python3.8/site-packages/click/core.py", line 717, in main
    rv = self.invoke(ctx)
  File "/home/jbpratt/.local/lib/python3.8/site-packages/click/core.py", line 1137, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/jbpratt/.local/lib/python3.8/site-packages/click/core.py", line 956, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/jbpratt/.local/lib/python3.8/site-packages/click/core.py", line 555, in invoke
    return callback(*args, **kwargs)
  File "/home/jbpratt/.local/lib/python3.8/site-packages/sts_auth/cli.py", line 84, in authenticate
    saml_response = sts_auth.get_saml_response()
  File "/home/jbpratt/.local/lib/python3.8/site-packages/sts_auth/stsauth.py", line 161, in get_saml_response
    form_response = self.authenticate_to_adfs_portal(response)
  File "/home/jbpratt/.local/lib/python3.8/site-packages/sts_auth/stsauth.py", line 221, in authenticate_to_adfs_portal
    if login_error_message and len(login_error_message.string) > 0:
TypeError: object of type 'NoneType' has no len()

Add support for python-click<=7 & python-rsa<=4

Hi @cshamrick / @phillipjf ,

I'm trying to upgrade my stsauth package to version 0.2.4. However, I have found that stsauth requires python-click < 7 and python-rsa < 4 which are no longer officially supported in Arch Linux.

Both dependencies released a major version last month, and I wonder if it would possible to include support for them:

Thank you!

P.S: On a side note, I've noticed that version 0.2.0 shows as the latest version at https://github.com/cshamrick/stsauth/releases It's nothing really important, but I thought you might want to fix it.

Cannot authenticate since version 0.3.5

Hi,

I'm having issues to authenticate using statauth since version 0.3.5 which is the most recent version that still works for me. I've tried with versions 0.3.7, 0.3.8 and 0.3.9, and all of them fail to show the account selection.

This is what I get with 0.3.5 which works good:

[musikolo@Thinkpad ~]$ stsauth -v DEBUG authenticate -u musikolo -k "mycompany"
Password: 
debug: Found 'default' section in '/home/musikolo/.aws/credentials'!
debug: Attribute 'region' not set, using value from '/home/musikolo/.aws/credentials'
debug: Attribute 'output' not set, using value from '/home/musikolo/.aws/credentials'
debug: Attribute 'idpentryurl' not set, using value from '/home/musikolo/.aws/credentials'
debug: Attribute 'domain' not set, using value from '/home/musikolo/.aws/credentials'
debug: Attribute 'okta_shared_secret' not set, using value from '/home/musikolo/.aws/credentials'
debug: No response provided. Fetching IDP Entry URL...
debug: No SAML assertion found in response. Attempting to log in...
debug: Adding value for 'UserName' to Login Form payload.
debug: Adding value for 'Password' to Login Form payload.
debug: Adding value for 'Kmsi' to Login Form payload.
debug: Adding value for 'AuthMethod' to Login Form payload.
debug: Adding value for 'AuthMethod' to Login Form payload.
debug: Posting login data to URL: https://adfs.mycompany.com:443/signon.aspx?loginToRp=urn:amazon:webservices&client-request-id=26ab7fa8-8ac4-4f67-1905-0080000400dd
debug: No SAML assertion found in response. Attempting to log in...
debug: Found state_token: 
debug: Current Verification Status: success.
debug: Okta portal already authenticated, passing through...
debug: Posting data to url: https://adfs.mycompany.com:443/signon.aspx?loginToRp=urn:amazon:webservices&client-request-id=26ab7fa8-8ac4-4f67-1905-0080000400dd
debug: [('Context', '8zlQPOb0wgZcmKonwtp9o4JyL1lJ1EnqR_oqfXVdAGgAAQAAeN8BhNmuhnl8uPmTWKMjyQp6yjAedXRkm4dyGoxDxxRQOlbASTUJsn13bPNcQF9hmtvtXghhYDSZSBc4SDD71kZKXy9CJoPCzxJQnvAsPC6L1jZjXjz7OIFQk7ZCFZunwCyIj1VUEVaV5LnUW3OfBnyVfe5oJqS-nHHkVPeuXCkfIeDxyluCkFyT_t1yWXj22JQYKO9kYPtlDBOj5h25QTDCTb44A4maEmoLkxULSd1Ce5hcgwQ1qtUTJ2n40eHuNGh_iP-bs6in1yTD8sUSok2lY3jS0RpSldpSsjPX-7udb7F0GC_-aOed_20nAmISfs9HZ_MuVXVOtCICFYeYQuADAAAYnR-gSN3nc-wab5A033f0ZWvqT7dpiu8MqVx-KoBF0hiVFyeey3hwVmNKo47aTcm4JyNn-mmQ9m9KNtnd09NVljPlfo6TeOOyHC6pfrZPc1RGVwIsvxuJ90BzZMIbOuOsBlH1ZUd0EOu437EkSRX6XVg8dJSrnz3KJFIKxF-iYLZXP8nPtCiUSBCDIL0hWeeBSlia1PQ5j3bxaEJ8GtejmhhdjNoYIZXm92JurVMxUxF9lYaJuj4a38M4nkHDqDyYYDT3zujhQJefmrDHVHaNiOKtQhRx_stk3bfloJlIdzPJFRda-AiB3Vo5nsYHHwfSjTxm_-lxi5mW5kz72inL0fSQhnIc-EQGcjeKQ4RKfF03gxa_pP4FYfZ74pS3dclJH_nAF9ZmCyRSqaYsJ8PQ0UAaKMPc05SULemRLN9U7OcfJZpBmDKbkosyfv6c_LU6AKOFs-cojYnoCIz_BQuKDtqtMkRUtrecV0tuCUXRB7N7Zc-1ppkyGsr_zcavLnC6LqWfqsk78OMYEFDknSc-OPGNvI8oebY3yqk07sqU8P6tk6gvZenzQIxJ3Y5_H7i0PKD4xq3izjjqsCcVlZujxo3JcdaDreiLma1PrNx-WgMRy9bokv2cEGm9lMmt6zwxYyQTPeFB9d1uy1RN9ROpSePNxShVqc9xZDZEmADjyV2l3Rw2X3qv7SsGa4yui6KlgooXMS7Yq9Ri8-bcbi6pvlWv_trm-CRm56FfRpK9qRcmzJWLuVNL-FLfXsCkGlmU5LHhT90kqqXmr-na1vl_TH6uxGJSWKgeIlkVzscrD9tRR1c5w7eTT0FHU9c1GDfRe1-lX75HUDVYN_nXegF18z7UdRPymtQKCL_aSCTXjVkEX3H47UUvfNGlZ8ErFdWj_XT0dfCG9MqFSNf58amTtCKJj1IGlAfXr_cbj0g_mNvZ9gotlV0LKNY3vo40EytE6ZniMnfG1ES6bqlzl4IGwZyPVL0yFJV3Qf2CsVzocE-Pj3BNGDMStDVLzQHlMw30bYTMf4knkWyhkASJi9cTg_8fHW98Nl7tCY_rly93ygQg8utXszjDsJ7OORHXlRLsYXip0HwBGrW4J_6THA6dyCWQIa_iEirivzB4PbLa6AY7JVeGL1896_lyUrPlMpAXV4aUTlGL92cegr06iASmkcYgRrisUQ_j2C6xZQQ93_D5I-CFBWUIZeoNcuwoJvDe_x1LKdmzSUfh6gK3-hX7IWpPt1b8i0bnl0PVByVUs5POweiEZZf6V5_9Cpfy5YH7pJrPEf8NHqLSFH55gkFSMtxOAzdJwVcCQKa_dTkr3w.Zq5me9gMlp-vIKDOiDuJgOzJ5oZ-3vvC5qwkCJJ1jeAO1ktMk-0538eDzGlc1BUPqIZ6FN6cu1dAbd5OuAd9AUARQE5alvy5IgujHmMFNwCrJ35zzFjTS8H9izXQ5E3RxQTCoEBQzYNMwxUWX0uF1EC9m17SQUC-C2BFNFZEtr2x6XdMo2zYHdVGGWpUu836ThhE8Ccp5KSTiFvsQKx36wpRnm-jXevw41VrxegBAazSOQDtwUnVBcUd3FVjfbr8XhvyXqDYvjOIyw82WvTKF2Zc0jeA25Xa1IVkce46c_KOOgKeqDFUXDWwARqrJewHEtJdlZrJB-pkNkxBQNVPgw'), ('AuthMethod', 'OktaMfaAdfs'), ('ErrorMessage', None)]
Please choose the role you would like to assume:
Account 123456789001:
[0]: PROD-ReadOnly

Account 123456789002:
[1]: DEV-DEVELOPER

Selection:

This is what I get with 0.3.9 (same as with 0.3.7 and 0.3.8) which doesn't work:

[musikolo@Thinkpad ~]$ stsauth -v DEBUG authenticate -u musikolo -k "mycompany"
Password: 
debug: Found 'default' section in '/home/musikolo/.aws/credentials'!
debug: Attribute 'region' not set, using value from '/home/musikolo/.aws/credentials'
debug: Attribute 'output' not set, using value from '/home/musikolo/.aws/credentials'
debug: Attribute 'idpentryurl' not set, using value from '/home/musikolo/.aws/credentials'
debug: Attribute 'domain' not set, using value from '/home/musikolo/.aws/credentials'
debug: Attribute 'okta_shared_secret' not set, using value from '/home/musikolo/.aws/credentials'
debug: No response provided. Fetching IDP Entry URL...
debug: No SAML assertion found in response. Attempting to log in...
debug: Adding value for 'UserName' to Login Form payload.
debug: Adding value for 'Password' to Login Form payload.
debug: Adding value for 'Kmsi' to Login Form payload.
debug: Adding value for 'AuthMethod' to Login Form payload.
debug: Adding value for 'AuthMethod' to Login Form payload.
debug: Posting login data to URL: https://adfs.mycompany.com:443/signon.aspx?loginToRp=urn:amazon:webservices&client-request-id=69c0bbb0-8055-459d-6912-0080000400fb
debug: No SAML assertion found in response. Attempting to log in...
debug: Found state_token: 
debug: Current Verification Status: success.
debug: Okta portal already authenticated, passing through...
debug: Posting data to url: https://adfs.mycompany.com:443/signon.aspx?loginToRp=urn:amazon:webservices&client-request-id=69c0bbb0-8055-459d-6912-0080000400fb
debug: [('Context', '8zlQPOb0wgZcmKonwtp9o4JyL1lJ1EnqR_oqfXVdAGgAAQAAWMEwXXsnWX96Xp6m0VyvudJcRqb3aEk-dwtJ6DFqteIp43h0JG6O9WvoMyk3Pje9ioq2h2w0PGjObXcIeoZ3V7Kg2DnELZ3fi5fGQAC3YVIDp-YxQWjqsJisuYR9VUsqaFQUszxjWVPNdKmJE2Cnn5zvQ22rvvd9q28bs8uoeF0uuQEyiEF5Rupju3g5Goe2o0d7drC0cqMsqTi6Bmrp-TbDSEgB51RZ1i67B34iTuBiNtzj_IGmbgvH70c6I7vUB0E4UusqXxvlJ2_D_waVjqM-vOEDILTspIBZG8HI1mMQRzNORoMQrQhge1oOojhRD1dACf8Jt82mT568e814_OADAADLiWeI9POqAbZiucCrsBojk4fZaEIkoEL4kADxau14FfKQFHayjGGkRmwst3rpk3lPT3nu8X_EbWawJ9szc4gsS8miIjmMAkgReKnc5AockSijkdV3cjr40sN2rQmQ86fpBEVqoEE4S6tNCrE3_5IbX5_Vjsc-97R55PbqEvshLLGAs-JPxtw4qm93exlVPgk2KUeR6M5HMQXdmlBzC3MrXrpcgCBU2k83AXeJFNQ4yzGP1NqzfPE6cdXO308Ion2VzCMjCAG4Cbmq4hBTcUJWyAPMRS7yiOlrMzeH2rAl0LEZyUSc8o7Yqd9qejdP1WtXg4SOei-uhEK1cX-u3aEI4UhKmzwi3yDYW7Qe5OocBQZpLlwnPLYqhzOO3TNqIYnkmlyuWYlzbSuGSeaoKu177Scy6On0fhIE0UXi5YElEA_oIDeWi4l16zmSJnldaXNh3Igw7oTqFHYfpLLkBQHN9gK5Ed-6xUVUiUjmzA3PFgjzUoHoK20mCqELSWVHgdRfLD_LBnY0dFVRAiGtNSQVbg5CVEnS9OvB-Q_zuhYyOAwF1wU6XXSjI1HoDMC8U63rlE2gqTgObR3HqFqBYnLIil49f8c_ybixVkI65lkfKyqcwCENFg0vXS3t65xg7ELZOZS-ySC-NceKcNX4UJr_XawRWpNoXmu_31BMKXpfFhoptqfcdbjAQPvXX931nm12JOC3oMVNkOcv8eiSTLMac7axzVPFEtGPI7jS2cURdcG4BiZpc8pYpTlghpBCuO1L5IlNJTbBwL9dLbdMFnj-ryWYvsUkife6plwZTeanGuHG5nJVqvgKcakXFC3qiM8wOIFLJWJW0roD0R21jB40m54rk9r1kM9hAMZH4B0uYf_O3gK3MOLkO57GQGnjTK4uQAEI2DU-RNwlSTvXAvH4Q4gptz1Ifo5lnLzE_lI_RJF-BuyVos7qhszKTgkZqPAP7aqITuefaozFnZRXjCD9SjQ_P58RGd-JqXEoczvYN5OOC9j1SSMWqL2n6sPrNo_lHyBauhFAn7iCeVWLqn257PRqb5zM7B0lB8KGyl04KmQJHhm19uRf0bP4RJx8HpFwowplDOzG9UiEZn63TJGh0mYI0XKxIE8n4SJkF1irL1MAuhtHjhZnaNscEJHMYAmWWIPtLnRkKEso5JBWnc0GQfrKINuBkEhi2irk3neIiVi4rIz-SQ5mIZZxcpdhCLiCneA9oaFrtXrmy3JpsbUF0zcjQNaeptCTlDmvkW6ie20oQ_a5lSmbdEg7NHkzeLfR3CA8kWZZ6kDJUJFdohpYeDQCiqd87rOFYB_6yeJ3mw.hSlJDWvePIBGVfcueqZcxyHvaDrAhNgW2a8_Yx73Wt3unYzXebkuj2zQishogGDNfWdNCmUZvPvP65OW0Ku4HRPsUBLaEWfswpjoYshTYH1ZwjtAetjDYQrRqKSF8wvS4sUEK4IcrbbQS47C9d4ZQt0Q3Mw6wl02Ld1UrkwTPP3Rb62g3TtLTuFCn5Xeg-HMaa0ozr-O68OiQmyEjEaOLuZAi7ssVAEKbrWW-x0n1yaGtnfau0KU3P3lYVgPbWkwrf7nvmMV8egmMveWOYuNB_YdotinwPldIOblmi4lo0_e5UCitb0rRYzO1JK5EtYyyWDMKOsWJ-trsspjRRk1_w'), ('AuthMethod', 'OktaMfaAdfs'), ('ErrorMessage', None)]
Traceback (most recent call last):
  File "/usr/lib/python3.7/site-packages/urllib3/connection.py", line 159, in _new_conn
    (self._dns_host, self.port), self.timeout, **extra_kw)
  File "/usr/lib/python3.7/site-packages/urllib3/util/connection.py", line 80, in create_connection
    raise err
  File "/usr/lib/python3.7/site-packages/urllib3/util/connection.py", line 70, in create_connection
    sock.connect(sa)
TimeoutError: [Errno 110] Connection timed out

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3.7/site-packages/urllib3/connectionpool.py", line 600, in urlopen
    chunked=chunked)
  File "/usr/lib/python3.7/site-packages/urllib3/connectionpool.py", line 343, in _make_request
    self._validate_conn(conn)
  File "/usr/lib/python3.7/site-packages/urllib3/connectionpool.py", line 839, in _validate_conn
    conn.connect()
  File "/usr/lib/python3.7/site-packages/urllib3/connection.py", line 301, in connect
    conn = self._new_conn()
  File "/usr/lib/python3.7/site-packages/urllib3/connection.py", line 168, in _new_conn
    self, "Failed to establish a new connection: %s" % e)
urllib3.exceptions.NewConnectionError: <urllib3.connection.VerifiedHTTPSConnection object at 0x7f94ff8fbcc0>: Failed to establish a new connection: [Errno 110] Connection timed out

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3.7/site-packages/requests/adapters.py", line 449, in send
    timeout=timeout
  File "/usr/lib/python3.7/site-packages/urllib3/connectionpool.py", line 638, in urlopen
    _stacktrace=sys.exc_info()[2])
  File "/usr/lib/python3.7/site-packages/urllib3/util/retry.py", line 398, in increment
    raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='signin.aws.amazon.com', port=443): Max retries exceeded with url: /saml (Caused by NewConnectionError('<urllib3.connection.VerifiedHTTPSConnection object at 0x7f94ff8fbcc0>: Failed to establish a new connection: [Errno 110] Connection timed out'))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/bin/stsauth", line 10, in <module>
    sys.exit(cli())
  File "/usr/lib/python3.7/site-packages/click/core.py", line 764, in __call__
    return self.main(*args, **kwargs)
  File "/usr/lib/python3.7/site-packages/click/core.py", line 717, in main
    rv = self.invoke(ctx)
  File "/usr/lib/python3.7/site-packages/click/core.py", line 1137, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/usr/lib/python3.7/site-packages/click/core.py", line 956, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/lib/python3.7/site-packages/click/core.py", line 555, in invoke
    return callback(*args, **kwargs)
  File "/usr/lib/python3.7/site-packages/sts_auth/cli.py", line 75, in authenticate
    adfs_response = sts_auth.fetch_aws_account_names(saml_response)
  File "/usr/lib/python3.7/site-packages/sts_auth/stsauth.py", line 289, in fetch_aws_account_names
    adfs_response = self.session.post(hiddenform.attrs.get('action'), data=data, headers=headers)
  File "/usr/lib/python3.7/site-packages/requests/sessions.py", line 581, in post
    return self.request('POST', url, data=data, json=json, **kwargs)
  File "/usr/lib/python3.7/site-packages/requests/sessions.py", line 533, in request
    resp = self.send(prep, **send_kwargs)
  File "/usr/lib/python3.7/site-packages/requests/sessions.py", line 646, in send
    r = adapter.send(request, **kwargs)
  File "/usr/lib/python3.7/site-packages/requests/adapters.py", line 516, in send
    raise ConnectionError(e, request=request)
requests.exceptions.ConnectionError: HTTPSConnectionPool(host='signin.aws.amazon.com', port=443): Max retries exceeded with url: /saml (Caused by NewConnectionError('<urllib3.connection.VerifiedHTTPSConnection object at 0x7f94ff8fbcc0>: Failed to establish a new connection: [Errno 110] Connection timed out'))

I'm using Arch Linux, and I'm not sure if there a missing requirement or anything wrong on my side. However, it's strange it still works with 0.3.5, but it doesn't with any newer version.

Please, let me know if you need me to do any test or provide additional info.

Thank you!

Question > Release versions

Hi,

This is not an issue, just a question. I don't know about any better place where to ask it.

Do you have any plan to release versions? I think that would be very nice and help better track when a version is done version in progress. Thoughts?

Thank you!

`-o/--output` flag is not implemented

Describe the bug
The output with choices of text|json|table are not being respected

To Reproduce
stsauth authenticate -o json

Expected behavior
A json object of the resulting variable

[None] is being written to credentials file

Describe the bug
After selecting an account profile, credentials are requested then an exception is raised

It seems this happens when authenticating to an account that already exists in the credentials file, when deleting the None, I am able to authenticate, with it then writing None, and it does not happen to accounts I have never authenticated to before.

Expected behavior
Credentials are requested

Traceback (most recent call last):
  File "/home/jbpratt/.local/lib/python3.8/site-packages/botocore/configloader.py", line 149, in raw_config_parse
    cp.read([path])
  File "/usr/lib/python3.8/configparser.py", line 697, in read
    self._read(fp, filename)
  File "/usr/lib/python3.8/configparser.py", line 1067, in _read
    raise DuplicateSectionError(sectname, fpname,
configparser.DuplicateSectionError: While reading from '/home/jbpratt/.aws/credentials' [line 103]: section 'None' already exists

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/jbpratt/.local/bin/stsauth", line 8, in <module>
    sys.exit(cli())
  File "/home/jbpratt/.local/lib/python3.8/site-packages/click/core.py", line 764, in __call__
    return self.main(*args, **kwargs)
  File "/home/jbpratt/.local/lib/python3.8/site-packages/click/core.py", line 717, in main
    rv = self.invoke(ctx)
  File "/home/jbpratt/.local/lib/python3.8/site-packages/click/core.py", line 1137, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/jbpratt/.local/lib/python3.8/site-packages/click/core.py", line 956, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/jbpratt/.local/lib/python3.8/site-packages/click/core.py", line 555, in invoke
    return callback(*args, **kwargs)
  File "/home/jbpratt/.local/lib/python3.8/site-packages/sts_auth/cli.py", line 129, in authenticate
    token = sts_auth.fetch_aws_sts_token(role_arn, principal_arn, saml_response.assertion, aws_profile=profile)
  File "/home/jbpratt/.local/lib/python3.8/site-packages/sts_auth/stsauth.py", line 240, in fetch_aws_sts_token
    raise e
  File "/home/jbpratt/.local/lib/python3.8/site-packages/sts_auth/stsauth.py", line 233, in fetch_aws_sts_token
    session = boto3.Session(profile_name=aws_profile)
  File "/home/jbpratt/.local/lib/python3.8/site-packages/boto3/session.py", line 80, in __init__
    self._setup_loader()
  File "/home/jbpratt/.local/lib/python3.8/site-packages/boto3/session.py", line 120, in _setup_loader
    self._loader = self._session.get_component('data_loader')
  File "/home/jbpratt/.local/lib/python3.8/site-packages/botocore/session.py", line 682, in get_component
    return self._components.get_component(name)
  File "/home/jbpratt/.local/lib/python3.8/site-packages/botocore/session.py", line 919, in get_component
    self._components[name] = factory()
  File "/home/jbpratt/.local/lib/python3.8/site-packages/botocore/session.py", line 155, in <lambda>
    lambda:  create_loader(self.get_config_variable('data_path')))
  File "/home/jbpratt/.local/lib/python3.8/site-packages/botocore/session.py", line 237, in get_config_variable
    return self.get_component('config_store').get_config_variable(
  File "/home/jbpratt/.local/lib/python3.8/site-packages/botocore/configprovider.py", line 293, in get_config_variable
    return provider.provide()
  File "/home/jbpratt/.local/lib/python3.8/site-packages/botocore/configprovider.py", line 390, in provide
    value = provider.provide()
  File "/home/jbpratt/.local/lib/python3.8/site-packages/botocore/configprovider.py", line 451, in provide
    scoped_config = self._session.get_scoped_config()
  File "/home/jbpratt/.local/lib/python3.8/site-packages/botocore/session.py", line 327, in get_scoped_config
    profile_map = self._build_profile_map()
  File "/home/jbpratt/.local/lib/python3.8/site-packages/botocore/session.py", line 223, in _build_profile_map
    self._profile_map = self.full_config['profiles']
  File "/home/jbpratt/.local/lib/python3.8/site-packages/botocore/session.py", line 364, in full_config
    cred_profiles = botocore.configloader.raw_config_parse(
  File "/home/jbpratt/.local/lib/python3.8/site-packages/botocore/configloader.py", line 151, in raw_config_parse
    raise botocore.exceptions.ConfigParseError(
botocore.exceptions.ConfigParseError: Unable to parse config file: /home/jbpratt/.aws/credentials
~/work tail ~/.aws/credentials
[None]

[None]

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.