Example usage for com.amazonaws.services.ec2.model InstancePrivateIpAddress isPrimary

List of usage examples for com.amazonaws.services.ec2.model InstancePrivateIpAddress isPrimary

Introduction

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

Prototype


public Boolean isPrimary() 

Source Link

Document

Indicates whether this IPv4 address is the primary private IP address of the network interface.

Usage

From source file:org.occiware.clouddriver.util.InstanceDataFactory.java

License:Apache License

/**
 *
 * @param instance//ww w.j  a v  a 2s .c  o  m
 * @return
 */
private static List<NetworkInterfaceDO> buildNetworkInterfacesDatas(Instance instance) {
    List<InstanceNetworkInterface> netInts = instance.getNetworkInterfaces();
    InstanceNetworkInterfaceAssociation netIntAsso;
    InstanceNetworkInterfaceAttachment netIntAttach;

    List<GroupIdentifier> groupIdentifiers;
    List<NetworkInterfaceDO> networkInterfaceDOs = new ArrayList<>();
    NetworkInterfaceDO netDO;
    List<InstancePrivateIpAddress> ipAddresses;
    List<InstanceIpv6Address> ipv6Addresses;
    for (InstanceNetworkInterface netInt : netInts) {
        netDO = new NetworkInterfaceDO();
        netDO.setDescription(netInt.getDescription());
        netDO.setMacAddress(netInt.getMacAddress());
        netDO.setNetworkInterfaceId(netInt.getNetworkInterfaceId());
        netDO.setOwnerId(netInt.getOwnerId());
        netDO.setPrivateDnsName(netInt.getPrivateDnsName());
        netDO.setPrivateIpAddress(netInt.getPrivateIpAddress());
        netDO.setSourceDestCheck(netInt.getSourceDestCheck());
        netDO.setStatus(netInt.getStatus());
        netDO.setSubnetId(netInt.getSubnetId());
        netDO.setVpcId(netInt.getVpcId());

        netIntAsso = netInt.getAssociation();
        if (netIntAsso != null) {
            NetAssociationDO associationDO = new NetAssociationDO();
            associationDO.setIpOwnerId(netIntAsso.getIpOwnerId());
            associationDO.setPublicDnsName(netIntAsso.getPublicDnsName());
            associationDO.setPublicIp(netIntAsso.getPublicIp());
            netDO.setNetAssociation(associationDO);
        }

        netIntAttach = netInt.getAttachment();
        if (netIntAttach != null) {
            netDO.setAttachmentId(netIntAttach.getAttachmentId());
            netDO.setAttachTime(netIntAttach.getAttachTime());
            netDO.setDeleteOnTermination(netIntAttach.getDeleteOnTermination());
            netDO.setDeviceIndex(netIntAttach.getDeviceIndex());
            netDO.setAttachmentStatus(netIntAttach.getStatus());
        }

        groupIdentifiers = netInt.getGroups();
        if (groupIdentifiers != null && !groupIdentifiers.isEmpty()) {
            List<GroupIdentifierDO> grpDOs = buildSecurityGroupsDatas(groupIdentifiers);
            netDO.setSecurityGroups(grpDOs);
        }

        ipv6Addresses = netInt.getIpv6Addresses();
        if (ipv6Addresses != null && !ipv6Addresses.isEmpty()) {
            List<String> ipv6AddressesStr = new ArrayList<>();
            for (InstanceIpv6Address ipv6Address : ipv6Addresses) {
                ipv6AddressesStr.add(ipv6Address.getIpv6Address());
            }
            netDO.setIpv6Addresses(ipv6AddressesStr);
        }

        ipAddresses = netInt.getPrivateIpAddresses();
        if (ipAddresses != null && !ipAddresses.isEmpty()) {
            List<IpAddressDO> ipAddressDOs = new ArrayList<>();
            IpAddressDO addressDO;
            InstanceNetworkInterfaceAssociation netAsso;
            for (InstancePrivateIpAddress ipAddress : ipAddresses) {
                addressDO = new IpAddressDO();
                addressDO.setPrimary(ipAddress.isPrimary());
                addressDO.setPrivateDnsName(ipAddress.getPrivateDnsName());
                addressDO.setPrivateIpAddress(ipAddress.getPrivateIpAddress());
                netAsso = ipAddress.getAssociation();
                if (netAsso != null) {
                    NetAssociationDO associationDO = new NetAssociationDO();
                    associationDO.setIpOwnerId(netAsso.getIpOwnerId());
                    associationDO.setPublicDnsName(netAsso.getPublicDnsName());
                    associationDO.setPublicIp(netAsso.getPublicIp());
                    addressDO.setNetAssociation(associationDO);
                }
                ipAddressDOs.add(addressDO);
            }
            netDO.setIpAddresses(ipAddressDOs);
        }

        networkInterfaceDOs.add(netDO);
    }
    return networkInterfaceDOs;
}