mirror of https://github.com/apache/jclouds.git
issue 202. http://code.google.com/p/jclouds/issues/detail?id=202. added withMetadata to TemplateOptions
This commit is contained in:
parent
950776c0e9
commit
a56f2225b7
|
@ -374,6 +374,10 @@ public class BaseComputeService implements ComputeService {
|
|||
// don't override
|
||||
checkNotNull(node.getCredentials(),
|
||||
"If the default credentials need to be used, they can't be null");
|
||||
checkNotNull(node.getCredentials().account, "Account name for ssh authentication must be " +
|
||||
"specified. Try passing RunScriptOptions with new credentials");
|
||||
checkNotNull(node.getCredentials().key, "Key or password for ssh authentication must be " +
|
||||
"specified. Try passing RunScriptOptions with new credentials");
|
||||
}
|
||||
|
||||
ComputeUtils.SshCallable<?> callable;
|
||||
|
|
|
@ -38,6 +38,8 @@ public class TemplateOptions {
|
|||
|
||||
private int seconds = -1;
|
||||
|
||||
private boolean includeMetadata;
|
||||
|
||||
public int getPort() {
|
||||
return port;
|
||||
}
|
||||
|
@ -66,6 +68,10 @@ public class TemplateOptions {
|
|||
return destroyOnError;
|
||||
}
|
||||
|
||||
public boolean isIncludeMetadata() {
|
||||
return includeMetadata;
|
||||
}
|
||||
|
||||
/**
|
||||
* When the node is started, wait until the following port is active
|
||||
*/
|
||||
|
@ -127,6 +133,11 @@ public class TemplateOptions {
|
|||
return this;
|
||||
}
|
||||
|
||||
public TemplateOptions withMetadata() {
|
||||
this.includeMetadata = true;
|
||||
return this;
|
||||
}
|
||||
|
||||
public static class Builder {
|
||||
/**
|
||||
* @see TemplateOptions#destroyOnError
|
||||
|
@ -176,6 +187,11 @@ public class TemplateOptions {
|
|||
return options.authorizePublicKey(rsaKey);
|
||||
}
|
||||
|
||||
public static TemplateOptions withDetails() {
|
||||
TemplateOptions options = new TemplateOptions();
|
||||
return options.withMetadata();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -183,6 +199,6 @@ public class TemplateOptions {
|
|||
return "TemplateOptions [inboundPorts=" + Arrays.toString(inboundPorts) + ", privateKey="
|
||||
+ (privateKey != null) + ", publicKey=" + (publicKey != null) + ", runScript="
|
||||
+ (script != null) + ", destroyOnError=" + destroyOnError + ", port:seconds=" + port
|
||||
+ ":" + seconds + "]";
|
||||
+ ":" + seconds + ", metadata/details: " + includeMetadata + "]";
|
||||
}
|
||||
}
|
||||
|
|
|
@ -47,6 +47,7 @@ import org.jclouds.compute.domain.Template;
|
|||
import org.jclouds.compute.domain.TemplateBuilder;
|
||||
import org.jclouds.compute.options.GetNodesOptions;
|
||||
import org.jclouds.compute.options.RunScriptOptions;
|
||||
import org.jclouds.compute.options.TemplateOptions;
|
||||
import org.jclouds.domain.Credentials;
|
||||
import org.jclouds.domain.Location;
|
||||
import org.jclouds.http.HttpResponseException;
|
||||
|
@ -316,6 +317,14 @@ public abstract class BaseComputeServiceLiveTest {
|
|||
testGet();
|
||||
}
|
||||
|
||||
@Test(enabled = true/*, dependsOnMethods = "testTemplateMatch"*/)
|
||||
public void testTemplateOptions() throws Exception {
|
||||
TemplateOptions options = new TemplateOptions().withMetadata();
|
||||
Template t = client.templateBuilder().smallest().options(options).build();
|
||||
assert t.getOptions().isIncludeMetadata() : "The metadata option should be 'true' " +
|
||||
"for the created template";
|
||||
}
|
||||
|
||||
public void testListNodes() throws Exception {
|
||||
for (Entry<String, ? extends ComputeMetadata> node : client.getNodes().entrySet()) {
|
||||
assertEquals(node.getKey(), node.getValue().getId());
|
||||
|
|
Loading…
Reference in New Issue