quilt3.admin Python API
quilt3.admin.types
Permission(bucket: str, level: quilt3._graphql_client.enums.BucketPermissionLevel) -> None
PolicySummary(id: str, title: str, arn: str, managed: bool, permissions: list[quilt3.admin.types.Permission]) -> None
Policy without back-references to roles (avoids circular nesting).
ManagedRole(id: str, name: str, arn: str, policies: list[quilt3.admin.types.PolicySummary], permissions: list[quilt3.admin.types.Permission], typename__: Literal['ManagedRole']) -> None
UnmanagedRole(id: str, name: str, arn: str, typename__: Literal['UnmanagedRole']) -> None
Policy(id: str, title: str, arn: str, managed: bool, permissions: list[quilt3.admin.types.Permission], roles: list[quilt3.admin.types.ManagedRole]) -> None
User(name: str, email: str, date_joined: datetime.datetime, last_login: datetime.datetime, is_active: bool, is_admin: bool, is_sso_only: bool, is_service: bool, role: Annotated[quilt3.admin.types.ManagedRole | quilt3.admin.types.UnmanagedRole, FieldInfo(annotation=NoneType, required=True, discriminator='typename__')] | None, extra_roles: list[typing.Annotated[quilt3.admin.types.ManagedRole | quilt3.admin.types.UnmanagedRole, FieldInfo(annotation=NoneType, required=True, discriminator='typename__')]]) -> None
SSOConfig(text: str, timestamp: datetime.datetime, uploader: quilt3.admin.types.User) -> None
TabulatorTable(name: str, config: str) -> None
Bucket(name: str, title: str, icon_url: str | None, description: str | None, overview_url: str | None, tags: list[str] | None, relevance_score: int, last_indexed: datetime.datetime | None, sns_notification_arn: str | None, scanner_parallel_shards_depth: int | None, skip_meta_data_indexing: bool | None, file_extensions_to_index: list[str] | None, index_content_bytes: int | None, prefixes: list[str]) -> None
quilt3.admin.api_keys
Admin API for managing API keys.
list(email: str | None = None, key_name: str | None = None, fingerprint: str | None = None, status: Literal['ACTIVE', 'EXPIRED'] | None = None) -> list[quilt3.api_keys.APIKey]
List API keys. Optionally filter by user email, key name, fingerprint, or status.
Arguments
email: Filter by user email.
key_name: Filter by key name.
fingerprint: Filter by key fingerprint.
status: Filter by "ACTIVE" or "EXPIRED". None returns all.
Returns
List of API keys matching the filters.
get(id: str) -> quilt3.api_keys.APIKey | None
Get a specific API key by ID.
Arguments
id: The API key ID.
Returns
The API key, or None if not found.
revoke(id: str) -> None
Revoke an API key.
Arguments
id: The API key ID to revoke.
Raises
Quilt3AdminError: If the operation fails.
quilt3.admin.buckets
get(name: str) -> quilt3.admin.types.Bucket | None
Get a specific bucket configuration from the registry. Returns None if the bucket does not exist.
Arguments
name: Name of the bucket to get.
list() -> list[quilt3.admin.types.Bucket]
List all bucket configurations in the registry.
add(name: str, title: str, *, description: str | None = None, icon_url: str | None = None, overview_url: str | None = None, tags: list[str] | None = None, relevance_score: int | None = None, sns_notification_arn: str | None = None, scanner_parallel_shards_depth: int | None = None, skip_meta_data_indexing: bool | None = None, file_extensions_to_index: list[str] | None = None, index_content_bytes: int | None = None, delay_scan: bool | None = None, browsable: bool | None = None, prefixes: list[str] | None = None) -> quilt3.admin.types.Bucket
Add a new bucket to the registry.
Arguments
name: S3 bucket name.
title: Display title for the bucket.
description: Optional description.
icon_url: Optional URL for bucket icon.
overview_url: Optional URL for bucket overview page.
tags: Optional list of tags.
relevance_score: Optional relevance score for bucket ordering.
sns_notification_arn: Optional SNS topic ARN for notifications.
scanner_parallel_shards_depth: Optional depth for parallel scanning.
skip_meta_data_indexing: If True, skip metadata indexing.
file_extensions_to_index: Optional list of file extensions to index content.
index_content_bytes: Optional max bytes of content to index.
delay_scan: If True, delay initial bucket scan.
browsable: If True, bucket is browsable.
prefixes: Optional list of S3 prefixes to scope bucket access to. If provided, only these prefixes will be indexed and verified for access.
update(name: str, title: str, *, description: str | None = None, icon_url: str | None = None, overview_url: str | None = None, tags: list[str] | None = None, relevance_score: int | None = None, sns_notification_arn: str | None = None, scanner_parallel_shards_depth: int | None = None, skip_meta_data_indexing: bool | None = None, file_extensions_to_index: list[str] | None = None, index_content_bytes: int | None = None, browsable: bool | None = None, prefixes: list[str] | None = None) -> quilt3.admin.types.Bucket
Update an existing bucket configuration.
Arguments
name: S3 bucket name.
title: Display title for the bucket.
description: Optional description.
icon_url: Optional URL for bucket icon.
overview_url: Optional URL for bucket overview page.
tags: Optional list of tags.
relevance_score: Optional relevance score for bucket ordering.
sns_notification_arn: Optional SNS topic ARN for notifications.
scanner_parallel_shards_depth: Optional depth for parallel scanning.
skip_meta_data_indexing: If True, skip metadata indexing.
file_extensions_to_index: Optional list of file extensions to index content.
index_content_bytes: Optional max bytes of content to index.
browsable: If True, bucket is browsable.
prefixes: Optional list of S3 prefixes to scope bucket access to. If provided, only these prefixes will be indexed and verified for access. Changing prefixes will trigger permission re-verification.
remove(name: str) -> None
Remove a bucket from the registry.
Arguments
name: Name of the bucket to remove.
quilt3.admin.policies
get(id_or_title: str) -> quilt3.admin.types.Policy | None
Get a policy by ID or title. Return None if the policy does not exist.
Arguments
id_or_title: Policy ID or title.
list() -> list[quilt3.admin.types.Policy]
Get a list of all policies in the registry.
create_managed(title: str, *, permissions: list[quilt3.admin.types.Permission], roles: list[str] = ()) -> quilt3.admin.types.Policy
Create a managed policy in the registry.
Arguments
title: Policy title.
permissions: Bucket permissions to include.
roles: Role IDs to attach to the policy.
create_unmanaged(title: str, *, arn: str, roles: list[str] = ()) -> quilt3.admin.types.Policy
Create an unmanaged policy in the registry.
Arguments
title: Policy title.
arn: Existing IAM policy ARN.
roles: Role IDs to attach to the policy.
update_managed(id_or_title: str, *, title: str, permissions: list[quilt3.admin.types.Permission], roles: list[str]) -> quilt3.admin.types.Policy
Update a managed policy in the registry (full replacement).
Arguments
id_or_title: Policy ID or title.
title: New policy title.
permissions: Bucket permissions to include.
roles: Role IDs to attach to the policy.
update_unmanaged(id_or_title: str, *, title: str, arn: str, roles: list[str]) -> quilt3.admin.types.Policy
Update an unmanaged policy in the registry (full replacement).
Arguments
id_or_title: Policy ID or title.
title: New policy title.
arn: Existing IAM policy ARN.
roles: Role IDs to attach to the policy.
patch_managed(id_or_title: str, *, title: str | None = None, permissions: list[quilt3.admin.types.Permission] | None = None, roles: list[str] | None = None) -> quilt3.admin.types.Policy
Partially update a managed policy — only specified fields are changed.
Arguments
id_or_title: Policy ID or title.
title: New policy title (keeps current if not specified).
permissions: Bucket permissions (keeps current if not specified).
roles: Role IDs to attach (keeps current if not specified).
patch_unmanaged(id_or_title: str, *, title: str | None = None, arn: str | None = None, roles: list[str] | None = None) -> quilt3.admin.types.Policy
Partially update an unmanaged policy — only specified fields are changed.
Arguments
id_or_title: Policy ID or title.
title: New policy title (keeps current if not specified).
arn: New IAM policy ARN (keeps current if not specified).
roles: Role IDs to attach (keeps current if not specified).
delete(id_or_title: str) -> None
Delete a policy from the registry.
Arguments
id_or_title: Policy ID or title.
quilt3.admin.roles
get(id_or_name: str) -> quilt3.admin.types.ManagedRole | quilt3.admin.types.UnmanagedRole | None
Get a role by ID or name. Return None if the role does not exist.
Arguments
id_or_name: Role ID or name.
get_default() -> quilt3.admin.types.ManagedRole | quilt3.admin.types.UnmanagedRole | None
Get the default role from the registry. Return None if no default role is set.
list() -> list[quilt3.admin.types.ManagedRole | quilt3.admin.types.UnmanagedRole]
Get a list of all roles in the registry.
create_managed(name: str, policies: list[str] = ()) -> quilt3.admin.types.ManagedRole
Create a managed role in the registry.
Arguments
name: Role name.
policies: Policy IDs to attach to the role.
create_unmanaged(name: str, arn: str) -> quilt3.admin.types.UnmanagedRole
Create an unmanaged role in the registry.
Arguments
name: Role name.
arn: Existing IAM role ARN.
update_managed(id_or_name: str, *, name: str, policies: list[str]) -> quilt3.admin.types.ManagedRole
Update a managed role in the registry (full replacement).
Arguments
id_or_name: Role ID or name.
name: New role name.
policies: Policy IDs to attach to the role.
update_unmanaged(id_or_name: str, *, name: str, arn: str) -> quilt3.admin.types.UnmanagedRole
Update an unmanaged role in the registry (full replacement).
Arguments
id_or_name: Role ID or name.
name: New role name.
arn: Existing IAM role ARN.
patch_managed(id_or_name: str, *, name: str | None = None, policies: list[str] | None = None) -> quilt3.admin.types.ManagedRole
Partially update a managed role — only specified fields are changed.
Arguments
id_or_name: Role ID or name.
name: New role name (keeps current if not specified).
policies: Policy IDs to attach (keeps current if not specified).
patch_unmanaged(id_or_name: str, *, name: str | None = None, arn: str | None = None) -> quilt3.admin.types.UnmanagedRole
Partially update an unmanaged role — only specified fields are changed.
Arguments
id_or_name: Role ID or name.
name: New role name (keeps current if not specified).
arn: New IAM role ARN (keeps current if not specified).
delete(id_or_name: str) -> None
Delete a role from the registry.
Arguments
id_or_name: Role ID or name.
set_default(id_or_name: str) -> quilt3.admin.types.ManagedRole | quilt3.admin.types.UnmanagedRole
Set the default role in the registry.
Arguments
id_or_name: Role ID or name.
quilt3.admin.users
get(name: str) -> quilt3.admin.types.User | None
Get a specific user from the registry. Return None if the user does not exist.
Arguments
name: Username of user to get.
list() -> list[quilt3.admin.types.User]
Get a list of all users in the registry.
create(name: str, email: str, role: str, extra_roles: list[str] | None = None) -> quilt3.admin.types.User
Create a new user in the registry.
Arguments
name: Username of user to create.
email: Email of user to create.
role: Active role of the user.
extra_roles: Additional roles to assign to the user.
delete(name: str) -> None
Delete user from the registry.
Arguments
name: Username of user to delete.
set_email(name: str, email: str) -> quilt3.admin.types.User
Set the email for a user.
Arguments
name: Username of user to update.
email: Email to set for the user.
set_admin(name: str, admin: bool) -> quilt3.admin.types.User
Set the admin status for a user.
Arguments
name: Username of user to update.
admin: Admin status to set for the user.
set_active(name: str, active: bool) -> quilt3.admin.types.User
Set the active status for a user.
Arguments
name: Username of user to update.
active: Active status to set for the user.
reset_password(name: str) -> None
Reset the password for a user.
Arguments
name: Username of user to update.
set_role(name: str, role: str, extra_roles: list[str] | None = None, *, append: bool = False) -> quilt3.admin.types.User
Set the active and extra roles for a user.
Arguments
name: Username of user to update.
role: Role to be set as the active role.
extra_roles: Additional roles to assign to the user.
append: If True, append the extra roles to the existing roles. If False, replace the existing roles.
add_roles(name: str, roles: list[str]) -> quilt3.admin.types.User
Add roles to a user.
Arguments
name: Username of user to update.
roles: Roles to add to the user.
remove_roles(name: str, roles: list[str], fallback: str | None = None) -> quilt3.admin.types.User
Remove roles from a user.
Arguments
name: Username of user to update.
roles: Roles to remove from the user.
fallback: If set, the role to assign to the user if the active role is removed.
quilt3.admin.sso_config
get() -> quilt3.admin.types.SSOConfig | None
Get the current SSO configuration.
set(config: str | None) -> quilt3.admin.types.SSOConfig | None
Set the SSO configuration. Pass None to remove SSO configuration.
quilt3.admin.tabulator
list_tables(bucket_name: str) -> list[quilt3.admin.types.TabulatorTable]
List all tabulator tables in a bucket.
set_table(bucket_name: str, table_name: str, config: str | None) -> None
Set the tabulator table configuration. Pass None to remove the table.
rename_table(bucket_name: str, table_name: str, new_table_name: str) -> None
Rename tabulator table.
get_open_query() -> bool
Get the open query status.
set_open_query(enabled: bool) -> None
Set the open query status.
Last updated
Was this helpful?

