org.jclouds.aws.ec2.compute
Class AWSEC2TemplateOptions

java.lang.Object
  extended by org.jclouds.compute.options.RunScriptOptions
      extended by org.jclouds.compute.options.TemplateOptions
          extended by org.jclouds.ec2.compute.options.EC2TemplateOptions
              extended by org.jclouds.aws.ec2.compute.AWSEC2TemplateOptions
All Implemented Interfaces:
Cloneable

public class AWSEC2TemplateOptions
extends org.jclouds.ec2.compute.options.EC2TemplateOptions
implements Cloneable

Contains options supported in the ComputeService#runNode operation on the "ec2" provider.

Usage

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

import static org.jclouds.aws.ec2.compute.options.AWSEC2TemplateOptions.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
static class AWSEC2TemplateOptions.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
static AWSEC2TemplateOptions 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
AWSEC2TemplateOptions()
           
 
Method Summary
 AWSEC2TemplateOptions authorizePublicKey(String publicKey)
          
 AWSEC2TemplateOptions blockDeviceMappings(Iterable<? extends org.jclouds.ec2.domain.BlockDeviceMapping> blockDeviceMappings)
          
 AWSEC2TemplateOptions blockOnPort(int port, int seconds)
          
 AWSEC2TemplateOptions blockUntilRunning(boolean blockUntilRunning)
          
 AWSEC2TemplateOptions clone()
           
 void copyTo(org.jclouds.compute.options.TemplateOptions to)
           
 AWSEC2TemplateOptions dontAuthorizePublicKey()
          
 AWSEC2TemplateOptions enableMonitoring()
          Enable Cloudwatch monitoring
 boolean equals(Object o)
           
 Set<String> getGroupIds()
           
 String getIAMInstanceProfileArn()
          The Amazon resource name (ARN) of the IAM Instance Profile (IIP) to associate with the instance.
 String getIAMInstanceProfileName()
          The name of the IAM Instance Profile (IIP) to associate with the instance.
 String getPlacementGroup()
           
 RequestSpotInstancesOptions getSpotOptions()
           
 Float getSpotPrice()
           
 String getSubnetId()
           
 int hashCode()
           
 AWSEC2TemplateOptions iamInstanceProfileArn(String arn)
           
 AWSEC2TemplateOptions iamInstanceProfileName(String name)
           
 AWSEC2TemplateOptions inboundPorts(int... ports)
          
 AWSEC2TemplateOptions installPrivateKey(String privateKey)
          
 boolean isMonitoringEnabled()
           
 AWSEC2TemplateOptions keyPair(String keyPair)
          
 AWSEC2TemplateOptions mapEBSSnapshotToDeviceName(String deviceName, String snapshotId, Integer sizeInGib, boolean deleteOnTermination)
          
 AWSEC2TemplateOptions mapEphemeralDeviceToDeviceName(String deviceName, String virtualName)
          
 AWSEC2TemplateOptions mapNewVolumeToDeviceName(String deviceName, int sizeInGib, boolean deleteOnTermination)
          
 AWSEC2TemplateOptions nameTask(String name)
          
 AWSEC2TemplateOptions noKeyPair()
          
 AWSEC2TemplateOptions noPlacementGroup()
          Do not use a keypair on instances
 AWSEC2TemplateOptions overrideAuthenticateSudo(boolean authenticateSudo)
          
 AWSEC2TemplateOptions overrideLoginCredentials(org.jclouds.domain.LoginCredentials overridingCredentials)
          
 AWSEC2TemplateOptions overrideLoginPassword(String password)
          
 AWSEC2TemplateOptions overrideLoginPrivateKey(String privateKey)
          
 AWSEC2TemplateOptions overrideLoginUser(String loginUser)
          
 AWSEC2TemplateOptions placementGroup(String placementGroup)
          Specifies the keypair used to run instances with
 AWSEC2TemplateOptions runAsRoot(boolean runAsRoot)
          
 AWSEC2TemplateOptions runScript(org.jclouds.scriptbuilder.domain.Statement script)
          
 AWSEC2TemplateOptions securityGroupIds(Iterable<String> groupIds)
          Specifies the security group ids to be used for nodes with this template
 AWSEC2TemplateOptions securityGroupIds(String... groupIds)
           
 AWSEC2TemplateOptions securityGroups(Iterable<String> groupIds)
          
 AWSEC2TemplateOptions securityGroups(String... groupIds)
          
 boolean shouldAutomaticallyCreatePlacementGroup()
           
 AWSEC2TemplateOptions spotOptions(RequestSpotInstancesOptions spotOptions)
          Options for starting spot instances
 AWSEC2TemplateOptions spotPrice(Float spotPrice)
          Specifies the maximum spot price to use
 com.google.common.base.Objects.ToStringHelper string()
           
 AWSEC2TemplateOptions subnetId(String subnetId)
          Specifies the subnetId used to run instances in
 AWSEC2TemplateOptions unmapDeviceNamed(String deviceName)
          
 AWSEC2TemplateOptions userData(byte[] unencodedData)
          
 AWSEC2TemplateOptions userMetadata(Map<String,String> userMetadata)
          
 AWSEC2TemplateOptions userMetadata(String key, String value)
          
 
Methods inherited from class org.jclouds.ec2.compute.options.EC2TemplateOptions
blockOnComplete, getBlockDeviceMappings, getGroups, getKeyPair, getUserData, runScript, shouldAutomaticallyCreateKeyPair, tags, wrapInInitScript
 
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
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

NONE

public static final AWSEC2TemplateOptions NONE
Constructor Detail

AWSEC2TemplateOptions

public AWSEC2TemplateOptions()
Method Detail

clone

public AWSEC2TemplateOptions clone()
Overrides:
clone in class org.jclouds.ec2.compute.options.EC2TemplateOptions

copyTo

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

equals

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

hashCode

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

string

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

enableMonitoring

public AWSEC2TemplateOptions enableMonitoring()
Enable Cloudwatch monitoring

See Also:
CloudWatchClient

placementGroup

public AWSEC2TemplateOptions placementGroup(String placementGroup)
Specifies the keypair used to run instances with


noPlacementGroup

public AWSEC2TemplateOptions noPlacementGroup()
Do not use a keypair on instances


subnetId

public AWSEC2TemplateOptions subnetId(String subnetId)
Specifies the subnetId used to run instances in


iamInstanceProfileArn

public AWSEC2TemplateOptions iamInstanceProfileArn(String arn)
See Also:
AWSRunInstancesOptions.withIAMInstanceProfileArn(String)

iamInstanceProfileName

public AWSEC2TemplateOptions iamInstanceProfileName(String name)
See Also:
AWSRunInstancesOptions.withIAMInstanceProfileName(String)

spotPrice

public AWSEC2TemplateOptions spotPrice(Float spotPrice)
Specifies the maximum spot price to use


spotOptions

public AWSEC2TemplateOptions spotOptions(RequestSpotInstancesOptions spotOptions)
Options for starting spot instances


securityGroupIds

public AWSEC2TemplateOptions securityGroupIds(String... groupIds)
See Also:
AWSEC2TemplateOptions#securityGroupIds(Iterable)

securityGroupIds

public AWSEC2TemplateOptions securityGroupIds(Iterable<String> groupIds)
Specifies the security group ids to be used for nodes with this template


getGroupIds

public Set<String> getGroupIds()

blockDeviceMappings

public AWSEC2TemplateOptions blockDeviceMappings(Iterable<? extends org.jclouds.ec2.domain.BlockDeviceMapping> blockDeviceMappings)

Overrides:
blockDeviceMappings in class org.jclouds.ec2.compute.options.EC2TemplateOptions

userMetadata

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

Overrides:
userMetadata in class org.jclouds.ec2.compute.options.EC2TemplateOptions

userMetadata

public AWSEC2TemplateOptions userMetadata(String key,
                                          String value)

Overrides:
userMetadata in class org.jclouds.ec2.compute.options.EC2TemplateOptions

keyPair

public AWSEC2TemplateOptions keyPair(String keyPair)

Overrides:
keyPair in class org.jclouds.ec2.compute.options.EC2TemplateOptions

mapEBSSnapshotToDeviceName

public AWSEC2TemplateOptions mapEBSSnapshotToDeviceName(String deviceName,
                                                        String snapshotId,
                                                        Integer sizeInGib,
                                                        boolean deleteOnTermination)

Overrides:
mapEBSSnapshotToDeviceName in class org.jclouds.ec2.compute.options.EC2TemplateOptions

mapEphemeralDeviceToDeviceName

public AWSEC2TemplateOptions mapEphemeralDeviceToDeviceName(String deviceName,
                                                            String virtualName)

Overrides:
mapEphemeralDeviceToDeviceName in class org.jclouds.ec2.compute.options.EC2TemplateOptions

mapNewVolumeToDeviceName

public AWSEC2TemplateOptions mapNewVolumeToDeviceName(String deviceName,
                                                      int sizeInGib,
                                                      boolean deleteOnTermination)

Overrides:
mapNewVolumeToDeviceName in class org.jclouds.ec2.compute.options.EC2TemplateOptions

noKeyPair

public AWSEC2TemplateOptions noKeyPair()

Overrides:
noKeyPair in class org.jclouds.ec2.compute.options.EC2TemplateOptions

securityGroups

public AWSEC2TemplateOptions securityGroups(Iterable<String> groupIds)

Overrides:
securityGroups in class org.jclouds.ec2.compute.options.EC2TemplateOptions

securityGroups

public AWSEC2TemplateOptions securityGroups(String... groupIds)

Overrides:
securityGroups in class org.jclouds.ec2.compute.options.EC2TemplateOptions

unmapDeviceNamed

public AWSEC2TemplateOptions unmapDeviceNamed(String deviceName)

Overrides:
unmapDeviceNamed in class org.jclouds.ec2.compute.options.EC2TemplateOptions

userData

public AWSEC2TemplateOptions userData(byte[] unencodedData)

Overrides:
userData in class org.jclouds.ec2.compute.options.EC2TemplateOptions

blockOnPort

public AWSEC2TemplateOptions blockOnPort(int port,
                                         int seconds)

Overrides:
blockOnPort in class org.jclouds.ec2.compute.options.EC2TemplateOptions

inboundPorts

public AWSEC2TemplateOptions inboundPorts(int... ports)

Overrides:
inboundPorts in class org.jclouds.ec2.compute.options.EC2TemplateOptions

authorizePublicKey

public AWSEC2TemplateOptions authorizePublicKey(String publicKey)

Overrides:
authorizePublicKey in class org.jclouds.ec2.compute.options.EC2TemplateOptions

installPrivateKey

public AWSEC2TemplateOptions installPrivateKey(String privateKey)

Overrides:
installPrivateKey in class org.jclouds.ec2.compute.options.EC2TemplateOptions

blockUntilRunning

public AWSEC2TemplateOptions blockUntilRunning(boolean blockUntilRunning)

Overrides:
blockUntilRunning in class org.jclouds.ec2.compute.options.EC2TemplateOptions

dontAuthorizePublicKey

public AWSEC2TemplateOptions dontAuthorizePublicKey()

Overrides:
dontAuthorizePublicKey in class org.jclouds.ec2.compute.options.EC2TemplateOptions

nameTask

public AWSEC2TemplateOptions nameTask(String name)

Overrides:
nameTask in class org.jclouds.ec2.compute.options.EC2TemplateOptions

runAsRoot

public AWSEC2TemplateOptions runAsRoot(boolean runAsRoot)

Overrides:
runAsRoot in class org.jclouds.ec2.compute.options.EC2TemplateOptions

runScript

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

Overrides:
runScript in class org.jclouds.ec2.compute.options.EC2TemplateOptions

overrideLoginCredentials

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

Overrides:
overrideLoginCredentials in class org.jclouds.ec2.compute.options.EC2TemplateOptions

overrideLoginPassword

public AWSEC2TemplateOptions overrideLoginPassword(String password)

Overrides:
overrideLoginPassword in class org.jclouds.ec2.compute.options.EC2TemplateOptions

overrideLoginPrivateKey

public AWSEC2TemplateOptions overrideLoginPrivateKey(String privateKey)

Overrides:
overrideLoginPrivateKey in class org.jclouds.ec2.compute.options.EC2TemplateOptions

overrideLoginUser

public AWSEC2TemplateOptions overrideLoginUser(String loginUser)

Overrides:
overrideLoginUser in class org.jclouds.ec2.compute.options.EC2TemplateOptions

overrideAuthenticateSudo

public AWSEC2TemplateOptions overrideAuthenticateSudo(boolean authenticateSudo)

Overrides:
overrideAuthenticateSudo in class org.jclouds.ec2.compute.options.EC2TemplateOptions

getPlacementGroup

public String getPlacementGroup()
Returns:
placementGroup to use when running the instance or null, to generate a placementGroup.

shouldAutomaticallyCreatePlacementGroup

public boolean shouldAutomaticallyCreatePlacementGroup()
Returns:
true (default) if we are supposed to use a placementGroup

isMonitoringEnabled

public boolean isMonitoringEnabled()
Returns:
true (default) if we are supposed to enable cloudwatch

getSubnetId

public String getSubnetId()
Returns:
subnetId to use when running the instance or null.

getSpotPrice

public Float getSpotPrice()
Returns:
maximum spot price or null.

getSpotOptions

public RequestSpotInstancesOptions getSpotOptions()
Returns:
options for controlling spot instance requests.

getIAMInstanceProfileArn

public String getIAMInstanceProfileArn()
The Amazon resource name (ARN) of the IAM Instance Profile (IIP) to associate with the instance.

See Also:
AWSRunInstancesOptions.withIAMInstanceProfileArn(String)

getIAMInstanceProfileName

public String getIAMInstanceProfileName()
The name of the IAM Instance Profile (IIP) to associate with the instance.

See Also:
AWSRunInstancesOptions.withIAMInstanceProfileName(String)


Copyright © 2009-2013 jclouds. All Rights Reserved.