Amazon ECS Ecs Daemon API
The Ecs Daemon API from Amazon ECS — 5 operation(s) for ecs daemon.
The Ecs Daemon API from Amazon ECS — 5 operation(s) for ecs daemon.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/amazon-ecs:amazon-ecs-daemon-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Amazon EC2 Container Service Daemon API
version: '2014-11-13'
description: Generated from AWS's published Smithy model for Amazon EC2 Container Service. 5 operation(s).
contact:
name: Amazon Web Services
url: https://aws.amazon.com/contact-us/
license:
name: Apache 2.0
identifier: Apache-2.0
url: https://github.com/aws/api-models-aws/blob/main/LICENSE
servers:
- url: https://ecs.{region}.amazonaws.com
variables:
region:
default: us-east-1
security:
- sigv4: []
tags:
- name: Daemon
paths:
/#CreateDaemon:
post:
operationId: CreateDaemon
summary: Create Daemon
description: Creates a new daemon in the specified cluster and capacity providers. A daemon deploys cross-cutting software agents such as security monitoring, telemetry, and logging independently across your Amazon ECS infrastructure. Amazon ECS deploys exactly one daemon task on each container instance of the specified capacity providers. When a container instance registers with the cluster, Amazon ECS automatically starts daemon tasks. Amazon ECS starts a daemon task before scheduling other tasks. Daemons are essential for instance health - if a daemon task stops, Amazon ECS automatically drains and replaces that container instance. ECS Managed Daemons is only supported for Amazon ECS Managed Instances Capacity Providers.
responses:
'200':
description: Success
content:
application/x-amz-json-1.1:
schema:
$ref: '#/components/schemas/CreateDaemonResponse'
example:
daemonArn: arn:aws:ecs:us-east-1:123456789012:daemon/my-cluster/my-monitoring-daemon
status: ACTIVE
createdAt: '2025-03-15T12:00:00.000Z'
deploymentArn: arn:aws:ecs:us-east-1:123456789012:daemon-deployment/my-cluster/my-monitoring-daemon/aB1cD2eF3gH4iJ5k
'403':
description: AccessDeniedException
content:
application/x-amz-json-1.1:
schema:
$ref: '#/components/schemas/AccessDeniedException'
'400':
description: ClientException; ClusterNotFoundException; InvalidParameterException; PlatformUnknownException; UnsupportedFeatureException
content:
application/x-amz-json-1.1:
schema:
$ref: '#/components/schemas/ClientException'
'500':
description: ServerException
content:
application/x-amz-json-1.1:
schema:
$ref: '#/components/schemas/ServerException'
parameters:
- name: X-Amz-Target
in: header
required: true
schema:
type: string
enum:
- AmazonEC2ContainerServiceV20141113.CreateDaemon
requestBody:
required: true
content:
application/x-amz-json-1.1:
schema:
$ref: '#/components/schemas/CreateDaemonRequest'
example:
daemonName: my-monitoring-daemon
clusterArn: arn:aws:ecs:us-east-1:123456789012:cluster/my-cluster
daemonTaskDefinitionArn: arn:aws:ecs:us-east-1:123456789012:daemon-task-definition/monitoring-agent:1
capacityProviderArns:
- arn:aws:ecs:us-east-1:123456789012:capacity-provider/my-capacity-provider
deploymentConfiguration:
drainPercent: 10.0
bakeTimeInMinutes: 5
tags:
- Daemon
/#DeleteDaemon:
post:
operationId: DeleteDaemon
summary: Delete Daemon
description: Deletes the specified daemon. The daemon must be in an ACTIVE state to be deleted. Deleting a daemon stops all running daemon tasks on the associated container instances. Amazon ECS drains existing container instances and provisions new instances without the deleted daemon. Amazon ECS automatically launches replacement tasks for your Amazon ECS services. ECS Managed Daemons is only supported for Amazon ECS Managed Instances Capacity Providers.
responses:
'200':
description: Success
content:
application/x-amz-json-1.1:
schema:
$ref: '#/components/schemas/DeleteDaemonResponse'
example:
daemonArn: arn:aws:ecs:us-east-1:123456789012:daemon/my-cluster/my-monitoring-daemon
status: DELETE_IN_PROGRESS
createdAt: '2025-03-15T12:00:00.000Z'
updatedAt: '2025-03-25T09:00:00.000Z'
deploymentArn: arn:aws:ecs:us-east-1:123456789012:daemon-deployment/my-cluster/my-monitoring-daemon/mN3oP4qR5sT6uV7w
'403':
description: AccessDeniedException
content:
application/x-amz-json-1.1:
schema:
$ref: '#/components/schemas/AccessDeniedException'
'400':
description: ClientException; ClusterNotFoundException; DaemonNotActiveException; DaemonNotFoundException; InvalidParameterException; UnsupportedFeatureException
content:
application/x-amz-json-1.1:
schema:
$ref: '#/components/schemas/ClientException'
'500':
description: ServerException
content:
application/x-amz-json-1.1:
schema:
$ref: '#/components/schemas/ServerException'
parameters:
- name: X-Amz-Target
in: header
required: true
schema:
type: string
enum:
- AmazonEC2ContainerServiceV20141113.DeleteDaemon
requestBody:
required: true
content:
application/x-amz-json-1.1:
schema:
$ref: '#/components/schemas/DeleteDaemonRequest'
example:
daemonArn: arn:aws:ecs:us-east-1:123456789012:daemon/my-cluster/my-monitoring-daemon
tags:
- Daemon
/#DescribeDaemon:
post:
operationId: DescribeDaemon
summary: Describe Daemon
description: Describes the specified daemon.
responses:
'200':
description: Success
content:
application/x-amz-json-1.1:
schema:
$ref: '#/components/schemas/DescribeDaemonResponse'
example:
daemon:
daemonArn: arn:aws:ecs:us-east-1:123456789012:daemon/my-cluster/my-monitoring-daemon
clusterArn: arn:aws:ecs:us-east-1:123456789012:cluster/my-cluster
status: ACTIVE
currentRevisions:
- arn: arn:aws:ecs:us-east-1:123456789012:daemon-revision/my-cluster/my-monitoring-daemon/4980306466373577095
capacityProviders:
- arn: arn:aws:ecs:us-east-1:123456789012:capacity-provider/my-capacity-provider
runningCount: 3
totalRunningCount: 3
deploymentArn: arn:aws:ecs:us-east-1:123456789012:daemon-deployment/my-cluster/my-monitoring-daemon/aB1cD2eF3gH4iJ5k
createdAt: '2025-03-15T12:00:00.000Z'
updatedAt: '2025-03-20T15:30:00.000Z'
'403':
description: AccessDeniedException
content:
application/x-amz-json-1.1:
schema:
$ref: '#/components/schemas/AccessDeniedException'
'400':
description: ClientException; ClusterNotFoundException; DaemonNotFoundException; InvalidParameterException; UnsupportedFeatureException
content:
application/x-amz-json-1.1:
schema:
$ref: '#/components/schemas/ClientException'
'500':
description: ServerException
content:
application/x-amz-json-1.1:
schema:
$ref: '#/components/schemas/ServerException'
parameters:
- name: X-Amz-Target
in: header
required: true
schema:
type: string
enum:
- AmazonEC2ContainerServiceV20141113.DescribeDaemon
requestBody:
required: true
content:
application/x-amz-json-1.1:
schema:
$ref: '#/components/schemas/DescribeDaemonRequest'
example:
daemonArn: arn:aws:ecs:us-east-1:123456789012:daemon/my-cluster/my-monitoring-daemon
tags:
- Daemon
/#ListDaemons:
post:
operationId: ListDaemons
summary: List Daemons
description: Returns a list of daemons. You can filter the results by cluster or capacity provider.
responses:
'200':
description: Success
content:
application/x-amz-json-1.1:
schema:
$ref: '#/components/schemas/ListDaemonsResponse'
example:
daemonSummariesList:
- daemonArn: arn:aws:ecs:us-east-1:123456789012:daemon/my-cluster/my-monitoring-daemon
status: ACTIVE
createdAt: '2025-03-15T12:00:00.000Z'
updatedAt: '2025-03-20T15:30:00.000Z'
- daemonArn: arn:aws:ecs:us-east-1:123456789012:daemon/my-cluster/my-logging-daemon
status: ACTIVE
createdAt: '2025-03-16T09:00:00.000Z'
updatedAt: '2025-03-16T09:00:00.000Z'
'403':
description: AccessDeniedException
content:
application/x-amz-json-1.1:
schema:
$ref: '#/components/schemas/AccessDeniedException'
'400':
description: ClientException; ClusterNotFoundException; InvalidParameterException; UnsupportedFeatureException
content:
application/x-amz-json-1.1:
schema:
$ref: '#/components/schemas/ClientException'
'500':
description: ServerException
content:
application/x-amz-json-1.1:
schema:
$ref: '#/components/schemas/ServerException'
parameters:
- name: X-Amz-Target
in: header
required: true
schema:
type: string
enum:
- AmazonEC2ContainerServiceV20141113.ListDaemons
requestBody:
required: true
content:
application/x-amz-json-1.1:
schema:
$ref: '#/components/schemas/ListDaemonsRequest'
example:
clusterArn: arn:aws:ecs:us-east-1:123456789012:cluster/my-cluster
tags:
- Daemon
/#UpdateDaemon:
post:
operationId: UpdateDaemon
summary: Update Daemon
description: Updates the specified daemon. When you update a daemon, a new deployment is triggered that progressively rolls out the changes to the container instances associated with the daemon's capacity providers. For more information, see Daemon deployments in the Amazon Elastic Container Service Developer Guide. Amazon ECS drains existing container instances and provisions new instances with the updated daemon. Amazon ECS automatically launches replacement tasks for your services. Updating a daemon triggers a rolling deployment that drains and replaces container instances. Plan updates during maintenance windows to minimize impact on running services. ECS Managed Daemons is only supported for Amazon ECS Managed Instances Capacity Providers.
responses:
'200':
description: Success
content:
application/x-amz-json-1.1:
schema:
$ref: '#/components/schemas/UpdateDaemonResponse'
example:
daemonArn: arn:aws:ecs:us-east-1:123456789012:daemon/my-cluster/my-monitoring-daemon
status: ACTIVE
createdAt: '2025-03-15T12:00:00.000Z'
updatedAt: '2025-03-20T15:30:00.000Z'
deploymentArn: arn:aws:ecs:us-east-1:123456789012:daemon-deployment/my-cluster/my-monitoring-daemon/xY9zA8bC7dE6fG5h
'403':
description: AccessDeniedException
content:
application/x-amz-json-1.1:
schema:
$ref: '#/components/schemas/AccessDeniedException'
'400':
description: ClientException; ClusterNotFoundException; DaemonNotActiveException; DaemonNotFoundException; InvalidParameterException; PlatformUnknownException; UnsupportedFeatureException
content:
application/x-amz-json-1.1:
schema:
$ref: '#/components/schemas/ClientException'
'500':
description: ServerException
content:
application/x-amz-json-1.1:
schema:
$ref: '#/components/schemas/ServerException'
parameters:
- name: X-Amz-Target
in: header
required: true
schema:
type: string
enum:
- AmazonEC2ContainerServiceV20141113.UpdateDaemon
requestBody:
required: true
content:
application/x-amz-json-1.1:
schema:
$ref: '#/components/schemas/UpdateDaemonRequest'
example:
daemonArn: arn:aws:ecs:us-east-1:123456789012:daemon/my-cluster/my-monitoring-daemon
daemonTaskDefinitionArn: arn:aws:ecs:us-east-1:123456789012:daemon-task-definition/monitoring-agent:2
capacityProviderArns:
- arn:aws:ecs:us-east-1:123456789012:capacity-provider/my-capacity-provider
deploymentConfiguration:
drainPercent: 10.0
bakeTimeInMinutes: 5
tags:
- Daemon
components:
schemas:
CreateDaemonResponse:
type: object
properties:
daemonArn:
type: string
description: The Amazon Resource Name (ARN) of the daemon.
status:
type: string
enum:
- ACTIVE
- DELETE_IN_PROGRESS
description: The status of the daemon.
createdAt:
type: string
format: date-time
description: The Unix timestamp for the time when the daemon was created.
deploymentArn:
type: string
description: The Amazon Resource Name (ARN) of the initial daemon deployment. This deployment places daemon tasks on each container instance of the specified capacity providers.
Tag:
type: object
properties:
key:
type: string
description: One part of a key-value pair that make up a tag. A key is a general label that acts like a category for more specific tag values.
value:
type: string
description: The optional part of a key-value pair that make up a tag. A value acts as a descriptor within a tag category (key).
ServerException:
type: object
properties:
message:
type: string
description: Message that describes the cause of the exception.
DaemonRevisionDetail:
type: object
properties:
arn:
type: string
description: The Amazon Resource Name (ARN) of the daemon revision.
capacityProviders:
type: array
items:
$ref: '#/components/schemas/DaemonCapacityProvider'
description: The capacity providers associated with this daemon revision.
totalRunningCount:
type: integer
description: The total number of daemon tasks running for this revision.
totalWithoutDaemonCount:
type: integer
description: The total number of instances running without the daemon task for this revision, across all capacity providers. These instances aren't included in totalRunningCount.
DeleteDaemonRequest:
type: object
properties:
daemonArn:
type: string
description: The Amazon Resource Name (ARN) of the daemon to delete.
required:
- daemonArn
ClientException:
type: object
properties:
message:
type: string
description: Message that describes the cause of the exception.
UpdateDaemonResponse:
type: object
properties:
daemonArn:
type: string
description: The Amazon Resource Name (ARN) of the daemon.
status:
type: string
enum:
- ACTIVE
- DELETE_IN_PROGRESS
description: The status of the daemon.
createdAt:
type: string
format: date-time
description: The Unix timestamp for the time when the daemon was created.
updatedAt:
type: string
format: date-time
description: The Unix timestamp for the time when the daemon was last updated.
deploymentArn:
type: string
description: The Amazon Resource Name (ARN) of the daemon deployment that was triggered by the update.
DescribeDaemonRequest:
type: object
properties:
daemonArn:
type: string
description: The Amazon Resource Name (ARN) of the daemon to describe.
required:
- daemonArn
DescribeDaemonResponse:
type: object
properties:
daemon:
$ref: '#/components/schemas/DaemonDetail'
DaemonDetail:
type: object
properties:
daemonArn:
type: string
description: The Amazon Resource Name (ARN) of the daemon.
clusterArn:
type: string
description: The Amazon Resource Name (ARN) of the cluster that the daemon is running in.
status:
type: string
enum:
- ACTIVE
- DELETE_IN_PROGRESS
description: The status of the daemon.
currentRevisions:
type: array
items:
$ref: '#/components/schemas/DaemonRevisionDetail'
description: The current daemon revision details, including the running task counts per capacity provider.
deploymentArn:
type: string
description: The Amazon Resource Name (ARN) of the most recent daemon deployment.
createdAt:
type: string
format: date-time
description: The Unix timestamp for the time when the daemon was created.
updatedAt:
type: string
format: date-time
description: The Unix timestamp for the time when the daemon was last updated.
DaemonAlarmConfiguration:
type: object
properties:
alarmNames:
type: array
items:
type: string
description: The CloudWatch alarm names to monitor during a daemon deployment.
enable:
type: boolean
description: Determines whether to use the CloudWatch alarm option in the daemon deployment process. The default value is false.
ListDaemonsRequest:
type: object
properties:
clusterArn:
type: string
description: The Amazon Resource Name (ARN) of the cluster to filter daemons by. If you do not specify a cluster, the default cluster is assumed.
capacityProviderArns:
type: array
items:
type: string
description: The Amazon Resource Names (ARNs) of the capacity providers to filter daemons by. Only daemons associated with the specified capacity providers are returned.
maxResults:
type: integer
description: The maximum number of daemon results that ListDaemons returned in paginated output. When this parameter is used, ListDaemons only returns maxResults results in a single page along with a nextToken response element. The remaining results of the initial request can be seen by sending another ListDaemons request with the returned nextToken value. This value can be between 1 and 100. If this parameter isn't used, then ListDaemons returns up to 100 results and a nextToken value if applicable.
nextToken:
type: string
description: The nextToken value returned from a ListDaemons request indicating that more results are available to fulfill the request and further calls will be needed. If maxResults was provided, it's possible for the number of results to be fewer than maxResults. This token should be treated as an opaque identifier that is only used to retrieve the next items in a list and not for other programmatic purposes.
DaemonDeploymentConfiguration:
type: object
properties:
drainPercent:
type: number
description: The percentage of container instances to drain simultaneously during a daemon deployment. Valid values are between 0.0 and 100.0.
alarms:
$ref: '#/components/schemas/DaemonAlarmConfiguration'
bakeTimeInMinutes:
type: integer
description: The amount of time (in minutes) to wait after a successful deployment step before proceeding. This allows time to monitor for issues before continuing. The default value is 0.
ListDaemonsResponse:
type: object
properties:
daemonSummariesList:
type: array
items:
$ref: '#/components/schemas/DaemonSummary'
description: The list of daemon summaries.
nextToken:
type: string
description: The nextToken value to include in a future ListDaemons request. When the results of a ListDaemons request exceed maxResults, this value can be used to retrieve the next page of results.
CreateDaemonRequest:
type: object
properties:
daemonName:
type: string
description: The name of the daemon. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed.
clusterArn:
type: string
description: The Amazon Resource Name (ARN) of the cluster to create the daemon in.
daemonTaskDefinitionArn:
type: string
description: The Amazon Resource Name (ARN) of the daemon task definition to use for the daemon.
capacityProviderArns:
type: array
items:
type: string
description: The Amazon Resource Names (ARNs) of the capacity providers to associate with the daemon. The daemon deploys tasks on container instances managed by these capacity providers.
deploymentConfiguration:
$ref: '#/components/schemas/DaemonDeploymentConfiguration'
tags:
type: array
items:
$ref: '#/components/schemas/Tag'
description: 'The metadata that you apply to the daemon to help you categorize and organize them. Each tag consists of a key and an optional value. You define both of them. The following basic restrictions apply to tags: Maximum number of tags per resource - 50 For each resource, each tag key must be unique, and each tag key can have only one value. Maximum key length - 128 Unicode characters in UTF-8 Maximum value length - 256 Unicode characters in UTF-8 If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally'
propagateTags:
type: string
enum:
- DAEMON
- NONE
description: Specifies whether to propagate the tags from the daemon to the daemon tasks. If you don't specify a value, the tags aren't propagated. You can only propagate tags to daemon tasks during task creation. To add tags to a task after task creation, use the TagResource API action.
enableECSManagedTags:
type: boolean
description: Specifies whether to turn on Amazon ECS managed tags for the tasks in the daemon. For more information, see Tagging your Amazon ECS resources in the Amazon Elastic Container Service Developer Guide.
enableExecuteCommand:
type: boolean
description: Determines whether the execute command functionality is turned on for the daemon. If true, the execute command functionality is turned on for all tasks in the daemon.
clientToken:
type: string
description: An identifier that you provide to ensure the idempotency of the request. It must be unique and is case sensitive. Up to 36 ASCII characters in the range of 33-126 (inclusive) are allowed.
critical:
type: boolean
description: 'If the critical parameter of a daemon is true, and the daemon task fails, stops, or becomes unhealthy, Amazon ECS drains the container instance and stops the other tasks running on it. If the critical parameter is false, the daemon task failure doesn''t affect the other tasks on the instance. The default value is true. A non-critical daemon doesn''t block instance registration. The container instance becomes active and continues to run your other tasks, whether the daemon task fails during scale-out or during a deployment. Amazon ECS emits an EventBridge event when a daemon task fails to start, '
required:
- daemonName
- daemonTaskDefinitionArn
- capacityProviderArns
DeleteDaemonResponse:
type: object
properties:
daemonArn:
type: string
description: The Amazon Resource Name (ARN) of the daemon.
status:
type: string
enum:
- ACTIVE
- DELETE_IN_PROGRESS
description: The status of the daemon. After you call DeleteDaemon, the status changes to DELETE_IN_PROGRESS.
createdAt:
type: string
format: date-time
description: The Unix timestamp for the time when the daemon was created.
updatedAt:
type: string
format: date-time
description: The Unix timestamp for the time when the daemon was last updated.
deploymentArn:
type: string
description: The Amazon Resource Name (ARN) of the daemon deployment that was triggered by the delete operation. This deployment drains existing daemon tasks from the container instances.
UpdateDaemonRequest:
type: object
properties:
daemonArn:
type: string
description: The Amazon Resource Name (ARN) of the daemon to update.
daemonTaskDefinitionArn:
type: string
description: The Amazon Resource Name (ARN) of the daemon task definition to use for the updated daemon.
capacityProviderArns:
type: array
items:
type: string
description: The Amazon Resource Names (ARNs) of the capacity providers to associate with the daemon.
deploymentConfiguration:
$ref: '#/components/schemas/DaemonDeploymentConfiguration'
propagateTags:
type: string
enum:
- DAEMON
- NONE
description: Specifies whether to propagate the tags from the daemon to the daemon tasks. If you don't specify a value, the tags aren't propagated. You can only propagate tags to daemon tasks during task creation.
enableECSManagedTags:
type: boolean
description: Specifies whether to turn on Amazon ECS managed tags for the tasks in the daemon. For more information, see Tagging your Amazon ECS resources in the Amazon Elastic Container Service Developer Guide.
enableExecuteCommand:
type: boolean
description: If true, the execute command functionality is turned on for all tasks in the daemon. If false, the execute command functionality is turned off.
critical:
type: boolean
description: 'If the critical parameter of a daemon is true, and the daemon task fails, stops, or becomes unhealthy, Amazon ECS drains the container instance and stops the other tasks running on it. If the critical parameter is false, the daemon task failure doesn''t affect the other tasks on the instance. The default value is true. A non-critical daemon doesn''t block instance registration. The container instance becomes active and continues to run your other tasks, whether the daemon task fails during scale-out or during a deployment. Amazon ECS emits an EventBridge event when a daemon task fails to start, '
required:
- daemonArn
- daemonTaskDefinitionArn
- capacityProviderArns
AccessDeniedException:
type: object
properties:
message:
type: string
description: Message that describes the cause of the exception.
DaemonSummary:
type: object
properties:
daemonArn:
type: string
description: The Amazon Resource Name (ARN) of the daemon.
status:
type: string
enum:
- ACTIVE
- DELETE_IN_PROGRESS
description: The status of the daemon.
createdAt:
type: string
format: date-time
description: The Unix timestamp for the time when the daemon was created.
updatedAt:
type: string
format: date-time
description: The Unix timestamp for the time when the daemon was last updated.
DaemonCapacityProvider:
type: object
properties:
arn:
type: string
description: The Amazon Resource Name (ARN) of the capacity provider.
runningCount:
type: integer
description: The number of daemon tasks running on this capacity provider.
withoutDaemonCount:
type: integer
description: The number of instances on this capacity provider that are running without the daemon task. This applies to daemons that aren't critical, where the instance remains available for your other tasks even if the daemon task can't start or stops. These instances aren't included in runningCount.
securitySchemes:
sigv4:
type: apiKey
in: header
name: Authorization
description: AWS Signature Version 4. The Authorization header carries an AWS4-HMAC-SHA256 signature over the canonical request, with X-Amz-Date (and X-Amz-Security-Token for temporary credentials). Not a bearer token.
x-aws-sigv4:
signingName: ecs
x-provenance:
method: harvested
publisher: Amazon Web Services
source: https://raw.githubusercontent.com/aws/api-models-aws/582e55931c45b944739742a2c1620b6026dd2d13/models/ecs/service/2014-11-13/ecs-2014-11-13.json
note: converted by smithy-to-openapi.py from AWS's Smithy model (roadmap#1001)