# aws-assume-role-otp
AWS Assume Role OTP allows you to assume a role on AWS at the same time it generates the MFA token.
## Installation
```
pip install aws-assume-role-otp
```
## Usage
```bash
aws-assume-role-otp
```
### Add role
```bash
aws-assume-role-otp --add-role
```
### Remove role
```bash
aws-assume-role-otp --remove-role
```
### First time configuration
The first time you run this tool, it will ask you to inform:
* AWS Access Key ID
* AWS Secret Access Key
* Serial MFA Secret. [How to register device](https://docs.aws.amazon.com/singlesignon/latest/userguide/how-to-register-device.html)
* MFA ARN
* Roles and profiles
## Build locally
```
pip install build
python -m build
pip install dist/aws_assume_role_otp-0.3-py3-none-any.whl
```
# Changelog
## [0.3] - 2023-10-02
### Added
- Allow to add or remove roles
Raw data
{
"_id": null,
"home_page": "",
"name": "aws-assume-role-otp",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": "",
"keywords": "",
"author": "",
"author_email": "F\u00e1bio Paiva <fabio@paiva.info>",
"download_url": "https://files.pythonhosted.org/packages/56/0a/a4f2452e0075c6346885a526ff4d9cb2f796f7a905f0911e46fabd4286fd/aws_assume_role_otp-0.3.tar.gz",
"platform": null,
"description": "# aws-assume-role-otp\n\nAWS Assume Role OTP allows you to assume a role on AWS at the same time it generates the MFA token.\n\n## Installation\n\n```\npip install aws-assume-role-otp\n```\n\n## Usage\n\n```bash\naws-assume-role-otp\n\n```\n\n### Add role\n```bash\naws-assume-role-otp --add-role\n\n```\n\n### Remove role\n```bash\naws-assume-role-otp --remove-role\n\n```\n\n### First time configuration\n\nThe first time you run this tool, it will ask you to inform:\n\n* AWS Access Key ID\n* AWS Secret Access Key\n* Serial MFA Secret. [How to register device](https://docs.aws.amazon.com/singlesignon/latest/userguide/how-to-register-device.html)\n* MFA ARN\n* Roles and profiles\n\n\n## Build locally\n\n```\npip install build\npython -m build\npip install dist/aws_assume_role_otp-0.3-py3-none-any.whl\n```\n\n\n# Changelog\n\n## [0.3] - 2023-10-02\n\n### Added\n\n- Allow to add or remove roles\n",
"bugtrack_url": null,
"license": "",
"summary": "A CLI tool to assume a role on AWS using MFA",
"version": "0.3",
"project_urls": {
"Bug Tracker": "https://github.com/fabiopaiva/aws-assume-role-otp/issues",
"Homepage": "https://github.com/fabiopaiva/aws-assume-role-otp"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "79f476d0d6a0a1ad0b457ff0ddb03202a8f2ffab70fe634350be4ea3f6bb4ab7",
"md5": "c8e075666a8df6fd13da0dd3fc1dd8db",
"sha256": "aab2de9035888dd3efcd8debd3d23cfff10157d2fbae2c35752e522a17c7c946"
},
"downloads": -1,
"filename": "aws_assume_role_otp-0.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "c8e075666a8df6fd13da0dd3fc1dd8db",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 8611,
"upload_time": "2023-10-02T15:11:26",
"upload_time_iso_8601": "2023-10-02T15:11:26.880291Z",
"url": "https://files.pythonhosted.org/packages/79/f4/76d0d6a0a1ad0b457ff0ddb03202a8f2ffab70fe634350be4ea3f6bb4ab7/aws_assume_role_otp-0.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "560aa4f2452e0075c6346885a526ff4d9cb2f796f7a905f0911e46fabd4286fd",
"md5": "89a9772d50ba8fd1cac351e6826d2e1a",
"sha256": "1f4129bd9c9c40887355dabf2c52728640a4881f63938ad1ca556a82ba02115b"
},
"downloads": -1,
"filename": "aws_assume_role_otp-0.3.tar.gz",
"has_sig": false,
"md5_digest": "89a9772d50ba8fd1cac351e6826d2e1a",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 7415,
"upload_time": "2023-10-02T15:11:27",
"upload_time_iso_8601": "2023-10-02T15:11:27.986838Z",
"url": "https://files.pythonhosted.org/packages/56/0a/a4f2452e0075c6346885a526ff4d9cb2f796f7a905f0911e46fabd4286fd/aws_assume_role_otp-0.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-10-02 15:11:27",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "fabiopaiva",
"github_project": "aws-assume-role-otp",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [
{
"name": "appdirs",
"specs": [
[
"==",
"1.4.4"
]
]
},
{
"name": "boto3",
"specs": [
[
"==",
"1.28.52"
]
]
},
{
"name": "botocore",
"specs": [
[
"==",
"1.31.52"
]
]
},
{
"name": "cffi",
"specs": [
[
"==",
"1.15.1"
]
]
},
{
"name": "click",
"specs": [
[
"==",
"8.1.7"
]
]
},
{
"name": "colorama",
"specs": [
[
"==",
"0.4.6"
]
]
},
{
"name": "configparser",
"specs": [
[
"==",
"6.0.0"
]
]
},
{
"name": "cryptography",
"specs": [
[
"==",
"41.0.4"
]
]
},
{
"name": "inquirerpy",
"specs": [
[
"==",
"0.3.4"
]
]
},
{
"name": "jmespath",
"specs": [
[
"==",
"1.0.1"
]
]
},
{
"name": "markdown-it-py",
"specs": [
[
"==",
"3.0.0"
]
]
},
{
"name": "mdurl",
"specs": [
[
"==",
"0.1.2"
]
]
},
{
"name": "pfzy",
"specs": [
[
"==",
"0.3.4"
]
]
},
{
"name": "prompt",
"specs": [
[
"==",
"0.4.1"
]
]
},
{
"name": "prompt-toolkit",
"specs": [
[
"==",
"3.0.39"
]
]
},
{
"name": "pycparser",
"specs": [
[
"==",
"2.21"
]
]
},
{
"name": "Pygments",
"specs": [
[
"==",
"2.16.1"
]
]
},
{
"name": "pyotp",
"specs": [
[
"==",
"2.9.0"
]
]
},
{
"name": "python-dateutil",
"specs": [
[
"==",
"2.8.2"
]
]
},
{
"name": "rich",
"specs": [
[
"==",
"13.5.3"
]
]
},
{
"name": "s3transfer",
"specs": [
[
"==",
"0.6.2"
]
]
},
{
"name": "shellingham",
"specs": [
[
"==",
"1.5.3"
]
]
},
{
"name": "six",
"specs": [
[
"==",
"1.16.0"
]
]
},
{
"name": "typer",
"specs": [
[
"==",
"0.9.0"
]
]
},
{
"name": "typing_extensions",
"specs": [
[
"==",
"4.8.0"
]
]
},
{
"name": "urllib3",
"specs": [
[
"==",
"1.26.16"
]
]
},
{
"name": "wcwidth",
"specs": [
[
"==",
"0.2.6"
]
]
}
],
"lcname": "aws-assume-role-otp"
}