public class NovaTemplateOptions extends TemplateOptions implements Cloneable
ComputeService#runNode
operation on the
"openstack-nova" provider.
import static org.jclouds.aws.ec2.compute.options.NovaTemplateOptions.Builder.*;
ComputeService api = // get connection
templateBuilder.options(inboundPorts(22, 80, 8080, 443));
Set set = api.createNodesInGroup(tag, 2, templateBuilder.build());
- Author:
- Adam Lowe
-
-
Nested Class Summary
Nested Classes
Modifier and Type
Class and Description
static class
NovaTemplateOptions.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
protected boolean
autoAssignFloatingIp
protected boolean
generateKeyPair
protected String
keyPairName
static NovaTemplateOptions
NONE
protected com.google.common.base.Optional<Set<String>>
securityGroupNames
protected byte[]
userData
-
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
NovaTemplateOptions()
-
Method Summary
-
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
-
-
Field Detail
-
autoAssignFloatingIp
protected boolean autoAssignFloatingIp
-
generateKeyPair
protected boolean generateKeyPair
-
keyPairName
protected String keyPairName
-
userData
protected byte[] userData
-
NONE
public static final NovaTemplateOptions NONE
-
Method Detail
-
clone
public NovaTemplateOptions 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
-
autoAssignFloatingIp
public NovaTemplateOptions autoAssignFloatingIp(boolean enable)
- See Also:
shouldAutoAssignFloatingIp()
-
generateKeyPair
public NovaTemplateOptions generateKeyPair(boolean enable)
- See Also:
shouldGenerateKeyPair()
-
keyPairName
public NovaTemplateOptions keyPairName(String keyPairName)
- See Also:
shouldGenerateKeyPair()
-
securityGroupNames
public NovaTemplateOptions securityGroupNames(String... securityGroupNames)
-
securityGroupNames
public NovaTemplateOptions securityGroupNames(Iterable<String> securityGroupNames)
-
shouldAutoAssignFloatingIp
public boolean shouldAutoAssignFloatingIp()
Note
This requires that NovaApi#getExtensionForZone(String)
to return
present
- Returns:
- true if auto assignment of a floating ip to each vm is enabled
-
getKeyPairName
public String getKeyPairName()
Specifies the keypair used to run instances with
- Returns:
- the keypair to be used
-
shouldGenerateKeyPair
public boolean shouldGenerateKeyPair()
- Returns:
- true if auto generation of keypairs is enabled
-
getSecurityGroupNames
public com.google.common.base.Optional<Set<String>> getSecurityGroupNames()
if unset, generate a default group prefixed with jclouds#
according
to TemplateOptions.getInboundPorts()
-
getUserData
public byte[] getUserData()
-
blockOnPort
public NovaTemplateOptions blockOnPort(int port,
int seconds)
When the node is started, wait until the following port is active
- Overrides:
blockOnPort
in class TemplateOptions
-
inboundPorts
public NovaTemplateOptions inboundPorts(int... ports)
Opens the set of ports to public access.
- Overrides:
inboundPorts
in class TemplateOptions
-
authorizePublicKey
public NovaTemplateOptions authorizePublicKey(String publicKey)
authorize an rsa ssh key.
- Overrides:
authorizePublicKey
in class TemplateOptions
-
installPrivateKey
public NovaTemplateOptions installPrivateKey(String privateKey)
replaces the rsa ssh key used at login.
- Overrides:
installPrivateKey
in class TemplateOptions
-
blockUntilRunning
public NovaTemplateOptions 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 NovaTemplateOptions dontAuthorizePublicKey()
- Overrides:
dontAuthorizePublicKey
in class TemplateOptions
-
nameTask
public NovaTemplateOptions 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 NovaTemplateOptions runAsRoot(boolean runAsRoot)
- Overrides:
runAsRoot
in class TemplateOptions
-
runScript
public NovaTemplateOptions 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 NovaTemplateOptions overrideLoginCredentials(LoginCredentials overridingCredentials)
- Overrides:
overrideLoginCredentials
in class TemplateOptions
-
overrideLoginPassword
public NovaTemplateOptions overrideLoginPassword(String password)
- Overrides:
overrideLoginPassword
in class TemplateOptions
-
overrideLoginPrivateKey
public NovaTemplateOptions overrideLoginPrivateKey(String privateKey)
- Overrides:
overrideLoginPrivateKey
in class TemplateOptions
-
overrideLoginUser
public NovaTemplateOptions overrideLoginUser(String loginUser)
- Overrides:
overrideLoginUser
in class TemplateOptions
-
overrideAuthenticateSudo
public NovaTemplateOptions overrideAuthenticateSudo(boolean authenticateSudo)
- Overrides:
overrideAuthenticateSudo
in class TemplateOptions
-
userMetadata
public NovaTemplateOptions userMetadata(Map<String,String> userMetadata)
- Overrides:
userMetadata
in class TemplateOptions
- Parameters:
userMetadata
- user-defined metadata to assign to this server
-
userMetadata
public NovaTemplateOptions 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
-
userData
public NovaTemplateOptions userData(byte[] userData)
User data as bytes (not base64-encoded)
Copyright © 2009-2013 jclouds. All Rights Reserved.