ops_worker 0.0.6 → 0.0.7

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -11,18 +11,22 @@ Quick command line tool for handling servers on OpsWorks.
11
11
  ops_worker --app homepage_staging rollback
12
12
  ops_worker --app homepage_staging update_cookbooks
13
13
  ops_worker --app homepage_staging execute_recipe --recipe-name monit
14
+ ops_worker --app homepage_staging restart
14
15
 
15
16
  ## Ruby Example
16
17
  ```ruby
17
18
  require 'ops_worker'
18
19
 
20
+ # Initialize using the default AWS.config. You can optionally initialize like
21
+ # client = OpsWorker::Client.new(:access_key_id => "foo", :secret_access_key => "bar")
19
22
  client = OpsWorker::Client.new
20
- # or, client = OpsWorker::Client.new(:access_key_id => "foo", :secret_access_key => "bar")
21
23
 
22
- pp client.stacks
23
- # => [#<OpsWorker::Stack f1735a57-51c3-4933-8440-4f7beb2cb2ff, homepage_staging, us-east-1>,
24
- #<OpsWorker::Stack 3bf98404-dafc-45c4-9fa2-a17485aba4ec, homepage_production, us-east-1>]
24
+ # Get a list of all stacks; this will be cached until you call #reload
25
+ client.stacks
26
+ # => [#<OpsWorker::Stack f1735a57-51c3-4933-8440-4f7beb2cb2ff, homepage_staging, us-east-1>]
25
27
 
28
+ # Iterates through all your stacks to find the app named "homepage_staging"
29
+ # Alternatively, you can do client.stacks.each {|s| s.apps.each {|a| ... } }
26
30
  app = client.find_app_by_name("homepage_staging")
27
31
  app.instances.each do |instance|
28
32
  puts("#{instance.name} is online: #{instance.online?}")
@@ -39,4 +43,16 @@ app.update_cookbooks()
39
43
  app.execute_recipes(["monit"])
40
44
 
41
45
  app.rollback()
46
+
47
+ app.restart()
48
+
49
+ client.reload()
50
+
51
+ client.stacks
52
+ # => [#<OpsWorker::Stack f1735a57-51c3-4933-8440-4f7beb2cb2ff, homepage_staging, us-east-1>,
53
+ #<OpsWorker::Stack 3bf98404-dafc-45c4-9fa2-a17485aba4ec, homepage_production, us-east-1>]
54
+
55
+ # Method missing is delegated to an AWS::OpsWork::Client, so you can use any method from
56
+ # http://docs.aws.amazon.com/AWSRubySDK/latest/AWS/OpsWorks/Client.html
57
+ client.describe_deployments(:app_id => app.id)
42
58
  ```
@@ -5,7 +5,7 @@ module OpsWorker
5
5
  def self.start
6
6
  client = OpsWorker::Client.new
7
7
 
8
- sub_commands = ["deploy", "rollback", "update_cookbooks", "execute_recipe"]
8
+ sub_commands = ["deploy", "rollback", "update_cookbooks", "execute_recipe", "restart"]
9
9
  opts = Trollop::options do
10
10
  banner "ops_worker AWS OpsWorks helper"
11
11
  opt :app, "Application", :type => :string, :short => :a, :required => true
@@ -31,6 +31,8 @@ module OpsWorker
31
31
  opt :recipe_name, "Recipe name", :type => :string, :required => true
32
32
  end
33
33
  app.execute_recipes([command_opts[:recipe_name]])
34
+ when "restart"
35
+ app.restart()
34
36
  else
35
37
  Trollop::die("Unknown command #{command}")
36
38
  end
@@ -1,3 +1,3 @@
1
1
  module OpsWorker
2
- VERSION = "0.0.6"
2
+ VERSION = "0.0.7"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ops_worker
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.0.7
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors: