public class TemplateOptions extends RunScriptOptions implements Cloneable
ComputeService#createNodesInGroup
operation.
import static org.jclouds.compute.options.TemplateOptions.Builder.*;
ComputeService client = // get connection
templateBuilder.options(inboundPorts(22, 80, 8080, 443));
Set 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 to options
.
- Author:
- Adrian Cole
-
-
Nested Class Summary
Nested Classes
Modifier and Type
Class and Description
static class
TemplateOptions.Builder
static class
TemplateOptions.ImmutableTemplateOptions
-
Nested classes/interfaces inherited from class org.jclouds.compute.options.RunScriptOptions
RunScriptOptions.ImmutableRunScriptOptions
-
Field Summary
Fields
Modifier and Type
Field and Description
protected boolean
blockUntilRunning
protected Set<Integer>
inboundPorts
static TemplateOptions
NONE
protected String
privateKey
protected String
publicKey
protected Statement
script
protected Set<String>
tags
protected 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 and Description
TemplateOptions()
-
Method Summary
Methods
Modifier and Type
Method and Description
<T extends TemplateOptions>
T
as(Class<T> clazz)
TemplateOptions
authorizePublicKey(String publicKey)
authorize an rsa ssh key.
TemplateOptions
blockOnComplete(boolean blockOnComplete)
As of version 1.1.0, we cannot kick off a script unless a node is in
RUNNING state.
TemplateOptions
blockOnPort(int port,
int seconds)
When the node is started, wait until the following port is active
TemplateOptions
blockUntilRunning(boolean blockUntilRunning)
Note
TemplateOptions
clone()
void
copyTo(TemplateOptions to)
TemplateOptions
dontAuthorizePublicKey()
boolean
equals(Object o)
int[]
getInboundPorts()
String
getPrivateKey()
String
getPublicKey()
Statement
getRunScript()
Set<String>
getTags()
Map<String,String>
getUserMetadata()
int
hashCode()
TemplateOptions
inboundPorts(int... ports)
Opens the set of ports to public access.
TemplateOptions
installPrivateKey(String privateKey)
replaces the rsa ssh key used at login.
TemplateOptions
nameTask(String name)
TemplateOptions
overrideAuthenticateSudo(boolean authenticateSudo)
TemplateOptions
overrideLoginCredentials(LoginCredentials overridingCredentials)
TemplateOptions
overrideLoginPassword(String password)
TemplateOptions
overrideLoginPrivateKey(String privateKey)
TemplateOptions
overrideLoginUser(String loginUser)
TemplateOptions
runAsRoot(boolean runAsRoot)
TemplateOptions
runScript(Statement script)
This script will be executed as the root user upon system startup.
TemplateOptions
runScript(String script)
This script will be executed as the root user upon system startup.
boolean
shouldBlockUntilRunning()
com.google.common.base.Objects.ToStringHelper
string()
TemplateOptions
tags(Iterable<String> tags)
assigns tags to the created nodes
TemplateOptions
userMetadata(Map<String,String> userMetadata)
TemplateOptions
userMetadata(String key,
String value)
TemplateOptions
wrapInInitScript(boolean wrapInInitScript)
default true
-
Methods inherited from class org.jclouds.compute.options.RunScriptOptions
getLoginPassword, getLoginPrivateKey, getLoginUser, getPort, getSeconds, getTaskName, hasLoginPassword, hasLoginPasswordOption, hasLoginPrivateKey, hasLoginPrivateKeyOption, 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:
equals
in class RunScriptOptions
-
hashCode
public int hashCode()
- Overrides:
hashCode
in class RunScriptOptions
-
string
public com.google.common.base.Objects.ToStringHelper string()
- Overrides:
string
in class RunScriptOptions
-
getInboundPorts
public int[] getInboundPorts()
-
getRunScript
public Statement getRunScript()
-
getPrivateKey
public String getPrivateKey()
-
getPublicKey
public String getPublicKey()
-
shouldBlockUntilRunning
public boolean shouldBlockUntilRunning()
-
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
-
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 with
TemplateOptions.ImmutableTemplateOptions.runScript(Statement)
and
RunScriptOptions.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 in Status#RUNNING
state
-
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: RunScriptOptions
When the node is started, wait until the following port is active
- Overrides:
blockOnPort
in class RunScriptOptions
-
nameTask
public TemplateOptions nameTask(String name)
- Overrides:
nameTask
in class RunScriptOptions
- Returns:
- What to call the task relating to this script; default
jclouds-script-timestamp
where timestamp is millis since
epoch
-
runAsRoot
public TemplateOptions runAsRoot(boolean runAsRoot)
- Overrides:
runAsRoot
in class RunScriptOptions
-
wrapInInitScript
public TemplateOptions wrapInInitScript(boolean wrapInInitScript)
Description copied from class: RunScriptOptions
default true
- Overrides:
wrapInInitScript
in class RunScriptOptions
- 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: RunScriptOptions
As of version 1.1.0, we cannot kick off a script unless a node is in
RUNNING state.
- Overrides:
blockOnComplete
in class RunScriptOptions
- 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:
overrideLoginCredentials
in class RunScriptOptions
-
overrideLoginPassword
public TemplateOptions overrideLoginPassword(String password)
- Overrides:
overrideLoginPassword
in class RunScriptOptions
-
overrideLoginPrivateKey
public TemplateOptions overrideLoginPrivateKey(String privateKey)
- Overrides:
overrideLoginPrivateKey
in class RunScriptOptions
-
overrideLoginUser
public TemplateOptions overrideLoginUser(String loginUser)
- Overrides:
overrideLoginUser
in class RunScriptOptions
-
overrideAuthenticateSudo
public TemplateOptions overrideAuthenticateSudo(boolean authenticateSudo)
- Overrides:
overrideAuthenticateSudo
in class RunScriptOptions
Copyright © 2009-2013 jclouds. All Rights Reserved.