Source code for azure_databricks_sdk_python.tokens
from azure_databricks_sdk_python.api import API
from azure_databricks_sdk_python.types.tokens import PublicTokenInfo, TokenId, Token
from cattr import structure
from typing import List
[docs]class Tokens(API):
"""The Token API allows you to create, list, and revoke tokens
that can be used to authenticate and access Azure Databricks REST APIs.
"""
def __init__(self, **kwargs):
super().__init__(**kwargs)
[docs] def list(self):
"""List all the valid tokens for a user-workspace pair.
Returns:
[PublicTokenInfo]: A list of token information for a user-workspace pair.
"""
endpoint = '/token/list'
res = self._get(endpoint)
return self._safe_handle(res, res.json().get('token_infos', []), List[PublicTokenInfo])
[docs] def create(self, comment: str = None, lifetime_seconds: int = 7776000):
"""Create and return a token.
Args:
comment (str, optional): Optional description to attach to the token.
Defaults to None.
lifetime_seconds (int, optional): The lifetime of the token, in seconds.
If no lifetime is specified, the token remains valid indefinitely.
Defaults to 7776000 (90j).
Returns:
dict: contains token_value and token_info as a PublicTokenInfo.
"""
endpoint = '/token/create'
data = {'lifetime_seconds': lifetime_seconds,
'comment': comment}
res = self._post(endpoint, data)
return self._safe_handle(res, res.json(), Token)
[docs] def delete(self, token_id: str):
"""Revoke an access token.
Args:
token_id (str): The ID of the token to be revoked.
Returns:
TokenId: in case of success or will raise an exception.
"""
endpoint = '/token/delete'
data = {'token_id': token_id}
res = self._post(endpoint, data)
return self._safe_handle(res, data, TokenId)