com.amazonaws.services.cloudformation.waiters.AmazonCloudFormationWaiters Java Examples
The following examples show how to use
com.amazonaws.services.cloudformation.waiters.AmazonCloudFormationWaiters.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: CloudformationStackTests.java From pipeline-aws-plugin with Apache License 2.0 | 6 votes |
@Test public void executeChangeSetWithChanges() throws ExecutionException { TaskListener taskListener = Mockito.mock(TaskListener.class); Mockito.when(taskListener.getLogger()).thenReturn(System.out); Mockito.when(taskListener.getLogger()).thenReturn(System.out); AmazonCloudFormation client = Mockito.mock(AmazonCloudFormation.class); Mockito.when(client.waiters()).thenReturn(new AmazonCloudFormationWaiters(client)); CloudFormationStack stack = new CloudFormationStack(client, "foo", taskListener); Mockito.when(client.describeChangeSet(new DescribeChangeSetRequest() .withStackName("foo") .withChangeSetName("bar") )).thenReturn(new DescribeChangeSetResult() .withChanges(new Change()) ); Mockito.when(client.describeStacks(new DescribeStacksRequest().withStackName("foo"))) .thenReturn(new DescribeStacksResult().withStacks(new Stack().withStackStatus("CREATE_COMPLETE").withOutputs(new Output().withOutputKey("bar").withOutputValue("baz")))); Map<String, String> outputs = stack.executeChangeSet("bar", PollConfiguration.DEFAULT); Mockito.verify(client).executeChangeSet(Mockito.any(ExecuteChangeSetRequest.class)); Mockito.verify(this.eventPrinter).waitAndPrintStackEvents(Mockito.eq("foo"), Mockito.any(Waiter.class), Mockito.eq(PollConfiguration.DEFAULT)); Assertions.assertThat(outputs).containsEntry("bar", "baz").containsEntry("jenkinsStackUpdateStatus", "true"); }
Example #2
Source File: CloudformationStackTests.java From pipeline-aws-plugin with Apache License 2.0 | 6 votes |
@Test public void createNewStackChangeSet() throws ExecutionException { TaskListener taskListener = Mockito.mock(TaskListener.class); Mockito.when(taskListener.getLogger()).thenReturn(System.out); AmazonCloudFormation client = Mockito.mock(AmazonCloudFormation.class); Mockito.when(client.waiters()).thenReturn(new AmazonCloudFormationWaiters(client)); Mockito.when(client.describeStacks(new DescribeStacksRequest().withStackName("foo"))) .thenReturn(new DescribeStacksResult()); CloudFormationStack stack = new CloudFormationStack(client, "foo", taskListener); stack.createChangeSet("c1", "templateBody", null, Collections.emptyList(), Collections.emptyList(), Collections.emptyList(), PollConfiguration.DEFAULT, ChangeSetType.CREATE, "myarn", null); ArgumentCaptor<CreateChangeSetRequest> captor = ArgumentCaptor.forClass(CreateChangeSetRequest.class); Mockito.verify(client).createChangeSet(captor.capture()); Assertions.assertThat(captor.getValue()).isEqualTo(new CreateChangeSetRequest() .withChangeSetType(ChangeSetType.CREATE) .withStackName("foo") .withTemplateBody("templateBody") .withCapabilities(Capability.values()) .withParameters(Collections.emptyList()) .withChangeSetName("c1") .withRoleARN("myarn") ); Mockito.verify(this.eventPrinter).waitAndPrintChangeSetEvents(Mockito.eq("foo"), Mockito.eq("c1"), Mockito.any(Waiter.class), Mockito.eq(PollConfiguration.DEFAULT)); }
Example #3
Source File: CloudformationStackTests.java From pipeline-aws-plugin with Apache License 2.0 | 6 votes |
@Test public void updateStackWithStackChangeSet() throws ExecutionException { TaskListener taskListener = Mockito.mock(TaskListener.class); Mockito.when(taskListener.getLogger()).thenReturn(System.out); AmazonCloudFormation client = Mockito.mock(AmazonCloudFormation.class); Mockito.when(client.waiters()).thenReturn(new AmazonCloudFormationWaiters(client)); Mockito.when(client.describeStacks(new DescribeStacksRequest().withStackName("foo"))) .thenReturn(new DescribeStacksResult().withStacks(new Stack().withStackStatus("CREATE_COMPLETE"))); CloudFormationStack stack = new CloudFormationStack(client, "foo", taskListener); stack.createChangeSet("c1", "templateBody", null, Collections.emptyList(), Collections.emptyList(), Collections.emptyList(), PollConfiguration.DEFAULT, ChangeSetType.UPDATE, "myarn", null); ArgumentCaptor<CreateChangeSetRequest> captor = ArgumentCaptor.forClass(CreateChangeSetRequest.class); Mockito.verify(client).createChangeSet(captor.capture()); Assertions.assertThat(captor.getValue()).isEqualTo(new CreateChangeSetRequest() .withChangeSetType(ChangeSetType.UPDATE) .withStackName("foo") .withTemplateBody("templateBody") .withCapabilities(Capability.values()) .withParameters(Collections.emptyList()) .withChangeSetName("c1") .withRoleARN("myarn") ); Mockito.verify(this.eventPrinter).waitAndPrintChangeSetEvents(Mockito.eq("foo"), Mockito.eq("c1"), Mockito.any(Waiter.class), Mockito.eq(PollConfiguration.DEFAULT)); }
Example #4
Source File: CloudformationStackTests.java From pipeline-aws-plugin with Apache License 2.0 | 6 votes |
@Test public void createStackWithStackChangeSetReviewInProgress() throws ExecutionException { TaskListener taskListener = Mockito.mock(TaskListener.class); Mockito.when(taskListener.getLogger()).thenReturn(System.out); AmazonCloudFormation client = Mockito.mock(AmazonCloudFormation.class); Mockito.when(client.waiters()).thenReturn(new AmazonCloudFormationWaiters(client)); Mockito.when(client.describeStacks(new DescribeStacksRequest().withStackName("foo"))) .thenReturn(new DescribeStacksResult().withStacks(new Stack().withStackStatus("REVIEW_IN_PROGRESS"))); CloudFormationStack stack = new CloudFormationStack(client, "foo", taskListener); stack.createChangeSet("c1", "templateBody", null, Collections.emptyList(), Collections.emptyList(), Collections.emptyList(), PollConfiguration.DEFAULT, ChangeSetType.UPDATE, "myarn", null); ArgumentCaptor<CreateChangeSetRequest> captor = ArgumentCaptor.forClass(CreateChangeSetRequest.class); Mockito.verify(client).createChangeSet(captor.capture()); Assertions.assertThat(captor.getValue()).isEqualTo(new CreateChangeSetRequest() .withChangeSetType(ChangeSetType.CREATE) .withStackName("foo") .withTemplateBody("templateBody") .withCapabilities(Capability.values()) .withParameters(Collections.emptyList()) .withChangeSetName("c1") .withRoleARN("myarn") ); Mockito.verify(this.eventPrinter).waitAndPrintChangeSetEvents(Mockito.eq("foo"), Mockito.eq("c1"), Mockito.any(Waiter.class), Mockito.eq(PollConfiguration.DEFAULT)); }
Example #5
Source File: CloudformationStackTests.java From pipeline-aws-plugin with Apache License 2.0 | 6 votes |
@Test public void deleteStack() throws ExecutionException { TaskListener taskListener = Mockito.mock(TaskListener.class); Mockito.when(taskListener.getLogger()).thenReturn(System.out); AmazonCloudFormation client = Mockito.mock(AmazonCloudFormation.class); Mockito.when(client.waiters()).thenReturn(new AmazonCloudFormationWaiters(client)); CloudFormationStack stack = new CloudFormationStack(client, "foo", taskListener); stack.delete(PollConfiguration.DEFAULT, new String[]{"myresourcetoretain"}, "myarn", "myclientrequesttoken"); ArgumentCaptor<DeleteStackRequest> captor = ArgumentCaptor.forClass(DeleteStackRequest.class); Mockito.verify(client).deleteStack(captor.capture()); Assertions.assertThat(captor.getValue()).isEqualTo(new DeleteStackRequest() .withStackName("foo") .withClientRequestToken("myclientrequesttoken") .withRoleARN("myarn") .withRetainResources("myresourcetoretain") ); Mockito.verify(this.eventPrinter).waitAndPrintStackEvents(Mockito.eq("foo"), Mockito.any(Waiter.class), Mockito.eq(PollConfiguration.DEFAULT)); }
Example #6
Source File: CloudformationStackTests.java From pipeline-aws-plugin with Apache License 2.0 | 6 votes |
@Test public void deleteStackByStackNameOnly() throws ExecutionException { TaskListener taskListener = Mockito.mock(TaskListener.class); Mockito.when(taskListener.getLogger()).thenReturn(System.out); AmazonCloudFormation client = Mockito.mock(AmazonCloudFormation.class); Mockito.when(client.waiters()).thenReturn(new AmazonCloudFormationWaiters(client)); CloudFormationStack stack = new CloudFormationStack(client, "foo", taskListener); stack.delete(PollConfiguration.DEFAULT, null, null, null); ArgumentCaptor<DeleteStackRequest> captor = ArgumentCaptor.forClass(DeleteStackRequest.class); Mockito.verify(client).deleteStack(captor.capture()); Assertions.assertThat(captor.getValue()).isEqualTo(new DeleteStackRequest() .withStackName("foo") ); Mockito.verify(this.eventPrinter).waitAndPrintStackEvents(Mockito.eq("foo"), Mockito.any(Waiter.class), Mockito.eq(PollConfiguration.DEFAULT)); }
Example #7
Source File: AWSProvider.java From testgrid with Apache License 2.0 | 5 votes |
/** * This method releases the provisioned AWS infrastructure. * * @param script the script config * @param inputs * @return true or false to indicate the result of destroy operation. * @throws TestGridInfrastructureException when AWS error occurs in deletion process. * @throws InterruptedException when there is an interruption while waiting for the result. */ private boolean doRelease(Script script, Properties inputs, TestPlan testPlan) throws TestGridInfrastructureException, InterruptedException, TestGridDAOException { Path configFilePath; String stackName = script.getName(); String region = inputs.getProperty(AWS_REGION_PARAMETER); configFilePath = TestGridUtil.getConfigFilePath(); AmazonCloudFormation stackdestroy = AmazonCloudFormationClientBuilder.standard() .withCredentials(new PropertiesFileCredentialsProvider(configFilePath.toString())) .withRegion(region) .build(); DeleteStackRequest deleteStackRequest = new DeleteStackRequest(); deleteStackRequest.setStackName(stackName); stackdestroy.deleteStack(deleteStackRequest); logger.info(StringUtil.concatStrings("Stack : ", stackName, " is handed over for deletion!")); //Notify AWSResourceManager about stack destruction to release acquired resources AWSResourceManager awsResourceManager = new AWSResourceManager(); awsResourceManager.notifyStackDeletion(testPlan, script, region); boolean waitForStackDeletion = Boolean .parseBoolean(getProperty(ConfigurationProperties.WAIT_FOR_STACK_DELETION)); if (waitForStackDeletion) { logger.info(StringUtil.concatStrings("Waiting for stack : ", stackName, " to delete..")); Waiter<DescribeStacksRequest> describeStacksRequestWaiter = new AmazonCloudFormationWaiters(stackdestroy).stackDeleteComplete(); try { describeStacksRequestWaiter.run(new WaiterParameters<>(new DescribeStacksRequest() .withStackName(stackName))); } catch (WaiterUnrecoverableException e) { throw new TestGridInfrastructureException("Error occurred while waiting for Stack :" + stackName + " deletion !"); } } return true; }
Example #8
Source File: CloudformationStackTests.java From pipeline-aws-plugin with Apache License 2.0 | 5 votes |
@Test public void updateStack() throws ExecutionException { TaskListener taskListener = Mockito.mock(TaskListener.class); Mockito.when(taskListener.getLogger()).thenReturn(System.out); AmazonCloudFormation client = Mockito.mock(AmazonCloudFormation.class); Mockito.when(client.waiters()).thenReturn(new AmazonCloudFormationWaiters(client)); Mockito.when(client.describeStacks(new DescribeStacksRequest().withStackName("foo"))) .thenReturn(new DescribeStacksResult().withStacks(new Stack().withOutputs(new Output().withOutputKey("bar").withOutputValue("baz")))); CloudFormationStack stack = new CloudFormationStack(client, "foo", taskListener); RollbackConfiguration rollbackConfig = new RollbackConfiguration().withMonitoringTimeInMinutes(10); Map<String, String> outputs = stack.update("templateBody", null, Collections.emptyList(), Collections.emptyList(), Collections.emptyList(), PollConfiguration.DEFAULT, "myarn", rollbackConfig); ArgumentCaptor<UpdateStackRequest> captor = ArgumentCaptor.forClass(UpdateStackRequest.class); Mockito.verify(client).updateStack(captor.capture()); Assertions.assertThat(captor.getValue()).isEqualTo(new UpdateStackRequest() .withStackName("foo") .withTemplateBody("templateBody") .withCapabilities(Capability.values()) .withParameters(Collections.emptyList()) .withRoleARN("myarn") .withRollbackConfiguration(rollbackConfig) ); Mockito.verify(this.eventPrinter).waitAndPrintStackEvents(Mockito.eq("foo"), Mockito.any(Waiter.class), Mockito.eq(PollConfiguration.DEFAULT)); Assertions.assertThat(outputs).containsEntry("bar", "baz").containsEntry("jenkinsStackUpdateStatus", "true"); }
Example #9
Source File: CloudformationStackTests.java From pipeline-aws-plugin with Apache License 2.0 | 5 votes |
@Test public void updateStackWithTemplateUrl() throws ExecutionException { TaskListener taskListener = Mockito.mock(TaskListener.class); Mockito.when(taskListener.getLogger()).thenReturn(System.out); AmazonCloudFormation client = Mockito.mock(AmazonCloudFormation.class); Mockito.when(client.waiters()).thenReturn(new AmazonCloudFormationWaiters(client)); Mockito.when(client.describeStacks(new DescribeStacksRequest().withStackName("foo"))) .thenReturn(new DescribeStacksResult().withStacks(new Stack().withOutputs(new Output().withOutputKey("bar").withOutputValue("baz")))); CloudFormationStack stack = new CloudFormationStack(client, "foo", taskListener); RollbackConfiguration rollbackConfig = new RollbackConfiguration().withMonitoringTimeInMinutes(10); Map<String, String> outputs = stack.update(null, "bar", Collections.emptyList(), Collections.emptyList(), Collections.emptyList(), PollConfiguration.DEFAULT, "myarn", rollbackConfig); ArgumentCaptor<UpdateStackRequest> captor = ArgumentCaptor.forClass(UpdateStackRequest.class); Mockito.verify(client).updateStack(captor.capture()); Assertions.assertThat(captor.getValue()).isEqualTo(new UpdateStackRequest() .withStackName("foo") .withTemplateURL("bar") .withCapabilities(Capability.values()) .withParameters(Collections.emptyList()) .withRoleARN("myarn") .withRollbackConfiguration(rollbackConfig) ); Mockito.verify(this.eventPrinter).waitAndPrintStackEvents(Mockito.eq("foo"), Mockito.any(Waiter.class), Mockito.eq(PollConfiguration.DEFAULT)); Assertions.assertThat(outputs).containsEntry("bar", "baz").containsEntry("jenkinsStackUpdateStatus", "true"); }
Example #10
Source File: CloudformationStackTests.java From pipeline-aws-plugin with Apache License 2.0 | 5 votes |
@Test public void updateStackWithPreviousTemplate() throws ExecutionException { TaskListener taskListener = Mockito.mock(TaskListener.class); Mockito.when(taskListener.getLogger()).thenReturn(System.out); AmazonCloudFormation client = Mockito.mock(AmazonCloudFormation.class); Mockito.when(client.waiters()).thenReturn(new AmazonCloudFormationWaiters(client)); Mockito.when(client.describeStacks(new DescribeStacksRequest().withStackName("foo"))) .thenReturn(new DescribeStacksResult().withStacks(new Stack().withOutputs(new Output().withOutputKey("bar").withOutputValue("baz")))); CloudFormationStack stack = new CloudFormationStack(client, "foo", taskListener); RollbackConfiguration rollbackConfig = new RollbackConfiguration().withMonitoringTimeInMinutes(10); Map<String, String> outputs = stack.update(null, null, Collections.emptyList(), Collections.emptyList(), Collections.emptyList(), PollConfiguration.DEFAULT, "myarn", rollbackConfig); ArgumentCaptor<UpdateStackRequest> captor = ArgumentCaptor.forClass(UpdateStackRequest.class); Mockito.verify(client).updateStack(captor.capture()); Assertions.assertThat(captor.getValue()).isEqualTo(new UpdateStackRequest() .withStackName("foo") .withUsePreviousTemplate(true) .withCapabilities(Capability.values()) .withParameters(Collections.emptyList()) .withRoleARN("myarn") .withRollbackConfiguration(rollbackConfig) ); Mockito.verify(this.eventPrinter).waitAndPrintStackEvents(Mockito.eq("foo"), Mockito.any(Waiter.class), Mockito.eq(PollConfiguration.DEFAULT)); Assertions.assertThat(outputs).containsEntry("bar", "baz").containsEntry("jenkinsStackUpdateStatus", "true"); }
Example #11
Source File: CloudformationStackTests.java From pipeline-aws-plugin with Apache License 2.0 | 5 votes |
@Test public void createStack() throws ExecutionException { TaskListener taskListener = Mockito.mock(TaskListener.class); Mockito.when(taskListener.getLogger()).thenReturn(System.out); AmazonCloudFormation client = Mockito.mock(AmazonCloudFormation.class); Mockito.when(client.waiters()).thenReturn(new AmazonCloudFormationWaiters(client)); Mockito.when(client.describeStacks(new DescribeStacksRequest().withStackName("foo"))) .thenReturn(new DescribeStacksResult().withStacks(new Stack().withOutputs(new Output().withOutputKey("bar").withOutputValue("baz")))); CloudFormationStack stack = new CloudFormationStack(client, "foo", taskListener); Map<String, String> outputs = stack.create("templateBody", null, Collections.emptyList(), Collections.emptyList(), Collections.emptyList(), PollConfiguration.DEFAULT, "myarn", OnFailure.DO_NOTHING.toString(), null); ArgumentCaptor<CreateStackRequest> captor = ArgumentCaptor.forClass(CreateStackRequest.class); Mockito.verify(client).createStack(captor.capture()); Assertions.assertThat(captor.getValue()).isEqualTo(new CreateStackRequest() .withStackName("foo") .withTemplateBody("templateBody") .withCapabilities(Capability.values()) .withParameters(Collections.emptyList()) .withTimeoutInMinutes((int) PollConfiguration.DEFAULT.getTimeout().toMinutes()) .withOnFailure(OnFailure.DO_NOTHING) .withRoleARN("myarn") ); Mockito.verify(this.eventPrinter).waitAndPrintStackEvents(Mockito.eq("foo"), Mockito.any(Waiter.class), Mockito.eq(PollConfiguration.DEFAULT)); Assertions.assertThat(outputs).containsEntry("bar", "baz").containsEntry("jenkinsStackUpdateStatus", "true"); }
Example #12
Source File: CloudformationStackTests.java From pipeline-aws-plugin with Apache License 2.0 | 5 votes |
@Test public void createStackWithTemplateUrl() throws ExecutionException { TaskListener taskListener = Mockito.mock(TaskListener.class); Mockito.when(taskListener.getLogger()).thenReturn(System.out); AmazonCloudFormation client = Mockito.mock(AmazonCloudFormation.class); Mockito.when(client.waiters()).thenReturn(new AmazonCloudFormationWaiters(client)); Mockito.when(client.describeStacks(new DescribeStacksRequest().withStackName("foo"))) .thenReturn(new DescribeStacksResult().withStacks(new Stack().withOutputs(new Output().withOutputKey("bar").withOutputValue("baz")))); CloudFormationStack stack = new CloudFormationStack(client, "foo", taskListener); PollConfiguration pollConfiguration = PollConfiguration.builder() .timeout(Duration.ofMinutes(3)) .pollInterval(Duration.ofSeconds(17)) .build(); Map<String, String> outputs = stack.create(null, "bar", Collections.emptyList(), Collections.emptyList(), Collections.emptyList(), pollConfiguration, "myarn", OnFailure.DO_NOTHING.toString(), true); ArgumentCaptor<CreateStackRequest> captor = ArgumentCaptor.forClass(CreateStackRequest.class); Mockito.verify(client).createStack(captor.capture()); Assertions.assertThat(captor.getValue()).isEqualTo(new CreateStackRequest() .withStackName("foo") .withEnableTerminationProtection(true) .withTemplateURL("bar") .withCapabilities(Capability.values()) .withParameters(Collections.emptyList()) .withTimeoutInMinutes(3) .withOnFailure(OnFailure.DO_NOTHING) .withRoleARN("myarn") ); Mockito.verify(this.eventPrinter).waitAndPrintStackEvents(Mockito.eq("foo"), Mockito.any(Waiter.class), Mockito.eq(pollConfiguration)); Assertions.assertThat(outputs).containsEntry("bar", "baz").containsEntry("jenkinsStackUpdateStatus", "true"); }
Example #13
Source File: CloudformationStackTests.java From pipeline-aws-plugin with Apache License 2.0 | 5 votes |
@Test(expected = IllegalArgumentException.class) public void createStackWithNoTemplate() throws ExecutionException { AmazonCloudFormation client = Mockito.mock(AmazonCloudFormation.class); try { TaskListener taskListener = Mockito.mock(TaskListener.class); Mockito.when(client.waiters()).thenReturn(new AmazonCloudFormationWaiters(client)); CloudFormationStack stack = new CloudFormationStack(client, "foo", taskListener); stack.create(null, null, Collections.emptyList(), Collections.emptyList(), Collections.emptyList(), PollConfiguration.DEFAULT, "myarn", OnFailure.ROLLBACK.toString(), null); } finally { Mockito.verifyZeroInteractions(client); } }