:doc:`EventBridge <../../events>` / Client / remove_targets

**************
remove_targets
**************



.. py:method:: EventBridge.Client.remove_targets(**kwargs)

  

  Removes the specified targets from the specified rule. When the rule is triggered, those targets are no longer be invoked.

   

  .. note::

    

    A successful execution of ``RemoveTargets`` doesn't guarantee all targets are removed from the rule, it means that the target(s) listed in the request are removed.

    

   

  When you remove a target, when the associated rule triggers, removed targets might continue to be invoked. Allow a short period of time for changes to take effect.

   

  This action can partially fail if too many requests are made at the same time. If that happens, ``FailedEntryCount`` is non-zero in the response and each entry in ``FailedEntries`` provides the ID of the failed target and the error code.

   

  The maximum number of entries per request is 10.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/eventbridge-2015-10-07/RemoveTargets>`_  


  **Request Syntax**
  ::

    response = client.remove_targets(
        Rule='string',
        EventBusName='string',
        Ids=[
            'string',
        ],
        Force=True|False
    )
    
  :type Rule: string
  :param Rule: **[REQUIRED]** 

    The name of the rule.

    

  
  :type EventBusName: string
  :param EventBusName: 

    The name or ARN of the event bus associated with the rule. If you omit this, the default event bus is used.

    

  
  :type Ids: list
  :param Ids: **[REQUIRED]** 

    The IDs of the targets to remove from the rule.

    

  
    - *(string) --* 

    

  :type Force: boolean
  :param Force: 

    If this is a managed rule, created by an Amazon Web Services service on your behalf, you must specify ``Force`` as ``True`` to remove targets. This parameter is ignored for rules that are not managed rules. You can check whether a rule is a managed rule by using ``DescribeRule`` or ``ListRules`` and checking the ``ManagedBy`` field of the response.

    

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

    
    ::

      {
          'FailedEntryCount': 123,
          'FailedEntries': [
              {
                  'TargetId': 'string',
                  'ErrorCode': 'string',
                  'ErrorMessage': 'string'
              },
          ]
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **FailedEntryCount** *(integer) --* 

        The number of failed entries.

        
      

      - **FailedEntries** *(list) --* 

        The failed target entries.

        
        

        - *(dict) --* 

          Represents a target that failed to be removed from a rule.

          
          

          - **TargetId** *(string) --* 

            The ID of the target.

            
          

          - **ErrorCode** *(string) --* 

            The error code that indicates why the target removal failed. If the value is ``ConcurrentModificationException``, too many requests were made at the same time.

            
          

          - **ErrorMessage** *(string) --* 

            The error message that explains why the target removal failed.

            
      
    
  
  **Exceptions**
  
  *   :py:class:`EventBridge.Client.exceptions.ResourceNotFoundException`

  
  *   :py:class:`EventBridge.Client.exceptions.ConcurrentModificationException`

  
  *   :py:class:`EventBridge.Client.exceptions.ManagedRuleException`

  
  *   :py:class:`EventBridge.Client.exceptions.InternalException`

  