opendelivery 0.0.13 → 0.0.14

Sign up to get free protection for your applications and to get access to all the features.
@@ -23,6 +23,12 @@ module OpenDelivery
23
23
  end
24
24
  end
25
25
 
26
+ def destroy_item(domain, item_name)
27
+ AWS::SimpleDB.consistent_reads do
28
+ @sdb.domains[domain].items[item_name].delete
29
+ end
30
+ end
31
+
26
32
  def get_property(domain, item_name, key)
27
33
  AWS::SimpleDB.consistent_reads do
28
34
  item = @sdb.domains[domain].items[item_name]
@@ -6,10 +6,12 @@ module OpenDelivery
6
6
  def initialize(region=nil)
7
7
  if region.nil?
8
8
  @cfn = AWS::CloudFormation.new
9
+ @autoscaling = AWS::AutoScaling.new
9
10
  else
11
+ @autoscaling = AWS::AutoScaling.new(:region => region)
10
12
  @cfn = AWS::CloudFormation.new(:region => region)
11
13
  end
12
- @domain = OpenDelivery::Domain.new region
14
+ @domain = OpenDelivery::Domain.new(region)
13
15
  end
14
16
 
15
17
 
@@ -66,6 +68,7 @@ module OpenDelivery
66
68
  def destroy(stack_name, domain=nil, wait=false)
67
69
  stack = @cfn.stacks[stack_name]
68
70
  unless stack.exists? raise "Stack: #{stack_name} doesn't exist, therefore it cannot be destroyed"
71
+ stack.resume_scaling_activities(stack_name)
69
72
  stack.delete
70
73
  while wait and stack.exists?
71
74
  sleep 20
@@ -80,6 +83,19 @@ module OpenDelivery
80
83
  end
81
84
  end
82
85
 
86
+ def resume_scaling_activities(stack_name)
87
+ stack = @cfn.stacks[stack_name]
88
+ stack.resources.each do |resource|
89
+ if resource.resource_type == "AWS::AutoScaling::AutoScalingGroup"
90
+ begin
91
+ @autoscaling.groups[resource.physical_resource_id].resume_all_processes
92
+ rescue Exception => e
93
+ puts "ASG operation failed with [#{e.message}]"
94
+ end
95
+ end
96
+ end
97
+ end
98
+
83
99
  protected
84
100
 
85
101
  def wait_for_stack(stack)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: opendelivery
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.13
4
+ version: 0.0.14
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2013-08-30 00:00:00.000000000 Z
14
+ date: 2013-08-31 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: rspec