docs: def init_token(self):
          """Generate our first token based on workstation configuration"""
  
          app_filename = appid_file()
          token_filename = token_file()
          approle_filename = approle_file()
          token = None
          if 'VAULT_ROLE_ID' in os.environ and \
             'VAULT_SECRET_ID' in os.environ and \
             os.environ['VAULT_ROLE_ID'] and os.environ['VAULT_SECRET_ID']:
              token = approle_token(self,
                                    os.environ['VAULT_ROLE_ID'],
                                    os.environ['VAULT_SECRET_ID'])
              LOG.debug("Token derived from VAULT_ROLE_ID and VAULT_SECRET_ID")
          elif 'VAULT_TOKEN' in os.environ and os.environ['VAULT_TOKEN']:
              LOG.debug('Token derived from VAULT_TOKEN environment variable')
              token = os.environ['VAULT_TOKEN'].strip()
          elif 'VAULT_USER_ID' in os.environ and \
               'VAULT_APP_ID' in os.environ and \
               os.environ['VAULT_USER_ID'] and os.environ['VAULT_APP_ID']:
              LOG.debug("Token derived from VAULT_APP_ID and VAULT_USER_ID")
              token = app_token(self,
                                os.environ['VAULT_APP_ID'].strip(),
                                os.environ['VAULT_USER_ID'].strip())
          elif approle_filename:
              creds = yaml.safe_load(open(approle_filename).read().strip())
              if 'role_id' in creds and 'secret_id' in creds:
                  LOG.debug("Token derived from approle file")
                  token = approle_token(self,
                                        creds['role_id'],
                                        creds['secret_id'])
          elif token_filename:
              LOG.debug("Token derived from %s", token_filename)
              try:
                  token = open(token_filename, 'r').read().strip()
              except IOError as os_exception:
                  if os_exception.errno == 21:
                      raise aomi.exceptions.AomiFile('Bad Vault token file')
  
                  raise
          elif app_filename:
              token = yaml.safe_load(open(app_filename).read().strip())
              if 'app_id' in token and 'user_id' in token:
                  LOG.debug("Token derived from %s", app_filename)
                  token = app_token(self,
                                    token['app_id'],
                                    token['user_id'])
          else:
              raise aomi.exceptions.AomiCredentials('unknown method')
  
          return token