docs: def disable(config, tags, accounts, master, debug,
              suspend, disable_detector, delete_detector, dissociate, region):
      """suspend guard duty in the given accounts."""
      accounts_config, master_info, executor = guardian_init(
          config, debug, master, accounts, tags)
  
      if sum(map(int, (suspend, disable_detector, dissociate))) != 1:
          raise ValueError((
              "One and only of suspend, disable-detector, dissociate"
              "can be specified."))
  
      master_session = get_session(
          master_info['role'], 'c7n-guardian',
          master_info.get('profile'), region)
      master_client = master_session.client('guardduty')
      detector_id = get_or_create_detector_id(master_client)
  
      if suspend:
          unprocessed = master_client.stop_monitoring_members(
              DetectorId=detector_id,
              AccountIds=[a['account_id'] for a in accounts_config['accounts']]
          ).get('UnprocessedAccounts', ())
  
          if unprocessed:
              log.warning(
                  "Following accounts where unprocessed\n %s",
                  format_event(unprocessed))
          log.info("Stopped monitoring %d accounts in master",
                   len(accounts_config['accounts']))
          return
  
      if dissociate:
          master_client.disassociate_members(
              DetectorId=detector_id,
              AccountIds=[a['account_id'] for a in accounts_config['accounts']])
  
      # Seems like there's a couple of ways to disable an account
      # delete the detector (member), disable the detector (master or member),
      # or disassociate members, or from member disassociate from master.
      for a in accounts_config['accounts']:
          member_session = get_session(
              a['role'], 'c7n-guardian',
              a.get('profile'), region)
  
          member_client = member_session.client('guardduty')
          m_detector_id = get_or_create_detector_id(member_client)
          if disable_detector:
              member_client.update_detector(
                  DetectorId=m_detector_id, Enable=False)
              log.info("Disabled detector in account:%s", a['name'])
          if dissociate:
              try:
                  log.info("Disassociated member account:%s", a['name'])
                  result = member_client.disassociate_from_master_account(
                      DetectorId=m_detector_id)
                  log.info("Result %s", format_event(result))
              except ClientError as e:
                  if e.response['Error']['Code'] == 'InvalidInputException':
                      continue
          if delete_detector:
              member_client.delete_detector(DetectorId=m_detector_id)
              log.info("Deleted detector in account:%s", a['name'])