Example usage for com.amazonaws.services.ec2.model IamInstanceProfileSpecification setArn

List of usage examples for com.amazonaws.services.ec2.model IamInstanceProfileSpecification setArn

Introduction

In this page you can find the example usage for com.amazonaws.services.ec2.model IamInstanceProfileSpecification setArn.

Prototype


public void setArn(String arn) 

Source Link

Document

The Amazon Resource Name (ARN) of the instance profile.

Usage

From source file:com.pinterest.arcee.aws.EC2HostInfoDAOImpl.java

License:Apache License

@Override
public List<HostBean> launchEC2Instances(GroupBean groupBean, int instanceCnt, String subnet) throws Exception {
    RunInstancesRequest request = new RunInstancesRequest();
    request.setImageId(groupBean.getImage_id());
    request.setInstanceType(groupBean.getInstance_type());
    request.setKeyName("ops");
    request.setSecurityGroupIds(Arrays.asList(groupBean.getSecurity_group()));
    request.setSubnetId(subnet);//from   w  w  w  . j ava2s.c  o  m
    request.setUserData(groupBean.getUser_data());
    IamInstanceProfileSpecification iamRole = new IamInstanceProfileSpecification();
    iamRole.setArn(groupBean.getIam_role());
    request.setIamInstanceProfile(iamRole);
    request.setMinCount(instanceCnt);
    request.setMaxCount(instanceCnt);

    List<HostBean> newHosts = new ArrayList<>();
    try {
        RunInstancesResult result = ec2Client.runInstances(request);
        List<Instance> instances = result.getReservation().getInstances();
        LOG.info("Launch instances {}", instances.toString());
        for (Instance instance : instances) {
            HostBean host = new HostBean();
            host.setHost_name(instance.getInstanceId());
            host.setHost_id(instance.getInstanceId());
            host.setIp(instance.getPrivateIpAddress());
            host.setGroup_name(groupBean.getGroup_name());
            host.setState(HostState.PROVISIONED);
            host.setCreate_date(instance.getLaunchTime().getTime());
            host.setLast_update(instance.getLaunchTime().getTime());
            newHosts.add(host);
        }
    } catch (AmazonClientException ex) {
        LOG.error(String.format("Failed to call aws runInstances when launching host %s", newHosts.toString()),
                ex);
        throw new DeployInternalException(
                String.format("Failed to call aws runInstances when launching host %s", newHosts.toString()),
                ex);
    }
    return newHosts;
}

From source file:io.druid.indexing.overlord.autoscaling.ec2.EC2IamProfileData.java

License:Apache License

public IamInstanceProfileSpecification toIamInstanceProfileSpecification() {
    final IamInstanceProfileSpecification spec = new IamInstanceProfileSpecification();
    spec.setName(name);// w w w . ja va 2 s. co  m
    spec.setArn(arn);
    return spec;
}