class Chef::Knife::OciSubnetList

List OCI subnets in a VCN.

Public Instance Methods

run() click to toggle source
# File lib/chef/knife/oci_subnet_list.rb, line 28
def run
  validate_required_params(%i[vcn_id], config)
  options = {}
  options[:limit] = config[:limit] if config[:limit]

  columns = ['Display Name', 'ID', 'CIDR Block', 'Availability Domain', 'State']

  list_for_display = config[:format] == 'summary' ? bold(columns) : []
  list_data, last_response = get_display_results(options) do |client_options|
    response = network_client.list_subnets(compartment_id, config[:vcn_id], client_options)

    items = response_to_list(response) do |item|
      [item.display_name, item.id, item.cidr_block, item.availability_domain, item.lifecycle_state]
    end
    [response, items]
  end
  list_for_display += list_data

  display_list_from_array(list_for_display, columns.length)
  warn_if_page_is_truncated(last_response)
end