org.jclouds.joyent.cloudapi.v6_5.compute.options
Class JoyentCloudTemplateOptions

java.lang.Object
  extended by org.jclouds.compute.options.RunScriptOptions
      extended by org.jclouds.compute.options.TemplateOptions
          extended by org.jclouds.joyent.cloudapi.v6_5.compute.options.JoyentCloudTemplateOptions
All Implemented Interfaces:
Cloneable

public class JoyentCloudTemplateOptions
extends TemplateOptions
implements Cloneable

Contains options supported in the ComputeService#createNodesInGroup operation on the "joyent-cloudapi" provider.

Usage

The recommended way to instantiate a JoyentCloudTemplateOptions object is to statically import JoyentCloudTemplateOptions.Builder.* and invoke a static creation method followed by an instance mutator (if needed):

import static org.jclouds.joyent.cloudapi.v6_5.compute.options.JoyentCloudTemplateOptions.Builder.*;

ComputeService api = // get connection templateBuilder.options(inboundPorts(22, 80, 8080, 443)); Set set = api.createNodesInGroup(tag, 2, templateBuilder.build());

Author:
Adrian Cole

Nested Class Summary
static class JoyentCloudTemplateOptions.Builder
           
 
Nested classes/interfaces inherited from class org.jclouds.compute.options.TemplateOptions
TemplateOptions.ImmutableTemplateOptions
 
Nested classes/interfaces inherited from class org.jclouds.compute.options.RunScriptOptions
RunScriptOptions.ImmutableRunScriptOptions
 
Field Summary
protected  boolean generateKey
           
 
Fields inherited from class org.jclouds.compute.options.TemplateOptions
blockUntilRunning, inboundPorts, NONE, privateKey, publicKey, script, tags, userMetadata
 
Fields inherited from class org.jclouds.compute.options.RunScriptOptions
authenticateSudo, blockOnComplete, loginPassword, loginPrivateKey, loginUser, port, runAsRoot, seconds, taskName, wrapInInitScript
 
Constructor Summary
JoyentCloudTemplateOptions()
           
 
Method Summary
 JoyentCloudTemplateOptions authorizePublicKey(String publicKey)
          authorize an rsa ssh key.
 JoyentCloudTemplateOptions blockOnPort(int port, int seconds)
          When the node is started, wait until the following port is active
 JoyentCloudTemplateOptions blockUntilRunning(boolean blockUntilRunning)
          Note
 JoyentCloudTemplateOptions clone()
           
 void copyTo(TemplateOptions to)
           
 JoyentCloudTemplateOptions dontAuthorizePublicKey()
          
 boolean equals(Object o)
           
 JoyentCloudTemplateOptions generateKey(boolean enable)
           
 int hashCode()
           
 JoyentCloudTemplateOptions inboundPorts(int... ports)
          Opens the set of ports to public access.
 JoyentCloudTemplateOptions installPrivateKey(String privateKey)
          replaces the rsa ssh key used at login.
 JoyentCloudTemplateOptions nameTask(String name)
          
 JoyentCloudTemplateOptions overrideAuthenticateSudo(boolean authenticateSudo)
          
 JoyentCloudTemplateOptions overrideLoginCredentials(LoginCredentials overridingCredentials)
          
 JoyentCloudTemplateOptions overrideLoginPassword(String password)
          
 JoyentCloudTemplateOptions overrideLoginPrivateKey(String privateKey)
          
 JoyentCloudTemplateOptions overrideLoginUser(String loginUser)
          
 JoyentCloudTemplateOptions runAsRoot(boolean runAsRoot)
          
 JoyentCloudTemplateOptions runScript(Statement script)
          This script will be executed as the root user upon system startup.
 boolean shouldGenerateKey()
           
 com.google.common.base.Objects.ToStringHelper string()
           
 JoyentCloudTemplateOptions userMetadata(Map<String,String> userMetadata)
          
 JoyentCloudTemplateOptions userMetadata(String key, String value)
          
 
Methods inherited from class org.jclouds.compute.options.TemplateOptions
as, blockOnComplete, getInboundPorts, getPrivateKey, getPublicKey, getRunScript, getTags, getUserMetadata, runScript, shouldBlockUntilRunning, tags, wrapInInitScript
 
Methods inherited from class org.jclouds.compute.options.RunScriptOptions
getLoginPassword, getLoginPrivateKey, getLoginUser, getPort, getSeconds, getTaskName, hasLoginPassword, hasLoginPasswordOption, hasLoginPrivateKey, hasLoginPrivateKeyOption, shouldAuthenticateSudo, shouldBlockOnComplete, shouldRunAsRoot, shouldWrapInInitScript, toString
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

generateKey

protected boolean generateKey
Constructor Detail

JoyentCloudTemplateOptions

public JoyentCloudTemplateOptions()
Method Detail

clone

public JoyentCloudTemplateOptions clone()
Overrides:
clone in class TemplateOptions

copyTo

public void copyTo(TemplateOptions to)
Overrides:
copyTo in class TemplateOptions

equals

public boolean equals(Object o)
Overrides:
equals in class TemplateOptions

hashCode

public int hashCode()
Overrides:
hashCode in class TemplateOptions

string

public com.google.common.base.Objects.ToStringHelper string()
Overrides:
string in class TemplateOptions

generateKey

public JoyentCloudTemplateOptions generateKey(boolean enable)
See Also:
shouldGenerateKey()

shouldGenerateKey

public boolean shouldGenerateKey()
Returns:
true if auto generation of keys is enabled

blockOnPort

public JoyentCloudTemplateOptions blockOnPort(int port,
                                              int seconds)
When the node is started, wait until the following port is active

Overrides:
blockOnPort in class TemplateOptions

inboundPorts

public JoyentCloudTemplateOptions inboundPorts(int... ports)
Opens the set of ports to public access.

Overrides:
inboundPorts in class TemplateOptions

authorizePublicKey

public JoyentCloudTemplateOptions authorizePublicKey(String publicKey)
authorize an rsa ssh key.

Overrides:
authorizePublicKey in class TemplateOptions

installPrivateKey

public JoyentCloudTemplateOptions installPrivateKey(String privateKey)
replaces the rsa ssh key used at login.

Overrides:
installPrivateKey in class TemplateOptions

blockUntilRunning

public JoyentCloudTemplateOptions blockUntilRunning(boolean blockUntilRunning)

Note

As of version 1.1.0, this option is incompatible with TemplateOptions.ImmutableTemplateOptions.runScript(Statement) and RunScriptOptions.blockOnComplete(boolean), as all current implementations utilize ssh in order to execute scripts.

Overrides:
blockUntilRunning in class TemplateOptions
Parameters:
blockUntilRunning - (default true) whether to block until the nodes in this template are in NodeMetadata.Status.RUNNING state

dontAuthorizePublicKey

public JoyentCloudTemplateOptions dontAuthorizePublicKey()

Overrides:
dontAuthorizePublicKey in class TemplateOptions

nameTask

public JoyentCloudTemplateOptions nameTask(String name)

Overrides:
nameTask in class TemplateOptions
Returns:
What to call the task relating to this script; default jclouds-script-timestamp where timestamp is millis since epoch

runAsRoot

public JoyentCloudTemplateOptions runAsRoot(boolean runAsRoot)

Overrides:
runAsRoot in class TemplateOptions

runScript

public JoyentCloudTemplateOptions runScript(Statement script)
This script will be executed as the root user upon system startup. This script gets a prologue, so no #!/bin/bash required, path set up, etc

Overrides:
runScript in class TemplateOptions

overrideLoginCredentials

public JoyentCloudTemplateOptions overrideLoginCredentials(LoginCredentials overridingCredentials)

Overrides:
overrideLoginCredentials in class TemplateOptions

overrideLoginPassword

public JoyentCloudTemplateOptions overrideLoginPassword(String password)

Overrides:
overrideLoginPassword in class TemplateOptions

overrideLoginPrivateKey

public JoyentCloudTemplateOptions overrideLoginPrivateKey(String privateKey)

Overrides:
overrideLoginPrivateKey in class TemplateOptions

overrideLoginUser

public JoyentCloudTemplateOptions overrideLoginUser(String loginUser)

Overrides:
overrideLoginUser in class TemplateOptions

overrideAuthenticateSudo

public JoyentCloudTemplateOptions overrideAuthenticateSudo(boolean authenticateSudo)

Overrides:
overrideAuthenticateSudo in class TemplateOptions

userMetadata

public JoyentCloudTemplateOptions userMetadata(Map<String,String> userMetadata)

Overrides:
userMetadata in class TemplateOptions
Parameters:
userMetadata - user-defined metadata to assign to this server

userMetadata

public JoyentCloudTemplateOptions userMetadata(String key,
                                               String value)

Overrides:
userMetadata in class TemplateOptions
Parameters:
key - key to place into the metadata map
value - value to associate with that key


Copyright © 2009-2012 jclouds. All Rights Reserved.