class Chef::Knife::IonoscloudRequestWait
Attributes
description[R]
required_options[R]
Public Class Methods
new(args = [])
click to toggle source
Calls superclass method
# File lib/chef/knife/ionoscloud_request_wait.rb, line 17 def initialize(args = []) super(args) @description = 'Waits until a request status is either DONE or FAILED.' @required_options = [:request_id, :ionoscloud_username, :ionoscloud_password] end
Public Instance Methods
run()
click to toggle source
# File lib/chef/knife/ionoscloud_request_wait.rb, line 24 def run $stdout.sync = true handle_extra_config validate_required_params(@required_options, config) print "#{ui.color('Waiting for request...', :magenta)}" begin dot = ui.color('.', :magenta) api_client.wait_for { print dot; is_done? config[:request_id] } rescue Ionoscloud::ApiError => err raise err unless err.code == 404 ui.error("Request ID #{config[:request_id]} not found.") end print "\n" end