To work with the service-oriented architecture on which Virtual Private Cloud OnDemand is built, you need to understand the following resources and how they interact.

Plans

A plan abstracts the infrastructure and platform functionality for Virtual Private Cloud OnDemand. You can think of a plan as a template because it defines how you consume resources provided in the VMware public cloud. For example, the plan for Virtual Private Cloud OnDemand allows customers to create virtual machines configured with 2.6GHz vCPUs. Other plans for vCloud Air might allow customers to create virtual machines configured with a different vCPU speed.

Note

Each location can have different plans provisioned; if multiple locations are offering the same plan, the plans in each location have the same plan name.

For information about how Virtual Private Cloud OnDemand is available in different locations, see Geographical Locations in the vCloud AirVirtual Private Cloud OnDemand User's Guide.

Instances

An instance is a consumable instance of a given plan. After account creation, you initialize an instance in a chosen location.

Compute Service

A user in vCloud Air can access the vCloud API through the vCloud Compute Service. The vCloud Compute Service is the service that exposes the compute, networking, and storage functionality that is available to customers of Virtual Private Cloud OnDemand.

For information about the APIs to develop client applications that access the API endpoint for the vCloud Compute Service, see the vCloud Air Compute Service Programming Guide (API Version 9.0).

A plan, which is a complex type, has the following structure:

<xs:element name="Plan" type="service:PlanType"/>
  <xs:complexType name="PlanType">
     <xs:complexContent>
        <xs:extension base="common:ResourceType">
           <xs:sequence>
             <xs:element name="region" type="common:NonEmptyString"/>
             <xs:element name="description" type="common:NonEmptyString" minOccurs="0"/>
             <xs:element name="planVersion" type="common:NonEmptyString"/>
             <xs:element name="planAttributes" type="common:NonEmptyString" minOccurs="0"/>
             <xs:element name="instanceSpec" type="common:NonEmptyString" minOccurs="0"/>
             <xs:element name="planPolicy" type="service:PlanPolicyType" minOccurs="0"/>
           </xs:sequence>
        </xs:extension>
     </xs:complexContent>
  </xs:complexType>
<xs:element name="PlanList" type="service:PlanListType"/>
  <xs:complexType name="PlanListType">
      <xs:sequence>
        <xs:element name="plans" type="service:PlanType" minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
  </xs:complexType>

An instance has the following (complex type) structure:

<xs:element name="Instance" type="instance:InstanceType"/>
  <xs:complexType name="InstanceType">
    <xs:complexContent>
      <xs:extension base="common:ResourceType">
        <xs:sequence>
          <xs:element name="description" type="common:NonEmptyString" minOccurs="0"/>
          <xs:element name="region" type="common:NonEmptyString"/>
          <xs:element name="serviceName" type="common:NonEmptyString"/>
          <xs:element name="instanceVersion" type="common:NonEmptyString" minOccurs="0"/>
          <xs:element name="planId" type="common:NonEmptyString"/>
          <xs:element name="serviceGroupId" type="common:NonEmptyString"/>
          <xs:element name="apiUrl" type="xs:anyURI"/>
          <xs:element name="dashboardUrl" type="xs:anyURI"/>
          <xs:element name="instanceAttributes" type="common:NonEmptyString" minOccurs="0"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

The instance, as shown in the example, has the following attributes:

serviceName: The name of the service offering for the plan

The serviceName attribute can be used to distinguish whether a plan or instance belongs to the Compute Service or another vCloud Air service.

planId: The plan associated with the creation of an instance

serviceGroupId: Service group ID associated with the creation of the instance

When you sign up for Virtual Private Cloud OnDemand, VMware creates your account and assigns a service group ID to your account. VMware uses your service group ID as part of its billing system. The service group ID indicates which billing account to charge for resource usage.

The attributes instanceAttributes and apiURL are optional; the client should not assume they are present.

Each instance created for Virtual Private Cloud OnDemand contains one vCloud Compute Service. The vCloud Compute Service exposes compute (vRAM and vCPU resources for virtual machines), storage, and networking functionality in the public cloud on a pay-as-you-go basis.