opendelivery 0.0.13 → 0.0.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/lib/opendelivery/domain.rb +6 -0
- data/lib/opendelivery/stack.rb +17 -1
- metadata +2 -2
data/lib/opendelivery/domain.rb
CHANGED
@@ -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]
|
data/lib/opendelivery/stack.rb
CHANGED
@@ -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
|
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.
|
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-
|
14
|
+
date: 2013-08-31 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: rspec
|