use of com.amazonaws.services.ec2.model.LaunchSpecification in project aws-sdk-android by aws-amplify.
the class EC2RequestHandler method afterResponse.
@Override
public void afterResponse(Request<?> request, Object response, TimingInfo timingInfo) {
/*
* For backwards compatibility, we preserve the existing List<String> of
* security group names by explicitly populating it from the full list
* of security group info.
*/
if (response instanceof DescribeSpotInstanceRequestsResult) {
DescribeSpotInstanceRequestsResult result = (DescribeSpotInstanceRequestsResult) response;
for (SpotInstanceRequest spotInstanceRequest : result.getSpotInstanceRequests()) {
LaunchSpecification launchSpecification = spotInstanceRequest.getLaunchSpecification();
populateLaunchSpecificationSecurityGroupNames(launchSpecification);
}
} else if (response instanceof RequestSpotInstancesResult) {
RequestSpotInstancesResult result = (RequestSpotInstancesResult) response;
for (SpotInstanceRequest spotInstanceRequest : result.getSpotInstanceRequests()) {
LaunchSpecification launchSpecification = spotInstanceRequest.getLaunchSpecification();
populateLaunchSpecificationSecurityGroupNames(launchSpecification);
}
} else if (response instanceof DescribeInstancesResult) {
DescribeInstancesResult result = (DescribeInstancesResult) response;
for (Reservation reservation : result.getReservations()) {
populateReservationSecurityGroupNames(reservation);
}
} else if (response instanceof RunInstancesResult) {
RunInstancesResult result = (RunInstancesResult) response;
populateReservationSecurityGroupNames(result.getReservation());
}
}
use of com.amazonaws.services.ec2.model.LaunchSpecification in project aws-sdk-android by aws-amplify.
the class EC2RequestHandler method populateLaunchSpecificationSecurityGroupNames.
private void populateLaunchSpecificationSecurityGroupNames(LaunchSpecification launchSpecification) {
List<String> groupNames = new ArrayList<String>();
for (GroupIdentifier group : launchSpecification.getAllSecurityGroups()) {
groupNames.add(group.getGroupName());
}
launchSpecification.setSecurityGroups(groupNames);
}
use of com.amazonaws.services.ec2.model.LaunchSpecification in project gocd-ecs-elastic-agent by gocd.
the class SpotRequestMatcher method matches.
public boolean matches(EC2Config ec2Config, SpotInstanceRequest spotInstanceRequest) {
if (spotInstanceRequest == null) {
return false;
}
LaunchSpecification launchSpecification = spotInstanceRequest.getLaunchSpecification();
final Platform platform = platformFor(spotInstanceRequest);
if (platform != ec2Config.getPlatform()) {
return false;
}
if (!StringUtils.equals(launchSpecification.getImageId(), ec2Config.getAmi())) {
return false;
}
if (!StringUtils.equals(ec2Config.getInstanceType(), launchSpecification.getInstanceType())) {
return false;
}
if (notMatching(ec2Config.getSubnetIds(), launchSpecification.getSubnetId())) {
return false;
}
if (notMatching(ec2Config.getSecurityGroups(), getInstanceSecurityGroups(launchSpecification))) {
return false;
}
return ec2Config.runAsSpotInstance();
}
Aggregations