use of software.amazon.awssdk.services.ec2.model.Filter in project photon-model by vmware.
the class AWSNetworkStateEnumerationAdapterService method getInternetGatewayInformation.
/**
* Gets the Internet gateways that are attached to the VPCs that were discovered during the
* enumeration process.
*/
private void getInternetGatewayInformation(AWSNetworkStateCreationContext context, AWSNetworkStateCreationStage next) {
DescribeInternetGatewaysRequest internetGatewayRequest = new DescribeInternetGatewaysRequest();
List<String> vpcList = new ArrayList<>(context.vpcs.keySet());
Filter filter = new Filter(AWS_ATTACHMENT_VPC_FILTER, vpcList);
internetGatewayRequest.getFilters().add(filter);
AWSInternetGatewayAsyncHandler asyncHandler = new AWSInternetGatewayAsyncHandler(next, context);
context.amazonEC2Client.describeInternetGatewaysAsync(internetGatewayRequest, asyncHandler);
}
use of software.amazon.awssdk.services.ec2.model.Filter in project photon-model by vmware.
the class AWSNetworkClient method getMainRouteTable.
/**
* Get the main route table for a given VPC
*/
public RouteTable getMainRouteTable(String vpcId) {
// build filter list
List<Filter> filters = new ArrayList<>();
filters.add(AWSUtils.getFilter(AWSUtils.AWS_FILTER_VPC_ID, vpcId));
filters.add(AWSUtils.getFilter(AWS_MAIN_ROUTE_ASSOCIATION, "true"));
DescribeRouteTablesRequest req = new DescribeRouteTablesRequest().withFilters(filters);
DescribeRouteTablesResult res = this.client.describeRouteTables(req);
List<RouteTable> routeTables = res.getRouteTables();
return routeTables.isEmpty() ? null : routeTables.get(0);
}
use of software.amazon.awssdk.services.ec2.model.Filter in project photon-model by vmware.
the class AWSSecurityGroupClient method getSecurityGroups.
public List<SecurityGroup> getSecurityGroups(List<String> names, String vpcId) {
DescribeSecurityGroupsRequest req = new DescribeSecurityGroupsRequest();
req.withFilters(new Filter(AWS_GROUP_NAME_FILTER, names));
if (vpcId != null) {
req.withFilters(new Filter(AWS_VPC_ID_FILTER, Collections.singletonList(vpcId)));
}
DescribeSecurityGroupsResult groups = this.client.describeSecurityGroups(req);
return groups != null ? groups.getSecurityGroups() : Collections.emptyList();
}
use of software.amazon.awssdk.services.ec2.model.Filter in project photon-model by vmware.
the class AWSSecurityGroupClient method getDefaultSecurityGroup.
public SecurityGroup getDefaultSecurityGroup(String vpcId) {
SecurityGroup cellGroup = null;
DescribeSecurityGroupsRequest req = new DescribeSecurityGroupsRequest().withFilters(new Filter("group-name", Collections.singletonList(DEFAULT_SECURITY_GROUP_NAME)));
if (vpcId != null) {
req.withFilters(new Filter("vpc-id", Collections.singletonList(vpcId)));
}
DescribeSecurityGroupsResult cellGroups = this.client.describeSecurityGroups(req);
if (cellGroups != null && !cellGroups.getSecurityGroups().isEmpty()) {
cellGroup = cellGroups.getSecurityGroups().get(0);
}
return cellGroup;
}
use of software.amazon.awssdk.services.ec2.model.Filter in project photon-model by vmware.
the class AWSSecurityGroupClient method getSecurityGroup.
public SecurityGroup getSecurityGroup(String name, String vpcId) {
SecurityGroup cellGroup = null;
DescribeSecurityGroupsRequest req = new DescribeSecurityGroupsRequest().withFilters(new Filter("group-name", Collections.singletonList(name)));
if (vpcId != null) {
req.withFilters(new Filter("vpc-id", Collections.singletonList(vpcId)));
}
DescribeSecurityGroupsResult cellGroups = this.client.describeSecurityGroups(req);
if (cellGroups != null && !cellGroups.getSecurityGroups().isEmpty()) {
cellGroup = cellGroups.getSecurityGroups().get(0);
}
return cellGroup;
}
Aggregations