Configure Maintenance Mode During Upgrades

Maintenance mode allows new or updated software to run by automatically whitelisting the incoming software changes in the computer ruleset, while continuing to block blacklisted software. Generally, use the following steps to configure maintenance mode:

  1. Create a Computer object.
  2. Create and configure an ApplicationControlComputerExtension object to turn on maintenance mode. Optionally, set a duration to turn off maintenance mode automatically. Add the ApplicationControlComputerExtension object to the Computer object.
  3. Use a ComputerApi object to turn on maintenance mode on the computer.
  4. Use the ComputerApi object to verify maintenance mode is on.

If you did not set maintenance mode to turn off automatically:

  1. Create a Computer object.
  2. Create and configure an ApplicationControlComputerExtension object to turn off maintenance mode and add it to the Computer object.
  3. Use a ComputerApi object to turn off maintenance mode.

For more information about maintenance mode, see the Deep Security Help Center.

The following example enables maintenance mode for 10 minutes during a scheduled upgrade.

Python

source

# Create and configure an ApplicationControlComputerExtesnion object
application_control = api.ApplicationControlComputerExtension()
application_control.maintenance_mode_status = "on"
application_control.maintenance_mode_duration = duration
# Add the ApplicationControlComputerExtension to a Computer object
computer = api.Computer()
computer.application_control_computer_extension = application_control
try:
    # Update the computer
    computers_api = api.ComputersApi(api.ApiClient(configuration))
    return computers_api.modify_computer(computer_id, computer, api_version)
    
except api_exception as e:
    return "Exception: " + str(e)
JavaScript

source

// Create and configure an ApplicationControlComputerExtension
const applicationControl = new api.ApplicationControlComputerExtension();
applicationControl.maintenanceModeStatus = api.ApplicationControlComputerExtension.MaintenanceModeStatusEnum.on;
applicationControl.maintenanceModeDuration = duration;= new api.Computer();
computer.applicationControl = applicationControl;= new api.ComputersApi();
return computersApi.modifyComputer(computerID, computer, apiVersion);
Java

source

// Create and configure an ApplicationControlComputerExtension
ApplicationControlComputerExtension applicationControl = new ApplicationControlComputerExtension();
applicationControl.setMaintenanceModeStatus(MaintenanceModeStatusEnum.ON);
applicationControl.setMaintenanceModeDuration(duration);= new Computer();
computer.setApplicationControl(applicationControl);= new ComputersApi();
return computersApi.modifyComputer(computerId, computer, Boolean.FALSE, apiVersion);

Also see the Modify a Computer operation in the API Reference.