Example usage for com.amazonaws.services.ec2 AmazonEC2Client describeInstanceAttribute

List of usage examples for com.amazonaws.services.ec2 AmazonEC2Client describeInstanceAttribute

Introduction

In this page you can find the example usage for com.amazonaws.services.ec2 AmazonEC2Client describeInstanceAttribute.

Prototype

@Override
public DescribeInstanceAttributeResult describeInstanceAttribute(DescribeInstanceAttributeRequest request) 

Source Link

Document

Describes the specified attribute of the specified instance.

Usage

From source file:org.finra.dm.dao.impl.Ec2OperationsImpl.java

License:Apache License

/**
 * Describe the EC2 instance attribute//from w  w w.j av a  2 s . co m
 */
@Override
public DescribeInstanceAttributeResult describeInstanceAttribute(AmazonEC2Client ec2Client,
        DescribeInstanceAttributeRequest describeInstanceAttributeRequest) {
    return ec2Client.describeInstanceAttribute(describeInstanceAttributeRequest);
}

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 . java2 s .  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);
}