本文整理汇总了Java中org.jclouds.scriptbuilder.domain.Statement类的典型用法代码示例。如果您正苦于以下问题:Java Statement类的具体用法?Java Statement怎么用?Java Statement使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
Statement类属于org.jclouds.scriptbuilder.domain包,在下文中一共展示了Statement类的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: runScriptOnGroup
import org.jclouds.scriptbuilder.domain.Statement; //导入依赖的package包/类
private static void runScriptOnGroup(final ComputeService compute,
final LoginCredentials login, final String groupName, final Statement command)
throws RunScriptOnNodesException {
// when you run commands, you can pass options to decide whether
// to run it as root, supply or own credentials vs from cache,
// and wrap in an init script vs directly invoke
Map<? extends NodeMetadata, ExecResponse> execResponses =
compute.runScriptOnNodesMatching(//
inGroup(groupName), // predicate used to select nodes
command, // what you actually intend to run
overrideLoginCredentials(login)); // use the local user & ssh key
for (Entry<? extends NodeMetadata, ExecResponse> response : execResponses.entrySet()) {
System.out.printf(
"<< node %s: %s%n",
response.getKey().getId(),
concat(response.getKey().getPrivateAddresses(), response.getKey()
.getPublicAddresses())
);
System.out.printf("<< %s%n", response.getValue());
}
}
示例2: createNodeWithAdminUserAndJDKInGroupOpeningPortAndMinRam
import org.jclouds.scriptbuilder.domain.Statement; //导入依赖的package包/类
public NodeMetadata createNodeWithAdminUserAndJDKInGroupOpeningPortAndMinRam(String group, int port, int minRam) {
ImmutableMap<String, String> userMetadata = ImmutableMap.<String, String> of("Name", group);
// we want everything as defaults except ram
Template defaultTemplate = compute.templateBuilder().build();
Template minecraft = compute.templateBuilder().fromTemplate(defaultTemplate).minRam(minRam).build();
// setup the template to customize the node with jdk, etc. also opening ports.
Statement bootstrap = newStatementList(AdminAccess.standard(), InstallJDK.fromOpenJDK());
minecraft.getOptions().inboundPorts(22, port).userMetadata(userMetadata).runScript(bootstrap);
// example of using a cloud-specific hook
if (minecraft.getOptions() instanceof AWSEC2TemplateOptions)
minecraft.getOptions().as(AWSEC2TemplateOptions.class).enableMonitoring();
logger.info(">> creating node type(%s) in group %s, opening ports 22, %s with admin user and jdk", minecraft
.getHardware().getId(), group, port);
try {
NodeMetadata node = getOnlyElement(compute.createNodesInGroup(group, 1, minecraft));
logger.info("<< available node(%s) os(%s) publicAddresses%s", node.getId(), node.getOperatingSystem(),
node.getPublicAddresses());
return node;
} catch (RunNodesException e) {
throw destroyBadNodesAndPropagate(e);
}
}
示例3: runScript
import org.jclouds.scriptbuilder.domain.Statement; //导入依赖的package包/类
/**
* {@inheritDoc}
*/
@Override
public DimensionDataCloudControllerTemplateOptions runScript(Statement script) {
return DimensionDataCloudControllerTemplateOptions.class.cast(super.runScript(script));
}
示例4: addStatement
import org.jclouds.scriptbuilder.domain.Statement; //导入依赖的package包/类
public void addStatement(Statement element) {
statements.add(element);
}
示例5: runScript
import org.jclouds.scriptbuilder.domain.Statement; //导入依赖的package包/类
/**
* {@inheritDoc}
*/
@Override
public AWSEC2TemplateOptions runScript(Statement script) {
return AWSEC2TemplateOptions.class.cast(super.runScript(script));
}
示例6: runScriptOnNode
import org.jclouds.scriptbuilder.domain.Statement; //导入依赖的package包/类
/**
* Runs a script on a node
* @param nodeIndex node index
* @param script the script to run
* @return the result
* @throws RunScriptOnNodesException
*/
public ExecResponse runScriptOnNode(int nodeIndex, Statement script) throws RunScriptOnNodesException {
requireOpenState();
NodeMetadata node = getNodeMetadata().asList().get(nodeIndex);
return log(node, getComputeService().runScriptOnNode(node.getId(), script, getScriptLoginCredentials().runAsRoot(true).wrapInInitScript(false)));
}
示例7: submitScriptOnNode
import org.jclouds.scriptbuilder.domain.Statement; //导入依赖的package包/类
/**
* Non-blocking script execution on a remote node
* @param nodeIndex node index
* @param script the script to run
* @return a ListenableFuture object to access the result once the script is complete
* @throws RunScriptOnNodesException
*/
public ListenableFuture<ExecResponse> submitScriptOnNode(int nodeIndex, Statement script) throws RunScriptOnNodesException {
requireOpenState();
NodeMetadata node = getNodeMetadata().asList().get(nodeIndex);
return log(node, getComputeService().submitScriptOnNode(node.getId(), script, getScriptLoginCredentials().runAsRoot(true).wrapInInitScript(false)));
}
示例8: runScriptOnAllNodes
import org.jclouds.scriptbuilder.domain.Statement; //导入依赖的package包/类
/**
* Runs a script on all nodes
* @param script the script to run
* @return the results from all nodes on which this script was run
* @throws RunScriptOnNodesException
*/
public Map<? extends NodeMetadata, ExecResponse> runScriptOnAllNodes(Statement script) throws RunScriptOnNodesException {
requireOpenState();
return log(getComputeService().runScriptOnNodesMatching(getGroupPredicate(), script, getScriptLoginCredentials().runAsRoot(true).wrapInInitScript(false)));
}