Amazon EC2 Container Service

2026/09/03 - Amazon EC2 Container Service - 5 updated api methods

Changes  Adds a critical parameter to the Amazon ECS managed daemon APIs that controls whether a daemon task failure drains the container instance. Non-critical daemon failures no longer drain the instance or block instance registration.

CreateDaemon (updated) Link ¶
Changes (request)
{'critical': 'boolean'}

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.

See also: AWS API Documentation

Request Syntax

client.create_daemon(
    daemonName='string',
    clusterArn='string',
    daemonTaskDefinitionArn='string',
    capacityProviderArns=[
        'string',
    ],
    deploymentConfiguration={
        'drainPercent': 123.0,
        'alarms': {
            'alarmNames': [
                'string',
            ],
            'enable': True|False
        },
        'bakeTimeInMinutes': 123
    },
    tags=[
        {
            'key': 'string',
            'value': 'string'
        },
    ],
    propagateTags='DAEMON'|'NONE',
    enableECSManagedTags=True|False,
    enableExecuteCommand=True|False,
    clientToken='string',
    critical=True|False
)
type daemonName:

string

param daemonName:

[REQUIRED]

The name of the daemon. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed.

type clusterArn:

string

param clusterArn:

The Amazon Resource Name (ARN) of the cluster to create the daemon in.

type daemonTaskDefinitionArn:

string

param daemonTaskDefinitionArn:

[REQUIRED]

The Amazon Resource Name (ARN) of the daemon task definition to use for the daemon.

type capacityProviderArns:

list

param capacityProviderArns:

[REQUIRED]

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.

  • (string) --

type deploymentConfiguration:

dict

param deploymentConfiguration:

Optional deployment parameters that control how the daemon rolls out updates, including the drain percentage, alarm-based rollback, and bake time.

  • drainPercent (float) --

    The percentage of container instances to drain simultaneously during a daemon deployment. Valid values are between 0.0 and 100.0.

  • alarms (dict) --

    The CloudWatch alarm configuration for the daemon deployment. When alarms are triggered during a deployment, the deployment can be automatically rolled back.

    • alarmNames (list) --

      The CloudWatch alarm names to monitor during a daemon deployment.

      • (string) --

    • enable (boolean) --

      Determines whether to use the CloudWatch alarm option in the daemon deployment process. The default value is false.

  • bakeTimeInMinutes (integer) --

    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.

type tags:

list

param tags:

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 allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : / @.

  • Tag keys and values are case-sensitive.

  • Do not use aws:, AWS:, or any upper or lowercase combination of such as a prefix for either keys or values as it is reserved for Amazon Web Services use. You cannot edit or delete tag keys or values with this prefix. Tags with this prefix do not count against your tags per resource limit.

  • (dict) --

    The metadata that you apply to a resource to help you categorize and organize them. Each tag consists of a key and an optional value. You define 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 allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : / @.

    • Tag keys and values are case-sensitive.

    • Do not use aws:, AWS:, or any upper or lowercase combination of such as a prefix for either keys or values as it is reserved for Amazon Web Services use. You cannot edit or delete tag keys or values with this prefix. Tags with this prefix do not count against your tags per resource limit.

    • key (string) --

      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 (string) --

      The optional part of a key-value pair that make up a tag. A value acts as a descriptor within a tag category (key).

type propagateTags:

string

param propagateTags:

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.

type enableECSManagedTags:

boolean

param enableECSManagedTags:

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.

type enableExecuteCommand:

boolean

param enableExecuteCommand:

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.

type clientToken:

string

param clientToken:

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.

type critical:

boolean

param critical:

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, for both critical and non-critical daemons.

Daemon task launch failures during a deployment are still counted by the deployment circuit breaker. The circuit breaker can roll back an unstable target revision.

rtype:

dict

returns:

Response Syntax

{
    'daemonArn': 'string',
    'status': 'ACTIVE'|'DELETE_IN_PROGRESS',
    'createdAt': datetime(2015, 1, 1),
    'deploymentArn': 'string'
}

Response Structure

  • (dict) --

    • daemonArn (string) --

      The Amazon Resource Name (ARN) of the daemon.

    • status (string) --

      The status of the daemon.

    • createdAt (datetime) --

      The Unix timestamp for the time when the daemon was created.

    • deploymentArn (string) --

      The Amazon Resource Name (ARN) of the initial daemon deployment. This deployment places daemon tasks on each container instance of the specified capacity providers.

DescribeDaemon (updated) Link ¶
Changes (response)
{'daemon': {'currentRevisions': {'capacityProviders': {'withoutDaemonCount': 'integer'},
                                 'totalWithoutDaemonCount': 'integer'}}}

Describes the specified daemon.

See also: AWS API Documentation

Request Syntax

client.describe_daemon(
    daemonArn='string'
)
type daemonArn:

string

param daemonArn:

[REQUIRED]

The Amazon Resource Name (ARN) of the daemon to describe.

rtype:

dict

returns:

Response Syntax

{
    'daemon': {
        'daemonArn': 'string',
        'clusterArn': 'string',
        'status': 'ACTIVE'|'DELETE_IN_PROGRESS',
        'currentRevisions': [
            {
                'arn': 'string',
                'capacityProviders': [
                    {
                        'arn': 'string',
                        'runningCount': 123,
                        'withoutDaemonCount': 123
                    },
                ],
                'totalRunningCount': 123,
                'totalWithoutDaemonCount': 123
            },
        ],
        'deploymentArn': 'string',
        'createdAt': datetime(2015, 1, 1),
        'updatedAt': datetime(2015, 1, 1)
    }
}

Response Structure

  • (dict) --

    • daemon (dict) --

      The full description of the daemon, including the current revisions, deployment ARN, cluster, and status information.

      • daemonArn (string) --

        The Amazon Resource Name (ARN) of the daemon.

      • clusterArn (string) --

        The Amazon Resource Name (ARN) of the cluster that the daemon is running in.

      • status (string) --

        The status of the daemon.

      • currentRevisions (list) --

        The current daemon revision details, including the running task counts per capacity provider.

        • (dict) --

          Details about a daemon revision, including the running task counts per capacity provider.

          • arn (string) --

            The Amazon Resource Name (ARN) of the daemon revision.

          • capacityProviders (list) --

            The capacity providers associated with this daemon revision.

            • (dict) --

              Information about a capacity provider associated with a daemon revision.

              • arn (string) --

                The Amazon Resource Name (ARN) of the capacity provider.

              • runningCount (integer) --

                The number of daemon tasks running on this capacity provider.

              • withoutDaemonCount (integer) --

                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.

          • totalRunningCount (integer) --

            The total number of daemon tasks running for this revision.

          • totalWithoutDaemonCount (integer) --

            The total number of instances running without the daemon task for this revision, across all capacity providers. These instances aren't included in totalRunningCount.

      • deploymentArn (string) --

        The Amazon Resource Name (ARN) of the most recent daemon deployment.

      • createdAt (datetime) --

        The Unix timestamp for the time when the daemon was created.

      • updatedAt (datetime) --

        The Unix timestamp for the time when the daemon was last updated.

DescribeDaemonDeployments (updated) Link ¶
Changes (response)
{'daemonDeployments': {'sourceDaemonRevisions': {'capacityProviders': {'withoutDaemonInstanceCount': 'integer'},
                                                 'totalWithoutDaemonInstanceCount': 'integer'},
                       'targetDaemonRevision': {'capacityProviders': {'withoutDaemonInstanceCount': 'integer'},
                                                'totalWithoutDaemonInstanceCount': 'integer'}}}

Describes one or more of your daemon deployments.

A daemon deployment orchestrates the progressive rollout of daemon task updates across container instances managed by the daemon's capacity providers. Each deployment includes circuit breaker and alarm-based rollback capabilities.

See also: AWS API Documentation

Request Syntax

client.describe_daemon_deployments(
    daemonDeploymentArns=[
        'string',
    ]
)
type daemonDeploymentArns:

list

param daemonDeploymentArns:

[REQUIRED]

The ARN of the daemon deployments to describe. You can specify up to 20 ARNs.

  • (string) --

rtype:

dict

returns:

Response Syntax

{
    'failures': [
        {
            'arn': 'string',
            'reason': 'string',
            'detail': 'string'
        },
    ],
    'daemonDeployments': [
        {
            'daemonDeploymentArn': 'string',
            'clusterArn': 'string',
            'status': 'PENDING'|'SUCCESSFUL'|'STOPPED'|'STOP_REQUESTED'|'IN_PROGRESS'|'ROLLBACK_IN_PROGRESS'|'ROLLBACK_SUCCESSFUL'|'ROLLBACK_FAILED',
            'statusReason': 'string',
            'targetDaemonRevision': {
                'arn': 'string',
                'capacityProviders': [
                    {
                        'arn': 'string',
                        'runningInstanceCount': 123,
                        'withoutDaemonInstanceCount': 123,
                        'drainingInstanceCount': 123
                    },
                ],
                'totalRunningInstanceCount': 123,
                'totalWithoutDaemonInstanceCount': 123,
                'totalDrainingInstanceCount': 123
            },
            'sourceDaemonRevisions': [
                {
                    'arn': 'string',
                    'capacityProviders': [
                        {
                            'arn': 'string',
                            'runningInstanceCount': 123,
                            'withoutDaemonInstanceCount': 123,
                            'drainingInstanceCount': 123
                        },
                    ],
                    'totalRunningInstanceCount': 123,
                    'totalWithoutDaemonInstanceCount': 123,
                    'totalDrainingInstanceCount': 123
                },
            ],
            'circuitBreaker': {
                'failureCount': 123,
                'status': 'TRIGGERED'|'MONITORING'|'MONITORING_COMPLETE'|'DISABLED',
                'threshold': 123
            },
            'alarms': {
                'status': 'TRIGGERED'|'MONITORING'|'MONITORING_COMPLETE'|'DISABLED',
                'alarmNames': [
                    'string',
                ],
                'triggeredAlarmNames': [
                    'string',
                ]
            },
            'rollback': {
                'reason': 'string',
                'startedAt': datetime(2015, 1, 1),
                'rollbackTargetDaemonRevisionArn': 'string',
                'rollbackCapacityProviders': [
                    'string',
                ]
            },
            'deploymentConfiguration': {
                'drainPercent': 123.0,
                'alarms': {
                    'alarmNames': [
                        'string',
                    ],
                    'enable': True|False
                },
                'bakeTimeInMinutes': 123
            },
            'createdAt': datetime(2015, 1, 1),
            'startedAt': datetime(2015, 1, 1),
            'stoppedAt': datetime(2015, 1, 1),
            'finishedAt': datetime(2015, 1, 1)
        },
    ]
}

Response Structure

  • (dict) --

    • failures (list) --

      Any failures associated with the call.

      • (dict) --

        A failed resource. For a list of common causes, see API failure reasons in the Amazon Elastic Container Service Developer Guide.

        • arn (string) --

          The Amazon Resource Name (ARN) of the failed resource.

        • reason (string) --

          The reason for the failure.

        • detail (string) --

          The details of the failure.

    • daemonDeployments (list) --

      The list of daemon deployments.

      • (dict) --

        Information about a daemon deployment. A daemon deployment orchestrates the progressive rollout of daemon task updates across container instances.

        • daemonDeploymentArn (string) --

          The Amazon Resource Name (ARN) of the daemon deployment.

        • clusterArn (string) --

          The Amazon Resource Name (ARN) of the cluster that hosts the daemon.

        • status (string) --

          The status of the daemon deployment.

        • statusReason (string) --

          Information about why the daemon deployment is in the current status.

        • targetDaemonRevision (dict) --

          The daemon revision being deployed.

          • arn (string) --

            The Amazon Resource Name (ARN) of the daemon revision.

          • capacityProviders (list) --

            The capacity providers associated with this daemon revision during the deployment.

            • (dict) --

              Information about a capacity provider during a daemon deployment.

              • arn (string) --

                The Amazon Resource Name (ARN) of the capacity provider.

              • runningInstanceCount (integer) --

                The number of instances running daemon tasks on this capacity provider.

              • withoutDaemonInstanceCount (integer) --

                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 runningInstanceCount.

              • drainingInstanceCount (integer) --

                The number of instances being drained on this capacity provider during the deployment.

          • totalRunningInstanceCount (integer) --

            The total number of instances running daemon tasks for this revision.

          • totalWithoutDaemonInstanceCount (integer) --

            The total number of instances running without the daemon task for this revision, across all capacity providers. These instances aren't included in totalRunningInstanceCount.

          • totalDrainingInstanceCount (integer) --

            The total number of instances being drained for this revision during the deployment.

        • sourceDaemonRevisions (list) --

          The currently deployed daemon revisions that are being replaced.

          • (dict) --

            Details about a daemon revision during a deployment, including running and draining instance counts per capacity provider.

            • arn (string) --

              The Amazon Resource Name (ARN) of the daemon revision.

            • capacityProviders (list) --

              The capacity providers associated with this daemon revision during the deployment.

              • (dict) --

                Information about a capacity provider during a daemon deployment.

                • arn (string) --

                  The Amazon Resource Name (ARN) of the capacity provider.

                • runningInstanceCount (integer) --

                  The number of instances running daemon tasks on this capacity provider.

                • withoutDaemonInstanceCount (integer) --

                  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 runningInstanceCount.

                • drainingInstanceCount (integer) --

                  The number of instances being drained on this capacity provider during the deployment.

            • totalRunningInstanceCount (integer) --

              The total number of instances running daemon tasks for this revision.

            • totalWithoutDaemonInstanceCount (integer) --

              The total number of instances running without the daemon task for this revision, across all capacity providers. These instances aren't included in totalRunningInstanceCount.

            • totalDrainingInstanceCount (integer) --

              The total number of instances being drained for this revision during the deployment.

        • circuitBreaker (dict) --

          The circuit breaker configuration that determines when a daemon deployment has failed.

          • failureCount (integer) --

            The number of times the circuit breaker detected a daemon deployment failure.

          • status (string) --

            The circuit breaker status. Amazon ECS is not using the circuit breaker for daemon deployment failures when the status is DISABLED.

          • threshold (integer) --

            The threshold which determines that the daemon deployment failed.

        • alarms (dict) --

          The CloudWatch alarms that determine when a daemon deployment fails.

          • status (string) --

            The status of the alarms check. Amazon ECS is not using alarms for daemon deployment failures when the status is DISABLED.

          • alarmNames (list) --

            The name of the CloudWatch alarms that determine when a daemon deployment failed.

            • (string) --

          • triggeredAlarmNames (list) --

            One or more CloudWatch alarm names that have been triggered during the daemon deployment.

            • (string) --

        • rollback (dict) --

          The rollback options for the daemon deployment.

          • reason (string) --

            The reason the rollback happened. For example, the circuit breaker initiated the rollback operation.

          • startedAt (datetime) --

            The time that the rollback started. The format is yyyy-MM-dd HH:mm:ss.SSSSSS.

          • rollbackTargetDaemonRevisionArn (string) --

            The ARN of the daemon revision deployed as part of the rollback.

          • rollbackCapacityProviders (list) --

            The capacity providers involved in the rollback.

            • (string) --

        • deploymentConfiguration (dict) --

          The deployment configuration used for this daemon deployment.

          • drainPercent (float) --

            The percentage of container instances to drain simultaneously during a daemon deployment. Valid values are between 0.0 and 100.0.

          • alarms (dict) --

            The CloudWatch alarm configuration for the daemon deployment. When alarms are triggered during a deployment, the deployment can be automatically rolled back.

            • alarmNames (list) --

              The CloudWatch alarm names to monitor during a daemon deployment.

              • (string) --

            • enable (boolean) --

              Determines whether to use the CloudWatch alarm option in the daemon deployment process. The default value is false.

          • bakeTimeInMinutes (integer) --

            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.

        • createdAt (datetime) --

          The time the daemon deployment was created. The format is yyyy-MM-dd HH:mm:ss.SSSSSS.

        • startedAt (datetime) --

          The time the daemon deployment started. The format is yyyy-MM-dd HH:mm:ss.SSSSSS.

        • stoppedAt (datetime) --

          The time the daemon deployment stopped. The format is yyyy-MM-dd HH:mm:ss.SSSSSS.

        • finishedAt (datetime) --

          The time the daemon deployment finished. The format is yyyy-MM-dd HH:mm:ss.SSSSSS.

DescribeDaemonRevisions (updated) Link ¶
Changes (response)
{'daemonRevisions': {'critical': 'boolean'}}

Describes one or more of your daemon revisions.

A daemon revision is a snapshot of a daemon's configuration at the time a deployment was initiated. It captures the daemon task definition, container images, tag propagation, and execute command settings. Daemon revisions are immutable.

See also: AWS API Documentation

Request Syntax

client.describe_daemon_revisions(
    daemonRevisionArns=[
        'string',
    ]
)
type daemonRevisionArns:

list

param daemonRevisionArns:

[REQUIRED]

The ARN of the daemon revisions to describe. You can specify up to 20 ARNs.

  • (string) --

rtype:

dict

returns:

Response Syntax

{
    'daemonRevisions': [
        {
            'daemonRevisionArn': 'string',
            'clusterArn': 'string',
            'daemonArn': 'string',
            'daemonTaskDefinitionArn': 'string',
            'createdAt': datetime(2015, 1, 1),
            'containerImages': [
                {
                    'containerName': 'string',
                    'imageDigest': 'string',
                    'image': 'string'
                },
            ],
            'propagateTags': 'DAEMON'|'NONE',
            'enableECSManagedTags': True|False,
            'enableExecuteCommand': True|False,
            'critical': True|False
        },
    ],
    'failures': [
        {
            'arn': 'string',
            'reason': 'string',
            'detail': 'string'
        },
    ]
}

Response Structure

  • (dict) --

    • daemonRevisions (list) --

      The list of daemon revisions.

      • (dict) --

        Information about a daemon revision. A daemon revision is a snapshot of the daemon's configuration at the time a deployment was initiated.

        • daemonRevisionArn (string) --

          The Amazon Resource Name (ARN) of the daemon revision.

        • clusterArn (string) --

          The Amazon Resource Name (ARN) of the cluster that hosts the daemon.

        • daemonArn (string) --

          The Amazon Resource Name (ARN) of the daemon for this revision.

        • daemonTaskDefinitionArn (string) --

          The Amazon Resource Name (ARN) of the daemon task definition used by this revision.

        • createdAt (datetime) --

          The Unix timestamp for the time when the daemon revision was created.

        • containerImages (list) --

          The container images used by the daemon revision.

          • (dict) --

            The details about the container image a daemon revision uses.

            • containerName (string) --

              The name of the container.

            • imageDigest (string) --

              The container image digest.

            • image (string) --

              The container image.

        • propagateTags (string) --

          Specifies whether tags are propagated from the daemon to the daemon tasks.

        • enableECSManagedTags (boolean) --

          Specifies whether Amazon ECS managed tags are turned on for the daemon tasks.

        • enableExecuteCommand (boolean) --

          Specifies whether the execute command functionality is turned on for the daemon tasks.

        • critical (boolean) --

          If the critical parameter of this daemon revision 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 parameter is false, the daemon task failure doesn't affect the other tasks on the instance, and doesn't block instance registration. The default value is true.

    • failures (list) --

      Any failures associated with the call.

      • (dict) --

        A failed resource. For a list of common causes, see API failure reasons in the Amazon Elastic Container Service Developer Guide.

        • arn (string) --

          The Amazon Resource Name (ARN) of the failed resource.

        • reason (string) --

          The reason for the failure.

        • detail (string) --

          The details of the failure.

UpdateDaemon (updated) Link ¶
Changes (request)
{'critical': 'boolean'}

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.

See also: AWS API Documentation

Request Syntax

client.update_daemon(
    daemonArn='string',
    daemonTaskDefinitionArn='string',
    capacityProviderArns=[
        'string',
    ],
    deploymentConfiguration={
        'drainPercent': 123.0,
        'alarms': {
            'alarmNames': [
                'string',
            ],
            'enable': True|False
        },
        'bakeTimeInMinutes': 123
    },
    propagateTags='DAEMON'|'NONE',
    enableECSManagedTags=True|False,
    enableExecuteCommand=True|False,
    critical=True|False
)
type daemonArn:

string

param daemonArn:

[REQUIRED]

The Amazon Resource Name (ARN) of the daemon to update.

type daemonTaskDefinitionArn:

string

param daemonTaskDefinitionArn:

[REQUIRED]

The Amazon Resource Name (ARN) of the daemon task definition to use for the updated daemon.

type capacityProviderArns:

list

param capacityProviderArns:

[REQUIRED]

The Amazon Resource Names (ARNs) of the capacity providers to associate with the daemon.

  • (string) --

type deploymentConfiguration:

dict

param deploymentConfiguration:

Optional deployment parameters that control how the daemon rolls out updates, including the drain percentage, alarm-based rollback, and bake time.

  • drainPercent (float) --

    The percentage of container instances to drain simultaneously during a daemon deployment. Valid values are between 0.0 and 100.0.

  • alarms (dict) --

    The CloudWatch alarm configuration for the daemon deployment. When alarms are triggered during a deployment, the deployment can be automatically rolled back.

    • alarmNames (list) --

      The CloudWatch alarm names to monitor during a daemon deployment.

      • (string) --

    • enable (boolean) --

      Determines whether to use the CloudWatch alarm option in the daemon deployment process. The default value is false.

  • bakeTimeInMinutes (integer) --

    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.

type propagateTags:

string

param propagateTags:

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.

type enableECSManagedTags:

boolean

param enableECSManagedTags:

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.

type enableExecuteCommand:

boolean

param enableExecuteCommand:

If true, the execute command functionality is turned on for all tasks in the daemon. If false, the execute command functionality is turned off.

type critical:

boolean

param critical:

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, for both critical and non-critical daemons.

Daemon task launch failures during a deployment are still counted by the deployment circuit breaker. The circuit breaker can roll back an unstable target revision.

rtype:

dict

returns:

Response Syntax

{
    'daemonArn': 'string',
    'status': 'ACTIVE'|'DELETE_IN_PROGRESS',
    'createdAt': datetime(2015, 1, 1),
    'updatedAt': datetime(2015, 1, 1),
    'deploymentArn': 'string'
}

Response Structure

  • (dict) --

    • daemonArn (string) --

      The Amazon Resource Name (ARN) of the daemon.

    • status (string) --

      The status of the daemon.

    • createdAt (datetime) --

      The Unix timestamp for the time when the daemon was created.

    • updatedAt (datetime) --

      The Unix timestamp for the time when the daemon was last updated.

    • deploymentArn (string) --

      The Amazon Resource Name (ARN) of the daemon deployment that was triggered by the update.