vagrant-softlayer 0.2.0 → 0.3.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 +7 -0
- data/.gitignore +17 -15
- data/CHANGELOG.md +18 -9
- data/Gemfile +12 -7
- data/README.md +247 -243
- data/contrib/README.md +11 -0
- data/contrib/vagrant-softlayer-boxes +408 -0
- data/lib/vagrant-softlayer/action/create_instance.rb +58 -54
- data/lib/vagrant-softlayer/action/join_load_balancer.rb +95 -95
- data/lib/vagrant-softlayer/action/resume_instance.rb +21 -0
- data/lib/vagrant-softlayer/action/setup_softlayer.rb +38 -37
- data/lib/vagrant-softlayer/action/suspend_instance.rb +21 -0
- data/lib/vagrant-softlayer/action/sync_folders.rb +1 -1
- data/lib/vagrant-softlayer/action/update_dns.rb +94 -94
- data/lib/vagrant-softlayer/action/wait_for_provision.rb +40 -40
- data/lib/vagrant-softlayer/action.rb +242 -208
- data/lib/vagrant-softlayer/config.rb +246 -229
- data/lib/vagrant-softlayer/version.rb +5 -5
- data/locales/en.yml +206 -170
- data/spec/vagrant-softlayer/config_spec.rb +261 -227
- data/vagrant-softlayer.gemspec +3 -1
- metadata +20 -31
@@ -1,227 +1,261 @@
|
|
1
|
-
require "spec_helper"
|
2
|
-
|
3
|
-
describe VagrantPlugins::SoftLayer::Config do
|
4
|
-
let(:config) { described_class.new }
|
5
|
-
let(:machine) { double("machine") }
|
6
|
-
|
7
|
-
describe "defaults" do
|
8
|
-
subject do
|
9
|
-
config.tap do |o|
|
10
|
-
o.finalize!
|
11
|
-
end
|
12
|
-
end
|
13
|
-
|
14
|
-
its("api_key") { should be_nil }
|
15
|
-
its("endpoint_url") { should eq VagrantPlugins::SoftLayer::API_PUBLIC_ENDPOINT }
|
16
|
-
its("username") { should be_nil }
|
17
|
-
|
18
|
-
its("datacenter") { should be_nil }
|
19
|
-
its("dedicated") { should be_false }
|
20
|
-
its("
|
21
|
-
its("
|
22
|
-
its("
|
23
|
-
its("
|
24
|
-
its("
|
25
|
-
its("
|
26
|
-
its("
|
27
|
-
its("
|
28
|
-
its("
|
29
|
-
its("
|
30
|
-
its("
|
31
|
-
its("
|
32
|
-
its("
|
33
|
-
its("
|
34
|
-
|
35
|
-
its("
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
config.
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
config.
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
config.
|
131
|
-
config.
|
132
|
-
|
133
|
-
config.
|
134
|
-
config.
|
135
|
-
config.
|
136
|
-
config.
|
137
|
-
config.
|
138
|
-
|
139
|
-
config.
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
config.
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
config.
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
config.finalize!
|
158
|
-
expect(config.validate(machine)["SoftLayer"]).to have(
|
159
|
-
end
|
160
|
-
|
161
|
-
it "should fail if
|
162
|
-
config.
|
163
|
-
config.finalize!
|
164
|
-
expect(config.validate(machine)["SoftLayer"]).to have(1).item
|
165
|
-
end
|
166
|
-
|
167
|
-
it "should fail if
|
168
|
-
config.
|
169
|
-
config.finalize!
|
170
|
-
expect(config.validate(machine)["SoftLayer"]).to have(1).item
|
171
|
-
end
|
172
|
-
|
173
|
-
it "should
|
174
|
-
config.
|
175
|
-
config.finalize!
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
config.
|
182
|
-
config.
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
config.
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
config.
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
config.
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
config.
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
|
1
|
+
require "spec_helper"
|
2
|
+
|
3
|
+
describe VagrantPlugins::SoftLayer::Config do
|
4
|
+
let(:config) { described_class.new }
|
5
|
+
let(:machine) { double("machine") }
|
6
|
+
|
7
|
+
describe "defaults" do
|
8
|
+
subject do
|
9
|
+
config.tap do |o|
|
10
|
+
o.finalize!
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
its("api_key") { should be_nil }
|
15
|
+
its("endpoint_url") { should eq VagrantPlugins::SoftLayer::API_PUBLIC_ENDPOINT }
|
16
|
+
its("username") { should be_nil }
|
17
|
+
|
18
|
+
its("datacenter") { should be_nil }
|
19
|
+
its("dedicated") { should be_false }
|
20
|
+
its("disk_capacity") { should be_nil }
|
21
|
+
its("domain") { should be_nil }
|
22
|
+
its("hostname") { should be_nil }
|
23
|
+
its("hourly_billing") { should be_true }
|
24
|
+
its("image_guid") { should be_nil }
|
25
|
+
its("local_disk") { should be_true }
|
26
|
+
its("max_memory") { should eq 1024 }
|
27
|
+
its("network_speed") { should eq 10 }
|
28
|
+
its("operating_system") { should eq "UBUNTU_LATEST" }
|
29
|
+
its("post_install") { should be_nil }
|
30
|
+
its("private_only") { should be_false }
|
31
|
+
its("ssh_key") { should be_nil }
|
32
|
+
its("start_cpus") { should eq 1 }
|
33
|
+
its("user_data") { should be_nil }
|
34
|
+
its("vlan_private") { should be_nil }
|
35
|
+
its("vlan_public") { should be_nil }
|
36
|
+
|
37
|
+
its("load_balancers") { should eq [] }
|
38
|
+
its("manage_dns") { should be_false }
|
39
|
+
end
|
40
|
+
|
41
|
+
describe "overriding defaults" do
|
42
|
+
context "booleans" do
|
43
|
+
[true, false].each do |bool|
|
44
|
+
[:dedicated, :hourly_billing, :local_disk, :manage_dns, :private_only].each do |attribute|
|
45
|
+
it "should accept both true and false for #{attribute}" do
|
46
|
+
config.send("#{attribute}=".to_sym, bool)
|
47
|
+
config.finalize!
|
48
|
+
expect(config.send(attribute)).to eq bool
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
context "integers" do
|
55
|
+
[:max_memory, :network_speed, :ssh_key, :start_cpus, :vlan_private, :vlan_public].each do |attribute|
|
56
|
+
it "should not default #{attribute} if overridden" do
|
57
|
+
config.send("#{attribute}=".to_sym, 999)
|
58
|
+
config.finalize!
|
59
|
+
expect(config.send(attribute)).to eq 999
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
context "strings" do
|
65
|
+
[:api_key, :datacenter, :endpoint_url, :username, :domain, :hostname, :image_guid, :operating_system, :post_install, :ssh_key, :user_data].each do |attribute|
|
66
|
+
it "should not default #{attribute} if overridden" do
|
67
|
+
config.send("#{attribute}=".to_sym, "foo")
|
68
|
+
config.finalize!
|
69
|
+
expect(config.send(attribute)).to eq "foo"
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end
|
73
|
+
|
74
|
+
context "int hash" do
|
75
|
+
it "should not default disk_capacity if overriden" do
|
76
|
+
config.send("disk_capacity=".to_sym, { 0 => 100, 2 => 25 } )
|
77
|
+
config.finalize!
|
78
|
+
expect(config.send("disk_capacity")).to eq { 0 => 100, 2 => 25 }
|
79
|
+
end
|
80
|
+
end
|
81
|
+
end
|
82
|
+
|
83
|
+
describe "joining load balancer" do
|
84
|
+
it "should set weight to 1 by default" do
|
85
|
+
config.join_load_balancer :port => 443, :vip => "1.1.1.1"
|
86
|
+
config.finalize!
|
87
|
+
expect(config.load_balancers.first[:service].weight).to eq(1)
|
88
|
+
end
|
89
|
+
|
90
|
+
it "should set passed options" do
|
91
|
+
config.join_load_balancer :foo => "bar", :port => 443, :vip => "1.1.1.1"
|
92
|
+
config.finalize!
|
93
|
+
expect(config.load_balancers.first[:foo]).to eq("bar")
|
94
|
+
end
|
95
|
+
|
96
|
+
it "should set service parameters" do
|
97
|
+
config.join_load_balancer :port => 443, :vip => "1.1.1.1" do |srv|
|
98
|
+
srv.destination_port = 443
|
99
|
+
srv.health_check = "DNS"
|
100
|
+
srv.notes = "Some notes"
|
101
|
+
srv.weight = 9
|
102
|
+
end
|
103
|
+
config.finalize!
|
104
|
+
expect(config.load_balancers.first[:service].destination_port).to eq(443)
|
105
|
+
expect(config.load_balancers.first[:service].health_check).to eq("DNS")
|
106
|
+
expect(config.load_balancers.first[:service].notes).to eq("Some notes")
|
107
|
+
expect(config.load_balancers.first[:service].weight).to eq(9)
|
108
|
+
end
|
109
|
+
end
|
110
|
+
|
111
|
+
describe "using SL_ environment variables" do
|
112
|
+
before :each do
|
113
|
+
ENV.stub(:[]).with("SL_API_KEY").and_return("env_api_key")
|
114
|
+
ENV.stub(:[]).with("SL_USERNAME").and_return("env_username")
|
115
|
+
end
|
116
|
+
|
117
|
+
subject do
|
118
|
+
config.tap do |o|
|
119
|
+
o.finalize!
|
120
|
+
end
|
121
|
+
end
|
122
|
+
|
123
|
+
its("api_key") { should eq "env_api_key" }
|
124
|
+
its("username") { should eq "env_username" }
|
125
|
+
end
|
126
|
+
|
127
|
+
describe "validation" do
|
128
|
+
before :each do
|
129
|
+
# Setup some good configuration values
|
130
|
+
config.api_key = "An API key"
|
131
|
+
config.username = "An username"
|
132
|
+
|
133
|
+
config.datacenter = "ams01"
|
134
|
+
config.dedicated = false
|
135
|
+
config.domain = "example.com"
|
136
|
+
config.disk_capacity = { 0 => 25 }
|
137
|
+
config.hostname = "vagrant"
|
138
|
+
config.hourly_billing = true
|
139
|
+
config.image_guid = nil
|
140
|
+
config.local_disk = true
|
141
|
+
config.max_memory = 1024
|
142
|
+
config.network_speed = 10
|
143
|
+
config.operating_system = "UBUNTU_LATEST"
|
144
|
+
config.post_install = "http://example.com/foo"
|
145
|
+
config.ssh_key = ["First key", "Second key"]
|
146
|
+
config.start_cpus = 1
|
147
|
+
config.user_data = "some metadata"
|
148
|
+
config.vlan_private = 111
|
149
|
+
config.vlan_public = 222
|
150
|
+
|
151
|
+
config.manage_dns = false
|
152
|
+
|
153
|
+
machine.stub_chain(:config, :vm, :hostname).and_return(nil)
|
154
|
+
end
|
155
|
+
|
156
|
+
it "should validate" do
|
157
|
+
config.finalize!
|
158
|
+
expect(config.validate(machine)["SoftLayer"]).to have(:no).item
|
159
|
+
end
|
160
|
+
|
161
|
+
it "should fail if API key is not given" do
|
162
|
+
config.api_key = nil
|
163
|
+
config.finalize!
|
164
|
+
expect(config.validate(machine)["SoftLayer"]).to have(1).item
|
165
|
+
end
|
166
|
+
|
167
|
+
it "should fail if username is not given" do
|
168
|
+
config.username = nil
|
169
|
+
config.finalize!
|
170
|
+
expect(config.validate(machine)["SoftLayer"]).to have(1).item
|
171
|
+
end
|
172
|
+
|
173
|
+
it "should fail if domain is not given" do
|
174
|
+
config.domain = nil
|
175
|
+
config.finalize!
|
176
|
+
expect(config.validate(machine)["SoftLayer"]).to have(1).item
|
177
|
+
end
|
178
|
+
|
179
|
+
it "should fail if hostname is not given" do
|
180
|
+
config.hostname = nil
|
181
|
+
config.finalize!
|
182
|
+
expect(config.validate(machine)["SoftLayer"]).to have(1).item
|
183
|
+
end
|
184
|
+
|
185
|
+
it "should validate if hostname is not given but config.vm.hostname is set" do
|
186
|
+
config.hostname = nil
|
187
|
+
config.finalize!
|
188
|
+
machine.stub_chain(:config, :vm, :hostname).and_return("vagrant")
|
189
|
+
expect(config.validate(machine)["SoftLayer"]).to have(:no).item
|
190
|
+
end
|
191
|
+
|
192
|
+
it "should fail if ssh key is not given" do
|
193
|
+
config.ssh_key = nil
|
194
|
+
config.finalize!
|
195
|
+
expect(config.validate(machine)["SoftLayer"]).to have(1).item
|
196
|
+
end
|
197
|
+
|
198
|
+
it "should fail if a load balancer is specified without vip" do
|
199
|
+
config.join_load_balancer :port => 443 do |srv|
|
200
|
+
srv.destination_port = 443
|
201
|
+
end
|
202
|
+
config.finalize!
|
203
|
+
expect(config.validate(machine)["SoftLayer"]).to have(1).item
|
204
|
+
end
|
205
|
+
|
206
|
+
it "should fail if a load balancer is specified without port" do
|
207
|
+
config.join_load_balancer :vip => "1.1.1.1" do |srv|
|
208
|
+
srv.destination_port = 443
|
209
|
+
end
|
210
|
+
config.finalize!
|
211
|
+
expect(config.validate(machine)["SoftLayer"]).to have(1).item
|
212
|
+
end
|
213
|
+
|
214
|
+
it "should fail if a load balancer is specified without destination port" do
|
215
|
+
config.join_load_balancer :port => 443, :vip => "1.1.1.1"
|
216
|
+
config.finalize!
|
217
|
+
expect(config.validate(machine)["SoftLayer"]).to have(1).item
|
218
|
+
end
|
219
|
+
|
220
|
+
it "should fail if two load balancers han been defined with same vip and port" do
|
221
|
+
config.join_load_balancer :port => 443, :vip => "1.1.1.1" do |srv|
|
222
|
+
srv.destination_port = 443
|
223
|
+
end
|
224
|
+
config.join_load_balancer :port => 443, :vip => "1.1.1.1" do |srv|
|
225
|
+
srv.destination_port = 8443
|
226
|
+
end
|
227
|
+
config.finalize!
|
228
|
+
expect(config.validate(machine)["SoftLayer"]).to have(1).item
|
229
|
+
end
|
230
|
+
|
231
|
+
it "should validate if a load balancer if specified with vip, port and destination port" do
|
232
|
+
config.join_load_balancer :port => 443, :vip => "1.1.1.1" do |srv|
|
233
|
+
srv.destination_port = 443
|
234
|
+
end
|
235
|
+
config.finalize!
|
236
|
+
expect(config.validate(machine)["SoftLayer"]).to have(:no).item
|
237
|
+
end
|
238
|
+
|
239
|
+
it "should fail if disk_capacity and image_guid are both specified" do
|
240
|
+
config.disk_capacity = { 0 => 25 }
|
241
|
+
config.image_guid = "AAAAAAAA-BBBB-CCCC-DDDD-EEEEEEEEEEEE"
|
242
|
+
config.operating_system = nil
|
243
|
+
config.finalize!
|
244
|
+
expect(config.validate(machine)["SoftLayer"]).to have(1).item
|
245
|
+
end
|
246
|
+
|
247
|
+
it "should fail if operating system and image_guid are both specified" do
|
248
|
+
config.image_guid = "AAAAAAAA-BBBB-CCCC-DDDD-EEEEEEEEEEEE"
|
249
|
+
config.operating_system = "UBUNTU_LATEST"
|
250
|
+
config.finalize!
|
251
|
+
expect(config.validate(machine)["SoftLayer"]).to have(1).item
|
252
|
+
end
|
253
|
+
|
254
|
+
it "should validate if operating_system and disk_capacity are both specified" do
|
255
|
+
config.operating_system = "UBUNTU_LATEST"
|
256
|
+
config.disk_capacity = { 0 => 25 }
|
257
|
+
config.finalize!
|
258
|
+
expect(config.validate(machine)["SoftLayer"]).to have(:no).item
|
259
|
+
end
|
260
|
+
end
|
261
|
+
end
|
data/vagrant-softlayer.gemspec
CHANGED
@@ -6,9 +6,11 @@ Gem::Specification.new do |spec|
|
|
6
6
|
spec.version = VagrantPlugins::SoftLayer::VERSION
|
7
7
|
spec.authors = "Audiolize GmbH"
|
8
8
|
spec.email = ""
|
9
|
+
spec.homepage = "https://github.com/audiolize/vagrant-softlayer"
|
9
10
|
spec.description = "Enables Vagrant to manages SoftLayer CCI."
|
10
11
|
spec.summary = "Enables Vagrant to manages SoftLayer CCI."
|
11
|
-
|
12
|
+
spec.license = "MIT"
|
13
|
+
|
12
14
|
# The following block of code determines the files that should be included
|
13
15
|
# in the gem. It does this by reading all the files in the directory where
|
14
16
|
# this gemspec is, and parsing out the ignored files from the gitignore.
|
metadata
CHANGED
@@ -1,36 +1,32 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vagrant-softlayer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.3.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Audiolize GmbH
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2014-04-15 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: softlayer_api
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
|
-
- -
|
17
|
+
- - '>='
|
20
18
|
- !ruby/object:Gem::Version
|
21
19
|
version: '0'
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
|
-
- -
|
24
|
+
- - '>='
|
28
25
|
- !ruby/object:Gem::Version
|
29
26
|
version: '0'
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: bundler
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
31
|
- - ~>
|
36
32
|
- !ruby/object:Gem::Version
|
@@ -38,7 +34,6 @@ dependencies:
|
|
38
34
|
type: :development
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
38
|
- - ~>
|
44
39
|
- !ruby/object:Gem::Version
|
@@ -46,33 +41,29 @@ dependencies:
|
|
46
41
|
- !ruby/object:Gem::Dependency
|
47
42
|
name: rake
|
48
43
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
44
|
requirements:
|
51
|
-
- -
|
45
|
+
- - '>='
|
52
46
|
- !ruby/object:Gem::Version
|
53
47
|
version: '0'
|
54
48
|
type: :development
|
55
49
|
prerelease: false
|
56
50
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
51
|
requirements:
|
59
|
-
- -
|
52
|
+
- - '>='
|
60
53
|
- !ruby/object:Gem::Version
|
61
54
|
version: '0'
|
62
55
|
- !ruby/object:Gem::Dependency
|
63
56
|
name: rspec
|
64
57
|
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
58
|
requirements:
|
67
|
-
- -
|
59
|
+
- - '>='
|
68
60
|
- !ruby/object:Gem::Version
|
69
61
|
version: '0'
|
70
62
|
type: :development
|
71
63
|
prerelease: false
|
72
64
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
65
|
requirements:
|
75
|
-
- -
|
66
|
+
- - '>='
|
76
67
|
- !ruby/object:Gem::Version
|
77
68
|
version: '0'
|
78
69
|
description: Enables Vagrant to manages SoftLayer CCI.
|
@@ -82,6 +73,8 @@ extensions: []
|
|
82
73
|
extra_rdoc_files: []
|
83
74
|
files:
|
84
75
|
- CHANGELOG.md
|
76
|
+
- contrib/README.md
|
77
|
+
- contrib/vagrant-softlayer-boxes
|
85
78
|
- dummy.box
|
86
79
|
- example_box/metadata.json
|
87
80
|
- example_box/README.md
|
@@ -95,9 +88,11 @@ files:
|
|
95
88
|
- lib/vagrant-softlayer/action/read_ssh_info.rb
|
96
89
|
- lib/vagrant-softlayer/action/read_state.rb
|
97
90
|
- lib/vagrant-softlayer/action/rebuild_instance.rb
|
91
|
+
- lib/vagrant-softlayer/action/resume_instance.rb
|
98
92
|
- lib/vagrant-softlayer/action/setup_softlayer.rb
|
99
93
|
- lib/vagrant-softlayer/action/start_instance.rb
|
100
94
|
- lib/vagrant-softlayer/action/stop_instance.rb
|
95
|
+
- lib/vagrant-softlayer/action/suspend_instance.rb
|
101
96
|
- lib/vagrant-softlayer/action/sync_folders.rb
|
102
97
|
- lib/vagrant-softlayer/action/update_dns.rb
|
103
98
|
- lib/vagrant-softlayer/action/wait_for_provision.rb
|
@@ -121,35 +116,29 @@ files:
|
|
121
116
|
- spec/vagrant-softlayer/config_spec.rb
|
122
117
|
- vagrant-softlayer.gemspec
|
123
118
|
- .gitignore
|
124
|
-
homepage:
|
125
|
-
licenses:
|
119
|
+
homepage: https://github.com/audiolize/vagrant-softlayer
|
120
|
+
licenses:
|
121
|
+
- MIT
|
122
|
+
metadata: {}
|
126
123
|
post_install_message:
|
127
124
|
rdoc_options: []
|
128
125
|
require_paths:
|
129
126
|
- lib
|
130
127
|
required_ruby_version: !ruby/object:Gem::Requirement
|
131
|
-
none: false
|
132
128
|
requirements:
|
133
|
-
- -
|
129
|
+
- - '>='
|
134
130
|
- !ruby/object:Gem::Version
|
135
131
|
version: '0'
|
136
|
-
segments:
|
137
|
-
- 0
|
138
|
-
hash: 2669020036350751985
|
139
132
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
140
|
-
none: false
|
141
133
|
requirements:
|
142
|
-
- -
|
134
|
+
- - '>='
|
143
135
|
- !ruby/object:Gem::Version
|
144
136
|
version: '0'
|
145
|
-
segments:
|
146
|
-
- 0
|
147
|
-
hash: 2669020036350751985
|
148
137
|
requirements: []
|
149
138
|
rubyforge_project:
|
150
|
-
rubygems_version:
|
139
|
+
rubygems_version: 2.0.14
|
151
140
|
signing_key:
|
152
|
-
specification_version:
|
141
|
+
specification_version: 4
|
153
142
|
summary: Enables Vagrant to manages SoftLayer CCI.
|
154
143
|
test_files:
|
155
144
|
- spec/spec_helper.rb
|