ACCOUNTS = [ { 'id': '725764004555', 'profile': 'gdb-apollo-dev' }, { 'id': '582412345909', 'profile': 'gdb-core-dev' }, { 'id': '745243859288', 'profile': 'gdb-databricks-dev' }, { 'id': '313114233826', 'profile': 'gdb-datasci-dev' }, { 'id': '475275892927', 'profile': 'gdb-delphi-dev' }, { 'id': '483193324480', 'profile': 'gdb-infra-dev' }, { 'id': '703740486246', 'profile': 'gdb-prodhub-dev' }, { 'id': '801577982711', 'profile': 'gdb-apollo-prod' }, { 'id': '885200931856', 'profile': 'gdb-core-prod' }, { 'id': '807702934854', 'profile': 'gdb-databricks-prod' }, { 'id': '323555055331', 'profile': 'gdb-delphi-prod' }, { 'id': '890208661333', 'profile': 'gdb-infra-prod' }, { 'id': '814622134907', 'profile': 'gdb-whitelist-dev' }, { 'id': '009424872958', 'profile': 'gdb-whitelist-prod' }, #{ 'id': '322697034778', 'profile': 'gdb-legacy-prod' }, ] # Inconsistensies between profile naming and platform naming SUBSTITUTIONS = { 'artistapp': 'ama' } def accountListLegacy() -> dict: res = {} for acc in ACCOUNTS: profile = acc['profile'].split('-', 1)[1] for k, v in SUBSTITUTIONS.items(): profile.replace(k, v) res[profile] = acc['id'] return res def accountList() -> list: res = [] for acc in ACCOUNTS: platform = acc['profile'].split('-')[1] env = acc['profile'].split('-')[2] #if env == 'legacy': env = 'prod' if platform in SUBSTITUTIONS: platform = SUBSTITUTIONS[platform] acc['platform'] = platform acc['env'] = env res.append(acc) return res def accIdByProfile(profile: str) -> str: for acc in ACCOUNTS: if acc['profile'] == profile: return acc['id']