Sha256: 30d2bc20723819e0d0d0f69498531fc6a7fb81ef7407de391cceb3b49f00cc1e
Contents?: true
Size: 1.98 KB
Versions: 2
Compression:
Stored size: 1.98 KB
Contents
require 'fog/core/collection' require 'fog/vcloud_director/models/compute/custom_field' module Fog module VcloudDirector class Compute class CustomFields < Collection model Fog::VcloudDirector::Compute::CustomField attribute :vapp def get_by_id(item_id) item_list.detect{|i| i[:id] == item_id} end def [](key) get key.to_s end def set(key, value, opts={:type => 'string', :password => 'false', :user_configurable => 'true'}) new_items = item_list.each.reject{|item| item[:id] == key} new_items << { :id => key, :value => value, :type => opts[:type], :password => opts[:password], :user_configurable => opts[:user_configurable] } response = service.put_product_sections(vapp.id, new_items) service.process_task(response.body) end def []=(key,value) set(key,value) end def delete(item_id) id = item_id.to_s new_items = item_list.each.reject{|item| item[:id] == id} response = service.put_product_sections(vapp.id, new_items) service.process_task(response.body) end def item_list return @items if @items resp = service.get_product_sections_vapp(vapp.id).body collection = resp["ovf:ProductSection".to_sym]["ovf:Property".to_sym] rescue [] collection = [collection] if collection.is_a?(Hash) @items = collection.collect do |property| { :id => property[:ovf_key], :value => property[:ovf_value], :type => property[:ovf_type], :password => property[:ovf_password], :user_configurable => property[:ovf_userConfigurable] } end rescue [] end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
fog-vcloud-director-0.3.1 | lib/fog/vcloud_director/models/compute/custom_fields.rb |
fog-vcloud-director-0.3.0 | lib/fog/vcloud_director/models/compute/custom_fields.rb |