code: def get_scheme(self):
          
          # Splunk will display "Github Repository Forks" to users for this input
          scheme = Scheme("Github Repository Forks")
  
          scheme.description = "Streams events giving the number of forks of a GitHub repository."
          # If you set external validation to True, without overriding validate_input,
          # the script will accept anything as valid. Generally you only need external
          # validation if there are relationships you must maintain among the
          # parameters, such as requiring min to be less than max in this example,
          # or you need to check that some resource is reachable or valid.
          # Otherwise, Splunk lets you specify a validation string for each argument
          # and will run validation internally using that string.
          scheme.use_external_validation = True
          scheme.use_single_instance = True
  
          owner_argument = Argument("owner")
          owner_argument.title = "Owner"
          owner_argument.data_type = Argument.data_type_string
          owner_argument.description = "Github user or organization that created the repository."
          owner_argument.required_on_create = True
          # If you are not using external validation, you would add something like:
          #
          # scheme.validation = "owner==splunk"
          scheme.add_argument(owner_argument)
  
          repo_name_argument = Argument("repo_name")
          repo_name_argument.title = "Repo Name"
          repo_name_argument.data_type = Argument.data_type_string
          repo_name_argument.description = "Name of the Github repository."
          repo_name_argument.required_on_create = True
          scheme.add_argument(repo_name_argument)
  
          return scheme
docs: When Splunk starts, it looks for all the modular inputs defined by
          its configuration, and tries to run them with the argument --scheme.
          Splunkd expects the modular inputs to print a description of the
          input in XML on stdout. The modular input framework takes care of all
          the details of formatting XML and printing it. The user need only
          override get_scheme and return a new Scheme object.
  
          :return: scheme, a Scheme object