List of usage examples for com.amazonaws.services.ecs.model LogConfiguration LogConfiguration
LogConfiguration
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 w w w . j a v a 2 s . c o 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 {/* w ww . j av a 2 s.c om*/ 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; } }