本文整理了Java中com.amazonaws.services.ec2.model.Filter.withValues()
方法的一些代码示例,展示了Filter.withValues()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Filter.withValues()
方法的具体详情如下:
包路径:com.amazonaws.services.ec2.model.Filter
类名称:Filter
方法名:withValues
[英]One or more filter values. Filter values are case-sensitive.
[中]一个或多个筛选器值。筛选器值区分大小写。
代码示例来源:origin: apache/incubator-gobblin
/***
* Get list of EC2 {@link Instance}s for a auto scaling group
*
* @param groupName Auto scaling group name
* @param status Instance status (eg. running)
* @return List of EC2 instances found for the input auto scaling group
*/
public List<Instance> getInstancesForGroup(String groupName,
String status) {
final AmazonEC2 amazonEC2 = getEc2Client();
final DescribeInstancesResult instancesResult = amazonEC2.describeInstances(new DescribeInstancesRequest()
.withFilters(new Filter().withName("tag:aws:autoscaling:groupName").withValues(groupName)));
final List<Instance> instances = new ArrayList<>();
for (Reservation reservation : instancesResult.getReservations()) {
for (Instance instance : reservation.getInstances()) {
if (null == status|| null == instance.getState()
|| status.equals(instance.getState().getName())) {
instances.add(instance);
LOGGER.info("Found instance: " + instance + " which qualified filter: " + status);
} else {
LOGGER.info("Found instance: " + instance + " but did not qualify for filter: " + status);
}
}
}
return instances;
}
代码示例来源:origin: aws/aws-sdk-java
public Filter unmarshall(StaxUnmarshallerContext context) throws Exception {
Filter filter = new Filter();
int originalDepth = context.getCurrentDepth();
int targetDepth = originalDepth + 1;
if (context.isStartOfDocument())
targetDepth += 1;
while (true) {
XMLEvent xmlEvent = context.nextEvent();
if (xmlEvent.isEndDocument())
return filter;
if (xmlEvent.isAttribute() || xmlEvent.isStartElement()) {
if (context.testExpression("Name", targetDepth)) {
filter.setName(StringStaxUnmarshaller.getInstance().unmarshall(context));
continue;
}
if (context.testExpression("Value", targetDepth)) {
filter.withValues(new ArrayList<String>());
continue;
}
if (context.testExpression("Value/item", targetDepth)) {
filter.withValues(StringStaxUnmarshaller.getInstance().unmarshall(context));
continue;
}
} else if (xmlEvent.isEndElement()) {
if (context.getCurrentDepth() < originalDepth) {
return filter;
}
}
}
}
代码示例来源:origin: Netflix/Priam
new Filter().withName("group-name").withValues(config.getACLGroupName());
String vpcid = instanceInfo.getVpcId();
if (vpcid == null || vpcid.isEmpty()) {
Filter vpcFilter = new Filter().withName("vpc-id").withValues(vpcid);
DescribeSecurityGroupsRequest req =
new DescribeSecurityGroupsRequest().withFilters(nameFilter, vpcFilter);
代码示例来源:origin: Netflix/Priam
protected String getVpcGoupId() {
AmazonEC2 client = null;
try {
client = getEc2Client();
Filter nameFilter =
new Filter().withName("group-name").withValues(config.getACLGroupName()); // SG
Filter vpcFilter = new Filter().withName("vpc-id").withValues(instanceInfo.getVpcId());
DescribeSecurityGroupsRequest req =
new DescribeSecurityGroupsRequest().withFilters(nameFilter, vpcFilter);
DescribeSecurityGroupsResult result = client.describeSecurityGroups(req);
for (SecurityGroup group : result.getSecurityGroups()) {
logger.debug(
"got group-id:{} for group-name:{},vpc-id:{}",
group.getGroupId(),
config.getACLGroupName(),
instanceInfo.getVpcId());
return group.getGroupId();
}
logger.error(
"unable to get group-id for group-name={} vpc-id={}",
config.getACLGroupName(),
instanceInfo.getVpcId());
return "";
} finally {
if (client != null) client.shutdown();
}
}
代码示例来源:origin: electronicarts/gatling-aws-maven-plugin
private Filter[] getInstanceFilters(final String instanceType) {
// Setup a filter to find any previously generated EC2 instances.
return new Filter[]{
new Filter("tag:" + this.instanceTag.getKey()).withValues(this.instanceTag.getValue()),
new Filter("instance-state-name").withValues("running"),
new Filter("instance-type").withValues(instanceType)
};
}
代码示例来源:origin: rundeck-plugins/rundeck-ec2-nodes-plugin
private ArrayList<Filter> buildFilters() {
final ArrayList<Filter> filters = new ArrayList<Filter>();
if (isRunningStateOnly()) {
final Filter filter = new Filter("instance-state-name").withValues(InstanceStateName.Running.toString());
filters.add(filter);
}
if (null != getFilterParams()) {
for (final String filterParam : getFilterParams()) {
final String[] x = filterParam.split("=", 2);
if (!"".equals(x[0]) && !"".equals(x[1])) {
filters.add(new Filter(x[0]).withValues(x[1].split(",")));
}
}
}
return filters;
}
代码示例来源:origin: zalando-stups/fullstop
@Override
@Cacheable(cacheNames = "ami-expiration-time", cacheManager = "oneMinuteTTLCacheManager")
public ZonedDateTime getExpirationTime(String regionName, String imageOwner, String imageId) {
// tags are only visible in the owning account of the image
final AmazonEC2Client ec2 = clientProvider.getClient(AmazonEC2Client.class, imageOwner,
Region.getRegion(Regions.fromName(regionName)));
final DescribeTagsRequest tagsRequest = new DescribeTagsRequest().withFilters(
new Filter("resource-id").withValues(imageId),
new Filter("resource-type").withValues("image"),
new Filter("key").withValues(TAG_KEY));
return ec2.describeTags(tagsRequest).getTags().stream()
.findFirst()
.map(TagDescription::getValue)
.map(value -> ZonedDateTime.parse(value, ISO_DATE_TIME))
.orElse(null);
}
}
代码示例来源:origin: paulhoule/infovore
private String getClusterHeadInstanceId(String jobFlowId) throws Exception {
DescribeInstancesResult r=ec2Client.describeInstances(
new DescribeInstancesRequest().withFilters(
new Filter().withName("tag:aws:elasticmapreduce:instance-group-role").withValues("MASTER"),
new Filter().withName("tag:aws:elasticmapreduce:job-flow-id").withValues(jobFlowId)
)
);
List<Reservation> instances=r.getReservations();
if(instances.size() != 1)
throw new Exception("Could not find cluster head ["+jobFlowId+"]");
return instances.get(0).getInstances().get(0).getInstanceId();
}
代码示例来源:origin: Kixeye/chassis
/**
* Fetches and instance's name Tag or null if it does not have one
* @param instanceId
* @param amazonEC2
* @return
*/
public static String getInstanceName(String instanceId, AmazonEC2 amazonEC2){
DescribeTagsResult result = amazonEC2.describeTags(new DescribeTagsRequest().withFilters(
new Filter().withName("resource-id").withValues(instanceId),
new Filter().withName("resource-type").withValues("instance"),
new Filter().withName("key").withValues(TAG_KEY_NAME)));
if(result.getTags().isEmpty()){
return null;
}
String name = result.getTags().get(0).getValue();
return name == null || name.trim().equals("") ? null : name;
}
代码示例来源:origin: org.elasticsearch/elasticsearch-cloud-aws
private DescribeInstancesRequest buildDescribeInstancesRequest() {
DescribeInstancesRequest describeInstancesRequest = new DescribeInstancesRequest()
.withFilters(
new Filter("instance-state-name").withValues("running", "pending")
);
for (Map.Entry<String, String> tagFilter : tags.entrySet()) {
// for a given tag key, OR relationship for multiple different values
describeInstancesRequest.withFilters(
new Filter("tag:" + tagFilter.getKey()).withValues(tagFilter.getValue())
);
}
if (!availabilityZones.isEmpty()) {
// OR relationship amongst multiple values of the availability-zone filter
describeInstancesRequest.withFilters(
new Filter("availability-zone").withValues(availabilityZones)
);
}
return describeInstancesRequest;
}
}
代码示例来源:origin: jenkinsci/ec2-plugin
/**
* Get a list of security group ids for the slave
*/
private List<String> getEc2SecurityGroups(AmazonEC2 ec2) throws AmazonClientException {
List<String> groupIds = new ArrayList<String>();
DescribeSecurityGroupsResult groupResult = getSecurityGroupsBy("group-name", securityGroupSet, ec2);
if (groupResult.getSecurityGroups().size() == 0) {
groupResult = getSecurityGroupsBy("group-id", securityGroupSet, ec2);
}
for (SecurityGroup group : groupResult.getSecurityGroups()) {
if (group.getVpcId() != null && !group.getVpcId().isEmpty()) {
List<Filter> filters = new ArrayList<Filter>();
filters.add(new Filter("vpc-id").withValues(group.getVpcId()));
filters.add(new Filter("state").withValues("available"));
filters.add(new Filter("subnet-id").withValues(getCurrentSubnetId()));
DescribeSubnetsRequest subnetReq = new DescribeSubnetsRequest();
subnetReq.withFilters(filters);
DescribeSubnetsResult subnetResult = ec2.describeSubnets(subnetReq);
List<Subnet> subnets = subnetResult.getSubnets();
if (subnets != null && !subnets.isEmpty()) {
groupIds.add(group.getGroupId());
}
}
}
if (securityGroupSet.size() != groupIds.size()) {
throw new AmazonClientException("Security groups must all be VPC security groups to work in a VPC context");
}
return groupIds;
}
代码示例来源:origin: jenkinsci/ec2-plugin
private DescribeSecurityGroupsResult getSecurityGroupsBy(String filterName, Set<String> filterValues, AmazonEC2 ec2) {
DescribeSecurityGroupsRequest groupReq = new DescribeSecurityGroupsRequest();
groupReq.withFilters(new Filter(filterName).withValues(filterValues));
return ec2.describeSecurityGroups(groupReq);
}
代码示例来源:origin: org.jenkins-ci.plugins/ec2
private DescribeSecurityGroupsResult getSecurityGroupsBy(String filterName, Set<String> filterValues, AmazonEC2 ec2) {
DescribeSecurityGroupsRequest group_req = new DescribeSecurityGroupsRequest();
group_req.withFilters(new Filter(filterName).withValues(filterValues));
return ec2.describeSecurityGroups(group_req);
}
代码示例来源:origin: ContaAzul/turbine-ec2
/**
* Builds a describe instance request.
* @return Request.
*/
private DescribeInstancesRequest request(
final String tag,
final String value
) {
final Filter filter = new Filter()
.withName(tag)
.withValues(value);
return new DescribeInstancesRequest().withFilters(filter);
}
}
代码示例来源:origin: zalando-stups/fullstop
private List<RouteTable> fetchRouteTables(final List<Filter> subnetIdFilters, final AmazonEC2Client amazonEC2Client,
final Instance instance) {
subnetIdFilters.add(
new Filter().withName("association.subnet-id")
.withValues(instance.getSubnetId())); // filter by subnetId
final DescribeRouteTablesRequest describeRouteTablesRequest = new DescribeRouteTablesRequest()
.withFilters(subnetIdFilters);
final DescribeRouteTablesResult describeRouteTablesResult = amazonEC2Client
.describeRouteTables(describeRouteTablesRequest);
return describeRouteTablesResult.getRouteTables();
}
代码示例来源:origin: org.apache.gobblin/gobblin-aws
/***
* Get list of EC2 {@link Instance}s for a auto scaling group
*
* @param groupName Auto scaling group name
* @param status Instance status (eg. running)
* @return List of EC2 instances found for the input auto scaling group
*/
public List<Instance> getInstancesForGroup(String groupName,
String status) {
final AmazonEC2 amazonEC2 = getEc2Client();
final DescribeInstancesResult instancesResult = amazonEC2.describeInstances(new DescribeInstancesRequest()
.withFilters(new Filter().withName("tag:aws:autoscaling:groupName").withValues(groupName)));
final List<Instance> instances = new ArrayList<>();
for (Reservation reservation : instancesResult.getReservations()) {
for (Instance instance : reservation.getInstances()) {
if (null == status|| null == instance.getState()
|| status.equals(instance.getState().getName())) {
instances.add(instance);
LOGGER.info("Found instance: " + instance + " which qualified filter: " + status);
} else {
LOGGER.info("Found instance: " + instance + " but did not qualify for filter: " + status);
}
}
}
return instances;
}
代码示例来源:origin: paulhoule/infovore
private void tagInstancesForJob(String jobFlowId) {
DescribeInstancesResult r=ec2Client.describeInstances(
new DescribeInstancesRequest().withFilters(
new Filter().withName("tag:aws:elasticmapreduce:job-flow-id").withValues(jobFlowId)
)
);
List<String> clusterInstances=newArrayList();
for(Reservation that:r.getReservations()) {
for(Instance i:that.getInstances()) {
logger.info("Adding monitoring for instance " + i.getInstanceId());
clusterInstances.add(i.getInstanceId());
}
}
ec2Client.monitorInstances(new MonitorInstancesRequest(clusterInstances));
};
代码示例来源:origin: RetailMeNot/SeleniumGridScaler
@Override
public void doWork() {
log.info("Running " + AutomationReaperTask.NAME);
DescribeInstancesRequest describeInstancesRequest = new DescribeInstancesRequest();
Filter filter = new Filter("tag:LaunchSource");
filter.withValues("SeleniumGridScalerPlugin");
describeInstancesRequest.withFilters(filter);
List<Reservation> reservations = ec2.describeInstances(describeInstancesRequest);
for(Reservation reservation : reservations) {
for(Instance instance : reservation.getInstances()) {
// Look for orphaned nodes
Date threshold = AutomationUtils.modifyDate(new Date(),-30, Calendar.MINUTE);
String instanceId = instance.getInstanceId();
// If we found a node old enough AND we're not internally tracking it, this means this is an orphaned node and we should terminate it
if(threshold.after(instance.getLaunchTime()) && !AutomationContext.getContext().nodeExists(instanceId)) {
log.info("Terminating orphaned node: " + instanceId);
ec2.terminateInstance(instanceId);
}
}
}
}
代码示例来源:origin: UrbanCode/terraform
/**
*
* @param interfaceIds
* @param vpcId
* @param ec2Client
* @return
*/
public List<NetworkInterface> getNetworkInterfaces(List<String> interfaceIds, String vpcId, AmazonEC2 ec2Client) {
DescribeNetworkInterfacesRequest request = new DescribeNetworkInterfacesRequest();
if (interfaceIds != null) {
request = request.withNetworkInterfaceIds(interfaceIds);
}
if (vpcId != null && !vpcId.equals("")) {
Filter vpcFilter = new Filter().withName("vpc-id").withValues(vpcId);
request = request.withFilters(vpcFilter);
}
DescribeNetworkInterfacesResult result = ec2Client.describeNetworkInterfaces(request);
return result.getNetworkInterfaces();
}
代码示例来源:origin: com.netflix.dynomitemanager/dynomitemanager-common
protected String getVpcGroupId() {
AmazonEC2 client = null;
try {
client = getEc2Client();
Filter nameFilter = new Filter().withName("group-name").withValues(envVariables.getDynomiteClusterName()); // SG
Filter vpcFilter = new Filter().withName("vpc-id").withValues(retriever.getVpcId());
logger.info("Dynomite name: " + envVariables.getDynomiteClusterName());
DescribeSecurityGroupsRequest req = new DescribeSecurityGroupsRequest().withFilters(nameFilter, vpcFilter);
DescribeSecurityGroupsResult result = client.describeSecurityGroups(req);
for (SecurityGroup group : result.getSecurityGroups()) {
logger.debug(String.format("got group-id:%s for group-name:%s,vpc-id:%s", group.getGroupId(),
envVariables.getDynomiteClusterName(), retriever.getVpcId()));
return group.getGroupId();
}
logger.error(String.format("unable to get group-id for group-name=%s vpc-id=%s",
envVariables.getDynomiteClusterName(), retriever.getVpcId()));
return "";
} finally {
if (client != null)
client.shutdown();
}
}
内容来源于网络,如有侵权,请联系作者删除!