/aws-starter

Automation tool for Amazon AWS

Primary LanguagePythonBSD 2-Clause "Simplified" LicenseBSD-2-Clause

Automation tool for Amazon AWS

Join the chat at https://gitter.im/tuxofil/aws-starter

Purpose:

  • start one or more Amazon instances;
  • configure each started instance;
  • run some code, using access to the instances via SSH;
  • terminate the instances

Synopsis

To show usage help:

aws-starter -h

To start instances:

aws-starter [options] config_path

Positional arguments:

  • config_path - Path to configuration file.

Optional arguments:

  • -h, --help - Show this help message and exit.
  • -p, --pause - Wait until user press the ENTER key after the super script and before termination of the instances. In case of an error no pause will be made.
  • --pause-on-error - Wait until user press the ENTER key before termination of the instances when an error occurs.
  • --no-terminate - Do not terminate the instances after the work is done. The instances WILL be terminated when an error occurs.
  • --no-terminate-on-error - Do not terminate the instances after an error has been occured. This is useful to make able the user to investigate the problem on the instances.
  • --stop - do not start any instances. Read instance IDs from a local file, defined in a 'instance_ids_path' configuration option, terminate them all and exit. See description of 'instance_ids_path' configuration option for more details;
  • -v VERBOSITY, --verbosity VERBOSITY - Verbosity level. Default is "info". Possible values are: "debug", "info", "warning", "error", "critical".

Instance features

Each instance started with aws-starter have the following features:

  • instance_initiated_shutdown_behaviour option is set to terminate which means the instance will be terminated after a shutdown initiated within the instance (i.e. by poweroff command line tool);
  • a set of standard tags will be set, e.g.
    • Name - instance name defined in the aws-starter.cfg file;
    • StartedBy - effective user name and short hostname where the aws-starter tool was launched;
    • StarterProg - 'aws-starter';
    • StarterHost - uname -a string.