List of usage examples for com.amazonaws.services.ec2.model Filter setName
public void setName(String name)
The name of the filter.
From source file:com.liferay.amazontools.AMIBuilder.java
License:Open Source License
protected Instance getRunningInstance(String instanceId) { DescribeInstancesRequest describeInstancesRequest = new DescribeInstancesRequest(); List<Filter> filters = new ArrayList<Filter>(); Filter filter = new Filter(); filter.setName("instance-state-name"); List<String> values = new ArrayList<String>(); values.add("running"); filter.setValues(values);/* w w w. j ava2 s. com*/ filters.add(filter); describeInstancesRequest.setFilters(filters); List<String> instanceIds = new ArrayList<String>(); instanceIds.add(instanceId); describeInstancesRequest.setInstanceIds(instanceIds); DescribeInstancesResult describeInstancesResult = amazonEC2Client .describeInstances(describeInstancesRequest); List<Reservation> reservations = describeInstancesResult.getReservations(); if (reservations.isEmpty()) { return null; } Reservation reservation = reservations.get(0); List<Instance> instances = reservation.getInstances(); return instances.get(0); }
From source file:com.liferay.amazontools.AMIBuilder.java
License:Open Source License
protected boolean isImageCreated(String imageId) { DescribeImagesRequest describeImagesRequest = new DescribeImagesRequest(); List<Filter> filters = new ArrayList<Filter>(); Filter filter = new Filter(); filter.setName("state"); List<String> values = new ArrayList<String>(); values.add("available"); filter.setValues(values);//from www .j a v a 2 s. co m filters.add(filter); describeImagesRequest.setFilters(filters); List<String> imageIds = new ArrayList<String>(); imageIds.add(imageId); describeImagesRequest.setImageIds(imageIds); DescribeImagesResult describeImagesResult = amazonEC2Client.describeImages(describeImagesRequest); List<Image> images = describeImagesResult.getImages(); return !images.isEmpty(); }
From source file:com.liferay.amazontools.AMICleaner.java
License:Open Source License
protected void deleteAvailableVolumes() { DescribeVolumesRequest describeVolumesRequest = new DescribeVolumesRequest(); Filter filter = new Filter(); filter.setName("status"); filter.withValues("available"); describeVolumesRequest.withFilters(filter); DescribeVolumesResult describeVolumesResult = amazonEC2Client.describeVolumes(describeVolumesRequest); List<Volume> volumes = describeVolumesResult.getVolumes(); for (int i = 0; i < volumes.size(); i++) { DeleteVolumeRequest deleteVolumeRequest = new DeleteVolumeRequest(); Volume volume = volumes.get(i);//www .j a v a2 s . co m deleteVolumeRequest.setVolumeId(volume.getVolumeId()); amazonEC2Client.deleteVolume(deleteVolumeRequest); } }
From source file:com.liferay.amazontools.BaseAMIBuilder.java
License:Open Source License
protected String getImageId(String imageName) { DescribeImagesRequest describeImagesRequest = new DescribeImagesRequest(); List<Filter> filters = new ArrayList<Filter>(); Filter filter = new Filter(); filter.setName("name"); List<String> values = new ArrayList<String>(); values.add(imageName);/*from w w w . j a v a 2 s . c o m*/ filter.setValues(values); filters.add(filter); describeImagesRequest.setFilters(filters); DescribeImagesResult describeImagesResult = amazonEC2Client.describeImages(describeImagesRequest); List<Image> images = describeImagesResult.getImages(); if (images.isEmpty()) { throw new RuntimeException("Image " + imageName + " does not exist"); } Image image = images.get(0); return image.getImageId(); }
From source file:com.liferay.amazontools.BaseAMITool.java
License:Open Source License
protected String getImageId(String imageName) { DescribeImagesRequest describeImagesRequest = new DescribeImagesRequest(); Image image = null;/*from w w w . ja v a 2s. c om*/ for (int i = 0; i < 6; i++) { List<Filter> filters = new ArrayList<Filter>(); Filter filter = new Filter(); filter.setName("name"); List<String> values = new ArrayList<String>(); values.add(imageName); filter.setValues(values); filters.add(filter); describeImagesRequest.setFilters(filters); DescribeImagesResult describeImagesResult = amazonEC2Client.describeImages(describeImagesRequest); List<Image> images = describeImagesResult.getImages(); if (images.isEmpty()) { sleep(30); continue; } image = images.get(0); break; } if (image == null) { throw new RuntimeException("Image " + imageName + " does not exist"); } return image.getImageId(); }
From source file:com.vmware.photon.controller.model.adapters.awsadapter.AWSUtils.java
License:Open Source License
/** * Creates a filter for the instances that are in non terminated state on the AWS endpoint. * @return//w ww . j a v a2s . com */ public static Filter getAWSNonTerminatedInstancesFilter() { // Create a filter to only get non terminated instances from the remote instance. List<String> stateValues = new ArrayList<String>( Arrays.asList(INSTANCE_STATE_RUNNING, INSTANCE_STATE_PENDING, INSTANCE_STATE_STOPPING, INSTANCE_STATE_STOPPED, INSTANCE_STATE_SHUTTING_DOWN)); Filter runningInstanceFilter = new Filter(); runningInstanceFilter.setName(INSTANCE_STATE); runningInstanceFilter.setValues(stateValues); return runningInstanceFilter; }
From source file:jp.aws.test.ec2.EC2Instance.java
License:Apache License
/** * AMI?/* w w w . j ava 2 s. c o m*/ * * @param HashMap * <String,String> filterMap : ID: ownerid => self, amazon, * redhat, 00000000 root-device-type => ebs, instance-store * architecture => i386, x86_64 name => amzn-ami* * @return * @throws Exception * @note - ???????? */ public List<AMIItem> ami_list(HashMap<String, String> filterMap) { List<AMIItem> amiItemList = new ArrayList<AMIItem>(); // this.clientManager.changeRegion(); // AMI?? DescribeImagesRequest describeImagesRequest = new DescribeImagesRequest(); List<String> ownersList = new ArrayList<String>(); // OwnerID?(self, amazon, redhat, 00000000) ownersList.add(filterMap.get("ownerid")); describeImagesRequest.setOwners(ownersList); // AMI????????Filter? ArrayList<Filter> filters = new ArrayList<Filter>(); Filter filter = new Filter(); filter.setName("image-type"); // machine List<String> valueList = new ArrayList<String>(); valueList.add("machine"); filter.setValues(valueList); // Filter filters.add(filter); // for (Iterator<String> it = filterMap.keySet().iterator(); it.hasNext();) { String key = it.next(); Log.d("ami_list", String.format("key:%s, value:%s", key, filterMap.get(key))); if (key.toLowerCase().equals("ownerid")) continue; filters.add(new Filter().withName(key).withValues(filterMap.get(key))); } // Filter describeImagesRequest.setFilters(filters); // ????AMI?? DescribeImagesResult describeImagesResult = this.clientManager.ec2().describeImages(describeImagesRequest); // AMI?List?(Image?com.amazonaws.services.ec2.model?Image???) List<Image> amiList = describeImagesResult.getImages(); // ?AMI?? for (Image image : amiList) { // http://docs.amazonwebservices.com/AWSAndroidSDK/latest/javadoc/com/amazonaws/services/ec2/model/Image.html AMIItem amiItem = new AMIItem(); StringBuilder builder = new StringBuilder(); amiItem.imageId = image.getImageId(); amiItem.imageType = image.getImageType(); amiItem.imageLocation = image.getImageLocation(); amiItem.name = image.getName(); amiItem.architecture = image.getArchitecture(); amiItem.platform = image.getPlatform(); amiItem.state = image.getState(); amiItem.ownerId = image.getOwnerId(); amiItem.rootDeviceType = image.getRootDeviceType(); amiItem.rootDeviceName = image.getRootDeviceName(); amiItem.description = image.getDescription(); builder.setLength(0); // ? List<Tag> tags = image.getTags(); // tag for (Tag tag : tags) { builder.append(tag.getValue()); builder.append(", "); } // ? amiItemList.add(amiItem); } return amiItemList; }
From source file:n3phele.factory.ec2.VirtualServerResource.java
License:Open Source License
/** * Assimilating a VM is the process of looking for an instance in the Amazon cloud, * getting it's details and storing it in the factory database if it's not there yet. * This is used when instances are created from outside of the factory (e.g. using Juju) * and the factory needs to know about their existence to use them in other operations. * @param request/*from ww w . j av a 2 s . c o m*/ * information about the instance to be looked up in the cloud * @return * response code informing success or failure in the search and assimilation */ @POST @Produces("application/json") @RolesAllowed("authenticated") @Path("virtualServer/assimilate") public Response assimilate(ExecutionFactoryAssimilateRequest request) { final String TAG = "Assimilate VM: "; logger.info(TAG + "EC2 Assimilating VM Begin"); logger.info(TAG + "Looking for IP " + request.ipaddress + " on " + request.location); // Search for instance with the following ip address Filter ipFilter = new Filter(); ipFilter.setName("ip-address"); ipFilter.withValues(request.ipaddress); // This request searches in running instances for one instance that mathes the filters DescribeInstancesRequest amazonRequest = new DescribeInstancesRequest(); amazonRequest.withFilters(ipFilter); // Authenticate an Amazon connection AmazonEC2Client amazonClient = getEC2Client(request.accessKey, request.encryptedSecret, request.location); // Execute request DescribeInstancesResult amazonResponse = amazonClient.describeInstances(amazonRequest); // Reservations are "sessions" that start a list of instances if (amazonResponse.getReservations().size() == 0) { logger.warning(TAG + "IP not found on Amazon cloud"); return Response.status(Response.Status.NOT_FOUND).build(); } logger.info(TAG + "IP found on Amazon cloud, looking for instance id on Amazon factory"); // We're expecting one instance with the requested IP, getting index 0 should cover this Reservation foundReservation = amazonResponse.getReservations().get(0); List<Instance> reservationInstances = foundReservation.getInstances(); Instance foundInstance = reservationInstances.get(0); String instanceId = foundInstance.getInstanceId(); List<VirtualServer> listVS = getByInstanceId(instanceId); if (listVS.size() > 0) { logger.warning(TAG + "Instance already exists on Amazon factory"); return Response.status(Response.Status.CONFLICT).build(); } logger.info(TAG + "Instance not found on Amazon factory, adding VM to factory"); // Required data for VM creation below ArrayList<NameValue> paramsVM = new ArrayList<NameValue>(); NameValue paramLocation = new NameValue(); NameValue paramFlavor = new NameValue(); paramLocation.setKey("locationId"); paramLocation.setValue(request.locationId); paramsVM.add(paramLocation); paramFlavor.setKey("instanceType"); paramFlavor.setValue(foundInstance.getInstanceType()); paramsVM.add(paramFlavor); // Instance name is in tag key "Name", assuming first tag is the name List<Tag> instanceTags = foundInstance.getTags(); String instanceName = null; if (instanceTags.size() == 0) { instanceName = instanceId; } else { Tag tagName = instanceTags.get(0); instanceName = tagName.getValue(); } VirtualServer virtualServer = new VirtualServer(instanceName, request.description, request.location, paramsVM, request.notification, request.accessKey, request.encryptedSecret, request.owner, request.idempotencyKey); virtualServer.setCreated(foundInstance.getLaunchTime()); virtualServer.setInstanceId(instanceId); add(virtualServer); logger.info(TAG + "Succesfully added VM to factory"); List<URI> virtualMachinesRefs = new ArrayList<URI>(1); virtualMachinesRefs.add(virtualServer.getUri()); return Response.created(virtualServer.getUri()).entity(new CreateVirtualServerResponse(virtualMachinesRefs)) .build(); }
From source file:org.apache.stratos.aws.extension.AWSHelper.java
License:Apache License
private Set<Filter> getFilters(String vpcId, String securityGroupName) { // vpc id filter Filter vpcIdFilter = new Filter(); vpcIdFilter.setName("vpc-id"); Set<String> singleVpcIdSet = new HashSet<>(); singleVpcIdSet.add(vpcId);//from w ww. j av a 2 s .co m vpcIdFilter.setValues(singleVpcIdSet); // group name filter Filter groupNameFilter = new Filter(); groupNameFilter.setName("group-name"); Set<String> singleGroupNameSet = new HashSet<>(); singleGroupNameSet.add(securityGroupName); groupNameFilter.setValues(singleGroupNameSet); Set<Filter> filters = new HashSet<>(); filters.add(vpcIdFilter); filters.add(groupNameFilter); return filters; }