:doc:`RDS <../../rds>` / Client / apply_pending_maintenance_action

********************************
apply_pending_maintenance_action
********************************



.. py:method:: RDS.Client.apply_pending_maintenance_action(**kwargs)

  

  Applies a pending maintenance action to a resource (for example, to a DB instance).

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ApplyPendingMaintenanceAction>`_  


  **Request Syntax**
  ::

    response = client.apply_pending_maintenance_action(
        ResourceIdentifier='string',
        ApplyAction='string',
        OptInType='string'
    )
    
  :type ResourceIdentifier: string
  :param ResourceIdentifier: **[REQUIRED]** 

    The RDS Amazon Resource Name (ARN) of the resource that the pending maintenance action applies to. For information about creating an ARN, see `Constructing an RDS Amazon Resource Name (ARN) <https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing>`__.

    

  
  :type ApplyAction: string
  :param ApplyAction: **[REQUIRED]** 

    The pending maintenance action to apply to this resource.

     

    Valid Values:

     

    
    * ``ca-certificate-rotation``
     
    * ``db-upgrade``
     
    * ``hardware-maintenance``
     
    * ``os-upgrade``
     
    * ``system-update``
    

     

    For more information about these actions, see `Maintenance actions for Amazon Aurora <https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_UpgradeDBInstance.Maintenance.html#maintenance-actions-aurora>`__ or `Maintenance actions for Amazon RDS <https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Maintenance.html#maintenance-actions-rds>`__.

    

  
  :type OptInType: string
  :param OptInType: **[REQUIRED]** 

    A value that specifies the type of opt-in request, or undoes an opt-in request. An opt-in request of type ``immediate`` can't be undone.

     

    Valid Values:

     

    
    * ``immediate`` - Apply the maintenance action immediately.
     
    * ``next-maintenance`` - Apply the maintenance action during the next maintenance window for the resource.
     
    * ``undo-opt-in`` - Cancel any existing ``next-maintenance`` opt-in requests.
    

    

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

    
    ::

      {
          'ResourcePendingMaintenanceActions': {
              'ResourceIdentifier': 'string',
              'PendingMaintenanceActionDetails': [
                  {
                      'Action': 'string',
                      'AutoAppliedAfterDate': datetime(2015, 1, 1),
                      'ForcedApplyDate': datetime(2015, 1, 1),
                      'OptInStatus': 'string',
                      'CurrentApplyDate': datetime(2015, 1, 1),
                      'Description': 'string'
                  },
              ]
          }
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **ResourcePendingMaintenanceActions** *(dict) --* 

        Describes the pending maintenance actions for a resource.

        
        

        - **ResourceIdentifier** *(string) --* 

          The ARN of the resource that has pending maintenance actions.

          
        

        - **PendingMaintenanceActionDetails** *(list) --* 

          A list that provides details about the pending maintenance actions for the resource.

          
          

          - *(dict) --* 

            Provides information about a pending maintenance action for a resource.

            
            

            - **Action** *(string) --* 

              The type of pending maintenance action that is available for the resource.

               

              For more information about maintenance actions, see `Maintaining a DB instance <https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Maintenance.html>`__.

               

              Valid Values:

               

              
              * ``ca-certificate-rotation``
               
              * ``db-upgrade``
               
              * ``hardware-maintenance``
               
              * ``os-upgrade``
               
              * ``system-update``
              

               

              For more information about these actions, see `Maintenance actions for Amazon Aurora <https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_UpgradeDBInstance.Maintenance.html#maintenance-actions-aurora>`__ or `Maintenance actions for Amazon RDS <https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Maintenance.html#maintenance-actions-rds>`__.

              
            

            - **AutoAppliedAfterDate** *(datetime) --* 

              The date of the maintenance window when the action is applied. The maintenance action is applied to the resource during its first maintenance window after this date.

              
            

            - **ForcedApplyDate** *(datetime) --* 

              The date when the maintenance action is automatically applied.

               

              On this date, the maintenance action is applied to the resource as soon as possible, regardless of the maintenance window for the resource. There might be a delay of one or more days from this date before the maintenance action is applied.

              
            

            - **OptInStatus** *(string) --* 

              Indicates the type of opt-in request that has been received for the resource.

              
            

            - **CurrentApplyDate** *(datetime) --* 

              The effective date when the pending maintenance action is applied to the resource. This date takes into account opt-in requests received from the ``ApplyPendingMaintenanceAction`` API, the ``AutoAppliedAfterDate``, and the ``ForcedApplyDate``. This value is blank if an opt-in request has not been received and nothing has been specified as ``AutoAppliedAfterDate`` or ``ForcedApplyDate``.

              
            

            - **Description** *(string) --* 

              A description providing more detail about the maintenance action.

              
        
      
    
  
  **Exceptions**
  
  *   :py:class:`RDS.Client.exceptions.ResourceNotFoundFault`

  
  *   :py:class:`RDS.Client.exceptions.InvalidDBClusterStateFault`

  
  *   :py:class:`RDS.Client.exceptions.InvalidDBInstanceStateFault`

  

  **Examples**

  This example immediately applies a pending system update to a DB instance.
  ::

    response = client.apply_pending_maintenance_action(
        ApplyAction='system-update',
        OptInType='immediate',
        ResourceIdentifier='arn:aws:rds:us-east-1:992648334831:db:mymysqlinstance',
    )
    
    print(response)

  
  Expected Output:
  ::

    {
        'ResourcePendingMaintenanceActions': {
        },
        'ResponseMetadata': {
            '...': '...',
        },
    }

  