Class: Chef::Knife::BmcsServerShow
- Inherits:
-
Chef::Knife
- Object
- Chef::Knife
- Chef::Knife::BmcsServerShow
- Includes:
- BmcsCommonOptions, BmcsHelper
- Defined in:
- lib/chef/knife/bmcs_server_show.rb
Overview
List BMCS instances. Note that this lists all instances in a compartment, not just those that are set up as Chef nodes.
Instance Method Summary collapse
Methods included from BmcsCommonOptions
Methods included from BmcsHelper
#bmcs_config, #check_can_access_instance, #compartment_id, #compute_client, #confirm, #display_list, #display_server_info, #error_and_exit, #identity_client, #network_client, #show_value, #validate_required_params, #warn_if_page_is_truncated
Instance Method Details
#run ⇒ Object
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/chef/knife/bmcs_server_show.rb', line 25 def run validate_required_params(%i[instance_id], config) vnic_array = [] server = check_can_access_instance(config[:instance_id]) error_and_exit 'Unable to retrieve instance' unless server.data vnics = compute_client.(compartment_id, instance_id: config[:instance_id]) vnics.data && vnics.data.each do |vnic| next unless vnic.lifecycle_state == 'ATTACHED' begin vnic_info = network_client.get_vnic(vnic.vnic_id, {}) rescue OracleBMC::Errors::ServiceError => service_error raise unless service_error.serviceCode == 'NotAuthorizedOrNotFound' else # for now, only display information for primary vnic if vnic_info.data.is_primary == true vnic_array.push(vnic_info.data) break end end end display_server_info(config, server.data, vnic_array) end |