Class: Chef::Knife::DigitalOceanDomainRecordList

Inherits:
Chef::Knife
  • Object
show all
Includes:
DigitalOceanBase
Defined in:
lib/chef/knife/digital_ocean_domain_record_list.rb

Instance Method Summary collapse

Methods included from DigitalOceanBase

#client, included, load_deps, #locate_config_value, #validate!, #wait_for_status

Instance Method Details

#runObject



26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# File 'lib/chef/knife/digital_ocean_domain_record_list.rb', line 26

def run
  $stdout.sync = true

  validate!

  unless locate_config_value(:name)
    ui.error('Domain Name cannot be empty. => -D <domain-name>')
    exit 1
  end

  domains_list = [
    ui.color('ID', :bold),
    ui.color('Type', :bold),
    ui.color('Name', :bold),
    ui.color('Data', :bold)
  ]

  records = client.domain_records.all for_domain: locate_config_value(:name)
  records.each do |domain|
    domains_list << domain.id.to_s
    domains_list << domain.type.to_s
    domains_list << domain.name.to_s
    domains_list << domain.data.to_s
  end

  puts ui.list(domains_list, :uneven_columns_across, 4)
end