class Chef::Knife::Cloud::GoogleDiskList

Public Instance Methods

before_exec_command() click to toggle source
# File lib/chef/knife/google_disk_list.rb, line 41
def before_exec_command
  @columns_with_info = [
    { label: "Zone",         key: "name" },
    { label: "Status",       key: "status", value_callback: method(:format_status_value) },
    { label: "Size (GB)", key: "size_gb" },
    { label: "Type",         key: "type", value_callback: method(:format_disk_type) },
    { label: "Source Image", key: "source_image", value_callback: method(:format_source_image) },
    { label: "Attached To",  key: "users", value_callback: method(:format_users) },
  ]

  @sort_by_field = "name"
end
format_disk_type(type) click to toggle source
# File lib/chef/knife/google_disk_list.rb, line 69
def format_disk_type(type)
  type.split("/").last
end
format_source_image(source) click to toggle source
# File lib/chef/knife/google_disk_list.rb, line 73
def format_source_image(source)
  return "unknown" if source.nil? || source.empty?

  source.split("/").last(4).join("/")
end
format_status_value(status) click to toggle source
# File lib/chef/knife/google_disk_list.rb, line 58
def format_status_value(status)
  status = status.downcase
  status_color = if status == "ready"
                   :green
                 else
                   :red
                 end

  ui.color(status, status_color)
end
format_users(users) click to toggle source
# File lib/chef/knife/google_disk_list.rb, line 79
def format_users(users)
  return "none" if users.nil? || users.empty?

  users.map { |user| user.split("/").last(5).join("/") }.join(", ")
end
query_resource() click to toggle source
# File lib/chef/knife/google_disk_list.rb, line 54
def query_resource
  service.list_disks
end
validate_params!() click to toggle source
Calls superclass method
# File lib/chef/knife/google_disk_list.rb, line 36
def validate_params!
  check_for_missing_config_values!(:gce_zone)
  super
end