code: @Override
      public StartMaintenanceResult startMaintenance(StartMaintenanceRequest request) {
          request = beforeClientExecution(request);
          return executeStartMaintenance(request);
      }
docs: <p>
  Manually starts server maintenance. This command can be useful if an earlier maintenance attempt failed, and the
  underlying cause of maintenance failure has been resolved. The server is in an <code>UNDER_MAINTENANCE</code>
  state while maintenance is in progress.
  </p>
  <p>
  Maintenance can only be started on servers in <code>HEALTHY</code> and <code>UNHEALTHY</code> states. Otherwise,
  an <code>InvalidStateException</code> is thrown. A <code>ResourceNotFoundException</code> is thrown when the
  server does not exist. A <code>ValidationException</code> is raised when parameters of the request are not valid.
  </p>
  
  @param startMaintenanceRequest
  @return Result of the StartMaintenance operation returned by the service.
  @throws InvalidStateException
  The resource is in a state that does not allow you to perform a specified action.
  @throws ResourceNotFoundException
  The requested resource does not exist, or access was denied.
  @throws ValidationException
  One or more of the provided request parameters are not valid.
  @sample AWSOpsWorksCM.StartMaintenance
  @see <a href="http://docs.aws.amazon.com/goto/WebAPI/opsworkscm-2016-11-01/StartMaintenance" target="_top">AWS
  API Documentation</a>