Example usage for com.amazonaws.services.ec2.model Instance getPlatform

List of usage examples for com.amazonaws.services.ec2.model Instance getPlatform

Introduction

In this page you can find the example usage for com.amazonaws.services.ec2.model Instance getPlatform.

Prototype


public String getPlatform() 

Source Link

Document

The value is Windows for Windows instances; otherwise blank.

Usage

From source file:com.automata.cloudcore.xmlbindings.RunningInstancesItemType.java

License:Open Source License

public RunningInstancesItemType(Instance instance) {
    this.instanceId = instance.getInstanceId();
    InstanceStateType instanceStateType = new InstanceStateType();
    instanceStateType.setName(instance.getInstanceLifecycle());
    //instanceStateType.setCode();
    this.instanceState = instanceStateType;
    this.privateDnsName = instance.getPrivateDnsName();
    this.imageId = instance.getImageId();
    this.dnsName = instance.getPublicDnsName();
    //this.reason   = instance.get
    this.keyName = instance.getKeyName();
    if (instance.getStateTransitionReason() != null)
        this.reason = instance.getStateTransitionReason().toString();
    this.amiLaunchIndex = instance.getAmiLaunchIndex().toString();
    //this.productCodes = instance.getProductCodes();
    this.instanceType = instance.getInstanceType();
    //this.launchTime = instance.getLaunchTime();
    //this.placement = instance.getPlacement();
    this.kernelId = instance.getKernelId();
    this.ramdiskId = instance.getRamdiskId();
    this.platform = instance.getPlatform();

    InstanceMonitoringStateType instanceMonitoringStateType;
    instanceMonitoringStateType = new InstanceMonitoringStateType();
    instanceMonitoringStateType.setState(instance.getMonitoring().toString());
    this.monitoring = instanceMonitoringStateType;

    this.subnetId = instance.getSubnetId();
    this.vpcId = instance.getVpcId();
    this.privateIpAddress = instance.getPrivateIpAddress();
    this.ipAddress = instance.getPublicIpAddress();
    this.sourceDestCheck = instance.getSourceDestCheck();
    //this.groupSet = 

    if (instance.getStateReason() != null) {
        StateReasonType stateReasonType = new StateReasonType();
        stateReasonType.setMessage(instance.getStateReason().getMessage());
        this.stateReason = stateReasonType;
    }// www  .  j  a v a  2s .  c om
    this.architecture = instance.getArchitecture();
    this.rootDeviceType = instance.getRootDeviceType();
    this.rootDeviceName = instance.getRootDeviceName();

    /*BlockDeviceMappingsType blockDeviceMappingsType = new BlockDeviceMappingsType();
    List<BlockDeviceMapping> blockDeviceMappingList = new ArrayList<BlockDeviceMapping>();
    BlockDeviceMapping blockDeviceMapping = new BlockDeviceMapping();
    for (){
               
    }
            
    blockDeviceMappingsType = 
    this.blockDeviceMapping = instance.getBlockDeviceMappings();*/
    this.instanceLifecycle = instance.getInstanceLifecycle();
    this.spotInstanceRequestId = instance.getSpotInstanceRequestId();

    if (instance.getLicense() != null) {
        InstanceLicenseResponseType instanceLicenseResponseType;
        instanceLicenseResponseType = new InstanceLicenseResponseType();
        instanceLicenseResponseType.setPool(instance.getLicense().getPool());
        this.license = instanceLicenseResponseType;
    }

    this.virtualizationType = instance.getVirtualizationType();
    this.clientToken = instance.getClientToken();

    /*ResourceTagSetType resourceTagSetType;
    ResourceTagSetItemType resourceTagSetItemType;
    List<ResourceTagSetItemType> resourceTagSetItemTypeList;
            
    resourceTagSetItemTypeList = new ArrayList<ResourceTagSetItemType>();
            
    resourceTagSetType = new ResourceTagSetType();
    resourceTagSetType.getItem()
    this.tagSet = instance.getTags();
    this.hypervisor = instance.get*/
}

From source file:com.clouck.model.aws.ec2.Ec2Instance.java

@Override
@SuppressWarnings("rawtypes")
protected boolean isEqual(AbstractResource newResource) {
    Instance oldInstance = this.getResource();
    Ec2Instance newEc2Instance = (Ec2Instance) newResource;
    Instance newInstance = newEc2Instance.getResource();

    if (notEqual(oldInstance.getInstanceId(), newInstance.getInstanceId()))
        return false;
    if (notEqual(oldInstance.getImageId(), newInstance.getImageId()))
        return false;
    if (notEqual(oldInstance.getState(), newInstance.getState()))
        return false;
    if (notEqual(oldInstance.getPrivateDnsName(), newInstance.getPrivateDnsName()))
        return false;
    if (notEqual(oldInstance.getPublicDnsName(), newInstance.getPublicDnsName()))
        return false;
    if (notEqual(oldInstance.getStateTransitionReason(), newInstance.getStateTransitionReason()))
        return false;
    if (notEqual(oldInstance.getKeyName(), newInstance.getKeyName()))
        return false;
    if (notEqual(oldInstance.getAmiLaunchIndex(), newInstance.getAmiLaunchIndex()))
        return false;
    if (notEqualCollection(oldInstance.getProductCodes(), newInstance.getProductCodes()))
        return false;
    if (notEqual(oldInstance.getInstanceType(), newInstance.getInstanceType()))
        return false;
    if (notEqual(oldInstance.getLaunchTime(), newInstance.getLaunchTime()))
        return false;
    if (notEqual(oldInstance.getPlacement(), newInstance.getPlacement()))
        return false;
    if (notEqual(oldInstance.getKernelId(), newInstance.getKernelId()))
        return false;
    if (notEqual(oldInstance.getRamdiskId(), newInstance.getRamdiskId()))
        return false;
    if (notEqual(oldInstance.getPlatform(), newInstance.getPlatform()))
        return false;
    if (notEqual(oldInstance.getMonitoring(), newInstance.getMonitoring()))
        return false;
    if (notEqual(oldInstance.getSubnetId(), newInstance.getSubnetId()))
        return false;
    if (notEqual(oldInstance.getVpcId(), newInstance.getVpcId()))
        return false;
    if (notEqual(oldInstance.getPrivateIpAddress(), newInstance.getPrivateIpAddress()))
        return false;
    if (notEqual(oldInstance.getPublicIpAddress(), newInstance.getPublicIpAddress()))
        return false;
    if (notEqual(oldInstance.getStateReason(), newInstance.getStateReason()))
        return false;
    if (notEqual(oldInstance.getArchitecture(), newInstance.getArchitecture()))
        return false;
    if (notEqual(oldInstance.getRootDeviceType(), newInstance.getRootDeviceType()))
        return false;
    if (notEqual(oldInstance.getRootDeviceName(), newInstance.getRootDeviceName()))
        return false;
    if (notEqualCollection(oldInstance.getBlockDeviceMappings(), newInstance.getBlockDeviceMappings()))
        return false;
    if (notEqual(oldInstance.getVirtualizationType(), newInstance.getVirtualizationType()))
        return false;
    if (notEqual(oldInstance.getInstanceLifecycle(), newInstance.getInstanceLifecycle()))
        return false;
    if (notEqual(oldInstance.getSpotInstanceRequestId(), newInstance.getSpotInstanceRequestId()))
        return false;
    if (notEqual(oldInstance.getLicense(), newInstance.getLicense()))
        return false;
    if (notEqual(oldInstance.getClientToken(), newInstance.getClientToken()))
        return false;
    if (notEqualCollection(oldInstance.getTags(), newInstance.getTags()))
        return false;
    if (notEqualCollection(oldInstance.getSecurityGroups(), newInstance.getSecurityGroups()))
        return false;
    if (notEqual(oldInstance.getSourceDestCheck(), newInstance.getSourceDestCheck()))
        return false;
    if (notEqual(oldInstance.getHypervisor(), newInstance.getHypervisor()))
        return false;
    if (notEqualNetworkInterfaces(oldInstance.getNetworkInterfaces(), newInstance.getNetworkInterfaces()))
        return false;
    if (notEqual(oldInstance.getIamInstanceProfile(), newInstance.getIamInstanceProfile()))
        return false;
    if (notEqual(oldInstance.getEbsOptimized(), newInstance.getEbsOptimized()))
        return false;
    if (notEqual(this.getTerminationProtection(), newEc2Instance.getTerminationProtection()))
        return false;
    if (notEqual(this.getShutdownBehavior(), newEc2Instance.getShutdownBehavior()))
        return false;
    if (notEqual(this.getUserData(), newEc2Instance.getUserData()))
        return false;

    return true;//from  www  .  j a va2s  . com
}

From source file:com.haskins.cloudtrailviewer.dialog.resourcedetail.detailpanels.EC2InstanceDetail.java

License:Open Source License

private void buildUI(DescribeInstancesResult detail) {

    JTabbedPane tabs = new JTabbedPane();
    tabs.add("Instance", primaryScrollPane);
    tabs.add("Tags", tagsScrollPane);

    this.add(tabs, BorderLayout.CENTER);

    List<Reservation> reservations = detail.getReservations();
    if (!reservations.isEmpty()) {

        Reservation reservation = reservations.get(0);
        List<Instance> instances = reservation.getInstances();
        if (!instances.isEmpty()) {

            Instance instance = instances.get(0);

            if (instance.getAmiLaunchIndex() != null) {
                primaryTableModel.addRow(new Object[] { "AMI Launch Index", instance.getAmiLaunchIndex() });
            }/*from  ww  w  .j  a  v  a2  s. co m*/
            if (instance.getArchitecture() != null) {
                primaryTableModel.addRow(new Object[] { "Architecture", instance.getArchitecture() });
            }
            if (instance.getAmiLaunchIndex() != null) {
                primaryTableModel.addRow(new Object[] { "Block Mapping Device", "" });
            }
            if (instance.getClientToken() != null) {
                primaryTableModel.addRow(new Object[] { "Client Token", instance.getClientToken() });
            }
            primaryTableModel.addRow(new Object[] { "EBS Optimised", instance.isEbsOptimized() });
            if (instance.getHypervisor() != null) {
                primaryTableModel.addRow(new Object[] { "Hypervisor", instance.getHypervisor() });
            }
            if (instance.getIamInstanceProfile() != null) {
                primaryTableModel.addRow(
                        new Object[] { "Instance Profile", instance.getIamInstanceProfile().toString() });
            }
            if (instance.getImageId() != null) {
                primaryTableModel.addRow(new Object[] { "Image Id", instance.getImageId() });
            }
            if (instance.getInstanceId() != null) {
                primaryTableModel.addRow(new Object[] { "Instance Id", instance.getInstanceId() });
            }
            if (instance.getInstanceLifecycle() != null) {
                primaryTableModel.addRow(new Object[] { "Instance Lifecyle", instance.getInstanceLifecycle() });
            }
            if (instance.getInstanceType() != null) {
                primaryTableModel.addRow(new Object[] { "Instance Type", instance.getInstanceType() });
            }
            if (instance.getKernelId() != null) {
                primaryTableModel.addRow(new Object[] { "Kernel Id", instance.getKernelId() });
            }
            if (instance.getKeyName() != null) {
                primaryTableModel.addRow(new Object[] { "Key Name", instance.getKeyName() });
            }
            if (instance.getLaunchTime() != null) {
                primaryTableModel.addRow(new Object[] { "Launch Time", instance.getLaunchTime() });
            }
            if (instance.getMonitoring() != null) {
                primaryTableModel.addRow(new Object[] { "Monitoring", instance.getMonitoring().toString() });
            }
            if (instance.getPlacement() != null) {
                primaryTableModel
                        .addRow(new Object[] { "Placement", instance.getPlacement().getAvailabilityZone() });
            }
            if (instance.getPlatform() != null) {
                primaryTableModel.addRow(new Object[] { "Platform", instance.getPlatform() });
            }
            if (instance.getPrivateDnsName() != null) {
                primaryTableModel.addRow(new Object[] { "Private DNS Name", instance.getPrivateDnsName() });
            }
            if (instance.getPrivateIpAddress() != null) {
                primaryTableModel.addRow(new Object[] { "Private IP Address", instance.getPrivateIpAddress() });
            }
            if (instance.getAmiLaunchIndex() != null) {
                primaryTableModel.addRow(new Object[] { "Product Codes", "" });
            }
            if (instance.getPublicDnsName() != null) {
                primaryTableModel.addRow(new Object[] { "Public DNS Name", instance.getPublicDnsName() });
            }
            if (instance.getPublicIpAddress() != null) {
                primaryTableModel.addRow(new Object[] { "Public IP Address", instance.getPublicIpAddress() });
            }
            if (instance.getRamdiskId() != null) {
                primaryTableModel.addRow(new Object[] { "Ram Disk Id", instance.getRamdiskId() });
            }
            if (instance.getRootDeviceName() != null) {
                primaryTableModel.addRow(new Object[] { "Root Device Name", instance.getRootDeviceName() });
            }
            if (instance.getRootDeviceType() != null) {
                primaryTableModel.addRow(new Object[] { "Root Device Type", instance.getRootDeviceType() });
            }
            if (instance.getAmiLaunchIndex() != null) {
                primaryTableModel.addRow(new Object[] { "Security Groups", "" });
            }
            if (instance.getSourceDestCheck() != null) {
                primaryTableModel
                        .addRow(new Object[] { "Source Destination Check", instance.getSourceDestCheck() });
            }
            if (instance.getSpotInstanceRequestId() != null) {
                primaryTableModel.addRow(
                        new Object[] { "Spot Instance Request Id", instance.getSpotInstanceRequestId() });
            }
            if (instance.getSriovNetSupport() != null) {
                primaryTableModel
                        .addRow(new Object[] { "Sriov network Support", instance.getSriovNetSupport() });
            }
            if (instance.getState() != null) {
                primaryTableModel.addRow(new Object[] { "State", instance.getState().getName() });
            }
            if (instance.getStateReason() != null) {
                primaryTableModel
                        .addRow(new Object[] { "State Reason", instance.getStateReason().getMessage() });
            }
            if (instance.getSubnetId() != null) {
                primaryTableModel.addRow(new Object[] { "Subnet Id", instance.getSubnetId() });
            }
            if (instance.getVirtualizationType() != null) {
                primaryTableModel
                        .addRow(new Object[] { "Virtualisation Type", instance.getVirtualizationType() });
            }
            if (instance.getVpcId() != null) {
                primaryTableModel.addRow(new Object[] { "Vpc Id", instance.getVpcId() });
            }

            List<Tag> tags = instance.getTags();
            for (Tag tag : tags) {
                tagsTableModel.addRow(new Object[] { tag.getKey(), tag.getValue() });
            }
        }
    }
}

From source file:com.intuit.tank.vmManager.environment.amazon.AmazonDataConverter.java

License:Open Source License

/**
 * @param data//from ww  w .j  a  v a 2 s  .  c  om
 * @param instance
 * @param region
 * @return
 */
public VMInformation instanceToVmInformation(Reservation data, Instance instance, VMRegion region) {
    VMInformation info = new VMInformation();
    info.setProvider(VMProvider.Amazon);
    info.setRequestId(data.getRequesterId());
    info.setImageId(instance.getImageId());
    info.setInstanceId(instance.getInstanceId());
    info.setKeyName(instance.getKeyName());
    // info.setLaunchTime();
    info.setRegion(region);
    info.setPlatform(instance.getPlatform());
    info.setPrivateDNS(instance.getPrivateDnsName());
    info.setPublicDNS(instance.getPublicDnsName());
    info.setState(instance.getState().getName());
    info.setSize(instance.getInstanceType());
    return info;
}

From source file:com.sequenceiq.samples.web.transformers.ReservationTransformer.java

public AWSReservation transform(Reservation reservation) {
    AWSReservation awsInstance = new AWSReservation(reservation.getOwnerId(), reservation.getReservationId(),
            reservation.getRequesterId());
    awsInstance.setGroupNames(reservation.getGroupNames());
    awsInstance.setGroups(reservation.getGroups());
    List<AwsSimpleInstance> awsSimpleInstanceList = new ArrayList<>();
    for (Instance item : reservation.getInstances()) {
        AwsSimpleInstance instance = new AwsSimpleInstance();
        instance.setAmiLaunchIndex(item.getAmiLaunchIndex());
        instance.setArchitecture(item.getArchitecture());
        instance.setClientToken(item.getClientToken());
        instance.setImageId(item.getImageId());
        instance.setInstanceId(item.getInstanceId());
        instance.setState(item.getState());
        instance.setPrivateDnsName(item.getPrivateDnsName());
        instance.setPublicDnsName(item.getPublicDnsName());
        instance.setStateTransitionReason(item.getStateTransitionReason());
        instance.setKeyName(item.getKeyName());
        instance.setAmiLaunchIndex(item.getAmiLaunchIndex());
        instance.setInstanceType(item.getInstanceType());
        instance.setLaunchTime(item.getLaunchTime());
        instance.setPlacement(item.getPlacement());
        instance.setKernelId(item.getKernelId());
        instance.setRamdiskId(item.getRamdiskId());
        instance.setPlatform(item.getPlatform());
        instance.setMonitoring(item.getMonitoring());
        instance.setSubnetId(item.getSubnetId());
        instance.setVpcId(item.getVpcId());
        instance.setPrivateIpAddress(item.getPrivateIpAddress());
        instance.setPublicIpAddress(item.getPublicIpAddress());
        instance.setStateReason(item.getStateReason());
        instance.setArchitecture(item.getArchitecture());
        instance.setRootDeviceType(item.getRootDeviceType());
        instance.setRootDeviceName(item.getRootDeviceName());
        instance.setVirtualizationType(item.getVirtualizationType());
        instance.setInstanceLifecycle(item.getInstanceLifecycle());
        instance.setSpotInstanceRequestId(item.getSpotInstanceRequestId());
        instance.setLicense(item.getLicense());
        instance.setClientToken(item.getClientToken());
        awsSimpleInstanceList.add(instance);
    }//ww  w . j  a  v  a2s  .co  m
    awsInstance.setInstances(awsSimpleInstanceList);
    return awsInstance;
}

From source file:com.zotoh.cloudapi.aws.EC2Instance.java

License:Open Source License

private VirtualMachine toVM(String owner, Instance r) {
    AWSAPI api = new AWSAPI();
    String s;/*  w  ww  .j a  va2  s .  co  m*/
    VirtualMachine vm = null;
    if (r != null) {
        vm = new VirtualMachine();
        vm.setPersistent(true);// if EBS backed, yes (i think)
        vm.setProviderOwnerId(owner);
        vm.setCurrentState(AWSAPI.toVmState(r.getState().getName()));
        vm.setArchitecture(AWSAPI.toArch(r.getArchitecture()));
        vm.setClonable(false);
        vm.setCreationTimestamp(r.getLaunchTime().getTime());
        vm.setDescription("");
        vm.setImagable(true);
        vm.setLastBootTimestamp(vm.getCreationTimestamp());
        vm.setLastPauseTimestamp(0L);
        vm.setName(r.getInstanceId());
        vm.setPausable(false); // only if EBS backed
        vm.setPlatform(AWSAPI.toPlat(r.getPlatform()));
        vm.setPrivateDnsAddress(r.getPrivateDnsName());
        vm.setPrivateIpAddresses(new String[] { nsb(r.getPrivateIpAddress()) });
        vm.setProduct(api.findProduct(r.getInstanceType()));
        vm.setProviderAssignedIpAddressId(r.getPublicDnsName());
        vm.setPublicDnsAddress(r.getPublicDnsName());
        vm.setPublicIpAddresses(new String[] { nsb(r.getPublicIpAddress()) });
        vm.setRebootable(true);
        vm.setTerminationTimestamp(0L);
        vm.setProviderDataCenterId(r.getPlacement() == null ? "" : r.getPlacement().getAvailabilityZone());
        vm.setProviderMachineImageId(r.getImageId());
        vm.setProviderRegionId(_svc.getCloud().getContext().getRegionId());
        vm.setProviderVirtualMachineId(r.getInstanceId());

        s = r.getRootDeviceType();
        if ("ebs".equals(s)) {
            vm.setPausable(true);
        }
        vm.addTag("rootdevicetype", s);

    }
    return vm;
}

From source file:jp.aws.test.ec2.EC2Instance.java

License:Apache License

/**
 * ?//from   www.j  ava2 s.c om
 *
 * @note - ????????
 * @return
 * @throws Exception
 */
public List<EC2Item> list() {

    List<EC2Item> ec2ItemList = new ArrayList<EC2Item>();

    // 
    this.clientManager.changeRegion();

    // Reservation?List?
    List<Reservation> reservationList = this.clientManager.ec2().describeInstances().getReservations();

    for (Reservation reservation : reservationList) {
        // EC2?Instance?List?
        List<Instance> instanceList = reservation.getInstances();

        for (Instance instance : instanceList) {
            EC2Item ec2Item = new EC2Item();

            // com.amazonaws.services.ec2.model.Instance
            // http://docs.amazonwebservices.com/AWSAndroidSDK/latest/javadoc/com/amazonaws/services/ec2/model/Instance.html
            ec2Item.architecture = instance.getArchitecture(); // i386,
            // x86_64
            ec2Item.instanceId = instance.getInstanceId(); // i-xxxxxxxx
            ec2Item.instanceType = instance.getInstanceType(); // t1.micro
            ec2Item.keyName = instance.getKeyName(); //
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            ec2Item.launchTime = sdf.format(instance.getLaunchTime()); // 2012-01-01
            // 01:02:03
            // +9:00
            ec2Item.privateDnsName = instance.getPrivateDnsName(); // domU-xxx.compute-1.internal
            ec2Item.privateIpAddress = instance.getPrivateIpAddress(); // 10.xxx.xxx.xxx
            ec2Item.publicDnsName = instance.getPublicDnsName(); // ec2-xxx.compute-1.amazonaws.com
            ec2Item.publicIpAddress = instance.getPublicIpAddress(); // 201.xxx.xxx.xxx
            ec2Item.rootDeviceType = instance.getRootDeviceType(); // ebs /
            // s3
            ec2Item.rootDeviceName = instance.getRootDeviceName(); // /dev/sda1)
            StringBuilder builder = new StringBuilder();
            List<GroupIdentifier> sgs = instance.getSecurityGroups(); // default
            for (GroupIdentifier sg : sgs) {
                builder.append(sg.getGroupName());
                builder.append(", ");
            }
            ec2Item.securityGroups = builder.toString();
            ec2Item.stateName = instance.getState().getName(); // Runnning
            ec2Item.imageId = instance.getImageId(); // ami-xxxxxxxx
            ec2Item.platform = instance.getPlatform(); // Windows
            builder.setLength(0); // ?
            List<Tag> tags = instance.getTags(); // tag
            for (Tag tag : tags) {
                builder.append(tag.getValue());
                builder.append(", ");
            }
            ec2Item.availabilityZone = instance.getPlacement().getAvailabilityZone(); // AvailabilityZone

            // ?
            ec2ItemList.add(ec2Item);
        }
    }

    return ec2ItemList;
}

From source file:org.elasticdroid.model.ds.SerializableInstance.java

License:Open Source License

/**
 * Constructor. Initialises all of the members with data from the instance passed in as param.
 * @param instance The Instance object to use to initialise this data.
 * @param securityGroups The security groups associated with the Reservation that created this 
 * instance./*from w  ww .ja v  a2s .  c o m*/
 */
public SerializableInstance(Instance instance, List<String> securityGroupNames) {
    //get all of the data required
    instanceId = instance.getInstanceId();
    stateName = instance.getState().getName();
    stateCode = instance.getState().getCode();
    instanceType = instance.getInstanceType();
    keyName = instance.getKeyName();
    platform = instance.getPlatform();
    launchTime = instance.getLaunchTime().getTime();//save in milliseconds since epoch
    publicIpAddress = instance.getPublicIpAddress();
    publicDnsName = instance.getPublicDnsName();
    imageId = instance.getImageId();
    rootDeviceType = instance.getRootDeviceType();

    //security groups are not per-instance, but per-reservation
    //AWS allows you to launch multiple instances with the same characteristics. These 
    //instances constitute a reservation! :) However, key pairs are still stored individually;
    //this jars with me. Probably a misunderstanding on my part.
    this.securityGroupNames = securityGroupNames;

    //setting tagName is a little harder. If there is a tag in the AWS cloud with key="name"
    //save the value of the tag to tagName. If not, set to null
    tagName = null; //set to null by default
    for (Tag tag : instance.getTags()) {
        //do not use ignore case, cuz otherwise when we tag instances using ElDroid we coul
        //end up with multiple. If that doesn't make sense, please please trust me.
        if (tag.getKey().equals("Name")) {
            tagName = tag.getValue();
            break;
        }
    }
}

From source file:org.excalibur.service.aws.ec2.EC2.java

License:Open Source License

private VirtualMachine toExcaliburInstance(Instance instance, KeyPair keyPair) {
    Map<String, Tag> tags = TAGS.apply(instance.getTags());

    VirtualMachine vm = new VirtualMachine().setName(instance.getInstanceId()).setImageId(instance.getImageId())
            .setType(InstanceType.valueOf(instance.getInstanceType())
                    .setProvider(this.credentials_.getProvider()))
            .setState(new InstanceStateDetails(InstanceStateType.valueOfFrom(instance.getState().getName()),
                    new Date())) //TODO we need to improve this
            .setConfiguration(new VmConfiguration().setKeyName(instance.getKeyName())
                    .setKeyPairs(new KeyPairs().setPrivateKey(keyPair))
                    .setPlatform(//w ww  .j  a va  2  s .  c o  m
                            isNullOrEmpty(instance.getPlatform()) ? DEFAULT_PLATFORM : instance.getPlatform())
                    .setPlatformUserName(tags.get(DEFAULT_PLATFORM_INSTANCE_USERNAME_TAG) != null
                            ? tags.get(DEFAULT_PLATFORM_INSTANCE_USERNAME_TAG).getValue()
                            : System.getProperty("org.excalibur.default.platform.username"))
                    .setPrivateIpAddress(instance.getPrivateIpAddress())
                    .setPublicIpAddress(instance.getPublicIpAddress())
                    .setPublicDnsName(instance.getPublicDnsName()))
            .setLaunchTime(instance.getLaunchTime())
            //                .setLocation(new Region().setName(instance.getPlacement().getAvailabilityZone()))
            //                .setLocation(credentials_.getRegion())
            .setLocation(new Zone().setName(instance.getPlacement().getAvailabilityZone())
                    .setRegion(credentials_.getRegion()))
            .setPlacement(new org.excalibur.core.cloud.api.Placement()
                    .setGroupName(instance.getPlacement().getGroupName())
                    .setZone(instance.getPlacement().getAvailabilityZone()))
            .setOwner(new User(this.credentials_.getUserId())
                    .setUsername(tags.get("username") != null ? tags.get("username").getValue() : null));

    if (tags.containsKey("keyname")) {
        if (vm.getConfiguration().getKeyPairs().getPrivateKey() == null) {
            vm.getConfiguration().getKeyPairs().setPrivateKey(new KeyPair());
        }

        vm.getConfiguration().getKeyPairs().getPrivateKey().setKeyName(tags.get("keyname").getValue());
    } else {
        return null;
    }

    InstanceAttribute attribute = new AmazonEC2Client(awsCredentials_)
            .describeInstanceAttribute(new DescribeInstanceAttributeRequest()
                    .withInstanceId(instance.getInstanceId()).withAttribute("userData"))
            .getInstanceAttribute();

    //        List<InstanceStatus> instanceStatuses = new AmazonEC2Client(awsCredentials_).describeInstanceStatus(
    //                new DescribeInstanceStatusRequest().withInstanceIds(instance.getInstanceId())).getInstanceStatuses();

    if (!isNullOrEmpty(attribute.getUserData())) {
        String userData = new String(Base64.decodeBase64(attribute.getUserData().getBytes()));
        int i = userData.indexOf("#start-data"), f = userData.indexOf("#end-data");

        if (i > -1 && f > -1) {
            String[] keys = userData.substring(i, f).split("#");
            checkState(keys.length == 4);

            vm.getConfiguration().getKeyPairs().getPrivateKey().setKeyMaterial(keys[2]);
            vm.getConfiguration().getKeyPairs().setPublicKey(
                    new KeyPair().setKeyName(tags.get("keyname").getValue()).setKeyMaterial(keys[3].trim()));
        }

        vm.setUserData(attribute.getUserData());
    }

    for (Tag tag : tags.values()) {
        vm.getTags().add(org.excalibur.core.cloud.api.domain.Tag.valueOf(tag.getKey(), tag.getValue()));
    }

    return vm;

}

From source file:org.gridgain.grid.spi.cloud.ec2lite.GridEc2LiteCloudSpi.java

License:GNU General Public License

/**
 * Gets instance resource from EC2 instance.
 *
 * @param inst EC2 instance.// w  w  w . ja  v  a  2s .  c  o m
 * @return Instance resource.
 */
private GridCloudSpiResourceAdapter createInstanceResource(Instance inst) {
    assert inst != null;

    Map<String, String> params = new HashMap<String, String>();

    params.put(INST_STATE_TRANS_REASON, inst.getStateTransitionReason());
    params.put(INST_KEY_PAIR_NAME, inst.getKeyName());
    params.put(INST_AMI_LAUNCH_IDX, String.valueOf(inst.getAmiLaunchIndex()));
    params.put(INST_LAUNCH_TIME, String.valueOf(inst.getLaunchTime()));
    params.put(INST_TYPE, inst.getInstanceType());
    params.put(INST_STATE, inst.getState().getName());
    params.put(INST_STATE_CODE, String.valueOf(inst.getState().getCode()));
    params.put(IMG_KERNEL_ID, inst.getKernelId());
    params.put(IMG_RAMDISK_ID, inst.getRamdiskId());
    params.put(INST_MON_STATE, inst.getMonitoring().getState());
    params.put(INST_PLACEMENT, inst.getPlacement().getAvailabilityZone());
    params.put(INST_PLATFORM, inst.getPlatform());
    params.put(INST_PRIV_DNS, inst.getPrivateDnsName());
    params.put(INST_PUB_DNS, inst.getPublicDnsName());

    params.put(PRODUCT_CODE_IDS, F.concat(F.transform(inst.getProductCodes(), new C1<ProductCode, String>() {
        @Override
        public String apply(ProductCode e) {
            return e.getProductCodeId();
        }
    }), VAL_DELIM));

    return new GridCloudSpiResourceAdapter(inst.getInstanceId(), CLD_INSTANCE, cloudId, params);
}