org.jclouds.vcloud.compute.internal
Class VCloudExpressComputeClientImpl

java.lang.Object
  extended by org.jclouds.vcloud.compute.internal.CommonVCloudComputeClientImpl<VCloudExpressVAppTemplate,VCloudExpressVApp>
      extended by org.jclouds.vcloud.compute.internal.VCloudExpressComputeClientImpl
All Implemented Interfaces:
org.jclouds.vcloud.compute.CommonVCloudComputeClient, VCloudExpressComputeClient

@Singleton
public class VCloudExpressComputeClientImpl
extends org.jclouds.vcloud.compute.internal.CommonVCloudComputeClientImpl<VCloudExpressVAppTemplate,VCloudExpressVApp>
implements VCloudExpressComputeClient

Author:
Adrian Cole

Field Summary
protected  Map<org.jclouds.vcloud.domain.Status,org.jclouds.compute.domain.NodeState> vAppStatusToNodeState
           
 
Fields inherited from class org.jclouds.vcloud.compute.internal.CommonVCloudComputeClientImpl
client, logger, taskTester
 
Constructor Summary
VCloudExpressComputeClientImpl(VCloudExpressClient client, com.google.common.base.Predicate<URI> successTester, Map<org.jclouds.vcloud.domain.Status,org.jclouds.compute.domain.NodeState> vAppStatusToNodeState)
           
 
Method Summary
protected  void deleteVApp(VCloudExpressVApp vApp)
           
 Set<String> getPrivateAddresses(URI id)
           
 Set<String> getPublicAddresses(URI id)
           
protected  org.jclouds.vcloud.domain.Status getStatus(VCloudExpressVApp vApp)
           
protected  org.jclouds.vcloud.domain.Task powerOff(VCloudExpressVApp vApp)
           
protected  VCloudExpressVApp refreshVApp(URI id)
           
protected  org.jclouds.vcloud.domain.Task reset(VCloudExpressVApp vApp)
           
 VCloudExpressVApp start(URI VDC, URI templateId, String name, InstantiateVAppTemplateOptions options, int... portsToOpen)
          Runs through all commands necessary to startup a vApp, opening at least one ip address to the public network.
protected  org.jclouds.vcloud.domain.Task undeploy(VCloudExpressVApp vApp)
           
 
Methods inherited from class org.jclouds.vcloud.compute.internal.CommonVCloudComputeClientImpl
reset, stop
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.jclouds.vcloud.compute.CommonVCloudComputeClient
reset, stop
 

Field Detail

vAppStatusToNodeState

protected final Map<org.jclouds.vcloud.domain.Status,org.jclouds.compute.domain.NodeState> vAppStatusToNodeState
Constructor Detail

VCloudExpressComputeClientImpl

@Inject
public VCloudExpressComputeClientImpl(VCloudExpressClient client,
                                             com.google.common.base.Predicate<URI> successTester,
                                             Map<org.jclouds.vcloud.domain.Status,org.jclouds.compute.domain.NodeState> vAppStatusToNodeState)
Method Detail

deleteVApp

protected void deleteVApp(VCloudExpressVApp vApp)
Specified by:
deleteVApp in class org.jclouds.vcloud.compute.internal.CommonVCloudComputeClientImpl<VCloudExpressVAppTemplate,VCloudExpressVApp>

start

public VCloudExpressVApp start(@Nullable
                               URI VDC,
                               URI templateId,
                               String name,
                               InstantiateVAppTemplateOptions options,
                               int... portsToOpen)
Description copied from interface: VCloudExpressComputeClient
Runs through all commands necessary to startup a vApp, opening at least one ip address to the public network. These are the steps:

instantiate -> deploy -> powerOn

This command blocks until the vApp is in state VAppStatus#ON

Specified by:
start in interface VCloudExpressComputeClient
Parameters:
VDC - id of the virtual datacenter VCloudClient#getDefaultVDC
templateId - id of the vAppTemplate you wish to instantiate
name - name of the vApp
options - options for instantiating the vApp; null is ok
portsToOpen - opens the following ports on the public ip address
Returns:
map contains at least the following properties
  1. id - vApp id
  2. username - console login user
  3. password - console login password

getPrivateAddresses

public Set<String> getPrivateAddresses(URI id)
Specified by:
getPrivateAddresses in interface org.jclouds.vcloud.compute.CommonVCloudComputeClient
Specified by:
getPrivateAddresses in class org.jclouds.vcloud.compute.internal.CommonVCloudComputeClientImpl<VCloudExpressVAppTemplate,VCloudExpressVApp>

getPublicAddresses

public Set<String> getPublicAddresses(URI id)
Specified by:
getPublicAddresses in interface org.jclouds.vcloud.compute.CommonVCloudComputeClient
Specified by:
getPublicAddresses in class org.jclouds.vcloud.compute.internal.CommonVCloudComputeClientImpl<VCloudExpressVAppTemplate,VCloudExpressVApp>

getStatus

protected org.jclouds.vcloud.domain.Status getStatus(VCloudExpressVApp vApp)
Specified by:
getStatus in class org.jclouds.vcloud.compute.internal.CommonVCloudComputeClientImpl<VCloudExpressVAppTemplate,VCloudExpressVApp>

refreshVApp

protected VCloudExpressVApp refreshVApp(URI id)
Specified by:
refreshVApp in class org.jclouds.vcloud.compute.internal.CommonVCloudComputeClientImpl<VCloudExpressVAppTemplate,VCloudExpressVApp>

powerOff

protected org.jclouds.vcloud.domain.Task powerOff(VCloudExpressVApp vApp)
Specified by:
powerOff in class org.jclouds.vcloud.compute.internal.CommonVCloudComputeClientImpl<VCloudExpressVAppTemplate,VCloudExpressVApp>

reset

protected org.jclouds.vcloud.domain.Task reset(VCloudExpressVApp vApp)
Specified by:
reset in class org.jclouds.vcloud.compute.internal.CommonVCloudComputeClientImpl<VCloudExpressVAppTemplate,VCloudExpressVApp>

undeploy

protected org.jclouds.vcloud.domain.Task undeploy(VCloudExpressVApp vApp)
Specified by:
undeploy in class org.jclouds.vcloud.compute.internal.CommonVCloudComputeClientImpl<VCloudExpressVAppTemplate,VCloudExpressVApp>


Copyright © 2009-2011 jclouds. All Rights Reserved.