Sha256: 10502094ae346abb260c90011062c11dddf8ce0ff52e2287378df13cabf0f287
Contents?: true
Size: 1.52 KB
Versions: 5
Compression:
Stored size: 1.52 KB
Contents
Swirl ===== Swirl is an EC2 version agnostic client for EC2 writtin in Ruby. It gets out of your way. The secret is it's simple input extraction and output compacting. Your input parameters and `expand`ed and EC2's (terrible) xml output is `compact`ed. Some simple examples: # Input { "InstanceId" => ["i-123k2h1", "i-0234d3"] } is `expand`ed to: { "InstanceId.0" => "i-123k2h1", "InstanceId.1" => "i-0234d3" } in the case that `.n` isn't at the end of the key: { "Foo.#.Bar" => ["a", "b"] } is `expand`ed to: { "Foo.0.Bar" => "a", "Foo.1.Bar" => "b" } and # Output { "reservationSet" => { "item" => { "instancesSet" => { "item" => [ ... ] } } } } and it's varations are now `compact`ed to: { "reservationSet" => { "instancesSet" => [ { ... }, { ... } ] } } Some things worth noteing is that compact ignores Symbols. This allows you to pass the params into `call` and use them later without affecting the API call (i.e. chain of responsiblity); a nifty trick we use in (Rack)[http://github.com/rack/rack] Use --- require 'rubygems' # if you're using rubygems require 'swirl/aws' ec2 = Swirl::EC2.new # Describe all instances ec2.call "DescribeInstances" # Describe specific instances ec2.call "DescribeInstances", "InstanceId" => ["i-38hdk2f", "i-93nndch"] Shell --- $ swirl >> c <Swirl::EC2 ... > >> c.call "DescribeInstances" ... The shell respects your ~/.swirl file for configuration
Version data entries
5 entries across 5 versions & 1 rubygems
Version | Path |
---|---|
swirl-1.7.4 | README.md |
swirl-1.7.3 | README.md |
swirl-1.7.2 | README.md |
swirl-1.7.1 | README.md |
swirl-1.7.0 | README.md |