fog--fog/lib/fog/vcloud/models/compute/catalog_item.rb

37 lines
1.2 KiB
Ruby

module Fog
module Vcloud
class Compute
class CatalogItem < Fog::Vcloud::Model
identity :href, :aliases => :Href
attribute :links, :aliases => :Link, :type => :array
ignore_attributes :xmlns, :xmlns_i, :xmlns_xsi, :xmlns_xsd
attribute :type
attribute :name
attribute :entity, :aliases => :Entity
attribute :link, :aliases => :Link
attribute :property, :aliases => :Property
def customization_options
load_unless_loaded!
if data = service.get_customization_options( link[:href] ).body
data.delete_if { |key, value| [:xmlns_i, :xmlns].include?(key) }
data
else
nil
end
end
def password_enabled?
load_unless_loaded!
customization_options = service.get_vapp_template(self.entity[:href]).body[:Children][:Vm][:GuestCustomizationSection]
return false if customization_options[:AdminPasswordEnabled] == "false"
return true if customization_options[:AdminPasswordEnabled] == "true" \
and customization_options[:AdminPasswordAuto] == "false" \
and ( options[:password].nil? or options[:password].empty? )
end
end
end
end
end