Class: Opsicle::Client

Inherits:
Object
  • Object
show all
Defined in:
lib/opsicle/client.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(environment) ⇒ Client

Returns a new instance of Client.



9
10
11
12
13
14
# File 'lib/opsicle/client.rb', line 9

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

Instance Attribute Details

#configObject (readonly)

Returns the value of attribute config.



7
8
9
# File 'lib/opsicle/client.rb', line 7

def config
  @config
end

#opsworksObject (readonly)

Returns the value of attribute opsworks.



5
6
7
# File 'lib/opsicle/client.rb', line 5

def opsworks
  @opsworks
end

#s3Object (readonly)

Returns the value of attribute s3.



6
7
8
# File 'lib/opsicle/client.rb', line 6

def s3
  @s3
end

Instance Method Details

#api_call(command, options = {}) ⇒ Object



22
23
24
# File 'lib/opsicle/client.rb', line 22

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

#opsworks_urlObject



26
27
28
# File 'lib/opsicle/client.rb', line 26

def opsworks_url
  "https://console.aws.amazon.com/opsworks/home?#/stack/#{@config.opsworks_config[:stack_id]}"
end

#run_command(command, command_args = {}, options = {}) ⇒ Object



16
17
18
19
20
# File 'lib/opsicle/client.rb', line 16

def run_command(command, command_args={}, options={})
  opts = command_options(command, command_args, options)
  Output.say_verbose "OpsWorks call: create_deployment(#{opts})"
  opsworks.create_deployment(opts)
end