diff --git a/lib/fog/vcloud_director/compute.rb b/lib/fog/vcloud_director/compute.rb index 1620e0261..c4bfef718 100644 --- a/lib/fog/vcloud_director/compute.rb +++ b/lib/fog/vcloud_director/compute.rb @@ -223,7 +223,6 @@ module Fog request :post_upgrade_hw_version request :post_upload_media request :post_upload_vapp_template - request :post_vm_metadata # deprecated request :put_catalog_item_metadata_item_metadata request :put_cpu request :put_disk_metadata_item_metadata diff --git a/lib/fog/vcloud_director/models/compute/tags.rb b/lib/fog/vcloud_director/models/compute/tags.rb index 11c1862cd..0aebbbb98 100644 --- a/lib/fog/vcloud_director/models/compute/tags.rb +++ b/lib/fog/vcloud_director/models/compute/tags.rb @@ -13,17 +13,14 @@ module Fog def get_by_name(tag_name) get(tag_name) end + + def get_by_id(item_id) + item_list unless @items + @items.detect{ |i| i[:id] == item_id} + end def create(key,value) - item_list unless @tags - metadata_klass = case service.api_version - when '5.1' ; Fog::Generators::Compute::VcloudDirector::MetadataV51 - when '1.5' ; Fog::Generators::Compute::VcloudDirector::MetadataV15 - else raise "API version: #{api_version} not supported" - end - data = metadata_klass.new(@tags) - data.add_item(key, value) - response = service.post_vapp_metadata_item_metadata(vm.id, data.attrs) + response = service.post_update_vapp_metadata(vm.id, { key => value} ) service.process_task(response.body) end @@ -32,19 +29,14 @@ module Fog @tags[:metadata] end -# private - + private + def item_list @items =[] hash_items.each_pair{ |k,v| @items << {:id => k, :value => v }.merge(:vm => vm) } @items end - def get_by_id(item_id) - item_list unless @items - @items.detect{ |i| i[:id] == item_id} - end - end end end diff --git a/lib/fog/vcloud_director/requests/compute/post_undeploy_vapp.rb b/lib/fog/vcloud_director/requests/compute/post_undeploy_vapp.rb index a6ced3fa4..a693852f8 100644 --- a/lib/fog/vcloud_director/requests/compute/post_undeploy_vapp.rb +++ b/lib/fog/vcloud_director/requests/compute/post_undeploy_vapp.rb @@ -37,7 +37,7 @@ module Fog :xmlns => 'http://www.vmware.com/vcloud/v1.5' } UndeployVAppParams(attrs) { - if options.key?[:UndeployPowerAction] + if options[:UndeployPowerAction] UndeployPowerAction options[:UndeployPowerAction] end } diff --git a/lib/fog/vcloud_director/requests/compute/post_vm_metadata.rb b/lib/fog/vcloud_director/requests/compute/post_vm_metadata.rb deleted file mode 100644 index 5365be96f..000000000 --- a/lib/fog/vcloud_director/requests/compute/post_vm_metadata.rb +++ /dev/null @@ -1,30 +0,0 @@ -module Fog - module Compute - class VcloudDirector - class Real - require 'fog/vcloud_director/generators/compute/metadata' - - # @deprecated Use {#post_update_vapp_metadata} instead. - def post_vm_metadata(vm_id, metadata={}) - Fog::Logger.deprecation("#{self} => ##{post_vm_metadata} is deprecated, use ##{post_update_vapp_metadata} instead [light_black](#{caller.first})[/]") - - metadata_klass = case api_version - when '5.1' ; Fog::Generators::Compute::VcloudDirector::MetadataV51 - when '1.5' ; Fog::Generators::Compute::VcloudDirector::MetadataV15 - else raise "API version: #{api_version} not supported" - end - data = metadata_klass.new(metadata) - - request( - :body => data.generate_xml, - :expects => 202, - :headers => {'Content-Type' => 'application/vnd.vmware.vcloud.metadata+xml'}, - :method => 'POST', - :parser => Fog::ToHashDocument.new, - :path => "vApp/#{vm_id}/metadata/" - ) - end - end - end - end -end