Example usage for com.amazonaws.services.ec2 AmazonEC2 shutdown

List of usage examples for com.amazonaws.services.ec2 AmazonEC2 shutdown

Introduction

In this page you can find the example usage for com.amazonaws.services.ec2 AmazonEC2 shutdown.

Prototype

void shutdown();

Source Link

Document

Shuts down this client object, releasing any resources that might be held open.

Usage

From source file:c3.ops.priam.aws.AWSMembership.java

License:Apache License

public List<String> getRunningInstancesByTags(String tagName, List<String> values) {
    AmazonEC2 client = null;

    try {//from  w  ww  .ja  v  a 2 s  .c  om

        List<String> instanceIds = Lists.newArrayList();
        List<String> states = new ArrayList<String>();

        client = getEc2Client();
        states.add("running");
        DescribeInstancesRequest req = new DescribeInstancesRequest()
                .withFilters(new Filter("tag:" + tagName, values), new Filter("instance-state-name", states));

        for (Reservation reservation : client.describeInstances(req).getReservations()) {
            for (Instance instance : reservation.getInstances()) {
                instanceIds.add(instance.getInstanceId());
                logger.info(String.format("Querying Amazon returned following instance in the Ring: %s --> %s",
                        config.getRac(), StringUtils.join(instanceIds, ",")));
            }
        }
        return instanceIds;
    } finally {
        if (client != null)
            client.shutdown();
    }
}

From source file:c3.ops.priam.aws.AWSMembership.java

License:Apache License

/**
 * Adds a iplist to the SG.//from   ww w  . j  a  va2 s  .c  o  m
 */
public void addACL(Collection<String> listIPs, int from, int to) {
    AmazonEC2 client = null;
    try {
        client = getEc2Client();
        List<IpPermission> ipPermissions = new ArrayList<IpPermission>();
        ipPermissions.add(new IpPermission().withFromPort(from).withIpProtocol("tcp").withIpRanges(listIPs)
                .withToPort(to));
        client.authorizeSecurityGroupIngress(
                new AuthorizeSecurityGroupIngressRequest(config.getACLGroupName(), ipPermissions));
        logger.info("Done adding ACL to: " + StringUtils.join(listIPs, ","));
    } finally {
        if (client != null)
            client.shutdown();
    }
}

From source file:c3.ops.priam.aws.AWSMembership.java

License:Apache License

/**
 * removes a iplist from the SG/*from  w w  w. j  a  v a  2s  .co m*/
 */
public void removeACL(Collection<String> listIPs, int from, int to) {
    AmazonEC2 client = null;
    try {
        client = getEc2Client();
        List<IpPermission> ipPermissions = new ArrayList<IpPermission>();
        ipPermissions.add(new IpPermission().withFromPort(from).withIpProtocol("tcp").withIpRanges(listIPs)
                .withToPort(to));
        client.revokeSecurityGroupIngress(
                new RevokeSecurityGroupIngressRequest(config.getACLGroupName(), ipPermissions));
        logger.info("Done removing from ACL: " + StringUtils.join(listIPs, ","));
    } finally {
        if (client != null)
            client.shutdown();
    }
}

From source file:c3.ops.priam.aws.AWSMembership.java

License:Apache License

/**
 * List SG ACL's//  ww  w  . j  av  a 2 s.co m
 */
public List<String> listACL(int from, int to) {
    AmazonEC2 client = null;
    try {
        client = getEc2Client();
        List<String> ipPermissions = new ArrayList<String>();
        DescribeSecurityGroupsRequest req = new DescribeSecurityGroupsRequest()
                .withGroupNames(Arrays.asList(config.getACLGroupName()));
        DescribeSecurityGroupsResult result = client.describeSecurityGroups(req);
        for (SecurityGroup group : result.getSecurityGroups())
            for (IpPermission perm : group.getIpPermissions())
                if (perm.getFromPort() == from && perm.getToPort() == to)
                    ipPermissions.addAll(perm.getIpRanges());
        return ipPermissions;
    } finally {
        if (client != null)
            client.shutdown();
    }
}

From source file:com.netflix.dynomitemanager.sidecore.aws.AWSMembership.java

License:Apache License

/**
 * Adding peers' IPs as ingress to the running instance SG.  The running instance could be in "classic" or "vpc"
 *///ww w .ja v  a2s .  c  om
public void addACL(Collection<String> listIPs, int from, int to) {
    AmazonEC2 client = null;
    try {
        client = getEc2Client();
        List<IpPermission> ipPermissions = new ArrayList<IpPermission>();
        ipPermissions.add(new IpPermission().withFromPort(from).withIpProtocol("tcp").withIpRanges(listIPs)
                .withToPort(to));

        if (this.insEnvIdentity.isClassic()) {
            client.authorizeSecurityGroupIngress(
                    new AuthorizeSecurityGroupIngressRequest(config.getACLGroupName(), ipPermissions));
            logger.info("Done adding ACL to classic: " + StringUtils.join(listIPs, ","));
        } else {
            AuthorizeSecurityGroupIngressRequest sgIngressRequest = new AuthorizeSecurityGroupIngressRequest();
            sgIngressRequest.withGroupId(getVpcGroupId()); //fetch SG group id for VPC account of the running instances.
            client.authorizeSecurityGroupIngress(sgIngressRequest.withIpPermissions(ipPermissions)); //Adding peers' IPs as ingress to the SG that the running instance belongs to
            logger.info("Done adding ACL to vpc: " + StringUtils.join(listIPs, ","));
        }

    } finally {
        if (client != null)
            client.shutdown();
    }
}

From source file:com.netflix.dynomitemanager.sidecore.aws.AWSMembership.java

License:Apache License

protected String getVpcGroupId() {
    AmazonEC2 client = null;
    try {/*from w w  w .j  a  v a 2 s .c o  m*/
        client = getEc2Client();
        Filter nameFilter = new Filter().withName("group-name").withValues(config.getACLGroupName()); //SG 
        Filter vpcFilter = new Filter().withName("vpc-id").withValues(config.getVpcId());

        DescribeSecurityGroupsRequest req = new DescribeSecurityGroupsRequest().withFilters(nameFilter,
                vpcFilter);
        DescribeSecurityGroupsResult result = client.describeSecurityGroups(req);
        for (SecurityGroup group : result.getSecurityGroups()) {
            logger.debug(String.format("got group-id:%s for group-name:%s,vpc-id:%s", group.getGroupId(),
                    config.getACLGroupName(), config.getVpcId()));
            return group.getGroupId();
        }
        logger.error(String.format("unable to get group-id for group-name=%s vpc-id=%s",
                config.getACLGroupName(), config.getVpcId()));
        return "";
    } finally {
        if (client != null)
            client.shutdown();
    }
}

From source file:com.netflix.dynomitemanager.sidecore.aws.AWSMembership.java

License:Apache License

/**
 * removes a iplist from the SG//from ww w . j a  v a2 s  .c o  m
 */
public void removeACL(Collection<String> listIPs, int from, int to) {
    AmazonEC2 client = null;
    try {
        client = getEc2Client();
        List<IpPermission> ipPermissions = new ArrayList<IpPermission>();
        ipPermissions.add(new IpPermission().withFromPort(from).withIpProtocol("tcp").withIpRanges(listIPs)
                .withToPort(to));

        if (this.insEnvIdentity.isClassic()) {
            client.revokeSecurityGroupIngress(
                    new RevokeSecurityGroupIngressRequest(config.getACLGroupName(), ipPermissions));
            logger.info("Done removing from ACL within classic env for running instance: "
                    + StringUtils.join(listIPs, ","));
        } else {
            RevokeSecurityGroupIngressRequest req = new RevokeSecurityGroupIngressRequest();
            req.withGroupId(getVpcGroupId()); //fetch SG group id for vpc account of the running instance.
            client.revokeSecurityGroupIngress(req.withIpPermissions(ipPermissions)); //Adding peers' IPs as ingress to the running instance SG
            logger.info("Done removing from ACL within vpc env for running instance: "
                    + StringUtils.join(listIPs, ","));
        }

    } finally {
        if (client != null)
            client.shutdown();
    }
}

From source file:com.netflix.dynomitemanager.sidecore.aws.AWSMembership.java

License:Apache License

/**
 * List SG ACL's/*from  w ww  . ja  va  2s.  co  m*/
 */
public List<String> listACL(int from, int to) {
    AmazonEC2 client = null;
    try {
        client = getEc2Client();
        List<String> ipPermissions = new ArrayList<String>();

        if (this.insEnvIdentity.isClassic()) {

            DescribeSecurityGroupsRequest req = new DescribeSecurityGroupsRequest()
                    .withGroupNames(Arrays.asList(config.getACLGroupName()));
            DescribeSecurityGroupsResult result = client.describeSecurityGroups(req);
            for (SecurityGroup group : result.getSecurityGroups())
                for (IpPermission perm : group.getIpPermissions())
                    if (perm.getFromPort() == from && perm.getToPort() == to)
                        ipPermissions.addAll(perm.getIpRanges());

            logger.info("Fetch current permissions for classic env of running instance");
        } else {

            Filter nameFilter = new Filter().withName("group-name").withValues(config.getACLGroupName());
            String vpcid = config.getVpcId();
            if (vpcid == null || vpcid.isEmpty()) {
                throw new IllegalStateException("vpcid is null even though instance is running in vpc.");
            }

            Filter vpcFilter = new Filter().withName("vpc-id").withValues(vpcid); //only fetch SG for the vpc id of the running instance
            DescribeSecurityGroupsRequest req = new DescribeSecurityGroupsRequest().withFilters(nameFilter,
                    vpcFilter);
            DescribeSecurityGroupsResult result = client.describeSecurityGroups(req);
            for (SecurityGroup group : result.getSecurityGroups())
                for (IpPermission perm : group.getIpPermissions())
                    if (perm.getFromPort() == from && perm.getToPort() == to)
                        ipPermissions.addAll(perm.getIpRanges());

            logger.info("Fetch current permissions for vpc env of running instance");
        }

        return ipPermissions;
    } finally {
        if (client != null)
            client.shutdown();
    }
}

From source file:com.netflix.raigad.aws.AWSMembership.java

License:Apache License

/**
 * List SG ACL's/*from   w w  w . j  a  v  a2 s  . c  om*/
 */
public List<String> listACL(int from, int to) {
    AmazonEC2 client = null;
    try {
        client = getEc2Client();
        List<String> ipPermissions = new ArrayList<String>();
        DescribeSecurityGroupsRequest req = new DescribeSecurityGroupsRequest()
                .withGroupNames(Arrays.asList(config.getACLGroupName()));
        DescribeSecurityGroupsResult result = client.describeSecurityGroups(req);
        for (SecurityGroup group : result.getSecurityGroups()) {
            for (IpPermission perm : group.getIpPermissions()) {
                if (perm.getFromPort() == from && perm.getToPort() == to) {
                    ipPermissions.addAll(perm.getIpRanges());
                }
            }
        }
        return ipPermissions;
    } finally {
        if (client != null)
            client.shutdown();
    }
}