Skip to main content

CLI utility to create AWS Scheduled Actions using instance tags or autoscaling id via a config file

Project description

Configures AWS Scheduled Scaling for Amazon EC2 Auto Scaling based on Tags.

You can Tag your EC2 instances and define in a config file the scaling profiles. The rest is magic…

Installation

$ pip install sked

Usage

sked create [-c=<config_file>]
sked delete [-c=<config_file>]
sked -h | --help
sked --version

Examples

sked create -c my_schedule.yml
sked delete -c my_schedule.yml

If you omit the -c parameter, the cli by default tries to use a file called sked.yml.

Configuration file sample

# sked.yml
profiles:
  small:
    desired_capacity: 5
    min_size: 1
    max_size: 10
    recurrence: 0 7 * * * # every day at 07:00
  overnight:
    desired_capacity: 0
    min_size: 0
    recurrence: 15 19 * * MON-FRI # 19:15 from Monday to Friday

auto_scaling_groups:
  - filter:
      tag:
        key: Name
        value: SomeTag
    schedule:
      - profile: small
        times:
          - start_time: 2018-03-01T00:00:00Z
          - start_time: 2018-04-01T00:00:00Z
  - filter:
      tags:
        - tag: {key: Name, value: MyInstanceA}
        - tag: {key: Name, value: 'My Instance B'}
    schedule:
      - profile: small
        times:
          - start_time: 2018-03-01T00:00:00Z
          - start_time: 2018-04-01T00:00:00Z

Additional Note

Sked doesn’t store the state of the applied scheduled action. Everything is based upon the Yaml configuration file.

If you want to use the delete command make sure you didn’t change the Yaml configuration file in the meantime.

For instance, the following workflow will produce an error:

  1. run sked create
  2. change the sked.yml file
  3. run sked delete

Project details


Release history Release notifications

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for sked, version 1.0.0
Filename, size & hash File type Python version Upload date
sked-1.0.0-py2.py3-none-any.whl (7.9 kB) View hashes Wheel py2.py3

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page