Java Code Examples for com.amazonaws.services.ec2.AmazonEC2

The following are top voted examples for showing how to use com.amazonaws.services.ec2.AmazonEC2. These examples are extracted from open source projects. You can vote up the examples you like and your votes will be used in our system to generate more good examples.
Example 1
Project: oscm   File: EC2CommunicationTest.java   View source code 6 votes vote down vote up
@Test
public void testEC2SetupNoProxy() throws Exception {
    // Ask for connection
    AmazonEC2 client = ec2comm.getEC2();
    assertNotNull(client);
    assertNotNull(credProvider);
    assertNotNull(clientConfig);

    assertEquals(-1, clientConfig.getProxyPort());
    assertNull(clientConfig.getProxyHost());
    verify(ec2).setEndpoint("ec2.test.amazonaws.com");

    // Test again for validating cached value
    AmazonEC2 newClient = ec2comm.getEC2();
    assertTrue(client == newClient);

}
 
Example 2
Project: oscm   File: EC2CommunicationTest.java   View source code 6 votes vote down vote up
@Test
public void testEC2SetupProxy() throws Exception {
    // Define proxy
    System.setProperty("https.proxyHost", "proxy");
    System.setProperty("https.proxyPort", "8080");

    // Ask for connection
    AmazonEC2 client = ec2comm.getEC2();
    assertNotNull(client);
    assertNotNull(credProvider);
    assertNotNull(clientConfig);

    assertEquals(8080, clientConfig.getProxyPort());
    assertEquals("proxy", clientConfig.getProxyHost());

    assertTrue(clientConfig.getProxyUsername() == null
            || clientConfig.getProxyUsername().isEmpty());
    assertTrue(clientConfig.getProxyPassword() == null
            || clientConfig.getProxyPassword().isEmpty());
    verify(ec2).setEndpoint("ec2.test.amazonaws.com");

}
 
Example 3
Project: oscm   File: EC2CommunicationTest.java   View source code 6 votes vote down vote up
@Test
public void testEC2SetupProxyWithCredentials() throws Exception {
    // Define proxy
    System.setProperty("https.proxyHost", "proxy");
    System.setProperty("https.proxyPort", "8080");
    System.setProperty("https.proxyUser", PROXYUSER);
    System.setProperty("https.proxyPassword", PROXYPWD);

    // Ask for connection
    AmazonEC2 client = ec2comm.getEC2();
    assertNotNull(client);
    assertNotNull(credProvider);
    assertNotNull(clientConfig);
    clientConfig.getProxyUsername();
    assertEquals(8080, clientConfig.getProxyPort());
    assertEquals("proxy", clientConfig.getProxyHost());
    assertEquals(PROXYUSER, clientConfig.getProxyUsername());
    assertEquals(PROXYPWD, clientConfig.getProxyPassword());
    verify(ec2).setEndpoint("ec2.test.amazonaws.com");

}
 
Example 4
Project: oscm   File: EC2CommunicationTest.java   View source code 6 votes vote down vote up
@Test
public void testEC2SetupProxyWithEmptyCredentials() throws Exception {
    // Define proxy
    System.setProperty("https.proxyHost", "proxy");
    System.setProperty("https.proxyPort", "8080");
    System.setProperty("https.proxyUser", "");
    System.setProperty("https.proxyPassword", "");

    // Ask for connection
    AmazonEC2 client = ec2comm.getEC2();
    assertNotNull(client);
    assertNotNull(credProvider);
    assertNotNull(clientConfig);

    assertEquals(8080, clientConfig.getProxyPort());
    assertEquals("proxy", clientConfig.getProxyHost());

    assertTrue(clientConfig.getProxyUsername() == null
            || clientConfig.getProxyUsername().isEmpty());
    assertTrue(clientConfig.getProxyPassword() == null
            || clientConfig.getProxyPassword().isEmpty());
    verify(ec2).setEndpoint("ec2.test.amazonaws.com");

}
 
Example 5
Project: oscm   File: EC2CommunicationTest.java   View source code 6 votes vote down vote up
@Test
public void testEC2SetupNonProxy() throws Exception {
    // Define proxy
    System.setProperty("https.proxyHost", "proxy");
    System.setProperty("https.proxyPort", "8080");
    // But set endpoint as non proxy
    System.setProperty("http.nonProxyHosts", "*.amazonaws.com");

    // Ask for connection
    AmazonEC2 client = ec2comm.getEC2();
    assertNotNull(client);
    assertNotNull(credProvider);
    assertNotNull(clientConfig);

    assertEquals(8080, clientConfig.getProxyPort());
    assertTrue(clientConfig.getProxyUsername() == null
            || clientConfig.getProxyUsername().isEmpty());
    assertTrue(clientConfig.getProxyPassword() == null
            || clientConfig.getProxyPassword().isEmpty());
    verify(ec2).setEndpoint("ec2.test.amazonaws.com");

}
 
Example 6
Project: oscm   File: EC2CommunicationTest.java   View source code 6 votes vote down vote up
@Test
public void testAWSCredentials() throws Exception {
    // Ask for connection
    AmazonEC2 client = ec2comm.getEC2();
    assertNotNull(client);
    assertNotNull(credProvider);

    AWSCredentials credentials = credProvider.getCredentials();
    assertEquals("access_key", credentials.getAWSAccessKeyId());
    assertEquals("secret_key", credentials.getAWSSecretKey());

    credProvider.refresh();
    credentials = credProvider.getCredentials();
    assertEquals("access_key", credentials.getAWSAccessKeyId());
    assertEquals("secret_key", credentials.getAWSSecretKey());

}
 
Example 7
Project: ec2-spot-jenkins-plugin   File: EC2FleetCloud.java   View source code 6 votes vote down vote up
public ListBoxModel doFillRegionItems(@QueryParameter final String credentialsId,
                                      @QueryParameter final String region)
        throws IOException, ServletException {
    final List<Region> regionList;

    try {
        final AmazonEC2 client = connect(credentialsId, null);
        final DescribeRegionsResult regions=client.describeRegions();
        regionList=regions.getRegions();
    } catch(final Exception ex) {
        //Ignore bad exceptions
        return new ListBoxModel();
    }

    final ListBoxModel model = new ListBoxModel();
    for(final Region reg : regionList) {
        model.add(new ListBoxModel.Option(reg.getRegionName(), reg.getRegionName()));
    }
    return model;
}
 
Example 8
Project: photon-model   File: TestUtils.java   View source code 6 votes vote down vote up
public static AmazonEC2 getEC2SynchronousClient(AuthCredentialsServiceState credentials,
        String region) {
    ClientConfiguration configuration = new ClientConfiguration();
    configuration.withRetryPolicy(new RetryPolicy(new CustomRetryCondition(),
            DEFAULT_BACKOFF_STRATEGY,
            DEFAULT_MAX_ERROR_RETRY,
            true));

    AWSStaticCredentialsProvider awsStaticCredentialsProvider = new AWSStaticCredentialsProvider(
            new BasicAWSCredentials(credentials.privateKeyId,
                    EncryptionUtils.decrypt(credentials.privateKey)));

    AmazonEC2ClientBuilder ec2ClientBuilder = AmazonEC2ClientBuilder.standard()
            .withCredentials(awsStaticCredentialsProvider)
            .withRegion(region)
            .withClientConfiguration(configuration);

    return ec2ClientBuilder.build();
}
 
Example 9
Project: aws-doc-sdk-examples   File: RebootInstance.java   View source code 6 votes vote down vote up
public static void main(String[] args)
{
    final String USAGE =
        "To run this example, supply an instance id\n" +
        "Ex: RebootInstnace <instance_id>\n";

    if (args.length != 1) {
        System.out.println(USAGE);
        System.exit(1);
    }

    String instance_id = args[0];

    final AmazonEC2 ec2 = AmazonEC2ClientBuilder.defaultClient();

    RebootInstancesRequest request = new RebootInstancesRequest()
        .withInstanceIds(instance_id);

    RebootInstancesResult response = ec2.rebootInstances(request);

    System.out.printf(
        "Successfully rebooted instance %s", instance_id);
}
 
Example 10
Project: aws-doc-sdk-examples   File: DeleteSecurityGroup.java   View source code 6 votes vote down vote up
public static void main(String[] args)
{
    final String USAGE =
        "To run this example, supply a security group id\n" +
        "Ex: DeleteSecurityGroup <security-group-id>\n";

    if (args.length != 1) {
        System.out.println(USAGE);
        System.exit(1);
    }

    String group_id = args[0];

    final AmazonEC2 ec2 = AmazonEC2ClientBuilder.defaultClient();

    DeleteSecurityGroupRequest request = new DeleteSecurityGroupRequest()
        .withGroupId(group_id);

    DeleteSecurityGroupResult response = ec2.deleteSecurityGroup(request);

    System.out.printf(
        "Successfully deleted security group with id %s", group_id);
}
 
Example 11
Project: aws-doc-sdk-examples   File: DescribeAddresses.java   View source code 6 votes vote down vote up
public static void main(String[] args)
{
    final AmazonEC2 ec2 = AmazonEC2ClientBuilder.defaultClient();

    DescribeAddressesResult response = ec2.describeAddresses();

    for(Address address : response.getAddresses()) {
        System.out.printf(
                "Found address with public IP %s, " +
                "domain %s, " +
                "allocation id %s " +
                "and NIC id %s",
                address.getPublicIp(),
                address.getDomain(),
                address.getAllocationId(),
                address.getNetworkInterfaceId());
    }
}
 
Example 12
Project: aws-doc-sdk-examples   File: CreateKeyPair.java   View source code 6 votes vote down vote up
public static void main(String[] args)
{
    final String USAGE =
        "To run this example, supply a key pair name\n" +
        "Ex: CreateKeyPair <key-pair-name>\n";

    if (args.length != 1) {
        System.out.println(USAGE);
        System.exit(1);
    }

    String key_name = args[0];

    final AmazonEC2 ec2 = AmazonEC2ClientBuilder.defaultClient();

    CreateKeyPairRequest request = new CreateKeyPairRequest()
        .withKeyName(key_name);

    CreateKeyPairResult response = ec2.createKeyPair(request);

    System.out.printf(
        "Successfulyl created key pair named %s",
        key_name);
}
 
Example 13
Project: aws-doc-sdk-examples   File: ReleaseAddress.java   View source code 6 votes vote down vote up
public static void main(String[] args)
{
    final String USAGE =
        "To run this example, supply an allocation ID.\n" +
        "Ex: ReleaseAddress <allocation_id>\n";

    if (args.length != 1) {
        System.out.println(USAGE);
        System.exit(1);
    }

    String alloc_id = args[0];

    final AmazonEC2 ec2 = AmazonEC2ClientBuilder.defaultClient();

    ReleaseAddressRequest request = new ReleaseAddressRequest()
        .withAllocationId(alloc_id);

    ReleaseAddressResult response = ec2.releaseAddress(request);

    System.out.printf(
        "Successfully released elastic IP address %s", alloc_id);
}
 
Example 14
Project: aws-doc-sdk-examples   File: DeleteKeyPair.java   View source code 6 votes vote down vote up
public static void main(String[] args)
{
    final String USAGE =
        "To run this example, supply a key pair name\n" +
        "Ex: DeleteKeyPair <key-pair-name>\n";

    if (args.length != 1) {
        System.out.println(USAGE);
        System.exit(1);
    }

    String key_name = args[0];

    final AmazonEC2 ec2 = AmazonEC2ClientBuilder.defaultClient();

    DeleteKeyPairRequest request = new DeleteKeyPairRequest()
        .withKeyName(key_name);

    DeleteKeyPairResult response = ec2.deleteKeyPair(request);

    System.out.printf(
        "Successfully deleted key pair named %s", key_name);
}
 
Example 15
Project: cerberus-lifecycle-cli   File: AmiTagCheckServiceTest.java   View source code 6 votes vote down vote up
@Test
public void isAmiWithTagExistTrue() {
    AmazonEC2 ec2Client = mock(AmazonEC2.class);
    AmiTagCheckService amiTagCheckService = new AmiTagCheckService(ec2Client);

    String amiId = "ami-1234abcd";
    String tagName = "sometag";
    String tagValue = "someval";

    when(ec2Client.describeImages(
            new DescribeImagesRequest()
                    .withFilters(new Filter().withName(tagName).withValues(tagValue))
                    .withFilters(new Filter().withName("image-id").withValues(amiId))
            )
    ).thenReturn(
            new DescribeImagesResult().withImages(new Image())
            );

    // invoke method under test
    assertTrue(amiTagCheckService.isAmiWithTagExist(amiId, tagName, tagValue));
}
 
Example 16
Project: cerberus-lifecycle-cli   File: AmiTagCheckServiceTest.java   View source code 6 votes vote down vote up
@Test
public void isAmiWithTagExistFalse() {
    AmazonEC2 ec2Client = mock(AmazonEC2.class);
    AmiTagCheckService amiTagCheckService = new AmiTagCheckService(ec2Client);

    String amiId = "ami-1234abcd";
    String tagName = "sometag";
    String tagValue = "someval";

    when(ec2Client.describeImages(
            new DescribeImagesRequest()
                    .withFilters(new Filter().withName(tagName).withValues(tagValue))
                    .withFilters(new Filter().withName("image-id").withValues(amiId))
            )
    ).thenReturn(
            new DescribeImagesResult()
            );

    // invoke method under test
    assertFalse(amiTagCheckService.isAmiWithTagExist(amiId, tagName, tagValue));
}
 
Example 17
Project: cerberus-lifecycle-cli   File: AmiTagCheckServiceTest.java   View source code 6 votes vote down vote up
@Test
public void isAmiWithTagExistNotFound() {
    AmazonEC2 ec2Client = mock(AmazonEC2.class);
    AmiTagCheckService amiTagCheckService = new AmiTagCheckService(ec2Client);

    String amiId = "ami-1234abcd";
    String tagName = "sometag";
    String tagValue = "someval";

    AmazonServiceException ex = new AmazonServiceException("fake-exception");
    ex.setErrorCode("InvalidAMIID.NotFound");

    when(ec2Client.describeImages(
            new DescribeImagesRequest()
                    .withFilters(new Filter().withName(tagName).withValues(tagValue))
                    .withFilters(new Filter().withName("image-id").withValues(amiId))
            )
    ).thenThrow(ex);

    // invoke method under test
    assertFalse(amiTagCheckService.isAmiWithTagExist(amiId, tagName, tagValue));
}
 
Example 18
Project: cerberus-lifecycle-cli   File: AmiTagCheckServiceTest.java   View source code 6 votes vote down vote up
@Test
public void isAmiWithTagExistThrowException() {
    AmazonEC2 ec2Client = mock(AmazonEC2.class);
    AmiTagCheckService amiTagCheckService = new AmiTagCheckService(ec2Client);

    String amiId = "ami-1234abcd";
    String tagName = "sometag";
    String tagValue = "someval";
    String unknownAwsExMessage = "Unknown AWS exception message";

    when(ec2Client.describeImages(
            new DescribeImagesRequest()
                    .withFilters(new Filter().withName(tagName).withValues(tagValue))
                    .withFilters(new Filter().withName("image-id").withValues(amiId))
            )
    ).thenThrow(new AmazonServiceException(unknownAwsExMessage));

    try {
        // invoke method under test
        amiTagCheckService.isAmiWithTagExist(amiId, tagName, tagValue);
        fail("Expected exception message '" + unknownAwsExMessage + "'not received");
    } catch (AmazonServiceException ex) {
        // pass
        assertEquals(unknownAwsExMessage, ex.getErrorMessage());
    }
}
 
Example 19
Project: development   File: EC2CommunicationTest.java   View source code 6 votes vote down vote up
@Test
public void testEC2SetupNoProxy() throws Exception {
    // Ask for connection
    AmazonEC2 client = ec2comm.getEC2();
    assertNotNull(client);
    assertNotNull(credProvider);
    assertNotNull(clientConfig);

    assertEquals(-1, clientConfig.getProxyPort());
    assertNull(clientConfig.getProxyHost());
    verify(ec2).setEndpoint("ec2.test.amazonaws.com");

    // Test again for validating cached value
    AmazonEC2 newClient = ec2comm.getEC2();
    assertTrue(client == newClient);

}
 
Example 20
Project: development   File: EC2CommunicationTest.java   View source code 6 votes vote down vote up
@Test
public void testEC2SetupProxy() throws Exception {
    // Define proxy
    System.setProperty("https.proxyHost", "proxy");
    System.setProperty("https.proxyPort", "8080");

    // Ask for connection
    AmazonEC2 client = ec2comm.getEC2();
    assertNotNull(client);
    assertNotNull(credProvider);
    assertNotNull(clientConfig);

    assertEquals(8080, clientConfig.getProxyPort());
    assertEquals("proxy", clientConfig.getProxyHost());

    assertTrue(clientConfig.getProxyUsername() == null
            || clientConfig.getProxyUsername().isEmpty());
    assertTrue(clientConfig.getProxyPassword() == null
            || clientConfig.getProxyPassword().isEmpty());
    verify(ec2).setEndpoint("ec2.test.amazonaws.com");

}
 
Example 21
Project: development   File: EC2CommunicationTest.java   View source code 6 votes vote down vote up
@Test
public void testEC2SetupProxyWithCredentials() throws Exception {
    // Define proxy
    System.setProperty("https.proxyHost", "proxy");
    System.setProperty("https.proxyPort", "8080");
    System.setProperty("https.proxyUser", PROXYUSER);
    System.setProperty("https.proxyPassword", PROXYPWD);

    // Ask for connection
    AmazonEC2 client = ec2comm.getEC2();
    assertNotNull(client);
    assertNotNull(credProvider);
    assertNotNull(clientConfig);
    clientConfig.getProxyUsername();
    assertEquals(8080, clientConfig.getProxyPort());
    assertEquals("proxy", clientConfig.getProxyHost());
    assertEquals(PROXYUSER, clientConfig.getProxyUsername());
    assertEquals(PROXYPWD, clientConfig.getProxyPassword());
    verify(ec2).setEndpoint("ec2.test.amazonaws.com");

}
 
Example 22
Project: development   File: EC2CommunicationTest.java   View source code 6 votes vote down vote up
@Test
public void testEC2SetupProxyWithEmptyCredentials() throws Exception {
    // Define proxy
    System.setProperty("https.proxyHost", "proxy");
    System.setProperty("https.proxyPort", "8080");
    System.setProperty("https.proxyUser", "");
    System.setProperty("https.proxyPassword", "");

    // Ask for connection
    AmazonEC2 client = ec2comm.getEC2();
    assertNotNull(client);
    assertNotNull(credProvider);
    assertNotNull(clientConfig);

    assertEquals(8080, clientConfig.getProxyPort());
    assertEquals("proxy", clientConfig.getProxyHost());

    assertTrue(clientConfig.getProxyUsername() == null
            || clientConfig.getProxyUsername().isEmpty());
    assertTrue(clientConfig.getProxyPassword() == null
            || clientConfig.getProxyPassword().isEmpty());
    verify(ec2).setEndpoint("ec2.test.amazonaws.com");

}
 
Example 23
Project: development   File: EC2CommunicationTest.java   View source code 6 votes vote down vote up
@Test
public void testEC2SetupNonProxy() throws Exception {
    // Define proxy
    System.setProperty("https.proxyHost", "proxy");
    System.setProperty("https.proxyPort", "8080");
    // But set endpoint as non proxy
    System.setProperty("http.nonProxyHosts", "*.amazonaws.com");

    // Ask for connection
    AmazonEC2 client = ec2comm.getEC2();
    assertNotNull(client);
    assertNotNull(credProvider);
    assertNotNull(clientConfig);

    assertEquals(8080, clientConfig.getProxyPort());
    assertTrue(clientConfig.getProxyUsername() == null
            || clientConfig.getProxyUsername().isEmpty());
    assertTrue(clientConfig.getProxyPassword() == null
            || clientConfig.getProxyPassword().isEmpty());
    verify(ec2).setEndpoint("ec2.test.amazonaws.com");

}
 
Example 24
Project: development   File: EC2CommunicationTest.java   View source code 6 votes vote down vote up
@Test
public void testAWSCredentials() throws Exception {
    // Ask for connection
    AmazonEC2 client = ec2comm.getEC2();
    assertNotNull(client);
    assertNotNull(credProvider);

    AWSCredentials credentials = credProvider.getCredentials();
    assertEquals("access_key", credentials.getAWSAccessKeyId());
    assertEquals("secret_key", credentials.getAWSSecretKey());

    credProvider.refresh();
    credentials = credProvider.getCredentials();
    assertEquals("access_key", credentials.getAWSAccessKeyId());
    assertEquals("secret_key", credentials.getAWSSecretKey());

}
 
Example 25
Project: ec2-util   File: AwsEc2Client.java   View source code 6 votes vote down vote up
/**
 * Search Ec2 Instance by Name tag.
 * 
 * @param ec2
 * @param targetName
 *            Search Keyword for Name tag
 * @return Instance with Name tag equals targetName. If it does't found,
 *         then return null.
 */
public static Instance findInstanceByName(AmazonEC2 ec2, String targetName) {
	DescribeInstancesResult instanceResult = ec2.describeInstances();
	List<Reservation> reservations = instanceResult.getReservations();
	for (Reservation reservation : reservations) {
		List<Instance> instances = reservation.getInstances();
		for (Instance instance : instances) {
			List<Tag> tagList = instance.getTags();
			String name = "";
			for (Tag tag : tagList) {
				String tagKey = tag.getKey();
				String tagValue = tag.getValue();
				if (tagKey.contains("Name")) {
					name = tagValue;
					if (targetName.equals(name)) {
						return instance;
					}
					break;
				}
			}
		}
	}
	return null;
}
 
Example 26
Project: enhanced-snapshots   File: VolumeServiceImpl.java   View source code 6 votes vote down vote up
private Set<VolumeDto> getVolumes(AmazonEC2 amazonEC2) {
    if (cache != null) {
        return cache;
    } else {
        try {
            Set<VolumeDto> result = new TreeSet<>(volumeDtoComparator);
            result.addAll(VolumeDtoConverter.convert(amazonEC2.describeVolumes().getVolumes()));
            result.addAll(getHistoryVolumes());
            result = setSchedules(result);
            LOG.debug("Volume list: [{}]", result);
            cache = result;
            return result;
        } catch (RuntimeException e) {
            LOG.error("Failed to get volume list.", e);
            throw new DataAccessException("Failed to get volume list.", e);
        }
    }
}
 
Example 27
Project: ec2-plugin   File: SlaveTemplate.java   View source code 6 votes vote down vote up
/**
 * Update the tags stored in EC2 with the specified information.
 * Re-try 5 times if instances isn't up by catchErrorCode - e.g. InvalidSpotInstanceRequestID.NotFound or InvalidInstanceRequestID.NotFound
 * @param ec2
 * @param inst_tags
 * @param catchErrorCode
 * @param params
 * @throws InterruptedException
 */
private void updateRemoteTags(AmazonEC2 ec2, Collection<Tag> inst_tags, String catchErrorCode, String... params) throws InterruptedException {
    for (int i = 0; i < 5; i++) {
        try {
            CreateTagsRequest tag_request = new CreateTagsRequest();
            tag_request.withResources(params).setTags(inst_tags);
            ec2.createTags(tag_request);
            break;
        } catch (AmazonServiceException e) {
            if (e.getErrorCode().equals(catchErrorCode)) {
                Thread.sleep(5000);
                continue;
            }
            LOGGER.log(Level.SEVERE, e.getErrorMessage(), e);
        }
    }
}
 
Example 28
Project: ec2-plugin   File: SlaveTemplate.java   View source code 6 votes vote down vote up
/**
 * Provisions a new EC2 slave based on the currently running instance on EC2,
 * instead of starting a new one.
 */
public EC2AbstractSlave attach(String instanceId, TaskListener listener) throws AmazonClientException, IOException {
    PrintStream logger = listener.getLogger();
    AmazonEC2 ec2 = getParent().connect();

    try {
        logger.println("Attaching to "+instanceId);
        LOGGER.info("Attaching to "+instanceId);
        DescribeInstancesRequest request = new DescribeInstancesRequest();
        request.setInstanceIds(Collections.singletonList(instanceId));
        Instance inst = ec2.describeInstances(request).getReservations().get(0).getInstances().get(0);
        return newOndemandSlave(inst);
    } catch (FormException e) {
        throw new AssertionError(); // we should have discovered all configuration issues upfront
    }
}
 
Example 29
Project: ec2-plugin   File: EC2AbstractSlave.java   View source code 6 votes vote down vote up
public static Instance getInstance(String instanceId, EC2Cloud cloud) {
    if (instanceId == null || instanceId == "" || cloud == null) {
        return null;
    }

    Instance i = null;
    try {
        DescribeInstancesRequest request = new DescribeInstancesRequest();
        request.setInstanceIds(Collections.<String>singletonList(instanceId));
        AmazonEC2 ec2 = cloud.connect();
        List<Reservation> reservations = ec2.describeInstances(request).getReservations();
        if (reservations.size() > 0) {
            List<Instance> instances = reservations.get(0).getInstances();
            if (instances.size() > 0) {
                i = instances.get(0);
            }
        }
    } catch (AmazonClientException e) {
        LOGGER.log(Level.WARNING, "Failed to fetch EC2 instance: " + instanceId, e);
    }
    return i;
}
 
Example 30
Project: ec2-plugin   File: EC2AbstractSlave.java   View source code 6 votes vote down vote up
public static ListBoxModel fillZoneItems(AWSCredentialsProvider credentialsProvider, String region) {
    ListBoxModel model = new ListBoxModel();
    if (AmazonEC2Cloud.testMode) {
        model.add(TEST_ZONE);
        return model;
    }

    if (!StringUtils.isEmpty(region)) {
        AmazonEC2 client = EC2Cloud.connect(credentialsProvider, AmazonEC2Cloud.getEc2EndpointUrl(region));
        DescribeAvailabilityZonesResult zones = client.describeAvailabilityZones();
        List<AvailabilityZone> zoneList = zones.getAvailabilityZones();
        model.add("<not specified>", "");
        for (AvailabilityZone z : zoneList) {
            model.add(z.getZoneName(), z.getZoneName());
        }
    }
    return model;
}
 
Example 31
Project: ec2-plugin   File: EC2Cloud.java   View source code 6 votes vote down vote up
protected FormValidation doTestConnection(URL ec2endpoint,
        boolean useInstanceProfileForCredentials, String accessId, String secretKey, String privateKey) throws IOException, ServletException {
    try {
        AWSCredentialsProvider credentialsProvider = createCredentialsProvider(useInstanceProfileForCredentials, accessId, secretKey);
        AmazonEC2 ec2 = connect(credentialsProvider, ec2endpoint);
        ec2.describeInstances();

        if (privateKey == null) {
            return FormValidation.error("Private key is not specified. Click 'Generate Key' to generate one.");
        }

        if (privateKey.trim().length() > 0) {
            // check if this key exists
            EC2PrivateKey pk = new EC2PrivateKey(privateKey);
            if (pk.find(ec2) == null) {
                return FormValidation.error("The EC2 key pair private key isn't registered to this EC2 region (fingerprint is " + pk.getFingerprint() + ")");
            }
        }

        return FormValidation.ok(Messages.EC2Cloud_Success());
    } catch (AmazonClientException e) {
        LOGGER.log(Level.WARNING, "Failed to check EC2 credential", e);
        return FormValidation.error(e.getMessage());
    }
}
 
Example 32
Project: ec2-plugin   File: AmazonEC2Cloud.java   View source code 6 votes vote down vote up
public ListBoxModel doFillRegionItems(@QueryParameter boolean useInstanceProfileForCredentials,
		@QueryParameter String accessId, @QueryParameter String secretKey,
		@QueryParameter String region) throws IOException, ServletException {
	ListBoxModel model = new ListBoxModel();
	if (testMode) {
		model.add(DEFAULT_EC2_HOST);
		return model;
	}

	if (useInstanceProfileForCredentials || (!StringUtils.isEmpty(accessId) && !StringUtils.isEmpty(secretKey))) {
		AWSCredentialsProvider credentialsProvider = createCredentialsProvider(useInstanceProfileForCredentials, accessId, secretKey);
		AmazonEC2 client = connect(credentialsProvider, new URL("http://ec2.amazonaws.com"));
		DescribeRegionsResult regions = client.describeRegions();
		List<Region> regionList = regions.getRegions();
		for (Region r : regionList) {
			String name = r.getRegionName();
			model.add(name, name);
		}
	}
	return model;
}
 
Example 33
Project: cloudwatch-tomcat-valve   File: ElapsedTimeAggregatorTest.java   View source code 6 votes vote down vote up
/**
 * Default constructor
 */
public ElapsedTimeAggregatorTest() {
    AmazonEC2 ec2Client = mock(AmazonEC2.class);
    AmazonCloudWatch cloudWatchClient = mock(AmazonCloudWatch.class);
    Region region = Region.getRegion(Regions.US_WEST_1);

    when(ec2Client.describeTags(any(DescribeTagsRequest.class))).
            thenReturn(new DescribeTagsResult());

    instanceOnlyAggregator = new ElapsedTimeAggregator("TEST", region, "i-500f6ca6", null, ec2Client, cloudWatchClient);

    when(ec2Client.describeTags(any(DescribeTagsRequest.class))).
            thenReturn(new DescribeTagsResult().withTags(
                    new TagDescription().
                            withKey("aws:autoscaling:groupName").
                            withValue("TEST")
            ));
    asgAggregator = new ElapsedTimeAggregator("TEST", region, "i-500f6ca6", null, ec2Client, cloudWatchClient);
}
 
Example 34
Project: jenkins-docker-build-plugin   File: EC2DockerHostProvider.java   View source code 6 votes vote down vote up
@Override
public Collection<HostAndPort> listHosts() throws Exception {
    List<HostAndPort> hosts = newArrayList();

    for (AmazonEC2 client : _amazonEC2) {
        try {
            hosts.addAll(listHosts(client));
        } catch (Throwable ex) {
            LOG.log(WARNING, "Error listing EC2 hosts", ex);
        }
    }

    LOG.log(FINE, "Discovered {0} instances: filters={1}", new Object[]{hosts.size(), _filters});

    return hosts;
}
 
Example 35
Project: primecloud-controller   File: AbstractAwsClientWrapper.java   View source code 6 votes vote down vote up
/**
 * TODO: メソッドコメント
 * 
 * @param client
 * @return
 */
public AmazonEC2 wrap(final AmazonEC2 client) {
    InvocationHandler handler = new InvocationHandler() {
        @Override
        public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
            if (!AmazonWebServiceResult.class.isAssignableFrom(method.getReturnType())) {
                return method.invoke(client, args);
            }

            return doInvoke(client, proxy, method, args);
        }
    };

    return (AmazonEC2) Proxy.newProxyInstance(LoggingAwsClientWrapper.class.getClassLoader(),
            new Class[] { AmazonEC2.class }, handler);
}
 
Example 36
Project: primecloud-controller   File: AmazonAwsClientFactory.java   View source code 6 votes vote down vote up
/**
 * {@inheritDoc}
 */
@Override
public AmazonEC2 createEc2Client(String awsAccessId, String awsSecretKey) {
    AWSCredentials credentials = new BasicAWSCredentials(awsAccessId, awsSecretKey);
    ClientConfiguration configuration = createConfiguration();

    AmazonEC2 client = new AmazonEC2Client(credentials, configuration);

    if (host != null) {
        client.setEndpoint(AmazonEC2.ENDPOINT_PREFIX + "." + host);
    }

    client = new ExceptionHandleAwsClientWrapper().wrap(client);

    return client;
}
 
Example 37
Project: incubator-gobblin   File: AWSSdkClient.java   View source code 6 votes vote down vote up
/***
 * Create an Amazon AWS security group
 *
 * @param groupName Security group name
 * @param description Security group description
 */
public void createSecurityGroup(String groupName,
    String description) {

  AmazonEC2 amazonEC2 = getEc2Client();
  try {
    final CreateSecurityGroupRequest securityGroupRequest = new CreateSecurityGroupRequest()
        .withGroupName(groupName)
        .withDescription(description);
    amazonEC2.createSecurityGroup(securityGroupRequest);

    LOGGER.info("Created Security Group: " + groupName);
  } catch (AmazonServiceException ase) {
    // This might mean that security group is already created, hence ignore
    LOGGER.warn("Issue in creating security group", ase);
  }
}
 
Example 38
Project: incubator-gobblin   File: AWSSdkClient.java   View source code 6 votes vote down vote up
/***
 * Open firewall for a security group
 *
 * @param groupName Open firewall for this security group
 * @param ipRanges Open firewall for this IP range
 * @param ipProtocol Open firewall for this protocol type (eg. tcp, udp)
 * @param fromPort Open firewall for port range starting at this port
 * @param toPort Open firewall for port range ending at this port
 */
public void addPermissionsToSecurityGroup(String groupName,
    String ipRanges,
    String ipProtocol,
    Integer fromPort,
    Integer toPort) {

  final AmazonEC2 amazonEC2 = getEc2Client();

  final IpPermission ipPermission = new IpPermission()
      .withIpRanges(ipRanges)
      .withIpProtocol(ipProtocol)
      .withFromPort(fromPort)
      .withToPort(toPort);
  final AuthorizeSecurityGroupIngressRequest authorizeSecurityGroupIngressRequest =
      new AuthorizeSecurityGroupIngressRequest()
          .withGroupName(groupName)
          .withIpPermissions(ipPermission);
  amazonEC2.authorizeSecurityGroupIngress(authorizeSecurityGroupIngressRequest);

  LOGGER.info("Added permissions: " + ipPermission + " to security group: " + groupName);
}
 
Example 39
Project: incubator-gobblin   File: AWSSdkClient.java   View source code 6 votes vote down vote up
/***
 * Get list of EC2 {@link Instance}s for a auto scaling group
 *
 * @param groupName Auto scaling group name
 * @param status Instance status (eg. running)
 * @return List of EC2 instances found for the input auto scaling group
 */
public List<Instance> getInstancesForGroup(String groupName,
    String status) {

  final AmazonEC2 amazonEC2 = getEc2Client();

  final DescribeInstancesResult instancesResult = amazonEC2.describeInstances(new DescribeInstancesRequest()
      .withFilters(new Filter().withName("tag:aws:autoscaling:groupName").withValues(groupName)));

  final List<Instance> instances = new ArrayList<>();
  for (Reservation reservation : instancesResult.getReservations()) {
    for (Instance instance : reservation.getInstances()) {
      if (null == status|| null == instance.getState()
          || status.equals(instance.getState().getName())) {
        instances.add(instance);
        LOGGER.info("Found instance: " + instance + " which qualified filter: " + status);
      } else {
        LOGGER.info("Found instance: " + instance + " but did not qualify for filter: " + status);
      }
    }
  }

  return instances;
}
 
Example 40
Project: Raigad   File: RaigadConfiguration.java   View source code 6 votes vote down vote up
/**
 * Get the fist 3 available zones in the region
 */
public void setDefaultRACList(String region) {
    AmazonEC2 client = new AmazonEC2Client(provider.getAwsCredentialProvider());
    client.setEndpoint("ec2." + region + ".amazonaws.com");
    DescribeAvailabilityZonesResult res = client.describeAvailabilityZones();
    List<String> zone = Lists.newArrayList();

    for (AvailabilityZone reg : res.getAvailabilityZones()) {
        if (reg.getState().equals("available")) {
            zone.add(reg.getZoneName());
        }
        if (zone.size() == 3) {
            break;
        }
    }
    DEFAULT_AVAILABILITY_ZONES = ImmutableList.copyOf(zone);
}