Skip to content

update_service_primary_task_set

update_service_primary_task_set(
    cluster: String,
    service: String,
    primary_task_set: String,
    *,
    config_overrides: Optional[ECSClientConfig] = None,
) -> UpdateServicePrimaryTaskSetResponse

Modifies which task set in a service is the primary task set. Any parameters that are updated on the primary task set in a service will transition to the service. 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 exists in.

  • service (String) –

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

  • primary_task_set (String) –

    The short name or full Amazon Resource Name (ARN) of the task set to set as the primary task set in the deployment.

Raises:

  • AccessDeniedException –

    You don't have authorization to perform the requested action.

  • ClientException –

    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.

  • ClusterNotFoundException –

    The specified cluster wasn't found. You can view your available clusters with ListClusters. Amazon ECS clusters are Region specific.

  • InvalidParameterException –

    The specified parameter isn't valid. Review the available parameters for the API request.

    For more information about service event errors, see Amazon ECS service event messages.

  • ServerException –

    These errors are usually caused by a server issue.

  • ServiceNotActiveException –

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

  • ServiceNotFoundException –

    The specified service wasn't found. You can view your available services with ListServices. Amazon ECS services are cluster specific and Region specific.

  • TaskSetNotFoundException –

    The specified task set wasn't found. You can view your available task sets with DescribeTaskSets. Task sets are specific to each cluster, service and Region.

  • UnsupportedFeatureException –

    The specified task isn't supported in this Region.

  • UnknownServiceError –

    The service returned an error code this client does not model.

Examples:

To update the primary task set for a service This example updates the primary task set for a service MyService that uses the EXTERNAL deployment controller type.

>>> client.update_service_primary_task_set(cluster='MyCluster', service='MyService', primary_task_set='arn:aws:ecs:us-west-2:123456789012:task-set/MyCluster/MyService/ecs-svc/1234567890123456789')
Source code in docs_src/capo_ecs/_services/ecs.py
def update_service_primary_task_set(
    self,
    cluster: "capo_ecs.types.string.String",
    service: "capo_ecs.types.string.String",
    primary_task_set: "capo_ecs.types.string.String",
    *,
    config_overrides: Optional[ECSClientConfig] = None,
) -> "capo_ecs.types.update_service_primary_task_set_response.UpdateServicePrimaryTaskSetResponse":
    """<p>Modifies which task set in a service is the primary task set. Any parameters that are updated on the primary task set in a service will transition to the service. 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 exists in.</p>
        service: <p>The short name or full Amazon Resource Name (ARN) of the service that the task set exists in.</p>
        primary_task_set: <p>The short name or full Amazon Resource Name (ARN) of the task set to set as the primary task set in the deployment.</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.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 the primary task set for a service
        This example updates the primary task set for a service MyService that uses the EXTERNAL deployment controller type.

        >>> client.update_service_primary_task_set(cluster='MyCluster', service='MyService', primary_task_set='arn:aws:ecs:us-west-2:123456789012:task-set/MyCluster/MyService/ecs-svc/1234567890123456789')
    """

    def _handler(
        req: "OperationRequest[capo_ecs.types.update_service_primary_task_set_request.UpdateServicePrimaryTaskSetRequest]",
    ) -> OperationResponse[
        "capo_ecs.types.update_service_primary_task_set_response.UpdateServicePrimaryTaskSetResponse"
    ]:
        import capo_ecs._operations.amazon_ec2_container_service_v20141113.update_service_primary_task_set

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

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("UpdateServicePrimaryTaskSet")
    )
    input_: capo_ecs.types.update_service_primary_task_set_request.UpdateServicePrimaryTaskSetRequest = {
        "cluster": cluster,
        "service": service,
        "primary_task_set": primary_task_set,
    }

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