registerDaemonTaskDefinition
abstract suspend fun registerDaemonTaskDefinition(input: RegisterDaemonTaskDefinitionRequest): RegisterDaemonTaskDefinitionResponse
Registers a new daemon task definition from the supplied family and containerDefinitions. Optionally, you can add data volumes to your containers with the volumes parameter. For more information, see Daemon task definitions in the Amazon Elastic Container Service Developer Guide.
A daemon task definition is a template that describes the containers that form a daemon. Daemons deploy cross-cutting software agents such as security monitoring, telemetry, and logging across your Amazon ECS infrastructure.
Each time you call RegisterDaemonTaskDefinition, a new revision of the daemon task definition is created. You can't modify a revision after you register it.
Samples
import aws.sdk.kotlin.services.ecs.model.DaemonContainerDefinition
import aws.sdk.kotlin.services.ecs.model.KeyValuePair
import aws.sdk.kotlin.services.ecs.model.LogConfiguration
import aws.sdk.kotlin.services.ecs.model.LogDriver
fun main() {
//sampleStart
// This example registers a daemon task definition in the monitoring agent family with a single
// container that runs a CloudWatch agent.
val resp = ecsClient.registerDaemonTaskDefinition {
family = "monitoring-agent"
containerDefinitions = listOf<DaemonContainerDefinition>(
DaemonContainerDefinition {
name = "cloudwatch-agent"
image = "public.ecr.aws/cloudwatch-agent/cloudwatch-agent:latest"
memory = 256
cpu = 128
essential = true
logConfiguration = LogConfiguration {
logDriver = LogDriver.fromValue("awslogs")
options = mapOf<String, String>(
"awslogs-group" to "/ecs/daemon/monitoring-agent",
"awslogs-region" to "us-east-1",
"awslogs-stream-prefix" to "ecs"
)
}
environment = listOf<KeyValuePair>(
KeyValuePair {
name = "USE_DEFAULT_CONFIG"
value = "true"
}
)
}
)
cpu = "128"
memory = "256"
executionRoleArn = "arn:aws:iam::123456789012:role/ecsTaskExecutionRole"
taskRoleArn = "arn:aws:iam::123456789012:role/ecsDaemonTaskRole"
}
//sampleEnd
}