View a markdown version of this page

Use DeregisterTaskDefinition with an AWS SDK or CLI - AWS SDK Code Examples

There are more AWS SDK examples available in the AWS Doc SDK Examples GitHub repo.

Use DeregisterTaskDefinition with an AWS SDK or CLI

The following code examples show how to use DeregisterTaskDefinition.

Action examples are code excerpts from larger programs and must be run in context. You can see this action in context in the following code examples:

CLI
AWS CLI

To deregister a task definition

The following deregister-task-definition example deregisters the first revision of the curler task definition in your default region.

aws ecs deregister-task-definition --task-definition curler:1

Note that in the resulting output, the task definition status shows INACTIVE:

{ "taskDefinition": { "status": "INACTIVE", "family": "curler", "volumes": [], "taskDefinitionArn": "arn:aws:ecs:us-west-2:123456789012:task-definition/curler:1", "containerDefinitions": [ { "environment": [], "name": "curler", "mountPoints": [], "image": "curl:latest", "cpu": 100, "portMappings": [], "entryPoint": [], "memory": 256, "command": [ "curl -v http://example.com/" ], "essential": true, "volumesFrom": [] } ], "revision": 1 } }

For more information, see Amazon ECS Task Definitions in the Amazon ECS Developer Guide.

Python
SDK for Python (Boto3)
Note

There's more on GitHub. Find the complete example and learn how to set up and run in the AWS Code Examples Repository.

class EcsWrapper: """Encapsulates Amazon ECS operations.""" def __init__(self, ecs_client: BaseClient): """ Initializes the EcsWrapper with an ECS client. :param ecs_client: A Boto3 Amazon ECS client. Boto3 clients are created by the ``boto3.client`` factory function and are instances of ``botocore.client.BaseClient``, which is the correct type to annotate here (``boto3.client`` itself is a function, not a type). """ self.ecs_client = ecs_client @classmethod def from_client(cls) -> "EcsWrapper": """Creates an EcsWrapper using a default Boto3 ECS client.""" ecs_client = boto3.client("ecs") return cls(ecs_client) def deregister_task_definition(self, task_definition: str) -> Dict[str, Any]: """ Deregisters a task definition. :param task_definition: The family:revision of the task definition. :return: The deregistered task definition details. :raises ClientError: If the request fails (e.g., InvalidParameterException). """ try: response = self.ecs_client.deregister_task_definition( taskDefinition=task_definition, ) task_def = response["taskDefinition"] logger.info( "Deregistered task definition '%s' (status: %s)", task_def["taskDefinitionArn"], task_def["status"], ) return task_def except ClientError as err: if err.response["Error"]["Code"] == "InvalidParameterException": logger.error( "Invalid parameter when deregistering task definition '%s': %s", task_definition, err.response["Error"]["Message"], ) raise