docs: def action_runner(parser, args):
      """Run appropriate action, or throw help"""
  
      ux_actions(parser, args)
      client = aomi.vault.Client(args)
  
      if args.operation == 'extract_file':
          aomi.render.raw_file(client.connect(args),
                               args.vault_path, args.destination, args)
          sys.exit(0)
      elif args.operation == 'environment':
          aomi.render.env(client.connect(args),
                          args.vault_paths, args)
          sys.exit(0)
      elif args.operation == 'aws_environment':
          aomi.render.aws(client.connect(args),
                          args.vault_path, args)
          sys.exit(0)
      elif args.operation == 'seed':
          aomi.validation.gitignore(args)
          aomi.seed_action.seed(client.connect(args), args)
          sys.exit(0)
      elif args.operation == 'render':
          aomi.seed_action.render(args.directory, args)
          sys.exit(0)
      elif args.operation == 'export':
          aomi.seed_action.export(client.connect(args), args)
          sys.exit(0)
      elif args.operation == 'diff':
          aomi.seed_action.diff(client.connect(args), args)
          sys.exit(0)
      elif args.operation == 'template':
          template_runner(client.connect(args), parser, args)
      elif args.operation == 'token':
          print(client.connect(args).token)
          sys.exit(0)
      elif args.operation == 'set_password':
          aomi.util.password(client.connect(args), args.vault_path)
          sys.exit(0)
      elif args.operation == 'freeze':
          aomi.filez.freeze(args.icefile, args)
          sys.exit(0)
      elif args.operation == 'thaw':
          do_thaw(client, args)
  
      parser.print_usage()
      sys.exit(2)