def clone_task_definition(client, task_definition):
    """
    Given a task definition ARN, clone the associated task.

    Returns the new task definition ARN.
    """
    resp = client.describe_task_definition(taskDefinition=task_definition)
    taskDefinition = resp['taskDefinition']

    # The task definition contains two key fields: "family" and
    # "containerDefinitions" which full describe the task.
    new_task = client.register_task_definition(
        family=taskDefinition['family'],
        taskRoleArn=taskDefinition['taskRoleArn'],
        containerDefinitions=taskDefinition['containerDefinitions'],
        volumes=taskDefinition['volumes']
    )

    return new_task['taskDefinition']['taskDefinitionArn']