Sha256: a7727cd80dec05e6ec9e86baa4f06b692f2c18e7e9a2201c5f5963c93f4fe934

Contents?: true

Size: 653 Bytes

Versions: 3

Compression:

Stored size: 653 Bytes

Contents

require 'opsicle/config'

module Opsicle
  class Client
    attr_reader :aws_client
    attr_reader :config

    def initialize(environment)
      @config = Config.new(environment)
      @config.configure_aws!
      @aws_client = AWS::OpsWorks.new.client
    end

    def run_command(command, options={})
      aws_client.create_deployment(command_options(command, options))
    end

    def api_call(command, options={})
      aws_client.public_send(command, options)
    end

    def command_options(command, options={})
      config.opsworks_config.merge(options).merge({ command: { name: command } })
    end
    private :command_options

  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
opsicle-0.2.1 lib/opsicle/client.rb
opsicle-0.2.0 lib/opsicle/client.rb
opsicle-0.1.0 lib/opsicle/client.rb