roboto.domain.files.file_creds#

Module Contents#

type roboto.domain.files.file_creds.CredentialProvider = Callable[[], S3Credentials]#
class roboto.domain.files.file_creds.DatasetCredentials(/, **data)#

Bases: pydantic.BaseModel

Handle credentials for dataset file access

Parameters:

data (Any)

access_key_id: str#
bucket: str#
expiration: datetime.datetime#
is_expired()#
Return type:

bool

region: str#
required_prefix: str#
secret_access_key: str#
session_token: str#
to_dict()#
Return type:

dict[str, Any]

to_s3_credentials()#
Return type:

S3Credentials

class roboto.domain.files.file_creds.FileCredentialsHelper(roboto_client)#

Helper class for retrieving credentials used to download and upload files to/from Roboto.

Parameters:

roboto_client (roboto.http.roboto_client.RobotoClient)

get_dataset_creds(dataset_id, permissions, transaction_id=None)#
Parameters:
Return type:

collections.abc.Sequence[DatasetCredentials]

get_dataset_download_creds_provider(dataset_id, bucket_name)#
Parameters:
  • dataset_id (str)

  • bucket_name (str)

Return type:

CredentialProvider

get_dataset_upload_creds_provider(dataset_id, transaction_id)#
Parameters:
  • dataset_id (str)

  • transaction_id (str)

class roboto.domain.files.file_creds.S3Credentials#

Bases: TypedDict

This interface is driven by botocore.credentials.RefreshableCredentials

access_key: str#
expiry_time: str | None#
region: str#
secret_key: str#
token: str#