:doc:`SecurityHub <../../securityhub>` / Client / batch_update_standards_control_associations

*******************************************
batch_update_standards_control_associations
*******************************************



.. py:method:: SecurityHub.Client.batch_update_standards_control_associations(**kwargs)

  

  For a batch of security controls and standards, this operation updates the enablement status of a control in a standard.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/BatchUpdateStandardsControlAssociations>`_  


  **Request Syntax**
  ::

    response = client.batch_update_standards_control_associations(
        StandardsControlAssociationUpdates=[
            {
                'StandardsArn': 'string',
                'SecurityControlId': 'string',
                'AssociationStatus': 'ENABLED'|'DISABLED',
                'UpdatedReason': 'string'
            },
        ]
    )
    
  :type StandardsControlAssociationUpdates: list
  :param StandardsControlAssociationUpdates: **[REQUIRED]** 

    Updates the enablement status of a security control in a specified standard.

     

    Calls to this operation return a ``RESOURCE_NOT_FOUND_EXCEPTION`` error when the standard subscription for the control has ``StandardsControlsUpdatable`` value ``NOT_READY_FOR_UPDATES``.

    

  
    - *(dict) --* 

      An array of requested updates to the enablement status of controls in specified standards. The objects in the array include a security control ID, the Amazon Resource Name (ARN) of the standard, the requested enablement status, and the reason for updating the enablement status.

      

    
      - **StandardsArn** *(string) --* **[REQUIRED]** 

        The Amazon Resource Name (ARN) of the standard in which you want to update the control's enablement status.

        

      
      - **SecurityControlId** *(string) --* **[REQUIRED]** 

        The unique identifier for the security control whose enablement status you want to update.

        

      
      - **AssociationStatus** *(string) --* **[REQUIRED]** 

        The desired enablement status of the control in the standard.

        

      
      - **UpdatedReason** *(string) --* 

        The reason for updating the control's enablement status in the standard.

        

      
    

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

    
    ::

      {
          'UnprocessedAssociationUpdates': [
              {
                  'StandardsControlAssociationUpdate': {
                      'StandardsArn': 'string',
                      'SecurityControlId': 'string',
                      'AssociationStatus': 'ENABLED'|'DISABLED',
                      'UpdatedReason': 'string'
                  },
                  'ErrorCode': 'INVALID_INPUT'|'ACCESS_DENIED'|'NOT_FOUND'|'RESOURCE_NOT_FOUND'|'LIMIT_EXCEEDED',
                  'ErrorReason': 'string'
              },
          ]
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **UnprocessedAssociationUpdates** *(list) --* 

        A security control (identified with ``SecurityControlId``, ``SecurityControlArn``, or a mix of both parameters) whose enablement status in a specified standard couldn't be updated.

        
        

        - *(dict) --* 

          Provides details about which control's enablement status could not be updated in a specified standard when calling the `BatchUpdateStandardsControlAssociations <https://docs.aws.amazon.com/securityhub/1.0/APIReference/API_BatchUpdateStandardsControlAssociations.html>`__ API. This parameter also provides details about why the request was unprocessed.

          
          

          - **StandardsControlAssociationUpdate** *(dict) --* 

            An array of control and standard associations for which an update failed when calling `BatchUpdateStandardsControlAssociations <https://docs.aws.amazon.com/securityhub/1.0/APIReference/API_BatchUpdateStandardsControlAssociations.html>`__.

            
            

            - **StandardsArn** *(string) --* 

              The Amazon Resource Name (ARN) of the standard in which you want to update the control's enablement status.

              
            

            - **SecurityControlId** *(string) --* 

              The unique identifier for the security control whose enablement status you want to update.

              
            

            - **AssociationStatus** *(string) --* 

              The desired enablement status of the control in the standard.

              
            

            - **UpdatedReason** *(string) --* 

              The reason for updating the control's enablement status in the standard.

              
        
          

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

            The error code for the unprocessed update of the control's enablement status in the specified standard. The ``NOT_FOUND`` value has been deprecated and replaced by the ``RESOURCE_NOT_FOUND`` value.

            
          

          - **ErrorReason** *(string) --* 

            The reason why a control's enablement status in the specified standard couldn't be updated.

            
      
    
  
  **Exceptions**
  
  *   :py:class:`SecurityHub.Client.exceptions.InternalException`

  
  *   :py:class:`SecurityHub.Client.exceptions.LimitExceededException`

  
  *   :py:class:`SecurityHub.Client.exceptions.InvalidAccessException`

  
  *   :py:class:`SecurityHub.Client.exceptions.InvalidInputException`

  
  *   :py:class:`SecurityHub.Client.exceptions.AccessDeniedException`

  