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); }
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); }
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); }
@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(); }
/** {@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"); }
protected Date parseDate() { return dateService.iso8601DateParse(currentOrNull(currentText)); }
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(); }