def _remove_single_profile(args): keyring = Keyring() if not keyring.get_profile(args.profile): print(f'Profile "{args.profile}" not found, nothing to do.') return has_session = not not keyring.get_session(args.profile) keyring.delete_session(args.profile) keyring.delete_profile(args.profile) if has_session: print(f'Profile "{args.profile}" and temporary IAM session removed.') else: print(f'Profile "{args.profile}" removed.')
def _rotate_single_session(args, profile_name=None): if not profile_name: profile_name = args.profile assert(profile_name is not None) keyring = Keyring() profile = keyring.get_profile(profile_name) if not profile: sys.stderr.write(f"Error: Profile \"{profile_name}\" not found.\n") sys.exit(1) _login_to_jumpcloud(profile_name) keyring.delete_session(profile_name) print(f"Temporary IAM session for \"{profile_name}\" removed.") _login_to_aws(keyring, profile) session = keyring.get_session(profile_name) expires_at = session.expires_at.strftime('%c %Z') print(f"AWS temporary session rotated; new session valid until {expires_at}.\n")