code: def generate(self,
                   cmd,
                   name='',
                   overwrite=False,
                   deploy=False,
                   start=False,
                   **params):
          
          # TODO: parsing env vars and setting the name should probably be under
          # `base.py`.
          name = name or self._set_service_name_from_command(cmd)
          self.params.update(**params)
          self.params.update(dict(
              cmd=cmd,
              name=name,
              env=self._parse_service_env_vars(params.get('var', '')))
          )
          if 'var' in params:
              self.params.pop('var')
          init = self.implementation(logger=logger, **self.params)
  
          logger.info(
              'Generating %s files for service %s...',
              self.init_system, name)
          files = init.generate(overwrite=overwrite)
          for f in files:
              logger.info('Generated %s', f)
  
          if deploy or start:
              init.validate_platform()
              logger.info('Deploying %s service %s...', self.init_system, name)
              init.install()
  
              if start:
                  logger.info(
                      'Starting %s service %s...',
                      self.init_system, name)
                  init.start()
              logger.info('Service created')
          return files
docs: Generate service files and returns a list of the generated files.
  
          It will generate configuration file(s) for the service and
          deploy them to the tmp dir on your os.
  
          If `deploy` is True, the service will be configured to run on the
          current machine.
          If `start` is True, the service will be started as well.