SlideShare uma empresa Scribd logo
1 de 38
Baixar para ler offline
VMware vCloud SDK for PHP
Kimberly Wang (kwang@vmware.com)
Ecosystem Engineering, VMware, Inc.
09/2010




                                      © 2009 VMware Inc. All rights reserved
Agenda

    Introduction to VMware vCloud SDK for PHP
    Writing your first program using the SDK


Pre-requisite
    Familiarity with VMware vCloud API and the cloud resource model

    Familiarity with PHP, REST




2
Features

    Make the VMware vCloud REST API available in PHP

    Provides vCloud client library for vCloud resource entities access and
management

    Hide REST, XML processing to the user

    Straight forward SDK API allows user easily create a new or extend an
existing application with VMware vCloud Director




3
SDK Components

    VMware_VCloud_API packages
    Classes are generated from VMware vCloud REST API schema files.
    Each class maps to a complexType defined in the schema file.
    Contains all the types defined in vCloud API, vCloud administrative API and vCloud
    administrative extension API.
    Objects of these classes are referred to as vCloud data objects.


    VMware_VCloud_SDK packages
    Classes map to vCloud resource entities, for the lifecycle (CURD) of the entities
    HTTP request/response classes
    Utility functions
    Objects of these classes are referred to as vCloud SDK objects.




4
VMware_VCloud_API Packages




         VMware_VCloud_API Packages
VMware_VCloud_API Packages

 Packages are defined based on schema namespaces
  VMware_VCloud_API
  VMware_VCloud_API_OVF
  VMware_VCloud_API_Extension
  VMware_VCloud_API_Version
VMware_VCloud_API Classes

    Major classes support vCloud user API
    VMware_VCloud_API_OrgType
    VMware_VCloud_API_VdcType
    VMware_VCloud_API_VAppType
    VMware_VCloud_API_VmType
    VMware_VCloud_API_VAppTemplateType
    VMware_VCloud_API_CatalogType
    VMware_VCloud_API_CatalogItemType
    VMware_VCloud_API_MediaType
    VMware_VCloud_API_OrgNetworkType
    VMware_VCloud_API_TaskType
    VMware_VCloud_API_FileType




7
VMware_VCloud_API Classes (Continued)

    Major classes support vCloud administrative API
    VMware_VCloud_API_VCloudType
    VMware_VCloud_API_AdminOrgType
    VMware_VCloud_API_AdminVdcType
    VMware_VCloud_API_RoleType
    VMware_VCloud_API_RightType
    VMware_VCloud_API_UserType
    VMware_VCloud_API_GroupType
    VMware_VCloud_API_CatalogType
    VMware_VCloud_API_OrgNetworkType




8
VMware_VCloud_API Classes (Continued)

 Major classes support vCloud administrative extension API
  VMware_VCloud_API_Extension_HostType
  VMware_VCloud_API_Extension_VimServerType
  VMware_VCloud_API_Extension_ShieldManagerType
  VMware_VCloud_API_Extension_VMWProviderVdcType
  VMware_VCloud_API_Extension_VMWNetworkPoolType
  VMware_VCloud_API_Extension_VMWExternalNetworkType
  VMware_VCloud_API_Extension_VMWExtensionType
  VMware_VCloud_API_Extension_ResourcePoolType
  VMware_VCloud_API_Extension_PortGroupPoolType
  VMware_VCloud_API_Extension_FencePoolType
  VMware_VCloud_API_Extension_VlanPoolType
VMware_VCloud_API Classes (Continued)

     Other classes
     VMware_VCloud_API_ErrorType -- For error message in VMware vCloud Director
     VMware_VCloud_API_ReferenceType – For reference to a vCloud entity
     VMware_VCloud_API_ParamsType -- Base class used to specify parameters
       Examples of subclasses
        • VMware_VCloud_API_VAppCreationParamsType
        • VMware_VCloud_API_ComposeVAppParamsType.

     VMware_VCloud_API_OVF_Section_Type -- Base class for sections used in
                                                VAppType, VAppTemplateType, etc.
       Examples of subclasses
        • VMware_VCloud_API_OVF_OperatingSystemSection_Type
        • VMware_VCloud_API_OVF_VirtualHardwareSection_Type




10
VMware_VCloud_API Class – Details (Continued)

  Each class contains a constructor method. Parameter list consists
of attributes of the class and its parent class, and all the way up to
its root class.
 Each class contains setter and getter methods for XML element
attributes and child elements accessing.
      naming convention (use setters as examples).
          • set_<attribute>: for example, set_name($name).
          • set<Child Element>: for example, setFullName($fullname).

     Each class contains export() and build() methods.
      export() – for exporting object to an XML string.
      build() – for parsing an XML string to vCloud data object. The SDK can parse
     the XML string automatically to a data object.




11
Creating a vCloud Data Object

     Two ways to create a data object
     Start with an constructor without parameters, then invoke the setter methods to
     set the parameters. For example,
      • $ref = new VMware_VCloud_API_ReferenceType();
       $ref->set_href($href);
       $ref->set_type($type);
       $ref->set_name($name);
     Invoke the constructor with parameters. For example,
      • $ref = new VMware_VCloud_SDK_API_ReferenceType($href, $type, $name);




12
Creating a Data Object - Using the SDK API Documentation

  Using VMware_VCloud_API_AdminOrgType as an example,
describes how to create a data object with the help of the SDK API
documentation.
 1. Select the VMware_VCloud_API from the “packages” drop down menu.
 2. Select class VMware_VCloud_API_AdminOrgType in the left pane.
 3. Go to the “Method Summary” section in the right pane, select and navigate
   to the constructor, __construct(), method link.
 4. Look for “required” object attributes. $name, $FullName, $Settings are
   required for constructing a VMware_VCloud_API_AdminOrgType data object.
 5. $name and $FullName contain string values, set them with set_name($name)
   and setFullName($fullname) methods respectively. $name and $fullname are
   given by the caller.
 6. $Settings is a VMware_VCloud_API_OrgSettingsType data object. To get its
   parameters information, repeat with step 4, looking for the required object
   attributes. $IsEnabled, $CanPublishCatalogs and $OrgLdapMode are required
   for constructing the object.

13
Creating a Data Object - Using the SDK API Documentation (Cont.)

 7. $IsEnabled and $CanPublishCatalogs contain boolean values, set with
   setIsEnabled($enable) and setCanPublishCatalogs($publish) methods respectively.
   $enable and $publish are decided by the caller.
 8. $OrgLdapMode contains a string value. The “allowed values” restricts its value has to
   be one of the following, ‘NONE’, ‘SYSTEM’, ‘CUSTOM’.




14
Creating a Data Object - Using the SDK API Documentation (Cont.)

 As a summary, here is the code to create a
 VMware_VCloud_API_AdminOrgType data object.
   $adminOrg = new VMware_VCloud_API_AdminOrgType();
   $adminOrg->set_name(‘myOrg’);
  $adminOrg->setFullName(‘my org fullname’);
  $settings = new VMware_VCloud_API_OrgSettingsType();
  $settings->setIsEnabled(true);
  $settings->setCanPublishCatalogs(true);
  $settings->setOrgLdapMode(‘NONE’);
  $adminOrg->setSettings($settings);
VMware_VCloud_SDK Packages




         VMware_VCloud_SDK Packages
VMware_VCloud_SDK Packages

 Three packages
  VMware_VCloud_SDK
   user and administrative operations
  VMware_VCloud_SDK_Extension
   admin extension operations
  VMware_VCloud_SDK_Http
   HTTP request/response
VMware_VCloud_SDK Classes

     Classes support vCloud user level operations
     VMware_VCloud_SDK_Org -- entry point for references to other resource entities
     VMware_VCloud_SDK_Vdc
     VMware_VCloud_SDK_VApp
     VMware_VCloud_SDK_Vm
     VMware_VCloud_SDK_VAppTemplate
     VMware_VCloud_SDK_Catalog
     VMware_VCloud_SDK_CatalogItem
     VMware_VCloud_SDK_Media
     VMware_VCloud_SDK_Network




18
VMware_VCloud_SDK Classes (Continued)

     Classes support vCloud administrative level operations
     VMware_VCloud_SDK_Admin -- admin entry point
     VMware_VCloud_SDK_AdminOrg
     VMware_VCloud_SDK_AdminVdc
     VMware_VCloud_SDK_Role
     VMware_VCloud_SDK_User
     VMware_VCloud_SDK_Group
     VMware_VCloud_SDK_AdminCatalog
     VMware_VCloud_SDK_AdminNetwork
     Other classes
     VMware_VCloud_SDK_Service -- SDK entry point, login/logout, etc.
     VMware_VCloud_SDK_Factory -- Handles SDK objects creation
     VMware_VCloud_SDK_Exception


19
VMware_VCloud_SDK_Extension Classes

     Classes support vCloud administrative extension level operations
     VMware_VCloud_SDK_Extension -- admin extension entry point
     VMware_VCloud_SDK_Extension_Host
     VMware_VCloud_SDK_Extension_VimServer
     VMware_VCloud_SDK_Extension_VMWExternalNetwork
     VMware_VCloud_SDK_Extension_VMWNetworkPool
     VMware_VCloud_SDK_Extension_VMWProviderVdc




20
VMware_VCloud_SDK_Http Classes

     Classes support HTTP request and response
     VMware_VCloud_SDK_Http_Client
     VMware_VCloud_SDK_Http_Exception
     Default client implementation uses PEAR HTTP_Request2 library
  Users can use their own choices by extending the following
interfaces.
     VMware_VCloud_SDK_Http_Client_Interface
     VMware_VCloud_SDK_Http_Response_Interface




21
Creating an SDK Object

  To create a user operation entry point, VMware_VCloud_SDK_Org
object
     $orgRefs = $service->getOrgRefs($orgName);
      $sdkOrg = $service->createSDKObj($orgRefs[0]);
 To create an admin operation entry point,
VMware_VCloud_SDK_Admin object
     $sdkAdminObj = $service->createSDKAdminObj();
 To create an admin extension operation entry point,
VMware_VCloud_SDK_Extension object
     $sdkExtObj = $service->createSDKExtensionObj();
     To create other SDK objects
     $sdkObj = $service->createSDKObj($ref);
       $ref is a ReferenceType or LinkType data object or a resource entity URL string.
       For how to trace down to get a referenceType object, refer to the next slides.


22
Creating a VMware vCloud SDK Object (Continued)

The following table lists how to get a ReferenceType object to create
 an SDK object. Note, the package name of the SDK object is
 omitted. The formula is,
            $reference = [column2 SDK obj] -> [column 3 SDK method];
            [column 1 SDK obj] = $service->createSDKObj($reference);


       SDK Object to    Container Object of the      Method to be Invoked on the SDK Container
          Create         SDK Object to Create                          Object
      Org              Service                    getOrgRefs(), getSystemOrgRef(), getAdminSystemOrgRef()
      Vdc              Org                        getVdcRefs()
      Catalog          Org                        getCatalogRefs()
      Network          Org                        getOrgNetworkRefs()
      VApp             Vdc                        getVAppRefs()
      VAppTemplate     Vdc                        getVAppTemplateRefs()
      Media            Vdc                        getMediaRefs()
      CatalogItem      Catalog                    getCatalogItemRefs()
      VApp             VApp                       getContainedVAppRefs()
      Vm               VApp                       getContainedVmRefs()




 23
Create a VMware vCloud SDK Object (Continued)


      SDK Object to    Container Object of the      Method to be Invoked on the SDK Container
         Create         SDK Object to Create                          Object
     AdminOrg          Admin                     getAdminOrgRefs()
     ExternalNetwork   Admin                     getExternalNetworkRefs()
     Role              Admin                     getRoleRefs()
     <No SDK object>   Admin                     getRightRefs()
     <No SDK object>   Admin                     getProviderVdcRefs()
     AdminVdc          AdminOrg                  getAdminVdcsRefs()

     AdminCatalog      AdminOrg                  getAdminCatalogRefs()
     Group             AdminOrg                  getGroupRefs()
     User              AdminOrg                  getUserRefs()
     AdminNetwork      AdminOrg                  getAdminNetworkRefs()

     CatalogItem       AdminCatalog              getCatalogItemRefs()




24
Create a VMware vCloud SDK Object (Continued)


        SDK Object to Create        Container Object of the       Method to be Invoked on the SDK
                                     SDK Object to Create                Container Object
     Extension_VMWProviderVdc       Extension                  getVMWProviderVdcRefs()

     Extension_VMWExternalNetwork   Extension                  getVMWExternalNetworkRefs()

     Extension_VMWNetworkPool       Extension                  getVMWNetworkPoolRefs()

     Extension_VimServer            Extension                  getVimServerRefs()

     Extension_Host                 Extension                  getHostRefs()

     <No SDK object>                Extension_VMWProviderVdc   getNetworkPoolRefs()

     <No SDK object>                Extension_VimServer        getResourcePoolRefs()




25
VMware_VCloud_SDK Classes – Details (Continued)

 Methods are defined to retrieve, create, modify or delete vCloud
entities
      Methods for retrieving a vCloud entities are defined in the SDK mapped
     container class of the entity. For example, getVdcs() is defined in
     VMware_VCloud_SDK_Org class.
     For retrieving entities, usually each entity type has two methods,
     • get<Entity>Refs() -- Get the references to the entities in an array. For example,
       getVdcRefs()
     • get<Entity>s() -- Get the entity data objects in an array. For example, getVdcs().
      Methods for creating a vCloud entities are defined in the SDK mapped
     container class. For example, to upload an OVF package to vCloud as a
     vAppTemplate, method uploadOVFAsVAppTemplate() is defined in
     VMware_VCloud_SDK_Vdc class.
     Methods for modifying or deleting a vCloud entity are defined in the SDK
     mapped class itself.
 For supported operations, please refer to the SDK API reference
documentation or VMware vCloud API Guide.
26
Use the SDK

 User can create SDK objects and use methods defined in the SDK
objects to create, retrieve, update, delete vCloud entities.
 When user needs to access attributes of vCloud entities, or to
construct a data object used for sending a request to vCloud, use
data objects directly. For example,
     To get the name of an organization, invoke get_name() method on a
     VMware_VCloud_API_OrgType data object.
     To construct a ParamType data object for a clone operation.




27
First Program using SDK – Login

 Log into a VMware vCloud service portal
     To get a service object
       $service = VMware_VCloud_SDK_Service::getService();
     Log in
     • $service->login($server, $auth, $httpConfig)*;
     * If proxy and/or SSL certificate are used, configure the $httpConfig array. For details, refer to

      config.php under the samples directory in the SDK package and HTTP_Request2 documentation.

 Successful login returns a list of references to all the organizations
that the user has access to.
       $orgListObj = $service->login($server, $auth, $httpConfig);




28
Sample Code

 This example demonstrates how to get and power on a virtual
machine. For simplicity, it always pick the first element of an array.
<?php
     require_once 'config.php'; // includes all needed libraries and parameters setting
     $service = VMware_VCloud_SDK_Service::getService();
     $service->login ($server, $auth, $httpConfig);
     $orgRefs = $service->getOrgRefs(); //get references for vCloud organization entities
     $sdkOrg = $service->createSDKObj($orgRefs[0]); // create an SDK Org object
     $vdcRefs = $sdkOrg->getVdcRefs(); // get references to vCloud vDC entities
     $sdkVdc = $service->createSDKObj($vdcRefs[0]); // create an SDK vDC object
     $vAppRefs = $sdkVdc->getVAppRefs(); // get references to vCloud vApp entities
     $sdkVApp = $service->createSDKObj($vAppRefs[0]); // create an SDK vApp object
     $vmRefs = $sdkVApp->getContainedVmRefs(); // get contained Vms
     $sdkVm = $service->createSDKObj($vmRefs[0]); // create an SDK Vm object
     $sdkVm->powerOn(); // power on the Vm
?>

29
References

 VMware vCloud SDK for PHP operations and methods reference
List of vCloud User API Operations
                           Operation                               Since              Description                                 PHP SDK method(s) for the operation
GET .../api/versions                                               v0.9 Retrieves the version information.          $service->getAPIVersion();
GET .../api/v1.0/schema/<schema_file_name>                         v0.9 Retrieves a schema file.                    No direct method, do through $service->get($url);

POST .../api/v1.0/login                                            v0.9   Login with HTTP POST request.             $service->login();
POST .../api/v1.0/logout                                           v0.9   Logs out the user and invalidates the     $service->logout();
                                                                          authentication token returned by login.

GET .../api/v1.0/org                                               v0.9   Retrieves a list of organizations.        $service->getOrgRefs();
GET .../api/v1.0/org/<org-id>                                      v0.9   Retrieves an organization.                $service->getOrgs();

GET .../api/v1.0/vdc/<vdc-id>                                      v0.9   Retrieves a virtual data center.          $sdkOrg->getVdcs();
POST .../api/v1.0/vdc/<vdc-id>/action/instantiateVAppTemplate      v0.9   Instantiate a vApp template into a new    $sdkVdc->instantiateVAppTemplateDefault(); Or
                                                                          vApp.                                     $sdkVdc->instantiateVAppTemplate();
POST .../api/v1.0/vdc/<vdc-id>/action/captureVApp                  v0.9   Captures a vApp into vApp template.       $sdkVdc->captureVApp();
POST .../api/v1.0/vdc/<vdc-id>/action/cloneMedia                   v0.9   Clones a media.                           $sdkVdc->cloneMoveMedia();
POST .../api/v1.0/vdc/<vdc-id>/action/cloneVApp                    v0.9   Clones a vApp into new vApp.              $sdkVdc->cloneMoveVApp();
POST .../api/v1.0/vdc/<vdc-id>/action/cloneVAppTemplate            v0.9   Clones a vApp template.                   $sdkVdc->cloneMoveVAppTemplate();
POST .../api/v1.0/vdc/<vdc-id>/action/composeVApp                  v0.9   Composes a new vApp using VMs from        $sdkVdc->composeVApp();
                                                                          other vApps or vAppTemplates.
POST .../api/v1.0/vdc/<vdc-id>/action/uploadVAppTemplate           v0.9   Uploading vApp template to a vDC.         $sdkVdc->uploadOVFAsVAppTemplate();

GET .../api/v1.0/catalog/<catalog-id>                              v0.9   Retrieves a catalog.                      $sdkOrg->getCatalogs(); Or
                                                                                                                    $catalogRefs = $sdkOrg->getCatalogRefs();
                                                                                                                    $sdkCatalog = $service->createSDKObj($catalogRef);
                                                                                                                    $sdkCatalog->getCatalog();
GET .../api/v1.0/org/<org-id>/catalog/<catalog-id>/controlAccess   v0.9   Retrieves the catalog control access      $sdkCatalog->getControlAccess();
                                                                          information.
POST .../api/v1.0/org/<org-id>/catalog/<catalog-                   v0.9   Modifies a catalog control access.        $sdkCatalog->modifyControlAccess();
id>/action/controlAccess

POST .../api/v1.0/catalog/<catalog-id>/catalogItems                v0.9   Creates a catalog item in a catalog.      $sdkCatalog->addCatalogItem();
GET .../api/v1.0/catalogItem/<catalog-item-id>                     v0.9   Retrieves a catalog item.                 $sdkCatalog->getCatalogItems(); Or
                                                                                                                    $catalogItemRefs = $sdkCatalog->getCatalogItemRefs();
                                                                                                                    $sdkCatalogItem = $service->createSDKObj($catalogitemRef);
                                                                                                                    $sdkCatalogItem->getCatalogItem();
PUT .../api/v1.0/catalogItem/<catalog-item-id>                     v0.9   Modifies a catalog item.                  $sdkCatalogItem->modify();
DELETE .../api/v1.0/catalogItem/<catalog-item-id>                  v0.9   Deletes a catalog item.                   $sdkCatalogItem->delete();

POST .../api/v1.0/vdc/<vdc-id>/media                               v0.9   Creates a media (and present upload       $sdkVdc->uploadFloppyMedia();
                                                                          link for the floppy/iso file).            $sdkVdc->uploadIsoMedia()
GET .../api/v1.0/media/<media-id>                                  v0.9   Retrieves a media.                        $sdkVdc->getMedias(); Or
                                                                                                                    $mediaRefs = $sdkVdc->getMediaRefs();
                                                                                                                    $sdkMedia = $service->createSDKObj($mediaRef);
                                                                                                                    $sdkMedia->getMedia();
PUT .../api/v1.0/media/<media-id>                                v0.9   Updates the name/description of a       $sdkMedia->modifyName();
                                                                        media.                                  $sdkMedia->modifyDescription();
DELETE .../api/v1.0/media/<media-id>                             v0.9   Deletes a media.                        $sdkMedia->delete();

GET .../api/v1.0/task/<task-id>                                  v0.9   Retrieves a task.                       No direct method, do through $service->get($url);
GET .../api/v1.0/tasksList/<org-id>                              v0.9   Retrieves a list of tasks bound to an   No direct method, do through $service->get($url)
                                                                        organization.

GET .../api/v1.0/vApp/<vapp-id>                                  v0.9   Retrieves a vApp.                        $sdkVdc->getVApps(); Or
                                                                                                                 $VAppRefs = $sdkVdc->getVAppRefs();
                                                                                                                 $sdkVApp = $service->createSDKObj($VAppRef);
                                                                                                                 $sdkVApp->getVApp();
PUT .../api/v1.0/vApp/<vapp-id>                                  v0.9   Modifies the name/description of a vApp. $sdkVApp->modify();

DELETE .../api/v1.0/vApp/<vapp-id>                               v0.9   Deletes a vApp.                         $sdkVApp->delete();

POST .../api/v1.0/vApp/<vapp/vm-id>/power/action/powerOn         v0.9   Powers on a vApp/VM.                    $sdkVApp->powerOn();/$sdkVm->powerOn();
POST .../api/v1.0/vApp/<vapp/vm-id>/power/action/powerOff        v0.9   Powers off a vApp/VM.                   $sdkVApp->powerOff();/$sdkVm->powerOff();
POST .../api/v1.0/vApp/<vapp/vm-id>/power/action/suspend         v0.9   Suspends a vApp/VM.                     $sdkVApp->suspend();/$sdkVm->suspend();
POST .../api/v1.0/vApp/<vapp/vm-id>/power/action/reboot          v0.9   Reboots a vApp/VM.                      $sdkVApp->reboot();/$sdkVm->reboot();
POST .../api/v1.0/vApp/<vapp/vm-id>/power/action/reset           v0.9   Resets a vApp/VM.                       $sdkVApp->reset();/$sdkVm->reset();
POST .../api/v1.0/vApp/<vapp/vm-id>/power/action/shutdown        v0.9   Shutdowns a vApp/VM.                    $sdkVApp->shutdown();/$sdkVm->shutdown();

POST .../api/v1.0/vApp/<vapp/vm-id>/action/deploy                v0.9   Deploy a vApp/VM.                     $sdkVApp->deploy();/$sdkVm->deploy();
POST .../api/v1.0/vApp/<vapp/vm-id>/action/undeploy              v0.9   Undeploy a vApp/VM.                   $sdkVApp->undeploy();/$sdkVm->undeploy();
POST .../api/v1.0/vApp/<vapp/vm-id>/action/discardSuspendedState v0.9   Discard suspended state of a vApp/VM. $sdkVApp->discardSuspendedState(); /$sdkVm->
                                                                                                              discardSuspendedState();
POST .../api/v1.0/vApp/<vapp-id>/action/recomposeVApp            v1.0   Recompose vApp.                       $sdkVApp->recompose();

POST .../api/v1.0/vApp/<vapp-id>/action/controlAccess            v0.9   Modifies the control access of a vApp.   $sdkVApp->modifyControlAccess();
GET .../api/v1.0/vApp/<vapp-id>/controlAccess                    v0.9   Retrieves the control access information $sdkVApp->getControlAccess();
                                                                        for a vApp.

GET .../api/v1.0/vApp/<vapp-id>/leaseSettingsSection             v0.9   Retrieves the lease settings section of a $sdkVApp->getLeaseSettings();
                                                                        vApp.
PUT .../api/v1.0/vApp/<vapp-id>/leaseSettingsSection             v0.9   Modifies the lease settings section of a $sdkVApp->modifyLeaseSettings();
                                                                        vApp.
DELETE .../api/v1.0/vApp/<vapp-id>/leaseSettingsSection          v0.9   Deletes the lease settings section of a   $sdkVApp->deleteLeaseSettings();
                                                                        vApp.

GET .../api/v1.0/vApp/<vapp-id>/networkConfigSection             v0.9   Retrieves the network config section of a $sdkVApp->getNetworkConfigSettings();
                                                                        vApp.
PUT .../api/v1.0/vApp/<vapp-id>/networkConfigSection             v0.9   Modifies the network config section of a $sdkVApp->modifyNetworkConfigSettings();
                                                                        vApp.
GET .../api/v1.0/vApp/<vapp-id>/networkSection                v0.9   Retrieves the network section of a vApp. $sdkVApp->getNetworkSettings();


GET .../api/v1.0/vApp/<vm-id>/operatingSystemSection          v0.9   Retrieves the operating system section $sdkVm->getOperatingSystemSettings();
                                                                     of a VM.
PUT .../api/v1.0/vApp/<vm-id>/operatingSystemSection          v0.9   Modifies the operating system section of $sdkVm->modifyOperatingSystemSettings();
                                                                     a VM.

GET .../api/v1.0/vApp/<vm-id>/screen                          v0.9   Retrieves the thumbnail of the screen of $sdkVm->getScreenThumbnailImage();
                                                                     a VM.
POST .../api/v1.0/vApp/<vm-id>/screen/action/acquireTicket    v0.9   Acquires the screen ticket for a VM.     $sdkVm->getScreenTicket() Or
                                                                                                              $sdkVm->getScreenTicketTokens();

POST .../api/v1.0/vApp/<vm-id>/action/ejectMedia              v0.9   Ejects a media from a VM.                    $sdkVm->ejectMedia();
POST .../api/v1.0/vApp/<vm-id>/action/insertMedia             v0.9   Inserts a media into a VM.                   $sdkVm->insertMedia();

GET .../api/v1.0/vApp/<vapp-id>/startupSection                v0.9   Retrieves the startup section of a vApp.     $sdkVApp->getStartupSettings();

PUT .../api/v1.0/vApp/<vapp-id>/startupSection                v0.9   Modifies the startup section of a vApp.      $sdkVApp->modifyStartupSettings();
DELETE .../api/v1.0/vApp/<vapp-id>/startupSection             v0.9   Deletes the startup section of a vApp.       $sdkVApp->deleteStartupSettings();

GET .../api/v1.0/vApp/<vm-id>/virtualHardwareSection          v0.9   Retrieves the virtual hardware section of    $sdkVm->getVirtualHardwareSettings();
                                                                     a VM.
PUT .../api/v1.0/vApp/<vm-id>/virtualHardwareSection          v0.9   Modifies the virtual hardware section of a   $sdkVm->modifyVirtualHardwareSettings();
                                                                     VM.
GET .../api/v1.0/vApp/<vm-id>/virtualHardwareSection/cpu      v0.9   Retrieves the RASD item that contains        $sdkVm->getVirtualHardwareCpu();
                                                                     CPU information from virtual hardware
                                                                     section of a VM.
PUT .../api/v1.0/vApp/<vm-id>/virtualHardwareSection/cpu      v0.9   Modifies the CPU properties in virtual       $sdkVm->modifyVirtualHardwareCpu();
                                                                     hardware section of a VM.
GET .../api/v1.0/vApp/<vm-id>/virtualHardwareSection/memory   v0.9   Retrieves the RASD item that contains        $sdkVm->getVirtualHardwareMemory();
                                                                     memory information from virtual
                                                                     hardware section of a VM.
PUT .../api/v1.0/vApp/<vm-id>/virtualHardwareSection/memory   v0.9   Modifies the memory properties in virtual    $sdkVm->modifyVirtualHardwareMemory();
                                                                     hardware section of a VM.
GET .../api/v1.0/vApp/<vm-id>/virtualHardwareSection/disks    v0.9   Retrieves a list of RASD items for disks     $sdkVm->getVirtualHardwareDisks();
                                                                     from virtual hardware section of a VM.

PUT .../api/v1.0/vApp/<vm-id>/virtualHardwareSection/disks    v0.9   Modifies the disks list virtual hardware     $sdkVm->modifyVirtualHardwareDisk();
                                                                     section of a VM.
GET .../api/v1.0/vApp/<vm-id>/virtualHardwareSection/media    v0.9   Retrieves the list of RASD items that        $sdkVm->getVirtualHardwareMedia();
                                                                     represents the floppies and CD/DVD
                                                                     drives in a VM.
GET .../api/v1.0/vApp/<vm-id>/virtualHardwareSection/networkCards v0.9   Retrieves a list of RASD items of         $sdkVm->getVirtualHardwareNetworkCards();
                                                                         network cards from virtual hardware
                                                                         section of a VM.
PUT .../api/v1.0/vApp/<vm-id>/virtualHardwareSection/networkCards v0.9   Modifies the network cards list virtual   $sdkVm->modifyVirtualHardwareNetworkCard()
                                                                         hardware section of a VM.

GET .../api/v1.0/vApp/<vm-id>/guestCustomizationSection           v1.0   Retrieves the guest customization       $sdkVm->getGuestCustomizationSettings();
                                                                         section of a VM.
PUT .../api/v1.0/vApp/<vm-id>/guestCustomizationSection           v1.0   Updates the guest customization options $sdkVm->modifyGuestCustomizationSettings();
                                                                         of a VM

GET .../api/v1.0/vApp/<vm-id>/networkConnectionSection            v0.9   Retrieves the network connection section $sdkVm->getNetworkConnectionSettings();
                                                                         of a VM.
PUT .../api/v1.0/vApp/<vm-id>/networkConnectionSection            v0.9   Modifies the network connection section $sdkVm->modifyNetworkConnectionSettings();
                                                                         of a VM.

GET .../api/v1.0/vApp/<vm-id>/question                            v0.9   Retrieves pending question for a VM.      $sdkVm->getPendingQuestion();
POST .../api/v1.0/vApp/<vm-id>/question/action/answer             v0.9   Answer on a pending question.             $sdkVm->answerPendingQuestion();

GET .../api/v1.0/vAppTemplate/<vapp-template-id>                  v0.9   Retrieves a vApp template (can be used $sdkVdc->getVAppTemplates(); Or
                                                                         also to retrieve a VM from a               $vAppTemplateRefs = $sdkVdc->getVAppTemplateRefs();
                                                                         vAppTemplate).                             $sdkVAppTemplate = $service->createSDKObj($vAppTemplateRef);
                                                                                                                    $sdkVAppTemplate->getVAppTemplate();
PUT .../api/v1.0/vAppTemplate/<vapp-template-id>                  v0.9   Modifies only the name/description of a $sdkVAppTemplate->modifyName();
                                                                         vApp template.
                                                                                                                    $sdkVAppTemplate->modifyDescription();
DELETE .../api/v1.0/vAppTemplate/<vapp-template-id>               v0.9   Deletes a vApp template.                   $sdkVAppTemplate->delete();
POST .../api/v1.0/vAppTemplate/<vapp-template-                    v0.9   Enables downloading of the ovf of a        $sdkVAppTemplate->enableDownload();
id>/action/enableDownload                                                vApp template.
POST .../api/v1.0/vAppTemplate/<vapp-template-                    v0.9   Disables the download link to the ovf of a $sdkVAppTemplate->disableDownload();
id>/action/disableDownload                                               vApp template.
GET .../api/v1.0/vAppTemplate/<vapp-template-                     v1.0   Retrieves the customization section of a $sdkVAppTemplate->getCustomizationSettings();
id>/customizationSection                                                 vApp template.
PUT .../api/v1.0/vAppTemplate/<vapp-template-                     v1.0   Updates the vAppTemplate                   $sdkVAppTemplate->modifyCustomizationSettings();
id>/customizationSection                                                 customization information.
GET .../api/v1.0/vAppTemplate/<vapp-template-                     v0.9   Retrieves the network config section of a $sdkVAppTemplate->getNetworkConfigSettings();
id>/networkConfigSection                                                 vApp template.
GET .../api/v1.0/vAppTemplate/<vapp-template-id>/networkSection   v0.9   Retrieves the network section of a vApp $sdkVAppTemplate->getNetworkSettings();
                                                                         template.
GET .../api/v1.0/vAppTemplate/<vapp-template-id>/ovf              v0.9   Retrieves an OVF descriptor of a vApp $sdkVAppTemplate->downloadOVFFiles(); Or $service->get($url);
                                                                         template.

GET .../api/v1.0/network/<network-id>                             v0.9   Retrieves an organization network.        $sdkVdc->getAvailableNetworks();
List of vCloud Admin API Operations
                         Operation                     Since            Description                              PHP SDK method(s) for the operation
GET .../api/v1.0/admin                                 v0.9 Retrieves the top level entity for the $service->getAdmin(); Or
                                                             Admin API.                            $sdkAdmin = $service->createSDKAdminObj();
                                                                                                   $sdkAdmin->getVCloud();
GET .../api/v1.0/admin/providervdc/<provider-vdc-id>   v0.9 Get the representation of the          $sdkAdmin->getProviderVdcs();
                                                             Provider vDC.
GET .../api/v1.0/admin/providervdc/<provider-vdc-      v1.0 Retrieves all org vDCs for given       No direct method, do through $service->get($url);
id>/vdcReferences                                            provider vDC.

POST .../api/v1.0/admin/orgs                           v0.9   Creates an organization.              $sdkAdmin->createOrganization();
GET .../api/v1.0/admin/org/<org-id>                    v0.9   Retrieves an admin view of an         $sdkAdmin->getAdminOrgs(); Or
                                                              organization.                         $adminOrgRefs = $sdkAdmin->getAdminOrgRefs();
                                                                                                    $sdkAdminOrg = $service->createSDKObj($adminOrgRef);
                                                                                                    $sdkAdminOrg->getAdminOrg();
PUT .../api/v1.0/admin/org/<org-id>                    v0.9   Modifies an admin organization.       $sdkAdminOrg->modify();
DELETE .../api/v1.0/admin/org/<org-id>                 v0.9   Deletes an admin organization.        $sdkAdminOrg->delete();
POST .../api/v1.0/admin/org/<org-id>/action/enable     v1.0   Enables an admin organization.        $sdkAdminOrg->enable();
POST .../api/v1.0/admin/org/<org-id>/action/disable    v1.0   Disables an organization.             $sdkAdminOrg->disable();

POST .../api/v1.0/admin/org/<org-id>/vdcs              v0.9   Creates a virtual data center in an   $sdkAdminOrg->createAdminVdc();
                                                              organization.
GET .../api/v1.0/admin/vdc/<vdc-id>                    v0.9   Retrieves an admin view of virtual    $sdkAdminOrg->getAdminVdcs(); Or
                                                              data center.                          $adminVdcRefs = $sdkAdminOrg->getAdminVdcRefs();
                                                                                                    $sdkAdminVdc = $service->createSDKObj($adminVdcRef);
                                                                                                    $sdkAdminVdc->getAdminVdc();
PUT .../api/v1.0/admin/vdc/<vdc-id>                    v0.9   Modifies a Virtual Data Center.       $sdkAdminVdc->modify();
DELETE .../api/v1.0/admin/vdc/<vdc-id>                 v0.9   Deletes a Virtual Data Center.        $sdkAdminVdc->delete();

POST .../api/v1.0/admin/vdc/<vdc-id>/action/enable     v1.0   Enables a Virtual Data Center.        $sdkAdminVdc->enable();
POST .../api/v1.0/admin/vdc/<vdc-id>/action/disable    v1.0   Disables a Virtual Data Center.       $sdkAdminVdc->disable();

POST .../api/v1.0/admin/org/networks                   v0.9   Creates a network in an               $sdkAdminOrg->addOrgNetwork();
                                                              organization.
GET .../api/v1.0/admin/network/<network-id>            v0.9   Gets admin representation of          $sdkAdminOrg->getAdminNetworks(); Or
                                                              organization network.                 $adminNetworkRefs = $sdkAdminOrg->getAdminNetworkRefs();
                                                                                                    $sdkAdminNetwork = $service->createSDKObj($adminNetworkRef);
                                                                                                    $sdkAdminNetwork->getAdminNetwork();
PUT .../api/v1.0/admin/network/<network-id>            v0.9   Modifies an org network.              $sdkAdminNetwork->modify();
DELETE .../api/v1.0/admin/network/                     v0.9   Deletes a network.                    $sdkAdminNetwork->delete();

POST .../api/v1.0/admin/org/catalogs                   v0.9   Creates a catalog in an org.          $sdkAdminOrg->createCatalog();
GET .../api/v1.0/admin/catalog/<catalog-id>            v0.9   Retrieves a catalog.                  $sdkAdminOrg->getCatalogs(); Or
                                                                                                    $catalogRefs = $sdkAdminOrg->getcatalogRefs();
                                                                                                    $sdkAdminCatalog = $service->createSDKObj($catalogRef);
                                                                                                    $sdkAdminCatalog->getCatalog();
PUT .../api/v1.0/admin/catalog/<catalog-id>                   v0.9   Modifies a catalog.                   $sdkAdminCatalog->modify();
DELETE .../api/v1.0/admin/catalog/<catalog-id>                v0.9   Deletes a catalog.                    $sdkAdminCatalog->delete();
POST .../api/v1.0/admin/catalog/<catalog-id>/action/publish   v1.0   Publish a catalog.                    $sdkAdminCatalog->publish();

GET .../api/v1.0/admin/right/<right-id>                       v0.9   Retrieves a right.                    $sdkAdmin->getRights();

POST .../api/v1.0/admin/roles                                 v0.9   Creates a role.                       $sdkAdmin->createRole();
GET .../api/v1.0/admin/role/<role-id>                         v0.9   Retrieves a role.                     $sdkAdmin->getRoles(); Or
                                                                                                           $roleRefs = $sdkAdmin->getRoleRefs();
                                                                                                           $sdkRole = $service->createSDKObj($roleRef);
                                                                                                           $sdkRole->getRole();
PUT .../api/v1.0/admin/role/<role-id>                         v0.9   Modifies a role.                      $sdkRole->modify();
DELETE .../api/v1.0/admin/role/<role-id>                      v0.9   Deletes a role.                       $sdkRole->delete();

POST .../api/v1.0/admin/org/users                             v0.9   Creates or imports a user in an       $sdkAdminOrg->createUser();
                                                                     organization.
GET .../api/v1.0/admin/user/<user-id>                         v0.9   Retrieves a user.                     $sdkAdminOrg->getUsers(); Or
                                                                                                           $userRefs = $sdkAdminOrg->getUserRefs();
                                                                                                           $sdkUser = $service->createSDKObj($userRef);
                                                                                                           $sdkUser->getUser();
PUT .../api/v1.0/admin/user/<user-id>                         v0.9   Modifies a user.                      $sdkUser->modify();
DELETE .../api/v1.0/admin/user/<user-id>                      v0.9   Deletes a user.                       $sdkUser->delete();
                                                                     Enable a user.                        $sdkUser->enable();
                                                                     Disable a user.                       $sdkUser->disable();

POST .../api/v1.0/admin/org/groups                            v0.9   Imports a group in an organization.   $sdkAdminOrg->importGroup();
GET .../api/v1.0/admin/group/<group-id>                       v0.9   Retrieves a group.                    $sdkAdminOrg->getGroups(); Or
                                                                                                           $groupRefs = $sdkAdminOrg->getGroupRefs();
                                                                                                           $sdkGroup = $service->createSDKObj($groupRef);
                                                                                                           $sdkGroup->getGroup();
PUT .../api/v1.0/admin/group/<group-id>                       v0.9   Modifies a group.                     $sdkGroup->modify();
DELETE .../api/v1.0/admin/group/<groupd-id>                   v0.9   Deletes a group.                      $sdkGroup->delete();
List of vCloud Admin Extension Operations
                             Operation                              Since          Description                               PHP SDK method(s) for the operation
GET .../api/v1.0/admin/extension                                    v1.0 Get various links to access       $service->getAdminExtension(); Or
                                                                          extension API.                   $sdkExt = $service->createSDKExtensionObj();
                                                                                                           $ext = $sdkExt->getExtension();
GET .../api/v1.0/admin/extension/providerVdcReferences              v1.0   Get list of provider vDC        $vmwPvdcRefs = $sdkExt->getVMWProviderVdcRefs();
                                                                           references.
POST .../api/v1.0/admin/extension/providervdcs                      v0.9   Creates a provider vDC.         $sdkExt->createVMWProviderVdc();
GET .../api/v1.0/admin/extension/providervdc/<provider-vdc-id>      v0.9   Gets an extension               $sdkExt->getVMWProviderVdcs(); Or
                                                                           representation of provider vDC. $sdkExtVmwPvdc = $service->createSDKObj($vmwPvdcRef);
                                                                                                           $sdkExtVmwPvdc->getVMWProviderVdc();
PUT .../api/v1.0/admin/extension/providervdc/<provider-vdc-id>      v0.9   Modifies a provider vDC.        $sdkExtVmwPvdc->modify();
DELETE .../api/v1.0/admin/extension/providervdc/<provider-vdc-id>   v0.9   Deletes a provider vDC.         $sdkExtVmwPvdc->delete();
POST .../api/v1.0/admin/extension/providervdc/<provider-vdc-        v0.9   Enables a provider vDC.         $sdkExtVmwPvdc->enable();
id>/action/enable
POST .../api/v1.0/admin/extension/providervdc/<provider-vdc-        v0.9   Disables a provider vDC.        $sdkExtVmwPvdc->disable();
id>/action/disable

GET .../api/v1.0/admin/extension/externalNetworkReferences          v1.0   Get list of external network    $externalNetworkRefs = $sdkExt->getVMWExternalNetworkRefs();
                                                                           references.
POST .../api/v1.0/admin/extension/externalnets                      v1.0   Creates an external network.    $sdkExt->createVMWExternalNetwork();
GET .../api/v1.0/admin/extension/externalnet/<externalnet-id>       v1.0   Gets an extension view of       $sdkExt->getVMWExternalNetworks(); Or
                                                                           external network.               $sdkExtExternalNetwork = $service->createSDKObj($externalNetworkRef);
                                                                                                           $sdkExtExternalNetwork->getExternalNetwork();
PUT .../api/v1.0/admin/extension/externalnet/<externalnet-id>       v1.0   Modifies an external network.   $sdkExtExternalNetwork->modify();
DELETE .../api/v1.0/admin/extension/externalnet/<externalnet-id>    v1.0   Deletes an external network.    $sdkExtExternalNetwork->delete();

GET .../api/v1.0/admin/extension/networkPoolReferences              v1.0   Get list of network pool        $networkPoolRefs = $sdkExt->getVMWNetworkPoolRefs();
                                                                           references.
POST .../api/v1.0/admin/extension/networkPools                      v0.9   Creates a network pool.         $sdkExt->createVMWNetworkPool();
GET .../api/v1.0/admin/extension/networkPool/<network-pool-id>      v0.9   Gets a network pool.            $sdkExt->getVMWNetworkPools(); Or
                                                                                                           $sdkExtNetworkPool = $service->createSDKObj($networkPoolRef);
                                                                                                           $sdkExtNetworkPool->getVMWNetworkPool();
PUT .../api/v1.0/admin/extension/networkPool/<network-pool-id>      v0.9   Modifies a network pool.        $sdkExtNetworkPool->modify();
DELETE .../api/v1.0/admin/extension/networkPool/<network-pool-id>   v0.9   Deletes a network pool.         $sdkExtNetworkPool->delete();

GET .../api/v1.0/admin/extension/vimServerReferences                v1.0   Get list of vSphere server    $vimServerRefs = $sdkExt->getVimServerRefs();
                                                                           references.
POST .../api/v1.0/admin/extension/action/registervimserver          v0.9   Register a vSphere server and $sdkExt->registerVimServer();
                                                                           shield manager.
GET .../api/v1.0/admin/extension/vimServer/<vim-server-id>          v0.9   Gets a vSphere server.          $sdkExt->getVimServers(); Or
                                                                                                           $sdkExtVimServer = $service->createSDKObj($vimServerRef);
                                                                                                           $sdkExtVimServer->getVimServer();
PUT .../api/v1.0/admin/extension/vimServer/<vim-server-id>          v0.9   Modifies a vSphere server.      $sdkExtVimServer->modify();
POST .../api/v1.0/admin/extension/vimServer/<vim-server-            v0.9   Unregisters a vSphere server.    $sdkExt->unregisterVimServer();
id>/action/unregister
POST .../api/v1.0/admin/extension/vimServer/<vim-server-            v1.0   Imports a vSphere server VM      $sdkExtVimServer->importVmAsVApp();
id>/importVmAsVApp                                                         as vApp.
POST .../api/v1.0/admin/extension/vimServer/<vim-server-            v1.0   Imports a vSphere server VM      $sdkExtVimServer->importVmAsVAppTemplate();
id>/importVmAsVAppTemplate                                                 as vApp template.
POST .../api/v1.0/admin/extension/vimServer/<vim-server-            v1.0   Forces a vSphere server to       $sdkExtVimServer->forceReconnect();
id>/action/forcevimserverreconnect                                         reconnect.
GET .../api/v1.0/admin/extension/vimServer/<vim-server-             v1.0   Lists available VMs for import   $sdkExtVimServer->getVmRefsListByPage();
id>/vmsList?page=1&pageSize=100                                            from a vSphere server.
GET .../api/v1.0/admin/extension/vimServer/<vim-server-             v1.0   Lists free resource pools in a   $sdkExtVimServer->getResourcePoolRefs();
id>/resourcePoolList                                                       vSphere server.
                                                                                                            $sdkExtVimServer->enable();
                                                                                                            $sdkExtVimServer->disable();

GET .../api/v1.0/admin/extension/hostReferences                     v1.0   Get list of host references.     $hostRefs = $sdkExt->getHostRefs();
GET .../api/v1.0/admin/extension/host/<host-id>                     v1.0   Gets a host.                     $sdkExt->getHosts(); Or
                                                                                                            $sdkExtHost = $service->createSDKObj($hostRef);
                                                                                                            $sdkExtHost->getHost();
POST .../api/v1.0/admin/extension/host/<host-id>/action/enable      v0.9   Enables a host.                  $sdkExtHost->enable();
POST .../api/v1.0/admin/extension/host/<host-id>/action/disable     v0.9   Disables a host.                 $sdkExtHost->disable();
POST .../api/v1.0/admin/extension/host/<host-id>/action/prepare     v0.9   Prepares a host.                 $sdkExtHost->prepare();
POST .../api/v1.0/admin/extension/host/<host-id>/action/unprepare   v0.9   Unprepares a host.               $sdkExtHost->unprepare();
POST .../api/v1.0/admin/extension/host/<host-id>/action/repair      v1.0   Repairs a host.                  $sdkExtHost->repair();
POST .../api/v1.0/admin/extension/host/<host-id>/action/upgrade     v1.0   Upgrades the host agent.         $sdkExtHost->upgrade();

GET .../api/v1.0/admin/extension/licensing/reports                  v1.0   Lists the licensing reports.     No direct method, do through $service->get($url);
GET .../api/v1.0/admin/extension/licensing/report/<report-id>       v1.0   Gets a licensing report.         No direct method, do through $service->get($url);

Mais conteúdo relacionado

Mais procurados

Spring Portlet MVC
Spring Portlet MVCSpring Portlet MVC
Spring Portlet MVCJohn Lewis
 
Spring MVC
Spring MVCSpring MVC
Spring MVCyuvalb
 
Spring Web Service, Spring JMS, Eclipse & Maven tutorials
Spring Web Service, Spring JMS, Eclipse & Maven tutorialsSpring Web Service, Spring JMS, Eclipse & Maven tutorials
Spring Web Service, Spring JMS, Eclipse & Maven tutorialsRaghavan Mohan
 
Spring IOC advantages and developing spring application sample
Spring IOC advantages and developing spring application sample Spring IOC advantages and developing spring application sample
Spring IOC advantages and developing spring application sample Sunil kumar Mohanty
 
Spring 3.x - Spring MVC
Spring 3.x - Spring MVCSpring 3.x - Spring MVC
Spring 3.x - Spring MVCGuy Nir
 
Spring Framework - MVC
Spring Framework - MVCSpring Framework - MVC
Spring Framework - MVCDzmitry Naskou
 
Introduction to Vaadin
Introduction to VaadinIntroduction to Vaadin
Introduction to Vaadinnetomi
 
Lecture 11. Microsoft mobile services
Lecture 11. Microsoft mobile servicesLecture 11. Microsoft mobile services
Lecture 11. Microsoft mobile servicesMaksym Davydov
 
Using the Tooling API to Generate Apex SOAP Web Service Clients
Using the Tooling API to Generate Apex SOAP Web Service ClientsUsing the Tooling API to Generate Apex SOAP Web Service Clients
Using the Tooling API to Generate Apex SOAP Web Service ClientsDaniel Ballinger
 
Hibernate Developer Reference
Hibernate Developer ReferenceHibernate Developer Reference
Hibernate Developer ReferenceMuthuselvam RS
 

Mais procurados (20)

Spring Portlet MVC
Spring Portlet MVCSpring Portlet MVC
Spring Portlet MVC
 
Spring MVC
Spring MVCSpring MVC
Spring MVC
 
The most basic inline tag
The most basic inline tagThe most basic inline tag
The most basic inline tag
 
Spring Web Service, Spring JMS, Eclipse & Maven tutorials
Spring Web Service, Spring JMS, Eclipse & Maven tutorialsSpring Web Service, Spring JMS, Eclipse & Maven tutorials
Spring Web Service, Spring JMS, Eclipse & Maven tutorials
 
Spring Core
Spring CoreSpring Core
Spring Core
 
Spring IOC advantages and developing spring application sample
Spring IOC advantages and developing spring application sample Spring IOC advantages and developing spring application sample
Spring IOC advantages and developing spring application sample
 
Exploring Maven SVN GIT
Exploring Maven SVN GITExploring Maven SVN GIT
Exploring Maven SVN GIT
 
Pragmatic orchard
Pragmatic orchardPragmatic orchard
Pragmatic orchard
 
IoC with PHP
IoC with PHPIoC with PHP
IoC with PHP
 
Spring 3.x - Spring MVC
Spring 3.x - Spring MVCSpring 3.x - Spring MVC
Spring 3.x - Spring MVC
 
Spring Basics
Spring BasicsSpring Basics
Spring Basics
 
Spring Framework - MVC
Spring Framework - MVCSpring Framework - MVC
Spring Framework - MVC
 
Angular modules in depth
Angular modules in depthAngular modules in depth
Angular modules in depth
 
Introduction to Vaadin
Introduction to VaadinIntroduction to Vaadin
Introduction to Vaadin
 
Spring WebApplication development
Spring WebApplication developmentSpring WebApplication development
Spring WebApplication development
 
Spring MVC
Spring MVCSpring MVC
Spring MVC
 
Lecture 11. Microsoft mobile services
Lecture 11. Microsoft mobile servicesLecture 11. Microsoft mobile services
Lecture 11. Microsoft mobile services
 
Using the Tooling API to Generate Apex SOAP Web Service Clients
Using the Tooling API to Generate Apex SOAP Web Service ClientsUsing the Tooling API to Generate Apex SOAP Web Service Clients
Using the Tooling API to Generate Apex SOAP Web Service Clients
 
Spring MVC 3.0 Framework
Spring MVC 3.0 FrameworkSpring MVC 3.0 Framework
Spring MVC 3.0 Framework
 
Hibernate Developer Reference
Hibernate Developer ReferenceHibernate Developer Reference
Hibernate Developer Reference
 

Destaque

Software Vendor Accrediations
Software Vendor AccrediationsSoftware Vendor Accrediations
Software Vendor Accrediationsashguth
 
Corporate citizenship at Microsoft
Corporate citizenship at MicrosoftCorporate citizenship at Microsoft
Corporate citizenship at MicrosoftMASIT MACEDONIA
 
HP Presentation
HP PresentationHP Presentation
HP PresentationJames Han
 
VMware Partner Exchange - 2014 Meet our Product Experts Hands-on Labs
VMware Partner Exchange - 2014 Meet our Product Experts Hands-on LabsVMware Partner Exchange - 2014 Meet our Product Experts Hands-on Labs
VMware Partner Exchange - 2014 Meet our Product Experts Hands-on LabsPablo Roesch
 
VENDOR ACCREDITATIONS
VENDOR ACCREDITATIONSVENDOR ACCREDITATIONS
VENDOR ACCREDITATIONSFiaz27
 
New aspects of Cisco UC Interoperability
New aspects of Cisco UC InteroperabilityNew aspects of Cisco UC Interoperability
New aspects of Cisco UC InteroperabilityCisco Canada
 
Hp networking-and-cisco-cli-reference-guide june-10_ww_eng_ltr
Hp networking-and-cisco-cli-reference-guide june-10_ww_eng_ltrHp networking-and-cisco-cli-reference-guide june-10_ww_eng_ltr
Hp networking-and-cisco-cli-reference-guide june-10_ww_eng_ltrElier Escobedo
 
Global Corporate Citizenship
Global Corporate CitizenshipGlobal Corporate Citizenship
Global Corporate Citizenshiprajnikant
 
Enterprise Mobility Suite-Microsoft Intune
Enterprise Mobility Suite-Microsoft IntuneEnterprise Mobility Suite-Microsoft Intune
Enterprise Mobility Suite-Microsoft IntuneLai Yoong Seng
 
Presentation CISCO & HP
Presentation CISCO & HPPresentation CISCO & HP
Presentation CISCO & HPAbhijat Dhawal
 
Обзор Cisco UCCX 11
Обзор Cisco UCCX 11Обзор Cisco UCCX 11
Обзор Cisco UCCX 11Cisco Russia
 
Microsoft Intune - Empowering Enterprise Mobility - Presented by Atidan
Microsoft Intune - Empowering Enterprise Mobility - Presented by Atidan Microsoft Intune - Empowering Enterprise Mobility - Presented by Atidan
Microsoft Intune - Empowering Enterprise Mobility - Presented by Atidan David J Rosenthal
 
Cisco Systems Digital Marketing Strategy
Cisco Systems Digital Marketing StrategyCisco Systems Digital Marketing Strategy
Cisco Systems Digital Marketing StrategyGina Juarez
 

Destaque (17)

Software Vendor Accrediations
Software Vendor AccrediationsSoftware Vendor Accrediations
Software Vendor Accrediations
 
Corporate citizenship at Microsoft
Corporate citizenship at MicrosoftCorporate citizenship at Microsoft
Corporate citizenship at Microsoft
 
HP Presentation
HP PresentationHP Presentation
HP Presentation
 
VMware Partner Exchange - 2014 Meet our Product Experts Hands-on Labs
VMware Partner Exchange - 2014 Meet our Product Experts Hands-on LabsVMware Partner Exchange - 2014 Meet our Product Experts Hands-on Labs
VMware Partner Exchange - 2014 Meet our Product Experts Hands-on Labs
 
VENDOR ACCREDITATIONS
VENDOR ACCREDITATIONSVENDOR ACCREDITATIONS
VENDOR ACCREDITATIONS
 
New aspects of Cisco UC Interoperability
New aspects of Cisco UC InteroperabilityNew aspects of Cisco UC Interoperability
New aspects of Cisco UC Interoperability
 
Hp networking-and-cisco-cli-reference-guide june-10_ww_eng_ltr
Hp networking-and-cisco-cli-reference-guide june-10_ww_eng_ltrHp networking-and-cisco-cli-reference-guide june-10_ww_eng_ltr
Hp networking-and-cisco-cli-reference-guide june-10_ww_eng_ltr
 
Global Corporate Citizenship
Global Corporate CitizenshipGlobal Corporate Citizenship
Global Corporate Citizenship
 
Digital Demand Gen Case Study for Cisco India
Digital Demand Gen Case Study for Cisco IndiaDigital Demand Gen Case Study for Cisco India
Digital Demand Gen Case Study for Cisco India
 
Hp presentation
Hp presentationHp presentation
Hp presentation
 
Enterprise Mobility Suite-Microsoft Intune
Enterprise Mobility Suite-Microsoft IntuneEnterprise Mobility Suite-Microsoft Intune
Enterprise Mobility Suite-Microsoft Intune
 
Presentation CISCO & HP
Presentation CISCO & HPPresentation CISCO & HP
Presentation CISCO & HP
 
Обзор Cisco UCCX 11
Обзор Cisco UCCX 11Обзор Cisco UCCX 11
Обзор Cisco UCCX 11
 
Cisco systems
Cisco systemsCisco systems
Cisco systems
 
Microsoft Intune - Empowering Enterprise Mobility - Presented by Atidan
Microsoft Intune - Empowering Enterprise Mobility - Presented by Atidan Microsoft Intune - Empowering Enterprise Mobility - Presented by Atidan
Microsoft Intune - Empowering Enterprise Mobility - Presented by Atidan
 
Cisco Systems Digital Marketing Strategy
Cisco Systems Digital Marketing StrategyCisco Systems Digital Marketing Strategy
Cisco Systems Digital Marketing Strategy
 
Windows intune
Windows intuneWindows intune
Windows intune
 

Semelhante a vCloud SDK for PHP - Introduction

Folio3 - An Introduction to PHP Yii
Folio3 - An Introduction to PHP YiiFolio3 - An Introduction to PHP Yii
Folio3 - An Introduction to PHP YiiFolio3 Software
 
Integrating Security Roles into Microsoft Silverlight Applications
Integrating Security Roles into Microsoft Silverlight ApplicationsIntegrating Security Roles into Microsoft Silverlight Applications
Integrating Security Roles into Microsoft Silverlight ApplicationsDan Wahlin
 
Symfony2 - from the trenches
Symfony2 - from the trenchesSymfony2 - from the trenches
Symfony2 - from the trenchesLukas Smith
 
From framework coupled code to #microservices through #DDD /by @codelytv
From framework coupled code to #microservices through #DDD /by @codelytvFrom framework coupled code to #microservices through #DDD /by @codelytv
From framework coupled code to #microservices through #DDD /by @codelytvCodelyTV
 
Integrating Wicket with Java EE 6
Integrating Wicket with Java EE 6Integrating Wicket with Java EE 6
Integrating Wicket with Java EE 6Michael Plöd
 
Symfony2 from the Trenches
Symfony2 from the TrenchesSymfony2 from the Trenches
Symfony2 from the TrenchesJonathan Wage
 
De 03 Introduction To V Cloud Api V1
De 03 Introduction To V Cloud Api V1De 03 Introduction To V Cloud Api V1
De 03 Introduction To V Cloud Api V1ikewu83
 
Symfony tips and tricks
Symfony tips and tricksSymfony tips and tricks
Symfony tips and tricksJavier Eguiluz
 
Multi Client Development with Spring
Multi Client Development with SpringMulti Client Development with Spring
Multi Client Development with SpringJoshua Long
 
Migrate yourself. code -> module -> mind
Migrate yourself. code -> module -> mindMigrate yourself. code -> module -> mind
Migrate yourself. code -> module -> mindValentine Matsveiko
 
Валентин Мацвейко та Владислав Мойсеєнко — D8: Migrate Yourself: code->module...
Валентин Мацвейко та Владислав Мойсеєнко — D8: Migrate Yourself: code->module...Валентин Мацвейко та Владислав Мойсеєнко — D8: Migrate Yourself: code->module...
Валентин Мацвейко та Владислав Мойсеєнко — D8: Migrate Yourself: code->module...LEDC 2016
 
Workshop: Building Vaadin add-ons
Workshop: Building Vaadin add-onsWorkshop: Building Vaadin add-ons
Workshop: Building Vaadin add-onsSami Ekblad
 
Dependency Injection, Zend Framework and Symfony Container
Dependency Injection, Zend Framework and Symfony ContainerDependency Injection, Zend Framework and Symfony Container
Dependency Injection, Zend Framework and Symfony ContainerDiego Lewin
 
Jasigsakai12 columbia-customizes-cas
Jasigsakai12 columbia-customizes-casJasigsakai12 columbia-customizes-cas
Jasigsakai12 columbia-customizes-casellentuck
 
Introduction to Spring Framework
Introduction to Spring FrameworkIntroduction to Spring Framework
Introduction to Spring FrameworkRajind Ruparathna
 

Semelhante a vCloud SDK for PHP - Introduction (20)

Yii Introduction
Yii IntroductionYii Introduction
Yii Introduction
 
Folio3 - An Introduction to PHP Yii
Folio3 - An Introduction to PHP YiiFolio3 - An Introduction to PHP Yii
Folio3 - An Introduction to PHP Yii
 
Integrating Security Roles into Microsoft Silverlight Applications
Integrating Security Roles into Microsoft Silverlight ApplicationsIntegrating Security Roles into Microsoft Silverlight Applications
Integrating Security Roles into Microsoft Silverlight Applications
 
Symfony2 - from the trenches
Symfony2 - from the trenchesSymfony2 - from the trenches
Symfony2 - from the trenches
 
From framework coupled code to #microservices through #DDD /by @codelytv
From framework coupled code to #microservices through #DDD /by @codelytvFrom framework coupled code to #microservices through #DDD /by @codelytv
From framework coupled code to #microservices through #DDD /by @codelytv
 
Google app engine by example
Google app engine by exampleGoogle app engine by example
Google app engine by example
 
Integrating Wicket with Java EE 6
Integrating Wicket with Java EE 6Integrating Wicket with Java EE 6
Integrating Wicket with Java EE 6
 
Symfony2 from the Trenches
Symfony2 from the TrenchesSymfony2 from the Trenches
Symfony2 from the Trenches
 
De 03 Introduction To V Cloud Api V1
De 03 Introduction To V Cloud Api V1De 03 Introduction To V Cloud Api V1
De 03 Introduction To V Cloud Api V1
 
WebGUI Developers Workshop
WebGUI Developers WorkshopWebGUI Developers Workshop
WebGUI Developers Workshop
 
Symfony tips and tricks
Symfony tips and tricksSymfony tips and tricks
Symfony tips and tricks
 
Multi Client Development with Spring
Multi Client Development with SpringMulti Client Development with Spring
Multi Client Development with Spring
 
Migrate yourself. code -> module -> mind
Migrate yourself. code -> module -> mindMigrate yourself. code -> module -> mind
Migrate yourself. code -> module -> mind
 
Валентин Мацвейко та Владислав Мойсеєнко — D8: Migrate Yourself: code->module...
Валентин Мацвейко та Владислав Мойсеєнко — D8: Migrate Yourself: code->module...Валентин Мацвейко та Владислав Мойсеєнко — D8: Migrate Yourself: code->module...
Валентин Мацвейко та Владислав Мойсеєнко — D8: Migrate Yourself: code->module...
 
Workshop: Building Vaadin add-ons
Workshop: Building Vaadin add-onsWorkshop: Building Vaadin add-ons
Workshop: Building Vaadin add-ons
 
JavaCro'14 - Building interactive web applications with Vaadin – Peter Lehto
JavaCro'14 - Building interactive web applications with Vaadin – Peter LehtoJavaCro'14 - Building interactive web applications with Vaadin – Peter Lehto
JavaCro'14 - Building interactive web applications with Vaadin – Peter Lehto
 
Dependency Injection, Zend Framework and Symfony Container
Dependency Injection, Zend Framework and Symfony ContainerDependency Injection, Zend Framework and Symfony Container
Dependency Injection, Zend Framework and Symfony Container
 
Jasigsakai12 columbia-customizes-cas
Jasigsakai12 columbia-customizes-casJasigsakai12 columbia-customizes-cas
Jasigsakai12 columbia-customizes-cas
 
Backbone js
Backbone jsBackbone js
Backbone js
 
Introduction to Spring Framework
Introduction to Spring FrameworkIntroduction to Spring Framework
Introduction to Spring Framework
 

Último

ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 

Último (20)

ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 

vCloud SDK for PHP - Introduction

  • 1. VMware vCloud SDK for PHP Kimberly Wang (kwang@vmware.com) Ecosystem Engineering, VMware, Inc. 09/2010 © 2009 VMware Inc. All rights reserved
  • 2. Agenda Introduction to VMware vCloud SDK for PHP Writing your first program using the SDK Pre-requisite Familiarity with VMware vCloud API and the cloud resource model Familiarity with PHP, REST 2
  • 3. Features Make the VMware vCloud REST API available in PHP Provides vCloud client library for vCloud resource entities access and management Hide REST, XML processing to the user Straight forward SDK API allows user easily create a new or extend an existing application with VMware vCloud Director 3
  • 4. SDK Components VMware_VCloud_API packages Classes are generated from VMware vCloud REST API schema files. Each class maps to a complexType defined in the schema file. Contains all the types defined in vCloud API, vCloud administrative API and vCloud administrative extension API. Objects of these classes are referred to as vCloud data objects. VMware_VCloud_SDK packages Classes map to vCloud resource entities, for the lifecycle (CURD) of the entities HTTP request/response classes Utility functions Objects of these classes are referred to as vCloud SDK objects. 4
  • 5. VMware_VCloud_API Packages VMware_VCloud_API Packages
  • 6. VMware_VCloud_API Packages Packages are defined based on schema namespaces VMware_VCloud_API VMware_VCloud_API_OVF VMware_VCloud_API_Extension VMware_VCloud_API_Version
  • 7. VMware_VCloud_API Classes Major classes support vCloud user API VMware_VCloud_API_OrgType VMware_VCloud_API_VdcType VMware_VCloud_API_VAppType VMware_VCloud_API_VmType VMware_VCloud_API_VAppTemplateType VMware_VCloud_API_CatalogType VMware_VCloud_API_CatalogItemType VMware_VCloud_API_MediaType VMware_VCloud_API_OrgNetworkType VMware_VCloud_API_TaskType VMware_VCloud_API_FileType 7
  • 8. VMware_VCloud_API Classes (Continued) Major classes support vCloud administrative API VMware_VCloud_API_VCloudType VMware_VCloud_API_AdminOrgType VMware_VCloud_API_AdminVdcType VMware_VCloud_API_RoleType VMware_VCloud_API_RightType VMware_VCloud_API_UserType VMware_VCloud_API_GroupType VMware_VCloud_API_CatalogType VMware_VCloud_API_OrgNetworkType 8
  • 9. VMware_VCloud_API Classes (Continued) Major classes support vCloud administrative extension API VMware_VCloud_API_Extension_HostType VMware_VCloud_API_Extension_VimServerType VMware_VCloud_API_Extension_ShieldManagerType VMware_VCloud_API_Extension_VMWProviderVdcType VMware_VCloud_API_Extension_VMWNetworkPoolType VMware_VCloud_API_Extension_VMWExternalNetworkType VMware_VCloud_API_Extension_VMWExtensionType VMware_VCloud_API_Extension_ResourcePoolType VMware_VCloud_API_Extension_PortGroupPoolType VMware_VCloud_API_Extension_FencePoolType VMware_VCloud_API_Extension_VlanPoolType
  • 10. VMware_VCloud_API Classes (Continued) Other classes VMware_VCloud_API_ErrorType -- For error message in VMware vCloud Director VMware_VCloud_API_ReferenceType – For reference to a vCloud entity VMware_VCloud_API_ParamsType -- Base class used to specify parameters Examples of subclasses • VMware_VCloud_API_VAppCreationParamsType • VMware_VCloud_API_ComposeVAppParamsType. VMware_VCloud_API_OVF_Section_Type -- Base class for sections used in VAppType, VAppTemplateType, etc. Examples of subclasses • VMware_VCloud_API_OVF_OperatingSystemSection_Type • VMware_VCloud_API_OVF_VirtualHardwareSection_Type 10
  • 11. VMware_VCloud_API Class – Details (Continued) Each class contains a constructor method. Parameter list consists of attributes of the class and its parent class, and all the way up to its root class. Each class contains setter and getter methods for XML element attributes and child elements accessing. naming convention (use setters as examples). • set_<attribute>: for example, set_name($name). • set<Child Element>: for example, setFullName($fullname). Each class contains export() and build() methods. export() – for exporting object to an XML string. build() – for parsing an XML string to vCloud data object. The SDK can parse the XML string automatically to a data object. 11
  • 12. Creating a vCloud Data Object Two ways to create a data object Start with an constructor without parameters, then invoke the setter methods to set the parameters. For example, • $ref = new VMware_VCloud_API_ReferenceType(); $ref->set_href($href); $ref->set_type($type); $ref->set_name($name); Invoke the constructor with parameters. For example, • $ref = new VMware_VCloud_SDK_API_ReferenceType($href, $type, $name); 12
  • 13. Creating a Data Object - Using the SDK API Documentation Using VMware_VCloud_API_AdminOrgType as an example, describes how to create a data object with the help of the SDK API documentation. 1. Select the VMware_VCloud_API from the “packages” drop down menu. 2. Select class VMware_VCloud_API_AdminOrgType in the left pane. 3. Go to the “Method Summary” section in the right pane, select and navigate to the constructor, __construct(), method link. 4. Look for “required” object attributes. $name, $FullName, $Settings are required for constructing a VMware_VCloud_API_AdminOrgType data object. 5. $name and $FullName contain string values, set them with set_name($name) and setFullName($fullname) methods respectively. $name and $fullname are given by the caller. 6. $Settings is a VMware_VCloud_API_OrgSettingsType data object. To get its parameters information, repeat with step 4, looking for the required object attributes. $IsEnabled, $CanPublishCatalogs and $OrgLdapMode are required for constructing the object. 13
  • 14. Creating a Data Object - Using the SDK API Documentation (Cont.) 7. $IsEnabled and $CanPublishCatalogs contain boolean values, set with setIsEnabled($enable) and setCanPublishCatalogs($publish) methods respectively. $enable and $publish are decided by the caller. 8. $OrgLdapMode contains a string value. The “allowed values” restricts its value has to be one of the following, ‘NONE’, ‘SYSTEM’, ‘CUSTOM’. 14
  • 15. Creating a Data Object - Using the SDK API Documentation (Cont.) As a summary, here is the code to create a VMware_VCloud_API_AdminOrgType data object. $adminOrg = new VMware_VCloud_API_AdminOrgType(); $adminOrg->set_name(‘myOrg’); $adminOrg->setFullName(‘my org fullname’); $settings = new VMware_VCloud_API_OrgSettingsType(); $settings->setIsEnabled(true); $settings->setCanPublishCatalogs(true); $settings->setOrgLdapMode(‘NONE’); $adminOrg->setSettings($settings);
  • 16. VMware_VCloud_SDK Packages VMware_VCloud_SDK Packages
  • 17. VMware_VCloud_SDK Packages Three packages VMware_VCloud_SDK user and administrative operations VMware_VCloud_SDK_Extension admin extension operations VMware_VCloud_SDK_Http HTTP request/response
  • 18. VMware_VCloud_SDK Classes Classes support vCloud user level operations VMware_VCloud_SDK_Org -- entry point for references to other resource entities VMware_VCloud_SDK_Vdc VMware_VCloud_SDK_VApp VMware_VCloud_SDK_Vm VMware_VCloud_SDK_VAppTemplate VMware_VCloud_SDK_Catalog VMware_VCloud_SDK_CatalogItem VMware_VCloud_SDK_Media VMware_VCloud_SDK_Network 18
  • 19. VMware_VCloud_SDK Classes (Continued) Classes support vCloud administrative level operations VMware_VCloud_SDK_Admin -- admin entry point VMware_VCloud_SDK_AdminOrg VMware_VCloud_SDK_AdminVdc VMware_VCloud_SDK_Role VMware_VCloud_SDK_User VMware_VCloud_SDK_Group VMware_VCloud_SDK_AdminCatalog VMware_VCloud_SDK_AdminNetwork Other classes VMware_VCloud_SDK_Service -- SDK entry point, login/logout, etc. VMware_VCloud_SDK_Factory -- Handles SDK objects creation VMware_VCloud_SDK_Exception 19
  • 20. VMware_VCloud_SDK_Extension Classes Classes support vCloud administrative extension level operations VMware_VCloud_SDK_Extension -- admin extension entry point VMware_VCloud_SDK_Extension_Host VMware_VCloud_SDK_Extension_VimServer VMware_VCloud_SDK_Extension_VMWExternalNetwork VMware_VCloud_SDK_Extension_VMWNetworkPool VMware_VCloud_SDK_Extension_VMWProviderVdc 20
  • 21. VMware_VCloud_SDK_Http Classes Classes support HTTP request and response VMware_VCloud_SDK_Http_Client VMware_VCloud_SDK_Http_Exception Default client implementation uses PEAR HTTP_Request2 library Users can use their own choices by extending the following interfaces. VMware_VCloud_SDK_Http_Client_Interface VMware_VCloud_SDK_Http_Response_Interface 21
  • 22. Creating an SDK Object To create a user operation entry point, VMware_VCloud_SDK_Org object $orgRefs = $service->getOrgRefs($orgName); $sdkOrg = $service->createSDKObj($orgRefs[0]); To create an admin operation entry point, VMware_VCloud_SDK_Admin object $sdkAdminObj = $service->createSDKAdminObj(); To create an admin extension operation entry point, VMware_VCloud_SDK_Extension object $sdkExtObj = $service->createSDKExtensionObj(); To create other SDK objects $sdkObj = $service->createSDKObj($ref); $ref is a ReferenceType or LinkType data object or a resource entity URL string. For how to trace down to get a referenceType object, refer to the next slides. 22
  • 23. Creating a VMware vCloud SDK Object (Continued) The following table lists how to get a ReferenceType object to create an SDK object. Note, the package name of the SDK object is omitted. The formula is, $reference = [column2 SDK obj] -> [column 3 SDK method]; [column 1 SDK obj] = $service->createSDKObj($reference); SDK Object to Container Object of the Method to be Invoked on the SDK Container Create SDK Object to Create Object Org Service getOrgRefs(), getSystemOrgRef(), getAdminSystemOrgRef() Vdc Org getVdcRefs() Catalog Org getCatalogRefs() Network Org getOrgNetworkRefs() VApp Vdc getVAppRefs() VAppTemplate Vdc getVAppTemplateRefs() Media Vdc getMediaRefs() CatalogItem Catalog getCatalogItemRefs() VApp VApp getContainedVAppRefs() Vm VApp getContainedVmRefs() 23
  • 24. Create a VMware vCloud SDK Object (Continued) SDK Object to Container Object of the Method to be Invoked on the SDK Container Create SDK Object to Create Object AdminOrg Admin getAdminOrgRefs() ExternalNetwork Admin getExternalNetworkRefs() Role Admin getRoleRefs() <No SDK object> Admin getRightRefs() <No SDK object> Admin getProviderVdcRefs() AdminVdc AdminOrg getAdminVdcsRefs() AdminCatalog AdminOrg getAdminCatalogRefs() Group AdminOrg getGroupRefs() User AdminOrg getUserRefs() AdminNetwork AdminOrg getAdminNetworkRefs() CatalogItem AdminCatalog getCatalogItemRefs() 24
  • 25. Create a VMware vCloud SDK Object (Continued) SDK Object to Create Container Object of the Method to be Invoked on the SDK SDK Object to Create Container Object Extension_VMWProviderVdc Extension getVMWProviderVdcRefs() Extension_VMWExternalNetwork Extension getVMWExternalNetworkRefs() Extension_VMWNetworkPool Extension getVMWNetworkPoolRefs() Extension_VimServer Extension getVimServerRefs() Extension_Host Extension getHostRefs() <No SDK object> Extension_VMWProviderVdc getNetworkPoolRefs() <No SDK object> Extension_VimServer getResourcePoolRefs() 25
  • 26. VMware_VCloud_SDK Classes – Details (Continued) Methods are defined to retrieve, create, modify or delete vCloud entities Methods for retrieving a vCloud entities are defined in the SDK mapped container class of the entity. For example, getVdcs() is defined in VMware_VCloud_SDK_Org class. For retrieving entities, usually each entity type has two methods, • get<Entity>Refs() -- Get the references to the entities in an array. For example, getVdcRefs() • get<Entity>s() -- Get the entity data objects in an array. For example, getVdcs(). Methods for creating a vCloud entities are defined in the SDK mapped container class. For example, to upload an OVF package to vCloud as a vAppTemplate, method uploadOVFAsVAppTemplate() is defined in VMware_VCloud_SDK_Vdc class. Methods for modifying or deleting a vCloud entity are defined in the SDK mapped class itself. For supported operations, please refer to the SDK API reference documentation or VMware vCloud API Guide. 26
  • 27. Use the SDK User can create SDK objects and use methods defined in the SDK objects to create, retrieve, update, delete vCloud entities. When user needs to access attributes of vCloud entities, or to construct a data object used for sending a request to vCloud, use data objects directly. For example, To get the name of an organization, invoke get_name() method on a VMware_VCloud_API_OrgType data object. To construct a ParamType data object for a clone operation. 27
  • 28. First Program using SDK – Login Log into a VMware vCloud service portal To get a service object $service = VMware_VCloud_SDK_Service::getService(); Log in • $service->login($server, $auth, $httpConfig)*; * If proxy and/or SSL certificate are used, configure the $httpConfig array. For details, refer to config.php under the samples directory in the SDK package and HTTP_Request2 documentation. Successful login returns a list of references to all the organizations that the user has access to. $orgListObj = $service->login($server, $auth, $httpConfig); 28
  • 29. Sample Code This example demonstrates how to get and power on a virtual machine. For simplicity, it always pick the first element of an array. <?php require_once 'config.php'; // includes all needed libraries and parameters setting $service = VMware_VCloud_SDK_Service::getService(); $service->login ($server, $auth, $httpConfig); $orgRefs = $service->getOrgRefs(); //get references for vCloud organization entities $sdkOrg = $service->createSDKObj($orgRefs[0]); // create an SDK Org object $vdcRefs = $sdkOrg->getVdcRefs(); // get references to vCloud vDC entities $sdkVdc = $service->createSDKObj($vdcRefs[0]); // create an SDK vDC object $vAppRefs = $sdkVdc->getVAppRefs(); // get references to vCloud vApp entities $sdkVApp = $service->createSDKObj($vAppRefs[0]); // create an SDK vApp object $vmRefs = $sdkVApp->getContainedVmRefs(); // get contained Vms $sdkVm = $service->createSDKObj($vmRefs[0]); // create an SDK Vm object $sdkVm->powerOn(); // power on the Vm ?> 29
  • 30. References VMware vCloud SDK for PHP operations and methods reference
  • 31. List of vCloud User API Operations Operation Since Description PHP SDK method(s) for the operation GET .../api/versions v0.9 Retrieves the version information. $service->getAPIVersion(); GET .../api/v1.0/schema/<schema_file_name> v0.9 Retrieves a schema file. No direct method, do through $service->get($url); POST .../api/v1.0/login v0.9 Login with HTTP POST request. $service->login(); POST .../api/v1.0/logout v0.9 Logs out the user and invalidates the $service->logout(); authentication token returned by login. GET .../api/v1.0/org v0.9 Retrieves a list of organizations. $service->getOrgRefs(); GET .../api/v1.0/org/<org-id> v0.9 Retrieves an organization. $service->getOrgs(); GET .../api/v1.0/vdc/<vdc-id> v0.9 Retrieves a virtual data center. $sdkOrg->getVdcs(); POST .../api/v1.0/vdc/<vdc-id>/action/instantiateVAppTemplate v0.9 Instantiate a vApp template into a new $sdkVdc->instantiateVAppTemplateDefault(); Or vApp. $sdkVdc->instantiateVAppTemplate(); POST .../api/v1.0/vdc/<vdc-id>/action/captureVApp v0.9 Captures a vApp into vApp template. $sdkVdc->captureVApp(); POST .../api/v1.0/vdc/<vdc-id>/action/cloneMedia v0.9 Clones a media. $sdkVdc->cloneMoveMedia(); POST .../api/v1.0/vdc/<vdc-id>/action/cloneVApp v0.9 Clones a vApp into new vApp. $sdkVdc->cloneMoveVApp(); POST .../api/v1.0/vdc/<vdc-id>/action/cloneVAppTemplate v0.9 Clones a vApp template. $sdkVdc->cloneMoveVAppTemplate(); POST .../api/v1.0/vdc/<vdc-id>/action/composeVApp v0.9 Composes a new vApp using VMs from $sdkVdc->composeVApp(); other vApps or vAppTemplates. POST .../api/v1.0/vdc/<vdc-id>/action/uploadVAppTemplate v0.9 Uploading vApp template to a vDC. $sdkVdc->uploadOVFAsVAppTemplate(); GET .../api/v1.0/catalog/<catalog-id> v0.9 Retrieves a catalog. $sdkOrg->getCatalogs(); Or $catalogRefs = $sdkOrg->getCatalogRefs(); $sdkCatalog = $service->createSDKObj($catalogRef); $sdkCatalog->getCatalog(); GET .../api/v1.0/org/<org-id>/catalog/<catalog-id>/controlAccess v0.9 Retrieves the catalog control access $sdkCatalog->getControlAccess(); information. POST .../api/v1.0/org/<org-id>/catalog/<catalog- v0.9 Modifies a catalog control access. $sdkCatalog->modifyControlAccess(); id>/action/controlAccess POST .../api/v1.0/catalog/<catalog-id>/catalogItems v0.9 Creates a catalog item in a catalog. $sdkCatalog->addCatalogItem(); GET .../api/v1.0/catalogItem/<catalog-item-id> v0.9 Retrieves a catalog item. $sdkCatalog->getCatalogItems(); Or $catalogItemRefs = $sdkCatalog->getCatalogItemRefs(); $sdkCatalogItem = $service->createSDKObj($catalogitemRef); $sdkCatalogItem->getCatalogItem(); PUT .../api/v1.0/catalogItem/<catalog-item-id> v0.9 Modifies a catalog item. $sdkCatalogItem->modify(); DELETE .../api/v1.0/catalogItem/<catalog-item-id> v0.9 Deletes a catalog item. $sdkCatalogItem->delete(); POST .../api/v1.0/vdc/<vdc-id>/media v0.9 Creates a media (and present upload $sdkVdc->uploadFloppyMedia(); link for the floppy/iso file). $sdkVdc->uploadIsoMedia() GET .../api/v1.0/media/<media-id> v0.9 Retrieves a media. $sdkVdc->getMedias(); Or $mediaRefs = $sdkVdc->getMediaRefs(); $sdkMedia = $service->createSDKObj($mediaRef); $sdkMedia->getMedia();
  • 32. PUT .../api/v1.0/media/<media-id> v0.9 Updates the name/description of a $sdkMedia->modifyName(); media. $sdkMedia->modifyDescription(); DELETE .../api/v1.0/media/<media-id> v0.9 Deletes a media. $sdkMedia->delete(); GET .../api/v1.0/task/<task-id> v0.9 Retrieves a task. No direct method, do through $service->get($url); GET .../api/v1.0/tasksList/<org-id> v0.9 Retrieves a list of tasks bound to an No direct method, do through $service->get($url) organization. GET .../api/v1.0/vApp/<vapp-id> v0.9 Retrieves a vApp. $sdkVdc->getVApps(); Or $VAppRefs = $sdkVdc->getVAppRefs(); $sdkVApp = $service->createSDKObj($VAppRef); $sdkVApp->getVApp(); PUT .../api/v1.0/vApp/<vapp-id> v0.9 Modifies the name/description of a vApp. $sdkVApp->modify(); DELETE .../api/v1.0/vApp/<vapp-id> v0.9 Deletes a vApp. $sdkVApp->delete(); POST .../api/v1.0/vApp/<vapp/vm-id>/power/action/powerOn v0.9 Powers on a vApp/VM. $sdkVApp->powerOn();/$sdkVm->powerOn(); POST .../api/v1.0/vApp/<vapp/vm-id>/power/action/powerOff v0.9 Powers off a vApp/VM. $sdkVApp->powerOff();/$sdkVm->powerOff(); POST .../api/v1.0/vApp/<vapp/vm-id>/power/action/suspend v0.9 Suspends a vApp/VM. $sdkVApp->suspend();/$sdkVm->suspend(); POST .../api/v1.0/vApp/<vapp/vm-id>/power/action/reboot v0.9 Reboots a vApp/VM. $sdkVApp->reboot();/$sdkVm->reboot(); POST .../api/v1.0/vApp/<vapp/vm-id>/power/action/reset v0.9 Resets a vApp/VM. $sdkVApp->reset();/$sdkVm->reset(); POST .../api/v1.0/vApp/<vapp/vm-id>/power/action/shutdown v0.9 Shutdowns a vApp/VM. $sdkVApp->shutdown();/$sdkVm->shutdown(); POST .../api/v1.0/vApp/<vapp/vm-id>/action/deploy v0.9 Deploy a vApp/VM. $sdkVApp->deploy();/$sdkVm->deploy(); POST .../api/v1.0/vApp/<vapp/vm-id>/action/undeploy v0.9 Undeploy a vApp/VM. $sdkVApp->undeploy();/$sdkVm->undeploy(); POST .../api/v1.0/vApp/<vapp/vm-id>/action/discardSuspendedState v0.9 Discard suspended state of a vApp/VM. $sdkVApp->discardSuspendedState(); /$sdkVm-> discardSuspendedState(); POST .../api/v1.0/vApp/<vapp-id>/action/recomposeVApp v1.0 Recompose vApp. $sdkVApp->recompose(); POST .../api/v1.0/vApp/<vapp-id>/action/controlAccess v0.9 Modifies the control access of a vApp. $sdkVApp->modifyControlAccess(); GET .../api/v1.0/vApp/<vapp-id>/controlAccess v0.9 Retrieves the control access information $sdkVApp->getControlAccess(); for a vApp. GET .../api/v1.0/vApp/<vapp-id>/leaseSettingsSection v0.9 Retrieves the lease settings section of a $sdkVApp->getLeaseSettings(); vApp. PUT .../api/v1.0/vApp/<vapp-id>/leaseSettingsSection v0.9 Modifies the lease settings section of a $sdkVApp->modifyLeaseSettings(); vApp. DELETE .../api/v1.0/vApp/<vapp-id>/leaseSettingsSection v0.9 Deletes the lease settings section of a $sdkVApp->deleteLeaseSettings(); vApp. GET .../api/v1.0/vApp/<vapp-id>/networkConfigSection v0.9 Retrieves the network config section of a $sdkVApp->getNetworkConfigSettings(); vApp. PUT .../api/v1.0/vApp/<vapp-id>/networkConfigSection v0.9 Modifies the network config section of a $sdkVApp->modifyNetworkConfigSettings(); vApp.
  • 33. GET .../api/v1.0/vApp/<vapp-id>/networkSection v0.9 Retrieves the network section of a vApp. $sdkVApp->getNetworkSettings(); GET .../api/v1.0/vApp/<vm-id>/operatingSystemSection v0.9 Retrieves the operating system section $sdkVm->getOperatingSystemSettings(); of a VM. PUT .../api/v1.0/vApp/<vm-id>/operatingSystemSection v0.9 Modifies the operating system section of $sdkVm->modifyOperatingSystemSettings(); a VM. GET .../api/v1.0/vApp/<vm-id>/screen v0.9 Retrieves the thumbnail of the screen of $sdkVm->getScreenThumbnailImage(); a VM. POST .../api/v1.0/vApp/<vm-id>/screen/action/acquireTicket v0.9 Acquires the screen ticket for a VM. $sdkVm->getScreenTicket() Or $sdkVm->getScreenTicketTokens(); POST .../api/v1.0/vApp/<vm-id>/action/ejectMedia v0.9 Ejects a media from a VM. $sdkVm->ejectMedia(); POST .../api/v1.0/vApp/<vm-id>/action/insertMedia v0.9 Inserts a media into a VM. $sdkVm->insertMedia(); GET .../api/v1.0/vApp/<vapp-id>/startupSection v0.9 Retrieves the startup section of a vApp. $sdkVApp->getStartupSettings(); PUT .../api/v1.0/vApp/<vapp-id>/startupSection v0.9 Modifies the startup section of a vApp. $sdkVApp->modifyStartupSettings(); DELETE .../api/v1.0/vApp/<vapp-id>/startupSection v0.9 Deletes the startup section of a vApp. $sdkVApp->deleteStartupSettings(); GET .../api/v1.0/vApp/<vm-id>/virtualHardwareSection v0.9 Retrieves the virtual hardware section of $sdkVm->getVirtualHardwareSettings(); a VM. PUT .../api/v1.0/vApp/<vm-id>/virtualHardwareSection v0.9 Modifies the virtual hardware section of a $sdkVm->modifyVirtualHardwareSettings(); VM. GET .../api/v1.0/vApp/<vm-id>/virtualHardwareSection/cpu v0.9 Retrieves the RASD item that contains $sdkVm->getVirtualHardwareCpu(); CPU information from virtual hardware section of a VM. PUT .../api/v1.0/vApp/<vm-id>/virtualHardwareSection/cpu v0.9 Modifies the CPU properties in virtual $sdkVm->modifyVirtualHardwareCpu(); hardware section of a VM. GET .../api/v1.0/vApp/<vm-id>/virtualHardwareSection/memory v0.9 Retrieves the RASD item that contains $sdkVm->getVirtualHardwareMemory(); memory information from virtual hardware section of a VM. PUT .../api/v1.0/vApp/<vm-id>/virtualHardwareSection/memory v0.9 Modifies the memory properties in virtual $sdkVm->modifyVirtualHardwareMemory(); hardware section of a VM. GET .../api/v1.0/vApp/<vm-id>/virtualHardwareSection/disks v0.9 Retrieves a list of RASD items for disks $sdkVm->getVirtualHardwareDisks(); from virtual hardware section of a VM. PUT .../api/v1.0/vApp/<vm-id>/virtualHardwareSection/disks v0.9 Modifies the disks list virtual hardware $sdkVm->modifyVirtualHardwareDisk(); section of a VM. GET .../api/v1.0/vApp/<vm-id>/virtualHardwareSection/media v0.9 Retrieves the list of RASD items that $sdkVm->getVirtualHardwareMedia(); represents the floppies and CD/DVD drives in a VM.
  • 34. GET .../api/v1.0/vApp/<vm-id>/virtualHardwareSection/networkCards v0.9 Retrieves a list of RASD items of $sdkVm->getVirtualHardwareNetworkCards(); network cards from virtual hardware section of a VM. PUT .../api/v1.0/vApp/<vm-id>/virtualHardwareSection/networkCards v0.9 Modifies the network cards list virtual $sdkVm->modifyVirtualHardwareNetworkCard() hardware section of a VM. GET .../api/v1.0/vApp/<vm-id>/guestCustomizationSection v1.0 Retrieves the guest customization $sdkVm->getGuestCustomizationSettings(); section of a VM. PUT .../api/v1.0/vApp/<vm-id>/guestCustomizationSection v1.0 Updates the guest customization options $sdkVm->modifyGuestCustomizationSettings(); of a VM GET .../api/v1.0/vApp/<vm-id>/networkConnectionSection v0.9 Retrieves the network connection section $sdkVm->getNetworkConnectionSettings(); of a VM. PUT .../api/v1.0/vApp/<vm-id>/networkConnectionSection v0.9 Modifies the network connection section $sdkVm->modifyNetworkConnectionSettings(); of a VM. GET .../api/v1.0/vApp/<vm-id>/question v0.9 Retrieves pending question for a VM. $sdkVm->getPendingQuestion(); POST .../api/v1.0/vApp/<vm-id>/question/action/answer v0.9 Answer on a pending question. $sdkVm->answerPendingQuestion(); GET .../api/v1.0/vAppTemplate/<vapp-template-id> v0.9 Retrieves a vApp template (can be used $sdkVdc->getVAppTemplates(); Or also to retrieve a VM from a $vAppTemplateRefs = $sdkVdc->getVAppTemplateRefs(); vAppTemplate). $sdkVAppTemplate = $service->createSDKObj($vAppTemplateRef); $sdkVAppTemplate->getVAppTemplate(); PUT .../api/v1.0/vAppTemplate/<vapp-template-id> v0.9 Modifies only the name/description of a $sdkVAppTemplate->modifyName(); vApp template. $sdkVAppTemplate->modifyDescription(); DELETE .../api/v1.0/vAppTemplate/<vapp-template-id> v0.9 Deletes a vApp template. $sdkVAppTemplate->delete(); POST .../api/v1.0/vAppTemplate/<vapp-template- v0.9 Enables downloading of the ovf of a $sdkVAppTemplate->enableDownload(); id>/action/enableDownload vApp template. POST .../api/v1.0/vAppTemplate/<vapp-template- v0.9 Disables the download link to the ovf of a $sdkVAppTemplate->disableDownload(); id>/action/disableDownload vApp template. GET .../api/v1.0/vAppTemplate/<vapp-template- v1.0 Retrieves the customization section of a $sdkVAppTemplate->getCustomizationSettings(); id>/customizationSection vApp template. PUT .../api/v1.0/vAppTemplate/<vapp-template- v1.0 Updates the vAppTemplate $sdkVAppTemplate->modifyCustomizationSettings(); id>/customizationSection customization information. GET .../api/v1.0/vAppTemplate/<vapp-template- v0.9 Retrieves the network config section of a $sdkVAppTemplate->getNetworkConfigSettings(); id>/networkConfigSection vApp template. GET .../api/v1.0/vAppTemplate/<vapp-template-id>/networkSection v0.9 Retrieves the network section of a vApp $sdkVAppTemplate->getNetworkSettings(); template. GET .../api/v1.0/vAppTemplate/<vapp-template-id>/ovf v0.9 Retrieves an OVF descriptor of a vApp $sdkVAppTemplate->downloadOVFFiles(); Or $service->get($url); template. GET .../api/v1.0/network/<network-id> v0.9 Retrieves an organization network. $sdkVdc->getAvailableNetworks();
  • 35. List of vCloud Admin API Operations Operation Since Description PHP SDK method(s) for the operation GET .../api/v1.0/admin v0.9 Retrieves the top level entity for the $service->getAdmin(); Or Admin API. $sdkAdmin = $service->createSDKAdminObj(); $sdkAdmin->getVCloud(); GET .../api/v1.0/admin/providervdc/<provider-vdc-id> v0.9 Get the representation of the $sdkAdmin->getProviderVdcs(); Provider vDC. GET .../api/v1.0/admin/providervdc/<provider-vdc- v1.0 Retrieves all org vDCs for given No direct method, do through $service->get($url); id>/vdcReferences provider vDC. POST .../api/v1.0/admin/orgs v0.9 Creates an organization. $sdkAdmin->createOrganization(); GET .../api/v1.0/admin/org/<org-id> v0.9 Retrieves an admin view of an $sdkAdmin->getAdminOrgs(); Or organization. $adminOrgRefs = $sdkAdmin->getAdminOrgRefs(); $sdkAdminOrg = $service->createSDKObj($adminOrgRef); $sdkAdminOrg->getAdminOrg(); PUT .../api/v1.0/admin/org/<org-id> v0.9 Modifies an admin organization. $sdkAdminOrg->modify(); DELETE .../api/v1.0/admin/org/<org-id> v0.9 Deletes an admin organization. $sdkAdminOrg->delete(); POST .../api/v1.0/admin/org/<org-id>/action/enable v1.0 Enables an admin organization. $sdkAdminOrg->enable(); POST .../api/v1.0/admin/org/<org-id>/action/disable v1.0 Disables an organization. $sdkAdminOrg->disable(); POST .../api/v1.0/admin/org/<org-id>/vdcs v0.9 Creates a virtual data center in an $sdkAdminOrg->createAdminVdc(); organization. GET .../api/v1.0/admin/vdc/<vdc-id> v0.9 Retrieves an admin view of virtual $sdkAdminOrg->getAdminVdcs(); Or data center. $adminVdcRefs = $sdkAdminOrg->getAdminVdcRefs(); $sdkAdminVdc = $service->createSDKObj($adminVdcRef); $sdkAdminVdc->getAdminVdc(); PUT .../api/v1.0/admin/vdc/<vdc-id> v0.9 Modifies a Virtual Data Center. $sdkAdminVdc->modify(); DELETE .../api/v1.0/admin/vdc/<vdc-id> v0.9 Deletes a Virtual Data Center. $sdkAdminVdc->delete(); POST .../api/v1.0/admin/vdc/<vdc-id>/action/enable v1.0 Enables a Virtual Data Center. $sdkAdminVdc->enable(); POST .../api/v1.0/admin/vdc/<vdc-id>/action/disable v1.0 Disables a Virtual Data Center. $sdkAdminVdc->disable(); POST .../api/v1.0/admin/org/networks v0.9 Creates a network in an $sdkAdminOrg->addOrgNetwork(); organization. GET .../api/v1.0/admin/network/<network-id> v0.9 Gets admin representation of $sdkAdminOrg->getAdminNetworks(); Or organization network. $adminNetworkRefs = $sdkAdminOrg->getAdminNetworkRefs(); $sdkAdminNetwork = $service->createSDKObj($adminNetworkRef); $sdkAdminNetwork->getAdminNetwork(); PUT .../api/v1.0/admin/network/<network-id> v0.9 Modifies an org network. $sdkAdminNetwork->modify(); DELETE .../api/v1.0/admin/network/ v0.9 Deletes a network. $sdkAdminNetwork->delete(); POST .../api/v1.0/admin/org/catalogs v0.9 Creates a catalog in an org. $sdkAdminOrg->createCatalog(); GET .../api/v1.0/admin/catalog/<catalog-id> v0.9 Retrieves a catalog. $sdkAdminOrg->getCatalogs(); Or $catalogRefs = $sdkAdminOrg->getcatalogRefs(); $sdkAdminCatalog = $service->createSDKObj($catalogRef); $sdkAdminCatalog->getCatalog();
  • 36. PUT .../api/v1.0/admin/catalog/<catalog-id> v0.9 Modifies a catalog. $sdkAdminCatalog->modify(); DELETE .../api/v1.0/admin/catalog/<catalog-id> v0.9 Deletes a catalog. $sdkAdminCatalog->delete(); POST .../api/v1.0/admin/catalog/<catalog-id>/action/publish v1.0 Publish a catalog. $sdkAdminCatalog->publish(); GET .../api/v1.0/admin/right/<right-id> v0.9 Retrieves a right. $sdkAdmin->getRights(); POST .../api/v1.0/admin/roles v0.9 Creates a role. $sdkAdmin->createRole(); GET .../api/v1.0/admin/role/<role-id> v0.9 Retrieves a role. $sdkAdmin->getRoles(); Or $roleRefs = $sdkAdmin->getRoleRefs(); $sdkRole = $service->createSDKObj($roleRef); $sdkRole->getRole(); PUT .../api/v1.0/admin/role/<role-id> v0.9 Modifies a role. $sdkRole->modify(); DELETE .../api/v1.0/admin/role/<role-id> v0.9 Deletes a role. $sdkRole->delete(); POST .../api/v1.0/admin/org/users v0.9 Creates or imports a user in an $sdkAdminOrg->createUser(); organization. GET .../api/v1.0/admin/user/<user-id> v0.9 Retrieves a user. $sdkAdminOrg->getUsers(); Or $userRefs = $sdkAdminOrg->getUserRefs(); $sdkUser = $service->createSDKObj($userRef); $sdkUser->getUser(); PUT .../api/v1.0/admin/user/<user-id> v0.9 Modifies a user. $sdkUser->modify(); DELETE .../api/v1.0/admin/user/<user-id> v0.9 Deletes a user. $sdkUser->delete(); Enable a user. $sdkUser->enable(); Disable a user. $sdkUser->disable(); POST .../api/v1.0/admin/org/groups v0.9 Imports a group in an organization. $sdkAdminOrg->importGroup(); GET .../api/v1.0/admin/group/<group-id> v0.9 Retrieves a group. $sdkAdminOrg->getGroups(); Or $groupRefs = $sdkAdminOrg->getGroupRefs(); $sdkGroup = $service->createSDKObj($groupRef); $sdkGroup->getGroup(); PUT .../api/v1.0/admin/group/<group-id> v0.9 Modifies a group. $sdkGroup->modify(); DELETE .../api/v1.0/admin/group/<groupd-id> v0.9 Deletes a group. $sdkGroup->delete();
  • 37. List of vCloud Admin Extension Operations Operation Since Description PHP SDK method(s) for the operation GET .../api/v1.0/admin/extension v1.0 Get various links to access $service->getAdminExtension(); Or extension API. $sdkExt = $service->createSDKExtensionObj(); $ext = $sdkExt->getExtension(); GET .../api/v1.0/admin/extension/providerVdcReferences v1.0 Get list of provider vDC $vmwPvdcRefs = $sdkExt->getVMWProviderVdcRefs(); references. POST .../api/v1.0/admin/extension/providervdcs v0.9 Creates a provider vDC. $sdkExt->createVMWProviderVdc(); GET .../api/v1.0/admin/extension/providervdc/<provider-vdc-id> v0.9 Gets an extension $sdkExt->getVMWProviderVdcs(); Or representation of provider vDC. $sdkExtVmwPvdc = $service->createSDKObj($vmwPvdcRef); $sdkExtVmwPvdc->getVMWProviderVdc(); PUT .../api/v1.0/admin/extension/providervdc/<provider-vdc-id> v0.9 Modifies a provider vDC. $sdkExtVmwPvdc->modify(); DELETE .../api/v1.0/admin/extension/providervdc/<provider-vdc-id> v0.9 Deletes a provider vDC. $sdkExtVmwPvdc->delete(); POST .../api/v1.0/admin/extension/providervdc/<provider-vdc- v0.9 Enables a provider vDC. $sdkExtVmwPvdc->enable(); id>/action/enable POST .../api/v1.0/admin/extension/providervdc/<provider-vdc- v0.9 Disables a provider vDC. $sdkExtVmwPvdc->disable(); id>/action/disable GET .../api/v1.0/admin/extension/externalNetworkReferences v1.0 Get list of external network $externalNetworkRefs = $sdkExt->getVMWExternalNetworkRefs(); references. POST .../api/v1.0/admin/extension/externalnets v1.0 Creates an external network. $sdkExt->createVMWExternalNetwork(); GET .../api/v1.0/admin/extension/externalnet/<externalnet-id> v1.0 Gets an extension view of $sdkExt->getVMWExternalNetworks(); Or external network. $sdkExtExternalNetwork = $service->createSDKObj($externalNetworkRef); $sdkExtExternalNetwork->getExternalNetwork(); PUT .../api/v1.0/admin/extension/externalnet/<externalnet-id> v1.0 Modifies an external network. $sdkExtExternalNetwork->modify(); DELETE .../api/v1.0/admin/extension/externalnet/<externalnet-id> v1.0 Deletes an external network. $sdkExtExternalNetwork->delete(); GET .../api/v1.0/admin/extension/networkPoolReferences v1.0 Get list of network pool $networkPoolRefs = $sdkExt->getVMWNetworkPoolRefs(); references. POST .../api/v1.0/admin/extension/networkPools v0.9 Creates a network pool. $sdkExt->createVMWNetworkPool(); GET .../api/v1.0/admin/extension/networkPool/<network-pool-id> v0.9 Gets a network pool. $sdkExt->getVMWNetworkPools(); Or $sdkExtNetworkPool = $service->createSDKObj($networkPoolRef); $sdkExtNetworkPool->getVMWNetworkPool(); PUT .../api/v1.0/admin/extension/networkPool/<network-pool-id> v0.9 Modifies a network pool. $sdkExtNetworkPool->modify(); DELETE .../api/v1.0/admin/extension/networkPool/<network-pool-id> v0.9 Deletes a network pool. $sdkExtNetworkPool->delete(); GET .../api/v1.0/admin/extension/vimServerReferences v1.0 Get list of vSphere server $vimServerRefs = $sdkExt->getVimServerRefs(); references. POST .../api/v1.0/admin/extension/action/registervimserver v0.9 Register a vSphere server and $sdkExt->registerVimServer(); shield manager. GET .../api/v1.0/admin/extension/vimServer/<vim-server-id> v0.9 Gets a vSphere server. $sdkExt->getVimServers(); Or $sdkExtVimServer = $service->createSDKObj($vimServerRef); $sdkExtVimServer->getVimServer(); PUT .../api/v1.0/admin/extension/vimServer/<vim-server-id> v0.9 Modifies a vSphere server. $sdkExtVimServer->modify();
  • 38. POST .../api/v1.0/admin/extension/vimServer/<vim-server- v0.9 Unregisters a vSphere server. $sdkExt->unregisterVimServer(); id>/action/unregister POST .../api/v1.0/admin/extension/vimServer/<vim-server- v1.0 Imports a vSphere server VM $sdkExtVimServer->importVmAsVApp(); id>/importVmAsVApp as vApp. POST .../api/v1.0/admin/extension/vimServer/<vim-server- v1.0 Imports a vSphere server VM $sdkExtVimServer->importVmAsVAppTemplate(); id>/importVmAsVAppTemplate as vApp template. POST .../api/v1.0/admin/extension/vimServer/<vim-server- v1.0 Forces a vSphere server to $sdkExtVimServer->forceReconnect(); id>/action/forcevimserverreconnect reconnect. GET .../api/v1.0/admin/extension/vimServer/<vim-server- v1.0 Lists available VMs for import $sdkExtVimServer->getVmRefsListByPage(); id>/vmsList?page=1&pageSize=100 from a vSphere server. GET .../api/v1.0/admin/extension/vimServer/<vim-server- v1.0 Lists free resource pools in a $sdkExtVimServer->getResourcePoolRefs(); id>/resourcePoolList vSphere server. $sdkExtVimServer->enable(); $sdkExtVimServer->disable(); GET .../api/v1.0/admin/extension/hostReferences v1.0 Get list of host references. $hostRefs = $sdkExt->getHostRefs(); GET .../api/v1.0/admin/extension/host/<host-id> v1.0 Gets a host. $sdkExt->getHosts(); Or $sdkExtHost = $service->createSDKObj($hostRef); $sdkExtHost->getHost(); POST .../api/v1.0/admin/extension/host/<host-id>/action/enable v0.9 Enables a host. $sdkExtHost->enable(); POST .../api/v1.0/admin/extension/host/<host-id>/action/disable v0.9 Disables a host. $sdkExtHost->disable(); POST .../api/v1.0/admin/extension/host/<host-id>/action/prepare v0.9 Prepares a host. $sdkExtHost->prepare(); POST .../api/v1.0/admin/extension/host/<host-id>/action/unprepare v0.9 Unprepares a host. $sdkExtHost->unprepare(); POST .../api/v1.0/admin/extension/host/<host-id>/action/repair v1.0 Repairs a host. $sdkExtHost->repair(); POST .../api/v1.0/admin/extension/host/<host-id>/action/upgrade v1.0 Upgrades the host agent. $sdkExtHost->upgrade(); GET .../api/v1.0/admin/extension/licensing/reports v1.0 Lists the licensing reports. No direct method, do through $service->get($url); GET .../api/v1.0/admin/extension/licensing/report/<report-id> v1.0 Gets a licensing report. No direct method, do through $service->get($url);