Example usage for com.amazonaws.services.ec2.model CreateImageRequest setDescription

List of usage examples for com.amazonaws.services.ec2.model CreateImageRequest setDescription

Introduction

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

Prototype


public void setDescription(String description) 

Source Link

Document

A description for the new image.

Usage

From source file:com.carrotgarden.maven.aws.ecc.CarrotElasticCompute.java

License:BSD License

/**
 * stop instance and take image snapshot
 *//*from   ww  w  . jav a2 s  .  c om*/
public Image imageCreate(final String instanceId, final String name, final String description)
        throws Exception {

    logger.info("ensure instance state : instanceId=" + instanceId);

    final InstanceStateName state = stateFrom(instanceId);

    final boolean wasRunning;

    switch (state) {
    case Pending:
        waitForIstanceState(instanceId, InstanceStateName.Running);
    case Running:
        wasRunning = true;
        break;
    case Stopping:
        waitForIstanceState(instanceId, InstanceStateName.Stopped);
    case Stopped:
        wasRunning = false;
        break;
    default:
        throw new Exception("image create : invalid instance state=" + state);
    }

    if (wasRunning) {
        instanceStop(instanceId);
    }

    final CreateImageRequest request = new CreateImageRequest();

    request.setInstanceId(instanceId);
    request.setName(name);
    request.setDescription(description);

    final CreateImageResult result = amazonClient.createImage(request);

    final String imageId = result.getImageId();

    logger.info("ensure image state: imageId=" + imageId);

    final Image image = waitForImageCreate(imageId);

    if (wasRunning) {
        instanceStart(instanceId);
    }

    return image;

}