Class: Chef::Knife::DigitalOceanDropletRebuild
- Inherits:
-
Chef::Knife
- Object
- Chef::Knife
- Chef::Knife::DigitalOceanDropletRebuild
- Includes:
- DigitalOceanBase
- Defined in:
- lib/chef/knife/digital_ocean_droplet_rebuild.rb
Instance Method Summary collapse
Methods included from DigitalOceanBase
#client, included, load_deps, #locate_config_value, #validate!, #wait_for_status
Instance Method Details
#run ⇒ Object
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
# File 'lib/chef/knife/digital_ocean_droplet_rebuild.rb', line 32 def run $stdout.sync = true validate! unless locate_config_value(:image) ui.error('Image ID cannot be empty. => -i <image-id>') exit 1 end unless locate_config_value(:id) ui.error('ID cannot be empty. => -I <id>') exit 1 end result = client.droplet_actions.rebuild( droplet_id: locate_config_value(:id), image: locate_config_value(:image) ) unless result.class == DropletKit::Action ui.error JSON.parse(result)['message'] exit 1 end wait_for_status(result, status: 'active') end |