Search in sources :

Example 51 with Filter

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);
    });
}
Also used : DeleteVpnGatewayRequest(com.amazonaws.services.ec2.model.DeleteVpnGatewayRequest) DescribeVpnGatewaysRequest(com.amazonaws.services.ec2.model.DescribeVpnGatewaysRequest) DescribeVpnGatewaysResult(com.amazonaws.services.ec2.model.DescribeVpnGatewaysResult) Filter(com.amazonaws.services.ec2.model.Filter) DetachVpnGatewayRequest(com.amazonaws.services.ec2.model.DetachVpnGatewayRequest)

Example 52 with Filter

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);
    });
}
Also used : Filter(com.amazonaws.services.ec2.model.Filter) DescribeSubnetsResult(com.amazonaws.services.ec2.model.DescribeSubnetsResult) DeleteSubnetRequest(com.amazonaws.services.ec2.model.DeleteSubnetRequest) DescribeSubnetsRequest(com.amazonaws.services.ec2.model.DescribeSubnetsRequest)

Example 53 with Filter

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);
    });
}
Also used : Filter(com.amazonaws.services.ec2.model.Filter) DescribeSubnetsResult(com.amazonaws.services.ec2.model.DescribeSubnetsResult) DeleteSubnetRequest(com.amazonaws.services.ec2.model.DeleteSubnetRequest) DescribeSubnetsRequest(com.amazonaws.services.ec2.model.DescribeSubnetsRequest)

Example 54 with Filter

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();
}
Also used : Filter(com.amazonaws.services.ec2.model.Filter) DescribeImagesResult(com.amazonaws.services.ec2.model.DescribeImagesResult) DescribeImagesRequest(com.amazonaws.services.ec2.model.DescribeImagesRequest) EbsBlockDevice(com.amazonaws.services.ec2.model.EbsBlockDevice) BlockDeviceMapping(com.amazonaws.services.ec2.model.BlockDeviceMapping) Image(com.amazonaws.services.ec2.model.Image)

Example 55 with Filter

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;
}
Also used : AWSUtils.getAWSNonTerminatedInstancesFilter(com.vmware.photon.controller.model.adapters.awsadapter.AWSUtils.getAWSNonTerminatedInstancesFilter) Filter(com.amazonaws.services.ec2.model.Filter) DescribeInstancesRequest(com.amazonaws.services.ec2.model.DescribeInstancesRequest)

Aggregations

Filter (com.amazonaws.services.ec2.model.Filter)69 ArrayList (java.util.ArrayList)23 DescribeInstancesRequest (com.amazonaws.services.ec2.model.DescribeInstancesRequest)20 DescribeImagesRequest (com.amazonaws.services.ec2.model.DescribeImagesRequest)16 List (java.util.List)16 DescribeSubnetsRequest (com.amazonaws.services.ec2.model.DescribeSubnetsRequest)15 Instance (com.amazonaws.services.ec2.model.Instance)15 Reservation (com.amazonaws.services.ec2.model.Reservation)15 DescribeImagesResult (com.amazonaws.services.ec2.model.DescribeImagesResult)14 DescribeInstancesResult (com.amazonaws.services.ec2.model.DescribeInstancesResult)13 DescribeSubnetsResult (com.amazonaws.services.ec2.model.DescribeSubnetsResult)13 HashMap (java.util.HashMap)12 Vpc (com.amazonaws.services.ec2.model.Vpc)11 DescribeSecurityGroupsRequest (com.amazonaws.services.ec2.model.DescribeSecurityGroupsRequest)10 Tag (com.amazonaws.services.ec2.model.Tag)10 Map (java.util.Map)10 DescribeSecurityGroupsResult (com.amazonaws.services.ec2.model.DescribeSecurityGroupsResult)9 AmazonEC2AsyncClient (com.amazonaws.services.ec2.AmazonEC2AsyncClient)8 Utils (com.vmware.xenon.common.Utils)8 AWSUtils.getAWSNonTerminatedInstancesFilter (com.vmware.photon.controller.model.adapters.awsadapter.AWSUtils.getAWSNonTerminatedInstancesFilter)6