Skip to content

update_task_set

update_task_set(
    cluster: String,
    service: String,
    task_set: String,
    scale: Scale,
    *,
    config_overrides: Optional[ECSClientConfig] = None,
) -> UpdateTaskSetResponse

Modifies a task set. This is used when a service uses the EXTERNAL deployment controller type. For more information, see Amazon ECS Deployment Types in the Amazon Elastic Container Service Developer Guide.

Parameters:

  • cluster (String) –

    The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service that the task set is found in.

  • service (String) –

    The short name or full Amazon Resource Name (ARN) of the service that the task set is found in.

  • task_set (String) –

    The short name or full Amazon Resource Name (ARN) of the task set to update.

  • scale (Scale) –

    A floating-point percentage of the desired number of tasks to place and keep running in the task set.

Raises:

Examples:

To update a task set This example updates the task set to adjust the scale.

>>> client.update_task_set(cluster='MyCluster', service='MyService', task_set='arn:aws:ecs:us-west-2:123456789012:task-set/MyCluster/MyService/ecs-svc/1234567890123456789', scale={'value': 50, 'unit': 'PERCENT'})
Source code in docs_src/capo_ecs/_services/ecs.py
def update_task_set(
    self,
    cluster: "capo_ecs.types.string.String",
    service: "capo_ecs.types.string.String",
    task_set: "capo_ecs.types.string.String",
    scale: "capo_ecs.types.scale.Scale",
    *,
    config_overrides: Optional[ECSClientConfig] = None,
) -> "capo_ecs.types.update_task_set_response.UpdateTaskSetResponse":
    """<p>Modifies a task set. This is used when a service uses the <code>EXTERNAL</code> deployment controller type. For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html">Amazon ECS Deployment Types</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>

    Args:
        cluster: <p>The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service that the task set is found in.</p>
        service: <p>The short name or full Amazon Resource Name (ARN) of the service that the task set is found in.</p>
        task_set: <p>The short name or full Amazon Resource Name (ARN) of the task set to update.</p>
        scale: <p>A floating-point percentage of the desired number of tasks to place and keep running in the task set.</p>

    Raises:
        capo_ecs.errors.access_denied_exception.AccessDeniedException: <p>You don't have authorization to perform the requested action.</p>
        capo_ecs.errors.client_exception.ClientException: <p>These errors are usually caused by a client action. This client action might be using an action or resource on behalf of a user that doesn't have permissions to use the action or resource. Or, it might be specifying an identifier that isn't valid.</p>
        capo_ecs.errors.cluster_not_found_exception.ClusterNotFoundException: <p>The specified cluster wasn't found. You can view your available clusters with <a href="https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ListClusters.html">ListClusters</a>. Amazon ECS clusters are Region specific.</p>
        capo_ecs.errors.invalid_parameter_exception.InvalidParameterException: <p>The specified parameter isn't valid. Review the available parameters for the API request.</p> <p>For more information about service event errors, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-event-messages-list.html">Amazon ECS service event messages</a>. </p>
        capo_ecs.errors.limit_exceeded_exception.LimitExceededException: <p>The limit for the resource was exceeded.</p>
        capo_ecs.errors.server_exception.ServerException: <p>These errors are usually caused by a server issue.</p>
        capo_ecs.errors.service_not_active_exception.ServiceNotActiveException: <p>The specified service isn't active. You can't update a service that's inactive. If you have previously deleted a service, you can re-create it with <a href="https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_CreateService.html">CreateService</a>.</p>
        capo_ecs.errors.service_not_found_exception.ServiceNotFoundException: <p>The specified service wasn't found. You can view your available services with <a href="https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ListServices.html">ListServices</a>. Amazon ECS services are cluster specific and Region specific.</p>
        capo_ecs.errors.task_set_not_found_exception.TaskSetNotFoundException: <p>The specified task set wasn't found. You can view your available task sets with <a href="https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DescribeTaskSets.html">DescribeTaskSets</a>. Task sets are specific to each cluster, service and Region.</p>
        capo_ecs.errors.unsupported_feature_exception.UnsupportedFeatureException: <p>The specified task isn't supported in this Region.</p>
        capo_ecs.errors.UnknownServiceError: The service returned an error code this client does not model.

    Examples:
        To update a task set
        This example updates the task set to adjust the scale.

        >>> client.update_task_set(cluster='MyCluster', service='MyService', task_set='arn:aws:ecs:us-west-2:123456789012:task-set/MyCluster/MyService/ecs-svc/1234567890123456789', scale={'value': 50, 'unit': 'PERCENT'})
    """

    def _handler(
        req: "OperationRequest[capo_ecs.types.update_task_set_request.UpdateTaskSetRequest]",
    ) -> OperationResponse[
        "capo_ecs.types.update_task_set_response.UpdateTaskSetResponse"
    ]:
        import capo_ecs._operations.amazon_ec2_container_service_v20141113.update_task_set

        output, http_response = (
            capo_ecs._operations.amazon_ec2_container_service_v20141113.update_task_set.update_task_set(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("UpdateTaskSet")
    )
    input_: capo_ecs.types.update_task_set_request.UpdateTaskSetRequest = {
        "cluster": cluster,
        "service": service,
        "task_set": task_set,
        "scale": scale,
    }

    response = execute_pipeline(
        OperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    response.response.close()
    return response.output