org.jclouds.openstack.nova.v2_0.compute.options
Class NovaTemplateOptions

java.lang.Object
  extended by org.jclouds.compute.options.RunScriptOptions
      extended by org.jclouds.compute.options.TemplateOptions
          extended by org.jclouds.openstack.nova.v2_0.compute.options.NovaTemplateOptions
All Implemented Interfaces:
Cloneable

public class NovaTemplateOptions
extends TemplateOptions
implements Cloneable

Contains options supported in the ComputeService#runNode operation on the "openstack-nova" provider.

Usage

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

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
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
protected  boolean autoAssignFloatingIp
           
protected  boolean generateKeyPair
           
protected  String keyPairName
           
static NovaTemplateOptions NONE
           
protected  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
NovaTemplateOptions()
           
 
Method Summary
 NovaTemplateOptions authorizePublicKey(String publicKey)
          authorize an rsa ssh key.
 NovaTemplateOptions autoAssignFloatingIp(boolean enable)
           
 NovaTemplateOptions blockOnPort(int port, int seconds)
          When the node is started, wait until the following port is active
 NovaTemplateOptions blockUntilRunning(boolean blockUntilRunning)
          Note
 NovaTemplateOptions clone()
           
 void copyTo(TemplateOptions to)
           
 NovaTemplateOptions dontAuthorizePublicKey()
          
 boolean equals(Object o)
           
 NovaTemplateOptions generateKeyPair(boolean enable)
           
 String getKeyPairName()
          Specifies the keypair used to run instances with
 Set<String> getSecurityGroupNames()
           
 byte[] getUserData()
           
 int hashCode()
           
 NovaTemplateOptions inboundPorts(int... ports)
          Opens the set of ports to public access.
 NovaTemplateOptions installPrivateKey(String privateKey)
          replaces the rsa ssh key used at login.
 NovaTemplateOptions keyPairName(String keyPairName)
           
 NovaTemplateOptions nameTask(String name)
          
 NovaTemplateOptions overrideAuthenticateSudo(boolean authenticateSudo)
          
 NovaTemplateOptions overrideLoginCredentials(LoginCredentials overridingCredentials)
          
 NovaTemplateOptions overrideLoginPassword(String password)
          
 NovaTemplateOptions overrideLoginPrivateKey(String privateKey)
          
 NovaTemplateOptions overrideLoginUser(String loginUser)
          
 NovaTemplateOptions runAsRoot(boolean runAsRoot)
          
 NovaTemplateOptions runScript(Statement script)
          This script will be executed as the root user upon system startup.
 NovaTemplateOptions securityGroupNames(Iterable<String> securityGroupNames)
           
 NovaTemplateOptions securityGroupNames(String... securityGroupNames)
           
 boolean shouldAutoAssignFloatingIp()
          Note
 boolean shouldGenerateKeyPair()
          Note
 com.google.common.base.Objects.ToStringHelper string()
           
 NovaTemplateOptions userData(byte[] userData)
          User data as bytes (not base64-encoded)
 NovaTemplateOptions userMetadata(Map<String,String> userMetadata)
          
 NovaTemplateOptions 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

autoAssignFloatingIp

protected boolean autoAssignFloatingIp

securityGroupNames

protected Set<String> securityGroupNames

generateKeyPair

protected boolean generateKeyPair

keyPairName

protected String keyPairName

userData

protected byte[] userData

NONE

public static final NovaTemplateOptions NONE
Constructor Detail

NovaTemplateOptions

public NovaTemplateOptions()
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)
See Also:
CreateServerOptions.getSecurityGroupNames()

securityGroupNames

public NovaTemplateOptions securityGroupNames(Iterable<String> securityGroupNames)
See Also:
CreateServerOptions.getSecurityGroupNames()

shouldAutoAssignFloatingIp

public boolean shouldAutoAssignFloatingIp()

Note

This requires that NovaApi.getFloatingIPExtensionForZone(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()

Note

This requires that NovaApi.getKeyPairExtensionForZone(String) to return present

Returns:
true if auto generation of keypairs is enabled

getSecurityGroupNames

public Set<String> getSecurityGroupNames()
See Also:
CreateServerOptions.getSecurityGroupNames()

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 NodeMetadata.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 map
value - value to associate with that key

userData

public NovaTemplateOptions userData(byte[] userData)
User data as bytes (not base64-encoded)



Copyright © 2009-2012 jclouds. All Rights Reserved.