Package com.netflix.simianarmy.client.aws

Examples of com.netflix.simianarmy.client.aws.AWSClient


    /**
     * Create the specific client within passed region, using the appropriate AWS credentials provider.
     * @param clientRegion
     */
    protected void createClient(String clientRegion) {
        this.client = new AWSClient(clientRegion, awsCredentialsProvider);
        setCloudClient(this.client);
    }
View Full Code Here


    @Override
    public List<Cluster> clusters(String... clusterNames) {
        List<Cluster> list = Lists.newArrayList();
        for (Map.Entry<String, AWSClient> entry : regionToAwsClient.entrySet()) {
            String region = entry.getKey();
            AWSClient awsClient = entry.getValue();
            Set<String> asgInstances = Sets.newHashSet();
            LOGGER.info(String.format("Crawling clusters in region %s", region));
            for (AutoScalingGroup asg : awsClient.describeAutoScalingGroups(clusterNames)) {
                List<String> instances = Lists.newArrayList();
                for (Instance instance : asg.getInstances()) {
                    instances.add(instance.getInstanceId());
                    asgInstances.add(instance.getInstanceId());
                }
                com.netflix.simianarmy.conformity.AutoScalingGroup conformityAsg =
                        new com.netflix.simianarmy.conformity.AutoScalingGroup(
                                asg.getAutoScalingGroupName(),
                                instances.toArray(new String[instances.size()]));

                for (SuspendedProcess sp : asg.getSuspendedProcesses()) {
                    if ("AddToLoadBalancer".equals(sp.getProcessName())) {
                        LOGGER.info(String.format("ASG %s is suspended: %s", asg.getAutoScalingGroupName(),
                                asg.getSuspendedProcesses()));
                        conformityAsg.setSuspended(true);
                    }
                }
                Cluster cluster = new Cluster(asg.getAutoScalingGroupName(), region, conformityAsg);
                updateCluster(cluster);
                list.add(cluster);
            }
            //Cluster containing all solo instances
            Set<String> instances = Sets.newHashSet();
            for (com.amazonaws.services.ec2.model.Instance awsInstance : awsClient.describeInstances()) {
                if (!asgInstances.contains(awsInstance.getInstanceId())) {
                    LOGGER.info(String.format("Adding instance %s to soloInstances cluster.",
                            awsInstance.getInstanceId()));
                    instances.add(awsInstance.getInstanceId());
                }
View Full Code Here

            return asgs.get(0).getLoadBalancerNames();
        }
    }

    private AWSClient getAwsClient(String region) {
        AWSClient awsClient = regionToAwsClient.get(region);
        if (awsClient == null) {
            awsClient = new AWSClient(region, awsCredentialsProvider);
            regionToAwsClient.put(region, awsClient);
        }
        return awsClient;
    }
View Full Code Here

    protected Map<String, Long> getInstanceLaunchTimes(String region, String... instanceIds) {
        Map<String, Long> result = Maps.newHashMap();
        if (instanceIds == null || instanceIds.length == 0) {
            return result;
        }
        AWSClient awsClient = new AWSClient(region, awsCredentialsProvider);
        for (Instance instance : awsClient.describeInstances(instanceIds)) {
            if (instance.getLaunchTime() != null) {
                result.put(instance.getInstanceId(), instance.getLaunchTime().getTime());
            } else {
                LOGGER.warn(String.format("No launch time found for instance %s", instance.getInstanceId()));
            }
View Full Code Here

    public String getNonconformingReason() {
        return REASON;
    }

    private AWSClient getAwsClient(String region) {
        AWSClient awsClient = regionToAwsClient.get(region);
        if (awsClient == null) {
            awsClient = new AWSClient(region, awsCredentialsProvider);
            regionToAwsClient.put(region, awsClient);
        }
        return awsClient;
    }
View Full Code Here

     * @param region the region
     * @param instanceId the instance id.
     * @return the list of the AWS instances with the given id.
     */
    protected List<Instance> getAWSInstances(String region, String instanceId) {
        AWSClient awsClient = getAwsClient(region);
        return awsClient.describeInstances(instanceId);
    }
View Full Code Here

            return lbs.get(0).getAvailabilityZones();
        }
    }

    private AWSClient getAwsClient(String region) {
        AWSClient awsClient = regionToAwsClient.get(region);
        if (awsClient == null) {
            awsClient = new AWSClient(region, awsCredentialsProvider);
            regionToAwsClient.put(region, awsClient);
        }
        return awsClient;
    }
View Full Code Here

    protected Map<String, List<String>> getInstanceSecurityGroups(String region, String... instanceIds) {
        Map<String, List<String>> result = Maps.newHashMap();
        if (instanceIds == null || instanceIds.length == 0) {
            return result;
        }
        AWSClient awsClient = new AWSClient(region, awsCredentialsProvider);
        for (Instance instance : awsClient.describeInstances(instanceIds)) {
            // Ignore instances that are in VPC
            if (StringUtils.isNotEmpty(instance.getVpcId())) {
                LOGGER.info(String.format("Instance %s is in VPC and is ignored.", instance.getInstanceId()));
                continue;
            }
View Full Code Here

TOP

Related Classes of com.netflix.simianarmy.client.aws.AWSClient

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.