Java 类com.amazonaws.services.ec2.model.DescribeAddressesResult 实例源码

项目:aws-doc-sdk-examples    文件:DescribeAddresses.java   
public static void main(String[] args)
{
    final AmazonEC2 ec2 = AmazonEC2ClientBuilder.defaultClient();

    DescribeAddressesResult response = ec2.describeAddresses();

    for(Address address : response.getAddresses()) {
        System.out.printf(
                "Found address with public IP %s, " +
                "domain %s, " +
                "allocation id %s " +
                "and NIC id %s",
                address.getPublicIp(),
                address.getDomain(),
                address.getAllocationId(),
                address.getNetworkInterfaceId());
    }
}
项目:data-lifecycle-service-broker    文件:AWSHelperTest.java   
@Test
public void itShouldStartAnEC2InstanceFromAnAMI()
        throws ServiceBrokerException {

    when(
            ec2Client.runInstances(awsRqst(r -> r.getImageId().equals(
                    "test_image")))).thenReturn(runInstanceResult);

    when(ec2Client.describeAddresses()).thenReturn(
            new DescribeAddressesResult().withAddresses(Collections
                    .singleton(new Address().withPublicIp("10.10.10.10"))));

    when(ec2Client.describeInstanceStatus(any())).thenReturn(
            new DescribeInstanceStatusResult()
                    .withInstanceStatuses(Collections
                            .singleton(new InstanceStatus()
                                    .withInstanceState(new InstanceState()
                                            .withName("running")))));

    when(hostUtils.waitForBoot(anyString(), anyInt())).thenReturn(true);
    assertThat(aws.startEC2Instance("test_image"),
            is(equalTo("test_instance")));
}
项目:primecloud-controller    文件:AwsCommonProcess.java   
public Address describeAddress(AwsProcessClient awsProcessClient, String publicIp) {
    // 単一アドレスの参照
    DescribeAddressesRequest request = new DescribeAddressesRequest();
    request.withPublicIps(publicIp);
    DescribeAddressesResult result = awsProcessClient.getEc2Client().describeAddresses(request);
    List<Address> addresses = result.getAddresses();

    // API実行結果チェック
    if (addresses.size() == 0) {
        // アドレスが存在しない場合
        throw new AutoException("EPROCESS-000117", publicIp);

    } else if (addresses.size() > 1) {
        // アドレスを複数参照できた場合
        AutoException exception = new AutoException("EPROCESS-000118", publicIp);
        exception.addDetailInfo("result=" + addresses);
        throw exception;
    }

    return addresses.get(0);
}
项目:cloudbreak    文件:AwsResourceConnector.java   
private void releaseReservedIp(AmazonEC2Client client, List<CloudResource> resources) {
    CloudResource elasticIpResource = getReservedIp(resources);
    if (elasticIpResource != null && elasticIpResource.getName() != null) {
        Address address;
        try {
            DescribeAddressesResult describeResult = client.describeAddresses(
                    new DescribeAddressesRequest().withAllocationIds(elasticIpResource.getName()));
            address = describeResult.getAddresses().get(0);
        } catch (AmazonServiceException e) {
            if (e.getErrorMessage().equals("The allocation ID '" + elasticIpResource.getName() + "' does not exist")) {
                LOGGER.warn("Elastic IP with allocation ID '{}' not found. Ignoring IP release.", elasticIpResource.getName());
                return;
            } else {
                throw e;
            }
        }
        if (address.getAssociationId() != null) {
            client.disassociateAddress(new DisassociateAddressRequest().withAssociationId(elasticIpResource.getName()));
        }
        client.releaseAddress(new ReleaseAddressRequest().withAllocationId(elasticIpResource.getName()));
    }
}
项目:data-lifecycle-service-broker    文件:AWSHelper.java   
/**
 * Pull back a list of the elastic ip's that aren't attached to anything and
 * return the first one.
 * 
 * @return the first available IP.
 * @throws ServiceBrokerException
 */
public String getAvaliableElasticIp() throws ServiceBrokerException {
    DescribeAddressesResult result = ec2Client.describeAddresses();
    log.info("Found " + result.getAddresses().size() + " addresses!");
    return result
            .getAddresses()
            .stream()
            .filter(a -> null == a.getInstanceId())
            .findAny()
            .orElseThrow(
                    () -> new ServiceBrokerException(
                            "No elastic IP's avaliable!")).getPublicIp();

}
项目:data-lifecycle-service-broker    文件:AWSHelperTest.java   
@Test
public void itShouldReturnAFreeElasticIp() throws ServiceBrokerException {
    when(ec2Client.describeAddresses()).thenReturn(
            new DescribeAddressesResult().withAddresses(Collections
                    .singleton(new Address().withPublicIp("10.10.10.10"))));
    assertThat("10.10.10.10", is(aws.getAvaliableElasticIp()));
}
项目:data-lifecycle-service-broker    文件:AWSHelperTest.java   
@Test
public void itShouldReturnOnlyOneFreeElasticIp()
        throws ServiceBrokerException {
    when(ec2Client.describeAddresses()).thenReturn(
            new DescribeAddressesResult().withAddresses(Arrays.asList(
                    new Address().withPublicIp("10.10.10.10")
                            .withInstanceId(null),
                    new Address().withPublicIp("10.10.10.11")
                            .withInstanceId(null))));
    assertThat("10.10.10.10", is(aws.getAvaliableElasticIp()));
}
项目:data-lifecycle-service-broker    文件:AWSHelperTest.java   
@Test(expected = ServiceBrokerException.class)
public void itShouldReturnNullIfNoElasticIpIsAvaliable()
        throws ServiceBrokerException {
    when(ec2Client.describeAddresses()).thenReturn(
            new DescribeAddressesResult().withAddresses(new ArrayList<>()));
    assertNull(aws.getAvaliableElasticIp());
}
项目:data-lifecycle-service-broker    文件:AWSHelperTest.java   
@Test
public void itShouldFilterOutAttachedElasticIPs()
        throws ServiceBrokerException {
    when(ec2Client.describeAddresses()).thenReturn(
            new DescribeAddressesResult().withAddresses(Arrays.asList(
                    new Address().withPublicIp("10.10.10.10")
                            .withInstanceId("the-instance"),
                    new Address().withPublicIp("10.10.10.11")
                            .withInstanceId(null))));
    assertThat("10.10.10.11", is(aws.getAvaliableElasticIp()));
}
项目:ec2-util    文件:AwsEc2Client.java   
public static Address checkExistsAddress(AmazonEC2 ec2, String targetIp) {
    DescribeAddressesRequest addressRequest = new DescribeAddressesRequest().withPublicIps(targetIp);
    DescribeAddressesResult addressResult = ec2.describeAddresses(addressRequest);
    List<Address> addresses = addressResult.getAddresses();
    for (Address address : addresses) {
        String publicIp = address.getPublicIp();
        if (targetIp.equals(publicIp)) {
            return address;
        }
        break;
    }
    return null;
}
项目:cmn-project    文件:EC2VPC.java   
public void releaseEIP(List<String> instanceIds) {
    logger.info("release EIP for instances, instanceIds={}", instanceIds);

    DescribeAddressesResult result = ec2.describeAddresses(new DescribeAddressesRequest().withFilters(new Filter("instance-id").withValues(instanceIds)));
    for (Address address : result.getAddresses()) {
        logger.info("release EIP, ip={}, instanceId={}", address.getPublicIp(), address.getInstanceId());
        ec2.disassociateAddress(new DisassociateAddressRequest().withAssociationId(address.getAssociationId()));
        ec2.releaseAddress(new ReleaseAddressRequest().withAllocationId(address.getAllocationId()));
    }
}
项目:clouck    文件:Ec2WrapperImpl.java   
@Override
public List<AbstractResource<?>> describeElasticIPs(Account account, Region region, DateTime dt, Ec2Filter... filters) {
    AmazonEC2 ec2 = findClient(account, region);

    DescribeAddressesRequest req = new DescribeAddressesRequest();
    for (Ec2Filter filter : filters) {
        Filter f = new Filter().withName(filter.getName()).withValues(filter.getValues());
        req.withFilters(f);
    }

    log.debug("start describing elastic ips for account:{} in region:{} via api", account.getId() + "=>" + account.getName(), region);
    DescribeAddressesResult res = ec2.describeAddresses(req);

    return converter.toEc2ElasticIPs(res.getAddresses(), account.getId(), region, dt);
}
项目:elasticsearch_my    文件:AmazonEC2Mock.java   
@Override
public DescribeAddressesResult describeAddresses(DescribeAddressesRequest describeAddressesRequest) throws AmazonServiceException, AmazonClientException {
    throw new UnsupportedOperationException("Not supported in mock");
}
项目:elasticsearch_my    文件:AmazonEC2Mock.java   
@Override
public DescribeAddressesResult describeAddresses() throws AmazonServiceException, AmazonClientException {
    throw new UnsupportedOperationException("Not supported in mock");
}
项目:cloudbreak    文件:AwsResourceConnector.java   
private List<String> getFreeIps(List<String> eips, AmazonEC2Client amazonEC2Client) {
    DescribeAddressesResult addresses = amazonEC2Client.describeAddresses(new DescribeAddressesRequest().withAllocationIds(eips));
    return addresses.getAddresses().stream().filter(address -> address.getInstanceId() == null)
            .map(Address::getAllocationId).collect(Collectors.toList());
}