1.0
Table Of Contents
- vCloud API Programming Guide
- Contents
- About This Book
- Introducing the VMware vCloud API
- Hello vCloud: A Structured REST Workflow Example
- Logging In and Getting an Organization List
- Browsing an Organization
- Finding a vApp Template
- Getting Information About a vDC
- Instantiating the Template in the vDC
- Deploying and Powering On the vApp
- Getting Information About the vApp
- Displaying the Console
- Deleting the vApp
- Logging Out
- Moving on to Additional Use Cases
- Browsing
- Provisioning
- Summary of Provisioning Requests
- Upload OVF to Create a vApp Template
- View the OVF Descriptor of a vApp Template
- Download a vApp Template as OVF
- Upload a Media Image
- Copying and Moving
- Changing a Name or Description
- Delete a vAppTemplate, vApp, or Media Image
- Cataloging vApp Templates and Media Images
- Controlling Access
- Datacenter Operations
- Summary of Datacenter Operations Requests
- vApp Lifecycle
- Instantiate a vApp Template
- Compose a vApp
- Recompose a vApp to Add or Remove Virtual Machines
- Capture a vApp to Create a vApp Template
- Reconfiguring vApps and Virtual Machines
- Deploying and Controlling vApps and Virtual Machines
- Deploy a vApp or Virtual Machine
- Undeploy a vApp or Virtual Machine
- Power On a vApp or Virtual Machine
- Power Off a vApp or Virtual Machine
- Reset a vApp or Virtual Machine
- Suspend a vApp or Virtual Machine
- Discard the Suspended State of a vApp or Virtual Machine
- Shut Down a vApp or Virtual Machine
- Reboot a vApp or Virtual Machine
- List Media Devices of a Virtual Machine
- Insert Media Into a Virtual Machine
- Eject Media from a Virtual Machine
- Get a Screen Thumbnail for a Virtual Machine
- Get a Screen Ticket for a Virtual Machine
- Provide User Input Requested by a Virtual Machine
- Control Access to vApps
- Retrieve a Task
- Administrative Operations
- VMware vSphere Platform Operations
- Summary of vSphere Platform Operations Requests
- List vSphere Platform Operations and Objects for a vCloud
- List Provider vDCs in a vCloud
- List External Networks in a vCloud
- List Network Pools in a vCloud
- List vCenter Servers Registered to a vCloud
- List ESX/ESXi Hosts in a vCloud
- Create a Provider vDC
- Create an External Network
- Create a Network Pool
- Import a Virtual Machine from vCenter
- XML Representations in the vCloud API
- User API Reference
- Request Parameters Reference
- Administrative API Reference
- vSphere Platform Extensions Reference
- OVF and the vCloud API
- An Introduction to REST for vCloud API Users
- Index
VMware, Inc. 63
Chapter 5 Datacenter Operations
Examinethetemplate’sovf:NetworkSectionelementtoseewhetheranynetworksaredefinedthere.If
thevApptemplateincludesanovf:Networkelement,thenameyouspecifyforthevAppnetworkmust
matchthenamespecifiedinthatelement’sovf:nameattribute.
See“A b o u t InstantiationParameters”onpage 62.
Verifythatyourorganization’s defaultleasesettingsareappropriateforthisvApp.Iftheyarenot,youcan
specifycustomleasesettingsaspartofinstantiation.
Example 5‐1showsaninstantiationrequestsimilartotheoneshowninExample 2‐6onpage 25,butincludes
anAllEULAsAcceptedelementthatdenotesacceptanceof
termsandconditionsembeddedinthechildVm
elements,andaLeaseSettingsSectionelementthatspecifiescustomdeploymentandstorageleaseterms
forthisvApp.ItalsospecifiesthatthevAppshouldbedeployedandpoweredonafteritisinstantiated.(If
youomitthedeployandpowerOnattributes,thedefault
valueoffalseisassumed.)
Example 5-1. Instantiating a vApp Template wIth Custom Lease Settings
Request:
POST http://vcloud.example.com/api/v1.0/vdc/5/action/instantiateVAppTemplate
Content-Type: application/vnd.vmware.vcloud.instantiateVAppTemplateParams+xml
...
<InstantiateVAppTemplateParams name="Linux FTP server" deploy=”true” powerOn=”true”
xmlns="http://www.vmware.com/vcloud/v1"
xmlns:ovf="http://schemas.dmtf.org/ovf/envelope/1">
<Description>Example FTP Server</Description>
<InstantiationParams>
<NetworkConfigSection>
<ovf:Info>Configuration parameters for logical networks</ovf:Info>
<NetworkConfig networkName="vAppNetwork">
<Configuration>
<ParentNetwork href="http://vcloud.example.com/api/v1.0/network/54"/>
<FenceMode>bridged</FenceMode>
</Configuration>
</NetworkConfig>
</NetworkConfigSection>
<LeaseSettingsSection type="application/vnd.vmware.vcloud.leaseSettingsSection+xml">
<ovf:Info>Lease Settings</ovf:Info>
<StorageLeaseInSeconds>172800</StorageLeaseInSeconds>
<StorageLeaseExpiration>2010-04-11T08:08:16.438-07:00</StorageLeaseExpiration>
</LeaseSettingsSection>
</InstantiationParams>
<Source href=”http://vcloud.example.com/api/v1.0/vAppTemplate/vappTemplate-111”/>
<AllEULAsAccepted>true</AllEULAsAccepted>
</InstantiateVAppTemplateParams>
Response:
201 Created
Content-Type: application/vnd.vmware.vcloud.vApp+xml
<VApp name="Linux FTP server" deployed=”false” status="0"
href="http://vcloud.example.com/api/v1.0/vApp/vapp-7" ...>
<Description>Example FTP Server</Description>
...
<Tasks>
<Task ... operation="Creating Virtual Application Linux FTP server(7)" ... >
...
</Task>
</Tasks>
</VApp>