Module: Chef::Knife::VcVappCommon

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(includer) ⇒ Object



23
24
25
26
27
28
29
30
# File 'lib/chef/knife/common/vc_vapp_common.rb', line 23

def self.included(includer)
  includer.class_eval do
    option :vcloud_vdc,
           :long => "--vdc VDC_NAME",
           :description => "VDC to whom vApp belongs",
           :proc => Proc.new { |key| Chef::Config[:knife][:vcloud_vdc] = key }
  end
end

Instance Method Details

#get_vapp(vapp_arg) ⇒ Object

Raises:

  • (ArgumentError)


32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# File 'lib/chef/knife/common/vc_vapp_common.rb', line 32

def get_vapp(vapp_arg)
  vapp = nil
  vdc_name = locate_config_value(:vcloud_vdc)

  unless vdc_name
    notice_msg("--vdc not specified, assuming VAPP is an ID")
    vapp = connection.get_vapp vapp_arg
  else
    org_name = locate_org_option
    org = connection.get_organization_by_name org_name
    vapp = connection.get_vapp_by_name org, vdc_name, vapp_arg
  end
  raise ArgumentError, "VApp #{vapp_arg} not found" unless vapp
  vapp
end