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
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_managed}
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_unmanaged}
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_managed}
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_unmanaged}
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 {#patch_managed}
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 {#patch_unmanaged}
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_default}
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_managed}
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_unmanaged}
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_managed}
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_unmanaged}
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 {#patch_managed}
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 {#patch_unmanaged}
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_default}
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_email}
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_admin}
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_active}
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_password}
Reset the password for a user.
Arguments
- name: Username of user to update.
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}
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}
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_tables}
List all tabulator tables in a bucket.
set_table(bucket_name: str, table_name: str, config: str | None) -> None {#set_table}
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_table}
Rename tabulator table.
get_open_query() -> bool {#get_open_query}
Get the open query status.
set_open_query(enabled: bool) -> None {#set_open_query}
Set the open query status.