Skip to main content

Materialize a YAML configuration into AWS EC2

Project description

Take a yaml file like this

app:
  name: foo
  owner: adam venturella
  location: us-west-2
  key: <optional>
  secret: <optional>

instances:
  app_server:
    key_name: aventurella
    image: ami-6ac2a85a
    size: m3.medium
    zone: us-west-2c
    tags:
      - key1: value1
      - key2: value2

    ip_address: foo

    security_groups:
      - ssh
      - http
      - https
      - foo-salt
      - foo-ssh

    volumes:
      - foo-volume: /dev/sdh

elastic_ips:
  - foo

volumes:
  foo-volume:
    size: 1
    zone: us-west-2c
    tags:
      - key1: value1
      - key2: value2


security_groups:
  foo-ssh:
    ip_protocol: tcp
    from_port: 1022
    to_port: 1022
    cidr_ip: '0.0.0.0/0'

  foo-salt:
    ip_protocol: tcp
    from_port: 2000
    to_port: 65535
    cidr_ip: '0.0.0.0/0'

And materialize it into AWS EC2 accordingly.

Command line tool

Usage:
  ec2yaml <conf> [(--key=<key> --secret=<secret>)] [--loglevel=<level>]

Options:
  -h --help              Show this screen.
  -v --version           Show version.
  -k --key=<key>         AWS access key ID
  -s --secret=<secret>   AWS secret access key
  -l --loglevel=<level>  Log level to display [default: info]

Release History

0.0.1 (2014-05-07)

API Changes Bugfixes

0.0.6 (2014-05-07)

API Changes - Instances can now be arbitrarily tagged

instances:
  app_server:
    key_name: aventurella
    image: ami-6ac2a85a
    size: m3.medium
    zone: us-west-2c
    tags:
      - key1: value1
      - key2: value2

    ip_address: foo

    security_groups:
      - ssh
      - http
      - https
      - foo-salt
      - foo-ssh

    volumes:
      - foo-volume: /dev/sdh
  • Volumes can now be arbitrarily tagged

    volumes:
      foo-volume:
        size: 1
        zone: us-west-2c
        tags:
          - key1: value1
          - key2: value2

Project details


Download files

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

Source Distribution

ec2yaml-0.0.7.tar.gz (9.1 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page