def prompt_role(roles): """Prompt for role to use.""" names = roles.keys() pt = [(Token, "Current roles are:\n\n")] for i, x in enumerate(names): pt.append((Token.Param, "{}".format(i))) pt.append((Token, ". {} - {} ({})\n".format(x, roles[x]['Arn'], roles[x]['CreateDate']))) pt.append((Token, "\nSelect role to use for lambda execution: ")) while True: sel = int(prompt(get_prompt_tokens=lambda x: pt, style=prompt_style, validator=SelectionValidator()).strip()) try: return names[sel] except IndexError: print("Invalid selection: {}".format(sel))
def prompt_keypair(keypairs): """Prompt for key pair to use.""" ids = keypairs.keys() pt = [(Token, "Current key pairs are:\n\n")] for i, x in enumerate(ids): pt.append((Token.Param, "{}".format(i))) pt.append((Token, ". {}\n".format(x))) pt.append((Token, "\nSelect key pair to use for launch configurations: ")) while True: sel = int( prompt(get_prompt_tokens=lambda x: pt, style=prompt_style, validator=SelectionValidator()).strip()) try: return ids[sel] except IndexError: print("Invalid selection: {}".format(sel))
def prompt_image(images): """Prompt for image to use.""" ids = images.keys() pt = [(Token, "Current verdi AMIs are:\n\n")] for i, x in enumerate(ids): pt.append((Token.Param, "{}".format(i))) pt.append( (Token, ". {} - {} ({})\n".format(images[x]['Name'], x, images[x]['CreationDate']))) pt.append((Token, "\nSelect verdi AMI to use for launch configurations: ")) while True: sel = int( prompt(get_prompt_tokens=lambda x: pt, style=prompt_style, validator=SelectionValidator()).strip()) try: return ids[sel] except IndexError: print("Invalid selection: {}".format(sel))