1
0
Fork 0
mirror of https://github.com/fog/fog.git synced 2022-11-09 13:51:43 -05:00

Merge pull request #2232 from nosborn/vcloud_director_requests

[vcloud_director] Implement get*_metadata_item requests.
This commit is contained in:
Nick Osborn 2013-10-08 13:19:01 -07:00
commit cd63b39856
13 changed files with 285 additions and 4 deletions

View file

@ -82,12 +82,15 @@ module Fog
request :get_catalog
request :get_catalog_item
request :get_catalog_item_metadata
request :get_catalog_item_metadata_item_metadata
request :get_catalog_metadata
request :get_catalog_metadata_item_metadata
request :get_catalogs_from_query
request :get_cpu_rasd_item
request :get_current_session
request :get_disk
request :get_disk_metadata
request :get_disk_metadata_item_metadata
request :get_disk_owner
request :get_disks_from_query
request :get_disks_rasd_items_list
@ -97,6 +100,7 @@ module Fog
request :get_lease_settings_section_vapp
request :get_media
request :get_media_metadata
request :get_media_metadata_item_metadata
request :get_media_owner
request :get_medias_from_query
request :get_memory_rasd_item
@ -105,10 +109,12 @@ module Fog
request :get_network_config_section_vapp
request :get_network_connection_system_section_vapp
request :get_network_metadata
request :get_network_metadata_item_metadata
request :get_network_section_vapp
request :get_operating_system_section
request :get_organization
request :get_organization_metadata
request :get_organization_metadata_item_metadata
request :get_organizations
request :get_product_sections_vapp
request :get_request # this is used for manual testing
@ -122,17 +128,21 @@ module Fog
request :get_task_list
request :get_vapp
request :get_vapp_metadata
request :get_vapp_metadata_item_metadata
request :get_vapp_ovf_descriptor
request :get_vapp_owner
request :get_vapp_template
request :get_vapp_template_metadata
request :get_vapp_template_metadata_item_metadata
request :get_vapp_template_ovf_descriptor
request :get_vapp_templates_from_query
request :get_vapps_in_lease_from_query
request :get_vdc
request :get_vdc_metadata
request :get_vdc_storage_profile
request :get_vdc_storage_profile_metadata
request :get_vdc_metadata_item_metadata
request :get_vdc_storage_class
request :get_vdc_storage_class_metadata
request :get_vdc_storage_class_metadata_item_metadata
request :get_vm
request :get_vm_compliance_results
request :get_vm_customization

View file

@ -0,0 +1,26 @@
module Fog
module Compute
class VcloudDirector
class Real
# Retrieve the value of the specified key from catalog item metadata.
#
# @param [String] id Object identifier of the catalog item.
# @param [String] key Key of the metadata.
# @return [Excon::Response]
# * body<~Hash>:
# @see http://pubs.vmware.com/vcd-51/topic/com.vmware.vcloud.api.reference.doc_51/doc/operations/GET-CatalogItemMetadataItem-metadata.html
# vCloud API Documentation
# @since vCloud API version 1.5
def get_catalog_item_metadata_item_metadata(id, key)
request(
:expects => 200,
:idempotent => true,
:method => 'GET',
:parser => Fog::ToHashDocument.new,
:path => "catalogItem/#{id}/metadata/#{URI.escape(key)})"
)
end
end
end
end
end

View file

@ -0,0 +1,26 @@
module Fog
module Compute
class VcloudDirector
class Real
# Retrieve the value of the specified key from catalog metadata.
#
# @param [String] id Object identifier of the catalog.
# @param [String] key Key of the metadata.
# @return [Excon::Response]
# * body<~Hash>:
# @see http://pubs.vmware.com/vcd-51/topic/com.vmware.vcloud.api.reference.doc_51/doc/operations/GET-CatalogMetadataItem-metadata.html
# vCloud API Documentation
# @since vCloud API version 1.5
def get_catalog_metadata_item_metadata(id, key)
request(
:expects => 200,
:idempotent => true,
:method => 'GET',
:parser => Fog::ToHashDocument.new,
:path => "catalog/#{id}/metadata/#{URI.escape(key)})"
)
end
end
end
end
end

View file

@ -0,0 +1,26 @@
module Fog
module Compute
class VcloudDirector
class Real
# Retrieve the value of the specified key from disk metadata.
#
# @param [String] id Object identifier of the disk.
# @param [String] key Key of the metadata.
# @return [Excon::Response]
# * body<~Hash>:
# @see http://pubs.vmware.com/vcd-51/topic/com.vmware.vcloud.api.reference.doc_51/doc/operations/GET-DiskMetadataItem-metadata.html
# vCloud API Documentation
# @since vCloud API version 5.1
def get_disk_metadata_item_metadata(id, key)
request(
:expects => 200,
:idempotent => true,
:method => 'GET',
:parser => Fog::ToHashDocument.new,
:path => "disk/#{id}/metadata/#{URI.escape(key)})"
)
end
end
end
end
end

View file

@ -0,0 +1,26 @@
module Fog
module Compute
class VcloudDirector
class Real
# Retrieve the value of the specified key from media object metadata.
#
# @param [String] id Object identifier of the media object.
# @param [String] key Key of the metadata.
# @return [Excon::Response]
# * body<~Hash>:
# @see http://pubs.vmware.com/vcd-51/topic/com.vmware.vcloud.api.reference.doc_51/doc/operations/GET-MediaMetadataItem-metadata.html
# vCloud API Documentation
# @since vCloud API version 1.5
def get_media_metadata_item_metadata(id, key)
request(
:expects => 200,
:idempotent => true,
:method => 'GET',
:parser => Fog::ToHashDocument.new,
:path => "media/#{id}/metadata/#{URI.escape(key)})"
)
end
end
end
end
end

View file

@ -0,0 +1,26 @@
module Fog
module Compute
class VcloudDirector
class Real
# Retrieve the value of the specified key from network metadata.
#
# @param [String] id Object identifier of the network.
# @param [String] key Key of the metadata.
# @return [Excon::Response]
# * body<~Hash>:
# @see http://pubs.vmware.com/vcd-51/topic/com.vmware.vcloud.api.reference.doc_51/doc/operations/GET-NetworkMetadataItem-metadata.html
# vCloud API Documentation
# @since vCloud API version 1.5
def get_network_metadata_item_metadata(id, key)
request(
:expects => 200,
:idempotent => true,
:method => 'GET',
:parser => Fog::ToHashDocument.new,
:path => "admin/network/#{id}/metadata/#{URI.escape(key)})"
)
end
end
end
end
end

View file

@ -0,0 +1,28 @@
module Fog
module Compute
class VcloudDirector
class Real
# Retrieve the value of the specified key in the specified domain from
# organization metadata.
#
# @param [String] id Object identifier of the network.
# @param [String] domain
# @param [String] key Key of the metadata.
# @return [Excon::Response]
# * body<~Hash>:
# @see http://pubs.vmware.com/vcd-51/topic/com.vmware.vcloud.api.reference.doc_51/doc/operations/GET-OrganizationMetadataItem-metadata.html
# vCloud API Documentation
# @since vCloud API version 5.1
def get_organization_metadata_item_metadata(id, domain, key)
request(
:expects => 200,
:idempotent => true,
:method => 'GET',
:parser => Fog::ToHashDocument.new,
:path => "admin/org/#{id}/metadata/#{URI.escape(domain)}/#{URI.escape(key)})"
)
end
end
end
end
end

View file

@ -0,0 +1,26 @@
module Fog
module Compute
class VcloudDirector
class Real
# Retrieve the value of the specified key from vApp or VM metadata.
#
# @param [String] id Object identifier of the vApp or VM.
# @param [String] key Key of the metadata.
# @return [Excon::Response]
# * body<~Hash>:
# @see http://pubs.vmware.com/vcd-51/topic/com.vmware.vcloud.api.reference.doc_51/doc/operations/GET-VAppMetadataItem-metadata.html
# vCloud API Documentation
# @since vCloud API version 1.5
def get_vapp_metadata_item_metadata(id, key)
request(
:expects => 200,
:idempotent => true,
:method => 'GET',
:parser => Fog::ToHashDocument.new,
:path => "vApp/#{id}/metadata/#{URI.escape(key)})"
)
end
end
end
end
end

View file

@ -0,0 +1,27 @@
module Fog
module Compute
class VcloudDirector
class Real
# Retrieve the value of the specified key from vApp template or VM
# metadata.
#
# @param [String] id Object identifier of the vApp template or VM.
# @param [String] key Key of the metadata.
# @return [Excon::Response]
# * body<~Hash>:
# @see http://pubs.vmware.com/vcd-51/topic/com.vmware.vcloud.api.reference.doc_51/doc/operations/GET-VAppTemplateMetadataItem-metadata.html
# vCloud API Documentation
# @since vCloud API version 1.5
def get_vapp_template_metadata_item_metadata(id, key)
request(
:expects => 200,
:idempotent => true,
:method => 'GET',
:parser => Fog::ToHashDocument.new,
:path => "vAppTemplate/#{id}/metadata/#{URI.escape(key)})"
)
end
end
end
end
end

View file

@ -0,0 +1,28 @@
module Fog
module Compute
class VcloudDirector
class Real
# Retrieve the value of the specified key from virtual datacenter
# metadata.
#
# @param [String] id Object identifier of the network.
# @param [String] domain
# @param [String] key Key of the metadata.
# @return [Excon::Response]
# * body<~Hash>:
# @see http://pubs.vmware.com/vcd-51/topic/com.vmware.vcloud.api.reference.doc_51/doc/operations/GET-VdcMetadataItem-metadata.html
# vCloud API Documentation
# @since vCloud API version 1.5
def get_vdc_metadata_item_metadata(id, domain, key)
request(
:expects => 200,
:idempotent => true,
:method => 'GET',
:parser => Fog::ToHashDocument.new,
:path => "admin/vdc/#{id}/metadata/#{URI.escape(key)})"
)
end
end
end
end
end

View file

@ -2,6 +2,9 @@ module Fog
module Compute
class VcloudDirector
class Real
extend Fog::Deprecation
deprecate :get_vdc_storage_profile, :get_vdc_storage_class
# Returns storage class referred by the Id. All properties of the
# storage classes are visible to vcloud user, except for VDC Storage
# Class reference.
@ -11,7 +14,7 @@ module Fog
# * body<~Hash>:
# @see http://pubs.vmware.com/vcd-51/topic/com.vmware.vcloud.api.reference.doc_51/doc/operations/GET-VdcStorageClass.html
# vCloud API Documentation
def get_vdc_storage_profile(id)
def get_vdc_storage_class(id)
request(
:expects => 200,
:idempotent => true,

View file

@ -2,6 +2,9 @@ module Fog
module Compute
class VcloudDirector
class Real
extend Fog::Deprecation
deprecate :get_vdc_storage_profile_metadata, :get_vdc_storage_class_metadata
# Retrieve metadata associated with the vDC storage profile.
#
# @param [String] id Object identifier of the vDC storage profile.
@ -9,7 +12,7 @@ module Fog
# * body<~Hash>:
# @see http://pubs.vmware.com/vcd-51/topic/com.vmware.vcloud.api.reference.doc_51/doc/operations/GET-VdcStorageClassMetadata.html
# vCloud API Documentation
def get_vdc_storage_profile_metadata(id)
def get_vdc_storage_class_metadata(id)
request(
:expects => 200,
:idempotent => true,

View file

@ -0,0 +1,26 @@
module Fog
module Compute
class VcloudDirector
class Real
# Retrieve metadata associated with the vDC storage profile.
#
# @param [String] id Object identifier of the vDC storage profile.
# @param [String] domain
# @param [String] key Key of the metadata.
# @return [Excon::Response]
# * body<~Hash>:
# @see http://pubs.vmware.com/vcd-51/topic/com.vmware.vcloud.api.reference.doc_51/doc/operations/GET-VdcStorageClassMetadataItem-metadata.html
# vCloud API Documentation
def get_vdc_storage_class_metadata_item_metadata(id, key)
request(
:expects => 200,
:idempotent => true,
:method => 'GET',
:parser => Fog::ToHashDocument.new,
:path => "vdcStorageProfile/#{id}/metadata/#{URI.escape(key)})"
)
end
end
end
end
end