Java源码示例:com.amazonaws.services.ec2.model.DescribeAddressesResult
示例1
/**
* Fetch elastic IP addresses test.
*
* @throws Exception the exception
*/
@SuppressWarnings("static-access")
@Test
public void fetchElasticIPAddressesTest() throws Exception {
mockStatic(AmazonEC2ClientBuilder.class);
AmazonEC2 ec2Client = PowerMockito.mock(AmazonEC2.class);
AmazonEC2ClientBuilder amazonEC2ClientBuilder = PowerMockito.mock(AmazonEC2ClientBuilder.class);
AWSStaticCredentialsProvider awsStaticCredentialsProvider = PowerMockito.mock(AWSStaticCredentialsProvider.class);
PowerMockito.whenNew(AWSStaticCredentialsProvider.class).withAnyArguments().thenReturn(awsStaticCredentialsProvider);
when(amazonEC2ClientBuilder.standard()).thenReturn(amazonEC2ClientBuilder);
when(amazonEC2ClientBuilder.withCredentials(anyObject())).thenReturn(amazonEC2ClientBuilder);
when(amazonEC2ClientBuilder.withRegion(anyString())).thenReturn(amazonEC2ClientBuilder);
when(amazonEC2ClientBuilder.build()).thenReturn(ec2Client);
DescribeAddressesResult describeAddressesResult = new DescribeAddressesResult();
List<Address> elasticIPList = new ArrayList<>();
elasticIPList.add(new Address());
describeAddressesResult.setAddresses(elasticIPList);
when(ec2Client.describeAddresses()).thenReturn(describeAddressesResult);
assertThat(ec2InventoryUtil.fetchElasticIPAddresses(new BasicSessionCredentials("awsAccessKey", "awsSecretKey", "sessionToken"),
"skipRegions", "account","accountName").size(), is(1));
}
示例2
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());
}
}
示例3
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);
}
示例4
public List<String> getFreeIps(Collection<String> eips, AmazonEC2 amazonEC2Client) {
DescribeAddressesResult addresses = amazonEC2Client.describeAddresses(new DescribeAddressesRequest().withAllocationIds(eips));
return addresses.getAddresses().stream().filter(address -> address.getInstanceId() == null)
.map(Address::getAllocationId).collect(Collectors.toList());
}