package com.sequenceiq.samples.web.transformers; import com.amazonaws.services.ec2.model.Instance; import com.amazonaws.services.ec2.model.Reservation; import com.sequenceiq.samples.model.AWSReservation; import com.sequenceiq.samples.model.AwsSimpleInstance; import org.springframework.stereotype.Component; import java.util.ArrayList; import java.util.List; /** * User: doktoric */ @Component public class ReservationTransformer { 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); } awsInstance.setInstances(awsSimpleInstanceList); return awsInstance; } }