code: def from_app_role(cls, url, path, role_id, secret_id):
          
          token = cls._fetch_app_role_token(url, role_id, secret_id)
          source_dict = cls._fetch_secrets(url, path, token)
          return cls(source_dict, url, path, token)
docs: Constructor: use AppRole authentication to read secrets from a Vault path
  
          See https://www.vaultproject.io/docs/auth/approle.html
  
          Args:
              url: Vault url
              path: Vault path where secrets are stored
              role_id: Vault RoleID
              secret_id: Vault SecretID