org.jclouds.vcloud.terremark.compute
Class TerremarkVCloudComputeClient

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

@Singleton
public class TerremarkVCloudComputeClient
extends org.jclouds.vcloud.compute.internal.VCloudExpressComputeClientImpl

Author:
Adrian Cole

Field Summary
protected  TerremarkVCloudClient client
           
protected  org.jclouds.compute.strategy.PopulateDefaultLoginCredentialsForImageStrategy credentialsProvider
           
protected  Map<String,org.jclouds.domain.Credentials> credentialStore
           
protected  InternetServiceAndPublicIpAddressSupplier internetServiceAndPublicIpAddressSupplier
           
protected  javax.inject.Provider<String> passwordGenerator
           
 
Fields inherited from class org.jclouds.vcloud.compute.internal.VCloudExpressComputeClientImpl
vAppStatusToNodeState
 
Fields inherited from class org.jclouds.vcloud.compute.internal.CommonVCloudComputeClientImpl
logger, taskTester
 
Constructor Summary
protected TerremarkVCloudComputeClient(TerremarkVCloudClient client, org.jclouds.compute.strategy.PopulateDefaultLoginCredentialsForImageStrategy credentialsProvider, javax.inject.Provider<String> passwordGenerator, com.google.common.base.Predicate<URI> successTester, Map<org.jclouds.vcloud.domain.Status,org.jclouds.compute.domain.NodeState> vAppStatusToNodeState, Map<String,org.jclouds.domain.Credentials> credentialStore, InternetServiceAndPublicIpAddressSupplier internetServiceAndPublicIpAddressSupplier)
           
 
Method Summary
 String createPublicAddressMappedToPorts(URI vAppId, int... ports)
           
 Set<String> getPrivateAddresses(URI id)
           
 Set<String> getPublicAddresses(URI id)
           
 org.jclouds.vcloud.domain.VCloudExpressVApp start(URI VDC, URI templateId, String name, org.jclouds.vcloud.options.InstantiateVAppTemplateOptions options, int... portsToOpen)
           
 void stop(URI id)
          deletes the internet service and nodes associated with the vapp.
 
Methods inherited from class org.jclouds.vcloud.compute.internal.VCloudExpressComputeClientImpl
deleteVApp, getStatus, powerOff, refreshVApp, reset, undeploy
 
Methods inherited from class org.jclouds.vcloud.compute.internal.CommonVCloudComputeClientImpl
reset
 
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
 

Field Detail

client

protected final TerremarkVCloudClient client

credentialsProvider

protected final org.jclouds.compute.strategy.PopulateDefaultLoginCredentialsForImageStrategy credentialsProvider

passwordGenerator

protected final javax.inject.Provider<String> passwordGenerator

credentialStore

protected final Map<String,org.jclouds.domain.Credentials> credentialStore

internetServiceAndPublicIpAddressSupplier

protected final InternetServiceAndPublicIpAddressSupplier internetServiceAndPublicIpAddressSupplier
Constructor Detail

TerremarkVCloudComputeClient

@Inject
protected TerremarkVCloudComputeClient(TerremarkVCloudClient client,
                                              org.jclouds.compute.strategy.PopulateDefaultLoginCredentialsForImageStrategy credentialsProvider,
                                              @Named(value="PASSWORD")
                                              javax.inject.Provider<String> passwordGenerator,
                                              com.google.common.base.Predicate<URI> successTester,
                                              Map<org.jclouds.vcloud.domain.Status,org.jclouds.compute.domain.NodeState> vAppStatusToNodeState,
                                              Map<String,org.jclouds.domain.Credentials> credentialStore,
                                              InternetServiceAndPublicIpAddressSupplier internetServiceAndPublicIpAddressSupplier)
Method Detail

start

public org.jclouds.vcloud.domain.VCloudExpressVApp start(@Nullable
                                                         URI VDC,
                                                         URI templateId,
                                                         String name,
                                                         org.jclouds.vcloud.options.InstantiateVAppTemplateOptions options,
                                                         int... portsToOpen)
Specified by:
start in interface org.jclouds.vcloud.compute.VCloudExpressComputeClient
Overrides:
start in class org.jclouds.vcloud.compute.internal.VCloudExpressComputeClientImpl

createPublicAddressMappedToPorts

public String createPublicAddressMappedToPorts(URI vAppId,
                                               int... ports)

stop

public void stop(URI id)
deletes the internet service and nodes associated with the vapp. Deletes the IP address, if there are no others using it. Finally, it powers off and deletes the vapp. Note that we do not call undeploy, as terremark does not support the command.

Specified by:
stop in interface org.jclouds.vcloud.compute.CommonVCloudComputeClient
Overrides:
stop in class org.jclouds.vcloud.compute.internal.CommonVCloudComputeClientImpl<org.jclouds.vcloud.domain.VCloudExpressVAppTemplate,org.jclouds.vcloud.domain.VCloudExpressVApp>

getPrivateAddresses

public Set<String> getPrivateAddresses(URI id)
Specified by:
getPrivateAddresses in interface org.jclouds.vcloud.compute.CommonVCloudComputeClient
Overrides:
getPrivateAddresses in class org.jclouds.vcloud.compute.internal.VCloudExpressComputeClientImpl

getPublicAddresses

public Set<String> getPublicAddresses(URI id)
Specified by:
getPublicAddresses in interface org.jclouds.vcloud.compute.CommonVCloudComputeClient
Overrides:
getPublicAddresses in class org.jclouds.vcloud.compute.internal.VCloudExpressComputeClientImpl


Copyright © 2009-2011 jclouds. All Rights Reserved.