Example usage for com.amazonaws.services.ecs.model RegisterTaskDefinitionRequest setTaskRoleArn

List of usage examples for com.amazonaws.services.ecs.model RegisterTaskDefinitionRequest setTaskRoleArn

Introduction

In this page you can find the example usage for com.amazonaws.services.ecs.model RegisterTaskDefinitionRequest setTaskRoleArn.

Prototype


public void setTaskRoleArn(String taskRoleArn) 

Source Link

Document

The short name or full Amazon Resource Name (ARN) of the IAM role that containers in this task can assume.

Usage

From source file:com.netflix.spinnaker.clouddriver.ecs.deploy.ops.CreateServerGroupAtomicOperation.java

License:Apache License

private TaskDefinition registerTaskDefinition(AmazonECS ecs, String version) {

    Collection<KeyValuePair> containerEnvironment = new LinkedList<>();
    containerEnvironment.add(new KeyValuePair().withName("SERVER_GROUP").withValue(version));
    containerEnvironment.add(new KeyValuePair().withName("CLOUD_STACK").withValue(description.getStack()));
    containerEnvironment//from w w  w .  j av a 2  s  .  c  o m
            .add(new KeyValuePair().withName("CLOUD_DETAIL").withValue(description.getFreeFormDetails()));

    PortMapping portMapping = new PortMapping().withHostPort(0)
            .withContainerPort(description.getContainerPort())
            .withProtocol(description.getPortProtocol() != null ? description.getPortProtocol() : "tcp");

    Collection<PortMapping> portMappings = new LinkedList<>();
    portMappings.add(portMapping);

    ContainerDefinition containerDefinition = new ContainerDefinition().withName(version)
            .withEnvironment(containerEnvironment).withPortMappings(portMappings)
            .withCpu(description.getComputeUnits()).withMemoryReservation(description.getReservedMemory())
            .withImage(description.getDockerImageAddress());

    Collection<ContainerDefinition> containerDefinitions = new LinkedList<>();
    containerDefinitions.add(containerDefinition);

    RegisterTaskDefinitionRequest request = new RegisterTaskDefinitionRequest()
            .withContainerDefinitions(containerDefinitions).withFamily(getFamilyName());

    if (!description.getIamRole().equals("None (No IAM role)")) {
        checkRoleTrustRelations(description.getIamRole());
        request.setTaskRoleArn(description.getIamRole());
    }

    RegisterTaskDefinitionResult registerTaskDefinitionResult = ecs.registerTaskDefinition(request);

    return registerTaskDefinitionResult.getTaskDefinition();
}