Package org.jclouds.compute.options
Class TemplateOptions
- java.lang.Object
 - 
- org.jclouds.compute.options.RunScriptOptions
 - 
- org.jclouds.compute.options.TemplateOptions
 
 
 
- 
- All Implemented Interfaces:
 Cloneable
- Direct Known Subclasses:
 AzureTemplateOptions,CloudStackTemplateOptions,DigitalOcean2TemplateOptions,DockerTemplateOptions,EC2TemplateOptions,GleSYSTemplateOptions,GoGridTemplateOptions,GoogleComputeEngineTemplateOptions,NovaTemplateOptions,PacketTemplateOptions,SoftLayerTemplateOptions,TemplateOptions.ImmutableTemplateOptions
public class TemplateOptions extends RunScriptOptions implements Cloneable
Contains options supported in theComputeService#createNodesInGroupoperation.Usage
The recommended way to instantiate a TemplateOptions object is to statically import TemplateOptions.* and invoke a static creation method followed by any/all desired instance mutators.import static org.jclouds.compute.options.TemplateOptions.Builder.*; ComputeService client = // get connection templateBuilder.options(inboundPorts(22, 80, 8080, 443)); Set extends NodeMetadata> set = client.createNodesInGroup(tag, 2, templateBuilder.build());Note that options can only be assigned to a builder once, so if assigning e.g. inboundPorts and tags, that must be done in with mutators in a single call to options --templateBuilder.options(inboundPorts(22, 80, 8080, 443).tags("I love it!"))-- not as repeated calls tooptions. 
- 
- 
Nested Class Summary
Nested Classes Modifier and Type Class Description static classTemplateOptions.Builderstatic classTemplateOptions.ImmutableTemplateOptions- 
Nested classes/interfaces inherited from class org.jclouds.compute.options.RunScriptOptions
RunScriptOptions.ImmutableRunScriptOptions 
 - 
 
- 
Field Summary
Fields Modifier and Type Field Description protected booleanblockUntilRunningprotected Set<Integer>inboundPortsprotected Set<String>networksprotected Set<String>nodeNamesstatic TemplateOptionsNONEprotected StringprivateKeyprotected StringpublicKeyprotected Statementscriptprotected Set<String>securityGroupsprotected Set<String>tagsprotected Map<String,String>userMetadata- 
Fields inherited from class org.jclouds.compute.options.RunScriptOptions
authenticateSudo, blockOnComplete, loginPassword, loginPrivateKey, loginUser, port, runAsRoot, seconds, taskName, wrapInInitScript 
 - 
 
- 
Constructor Summary
Constructors Constructor Description TemplateOptions() 
- 
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description <T extends TemplateOptions>
Tas(Class<T> clazz)TemplateOptionsauthorizePublicKey(String publicKey)authorize an rsa ssh key.TemplateOptionsblockOnComplete(boolean blockOnComplete)As of version 1.1.0, we cannot kick off a script unless a node is in RUNNING state.TemplateOptionsblockOnPort(int port, int seconds)When the node is started, wait until the following port is activeTemplateOptionsblockUntilRunning(boolean blockUntilRunning)NoteTemplateOptionsclone()voidcopyTo(TemplateOptions to)TemplateOptionsdontAuthorizePublicKey()booleanequals(Object o)Set<String>getGroups()int[]getInboundPorts()Set<String>getNetworks()Set<String>getNodeNames()StringgetPrivateKey()StringgetPublicKey()StatementgetRunScript()Set<String>getTags()Map<String,String>getUserMetadata()inthashCode()TemplateOptionsinboundPorts(int... ports)Opens the set of ports to public access.TemplateOptionsinstallPrivateKey(String privateKey)replaces the rsa ssh key used at login.TemplateOptionsnameTask(String name)TemplateOptionsnetworks(Iterable<String> networks)Assigns the created nodes to these networksTemplateOptionsnetworks(String... networks)TemplateOptionsnodeNames(Iterable<String> nodeNames)specifies names to be used for the created nodes.TemplateOptionsoverrideAuthenticateSudo(boolean authenticateSudo)TemplateOptionsoverrideLoginCredentials(LoginCredentials overridingCredentials)TemplateOptionsoverrideLoginPassword(String password)TemplateOptionsoverrideLoginPrivateKey(String privateKey)TemplateOptionsoverrideLoginUser(String loginUser)TemplateOptionsrunAsRoot(boolean runAsRoot)TemplateOptionsrunScript(String script)This script will be executed as the root user upon system startup.TemplateOptionsrunScript(Statement script)This script will be executed as the root user upon system startup.TemplateOptionssecurityGroups(Iterable<String> securityGroups)assigns the created nodes to these security groupsTemplateOptionssecurityGroups(String... securityGroups)booleanshouldBlockUntilRunning()com.google.common.base.MoreObjects.ToStringHelperstring()TemplateOptionstags(Iterable<String> tags)assigns tags to the created nodesTemplateOptionsuserMetadata(String key, String value)TemplateOptionsuserMetadata(Map<String,String> userMetadata)TemplateOptionswrapInInitScript(boolean wrapInInitScript)default true- 
Methods inherited from class org.jclouds.compute.options.RunScriptOptions
copyTo, getLoginPassword, getLoginPrivateKey, getLoginUser, getPort, getSeconds, getTaskName, hasLoginPassword, hasLoginPasswordOption, hasLoginPrivateKey, hasLoginPrivateKeyOption, overrideLoginPassword, overrideLoginPrivateKey, shouldAuthenticateSudo, shouldBlockOnComplete, shouldRunAsRoot, shouldWrapInInitScript, toString 
 - 
 
 - 
 
- 
- 
Field Detail
- 
NONE
public static final TemplateOptions NONE
 
- 
script
protected Statement script
 
- 
privateKey
protected String privateKey
 
- 
publicKey
protected String publicKey
 
- 
blockUntilRunning
protected boolean blockUntilRunning
 
 - 
 
- 
Method Detail
- 
clone
public TemplateOptions clone()
 
- 
copyTo
public void copyTo(TemplateOptions to)
 
- 
equals
public boolean equals(Object o)
- Overrides:
 equalsin classRunScriptOptions
 
- 
hashCode
public int hashCode()
- Overrides:
 hashCodein classRunScriptOptions
 
- 
string
public com.google.common.base.MoreObjects.ToStringHelper string()
- Overrides:
 stringin classRunScriptOptions
 
- 
getInboundPorts
public int[] getInboundPorts()
 
- 
getRunScript
public Statement getRunScript()
 
- 
getPrivateKey
public String getPrivateKey()
 
- 
getPublicKey
public String getPublicKey()
 
- 
shouldBlockUntilRunning
public boolean shouldBlockUntilRunning()
- See Also:
 blockUntilRunning(boolean)
 
- 
as
public <T extends TemplateOptions> T as(Class<T> clazz)
 
- 
runScript
public TemplateOptions runScript(String 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 
- 
runScript
public TemplateOptions 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 
- 
installPrivateKey
public TemplateOptions installPrivateKey(String privateKey)
replaces the rsa ssh key used at login. 
- 
dontAuthorizePublicKey
public TemplateOptions dontAuthorizePublicKey()
 
- 
authorizePublicKey
public TemplateOptions authorizePublicKey(String publicKey)
authorize an rsa ssh key. 
- 
tags
public TemplateOptions tags(Iterable<String> tags)
assigns tags to the created nodes 
- 
nodeNames
public TemplateOptions nodeNames(Iterable<String> nodeNames)
specifies names to be used for the created nodes. Note that this does not guarantee uniqueness - if there are already existing nodes with a name specified here, there will still be a new node created with the same name. Also, if more nodes are to be created than there are names, subsequent names will use the default naming strategy for that cloud. 
- 
securityGroups
public TemplateOptions securityGroups(Iterable<String> securityGroups)
assigns the created nodes to these security groups 
- 
securityGroups
public TemplateOptions securityGroups(String... securityGroups)
- See Also:
 TemplateOptions#securityGroups(Iterable) 
 
- 
networks
public TemplateOptions networks(Iterable<String> networks)
Assigns the created nodes to these networks 
- 
networks
public TemplateOptions networks(String... networks)
- See Also:
 networks(Iterable)
 
- 
inboundPorts
public TemplateOptions inboundPorts(int... ports)
Opens the set of ports to public access. 
- 
blockUntilRunning
public TemplateOptions blockUntilRunning(boolean blockUntilRunning)
Note
As of version 1.1.0, this option is incompatible withrunScript(Statement)andRunScriptOptions.blockOnComplete(boolean), as all current implementations utilize ssh in order to execute scripts.- Parameters:
 blockUntilRunning- (default true) whether to block until the nodes in this template are inStatus#RUNNINGstate
 
- 
userMetadata
public TemplateOptions userMetadata(Map<String,String> userMetadata)
- Parameters:
 userMetadata- user-defined metadata to assign to this server
 
- 
userMetadata
public TemplateOptions userMetadata(String key, String value)
- Parameters:
 key- key to place into the metadata mapvalue- value to associate with that key
 
- 
getUserMetadata
public Map<String,String> getUserMetadata()
- See Also:
 userMetadata(Map)
 
- 
blockOnPort
public TemplateOptions blockOnPort(int port, int seconds)
Description copied from class:RunScriptOptionsWhen the node is started, wait until the following port is active- Overrides:
 blockOnPortin classRunScriptOptions
 
- 
nameTask
public TemplateOptions nameTask(String name)
- Overrides:
 nameTaskin classRunScriptOptions- Returns:
 - What to call the task relating to this script; default
         
jclouds-script-timestampwhere timestamp is millis since epoch 
 
- 
runAsRoot
public TemplateOptions runAsRoot(boolean runAsRoot)
- Overrides:
 runAsRootin classRunScriptOptions
 
- 
wrapInInitScript
public TemplateOptions wrapInInitScript(boolean wrapInInitScript)
Description copied from class:RunScriptOptionsdefault true- Overrides:
 wrapInInitScriptin classRunScriptOptions- Parameters:
 wrapInInitScript- if the command is long-running, use this option to ensure it is wrapInInitScripted properly. (ex. have jclouds wrap it an init script, nohup, etc)- Returns:
 
 
- 
blockOnComplete
public TemplateOptions blockOnComplete(boolean blockOnComplete)
Description copied from class:RunScriptOptionsAs of version 1.1.0, we cannot kick off a script unless a node is in RUNNING state.- Overrides:
 blockOnCompletein classRunScriptOptions- Parameters:
 blockOnComplete- (default true) false means kick off the script in the background, but don't wait for it to finish. (as of version 1.1.0, implemented as nohup)
 
- 
overrideLoginCredentials
public TemplateOptions overrideLoginCredentials(LoginCredentials overridingCredentials)
- Overrides:
 overrideLoginCredentialsin classRunScriptOptions
 
- 
overrideLoginPassword
public TemplateOptions overrideLoginPassword(String password)
- Overrides:
 overrideLoginPasswordin classRunScriptOptions
 
- 
overrideLoginPrivateKey
public TemplateOptions overrideLoginPrivateKey(String privateKey)
- Overrides:
 overrideLoginPrivateKeyin classRunScriptOptions
 
- 
overrideLoginUser
public TemplateOptions overrideLoginUser(String loginUser)
- Overrides:
 overrideLoginUserin classRunScriptOptions
 
- 
overrideAuthenticateSudo
public TemplateOptions overrideAuthenticateSudo(boolean authenticateSudo)
- Overrides:
 overrideAuthenticateSudoin classRunScriptOptions
 
 - 
 
 -