예제 #1
0
    // Retrieve the availability zones for the region
    private ArrayList<String> getAvailabilityZones(AmazonEC2 ec2) {
      ArrayList<String> availabilityZones = new ArrayList<String>();

      DescribeAvailabilityZonesResult zones = ec2.describeAvailabilityZones();
      List<AvailabilityZone> zoneList = zones.getAvailabilityZones();

      for (AvailabilityZone z : zoneList) {
        availabilityZones.add(z.getZoneName());
      }

      return availabilityZones;
    }
예제 #2
0
 /** 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 =  StringUtils.join(zone, ",");
   DEFAULT_AVAILABILITY_ZONES = ImmutableList.copyOf(zone);
 }
  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;
  }
예제 #4
0
  public static void main(String[] args) throws Exception {
    System.out.println("===========================================");
    System.out.println("Welcome to the AWS Java SDK!");
    System.out.println("===========================================");

    init();

    try {
      /*
       * The Amazon EC2 client allows you to easily launch and configure
       * computing capacity in AWS datacenters.
       *
       * In this sample, we use the EC2 client to list the availability zones
       * in a region, and then list the instances running in those zones.
       */
      DescribeAvailabilityZonesResult availabilityZonesResult = ec2.describeAvailabilityZones();
      List<AvailabilityZone> availabilityZones = availabilityZonesResult.getAvailabilityZones();
      System.out.println("You have access to " + availabilityZones.size() + " availability zones:");
      for (AvailabilityZone zone : availabilityZones) {
        System.out.println(" - " + zone.getZoneName() + " (" + zone.getRegionName() + ")");
      }

      DescribeInstancesResult describeInstancesResult = ec2.describeInstances();
      Set<Instance> instances = new HashSet<Instance>();
      for (Reservation reservation : describeInstancesResult.getReservations()) {
        instances.addAll(reservation.getInstances());
      }

      System.out.println("You have " + instances.size() + " Amazon EC2 instance(s) running.");

      /*
       * The Amazon S3 client allows you to manage and configure buckets
       * and to upload and download data.
       *
       * In this sample, we use the S3 client to list all the buckets in
       * your account, and then iterate over the object metadata for all
       * objects in one bucket to calculate the total object count and
       * space usage for that one bucket. Note that this sample only
       * retrieves the object's metadata and doesn't actually download the
       * object's content.
       *
       * In addition to the low-level Amazon S3 client in the SDK, there
       * is also a high-level TransferManager API that provides
       * asynchronous management of uploads and downloads with an easy to
       * use API:
       *   http://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/s3/transfer/TransferManager.html
       */
      List<Bucket> buckets = s3.listBuckets();
      System.out.println("You have " + buckets.size() + " Amazon S3 bucket(s).");

      if (buckets.size() > 0) {
        Bucket bucket = buckets.get(0);

        long totalSize = 0;
        long totalItems = 0;
        /*
         * The S3Objects and S3Versions classes provide convenient APIs
         * for iterating over the contents of your buckets, without
         * having to manually deal with response pagination.
         */
        for (S3ObjectSummary objectSummary : S3Objects.inBucket(s3, bucket.getName())) {
          totalSize += objectSummary.getSize();
          totalItems++;
        }

        System.out.println(
            "The bucket '"
                + bucket.getName()
                + "' contains "
                + totalItems
                + " objects "
                + "with a total size of "
                + totalSize
                + " bytes.");
      }
    } catch (AmazonServiceException ase) {
      /*
       * AmazonServiceExceptions represent an error response from an AWS
       * services, i.e. your request made it to AWS, but the AWS service
       * either found it invalid or encountered an error trying to execute
       * it.
       */
      System.out.println("Error Message:    " + ase.getMessage());
      System.out.println("HTTP Status Code: " + ase.getStatusCode());
      System.out.println("AWS Error Code:   " + ase.getErrorCode());
      System.out.println("Error Type:       " + ase.getErrorType());
      System.out.println("Request ID:       " + ase.getRequestId());
    } catch (AmazonClientException ace) {
      /*
       * AmazonClientExceptions represent an error that occurred inside
       * the client on the local host, either while trying to send the
       * request to AWS or interpret the response. For example, if no
       * network connection is available, the client won't be able to
       * connect to AWS to execute a request and will throw an
       * AmazonClientException.
       */
      System.out.println("Error Message: " + ace.getMessage());
    }
  }