Repository URL to install this package:
|
Version:
0.2.20 ▾
|
from enum import Enum
from .client import aws_session
class AccountType(Enum):
DEV = "development"
TEST = "test"
PROD = "production"
TOOLS = "tools"
MASTER = "master"
class AccountStructure():
def __init__(self,
development_account: str = '176871627765',
test_account: str = '889224680907',
production_account: str = '748078721925',
tools_account: str = '226647244199',
master_account: str ='803813156102',
development_role='arn:aws:iam::176871627765:role/OrganizationAccountAccessRole',
test_role='arn:aws:iam::889224680907:role/OrganizationAccountAccessRole',
production_role='arn:aws:iam::748078721925:role/OrganizationAccountAccessRole',
tools_role='arn:aws:iam::226647244199:role/OrganizationAccountAccessRole',
master_role='arn:aws:iam::803813156102:role/OrganizationAccountAccessRole'):
self.development_account = development_account
self.test_account = test_account
self.production_account = production_account
self.tools_account = tools_account
self.master_account = master_account
self.development_role = development_role
self.test_role = test_role
self.production_role = production_role
self.tools_role = tools_role
self.master_role = master_role
def get_account(self, account_type: AccountType):
return getattr(self, f"{account_type.value}_account", "Unknown Account")
def get_role(self, account_type: AccountType):
return getattr(self, f"{account_type.value}_role", "Unknown Role")
class SessionManager():
def __init__(self, accounts: AccountStructure=AccountStructure()):
self.development_session = aws_session(accounts.development_role, session_name='dev_session')
self.test_session = aws_session(accounts.test_role, session_name='test_session')
self.tools_session = aws_session(accounts.tools_role, session_name='tools_session')
self.production_session = aws_session(accounts.production_role, session_name='prod_session')
self.master_session = aws_session(accounts.master_role, session_name='master_session')
def get_session(self, account_type: AccountType):
return getattr(self, f"{account_type.value}_session", "Unknown Session Type")