background image

VMware, Inc.

9

Chapter 1 About the vCloud SDK for PHP

Virtual Systems and Media Images in a vCloud

Virtual

 

systems

 

and

 

media

 

images

 

are

 

stored

 

in

 

a

 

vDC

 

and

 

can

 

be

 

included

 

in

 

a

 

catalog.

 

Media

 

images

 

are

 

stored

 

in

 

their

 

native

 

representation

 

(ISO

 

or

 

floppy).

 

Virtual

 

systems

 

are

 

stored

 

as

 

templates,

 

using

 

an

 

open

 

standard

 

format

 

(OVF

 

1.0).

 

These

 

templates

 

can

 

be

 

retrieved

 

from

 

catalogs

 

and

 

transformed

 

into

 

virtual

 

systems,

 

called

 

vApps,

 

through

 

a

 

process

 

called

 

instantiation,

 

which

 

binds

 

a

 

template’s

 

abstract

 

resource

 

requirements

 

to

 

resources

 

available

 

in

 

a

 

vDC.

 

A

 

vApp

 

contains

 

one

 

or

 

more

 

individual

 

virtual

 

machines

 

(

Vm

 

elements),

 

along

 

with

 

parameters

 

that

 

define

 

operational

 

details

 

such

 

as:

How

 

the

 

contained

 

virtual

 

machines

 

are

 

connected

 

to

 

each

 

other

 

and

 

to

 

external

 

networks.

The

 

order

 

in

 

which

 

individual

 

virtual

 

machines

 

are

 

powered

 

on

 

or

 

off.

End

user

 

license

 

agreement

 

terms

 

for

 

each

 

virtual

 

machine.

Deployment

 

lease

 

terms

 

(typically

 

inherited

 

from

 

the

 

containing

 

organization)

 

that

 

constrain

 

the

 

vApp’s

 

consumption

 

of

 

vDC

 

resources.

Access

 

control

 

information

 

specifying

 

which

 

users

 

and

 

groups

 

can

 

perform

 

operations

 

such

 

as

 

deploy,

 

power

 

on,

 

modify,

 

and

 

suspend

 

on

 

the

 

vApp

 

and

 

the

 

virtual

 

machines

 

it

 

contains.

vCloud SDK for PHP Design

The

 

vCloud

 

SDK

 

for

 

PHP

 

includes

 

the

 

following

 

packages:

API

 

packages,

 

listed

 

in

 

Table 1

1

.

 

These

 

packages

 

contain

 

classes

 

that

 

represent

 

complex

 

types

 

defined

 

in

 

vCloud

 

API,

 

vCloud

 

administrative

 

API

 

and

 

vCloud

 

vSphere

 

platform

 

API

 

extensions.

 

Classes

 

in

 

this

 

package

 

are

 

generated

 

from

 

the

 

vCloud

 

API

 

XML

 

schema

 

files.

 

Each

 

class

 

maps

 

to

 

a

 

complex

 

type

 

defined

 

in

 

those

 

files.

 

Objects

 

of

 

these

 

classes

 

are

 

referred

 

to

 

as

 

vCloud

 

data

 

objects.

SDK

 

packages,

 

listed

 

in

 

Table 1

2

.

 

These

 

packages

 

contain

 

classes

 

that

 

implement

 

vCloud

 

API

 

operations.

 

Each

 

of

 

the

 

classes

 

maps

 

to

 

a

 

vCloud

 

resource

 

entity.

 

Classes

 

manage

 

the

 

resource

 

entity

 

lifecycle

 

(create,

 

retrieve,

 

update,

 

and

 

delete,

 

often

 

abbreviated

 

as

 

CRUD).

 

This

 

package

 

also

 

implements

 

various

 

utility

 

functions

 

associated

 

with

 

connecting

 

to

 

a

 

vCloud

 

instance,

 

marshalling

 

requests,

 

unmarshalling

 

responses,

 

and

 

so

 

on.

 

Objects

 

of

 

these

 

classes

 

are

 

referred

 

to

 

as

 

vCloud

 

SDK

 

objects.

Table 1-1.  

VMware_VCloud_API Packages

Package Name

Package Contents

VMware_VCloud_API

Classes

 

representing

 

objects

 

defined

 

in

 

the

 

vCloud

 

user

 

API

 

and

 

administrative

 

API

VMware_VCloud_API_OVF

Classes

 

representing

 

objects

 

defined

 

in

 

the

 

OVF

 

specification

VMware_VCloud_API_Extension

Classes

 

representing

 

objects

 

defined

 

in

 

the

 

vCloud

 

API

 

vSphere

 

Platform

 

Extensions

VMware_VCloud_API_Version

Classes

 

representing

 

objects

 

that

 

contain

 

vCloud

 

API

 

version

 

information

Table 1-2.  

VMware_VCloud_SDK Packages

Package Name

Package Contents

VMware_VCloud_SDK

Classes

 

that

 

implement

 

operations

 

defined

 

in

 

the

 

vCloud

 

user

 

API

 

and

 

administrative

 

API

VMware_VCloud_SDK_Extension

Classes

 

that

 

implement

 

operations

 

defined

 

in

 

the

 

vCloud

 

API

 

vSphere

 

Platform

 

Extensions

VMware_VCloud_SDK_HTTP

Classes

 

that

 

support

 

HTTP

 

client

 

operations.

Summary of Contents for vCloud SDK 1.0

Page 1: ...SDK 1 0 This document supports the version of each product listed and supports all subsequent versions until the document is replaced by a new edition To check for more recent editions of this documen...

Page 2: ...ts about this documentation submit your feedback to docfeedback vmware com Copyright 2010 VMware Inc All rights reserved This product is protected by U S and international copyright and intellectual p...

Page 3: ...ct 10 Creating an SDK Object 10 Using a Different HTTP Library 12 Using the HTML Reference Material 12 2 Setting Up for PHP Development 13 Prerequisites 13 Download and Install the vCloud SDK for PHP...

Page 4: ...vCloud SDK for PHP Developer s Guide 4 VMware Inc...

Page 5: ...ud Director This guide assumes you are familiar with the PHP programming language Representational State Transfer REST and RESTful programming conventions the Open Virtualization Format Specification...

Page 6: ...ware com support services VMware Professional Services VMware Education Services courses offer extensive hands on labs case study examples and course materials designed to be used as on the job refere...

Page 7: ...bout running the example applications included in the SDK This chapter includes the following topics vCloud Object Taxonomy on page 7 vCloud SDK for PHP Design on page 9 vCloud Object Taxonomy The vCl...

Page 8: ...s floppy disks and CD ROMs An organization administrator specifies how resources from a provider vDC are distributed to the vDCs in an organization vCloud Catalogs Catalogs contain references to virtu...

Page 9: ...fined in vCloud API vCloud administrative API and vCloud vSphere platform API extensions Classes in this package are generated from the vCloud API XML schema files Each class maps to a complex type de...

Page 10: ...e Creating an SDK Object You can create an SDK object when you need to invoke a lifecycle operation such as create or modify on a vCloud API object Most class constructors for SDK objects require two...

Page 11: ...minOrg getAdminVdcsRefs Catalog Org getCatalogRefs CatalogItem Catalog getCatalogItemRefs CatalogItem AdminCatalog getCatalogItemRefs Extension None See Creating Top Level Objects on page 12 Extension...

Page 12: ...are_VCloud_SDK_Http_Client_Interface interface and then can call the VMware_VCloud_SDK_Service getService method specifying that client service VMware_VCloud_SDK_Service getService myHTTPClient Using...

Page 13: ...ut the vCloud API XML schemas which define the objects and operations that the SDK supports familiarity with the details of the underlying objects and operations as described in the vCloud API Program...

Page 14: ...e with the download or click No to exit without downloading 5 Choose a download option then click the link for the distribution format you want The vCloud SDK for PHP is distributed as a compressed ar...

Page 15: ...help To run the helloVCloud php example use the following command php helloVCloud php s server u user vcloudOrganization p password c config o orgName d vdcName g catalogName i item a vAppName The fol...

Page 16: ...ample creates All options but s u and p must be separated from their arguments by an equals sign For example php helloVCloud php s vcloud example com u user exampleOrg p Pa55w0rd o exampleOrg d exampl...

Page 17: ...mples use for logging in names for objects such as catalogs and vDCs that the examples create and other values that you are required to specify when creating a vCloud API object You must edit this fil...

Page 18: ...sed by all example code updateVmMemory php Edits the memory required by a virtual machine and reduces the existing value by half uploadVAppTemplate php Uploads an OVF package to create a vApp template...

Page 19: ...kage used in examples 13 P packages in this SDK 9 PEAR HTTP_Request2 package 13 PHP versions supported 13 S sample programs privileges required to run 18 runtime environment for 17 sample programs pri...

Page 20: ...vCloud SDK for PHP Developer s Guide 20 VMware Inc...

Reviews: