@Test(enabled = false, dependsOnMethods = "testCreateRunningInstance") void testCreateAndAttachVolume() { volume = client.getElasticBlockStoreApi().get().createVolumeInAvailabilityZone(instance.getAvailabilityZone(), VOLUME_SIZE); System.out.printf("%d: %s awaiting volume to become available%n", System.currentTimeMillis(), volume.getId()); assert volumeTester.apply(volume); Attachment attachment = client.getElasticBlockStoreApi().get().attachVolumeInRegion(instance.getRegion(), volume.getId(), instance.getId(), "/dev/sdh"); System.out.printf("%d: %s awaiting attachment to complete%n", System.currentTimeMillis(), attachment.getId()); assert attachTester.apply(attachment); System.out.printf("%d: %s attachment complete%n", System.currentTimeMillis(), attachment.getId()); }
@Test void testCreateVolumeInAvailabilityZone() { Volume expected = client.createVolumeInAvailabilityZone(defaultZone, withSize(1)); assertNotNull(expected); assertEquals(expected.getAvailabilityZone(), defaultZone); this.volumeId = expected.getId(); Set<Volume> result = Sets.newLinkedHashSet(client.describeVolumesInRegion(defaultRegion, expected.getId())); assertNotNull(result); assertEquals(result.size(), 1); Volume volume = result.iterator().next(); assertEquals(volume.getId(), expected.getId()); assertEquals(volume.getVolumeType(), expected.getVolumeType()); }
@Test void testCreateVolumeInAvailabilityZoneWithVolumeType() { Volume expected = client.createVolumeInAvailabilityZone(defaultZone, volumeType("gp2"), withSize(1)); assertNotNull(expected); assertEquals(expected.getAvailabilityZone(), defaultZone); assertEquals(expected.getVolumeType(), "gp2"); Set<Volume> result = Sets.newLinkedHashSet(client.describeVolumesInRegion(defaultRegion, expected.getId())); assertNotNull(result); assertEquals(result.size(), 1); Volume volume = result.iterator().next(); assertEquals(volume.getId(), expected.getId()); assertEquals(volume.getVolumeType(), expected.getVolumeType()); client.deleteVolumeInRegion(volume.getRegion(), volume.getId()); }
@Test(dependsOnMethods = "testCreateVolumeFromSnapshotInAvailabilityZone") void testCreateVolumeFromSnapshotInAvailabilityZoneWithOptions() { Volume volume = client.createVolumeInAvailabilityZone(defaultZone, fromSnapshotId(snapshot.getId())); assertNotNull(volume); Predicate<Volume> availabile = retry(new VolumeAvailable(client), 600, 10, SECONDS); assert availabile.apply(volume); Volume result = Iterables.getOnlyElement(client.describeVolumesInRegion(defaultRegion, volume.getId())); assertEquals(volume.getId(), result.getId()); assertEquals(volume.getSnapshotId(), snapshot.getId()); assertEquals(volume.getAvailabilityZone(), defaultZone); assertEquals(result.getStatus(), Volume.Status.AVAILABLE); client.deleteVolumeInRegion(defaultRegion, result.getId()); }
public void testCreateVolumeInAvailabilityZone() { Builder<HttpRequest, HttpResponse> builder = ImmutableMap.<HttpRequest, HttpResponse>builder(); builder.put(describeRegionsRequest, describeRegionsResponse); builder.putAll(describeAvailabilityZonesRequestResponse); builder.put( HttpRequest.builder() .method("POST") .endpoint("https://ec2.us-east-1.amazonaws.com/") .addHeader("Host", "ec2.us-east-1.amazonaws.com") .payload(payloadFromStringWithContentType("Action=CreateVolume" + "&AvailabilityZone=us-east-1a" + "&Signature=NCu8HU8u0A385rTgj%2BN5lq606jkc1eu88jof9yAxb6s%3D" + "&SignatureMethod=HmacSHA256" + "&SignatureVersion=2" + "&Size=4" + "&Timestamp=2012-04-16T15%3A54%3A08.897Z" + "&Version=2010-08-31" + "&AWSAccessKeyId=identity", "application/x-www-form-urlencoded")).build(), HttpResponse.builder() .statusCode(200) .payload(payloadFromResource("/created_volume.xml")).build()); ElasticBlockStoreApi client = requestsSendResponses(builder.build()).getElasticBlockStoreApi().get(); assertEquals(client.createVolumeInAvailabilityZone("us-east-1a", 4), creating); }
public void testCreateVolumeInAvailabilityZoneWithOptions() { Builder<HttpRequest, HttpResponse> builder = ImmutableMap.<HttpRequest, HttpResponse>builder(); builder.put(describeRegionsRequest, describeRegionsResponse); builder.putAll(describeAvailabilityZonesRequestResponse); builder.put( HttpRequest.builder() .method("POST") .endpoint("https://ec2.us-east-1.amazonaws.com/") .addHeader("Host", "ec2.us-east-1.amazonaws.com") .payload(payloadFromStringWithContentType("Action=CreateVolume" + "&AvailabilityZone=us-east-1a" + "&Iops=0" + "&Signature=uI5tXrwV4zXB3uh0OP4RkfU2HMdQ2yICfpo4gKrajMI%3D" + "&SignatureMethod=HmacSHA256" + "&SignatureVersion=2" + "&Size=4" + "&Timestamp=2012-04-16T15%3A54%3A08.897Z" + "&Version=2010-08-31" + "&VolumeType=standard" + "&AWSAccessKeyId=identity", "application/x-www-form-urlencoded")).build(), HttpResponse.builder() .statusCode(200) .payload(payloadFromResource("/created_volume.xml")).build()); ElasticBlockStoreApi client = requestsSendResponses(builder.build()).getElasticBlockStoreApi().get(); assertEquals(client.createVolumeInAvailabilityZone("us-east-1a", CreateVolumeOptions.Builder.withSize(4).isEncrypted(false).volumeType("standard").withIops(0)), creating); }
Volume volume = ebsClient.createVolumeInAvailabilityZone(zone.getId(), 4);