public void testApplyInputStream() {
    Set<Reservation<RunningInstance>> contents =
        ImmutableSet.of(
            new Reservation<RunningInstance>(
                defaultRegion,
                ImmutableSet.of("default"),
                ImmutableSet.of(
                    new RunningInstance.Builder()
                        .region(defaultRegion)
                        .groupId("default")
                        .amiLaunchIndex("23")
                        .dnsName("ec2-72-44-33-4.compute-1.amazonaws.com")
                        .imageId("ami-6ea54007")
                        .instanceId("i-28a64341")
                        .instanceState(InstanceState.RUNNING)
                        .instanceType(InstanceType.M1_LARGE)
                        .kernelId("aki-ba3adfd3")
                        .keyName("example-key-name")
                        .launchTime(dateService.iso8601DateParse("2007-08-07T11:54:42.000Z"))
                        // MonitoringState.DISABLED,
                        .availabilityZone("us-east-1b")
                        .virtualizationType("paravirtual")
                        .privateDnsName("10-251-50-132.ec2.internal") // product codes
                        // ImmutableSet.of("774F4FF8")
                        .ramdiskId("ari-badbad00")
                        .rootDeviceType(RootDeviceType.INSTANCE_STORE)
                        .build(),
                    new RunningInstance.Builder()
                        .region(defaultRegion)
                        .groupId("default")
                        .amiLaunchIndex("23")
                        .dnsName("ec2-72-44-33-6.compute-1.amazonaws.com")
                        .imageId("ami-6ea54007")
                        .instanceId("i-28a64435")
                        .instanceState(InstanceState.RUNNING)
                        .instanceType(InstanceType.M1_LARGE)
                        .kernelId("aki-ba3adfd3")
                        .keyName("example-key-name")
                        .launchTime(dateService.iso8601DateParse("2007-08-07T11:54:42.000Z"))
                        // MonitoringState.DISABLED,
                        .availabilityZone("us-east-1b")
                        .virtualizationType("paravirtual")
                        .privateDnsName("10-251-50-134.ec2.internal") // product codes
                        // ImmutableSet.of("774F4FF8")
                        .ramdiskId("ari-badbad00")
                        .rootDeviceType(RootDeviceType.INSTANCE_STORE)
                        .build()),
                "UYY3TLBUXIEON5NQVUUX6OMPWBZIQNFM",
                null,
                "r-44a5402d"));

    Set<Reservation<? extends RunningInstance>> result =
        parseRunningInstances("/describe_instances.xml");

    assertEquals(result, contents);
  }
  public void testEBS() throws UnknownHostException {

    Set<Reservation<RunningInstance>> contents =
        ImmutableSet.of(
            new Reservation<RunningInstance>(
                defaultRegion,
                ImmutableSet.of("adriancole.ec2ebsingress"),
                ImmutableSet.of(
                    RunningInstance.builder()
                        .region(defaultRegion)
                        .groupName("adriancole.ec2ebsingress")
                        .amiLaunchIndex("0")
                        .dnsName("ec2-75-101-203-146.compute-1.amazonaws.com")
                        .imageId("ami-849875ed")
                        .instanceId("i-e564438d")
                        .instanceState(InstanceState.RUNNING)
                        .rawState("running")
                        .instanceType(InstanceType.M1_SMALL)
                        .ipAddress("75.101.203.146")
                        .kernelId("aki-a71cf9ce")
                        .keyName("adriancole.ec2ebs1")
                        .launchTime(dateService.iso8601DateParse("2009-12-30T04:06:23.000Z"))
                        // MonitoringState.DISABLED
                        .availabilityZone("us-east-1b")
                        // "placement"
                        .virtualizationType("hvm")
                        .privateDnsName("domU-12-31-39-09-CE-53.compute-1.internal")
                        .privateIpAddress("10.210.209.157")
                        .ramdiskId("ari-a51cf9cc")
                        .rootDeviceType(RootDeviceType.EBS)
                        .rootDeviceName("/dev/sda1")
                        .device(
                            "/dev/sda1",
                            new BlockDevice(
                                "vol-dc6ca8b5",
                                Attachment.Status.ATTACHED,
                                dateService.iso8601DateParse("2009-12-30T04:06:29.000Z"),
                                true))
                        .build()),
                "993194456877",
                null,
                "r-596dd731"));

    Set<Reservation<? extends RunningInstance>> result =
        parseRunningInstances("/describe_instances_ebs.xml");

    assertEquals(result.toString(), contents.toString());
    assertEquals(get(get(result, 0), 0).getInstanceState(), InstanceState.RUNNING);
    assertEquals(get(get(result, 0), 0).getRawState(), "running");
  }
  public void testParse() {
    InputStream is = getClass().getResourceAsStream("/describe_loadbalancers.xml");

    Set<LoadBalancer> contents = Sets.newHashSet();
    LoadBalancer dummy =
        new LoadBalancer(
            null,
            "my-load-balancer",
            ImmutableSet.of("i-5b33e630", "i-8f26d7e4", "i-5933e632"),
            ImmutableSet.of("us-east-1a", "us-east-1c"),
            "my-load-balancer-1400212309.us-east-1.elb.amazonaws.com",
            dateService.iso8601DateParse("2011-05-25T23:47:23.590Z"));
    HealthCheck healthCheck = new HealthCheck(10, 30, "HTTP:80/index.html", 5, 2);
    dummy.setHealthCheck(healthCheck);

    ListenerDescription ld1 =
        new ListenerDescription(80, 80, "HTTP", null, ImmutableSet.of("AWSConsolePolicy-1"));
    dummy.getListeners().add(ld1);
    ListenerDescription ld2 =
        new ListenerDescription(8080, 8080, "HTTP", null, ImmutableSet.of("AWSConsolePolicy-2"));
    dummy.getListeners().add(ld2);

    AppCookieStickinessPolicy appPolicy =
        new AppCookieStickinessPolicy("AWSConsolePolicy-2", "JSESSIONID");
    dummy.getPolicies().add(appPolicy);
    LBCookieStickinessPolicy lbPolicy = new LBCookieStickinessPolicy("AWSConsolePolicy-1", 3600L);
    dummy.getPolicies().add(lbPolicy);

    contents.add(dummy);

    Set<LoadBalancer> result = parseLoadBalancers(is);

    assertEquals(result, contents);
  }
Esempio n. 4
0
  public void testTerremark() {
    InputStream is = getClass().getResourceAsStream("/task.xml");

    Task result = factory.create(injector.getInstance(TaskHandler.class)).parse(is);
    Task expects =
        new TaskImpl(
            URI.create("https://services.vcloudexpress.terremark.com/api/v0.8/task/3299"),
            null,
            TaskStatus.SUCCESS,
            dateService.iso8601DateParse("2009-08-24T21:29:32.983Z"),
            dateService.iso8601DateParse("2009-08-24T21:29:44.65Z"),
            null,
            new ReferenceTypeImpl(
                "Server1",
                VCloudMediaType.VAPP_XML,
                URI.create("https://services.vcloudexpress.terremark.com/api/v0.8/vapp/4012")),
            null);
    assertEquals(result, expects);
  }
Esempio n. 5
0
  public void test() {
    InputStream is = getClass().getResourceAsStream("/task-1.0.xml");

    Task result = factory.create(injector.getInstance(TaskHandler.class)).parse(is);

    Task expects =
        new TaskImpl(
            URI.create("https://vcenterprise.bluelock.com/api/v1.0/task/3cc08ir8oczbze3n1a3"),
            "Creating Virtual Application vApp_acole_2(607806320)",
            TaskStatus.RUNNING,
            dateService.iso8601DateParse("2010-08-23T02:09:52.443-04:00"),
            dateService.iso8601DateParse("9999-12-31T23:59:59.999-05:00"),
            dateService.iso8601DateParse("2010-11-21T02:09:52.443-05:00"),
            new ReferenceTypeImpl(
                "vApp_acole_2",
                VCloudMediaType.VAPP_XML,
                URI.create("https://vcenterprise.bluelock.com/api/v1.0/vApp/vapp-607806320")),
            null);
    assertEquals(result, expects);
  }
Esempio n. 6
0
 @Override
 public void endElement(String uri, String name, String qName) {
   if (qName.equals("Id")) {
     id = currentOrNull(currentText).replace("/change/", "");
   } else if (qName.equals("Status")) {
     status = Status.fromValue(currentOrNull(currentText));
   } else if (qName.equals("SubmittedAt")) {
     submittedAt = dateService.iso8601DateParse(currentOrNull(currentText));
   }
   currentText.setLength(0);
 }
 protected Snapshot testSnapshot() {
   return Snapshot.builder()
       .id("67d03df1-ce5d-4ba7-adbe-492ceb80170b")
       .volumeId("ea6f70ef-2784-40b9-9d14-d7f33c507c3f")
       .description("jclouds test snapshot")
       .status(Volume.Status.AVAILABLE)
       .name("jclouds-test-snapshot")
       .size(1)
       .created(dateService.iso8601DateParse("2012-11-02T16:23:27.000000"))
       .build();
 }
Esempio n. 8
0
  /** {@inheritDoc} */
  @Override
  public void endElement(String uri, String name, String qName) throws SAXException {

    if (equalsOrSuffix(qName, "SubnetGroup")) {
      builder.subnetGroup(subnetGroupHandler.getResult());
      inSubnetGroup = false;
    } else if (equalsOrSuffix(qName, "DBInstanceIdentifier")) {
      builder.id(currentOrNull(currentText));
    } else if (equalsOrSuffix(qName, "InstanceCreateTime")) {
      builder.createdTime(dateService.iso8601DateParse(currentOrNull(currentText)));
    } else if (equalsOrSuffix(qName, "DBName")) {
      builder.name(currentOrNull(currentText));
    } else if (equalsOrSuffix(qName, "AllocatedStorage")) {
      builder.allocatedStorageGB(Integer.parseInt(currentOrNull(currentText)));
    } else if (equalsOrSuffix(qName, "DBInstanceStatus")) {
      builder.status(currentOrNull(currentText));
    } else if (equalsOrSuffix(qName, "Address")) {
      address = currentOrNull(currentText);
    } else if (equalsOrSuffix(qName, "Port")) {
      port = new Integer(currentOrNull(currentText));
    } else if (equalsOrSuffix(qName, "Endpoint")) {
      builder.endpoint(HostAndPort.fromParts(address, port));
      address = null;
      port = null;
    } else if (equalsOrSuffix(qName, "DBSecurityGroupName")) {
      groupName = currentOrNull(currentText);
    } else if (equalsOrSuffix(qName, "Status")) {
      status = currentOrNull(currentText);
    } else if (equalsOrSuffix(qName, "DBSecurityGroup")) {
      securityGroupBuilder.put(groupName, status);
      groupName = status = null;
    } else if (equalsOrSuffix(qName, "DBSecurityGroups")) {
      builder.securityGroupNameToStatus(securityGroupBuilder.build());
      securityGroupBuilder = ImmutableMap.<String, String>builder();
    } else if (equalsOrSuffix(qName, "DBInstanceClass")) {
      builder.instanceClass(currentOrNull(currentText));
    } else if (equalsOrSuffix(qName, "AvailabilityZone")) {
      builder.availabilityZone(currentOrNull(currentText));
    } else if (equalsOrSuffix(qName, "MultiAZ")) {
      builder.multiAZ(Boolean.parseBoolean(currentOrNull(currentText)));
    } else if (equalsOrSuffix(qName, "Engine")) {
      builder.engine(currentOrNull(currentText));
    } else if (equalsOrSuffix(qName, "EngineVersion")) {
      builder.engineVersion(currentOrNull(currentText));
    } else if (equalsOrSuffix(qName, "LicenseModel")) {
      builder.licenseModel(currentOrNull(currentText));
    } else if (equalsOrSuffix(qName, "MasterUsername")) {
      builder.masterUsername(currentOrNull(currentText));
    } else if (inSubnetGroup) {
      subnetGroupHandler.endElement(uri, name, qName);
    }
    currentText = new StringBuilder();
  }
  public void testCancleBundleTask() {
    DateService dateService = injector.getInstance(DateService.class);
    InputStream is = getClass().getResourceAsStream("/cancel_bundle_task.xml");
    BundleTask expected =
        new BundleTask(
            defaultRegion,
            "bun-cla322b9",
            null,
            "i-12345678",
            20,
            dateService.iso8601DateParse("2008-10-07T11:41:50.000Z"),
            "canceling",
            "my-bucket",
            "my-new-image",
            dateService.iso8601DateParse("2008-10-07T11:51:50.000Z"));

    BundleTaskHandler handler = injector.getInstance(BundleTaskHandler.class);
    addDefaultRegionToHandler(handler);
    BundleTask result = factory.create(handler).parse(is);

    assertEquals(result, expected);
  }
 @Override
 public void endElement(String uri, String name, String qName) {
   if (qName.equals("AccessKeyId")) {
     builder.accessKeyId(currentOrNull(currentText));
   } else if (qName.equals("SecretAccessKey")) {
     builder.secretAccessKey(currentOrNull(currentText));
   } else if (qName.equals("SessionToken")) {
     builder.sessionToken(currentOrNull(currentText));
   } else if (qName.equals("Expiration")) {
     try {
       builder.expiration(dateService.iso8601SecondsDateParse(currentOrNull(currentText)));
     } catch (IllegalArgumentException e) {
       builder.expiration(dateService.iso8601DateParse(currentOrNull(currentText)));
     }
   }
   currentText.setLength(0);
 }
  public void testWhenRunning() throws UnknownHostException {

    Set<Reservation<RunningInstance>> contents =
        ImmutableSet.of(
            new Reservation<RunningInstance>(
                defaultRegion,
                ImmutableSet.of("adriancole.ec2ingress"),
                ImmutableSet.of(
                    RunningInstance.builder()
                        .region(defaultRegion)
                        .groupName("adriancole.ec2ingress")
                        .amiLaunchIndex("0")
                        .dnsName("ec2-174-129-81-68.compute-1.amazonaws.com")
                        .imageId("ami-82e4b5c7")
                        .instanceId("i-0799056f")
                        .instanceState(InstanceState.RUNNING)
                        .rawState("running")
                        .instanceType(InstanceType.M1_SMALL)
                        .ipAddress("174.129.81.68")
                        .kernelId("aki-a71cf9ce")
                        .keyName("adriancole.ec21")
                        .launchTime(dateService.iso8601DateParse("2009-11-09T03:00:34.000Z"))
                        // MonitoringState.DISABLED,
                        .availabilityZone("us-east-1c")
                        .virtualizationType("paravirtual")
                        .privateDnsName("ip-10-243-42-70.ec2.internal")
                        .privateIpAddress("10.243.42.70")
                        .ramdiskId("ari-a51cf9cc")
                        .rootDeviceType(RootDeviceType.INSTANCE_STORE)
                        .build()),
                "993194456877",
                null,
                "r-a3c508cb"));

    Set<Reservation<? extends RunningInstance>> result =
        parseRunningInstances("/describe_instances_running.xml");

    assertEquals(result.toString(), contents.toString());
    assertEquals(get(get(result, 0), 0).getInstanceState(), InstanceState.RUNNING);
    assertEquals(get(get(result, 0), 0).getRawState(), "running");
  }
Esempio n. 12
0
 protected Date parseDate() {
   return dateService.iso8601DateParse(currentOrNull(currentText));
 }
Esempio n. 13
0
 public void endElement(String uri, String name, String qName) {
   if (equalsOrSuffix(qName, "item")) {
     inItem();
     itemDepth--;
   } else if (equalsOrSuffix(qName, "state")) {
     builder.monitoringState(MonitoringState.fromValue(currentOrNull(currentText)));
   } else if (equalsOrSuffix(qName, "groupId")) {
     groupId = currentOrNull(currentText);
   } else if (equalsOrSuffix(qName, "groupName") && inPlacement) {
     builder.placementGroup(currentOrNull(currentText));
   } else if (equalsOrSuffix(qName, "groupName")) {
     switch (itemDepth) {
       case 2:
         reservationGroupIdToNames.put(groupId, currentOrNull(currentText));
         break;
       case 3:
         builder.securityGroupIdToName(groupId, currentOrNull(currentText));
         break;
     }
     groupId = null;
   } else if (equalsOrSuffix(qName, "subnetId")) {
     builder.subnetId(currentOrNull(currentText));
   } else if (equalsOrSuffix(qName, "spotInstanceRequestId")) {
     builder.spotInstanceRequestId(currentOrNull(currentText));
   } else if (equalsOrSuffix(qName, "vpcId")) {
     builder.vpcId(currentOrNull(currentText));
   } else if (equalsOrSuffix(qName, "hypervisor")) {
     builder.hypervisor(Hypervisor.fromValue(currentOrNull(currentText)));
   } else if (equalsOrSuffix(qName, "productCode")) {
     builder.productCode(currentOrNull(currentText));
   } else if (equalsOrSuffix(qName, "instancesSet")) {
     inInstancesSet = false;
   } else if (equalsOrSuffix(qName, "placement")) {
     inPlacement = false;
   } else if (equalsOrSuffix(qName, "ownerId")) {
     ownerId = currentOrNull(currentText);
   } else if (equalsOrSuffix(qName, "requesterId")) {
     requesterId = currentOrNull(currentText);
   } else if (equalsOrSuffix(qName, "reservationId")) {
     reservationId = currentOrNull(currentText);
   } else if (equalsOrSuffix(qName, "amiLaunchIndex")) {
     builder.amiLaunchIndex(currentOrNull(currentText));
   } else if (equalsOrSuffix(qName, "dnsName")) {
     builder.dnsName(currentOrNull(currentText));
   } else if (equalsOrSuffix(qName, "imageId")) {
     builder.imageId(currentOrNull(currentText));
   } else if (equalsOrSuffix(qName, "instanceId")) {
     builder.instanceId(currentOrNull(currentText));
   } else if (equalsOrSuffix(qName, "name")) {
     builder.instanceState(InstanceState.fromValue(currentOrNull(currentText)));
   } else if (equalsOrSuffix(qName, "instanceType")) {
     builder.instanceType(currentOrNull(currentText));
   } else if (equalsOrSuffix(qName, "ipAddress")) {
     builder.ipAddress(currentOrNull(currentText));
   } else if (equalsOrSuffix(qName, "kernelId")) {
     builder.kernelId(currentOrNull(currentText));
   } else if (equalsOrSuffix(qName, "keyName")) {
     builder.keyName(currentOrNull(currentText));
   } else if (equalsOrSuffix(qName, "launchTime")) {
     builder.launchTime(parseDate());
   } else if (equalsOrSuffix(qName, "availabilityZone")) {
     builder.availabilityZone(currentOrNull(currentText));
   } else if (equalsOrSuffix(qName, "virtualizationType")) {
     builder.virtualizationType(currentOrNull(currentText));
   } else if (equalsOrSuffix(qName, "platform")) {
     builder.platform(currentOrNull(currentText));
   } else if (equalsOrSuffix(qName, "privateDnsName")) {
     builder.privateDnsName(currentOrNull(currentText));
   } else if (equalsOrSuffix(qName, "privateIpAddress")) {
     builder.privateIpAddress(currentOrNull(currentText));
   } else if (equalsOrSuffix(qName, "ramdiskId")) {
     builder.ramdiskId(currentOrNull(currentText));
   } else if (equalsOrSuffix(qName, "reason")) {
     builder.reason(currentOrNull(currentText));
   } else if (equalsOrSuffix(qName, "rootDeviceType")) {
     builder.rootDeviceType(RootDeviceType.fromValue(currentOrNull(currentText)));
   } else if (equalsOrSuffix(qName, "rootDeviceName")) {
     builder.rootDeviceName(currentOrNull(currentText));
   } else if (equalsOrSuffix(qName, "deviceName")) {
     deviceName = currentOrNull(currentText);
   } else if (equalsOrSuffix(qName, "volumeId")) {
     volumeId = currentOrNull(currentText);
   } else if (equalsOrSuffix(qName, "status")) {
     attachmentStatus = Attachment.Status.fromValue(currentText.toString().trim());
   } else if (equalsOrSuffix(qName, "attachTime")) {
     attachTime = dateService.iso8601DateParse(currentText.toString().trim());
   } else if (equalsOrSuffix(qName, "deleteOnTermination")) {
     deleteOnTermination = Boolean.parseBoolean(currentText.toString().trim());
   } else if (equalsOrSuffix(qName, "ebs")) {
     builder.device(
         deviceName, new BlockDevice(volumeId, attachmentStatus, attachTime, deleteOnTermination));
     this.deviceName = null;
     this.volumeId = null;
     this.attachmentStatus = null;
     this.attachTime = null;
     this.deleteOnTermination = true;
   }
   currentText = new StringBuilder();
 }