aws-ar 1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
aws-ar-1.0/PKG-INFO ADDED
@@ -0,0 +1,5 @@
1
+ Metadata-Version: 2.1
2
+ Name: aws-ar
3
+ Version: 1.0
4
+ Author: Shashank Dubey
5
+ Requires-Dist: boto3
File without changes
@@ -0,0 +1,34 @@
1
+ import argparse
2
+ import subprocess
3
+
4
+ def assume_role(arn, profile, new_profile):
5
+
6
+ sts_output = subprocess.check_output(['aws', 'sts', 'assume-role', '--role-arn', arn, '--role-session-name', 'AssumeRoleSession', '--profile', profile])
7
+
8
+ sts_output_lines = sts_output.decode().splitlines()
9
+ for line in sts_output_lines:
10
+ if 'AccessKeyId' in line:
11
+ access_key = line.split(':')[1].strip().strip(',').strip('"').strip('"')
12
+ elif 'SecretAccessKey' in line:
13
+ secret_key = line.split(':')[1].strip().strip(',').strip('"').strip('"')
14
+ elif 'SessionToken' in line:
15
+ session_token = line.split(':')[1].strip().strip(',').strip('"').strip('"')
16
+
17
+ subprocess.run(['aws', 'configure', 'set', 'aws_access_key_id', access_key, '--profile', new_profile])
18
+ subprocess.run(['aws', 'configure', 'set', 'aws_secret_access_key', secret_key, '--profile', new_profile])
19
+ subprocess.run(['aws', 'configure', 'set', 'aws_session_token', session_token, '--profile', new_profile])
20
+
21
+ def main():
22
+ parser = argparse.ArgumentParser(description='AWS Assume Role Utility')
23
+ parser.add_argument('--role-arn', required=True, help='ARN of the role to assume')
24
+ parser.add_argument('--profile', help='Name of the profile to use for assuming the role (default: default)')
25
+ parser.add_argument('--new-profile', required=True, help='Name of the new profile to create')
26
+
27
+ args = parser.parse_args()
28
+
29
+ assume_role(args.role_arn, args.profile or 'default',args.new_profile)
30
+
31
+ print(f'New profile {args.new_profile} configured with assumed role credentials.')
32
+
33
+ if __name__ == "__main__":
34
+ main()
@@ -0,0 +1,5 @@
1
+ Metadata-Version: 2.1
2
+ Name: aws-ar
3
+ Version: 1.0
4
+ Author: Shashank Dubey
5
+ Requires-Dist: boto3
@@ -0,0 +1,9 @@
1
+ setup.py
2
+ aws-ar/__init__.py
3
+ aws-ar/aws_ar.py
4
+ aws_ar.egg-info/PKG-INFO
5
+ aws_ar.egg-info/SOURCES.txt
6
+ aws_ar.egg-info/dependency_links.txt
7
+ aws_ar.egg-info/entry_points.txt
8
+ aws_ar.egg-info/requires.txt
9
+ aws_ar.egg-info/top_level.txt
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ aws-ar = aws_ar.aws_ar:main
@@ -0,0 +1 @@
1
+ boto3
@@ -0,0 +1 @@
1
+ aws-ar
aws-ar-1.0/setup.cfg ADDED
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
aws-ar-1.0/setup.py ADDED
@@ -0,0 +1,16 @@
1
+ from setuptools import setup, find_packages
2
+
3
+ setup(
4
+ name='aws-ar',
5
+ version='1.0',
6
+ author='Shashank Dubey',
7
+ packages=find_packages(),
8
+ entry_points={
9
+ 'console_scripts': [
10
+ 'aws-ar = aws_ar.aws_ar:main'
11
+ ]
12
+ },
13
+ install_requires=[
14
+ 'boto3',
15
+ ],
16
+ )