jqのドキュメントと照らし合わせながら見つけました
方法
以下のようにやれば、taskDefinitionArn
とcontainerDefinitions
が両方取れます。
もっといい方法がある気もしますが、、
$ aws ecs describe-task-definition --task-definition task \
--query 'taskDefinition | {
taskDefinitionArn: taskDefinitionArn,
containerDefinitions: containerDefinitions
}'
{
"taskDefinitionArn": "arn:aws:ecs:ap-northeast-1:xxxxx:task-definition/task:12",
"containerDefinitions": [
{
--- 略 ---
配列ぽくとりたいとき
aws ecs describe-task-definition --task-definition task --query 'taskDefinition | [taskDefinitionArn, containerDefinitions]'
おまけ
もともと以下のようにtaskDefinitionを取得してgithub actionsに突っ込んでいたのですが、 resource is not in the state servicesStable
というエラーが出ていました。
$ aws ecs describe-task-definition --task-definition task \
--query taskDefinition
以下のようにクエリすることで回避できました。
$ aws ecs describe-task-definition --task-definition task \
--query 'taskDefinition |
{
ipcMode: ipcMode,
executionRoleArn: executionRoleArn,
containerDefinitions: containerDefinitions,
placementConstraints: placementConstraints,
memory: memory,
taskRoleArn: taskRoleArn,
family: family,
pidMode: pidMode,
requiresCompatibilities: requiresCompatibilities,
networkMode: networkMode,
cpu: cpu,
inferenceAccelerators: inferenceAccelerators,
proxyConfiguration: proxyConfiguration,
volumes: volumes
}' > task-definition.json