docs: def stopped(name, kill=False, path=None):
      '''
      Ensure that a container is stopped
  
      .. note::
  
          This state does not enforce the existence of the named container, it
          just stops the container if it running or frozen. To ensure that the
          named container exists, use :mod:`lxc.present
          <salt.states.lxc.present>`, or use the :mod:`lxc.absent
          <salt.states.lxc.absent>` state to ensure that the container does not
          exist.
  
      name
          The name of the container
  
      path
          path to the container parent
          default: /var/lib/lxc (system default)
  
          .. versionadded:: 2015.8.0
  
      kill : False
          Do not wait for the container to stop, kill all tasks in the container.
          Older LXC versions will stop containers like this irrespective of this
          argument.
  
          .. versionadded:: 2015.5.0
  
      .. code-block:: yaml
  
          web01:
            lxc.stopped
      '''
      ret = {'name': name,
             'result': True,
             'comment': 'Container \'{0}\' is already stopped'.format(name),
             'changes': {}}
  
      state = {'old': __salt__['lxc.state'](name, path=path)}
      if state['old'] is None:
          ret['result'] = False
          ret['comment'] = 'Container \'{0}\' does not exist'.format(name)
          return ret
      elif state['old'] == 'stopped':
          return ret
  
      if kill:
          action = ('force-stop', 'force-stopped')
      else:
          action = ('stop', 'stopped')
  
      if __opts__['test']:
          ret['result'] = None
          ret['comment'] = ('Container \'{0}\' would be {1}'
                            .format(name, action[1]))
          return ret
  
      try:
          result = __salt__['lxc.stop'](name, kill=kill, path=path)
      except (CommandExecutionError, SaltInvocationError) as exc:
          ret['result'] = False
          ret['comment'] = exc.strerror
          state['new'] = __salt__['lxc.state'](name, path=path)
      else:
          state['new'] = result['state']['new']
          if state['new'] != 'stopped':
              ret['result'] = False
              ret['comment'] = ('Unable to {0} container \'{1}\''
                                .format(action[0], name))
          else:
              ret['comment'] = ('Container \'{0}\' was successfully {1}'
                                .format(name, action[1]))
  
      if state['old'] != state['new']:
          ret['changes']['state'] = state
      return ret