mirror of
https://github.com/fog/fog.git
synced 2022-11-09 13:51:43 -05:00
37 lines
1.2 KiB
Ruby
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
|