List of usage examples for com.amazonaws.services.ec2.model DescribeInstanceAttributeResult getInstanceAttribute
public InstanceAttribute getInstanceAttribute()
Describes an instance attribute.
From source file:com.cloudera.director.aws.ec2.EC2Provider.java
License:Apache License
/** * Get EBS volumes attached to the specified virtual instance id. * * @return list of ebs volumes/*from w w w. ja v a2 s .co m*/ */ @VisibleForTesting List<Volume> getVolumes(String virtualInstanceId) { String ec2InstanceId = getOnlyElement( getEC2InstanceIdsByVirtualInstanceId(Collections.singletonList(virtualInstanceId)).values()); DescribeInstanceAttributeResult results = client .describeInstanceAttribute(new DescribeInstanceAttributeRequest().withInstanceId(ec2InstanceId) .withAttribute(InstanceAttributeName.BlockDeviceMapping)); List<InstanceBlockDeviceMapping> blockDeviceMappings = results.getInstanceAttribute() .getBlockDeviceMappings(); List<String> volumeIds = Lists.newArrayList(); for (InstanceBlockDeviceMapping mapping : blockDeviceMappings) { volumeIds.add(mapping.getEbs().getVolumeId()); } DescribeVolumesResult volumeResults = client .describeVolumes(new DescribeVolumesRequest().withVolumeIds(volumeIds)); return volumeResults.getVolumes(); }
From source file:com.cloudera.director.aws.ec2.EC2Provider.java
License:Apache License
private void fillMissingProperties(Instance instance) { try {//from w w w. j av a 2s . c om DescribeInstanceAttributeRequest request = new DescribeInstanceAttributeRequest() .withInstanceId(instance.getInstanceId()).withAttribute(InstanceAttributeName.SriovNetSupport); DescribeInstanceAttributeResult result = client.describeInstanceAttribute(request); String sriovNetSupport = result.getInstanceAttribute().getSriovNetSupport(); instance.setSriovNetSupport(sriovNetSupport); } catch (AmazonServiceException e) { // In practice, users may not have appropriate IAM permission for // DescribeInstanceAttribute. We need to be more forgiving in those cases, // and simply leave a warning in the log here. LOG.warn("Could not fill missing properties. Failed to perform " + "DescribeInstanceAttribute action.", e); } }
From source file:com.yosanai.java.aws.console.DefaultAWSConnectionProvider.java
License:Open Source License
@Override public boolean getApiTermination(String instanceId) throws Exception { boolean ret = false; if (StringUtils.isNotBlank(instanceId)) { DescribeInstanceAttributeResult describeInstanceAttributeResult = getConnection() .describeInstanceAttribute( new DescribeInstanceAttributeRequest(instanceId, DISABLE_API_TERMINATION)); ret = !describeInstanceAttributeResult.getInstanceAttribute().getDisableApiTermination(); }/*w ww. j av a 2 s . co m*/ return ret; }
From source file:org.finra.dm.dao.impl.Ec2DaoImpl.java
License:Apache License
/** * Adds the security groups to an EC2 instance. * * @param ec2InstanceId, the ec2 instance id. * @param securityGroups, security groups to be added. * @param awsParams, awsParamsDto object * * @return updated security groups.//from ww w . j av a2 s . c o m */ @Override public List<String> addSecurityGroupsToEc2Instance(String ec2InstanceId, List<String> securityGroups, AwsParamsDto awsParams) { Set<String> updatedSecurityGroups = new HashSet<>(); for (String securityGroup : securityGroups) { updatedSecurityGroups.add(securityGroup); } // Get existing security groups DescribeInstanceAttributeRequest describeInstanceAttributeRequest = new DescribeInstanceAttributeRequest() .withInstanceId(ec2InstanceId).withAttribute(InstanceAttributeName.GroupSet); DescribeInstanceAttributeResult describeInstanceAttributeResult = ec2Operations .describeInstanceAttribute(getEc2Client(awsParams), describeInstanceAttributeRequest); List<GroupIdentifier> groups = describeInstanceAttributeResult.getInstanceAttribute().getGroups(); for (GroupIdentifier groupIdentifier : groups) { updatedSecurityGroups.add(groupIdentifier.getGroupId()); } // Add security group on master EC2 instance ModifyInstanceAttributeRequest modifyInstanceAttributeRequest = new ModifyInstanceAttributeRequest() .withInstanceId(ec2InstanceId).withGroups(updatedSecurityGroups); ec2Operations.modifyInstanceAttribute(getEc2Client(awsParams), modifyInstanceAttributeRequest); return new ArrayList<>(updatedSecurityGroups); }
From source file:org.zalando.stups.fullstop.plugin.RegistryPlugin.java
License:Apache License
private Map getUserData(final CloudTrailEvent event, final String instanceId) { AmazonEC2Client ec2Client = cachingClientProvider.getClient(AmazonEC2Client.class, event.getEventData().getUserIdentity().getAccountId(), Region.getRegion(Regions.fromName(event.getEventData().getAwsRegion()))); DescribeInstanceAttributeRequest describeInstanceAttributeRequest = new DescribeInstanceAttributeRequest(); describeInstanceAttributeRequest.setInstanceId(instanceId); describeInstanceAttributeRequest.setAttribute(USER_DATA); DescribeInstanceAttributeResult describeInstanceAttributeResult; try {/*from w w w . ja v a 2s . c o m*/ describeInstanceAttributeResult = ec2Client.describeInstanceAttribute(describeInstanceAttributeRequest); } catch (AmazonServiceException e) { LOG.error(e.getMessage()); violationStore .save(new ViolationBuilder(format("InstanceId: %s doesn't have any userData.", instanceId)) .withEvent(event).build()); return null; } String userData = describeInstanceAttributeResult.getInstanceAttribute().getUserData(); if (userData == null) { violationStore .save(new ViolationBuilder(format("InstanceId: %s doesn't have any userData.", instanceId)) .withEvent(event).build()); return null; } byte[] bytesUserData = Base64.decode(userData); String decodedUserData = new String(bytesUserData); Yaml yaml = new Yaml(); return (Map) yaml.load(decodedUserData); }