use of software.amazon.awssdk.services.ec2.model.Filter in project photon-model by vmware.
the class AWSRemoteCleanup method deleteVirtualPrivateGateways.
private void deleteVirtualPrivateGateways(String vpcId, AmazonEC2 usEastEc2Client) {
DescribeVpnGatewaysRequest vpnGatewaysRequest = new DescribeVpnGatewaysRequest().withFilters(new Filter(ATTACHMENT_VPC_KEY, Collections.singletonList(vpcId)));
DescribeVpnGatewaysResult vpnGatewaysResult = usEastEc2Client.describeVpnGateways(vpnGatewaysRequest);
vpnGatewaysResult.getVpnGateways().forEach(vpnGateway -> {
DetachVpnGatewayRequest detachVpnGatewayRequest = new DetachVpnGatewayRequest().withVpnGatewayId(vpnGateway.getVpnGatewayId());
detachVpnGatewayRequest.setVpcId(vpcId);
usEastEc2Client.detachVpnGateway(detachVpnGatewayRequest);
DeleteVpnGatewayRequest deleteVpnGatewayRequest = new DeleteVpnGatewayRequest().withVpnGatewayId(detachVpnGatewayRequest.getVpnGatewayId());
this.host.log("Terminating stale virtual private gateway: %s", detachVpnGatewayRequest.getVpnGatewayId());
usEastEc2Client.deleteVpnGateway(deleteVpnGatewayRequest);
});
}
use of software.amazon.awssdk.services.ec2.model.Filter in project photon-model by vmware.
the class AWSRemoteCleanup method deleteSubnets.
private void deleteSubnets(String vpcId, AmazonEC2 usEastEc2Client) {
DescribeSubnetsRequest subnetsRequest = new DescribeSubnetsRequest().withFilters(new Filter(VPC_KEY, Collections.singletonList(vpcId)));
DescribeSubnetsResult securityGroupsResult = usEastEc2Client.describeSubnets(subnetsRequest);
securityGroupsResult.getSubnets().forEach(subnet -> {
DeleteSubnetRequest deleteSubnetRequest = new DeleteSubnetRequest().withSubnetId(subnet.getSubnetId());
this.host.log("Terminating stale subnet: %s", subnet.getSubnetId());
usEastEc2Client.deleteSubnet(deleteSubnetRequest);
});
}
use of software.amazon.awssdk.services.ec2.model.Filter in project photon-model by vmware.
the class AWSSubnetTaskServiceTest method deleteAwsPublicSubnet.
public void deleteAwsPublicSubnet() {
if (this.isMock) {
return;
}
DescribeSubnetsRequest subnetRequest = new DescribeSubnetsRequest().withFilters(new Filter(AWS_VPC_ID_FILTER, singletonList((String) this.awsTestContext.get(TestAWSSetupUtils.VPC_KEY)))).withFilters(new Filter(AWS_SUBNET_CIDR_FILTER, singletonList(AWS_NON_EXISTING_PUBLIC_SUBNET_CIDR)));
DescribeSubnetsResult subnetResult = this.client.describeSubnets(subnetRequest);
subnetResult.getSubnets().forEach(subnet -> {
DeleteSubnetRequest deleteRequest = new DeleteSubnetRequest(subnet.getSubnetId());
this.client.deleteSubnet(deleteRequest);
});
}
use of software.amazon.awssdk.services.ec2.model.Filter in project photon-model by vmware.
the class TestAWSImageEnumerationTask method lookupAwsImage.
// Kind of overhead cause it loads almost all images just to get the first one.
// Still we need that to make the tests STABLE.
private String lookupAwsImage(AmazonEC2AsyncClient client, String virtualizationType) {
DescribeImagesRequest request = new DescribeImagesRequest().withFilters(new Filter(AWSConstants.AWS_IMAGE_STATE_FILTER).withValues(AWSConstants.AWS_IMAGE_STATE_AVAILABLE)).withFilters(new Filter(AWSConstants.AWS_IMAGE_IS_PUBLIC_FILTER).withValues(Boolean.TRUE.toString())).withFilters(new Filter("root-device-type").withValues("ebs")).withFilters(new Filter(AWSConstants.AWS_IMAGE_VIRTUALIZATION_TYPE_FILTER).withValues(virtualizationType));
DescribeImagesResult describeImages = client.describeImages(request);
Image image = describeImages.getImages().stream().filter(img -> {
for (BlockDeviceMapping blockDeviceMapping : img.getBlockDeviceMappings()) {
// blockDeviceMapping can be with noDevice
EbsBlockDevice ebs = blockDeviceMapping.getEbs();
if (ebs != null) {
return true;
}
}
return false;
}).findFirst().get();
getHost().log(Level.INFO, "AWS '%s' image loaded (out of %s): %s [%s]", virtualizationType, describeImages.getImages().size(), image.getName(), image);
return image.getName();
}
use of software.amazon.awssdk.services.ec2.model.Filter in project photon-model by vmware.
the class TestAWSSetupUtils method getBaseLineInstanceCount.
/**
* Gets the instance count of non-terminated instances on the AWS endpoint. This is used to run
* the asserts and validate the results for the data that is collected during enumeration.This
* also calculates the compute descriptions that will be used to represent the instances that
* were discovered on the AWS endpoint. Further factoring in the
*
* @throws Throwable
*/
public static BaseLineState getBaseLineInstanceCount(VerificationHost host, AmazonEC2AsyncClient client, List<String> testComputeDescriptions) throws Throwable {
BaseLineState baseLineState = new BaseLineState();
AWSEnumerationAsyncHandler enumerationHandler = new AWSEnumerationAsyncHandler(host, AWSEnumerationAsyncHandler.MODE.GET_COUNT, null, null, null, testComputeDescriptions, baseLineState);
DescribeInstancesRequest request = new DescribeInstancesRequest();
Filter runningInstanceFilter = getAWSNonTerminatedInstancesFilter();
request.getFilters().add(runningInstanceFilter);
client.describeInstancesAsync(request, enumerationHandler);
host.waitFor("Error waiting to get base line instance count from AWS in test ", () -> {
return baseLineState.isCountPopulated;
});
return baseLineState;
}
Aggregations