Example usage for com.amazonaws.services.ecs.model LogConfiguration setOptions

List of usage examples for com.amazonaws.services.ecs.model LogConfiguration setOptions

Introduction

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

Prototype


public void setOptions(java.util.Map<String, String> options) 

Source Link

Document

The configuration options to send to the log driver.

Usage

From source file:com.cloudbees.jenkins.plugins.amazonecs.ECSTaskTemplate.java

License:Open Source License

public RegisterTaskDefinitionRequest asRegisterTaskDefinitionRequest(ECSCloud owner) {
    String familyName = getFullQualifiedTemplateName(owner);
    final ContainerDefinition def = new ContainerDefinition().withName(familyName).withImage(image)
            .withEnvironment(getEnvironmentKeyValuePairs()).withExtraHosts(getExtraHostEntries())
            .withMemory(memory).withMountPoints(getMountPointEntries()).withCpu(cpu).withPrivileged(privileged);
    if (entrypoint != null)
        def.withEntryPoint(StringUtils.split(entrypoint));

    if (jvmArgs != null)
        def.withEnvironment(new KeyValuePair().withName("JAVA_OPTS").withValue(jvmArgs)).withEssential(true);

    if (logDriver != null) {
        LogConfiguration logConfig = new LogConfiguration();
        logConfig.setLogDriver(logDriver);
        logConfig.setOptions(getLogDriverOptionsMap());
        def.withLogConfiguration(logConfig);
    }//from  ww w.  j ava  2  s .  co m

    return new RegisterTaskDefinitionRequest().withFamily(familyName).withVolumes(getVolumeEntries())
            .withContainerDefinitions(def);
}

From source file:com.remediatetheflag.global.utils.AWSHelper.java

License:Apache License

public String createECSTaskDefinition(RTFECSTaskDefinition taskDef, User user) {

    createExerciseLogGroup(taskDef.getRegion(), Constants.EXERCISE_LOG_GROUP);

    AmazonECS client = AmazonECSClientBuilder.standard().withRegion(taskDef.getRegion())
            .withCredentials(new DefaultAWSCredentialsProviderChain()).build();

    RegisterTaskDefinitionRequest request = new RegisterTaskDefinitionRequest();

    ArrayList<PortMapping> portMappings = new ArrayList<PortMapping>();
    portMappings.add(new PortMapping().withContainerPort(8080).withHostPort(0).withProtocol("tcp"));
    portMappings.add(new PortMapping().withContainerPort(3389).withHostPort(0).withProtocol("tcp"));

    LinuxParameters linuxParameters = new LinuxParameters();
    KernelCapabilities capabilities = new KernelCapabilities();
    capabilities.setAdd(Arrays.asList("NET_ADMIN"));
    linuxParameters.setCapabilities(capabilities);

    LogConfiguration logConfiguration = new LogConfiguration();
    logConfiguration.setLogDriver("awslogs");
    Map<String, String> options = new HashMap<String, String>();
    options.put("awslogs-group", Constants.EXERCISE_LOG_GROUP);
    options.put("awslogs-region", taskDef.getRegion().getName().toLowerCase());
    logConfiguration.setOptions(options);

    final ContainerDefinition def = new ContainerDefinition().withName(taskDef.getContainerName())
            .withImage(taskDef.getRepositoryImageUrl()).withMemoryReservation(taskDef.getSoftMemoryLimit())
            .withMemory(taskDef.getHardMemoryLimit()).withPortMappings(portMappings)
            .withLinuxParameters(linuxParameters).withLogConfiguration(logConfiguration).withEssential(true);

    request.setContainerDefinitions(Arrays.asList(def));
    request.setFamily(taskDef.getTaskDefinitionName());
    request.setNetworkMode("bridge");

    try {//from ww w  . jav  a 2  s. com
        RegisterTaskDefinitionResult response = client.registerTaskDefinition(request);
        logger.debug("# ECS Task Definition " + taskDef.getTaskDefinitionName() + " created for user "
                + user.getIdUser() + " in region " + taskDef.getRegion());
        return response.getTaskDefinition().getTaskDefinitionArn();
    } catch (Exception e) {
        logger.debug(
                "# ECS Task Definition " + taskDef.getTaskDefinitionName() + " COULD NOT BE created for user "
                        + user.getIdUser() + " in region " + taskDef.getRegion() + "\n" + e.getMessage());
        return null;
    }
}