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 org.jclouds.compute.options.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());


Nested Class Summary
static class NovaTemplateOptions.Builder
           
 
Nested classes/interfaces inherited from class org.jclouds.compute.options.TemplateOptions
org.jclouds.compute.options.TemplateOptions.ImmutableTemplateOptions
 
Nested classes/interfaces inherited from class org.jclouds.compute.options.RunScriptOptions
org.jclouds.compute.options.RunScriptOptions.ImmutableRunScriptOptions
 
Field Summary
protected  boolean autoAssignFloatingIp
           
protected  boolean configDrive
           
protected  String diskConfig
           
protected  com.google.common.base.Optional<Set<String>> floatingIpPoolNames
           
protected  boolean generateKeyPair
           
protected  String keyPairName
           
static NovaTemplateOptions NONE
           
protected  Set<Network> novaNetworks
           
protected  com.google.common.base.Optional<Set<String>> securityGroupNames
           
protected  byte[] userData
           
 
Fields inherited from class org.jclouds.compute.options.TemplateOptions
blockUntilRunning, inboundPorts, networks, nodeNames, privateKey, publicKey, script, securityGroups, 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)
          
 NovaTemplateOptions autoAssignFloatingIp(boolean enable)
           
 NovaTemplateOptions blockOnPort(int port, int seconds)
          
 NovaTemplateOptions blockUntilRunning(boolean blockUntilRunning)
          
 NovaTemplateOptions clone()
           
 NovaTemplateOptions configDrive(boolean configDrive)
          OpenStack can be configured to write metadata to a special configuration drive that will be attached to the instance when it boots.
 void copyTo(org.jclouds.compute.options.TemplateOptions to)
           
 NovaTemplateOptions diskConfig(String diskConfig)
           
 NovaTemplateOptions dontAuthorizePublicKey()
          
 boolean equals(Object o)
           
 NovaTemplateOptions floatingIpPoolNames(Iterable<String> floatingIpPoolNames)
           
 NovaTemplateOptions floatingIpPoolNames(String... floatingIpPoolNames)
           
 NovaTemplateOptions generateKeyPair(boolean enable)
           
 boolean getConfigDrive()
           
 String getDiskConfig()
           
 com.google.common.base.Optional<Set<String>> getFloatingIpPoolNames()
          The floating IP pool name(s) to use when allocating a FloatingIP.
 String getKeyPairName()
          Specifies the keypair used to run instances with
 Set<Network> getNovaNetworks()
           
 com.google.common.base.Optional<Set<String>> getSecurityGroupNames()
          if unset, generate a default group prefixed with jclouds# according to TemplateOptions.getInboundPorts()
 byte[] getUserData()
           
 int hashCode()
           
 NovaTemplateOptions inboundPorts(int... ports)
          
 NovaTemplateOptions installPrivateKey(String privateKey)
          
 NovaTemplateOptions keyPairName(String keyPairName)
           
 NovaTemplateOptions nameTask(String name)
          
 NovaTemplateOptions networks(Iterable<String> networks)
          
Ensures NovaTemplateOptions can work with networks specified as Strings.
 NovaTemplateOptions networks(String... networks)
          
Ensures NovaTemplateOptions can work with networks specified as Strings.
 NovaTemplateOptions nodeNames(Iterable<String> nodeNames)
          
 NovaTemplateOptions novaNetworks(Set<Network> novaNetworks)
           
 NovaTemplateOptions overrideAuthenticateSudo(boolean authenticateSudo)
          
 NovaTemplateOptions overrideLoginCredentials(org.jclouds.domain.LoginCredentials overridingCredentials)
          
 NovaTemplateOptions overrideLoginPassword(String password)
          
 NovaTemplateOptions overrideLoginPrivateKey(String privateKey)
          
 NovaTemplateOptions overrideLoginUser(String loginUser)
          
 NovaTemplateOptions runAsRoot(boolean runAsRoot)
          
 NovaTemplateOptions runScript(org.jclouds.scriptbuilder.domain.Statement script)
          
 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, getGroups, getInboundPorts, getNetworks, getNodeNames, getPrivateKey, getPublicKey, getRunScript, getTags, getUserMetadata, runScript, securityGroups, securityGroups, 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

floatingIpPoolNames

protected com.google.common.base.Optional<Set<String>> floatingIpPoolNames

securityGroupNames

protected com.google.common.base.Optional<Set<String>> securityGroupNames

generateKeyPair

protected boolean generateKeyPair

keyPairName

protected String keyPairName

userData

protected byte[] userData

diskConfig

protected String diskConfig

configDrive

protected boolean configDrive

novaNetworks

protected Set<Network> novaNetworks

NONE

public static final NovaTemplateOptions NONE
Constructor Detail

NovaTemplateOptions

public NovaTemplateOptions()
Method Detail

clone

public NovaTemplateOptions clone()
Overrides:
clone in class org.jclouds.compute.options.TemplateOptions

copyTo

public void copyTo(org.jclouds.compute.options.TemplateOptions to)
Overrides:
copyTo in class org.jclouds.compute.options.TemplateOptions

equals

public boolean equals(Object o)
Overrides:
equals in class org.jclouds.compute.options.TemplateOptions

hashCode

public int hashCode()
Overrides:
hashCode in class org.jclouds.compute.options.TemplateOptions

string

public com.google.common.base.Objects.ToStringHelper string()
Overrides:
string in class org.jclouds.compute.options.TemplateOptions

autoAssignFloatingIp

public NovaTemplateOptions autoAssignFloatingIp(boolean enable)
See Also:
getFloatingIpPoolNames()

floatingIpPoolNames

public NovaTemplateOptions floatingIpPoolNames(String... floatingIpPoolNames)
See Also:
getFloatingIpPoolNames()

floatingIpPoolNames

public NovaTemplateOptions floatingIpPoolNames(Iterable<String> floatingIpPoolNames)
See Also:
getFloatingIpPoolNames()

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#getExtensionForZone(String) to return present

Returns:
true if auto assignment of a floating ip to each vm is enabled

getFloatingIpPoolNames

public com.google.common.base.Optional<Set<String>> getFloatingIpPoolNames()
The floating IP pool name(s) to use when allocating a FloatingIP. Applicable only if #shouldAutoAssignFloatingIp() returns true. If not set will attempt to use whatever FloatingIP(s) can be found regardless of which pool they originated from

Returns:
floating-ip-pool names to use

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 com.google.common.base.Optional<Set<String>> getSecurityGroupNames()
if unset, generate a default group prefixed with jclouds# according to TemplateOptions.getInboundPorts()

See Also:
CreateServerOptions.getSecurityGroupNames()

getUserData

public byte[] getUserData()

getDiskConfig

public String getDiskConfig()
See Also:
CreateServerOptions#getDiskConfig()

getConfigDrive

public boolean getConfigDrive()
See Also:
CreateServerOptions#getConfigDrive()

getNovaNetworks

public Set<Network> getNovaNetworks()
See Also:
CreateServerOptions#getNetworks()

blockOnPort

public NovaTemplateOptions blockOnPort(int port,
                                       int seconds)

Overrides:
blockOnPort in class org.jclouds.compute.options.TemplateOptions

inboundPorts

public NovaTemplateOptions inboundPorts(int... ports)

Overrides:
inboundPorts in class org.jclouds.compute.options.TemplateOptions

authorizePublicKey

public NovaTemplateOptions authorizePublicKey(String publicKey)

Overrides:
authorizePublicKey in class org.jclouds.compute.options.TemplateOptions

installPrivateKey

public NovaTemplateOptions installPrivateKey(String privateKey)

Overrides:
installPrivateKey in class org.jclouds.compute.options.TemplateOptions

blockUntilRunning

public NovaTemplateOptions blockUntilRunning(boolean blockUntilRunning)

Overrides:
blockUntilRunning in class org.jclouds.compute.options.TemplateOptions

dontAuthorizePublicKey

public NovaTemplateOptions dontAuthorizePublicKey()

Overrides:
dontAuthorizePublicKey in class org.jclouds.compute.options.TemplateOptions

nameTask

public NovaTemplateOptions nameTask(String name)

Overrides:
nameTask in class org.jclouds.compute.options.TemplateOptions

runAsRoot

public NovaTemplateOptions runAsRoot(boolean runAsRoot)

Overrides:
runAsRoot in class org.jclouds.compute.options.TemplateOptions

runScript

public NovaTemplateOptions runScript(org.jclouds.scriptbuilder.domain.Statement script)

Overrides:
runScript in class org.jclouds.compute.options.TemplateOptions

overrideLoginCredentials

public NovaTemplateOptions overrideLoginCredentials(org.jclouds.domain.LoginCredentials overridingCredentials)

Overrides:
overrideLoginCredentials in class org.jclouds.compute.options.TemplateOptions

overrideLoginPassword

public NovaTemplateOptions overrideLoginPassword(String password)

Overrides:
overrideLoginPassword in class org.jclouds.compute.options.TemplateOptions

overrideLoginPrivateKey

public NovaTemplateOptions overrideLoginPrivateKey(String privateKey)

Overrides:
overrideLoginPrivateKey in class org.jclouds.compute.options.TemplateOptions

overrideLoginUser

public NovaTemplateOptions overrideLoginUser(String loginUser)

Overrides:
overrideLoginUser in class org.jclouds.compute.options.TemplateOptions

overrideAuthenticateSudo

public NovaTemplateOptions overrideAuthenticateSudo(boolean authenticateSudo)

Overrides:
overrideAuthenticateSudo in class org.jclouds.compute.options.TemplateOptions

userMetadata

public NovaTemplateOptions userMetadata(Map<String,String> userMetadata)

Overrides:
userMetadata in class org.jclouds.compute.options.TemplateOptions

userMetadata

public NovaTemplateOptions userMetadata(String key,
                                        String value)

Overrides:
userMetadata in class org.jclouds.compute.options.TemplateOptions

nodeNames

public NovaTemplateOptions nodeNames(Iterable<String> nodeNames)

Overrides:
nodeNames in class org.jclouds.compute.options.TemplateOptions

networks

public NovaTemplateOptions networks(Iterable<String> networks)

Ensures NovaTemplateOptions can work with networks specified as Strings. Also provides for compatibility with the abstraction layer.

Overrides:
networks in class org.jclouds.compute.options.TemplateOptions

networks

public NovaTemplateOptions networks(String... networks)

Ensures NovaTemplateOptions can work with networks specified as Strings. Also provides for compatibility with the abstraction layer.

Overrides:
networks in class org.jclouds.compute.options.TemplateOptions

userData

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


diskConfig

public NovaTemplateOptions diskConfig(String diskConfig)
See Also:
CreateServerOptions#getDiskConfig()

configDrive

public NovaTemplateOptions configDrive(boolean configDrive)
OpenStack can be configured to write metadata to a special configuration drive that will be attached to the instance when it boots. The instance can retrieve any information that would normally be available through the metadata service by mounting this disk and reading files from it. To enable the config drive, set this parameter to "true". This has to be enabled for user data cases.

See Also:
CreateServerOptions#getConfigDrive()

novaNetworks

public NovaTemplateOptions novaNetworks(Set<Network> novaNetworks)
Parameters:
novaNetworks - The list of network declarations. Nova-specific network declarations allow for specifying network UUIDs, port UUIDs, and fixed IPs. Unline networks(Iterable) this supports setting additional network parameters and not just network UUIDs.
See Also:
CreateServerOptions#getNetworks()


Copyright © 2009-2014 The Apache Software Foundation. All Rights Reserved.