Class NovaTemplateOptions

java.lang.Object
org.jclouds.compute.options.RunScriptOptions
org.jclouds.compute.options.TemplateOptions
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<? extends NodeMetadata> set = api.createNodesInGroup(tag, 2, templateBuilder.build());

  • Field Details

    • autoAssignFloatingIp

      protected boolean autoAssignFloatingIp
    • floatingIpPoolNames

      protected com.google.common.base.Optional<Set<String>> floatingIpPoolNames
    • 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
    • availabilityZone

      protected String availabilityZone
    • blockDeviceMappings

      protected Set<BlockDeviceMapping> blockDeviceMappings
  • Constructor Details

    • NovaTemplateOptions

      public NovaTemplateOptions()
  • Method Details

    • 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.MoreObjects.ToStringHelper string()
      Overrides:
      string in class org.jclouds.compute.options.TemplateOptions
    • autoAssignFloatingIp

      public NovaTemplateOptions autoAssignFloatingIp(boolean enable)
      See Also:
    • floatingIpPoolNames

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

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

      public NovaTemplateOptions generateKeyPair(boolean enable)
      See Also:
    • keyPairName

      public NovaTemplateOptions keyPairName(String keyPairName)
      See Also:
    • shouldAutoAssignFloatingIp

      public boolean shouldAutoAssignFloatingIp()

      Note

      This requires that NovaApi.getExtensionApi(String) to return present
      Returns:
      true if auto assignment of a floating ip to each vm is enabled
    • availabilityZone

      public NovaTemplateOptions availabilityZone(String availabilityZone)
      See Also:
    • blockDeviceMappings

      public NovaTemplateOptions blockDeviceMappings(BlockDeviceMapping... blockDeviceMappings)
      See Also:
    • blockDeviceMappings

      public NovaTemplateOptions blockDeviceMappings(Iterable<BlockDeviceMapping> blockDeviceMappings)
      See Also:
    • 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.getKeyPairApi(String) to return present
      Returns:
      true if auto generation of keypairs is enabled
    • getUserData

      public byte[] getUserData()
    • getDiskConfig

      public String getDiskConfig()
      See Also:
    • getConfigDrive

      public boolean getConfigDrive()
      See Also:
    • getNovaNetworks

      public Set<Network> getNovaNetworks()
      See Also:
    • getAvailabilityZone

      public String getAvailabilityZone()
      See Also:
    • getBlockDeviceMappings

      public Set<BlockDeviceMapping> getBlockDeviceMappings()
    • 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:
    • 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:
    • 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: