stdlib/aws: implemented ecs run-task script to invoke containers on ecs
Signed-off-by: Sam Alba <sam.alba@gmail.com>
This commit is contained in:
parent
80b8e014b0
commit
bd49171455
64
stdlib/aws/ecs/run-task.cue
Normal file
64
stdlib/aws/ecs/run-task.cue
Normal file
@ -0,0 +1,64 @@
|
||||
package ecs
|
||||
|
||||
import (
|
||||
"dagger.io/aws"
|
||||
)
|
||||
|
||||
// RunTask implement ecs run-task
|
||||
#RunTask: {
|
||||
|
||||
// AWS Config
|
||||
config: aws.#Config
|
||||
|
||||
// ECS cluster name
|
||||
cluster: string
|
||||
|
||||
// Arn of the task to run
|
||||
taskArn: string
|
||||
|
||||
// Environment variables of the task
|
||||
containerEnvironment: [string]: string
|
||||
|
||||
// Container name
|
||||
containerName: string
|
||||
|
||||
// Container command to give
|
||||
containerCommand: [...string]
|
||||
|
||||
// Task role ARN
|
||||
roleArn: string | *""
|
||||
|
||||
containerOverrides: {
|
||||
"containerOverrides": [{
|
||||
name: containerName
|
||||
if len(containerCommand) > 0 {
|
||||
"command": containerCommand
|
||||
}
|
||||
if len(containerEnvironment) > 0 {
|
||||
"environment": [ for k, v in containerEnvironment {"name": k, "value": v}]
|
||||
}
|
||||
}]
|
||||
if roleArn != "" {
|
||||
taskRoleArn: roleArn
|
||||
}
|
||||
}
|
||||
|
||||
aws.#Script & {
|
||||
"config": config
|
||||
export: "/out"
|
||||
files: {
|
||||
"/inputs/cluster": cluster
|
||||
"/inputs/task_arn": taskArn
|
||||
"/inputs/container_overrides": containerOverrides
|
||||
}
|
||||
code: #"""
|
||||
cat /inputs/container_overrides | jq
|
||||
|
||||
aws ecs run-task \
|
||||
--cluster "$(cat /inputs/cluster)" \
|
||||
--task-definition "$(cat /inputs/task_arn)" \
|
||||
--overrides "$(cat /inputs/container_overrides)" \
|
||||
> /out
|
||||
"""#
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user