public class EC2TemplateOptions extends TemplateOptions implements Cloneable
ComputeService#runNode
operation on
the "ec2" provider.
import static org.jclouds.aws.ec2.compute.options.EC2TemplateOptions.Builder.*;
ComputeService client = // get connection
templateBuilder.options(inboundPorts(22, 80, 8080, 443));
Set set = client.createNodesInGroup(tag, 2, templateBuilder.build());
- Author:
- Adrian Cole
-
-
Nested Class Summary
Nested Classes
Modifier and Type
Class and Description
static class
EC2TemplateOptions.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
Fields
Modifier and Type
Field and Description
static EC2TemplateOptions
NONE
-
Fields inherited from class org.jclouds.compute.options.TemplateOptions
blockUntilRunning, inboundPorts, 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
Constructors
Constructor and Description
EC2TemplateOptions()
-
Method Summary
Methods
Modifier and Type
Method and Description
EC2TemplateOptions
authorizePublicKey(String publicKey)
authorize an rsa ssh key.
EC2TemplateOptions
blockDeviceMappings(Iterable<? extends BlockDeviceMapping> blockDeviceMappings)
EC2TemplateOptions
blockOnComplete(boolean blockOnComplete)
As of version 1.1.0, we cannot kick off a script unless a node is in
RUNNING state.
EC2TemplateOptions
blockOnPort(int port,
int seconds)
When the node is started, wait until the following port is active
EC2TemplateOptions
blockUntilRunning(boolean blockUntilRunning)
Note
EC2TemplateOptions
clone()
void
copyTo(TemplateOptions to)
EC2TemplateOptions
dontAuthorizePublicKey()
boolean
equals(Object o)
Set<BlockDeviceMapping>
getBlockDeviceMappings()
Set<String>
getGroups()
String
getKeyPair()
byte[]
getUserData()
int
hashCode()
EC2TemplateOptions
inboundPorts(int... ports)
Opens the set of ports to public access.
EC2TemplateOptions
installPrivateKey(String privateKey)
replaces the rsa ssh key used at login.
EC2TemplateOptions
keyPair(String keyPair)
Specifies the keypair used to run instances with
EC2TemplateOptions
mapEBSSnapshotToDeviceName(String deviceName,
String snapshotId,
Integer sizeInGib,
boolean deleteOnTermination)
EC2TemplateOptions
mapEphemeralDeviceToDeviceName(String deviceName,
String virtualName)
EC2TemplateOptions
mapNewVolumeToDeviceName(String deviceName,
int sizeInGib,
boolean deleteOnTermination)
EC2TemplateOptions
nameTask(String name)
EC2TemplateOptions
noKeyPair()
Do not use a keypair on instances
EC2TemplateOptions
overrideAuthenticateSudo(boolean authenticateSudo)
EC2TemplateOptions
overrideLoginCredentials(LoginCredentials overridingCredentials)
EC2TemplateOptions
overrideLoginPassword(String password)
EC2TemplateOptions
overrideLoginPrivateKey(String privateKey)
EC2TemplateOptions
overrideLoginUser(String loginUser)
EC2TemplateOptions
runAsRoot(boolean runAsRoot)
EC2TemplateOptions
runScript(Statement script)
This script will be executed as the root user upon system startup.
EC2TemplateOptions
runScript(String script)
This script will be executed as the root user upon system startup.
EC2TemplateOptions
securityGroups(Iterable<String> groupNames)
Specifies the security groups to be used for nodes with this template
EC2TemplateOptions
securityGroups(String... groupNames)
boolean
shouldAutomaticallyCreateKeyPair()
com.google.common.base.Objects.ToStringHelper
string()
EC2TemplateOptions
tags(Iterable<String> tags)
assigns tags to the created nodes
EC2TemplateOptions
unmapDeviceNamed(String deviceName)
EC2TemplateOptions
userData(byte[] unencodedData)
Unencoded data
EC2TemplateOptions
userMetadata(Map<String,String> userMetadata)
EC2TemplateOptions
userMetadata(String key,
String value)
EC2TemplateOptions
wrapInInitScript(boolean wrapInInitScript)
default true
-
Methods inherited from class org.jclouds.compute.options.TemplateOptions
as, getInboundPorts, getPrivateKey, getPublicKey, getRunScript, getTags, getUserMetadata, shouldBlockUntilRunning
-
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 EC2TemplateOptions NONE
-
Method Detail
-
clone
public EC2TemplateOptions 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
-
securityGroups
public EC2TemplateOptions securityGroups(String... groupNames)
- See Also:
EC2TemplateOptions#securityGroups(Iterable)
-
securityGroups
public EC2TemplateOptions securityGroups(Iterable<String> groupNames)
Specifies the security groups to be used for nodes with this template
-
userData
public EC2TemplateOptions userData(byte[] unencodedData)
Unencoded data
-
keyPair
public EC2TemplateOptions keyPair(String keyPair)
Specifies the keypair used to run instances with
-
noKeyPair
public EC2TemplateOptions noKeyPair()
Do not use a keypair on instances
-
mapEBSSnapshotToDeviceName
public EC2TemplateOptions mapEBSSnapshotToDeviceName(String deviceName,
String snapshotId,
@Nullable
Integer sizeInGib,
boolean deleteOnTermination)
-
mapNewVolumeToDeviceName
public EC2TemplateOptions mapNewVolumeToDeviceName(String deviceName,
int sizeInGib,
boolean deleteOnTermination)
-
mapEphemeralDeviceToDeviceName
public EC2TemplateOptions mapEphemeralDeviceToDeviceName(String deviceName,
String virtualName)
-
unmapDeviceNamed
public EC2TemplateOptions unmapDeviceNamed(String deviceName)
-
blockDeviceMappings
public EC2TemplateOptions blockDeviceMappings(Iterable<? extends BlockDeviceMapping> blockDeviceMappings)
-
blockOnPort
public EC2TemplateOptions blockOnPort(int port,
int seconds)
When the node is started, wait until the following port is active
- Overrides:
blockOnPort
in class TemplateOptions
-
inboundPorts
public EC2TemplateOptions inboundPorts(int... ports)
Opens the set of ports to public access.
- Overrides:
inboundPorts
in class TemplateOptions
-
authorizePublicKey
public EC2TemplateOptions authorizePublicKey(String publicKey)
authorize an rsa ssh key.
- Overrides:
authorizePublicKey
in class TemplateOptions
-
installPrivateKey
public EC2TemplateOptions installPrivateKey(String privateKey)
replaces the rsa ssh key used at login.
- Overrides:
installPrivateKey
in class TemplateOptions
-
blockUntilRunning
public EC2TemplateOptions 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 Status#RUNNING
state
-
dontAuthorizePublicKey
public EC2TemplateOptions dontAuthorizePublicKey()
- Overrides:
dontAuthorizePublicKey
in class TemplateOptions
-
nameTask
public EC2TemplateOptions 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 EC2TemplateOptions runAsRoot(boolean runAsRoot)
- Overrides:
runAsRoot
in class TemplateOptions
-
runScript
public EC2TemplateOptions 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 EC2TemplateOptions overrideLoginCredentials(LoginCredentials overridingCredentials)
- Overrides:
overrideLoginCredentials
in class TemplateOptions
-
overrideLoginPassword
public EC2TemplateOptions overrideLoginPassword(String password)
- Overrides:
overrideLoginPassword
in class TemplateOptions
-
overrideLoginPrivateKey
public EC2TemplateOptions overrideLoginPrivateKey(String privateKey)
- Overrides:
overrideLoginPrivateKey
in class TemplateOptions
-
overrideLoginUser
public EC2TemplateOptions overrideLoginUser(String loginUser)
- Overrides:
overrideLoginUser
in class TemplateOptions
-
overrideAuthenticateSudo
public EC2TemplateOptions overrideAuthenticateSudo(boolean authenticateSudo)
- Overrides:
overrideAuthenticateSudo
in class TemplateOptions
-
userMetadata
public EC2TemplateOptions userMetadata(Map<String,String> userMetadata)
- Overrides:
userMetadata
in class TemplateOptions
- Parameters:
userMetadata
- user-defined metadata to assign to this server
-
userMetadata
public EC2TemplateOptions userMetadata(String key,
String value)
- Overrides:
userMetadata
in class TemplateOptions
- Parameters:
key
- key to place into the metadata mapvalue
- value to associate with that key
-
runScript
public EC2TemplateOptions 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
- Overrides:
runScript
in class TemplateOptions
-
tags
public EC2TemplateOptions tags(Iterable<String> tags)
assigns tags to the created nodes
- Overrides:
tags
in class TemplateOptions
-
wrapInInitScript
public EC2TemplateOptions wrapInInitScript(boolean wrapInInitScript)
default true
- Overrides:
wrapInInitScript
in class TemplateOptions
- 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 EC2TemplateOptions blockOnComplete(boolean blockOnComplete)
As of version 1.1.0, we cannot kick off a script unless a node is in
RUNNING state.
- Overrides:
blockOnComplete
in class TemplateOptions
- 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)
-
getGroups
public Set<String> getGroups()
- Returns:
- groupNames the user specified to run instances with, or zero
length set to create an implicit group
-
getKeyPair
public String getKeyPair()
- Returns:
- keyPair to use when running the instance or null, to generate a
keypair.
-
shouldAutomaticallyCreateKeyPair
public boolean shouldAutomaticallyCreateKeyPair()
- Returns:
- true (default) if we are supposed to use a keypair
-
getUserData
public byte[] getUserData()
- Returns:
- unencoded user data.
-
getBlockDeviceMappings
public Set<BlockDeviceMapping> getBlockDeviceMappings()
- Returns:
- BlockDeviceMapping to use when running the instance or null.
Copyright © 2009-2013 jclouds. All Rights Reserved.