5.5
Table Of Contents
- vCloud API Programming Guide
- Contents
- vCloud API Programming Guide
- About the VMware vCloud API
- Hello vCloud: A Simplified RESTful Workflow
- Exploring a Cloud
- Summary of vCloud API Browsing Requests
- Retrieve the Login URL and List of Supported API Versions
- Create a Login Session Using the Integrated Identity Provider
- Retrieve a List of Organizations Accessible to You
- Retrieve an Administrative View of a Cloud
- Retrieve a List of vSphere Platform Operations and Objects for a Cloud
- Provisioning an Organization
- Summary of vCloud API Provisioning Requests
- Upload an OVF Package to Create a vApp Template
- Download a vApp or vApp Template as OVF
- Upload a Media Image
- Download a Media Image
- Capturing and Importing vApps
- Managing Catalog Items
- Creating and Using Independent Disks
- View or Change the Owner of an Object
- Controlling Access to vApps and Catalogs
- Deploying and Operating vApps
- Summary of vCloud API vApp and Virtual Machine Operations Requests
- Create a vApp From a Template
- Create a vApp From an OVF Package
- Compose a vApp From Existing Virtual Machines
- Recompose a vApp to Add or Remove Virtual Machines
- Clone a vApp
- Capture a vApp as a Template
- Update vApp Access Controls
- Provide User Input Requested by a Virtual Machine
- Attach or Detach an Independent Disk
- Creating and Using vApp Snapshots
- Operate a vApp
- Configuring vApps and Virtual Machines
- Retrieve the Configuration Links for a vApp
- Retrieve the Configuration Links for a Virtual Machine
- Update Multiple Sections of a Virtual Machine
- Retrieve or Update a Modifiable Section
- Update a vApp Network Configuration
- Update the NetworkConnectionSection of a Virtual Machine
- Retrieve or Modify the CPU Configuration of a Virtual Machine
- Retrieve or Modify the GuestCustomizationSection of a Virtual Machine
- Retrieve or Modify ProductSection Elements
- Retrieve or Modify Groups of Related Sections in a Virtual Machine
- Retrieve or Modify the Hard Disk Configuration of a Virtual Machine
- Update the Storage Profile for a Virtual Machine
- Creating and Managing Organizations
- Summary of Administrative Requests
- Administrator Credentials and Privileges
- Organization Administration
- VDC Administration
- Network Administration
- Catalog Administration
- User and Group Administration
- Working With Roles and Rights
- Managing and Monitoring a Cloud
- Summary of System Administration Requests
- Retrieve or Update System Settings
- Attach a vCenter Server
- Finding Available vCenter Resources
- Create a Provider VDC
- Create an External Network
- Create a Network Pool
- Import a Virtual Machine from vCenter
- Relocate a Virtual Machine to a Different Datastore
- Truststore and Keytab Maintenance
- Retrieve the vSphere URL of an Object
- Working With Object Metadata
- Using the Query Service
- Configuring and Using Blocking Tasks and Notifications
- vCloud Director Extension Services
- XML Representations in the vCloud API
- Index
4 Create a CreateVdcParams request body.
a Include an AllocationModel element that specifies how compute resources are allocated by this
VDC.
Choose one of the following values for AllocationModel:
AllocationVApp
Pay as you go. Resources are committed to the organization VDC only
when vApps are created in it. When you use this allocation model,
any Limit values you specify for Memory and CPU are ignored when
you create a vApp and returned as 0 when you retrieve a vApp.
Resources available to this kind of organization VDC can grow or
shrink as needed when its provider VDC has multiple resource pools.
AllocationPool
Only a percentage of the resources you allocate are committed to the
organization VDC
ReservationPool
All the resources you allocate are committed as a pool to the
organization VDC. vApps in VDCs that support this allocation model
can specify values for resources and limitations.
NOTE If you choose AllocationPool or ReservationPool, you can also include an
OverCommitAllowed element in the CreateVdcParams request. Setting its value to false prevents
creation of the VDC if the ComputeCapacity you specified is greater than what the backing Provider
VDC can supply.
b Include at least one VdcStorageProfile element that specifies a ProviderVdcStorageProfile defined
in the Provider VDC you chose in Step 3.
c Include a NetworkPoolReference element.
The VDC must include a network pool if you want to create routed or isolated networks in it.
d Include a ProviderVdcReference element that contains a reference to the Provider VDC you chose
in Step 3.
See the request portion of “Example: Create an Organization VDC,” on page 162.
5 POST the CreateVdcParams request body to the organization's add link for vdcs.
See the request portion of “Example: Create an Organization VDC,” on page 162.
The server creates the new VDC in the specified organization and returns an AdminVdc element that includes
a set of Link elements that you can use to access, remove, or modify the new VDC. Users can reference this
VDC using the URL specified in the href attribute in the Link where rel="alternate". See the response
portion of “Example: Create an Organization VDC,” on page 162.
Example: Create an Organization VDC
This example adds an AllocationvApp VDC to the organization created in “Example: Create an
Organization,” on page 153. The new organization VDC is provisioned from the Provider VDC created in
“Create a Provider VDC,” on page 251, and includes a storage profile named Silver, which is backed by
one of the storage profiles available in the Provider VDC. It also includes a network pool, so that it is
capable of supporting routed and isolated organization VDC networks. See “Retrieve a List of External
Networks and Network Pools,” on page 246 for information on how to find a NetworkPoolReference to use.
Request:
POST https://vcloud.example.com/api/admin/org/26/vdcsparams
Content-Type: application/vnd.vmware.admin.createVdcParams+xml
...
<?xml version="1.0" encoding="UTF-8"?>
vCloud API Programming Guide
162 VMware, Inc.