:doc:`ECS <../../ecs>` / Client / get_task_protection

*******************
get_task_protection
*******************



.. py:method:: ECS.Client.get_task_protection(**kwargs)

  

  Retrieves the protection status of tasks in an Amazon ECS service.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/GetTaskProtection>`_  


  **Request Syntax**
  ::

    response = client.get_task_protection(
        cluster='string',
        tasks=[
            'string',
        ]
    )
    
  :type cluster: string
  :param cluster: **[REQUIRED]** 

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

    

  
  :type tasks: list
  :param tasks: 

    A list of up to 100 task IDs or full ARN entries.

    

  
    - *(string) --* 

    

  
  :rtype: dict
  :returns: 
    
    **Response Syntax**

    
    ::

      {
          'protectedTasks': [
              {
                  'taskArn': 'string',
                  'protectionEnabled': True|False,
                  'expirationDate': datetime(2015, 1, 1)
              },
          ],
          'failures': [
              {
                  'arn': 'string',
                  'reason': 'string',
                  'detail': 'string'
              },
          ]
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **protectedTasks** *(list) --* 

        A list of tasks with the following information.

         

        
        * ``taskArn``: The task ARN.
         
        * ``protectionEnabled``: The protection status of the task. If scale-in protection is turned on for a task, the value is ``true``. Otherwise, it is ``false``.
         
        * ``expirationDate``: The epoch time when protection for the task will expire.
        

        
        

        - *(dict) --* 

          An object representing the protection status details for a task. You can set the protection status with the `UpdateTaskProtection <https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_UpdateTaskProtection.html>`__ API and get the status of tasks with the `GetTaskProtection <https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_GetTaskProtection.html>`__ API.

          
          

          - **taskArn** *(string) --* 

            The task ARN.

            
          

          - **protectionEnabled** *(boolean) --* 

            The protection status of the task. If scale-in protection is on for a task, the value is ``true``. Otherwise, it is ``false``.

            
          

          - **expirationDate** *(datetime) --* 

            The epoch time when protection for the task will expire.

            
      
    
      

      - **failures** *(list) --* 

        Any failures associated with the call.

        
        

        - *(dict) --* 

          A failed resource. For a list of common causes, see `API failure reasons <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/api_failures_messages.html>`__ 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.

            
      
    
  
  **Exceptions**
  
  *   :py:class:`ECS.Client.exceptions.AccessDeniedException`

  
  *   :py:class:`ECS.Client.exceptions.ClientException`

  
  *   :py:class:`ECS.Client.exceptions.ClusterNotFoundException`

  
  *   :py:class:`ECS.Client.exceptions.InvalidParameterException`

  
  *   :py:class:`ECS.Client.exceptions.ResourceNotFoundException`

  
  *   :py:class:`ECS.Client.exceptions.ServerException`

  
  *   :py:class:`ECS.Client.exceptions.UnsupportedFeatureException`

  