Class: Kontena::Plugin::DigitalOcean::Nodes::CreateCommand
- Inherits:
-
Command
- Object
- Command
- Kontena::Plugin::DigitalOcean::Nodes::CreateCommand
show all
- Includes:
- Cli::Common, Cli::GridOptions, Prompts
- Defined in:
- lib/kontena/plugin/digital_ocean/nodes/create_command.rb
Instance Method Summary
collapse
Methods included from Prompts
#ask_do_token, #ask_droplet_region, #ask_droplet_size, #ask_node
Instance Method Details
#ask_droplet_count ⇒ Object
44
45
46
47
48
49
50
|
# File 'lib/kontena/plugin/digital_ocean/nodes/create_command.rb', line 44
def ask_droplet_count
if self.count.nil?
prompt.ask('How many droplets?: ', default: 1)
else
self.count
end
end
|
#execute ⇒ Object
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
# File 'lib/kontena/plugin/digital_ocean/nodes/create_command.rb', line 17
def execute
require_api_url
require_current_grid
do_token = ask_do_token
require_relative '../../../machine/digital_ocean'
do_region = ask_droplet_region(do_token)
do_size = ask_droplet_size(do_token, do_region)
do_count = ask_droplet_count
grid = fetch_grid
provisioner = provisioner(client(require_token), do_token)
provisioner.run!(
master_uri: api_url,
grid_token: grid['token'],
grid: current_grid,
ssh_key: ssh_key,
name: name,
size: do_size,
count: do_count,
region: do_region,
version: version
)
end
|
#fetch_grid ⇒ Hash
59
60
61
|
# File 'lib/kontena/plugin/digital_ocean/nodes/create_command.rb', line 59
def fetch_grid
client(require_token).get("grids/#{current_grid}")
end
|
#provisioner(client, token) ⇒ Object