code: def get_type_item(self, value):
          
          if isinstance(value, ExecCommand):
              return value
          elif isinstance(value, six.string_types + (lazy_type,)):
              return ExecCommand(value)
          elif isinstance(value, (list, tuple)):
              v_len = len(value)
              if 1 <= v_len <= 3:
                  return ExecCommand(*value)
              raise ValueError("Invalid element length; only tuples and lists of length 1-3 can be converted to a "
                               "ExecCommand tuple. Found length {0}.".format(v_len))
          elif isinstance(value, dict):
              return ExecCommand(**value)
          raise ValueError(
              "Invalid type; expected a list, tuple, dict, or string type, found {0}.".format(type(value).__name__))
docs: Converts the input to a ExecCommand tuple. It can be from a single string, list, or tuple. Single values (also
          single-element lists or tuples) are considered a command string, whereas two-element items are read as
          ``(command string, user name)``.
  
          :param value: Input value for conversion.
          :return: ExecCommand tuple.
          :rtype: ExecCommand