vagrant-linode 0.1.3 → 0.2.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/.gitignore +3 -0
- data/.rspec +4 -0
- data/.rubocop.yml +1 -0
- data/.rubocop_todo.yml +164 -0
- data/Gemfile +9 -6
- data/README.md +21 -9
- data/Rakefile +21 -1
- data/Vagrantfile.multi +18 -0
- data/box/linode-debian-7.5.box +0 -0
- data/box/linode.box +0 -0
- data/box/metadata-debian-7.5.json +12 -0
- data/box/metadata.json +2 -2
- data/features/provision.feature +34 -0
- data/features/steps/sdk_steps.rb +13 -0
- data/features/steps/server_steps.rb +25 -0
- data/features/support/env.rb +34 -0
- data/features/support/fog_mock.rb +16 -0
- data/features/vagrant-linode.feature +68 -0
- data/lib/vagrant-linode.rb +44 -5
- data/lib/vagrant-linode/actions.rb +201 -87
- data/lib/vagrant-linode/actions/connect_linode.rb +36 -0
- data/lib/vagrant-linode/actions/create.rb +9 -9
- data/lib/vagrant-linode/actions/create_image.rb +23 -0
- data/lib/vagrant-linode/actions/destroy.rb +1 -3
- data/lib/vagrant-linode/actions/halt.rb +29 -0
- data/lib/vagrant-linode/actions/is_created.rb +16 -0
- data/lib/vagrant-linode/actions/is_stopped.rb +17 -0
- data/lib/vagrant-linode/actions/list_datacenters.rb +20 -0
- data/lib/vagrant-linode/actions/list_distributions.rb +20 -0
- data/lib/vagrant-linode/actions/list_images.rb +20 -0
- data/lib/vagrant-linode/actions/list_plans.rb +20 -0
- data/lib/vagrant-linode/actions/list_servers.rb +20 -0
- data/lib/vagrant-linode/actions/message_already_active.rb +16 -0
- data/lib/vagrant-linode/actions/message_already_off.rb +16 -0
- data/lib/vagrant-linode/actions/message_not_created.rb +16 -0
- data/lib/vagrant-linode/actions/message_off.rb +16 -0
- data/lib/vagrant-linode/actions/power_off.rb +4 -3
- data/lib/vagrant-linode/actions/power_on.rb +3 -2
- data/lib/vagrant-linode/actions/read_ssh_info.rb +48 -0
- data/lib/vagrant-linode/actions/read_state.rb +38 -0
- data/lib/vagrant-linode/actions/rebuild.rb +3 -2
- data/lib/vagrant-linode/actions/reload.rb +3 -2
- data/lib/vagrant-linode/commands/create_image.rb +21 -0
- data/lib/vagrant-linode/commands/datacenters.rb +21 -0
- data/lib/vagrant-linode/commands/distributions.rb +21 -0
- data/lib/vagrant-linode/commands/images.rb +59 -0
- data/lib/vagrant-linode/commands/list_images.rb +21 -0
- data/lib/vagrant-linode/commands/networks.rb +21 -0
- data/lib/vagrant-linode/commands/plans.rb +21 -0
- data/lib/vagrant-linode/commands/root.rb +81 -0
- data/lib/vagrant-linode/commands/servers.rb +21 -0
- data/lib/vagrant-linode/config.rb +11 -3
- data/lib/vagrant-linode/helpers/client.rb +21 -79
- data/lib/vagrant-linode/helpers/waiter.rb +21 -0
- data/lib/vagrant-linode/plugin.rb +20 -0
- data/lib/vagrant-linode/provider.rb +27 -32
- data/lib/vagrant-linode/version.rb +1 -1
- data/locales/en.yml +17 -1
- data/spec/spec_helper.rb +20 -0
- data/spec/vagrant-linode/actions/list_distributions_spec.rb +47 -0
- data/spec/vagrant-linode/actions/list_plans_spec.rb +47 -0
- data/spec/vagrant-linode/config_spec.rb +189 -0
- data/test/Vagrantfile +4 -9
- data/vagrant-linode.gemspec +1 -1
- metadata +70 -20
- data/lib/vagrant-linode/actions/check_state.rb +0 -19
- data/lib/vagrant-linode/actions/setup_key.rb +0 -52
@@ -0,0 +1,16 @@
|
|
1
|
+
require 'fog'
|
2
|
+
if ENV['LINODE_MOCK'] == 'true'
|
3
|
+
Fog.mock!
|
4
|
+
Fog::Linode::MockData.configure do |c|
|
5
|
+
c[:image_name_generator] = proc { 'Ubuntu' }
|
6
|
+
c[:ipv4_generator] = proc { '10.11.12.2' }
|
7
|
+
end
|
8
|
+
connect_options = {
|
9
|
+
provider: 'linode',
|
10
|
+
linode_api_key: ENV['LINODE_API_KEY'],
|
11
|
+
}
|
12
|
+
connect_options.merge!(proxy_options) unless ENV['https_proxy'].nil?
|
13
|
+
compute = Fog::Compute.new(connect_options)
|
14
|
+
# Force creation of Ubuntu image so it will show up in compute.images.list
|
15
|
+
compute.images.get(0)
|
16
|
+
end
|
@@ -0,0 +1,68 @@
|
|
1
|
+
@announce
|
2
|
+
@vagrant-linode
|
3
|
+
Feature: vagrant-linode fog tests
|
4
|
+
As a Fog developer
|
5
|
+
I want to smoke (or "fog") test vagrant-linode.
|
6
|
+
So I am confident my upstream changes did not create downstream problems.
|
7
|
+
|
8
|
+
Background:
|
9
|
+
Given I have Rackspace credentials available
|
10
|
+
And I have a "fog_mock.rb" file
|
11
|
+
|
12
|
+
Scenario: Create a single server (region)
|
13
|
+
Given a file named "Vagrantfile" with:
|
14
|
+
"""
|
15
|
+
# Testing options
|
16
|
+
require File.expand_path '../fog_mock', __FILE__
|
17
|
+
|
18
|
+
Vagrant.configure("2") do |config|
|
19
|
+
# dev/test method of loading plugin, normally would be 'vagrant plugin install vagrant-linode'
|
20
|
+
Vagrant.require_plugin "vagrant-linode"
|
21
|
+
|
22
|
+
config.vm.box = "dummy"
|
23
|
+
config.ssh.username = "vagrant" if Fog.mock?
|
24
|
+
config.ssh.private_key_path = "~/.ssh/id_rsa" unless Fog.mock?
|
25
|
+
|
26
|
+
config.vm.provider :linode do |provider|
|
27
|
+
provider.server_name = 'vagrant-single-server'
|
28
|
+
provider.api_key = ENV['LINODE_API_KEY']
|
29
|
+
linode.datacenter = ENV['LINODE_DATACENTER'].downcase.to_sym
|
30
|
+
linode.plan = /Linode 1024/
|
31
|
+
linode.distribution = /Ubuntu/
|
32
|
+
linode.public_key_path = "~/.ssh/id_rsa.pub" unless Fog.mock?
|
33
|
+
end
|
34
|
+
end
|
35
|
+
"""
|
36
|
+
When I successfully run `bundle exec vagrant up --provider linode`
|
37
|
+
# I want to capture the ID like I do in tests for other tools, but Vagrant doesn't print it!
|
38
|
+
# And I get the server from "Instance ID:"
|
39
|
+
Then the server "vagrant-single-server" should be active
|
40
|
+
|
41
|
+
Scenario: Create a single server (linode_compute_url)
|
42
|
+
Given a file named "Vagrantfile" with:
|
43
|
+
"""
|
44
|
+
# Testing options
|
45
|
+
require File.expand_path '../fog_mock', __FILE__
|
46
|
+
|
47
|
+
Vagrant.configure("2") do |config|
|
48
|
+
# dev/test method of loading plugin, normally would be 'vagrant plugin install vagrant-linode'
|
49
|
+
Vagrant.require_plugin "vagrant-linode"
|
50
|
+
|
51
|
+
config.vm.box = "dummy"
|
52
|
+
config.ssh.username = "vagrant" if Fog.mock?
|
53
|
+
config.ssh.private_key_path = "~/.ssh/id_rsa" unless Fog.mock?
|
54
|
+
|
55
|
+
config.vm.provider :linode do |provider|
|
56
|
+
provider.server_name = 'vagrant-single-server'
|
57
|
+
provider.api_key = ENV['LINODE_API_KEY']
|
58
|
+
provider.api_url = "https://api.linode.com/"
|
59
|
+
provider.plan = /Linode 1024/
|
60
|
+
provider.distribution = /Ubuntu/
|
61
|
+
provider.public_key_path = "~/.ssh/id_rsa.pub" unless Fog.mock?
|
62
|
+
end
|
63
|
+
end
|
64
|
+
"""
|
65
|
+
When I successfully run `bundle exec vagrant up --provider linode`
|
66
|
+
# I want to capture the ID like I do in tests for other tools, but Vagrant doesn't print it!
|
67
|
+
# And I get the server from "Instance ID:"
|
68
|
+
Then the server "vagrant-single-server" should be active
|
data/lib/vagrant-linode.rb
CHANGED
@@ -1,9 +1,51 @@
|
|
1
|
-
require '
|
1
|
+
require 'pathname'
|
2
|
+
|
2
3
|
require 'vagrant-linode/plugin'
|
3
|
-
require 'vagrant-linode/errors'
|
4
4
|
|
5
5
|
module VagrantPlugins
|
6
6
|
module Linode
|
7
|
+
lib_path = Pathname.new(File.expand_path('../vagrant-linode', __FILE__))
|
8
|
+
autoload :Errors, lib_path.join('errors')
|
9
|
+
|
10
|
+
# This initializes the i18n load path so that the plugin-specific
|
11
|
+
# translations work.
|
12
|
+
def self.init_i18n
|
13
|
+
I18n.load_path << File.expand_path('locales/en.yml', source_root)
|
14
|
+
I18n.reload!
|
15
|
+
end
|
16
|
+
|
17
|
+
# This initializes the logging so that our logs are outputted at
|
18
|
+
# the same level as Vagrant core logs.
|
19
|
+
def self.init_logging
|
20
|
+
# Initialize logging
|
21
|
+
level = nil
|
22
|
+
begin
|
23
|
+
level = Log4r.const_get(ENV['VAGRANT_LOG'].upcase)
|
24
|
+
rescue NameError
|
25
|
+
# This means that the logging constant wasn't found,
|
26
|
+
# which is fine. We just keep `level` as `nil`. But
|
27
|
+
# we tell the user.
|
28
|
+
level = nil
|
29
|
+
end
|
30
|
+
|
31
|
+
# Some constants, such as "true" resolve to booleans, so the
|
32
|
+
# above error checking doesn't catch it. This will check to make
|
33
|
+
# sure that the log level is an integer, as Log4r requires.
|
34
|
+
level = nil unless level.is_a?(Integer)
|
35
|
+
|
36
|
+
# Set the logging level on all "vagrant" namespaced
|
37
|
+
# logs as long as we have a valid level.
|
38
|
+
if level
|
39
|
+
logger = Log4r::Logger.new('vagrant_linode')
|
40
|
+
logger.outputters = Log4r::Outputter.stderr
|
41
|
+
logger.level = level
|
42
|
+
logger = nil
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
# This returns the path to the source of this plugin.
|
47
|
+
#
|
48
|
+
# @return [Pathname]
|
7
49
|
def self.source_root
|
8
50
|
@source_root ||= Pathname.new(File.expand_path('../../', __FILE__))
|
9
51
|
end
|
@@ -13,8 +55,5 @@ module VagrantPlugins
|
|
13
55
|
rescue
|
14
56
|
raise Errors::PublicKeyError, path: "#{private_key_path}.pub"
|
15
57
|
end
|
16
|
-
|
17
|
-
I18n.load_path << File.expand_path('locales/en.yml', source_root)
|
18
|
-
I18n.reload!
|
19
58
|
end
|
20
59
|
end
|
@@ -1,32 +1,22 @@
|
|
1
|
-
require '
|
2
|
-
|
3
|
-
require 'vagrant
|
4
|
-
require 'vagrant-linode/actions/power_off'
|
5
|
-
require 'vagrant-linode/actions/power_on'
|
6
|
-
require 'vagrant-linode/actions/rebuild'
|
7
|
-
require 'vagrant-linode/actions/reload'
|
8
|
-
require 'vagrant-linode/actions/setup_hostname'
|
9
|
-
require 'vagrant-linode/actions/setup_user'
|
10
|
-
require 'vagrant-linode/actions/setup_sudo'
|
11
|
-
require 'vagrant-linode/actions/setup_key'
|
12
|
-
require 'vagrant-linode/actions/sync_folders'
|
13
|
-
require 'vagrant-linode/actions/modify_provision_path'
|
1
|
+
require 'pathname'
|
2
|
+
|
3
|
+
require 'vagrant/action/builder'
|
14
4
|
|
15
5
|
module VagrantPlugins
|
16
6
|
module Linode
|
17
7
|
module Actions
|
18
8
|
include Vagrant::Action::Builtin
|
19
9
|
|
20
|
-
def self.
|
10
|
+
def self.action_destroy
|
21
11
|
Vagrant::Action::Builder.new.tap do |builder|
|
22
12
|
builder.use ConfigValidate
|
23
|
-
builder.use Call,
|
24
|
-
|
25
|
-
|
26
|
-
env[:ui].info I18n.t('vagrant_linode.info.not_created')
|
13
|
+
builder.use Call, IsCreated do |env, b|
|
14
|
+
if !env[:result]
|
15
|
+
b.use MessageNotCreated
|
27
16
|
else
|
28
17
|
b.use Call, DestroyConfirm do |env2, b2|
|
29
18
|
if env2[:result]
|
19
|
+
b2.use ConnectLinode
|
30
20
|
b2.use Destroy
|
31
21
|
b2.use ProvisionerCleanup if defined?(ProvisionerCleanup)
|
32
22
|
end
|
@@ -36,128 +26,252 @@ module VagrantPlugins
|
|
36
26
|
end
|
37
27
|
end
|
38
28
|
|
39
|
-
|
29
|
+
# This action is called to read the SSH info of the machine. The
|
30
|
+
# resulting state is expected to be put into the `:machine_ssh_info`
|
31
|
+
# key.
|
32
|
+
def self.action_read_ssh_info
|
33
|
+
Vagrant::Action::Builder.new.tap do |b|
|
34
|
+
b.use ConfigValidate
|
35
|
+
b.use ConnectLinode
|
36
|
+
b.use ReadSSHInfo
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
def self.action_read_state
|
41
|
+
Vagrant::Action::Builder.new.tap do |b|
|
42
|
+
b.use ConfigValidate
|
43
|
+
b.use ConnectLinode
|
44
|
+
b.use ReadState
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
def self.action_ssh
|
40
49
|
Vagrant::Action::Builder.new.tap do |builder|
|
41
50
|
builder.use ConfigValidate
|
42
|
-
builder.use Call,
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
51
|
+
builder.use Call, IsCreated do |env, b|
|
52
|
+
if env[:result]
|
53
|
+
b.use Call, IsStopped do |env2, b2|
|
54
|
+
if env2[:result]
|
55
|
+
b2.use MessageOff
|
56
|
+
else
|
57
|
+
b2.use SSHExec
|
58
|
+
end
|
59
|
+
end
|
60
|
+
else
|
61
|
+
b.use MessageNotCreated
|
50
62
|
end
|
51
63
|
end
|
52
64
|
end
|
53
65
|
end
|
54
66
|
|
55
|
-
def self.
|
67
|
+
def self.action_ssh_run
|
56
68
|
Vagrant::Action::Builder.new.tap do |builder|
|
57
69
|
builder.use ConfigValidate
|
58
|
-
builder.use Call,
|
59
|
-
|
60
|
-
when :active
|
70
|
+
builder.use Call, IsCreated do |env, b|
|
71
|
+
if env[:result]
|
61
72
|
b.use SSHRun
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
73
|
+
else
|
74
|
+
b.use Call, IsStopped do |env2, b2|
|
75
|
+
if env2[:result]
|
76
|
+
b2.use MessageOff
|
77
|
+
else
|
78
|
+
b2.use MessageNotCreated
|
79
|
+
end
|
80
|
+
end
|
66
81
|
end
|
67
82
|
end
|
68
83
|
end
|
69
84
|
end
|
70
85
|
|
71
|
-
def self.
|
86
|
+
def self.action_provision
|
72
87
|
Vagrant::Action::Builder.new.tap do |builder|
|
73
88
|
builder.use ConfigValidate
|
74
|
-
builder.use Call,
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
89
|
+
builder.use Call, IsCreated do |env, b|
|
90
|
+
if env[:result]
|
91
|
+
b.use Call, IsStopped do |env2, b2|
|
92
|
+
if env2[:result]
|
93
|
+
b2.use MessageOff
|
94
|
+
else
|
95
|
+
b2.use Provision
|
96
|
+
b2.use ModifyProvisionPath
|
97
|
+
b2.use SyncFolders
|
98
|
+
end
|
99
|
+
end
|
100
|
+
else
|
101
|
+
b.use MessageNotCreated
|
84
102
|
end
|
85
103
|
end
|
86
104
|
end
|
87
105
|
end
|
88
106
|
|
89
|
-
def self.
|
107
|
+
def self.action_up
|
90
108
|
Vagrant::Action::Builder.new.tap do |builder|
|
91
109
|
builder.use ConfigValidate
|
92
|
-
builder.use Call,
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
110
|
+
builder.use Call, IsCreated do |env, b|
|
111
|
+
if env[:result]
|
112
|
+
b.use Call, IsStopped do |env2, b2|
|
113
|
+
if env2[:result]
|
114
|
+
b2.use MessageOff
|
115
|
+
b2.use ConnectLinode
|
116
|
+
b2.use PowerOn
|
117
|
+
b2.use Provision
|
118
|
+
else
|
119
|
+
b2.use MessageAlreadyActive
|
120
|
+
end
|
121
|
+
end
|
122
|
+
else
|
123
|
+
b.use MessageNotCreated
|
124
|
+
b.use ConnectLinode
|
101
125
|
b.use Create
|
102
126
|
b.use SetupSudo
|
103
127
|
b.use SetupUser
|
104
128
|
b.use SetupHostname
|
105
|
-
b.use
|
129
|
+
b.use Provision
|
106
130
|
end
|
107
131
|
end
|
108
132
|
end
|
109
133
|
end
|
110
134
|
|
111
|
-
def self.
|
135
|
+
def self.action_halt
|
112
136
|
Vagrant::Action::Builder.new.tap do |builder|
|
113
137
|
builder.use ConfigValidate
|
114
|
-
builder.use Call,
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
138
|
+
builder.use Call, IsCreated do |env, b1|
|
139
|
+
if env[:result]
|
140
|
+
b1.use Call, IsStopped do |env2, b2|
|
141
|
+
if env2[:result]
|
142
|
+
b2.use MessageAlreadyOff
|
143
|
+
else
|
144
|
+
b2.use ConnectLinode
|
145
|
+
b2.use PowerOff
|
146
|
+
end
|
147
|
+
end
|
148
|
+
else
|
149
|
+
b1.use MessageNotCreated
|
122
150
|
end
|
123
151
|
end
|
124
152
|
end
|
125
153
|
end
|
126
154
|
|
127
|
-
def self.
|
155
|
+
def self.action_reload
|
128
156
|
Vagrant::Action::Builder.new.tap do |builder|
|
129
157
|
builder.use ConfigValidate
|
130
|
-
builder.use Call,
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
158
|
+
builder.use Call, IsCreated do |env, b|
|
159
|
+
if env[:result]
|
160
|
+
b.use Call, IsStopped do |env2, b2|
|
161
|
+
if env2[:result]
|
162
|
+
b2.use MessageOff
|
163
|
+
else
|
164
|
+
b2.use ConnectLinode
|
165
|
+
b2.use Reload
|
166
|
+
b2.use Provision
|
167
|
+
end
|
168
|
+
end
|
169
|
+
else
|
170
|
+
b.use MessageNotCreated
|
139
171
|
end
|
140
172
|
end
|
141
173
|
end
|
142
174
|
end
|
143
175
|
|
144
|
-
def self.
|
176
|
+
def self.action_rebuild
|
145
177
|
Vagrant::Action::Builder.new.tap do |builder|
|
146
178
|
builder.use ConfigValidate
|
147
|
-
builder.use Call,
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
179
|
+
builder.use Call, IsCreated do |env, b|
|
180
|
+
if env[:result]
|
181
|
+
b.use Call, IsStopped do |env2, b2|
|
182
|
+
if env2[:result]
|
183
|
+
b2.use ConnectLinode
|
184
|
+
b2.use Rebuild
|
185
|
+
b2.use SetupSudo
|
186
|
+
b2.use SetupUser
|
187
|
+
b2.use SetupHostname
|
188
|
+
b2.use Provision
|
189
|
+
end
|
190
|
+
end
|
191
|
+
else
|
192
|
+
b2.use MessageNotCreated
|
157
193
|
end
|
158
194
|
end
|
159
195
|
end
|
160
196
|
end
|
197
|
+
|
198
|
+
# Extended actions
|
199
|
+
def self.action_create_image
|
200
|
+
Vagrant::Action::Builder.new.tap do |b|
|
201
|
+
b.use ConfigValidate # is this per machine?
|
202
|
+
b.use ConnectLinode
|
203
|
+
b.use CreateImage
|
204
|
+
end
|
205
|
+
end
|
206
|
+
|
207
|
+
def self.action_list_images
|
208
|
+
Vagrant::Action::Builder.new.tap do |b|
|
209
|
+
# b.use ConfigValidate # is this per machine?
|
210
|
+
b.use ConnectLinode
|
211
|
+
b.use ListImages
|
212
|
+
end
|
213
|
+
end
|
214
|
+
|
215
|
+
def self.action_list_servers
|
216
|
+
Vagrant::Action::Builder.new.tap do |b|
|
217
|
+
# b.use ConfigValidate # is this per machine?
|
218
|
+
b.use ConnectLinode
|
219
|
+
b.use ListServers
|
220
|
+
end
|
221
|
+
end
|
222
|
+
|
223
|
+
def self.action_list_plans
|
224
|
+
Vagrant::Action::Builder.new.tap do |b|
|
225
|
+
# b.use ConfigValidate # is this per machine?
|
226
|
+
b.use ConnectLinode
|
227
|
+
b.use ListPlans
|
228
|
+
end
|
229
|
+
end
|
230
|
+
|
231
|
+
def self.action_list_datacenters
|
232
|
+
Vagrant::Action::Builder.new.tap do |b|
|
233
|
+
# b.use ConfigValidate # is this per machine?
|
234
|
+
b.use ConnectLinode
|
235
|
+
b.use ListDatacenters
|
236
|
+
end
|
237
|
+
end
|
238
|
+
|
239
|
+
def self.action_list_distributions
|
240
|
+
Vagrant::Action::Builder.new.tap do |b|
|
241
|
+
# b.use ConfigValidate # is this per machine?
|
242
|
+
b.use ConnectLinode
|
243
|
+
b.use ListDistributions
|
244
|
+
end
|
245
|
+
end
|
246
|
+
|
247
|
+
action_root = Pathname.new(File.expand_path('../actions', __FILE__))
|
248
|
+
autoload :ConnectLinode, action_root.join('connect_linode')
|
249
|
+
autoload :ReadState, action_root.join('read_state')
|
250
|
+
autoload :Create, action_root.join('create')
|
251
|
+
autoload :Destroy, action_root.join('destroy')
|
252
|
+
autoload :IsCreated, action_root.join('is_created')
|
253
|
+
autoload :IsStopped, action_root.join('is_stopped')
|
254
|
+
autoload :MessageAlreadyActive, action_root.join('message_already_active')
|
255
|
+
autoload :MessageAlreadyOff, action_root.join('message_already_off')
|
256
|
+
autoload :MessageNotCreated, action_root.join('message_not_created')
|
257
|
+
autoload :MessageOff, action_root.join('message_off')
|
258
|
+
autoload :ModifyProvisionPath, action_root.join('modify_provision_path')
|
259
|
+
autoload :PowerOff, action_root.join('power_off')
|
260
|
+
autoload :PowerOn, action_root.join('power_on')
|
261
|
+
autoload :Destroy, action_root.join('destroy')
|
262
|
+
autoload :Reload, action_root.join('reload')
|
263
|
+
autoload :Rebuild, action_root.join('rebuild')
|
264
|
+
autoload :SetupHostname, action_root.join('setup_hostname')
|
265
|
+
autoload :SetupUser, action_root.join('setup_user')
|
266
|
+
autoload :SetupSudo, action_root.join('setup_sudo')
|
267
|
+
autoload :ReadSSHInfo, action_root.join("read_ssh_info")
|
268
|
+
autoload :SyncFolders, action_root.join('sync_folders')
|
269
|
+
autoload :ListServers, action_root.join('list_servers')
|
270
|
+
autoload :CreateImage, action_root.join('create_image')
|
271
|
+
autoload :ListImages, action_root.join('list_images')
|
272
|
+
autoload :ListPlans, action_root.join('list_plans')
|
273
|
+
autoload :ListDistributions, action_root.join('list_distributions')
|
274
|
+
autoload :ListDatacenters, action_root.join('list_datacenters')
|
161
275
|
end
|
162
276
|
end
|
163
277
|
end
|