in ecs-cli/modules/cli/local/converter/converter.go [193:252]
func convertToComposeService(containerDefinition *ecs.ContainerDefinition, commonValues *CommonContainerValues) (composeV3.ServiceConfig, error) {
linuxParams := convertLinuxParameters(containerDefinition.LinuxParameters)
tmpfs := linuxParams.Tmpfs
init := linuxParams.Init
devices := linuxParams.Devices
shmSize := linuxParams.ShmSize
capAdd := linuxParams.CapAdd
capDrop := linuxParams.CapDrop
ulimits, _ := convertUlimits(containerDefinition.Ulimits)
environment := convertEnvironment(containerDefinition, commonValues.Creds)
extraHosts := convertExtraHosts(containerDefinition.ExtraHosts)
healthCheck := convertHealthCheck(containerDefinition.HealthCheck)
labels := convertDockerLabelsWithSecrets(containerDefinition.DockerLabels, containerDefinition.Secrets)
logging := convertLogging(containerDefinition.LogConfiguration)
volumes := convertToVolumes(containerDefinition.MountPoints, commonValues.Volumes)
ports := convertToPorts(containerDefinition.PortMappings)
sysctls := convertToSysctls(containerDefinition.SystemControls)
networks := map[string]*composeV3.ServiceNetworkConfig{
network.EcsLocalNetworkName: nil,
}
service := composeV3.ServiceConfig{
Name: aws.StringValue(containerDefinition.Name),
Image: aws.StringValue(containerDefinition.Image),
DNS: aws.StringValueSlice(containerDefinition.DnsServers),
DNSSearch: aws.StringValueSlice(containerDefinition.DnsSearchDomains),
Command: aws.StringValueSlice(containerDefinition.Command),
Entrypoint: aws.StringValueSlice(containerDefinition.EntryPoint),
Links: aws.StringValueSlice(containerDefinition.Links),
Hostname: aws.StringValue(containerDefinition.Hostname),
SecurityOpt: aws.StringValueSlice(containerDefinition.DockerSecurityOptions),
WorkingDir: aws.StringValue(containerDefinition.WorkingDirectory),
User: aws.StringValue(containerDefinition.User),
StdinOpen: aws.BoolValue(containerDefinition.Interactive),
Tty: aws.BoolValue(containerDefinition.PseudoTerminal),
Privileged: aws.BoolValue(containerDefinition.Privileged),
ReadOnly: aws.BoolValue(containerDefinition.ReadonlyRootFilesystem),
Ulimits: ulimits,
Tmpfs: tmpfs,
Init: init,
Devices: devices,
ShmSize: shmSize,
CapAdd: capAdd,
CapDrop: capDrop,
Environment: environment,
ExtraHosts: extraHosts,
HealthCheck: healthCheck,
Labels: labels,
Logging: logging,
Volumes: volumes,
Ports: ports,
Networks: networks,
Pid: commonValues.Pid,
Ipc: commonValues.Ipc,
Sysctls: sysctls,
}
return service, nil
}