code: def protocol(self) -> str:
          
          if self.nodes.mode is NodeMode.MANAGED:
              if 'protocol' in self._config:
                  log.warning('The "protocol" setting is not supported in "managed" node mode.')
              return 'http'
          return self._config.get('protocol', 'http')
docs: Return the designated protocol of the scenario.
  
          If the node's mode is :attr:`NodeMode.MANAGED`, we always choose `http` and
          display a warning if there was a 'protocol' set explicitly in the
          scenario's yaml.
  
          Otherwise we simply access the 'protocol' key of the yaml, defaulting to
          'http' if it does not exist.