Revision history for VMware::vCloud NB: Skipped version numbers were never released. v2.29 2013/03/25 Added: Acknowledgement of David Gress as a contributor. VMware::vCloud - create_catalog(), delete_catalog() VMware::API::vCloud - catalog_create(), catalog_get_access(), catalog_set_access(), logout()* VMware::API::vCloud - POD noting the LoginUrl error. * Provided by David Gress 2.26 2013/03/19 Added: VMware::API::vCloud - template_get_metadata(), vapp_get_metadata() VMware::API::vCloud - Started adding API documentation URLs as comments in front of each method. Improved: VMware::vCloud - list_vapps() & list_templates() - Now uses the current login org a a parameter to list_vapps() to avoid pemission errors when logged in as an Org Admin. VMware::vCloud - org_create() improved POD, added ldap_mode as a parameter. 2.22 2013/03/14 Added: VMware::vCloud - admin_urls(), debug(), delete_org(), delete_org_network(), delete_vdc(), disable_org(), disable_vdc(), enable_org(), enable_vdc(), extensions(), get_pvdc(), list_external_networks(), list_portgroups(), purge(), vimserver(), webclienturl() Improved: VMware::vCloud - get_org() - now returns hash or hashref depending on context. VMware::vCloud - Improved and reorganized POD. POD cleanup and formatting. 2.19 2013/03/13 Added: VMware::vCloud - create_external_network() VMware::API::vCloud - admin(), admin_extension_get(), admin_extension_vimServer_get(), delete(), get_raw(), org_create(), org_list(), org_network_create(), org_vdc_create(), pvdc_get(), vdc_list() API version information is now read directly from offered versions. Learned variables and Raw responses now attached to $VMware::API::vCloud::self When Debug is on, learned variables are displayed on exit. Improved: Now working with API version v5.1 Removed the 1.0 and 1.5 schema from the MANIFEST until necessary. Most recent version is used. Login URL is now directed by Version response. VMware::API::vCloud - org_list() now generated with caching. Fixed: Version now included in accept header for authentication. 2.12 2011/10/27 Added: XML schema descriptors for 1.0 and 1.5 included in distribution. VMware::API::vCloud - "Template name validation" to "BUGS and LIMITATIONS" POD. VMware::vCloud - create_vapp_from_template(), get_template(), list_networks(), list_vdcs() VMware::API::vCloud - template_get() examples/list-templates.pl - Example of how to list templates. examples/create-vapp-from-template.pl - Instantiate a template with defaults. Improved: examples/poweron-vapp.pl - Corrected documentation. VMware::vCloud & VMware::vCloud::vApp - now used bless() with two arguments. VMware::API::vCloud _fault() now pushes a Dumper() of the HTTP object on error. That gives more detail on a fault when debug is enabled. post() now has optional parameters for content and content type. Fixed: examples/poweron-vappl.pl - Now actually included in the distribution 2.07 2011/10/06 Improved: VMware::API::vCloud: Error handling now recognizes an HTTP::Response object. Synopsis documentation on VMware::vCloud. Fixed: Included VMware::vCloud::vApp in MANIFEST 2.06 2011/10/05 Added: VMware::vCloud::vApp - An object representation of a vApp. examples/poweron-vapp.pl - Powering a vApp on. Improved: Documentation now matches all methods. 2.04 2011/10/03 Added: Caching of data with Cache::Bounded. list_templates() & examples/list-vms.pl - List templates Improved: examples/list-vms.pl - Removed commented-out code from 1.x version. 2.01 2011/09/30 This is a major change in philosophy. Previously this module emulated the API in the name of method and returned data structures. This does not match most conceptual and desired usage for automation. People do not "think" in a collection of REST API calls. They think in actions like "deploy a VM." Consequently I have moved the direct API implementation to VMware::API::vCloud. It offers an unadulterated pure-perl based view of the API and its transactions. In VMware::vCloud, I am going to try and present a more human friendly view. Added: lib/VMware/API/vCloud.pm - Raw API calls and returns. Fixed: Session ID is now handled via HTTP header, not cookies. This matches the published API docs. 1.600.08 2011/08/02 Added: examples/list-vms.pl - List all vApps and their VMs Improved: Added POD to the examples: get_org.pl, login.pl Fixed double "v" on new Version in POD 1.600.07 2011/07/29 Added: vdc_get() - List the contents of a Virtual Datacenter vapp_get() - List the contents of a vApp Fixed: Moved to multidigit CPAN-compatible version to work around single-digit subversion numbers. 1.6 2011/07/14 Added: catalog_get() - List a catalogs contents NB: Release created and submitted from the air on cross-country flight. :) 1.5 2011/07/01 Improved: Tests now skip() and don't report fail when connection info is not provided. The first test reports visual details of this. 1.4 2011/06/25 Added: org_get() - List an organizations contents examples/org_get.pl - Usage of the org_get() method Improved: login() - Returned data structure is now only the Org branch of the content. t/02-header.t - Added a dummy "ok" to avoid "dubious" warnings until test is expanded. Corrected: Removed POD references to VMware::API::LabManager 1.3 2011/06/25 Corrected: Error calling Data::Dumper on _fault() Syntax error in META.yml 1.2 2011/06/23 The server is now properly queried for the API version. XML to data structure translation of server responses is now in place. Added: api_versions() - Method to check API version supported by server Improved: login() - Now returns a data structure of accessible organizations upon successful login. 1.1 2011/06/16 Initial connection seed from sample code from hosting.com with comments from the VMware communities. - http://mylhat.com/blog/2009/09/hosting-com-vcloud-express-api-example-in-perl/ - http://communities.vmware.com/thread/284659 Added: login() - Basic method to get a login token from the server.