List of usage examples for com.amazonaws.services.opsworks.model DeploymentCommand DeploymentCommand
DeploymentCommand
From source file:com.tispr.aws.OpsWorksClient.java
License:Apache License
protected Deployment deploy(App app, List<String> instanceIds, String comment, String revision, boolean noWait) throws ExecutionException, InterruptedException { DeploymentCommand command = new DeploymentCommand().withName(DeploymentCommandName.Deploy); CreateDeploymentRequest deployReq = new CreateDeploymentRequest().withAppId(app.getAppId()) .withStackId(app.getStackId()).withCommand(command); if (instanceIds != null && !instanceIds.isEmpty()) { deployReq.withInstanceIds(instanceIds); }/*from www. ja v a2s .c o m*/ if (comment != null && !comment.isEmpty()) { deployReq.withComment(comment); } if (revision != null && !revision.isEmpty()) { String customJson = String.format( "{\"deploy\":{\"%s\":{\"migrate\":false,\"scm\":{\"revision\":\"%s\"}}}}", app.getShortname(), revision); deployReq.withCustomJson(customJson); } CreateDeploymentResult deployRes = opsWorksClient.createDeployment(deployReq); String deploymentId = deployRes.getDeploymentId(); Deployment deployment; int timeSpent = 0; while (timeSpent < DEPLOYMENT_TIMEOUT) { deployment = getDeployment(app.getAppId(), app.getStackId(), deploymentId); if (!deployment.getStatus().equals("running") || noWait) { return deployment; } Thread.sleep(DEPLOYMENT_CHECK_INTERVAL * 1000); timeSpent += DEPLOYMENT_CHECK_INTERVAL; } throw new IllegalStateException( String.format("Deployment [appId=%s], [stackId=%s], [deploymentId=%s] timed out.", app.getAppId(), app.getStackId(), deploymentId)); }