Example usage for com.amazonaws.services.ec2.model ModifyInstanceAttributeRequest withInstanceId

List of usage examples for com.amazonaws.services.ec2.model ModifyInstanceAttributeRequest withInstanceId

Introduction

In this page you can find the example usage for com.amazonaws.services.ec2.model ModifyInstanceAttributeRequest withInstanceId.

Prototype


public ModifyInstanceAttributeRequest withInstanceId(String instanceId) 

Source Link

Document

The ID of the instance.

Usage

From source file:com.urbancode.terraform.tasks.aws.helpers.AWSHelper.java

License:Apache License

public void modifyInstanceAttribute(String instanceId, String attribute, String value, AmazonEC2 ec2Client) {
    ModifyInstanceAttributeRequest request = new ModifyInstanceAttributeRequest();

    if (isNotBlank(instanceId) && isNotBlank(attribute) && isNotBlank(value)) {
        request.withInstanceId(instanceId);
        request = request.withAttribute(attribute);
        request = request.withValue(value);
    }//w  ww  .j  a v  a 2s .c o  m
    ec2Client.modifyInstanceAttribute(request);
}

From source file:jp.primecloud.auto.process.aws.AwsInstanceProcess.java

License:Open Source License

public void modify(AwsProcessClient awsProcessClient, Long instanceNo) {
    AwsInstance awsInstance = awsInstanceDao.read(instanceNo);
    String instanceId = awsInstance.getInstanceId();

    com.amazonaws.services.ec2.model.Instance instance2 = awsCommonProcess.describeInstance(awsProcessClient,
            instanceId);/* w w w .j  av a2s  .  c  om*/

    // InstanceType
    if (!StringUtils.equals(awsInstance.getInstanceType(), instance2.getInstanceType())) {
        // InstanceType?
        ModifyInstanceAttributeRequest request = new ModifyInstanceAttributeRequest();
        request.withInstanceId(instanceId);
        request.withInstanceType(awsInstance.getInstanceType());
        awsProcessClient.getEc2Client().modifyInstanceAttribute(request);

        // 
        if (log.isInfoEnabled()) {
            log.info(MessageUtils.getMessage("IPROCESS-100161", instanceId));
        }
    }

    // SecurityGroup
    if (BooleanUtils.isTrue(awsProcessClient.getPlatformAws().getVpc())) {
        // ????SecurityGroup
        List<String> groupNames = new ArrayList<String>();
        List<GroupIdentifier> groupIdentifiers = instance2.getSecurityGroups();
        for (GroupIdentifier groupIdentifier : groupIdentifiers) {
            groupNames.add(groupIdentifier.getGroupName());
        }

        // ????SecurityGroup
        List<String> newGroupNames = new ArrayList<String>();
        for (String groupName : StringUtils.split(awsInstance.getSecurityGroups(), ",")) {
            newGroupNames.add(groupName.trim());
        }

        // SecurityGroup???????
        if (!(groupNames.size() == newGroupNames.size()) || !groupNames.containsAll(newGroupNames)) {
            // SecurityGroup?ID??
            List<String> newSecurityGroups = new ArrayList<String>();
            List<SecurityGroup> securityGroups = awsCommonProcess.describeSecurityGroupsByVpcId(
                    awsProcessClient, awsProcessClient.getPlatformAws().getVpcId());
            for (String groupName : newGroupNames) {
                for (SecurityGroup securityGroup : securityGroups) {
                    if (StringUtils.equals(groupName, securityGroup.getGroupName())) {
                        newSecurityGroups.add(securityGroup.getGroupId());
                        break;
                    }
                }
            }

            // SecurityGroup?
            ModifyInstanceAttributeRequest request = new ModifyInstanceAttributeRequest();
            request.withInstanceId(instanceId);
            request.withGroups(newSecurityGroups);
            awsProcessClient.getEc2Client().modifyInstanceAttribute(request);

            // 
            if (log.isInfoEnabled()) {
                log.info(MessageUtils.getMessage("IPROCESS-100162", instanceId));
            }
        }
    }
}