opsicle 2.11.3 → 2.12.0
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.
- checksums.yaml +4 -4
- data/lib/opsicle/commands/add_tags.rb +5 -5
- data/lib/opsicle/commands/clone_instance.rb +4 -4
- data/lib/opsicle/commands/create_instance.rb +6 -6
- data/lib/opsicle/commands/delete_instance.rb +6 -6
- data/lib/opsicle/commands/move_eip.rb +3 -3
- data/lib/opsicle/commands/stop_instance.rb +6 -6
- data/lib/opsicle/opsworks_adapter.rb +8 -0
- data/lib/opsicle/version.rb +1 -1
- data/spec/opsicle/opsworks_adapter_spec.rb +18 -11
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ea2a588c2e4f763a774f40d63bbbb7c929a8f8e4
|
4
|
+
data.tar.gz: e3daa455afa7f0c2e8e35daa91ab6f92358181b4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5b1febacf955033ad6e38c3bcb7b768e22e8d034500588b3cf448eccc43c391f5837b95edf1582348e2f028f20ae16d3d55580d6aeb10bd769a481242fa8fe5a
|
7
|
+
data.tar.gz: 8f3fc3fd905f2ecb8fae152b389860a5da4195928218cb0985fa831ab85215de83cdb6a47c49e80978630eb83da1481b7df27908deef1bb01c8b361bc2a9e8fc
|
@@ -1,5 +1,6 @@
|
|
1
1
|
require 'gli'
|
2
2
|
require "opsicle/user_profile"
|
3
|
+
require "opsicle/opsworks_adapter"
|
3
4
|
require "opsicle/manageable_layer"
|
4
5
|
require "opsicle/manageable_instance"
|
5
6
|
require "opsicle/manageable_stack"
|
@@ -9,10 +10,9 @@ module Opsicle
|
|
9
10
|
|
10
11
|
def initialize(environment)
|
11
12
|
@client = Client.new(environment)
|
12
|
-
@
|
13
|
-
@ec2 = @client.ec2
|
13
|
+
@opsworks_adapter = OpsworksAdapter.new(@client)
|
14
14
|
stack_id = @client.config.opsworks_config[:stack_id]
|
15
|
-
@stack = ManageableStack.new(
|
15
|
+
@stack = ManageableStack.new(stack_id, @opsworks_adapter.client)
|
16
16
|
@cli = HighLine.new
|
17
17
|
end
|
18
18
|
|
@@ -30,11 +30,11 @@ module Opsicle
|
|
30
30
|
|
31
31
|
def select_layer
|
32
32
|
puts "\nLayers:\n"
|
33
|
-
ops_layers = @
|
33
|
+
ops_layers = @opsworks_adapter.get_layers(@stack.id)
|
34
34
|
|
35
35
|
layers = []
|
36
36
|
ops_layers.each do |layer|
|
37
|
-
layers << ManageableLayer.new(layer.name, layer.layer_id, @stack, @
|
37
|
+
layers << ManageableLayer.new(layer.name, layer.layer_id, @stack, @opsworks_adapter.client, @client.ec2, @cli)
|
38
38
|
end
|
39
39
|
|
40
40
|
layers.each_with_index { |layer, index| puts "#{index.to_i + 1}) #{layer.name}" }
|
@@ -10,9 +10,9 @@ module Opsicle
|
|
10
10
|
|
11
11
|
def initialize(environment)
|
12
12
|
@client = Client.new(environment)
|
13
|
-
@
|
13
|
+
@opsworks_adapter = OpsworksAdapter.new(@client)
|
14
14
|
stack_id = @client.config.opsworks_config[:stack_id]
|
15
|
-
@stack = ManageableStack.new(stack_id, @
|
15
|
+
@stack = ManageableStack.new(stack_id, @opsworks_adapter.client)
|
16
16
|
@cli = HighLine.new
|
17
17
|
end
|
18
18
|
|
@@ -36,11 +36,11 @@ module Opsicle
|
|
36
36
|
|
37
37
|
def select_layer
|
38
38
|
puts "\nLayers:\n"
|
39
|
-
ops_layers = @
|
39
|
+
ops_layers = @opsworks_adapter.get_layers(@stack.id)
|
40
40
|
|
41
41
|
layers = []
|
42
42
|
ops_layers.each do |layer|
|
43
|
-
layers << ManageableLayer.new(layer.name, layer.layer_id, @stack, @
|
43
|
+
layers << ManageableLayer.new(layer.name, layer.layer_id, @stack, @opsworks_adapter.client, @client.ec2, @cli)
|
44
44
|
end
|
45
45
|
|
46
46
|
layers.each_with_index { |layer, index| puts "#{index.to_i + 1}) #{layer.name}" }
|
@@ -1,5 +1,6 @@
|
|
1
1
|
require 'gli'
|
2
2
|
require "opsicle/user_profile"
|
3
|
+
require "opsicle/opsworks_adapter"
|
3
4
|
require "opsicle/manageable_layer"
|
4
5
|
require "opsicle/manageable_stack"
|
5
6
|
require "opsicle/creatable_instance"
|
@@ -9,10 +10,9 @@ module Opsicle
|
|
9
10
|
|
10
11
|
def initialize(environment)
|
11
12
|
@client = Client.new(environment)
|
12
|
-
@
|
13
|
-
@ec2 = @client.ec2
|
13
|
+
@opsworks_adapter = OpsworksAdapter.new(@client)
|
14
14
|
stack_id = @client.config.opsworks_config[:stack_id]
|
15
|
-
@stack = ManageableStack.new(
|
15
|
+
@stack = ManageableStack.new(stack_id, @opsworks_adapter.client)
|
16
16
|
@cli = HighLine.new
|
17
17
|
end
|
18
18
|
|
@@ -26,16 +26,16 @@ module Opsicle
|
|
26
26
|
end
|
27
27
|
|
28
28
|
def create_instance(layer, options)
|
29
|
-
CreatableInstance.new(layer, @stack, @
|
29
|
+
CreatableInstance.new(layer, @stack, @opsworks_adapter.client, @client.ec2, @cli).create(options)
|
30
30
|
end
|
31
31
|
|
32
32
|
def select_layer
|
33
33
|
puts "\nLayers:\n"
|
34
|
-
ops_layers = @
|
34
|
+
ops_layers = @opsworks_adapter.get_layers(@stack.id)
|
35
35
|
|
36
36
|
layers = []
|
37
37
|
ops_layers.each do |layer|
|
38
|
-
layers << ManageableLayer.new(layer.name, layer.layer_id, @stack, @
|
38
|
+
layers << ManageableLayer.new(layer.name, layer.layer_id, @stack, @opsworks_adapter.client, @client.ec2, @cli)
|
39
39
|
end
|
40
40
|
|
41
41
|
layers.each_with_index { |layer, index| puts "#{index.to_i + 1}) #{layer.name}" }
|
@@ -1,5 +1,6 @@
|
|
1
1
|
require 'gli'
|
2
2
|
require "opsicle/user_profile"
|
3
|
+
require "opsicle/opsworks_adapter"
|
3
4
|
require "opsicle/manageable_layer"
|
4
5
|
require "opsicle/manageable_instance"
|
5
6
|
require "opsicle/manageable_stack"
|
@@ -9,10 +10,9 @@ module Opsicle
|
|
9
10
|
|
10
11
|
def initialize(environment)
|
11
12
|
@client = Client.new(environment)
|
12
|
-
@
|
13
|
-
@ec2 = @client.ec2
|
13
|
+
@opsworks_adapter = OpsworksAdapter.new(@client)
|
14
14
|
stack_id = @client.config.opsworks_config[:stack_id]
|
15
|
-
@stack = ManageableStack.new(
|
15
|
+
@stack = ManageableStack.new(stack_id, @opsworks_adapter.client)
|
16
16
|
@cli = HighLine.new
|
17
17
|
end
|
18
18
|
|
@@ -22,7 +22,7 @@ module Opsicle
|
|
22
22
|
instances_to_delete = select_instances(layer)
|
23
23
|
instances_to_delete.each do |instance|
|
24
24
|
begin
|
25
|
-
@
|
25
|
+
@opsworks_adapter.delete_instance(instance.instance_id)
|
26
26
|
puts "Successfully deleted #{instance.hostname}"
|
27
27
|
rescue
|
28
28
|
puts "Failed to delete #{instance.hostname}"
|
@@ -36,11 +36,11 @@ module Opsicle
|
|
36
36
|
|
37
37
|
def select_layer
|
38
38
|
puts "\nLayers:\n"
|
39
|
-
ops_layers = @
|
39
|
+
ops_layers = @opsworks_adapter.get_layers(@stack_id)
|
40
40
|
|
41
41
|
layers = []
|
42
42
|
ops_layers.each do |layer|
|
43
|
-
layers << ManageableLayer.new(layer.name, layer.layer_id, @stack, @
|
43
|
+
layers << ManageableLayer.new(layer.name, layer.layer_id, @stack, @opsworks_adapter.client, @client.ec2, @cli)
|
44
44
|
end
|
45
45
|
|
46
46
|
layers.each_with_index { |layer, index| puts "#{index.to_i + 1}) #{layer.name}" }
|
@@ -1,5 +1,6 @@
|
|
1
1
|
require 'gli'
|
2
2
|
require "opsicle/user_profile"
|
3
|
+
require "opsicle/opsworks_adapter"
|
3
4
|
require "opsicle/manageable_layer"
|
4
5
|
require "opsicle/manageable_instance"
|
5
6
|
require "opsicle/manageable_stack"
|
@@ -9,11 +10,10 @@ module Opsicle
|
|
9
10
|
|
10
11
|
def initialize(environment)
|
11
12
|
@client = Client.new(environment)
|
12
|
-
@
|
13
|
-
@ec2 = @client.ec2
|
13
|
+
@opsworks_adpater = OpsworksAdapter.new(@client)
|
14
14
|
stack_id = @client.config.opsworks_config[:stack_id]
|
15
15
|
@cli = HighLine.new
|
16
|
-
@stack = ManageableStack.new(
|
16
|
+
@stack = ManageableStack.new(stack_id, @opsworks_adpater.client, @cli)
|
17
17
|
end
|
18
18
|
|
19
19
|
def execute(options={})
|
@@ -1,5 +1,6 @@
|
|
1
1
|
require 'gli'
|
2
2
|
require "opsicle/user_profile"
|
3
|
+
require "opsicle/opsworks_adapter"
|
3
4
|
require "opsicle/manageable_layer"
|
4
5
|
require "opsicle/manageable_instance"
|
5
6
|
require "opsicle/manageable_stack"
|
@@ -9,10 +10,9 @@ module Opsicle
|
|
9
10
|
|
10
11
|
def initialize(environment)
|
11
12
|
@client = Client.new(environment)
|
12
|
-
@
|
13
|
-
@ec2 = @client.ec2
|
13
|
+
@opsworks_adapter = OpsworksAdapter.new(@client)
|
14
14
|
stack_id = @client.config.opsworks_config[:stack_id]
|
15
|
-
@stack = ManageableStack.new(
|
15
|
+
@stack = ManageableStack.new(stack_id, @opsworks_adapter.client)
|
16
16
|
@cli = HighLine.new
|
17
17
|
end
|
18
18
|
|
@@ -22,7 +22,7 @@ module Opsicle
|
|
22
22
|
instances_to_stop = select_instances(layer)
|
23
23
|
instances_to_stop.each do |instance|
|
24
24
|
begin
|
25
|
-
@
|
25
|
+
@opsworks_adapter.stop_instance(instance.instance_id)
|
26
26
|
puts "Stopping instance #{instance.hostname}..."
|
27
27
|
rescue
|
28
28
|
puts "Failed to stop #{instance.hostname}"
|
@@ -36,11 +36,11 @@ module Opsicle
|
|
36
36
|
|
37
37
|
def select_layer
|
38
38
|
puts "\nLayers:\n"
|
39
|
-
ops_layers = @
|
39
|
+
ops_layers = @opsworks_adpater.get_layers(@stack.id)
|
40
40
|
|
41
41
|
layers = []
|
42
42
|
ops_layers.each do |layer|
|
43
|
-
layers << ManageableLayer.new(layer.name, layer.layer_id, @stack, @
|
43
|
+
layers << ManageableLayer.new(layer.name, layer.layer_id, @stack, @opsworks_adapter.client, @client.ec2, @cli)
|
44
44
|
end
|
45
45
|
|
46
46
|
layers.each_with_index { |layer, index| puts "#{index.to_i + 1}) #{layer.name}" }
|
@@ -12,4 +12,12 @@ class Opsicle::OpsworksAdapter
|
|
12
12
|
def start_instance(instance_id)
|
13
13
|
client.start_instance(instance_id: instance_id)
|
14
14
|
end
|
15
|
+
|
16
|
+
def stop_instance(instance_id)
|
17
|
+
client.stop_instance(instance_id: instance_id)
|
18
|
+
end
|
19
|
+
|
20
|
+
def delete_instance(instance_id)
|
21
|
+
client.delete_instance(instance_id: instance_id)
|
22
|
+
end
|
15
23
|
end
|
data/lib/opsicle/version.rb
CHANGED
@@ -1,9 +1,10 @@
|
|
1
1
|
describe Opsicle::OpsworksAdapter do
|
2
2
|
let(:aws_opsworks_client) do
|
3
|
-
double(
|
4
|
-
|
5
|
-
|
6
|
-
|
3
|
+
double(:aws_opsworks_client,
|
4
|
+
describe_layers: double(:layers, layers: []),
|
5
|
+
start_instance: :started,
|
6
|
+
stop_instance: :stopped,
|
7
|
+
delete_instance: :deleted
|
7
8
|
)
|
8
9
|
end
|
9
10
|
let(:client) { double(:client, opsworks: aws_opsworks_client) }
|
@@ -16,17 +17,23 @@ describe Opsicle::OpsworksAdapter do
|
|
16
17
|
it "should gather an array of layers for this opsworks client" do
|
17
18
|
expect(get_layers).to be_empty
|
18
19
|
end
|
19
|
-
|
20
|
-
it "should call describe_layers on the opsworks client" do
|
21
|
-
expect(aws_opsworks_client).to receive(:describe_layers).with(stack_id: :stack_id)
|
22
|
-
get_layers
|
23
|
-
end
|
24
20
|
end
|
25
21
|
|
26
22
|
describe "#start_instance" do
|
27
23
|
it "should call start_instance on the opsworks client" do
|
28
|
-
expect(
|
29
|
-
|
24
|
+
expect(subject.start_instance(:instance_id)).to eq(:started)
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
describe "#stop_instance" do
|
29
|
+
it "should call stop_instance on the opsworks client" do
|
30
|
+
expect(subject.stop_instance(:instance_id)).to eq(:stopped)
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
describe "#delete_instance" do
|
35
|
+
it "should call delete_instance on the opsworks client" do
|
36
|
+
expect(subject.delete_instance(:instance_id)).to eq(:deleted)
|
30
37
|
end
|
31
38
|
end
|
32
39
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: opsicle
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.12.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andy Fleener
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2018-
|
12
|
+
date: 2018-04-10 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: aws-sdk
|