public void executeChangeSet(String changeSetArn) { cloudFormation.executeChangeSet(new ExecuteChangeSetRequest().withChangeSetName(changeSetArn)); logger.lifecycle("Executing change set {}", changeSetArn); }
public Map<String, String> executeChangeSet(String changeSetName, PollConfiguration pollConfiguration) throws ExecutionException { if (!this.changeSetHasChanges(changeSetName) || !this.exists()) { // If the change set has no changes or the stack was not prepared we should simply delete it. this.listener.getLogger().format("Deleting empty change set %s for stack %s %n", changeSetName, this.stack); DeleteChangeSetRequest req = new DeleteChangeSetRequest().withChangeSetName(changeSetName).withStackName(this.stack); this.client.deleteChangeSet(req); Map<String, String> outputs = this.describeOutputs(); outputs.put(UPDATE_STATUS_OUTPUT, "false"); return outputs; } else { this.listener.getLogger().format("Executing change set %s for stack %s %n", changeSetName, this.stack); final Waiter<DescribeStacksRequest> waiter; if (this.isInReview()) { waiter = this.client.waiters().stackCreateComplete(); } else { waiter = this.client.waiters().stackUpdateComplete(); } ExecuteChangeSetRequest req = new ExecuteChangeSetRequest().withChangeSetName(changeSetName).withStackName(this.stack); this.client.executeChangeSet(req); new EventPrinter(this.client, this.listener).waitAndPrintStackEvents(this.stack, waiter, pollConfiguration); this.listener.getLogger().format("Executed change set %s for stack %s %n", changeSetName, this.stack); Map<String, String> outputs = this.describeOutputs(); outputs.put(UPDATE_STATUS_OUTPUT, "true"); return outputs; } }
.orElseThrow(() -> new GradleException("ChangeSet for stack " + stackName + " was not found.")) .getChangeSetName(); ExecuteChangeSetRequest req = new ExecuteChangeSetRequest() .withStackName(stackName) .withChangeSetName(changeSetName);