List of usage examples for com.amazonaws.services.ecs.model LogConfiguration setOptions
public void setOptions(java.util.Map<String, String> options)
The configuration options to send to the log driver.
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; } }