Configure Maintenance Mode During Upgrades
Maintenance mode allows new or updated software to run by automatically allowing the incoming software changes in the computer ruleset, while continuing to block any software that has a block rule. Generally, use the following steps to configure maintenance mode:
- Create a
Computer
object. - Create and configure an
ApplicationControlComputerExtension
object to turn on maintenance mode. Optionally, set a duration to turn off maintenance mode automatically. Add theApplicationControlComputerExtension
object to theComputer
object. - Use a
ComputerApi
object to turn on maintenance mode on the computer. - Use the
ComputerApi
object to verify maintenance mode is on.
If you did not set maintenance mode to turn off automatically:
- Create a
Computer
object. - Create and configure an
ApplicationControlComputerExtension
object to turn off maintenance mode and add it to theComputer
object. - 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.
Also see the Modify a Computer operation in the API Reference.
Python
# 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 = 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
// Create and configure an ApplicationControlComputerExtension
const applicationControl = new api.ApplicationControlComputerExtension();
applicationControl.maintenanceModeStatus = api.ApplicationControlComputerExtension.MaintenanceModeStatusEnum.on;
applicationControl.maintenanceModeDuration = duration;
// Add the ApplicationControlComputerExtension to a computer
const computer = new api.Computer();
computer.applicationControl = applicationControl;
// Update the computer
const computersApi = new api.ComputersApi();
return computersApi.modifyComputer(computerID, computer, apiVersion);
Java
// Create and configure an ApplicationControlComputerExtension
ApplicationControlComputerExtension applicationControl = new ApplicationControlComputerExtension();
applicationControl.setMaintenanceModeStatus(MaintenanceModeStatusEnum.ON);
applicationControl.setMaintenanceModeDuration(duration);
// Create a computer object and add the ApplicationControlComputerExtension
Computer computer = new Computer();
computer.setApplicationControl(applicationControl);
// Update the computer
ComputersApi computersApi = new ComputersApi();
Expand expand =new Expand();
return computersApi.modifyComputer(computerId, computer, expand.list(), Boolean.FALSE, apiVersion);