box-open-sdk 0.4.1

Box API client for Rust (open source, community, punk rock) — typed models, async managers, and a reqwest runtime with retry, backoff, and token refresh.
Documentation
// Code generated by box-gantry. DO NOT EDIT.

/// The Box SDK client: one manager per API area over a shared session.
pub struct Client {
    pub ai: crate::managers::ai::AiManager,
    pub ai_studio: crate::managers::ai_studio::AiStudioManager,
    pub app_item_associations: crate::managers::app_item_associations::AppItemAssociationsManager,
    pub archives: crate::managers::archives::ArchivesManager,
    pub authorization: crate::managers::authorization::AuthorizationManager,
    pub automate_workflows: crate::managers::automate_workflows::AutomateWorkflowsManager,
    pub avatars: crate::managers::avatars::AvatarsManager,
    pub chunked_uploads: crate::managers::chunked_uploads::ChunkedUploadsManager,
    pub classifications: crate::managers::classifications::ClassificationsManager,
    pub collaboration_allowlist_entries: crate::managers::collaboration_allowlist_entries::CollaborationAllowlistEntriesManager,
    pub collaboration_allowlist_exempt_targets: crate::managers::collaboration_allowlist_exempt_targets::CollaborationAllowlistExemptTargetsManager,
    pub collections: crate::managers::collections::CollectionsManager,
    pub comments: crate::managers::comments::CommentsManager,
    pub device_pinners: crate::managers::device_pinners::DevicePinnersManager,
    pub docgen: crate::managers::docgen::DocgenManager,
    pub docgen_template: crate::managers::docgen_template::DocgenTemplateManager,
    pub downloads: crate::managers::downloads::DownloadsManager,
    pub email_aliases: crate::managers::email_aliases::EmailAliasesManager,
    pub enterprise_configurations: crate::managers::enterprise_configurations::EnterpriseConfigurationsManager,
    pub events: crate::managers::events::EventsManager,
    pub external_users: crate::managers::external_users::ExternalUsersManager,
    pub file_classifications: crate::managers::file_classifications::FileClassificationsManager,
    pub file_metadata: crate::managers::file_metadata::FileMetadataManager,
    pub file_requests: crate::managers::file_requests::FileRequestsManager,
    pub file_version_legal_holds: crate::managers::file_version_legal_holds::FileVersionLegalHoldsManager,
    pub file_version_retentions: crate::managers::file_version_retentions::FileVersionRetentionsManager,
    pub file_versions: crate::managers::file_versions::FileVersionsManager,
    pub file_watermarks: crate::managers::file_watermarks::FileWatermarksManager,
    pub files: crate::managers::files::FilesManager,
    pub folder_classifications: crate::managers::folder_classifications::FolderClassificationsManager,
    pub folder_locks: crate::managers::folder_locks::FolderLocksManager,
    pub folder_metadata: crate::managers::folder_metadata::FolderMetadataManager,
    pub folder_watermarks: crate::managers::folder_watermarks::FolderWatermarksManager,
    pub folders: crate::managers::folders::FoldersManager,
    pub groups: crate::managers::groups::GroupsManager,
    pub hub_collaborations: crate::managers::hub_collaborations::HubCollaborationsManager,
    pub hub_document: crate::managers::hub_document::HubDocumentManager,
    pub hub_items: crate::managers::hub_items::HubItemsManager,
    pub hubs: crate::managers::hubs::HubsManager,
    pub integration_mappings: crate::managers::integration_mappings::IntegrationMappingsManager,
    pub invites: crate::managers::invites::InvitesManager,
    pub legal_hold_policies: crate::managers::legal_hold_policies::LegalHoldPoliciesManager,
    pub legal_hold_policy_assignments: crate::managers::legal_hold_policy_assignments::LegalHoldPolicyAssignmentsManager,
    pub list_collaborations: crate::managers::list_collaborations::ListCollaborationsManager,
    pub memberships: crate::managers::memberships::MembershipsManager,
    pub metadata_cascade_policies: crate::managers::metadata_cascade_policies::MetadataCascadePoliciesManager,
    pub metadata_taxonomies: crate::managers::metadata_taxonomies::MetadataTaxonomiesManager,
    pub metadata_templates: crate::managers::metadata_templates::MetadataTemplatesManager,
    pub notes: crate::managers::notes::NotesManager,
    pub query: crate::managers::query::QueryManager,
    pub recent_items: crate::managers::recent_items::RecentItemsManager,
    pub retention_policies: crate::managers::retention_policies::RetentionPoliciesManager,
    pub retention_policy_assignments: crate::managers::retention_policy_assignments::RetentionPolicyAssignmentsManager,
    pub search: crate::managers::search::SearchManager,
    pub session_termination: crate::managers::session_termination::SessionTerminationManager,
    pub shared_links_app_items: crate::managers::shared_links_app_items::SharedLinksAppItemsManager,
    pub shared_links_files: crate::managers::shared_links_files::SharedLinksFilesManager,
    pub shared_links_folders: crate::managers::shared_links_folders::SharedLinksFoldersManager,
    pub shared_links_web_links: crate::managers::shared_links_web_links::SharedLinksWebLinksManager,
    pub shield_information_barrier_reports: crate::managers::shield_information_barrier_reports::ShieldInformationBarrierReportsManager,
    pub shield_information_barrier_segment_members: crate::managers::shield_information_barrier_segment_members::ShieldInformationBarrierSegmentMembersManager,
    pub shield_information_barrier_segment_restrictions: crate::managers::shield_information_barrier_segment_restrictions::ShieldInformationBarrierSegmentRestrictionsManager,
    pub shield_information_barrier_segments: crate::managers::shield_information_barrier_segments::ShieldInformationBarrierSegmentsManager,
    pub shield_information_barriers: crate::managers::shield_information_barriers::ShieldInformationBarriersManager,
    pub shield_lists: crate::managers::shield_lists::ShieldListsManager,
    pub sign_requests: crate::managers::sign_requests::SignRequestsManager,
    pub sign_templates: crate::managers::sign_templates::SignTemplatesManager,
    pub skills: crate::managers::skills::SkillsManager,
    pub storage_policies: crate::managers::storage_policies::StoragePoliciesManager,
    pub storage_policy_assignments: crate::managers::storage_policy_assignments::StoragePolicyAssignmentsManager,
    pub task_assignments: crate::managers::task_assignments::TaskAssignmentsManager,
    pub tasks: crate::managers::tasks::TasksManager,
    pub terms_of_service_user_statuses: crate::managers::terms_of_service_user_statuses::TermsOfServiceUserStatusesManager,
    pub terms_of_services: crate::managers::terms_of_services::TermsOfServicesManager,
    pub transfer: crate::managers::transfer::TransferManager,
    pub trashed_files: crate::managers::trashed_files::TrashedFilesManager,
    pub trashed_folders: crate::managers::trashed_folders::TrashedFoldersManager,
    pub trashed_items: crate::managers::trashed_items::TrashedItemsManager,
    pub trashed_web_links: crate::managers::trashed_web_links::TrashedWebLinksManager,
    pub uploads: crate::managers::uploads::UploadsManager,
    pub user_collaborations: crate::managers::user_collaborations::UserCollaborationsManager,
    pub users: crate::managers::users::UsersManager,
    pub web_links: crate::managers::web_links::WebLinksManager,
    pub webhooks: crate::managers::webhooks::WebhooksManager,
    pub workflows: crate::managers::workflows::WorkflowsManager,
    pub zip_downloads: crate::managers::zip_downloads::ZipDownloadsManager,
}

impl Client {
    /// Build a client for an authentication flow.
    pub fn new(auth: crate::runtime::Auth) -> Self {
        let session = std::sync::Arc::new(crate::runtime::Client::new(auth));
        Self {
            ai: crate::managers::ai::AiManager::new(session.clone()),
            ai_studio: crate::managers::ai_studio::AiStudioManager::new(session.clone()),
            app_item_associations: crate::managers::app_item_associations::AppItemAssociationsManager::new(session.clone()),
            archives: crate::managers::archives::ArchivesManager::new(session.clone()),
            authorization: crate::managers::authorization::AuthorizationManager::new(session.clone()),
            automate_workflows: crate::managers::automate_workflows::AutomateWorkflowsManager::new(session.clone()),
            avatars: crate::managers::avatars::AvatarsManager::new(session.clone()),
            chunked_uploads: crate::managers::chunked_uploads::ChunkedUploadsManager::new(session.clone()),
            classifications: crate::managers::classifications::ClassificationsManager::new(session.clone()),
            collaboration_allowlist_entries: crate::managers::collaboration_allowlist_entries::CollaborationAllowlistEntriesManager::new(session.clone()),
            collaboration_allowlist_exempt_targets: crate::managers::collaboration_allowlist_exempt_targets::CollaborationAllowlistExemptTargetsManager::new(session.clone()),
            collections: crate::managers::collections::CollectionsManager::new(session.clone()),
            comments: crate::managers::comments::CommentsManager::new(session.clone()),
            device_pinners: crate::managers::device_pinners::DevicePinnersManager::new(session.clone()),
            docgen: crate::managers::docgen::DocgenManager::new(session.clone()),
            docgen_template: crate::managers::docgen_template::DocgenTemplateManager::new(session.clone()),
            downloads: crate::managers::downloads::DownloadsManager::new(session.clone()),
            email_aliases: crate::managers::email_aliases::EmailAliasesManager::new(session.clone()),
            enterprise_configurations: crate::managers::enterprise_configurations::EnterpriseConfigurationsManager::new(session.clone()),
            events: crate::managers::events::EventsManager::new(session.clone()),
            external_users: crate::managers::external_users::ExternalUsersManager::new(session.clone()),
            file_classifications: crate::managers::file_classifications::FileClassificationsManager::new(session.clone()),
            file_metadata: crate::managers::file_metadata::FileMetadataManager::new(session.clone()),
            file_requests: crate::managers::file_requests::FileRequestsManager::new(session.clone()),
            file_version_legal_holds: crate::managers::file_version_legal_holds::FileVersionLegalHoldsManager::new(session.clone()),
            file_version_retentions: crate::managers::file_version_retentions::FileVersionRetentionsManager::new(session.clone()),
            file_versions: crate::managers::file_versions::FileVersionsManager::new(session.clone()),
            file_watermarks: crate::managers::file_watermarks::FileWatermarksManager::new(session.clone()),
            files: crate::managers::files::FilesManager::new(session.clone()),
            folder_classifications: crate::managers::folder_classifications::FolderClassificationsManager::new(session.clone()),
            folder_locks: crate::managers::folder_locks::FolderLocksManager::new(session.clone()),
            folder_metadata: crate::managers::folder_metadata::FolderMetadataManager::new(session.clone()),
            folder_watermarks: crate::managers::folder_watermarks::FolderWatermarksManager::new(session.clone()),
            folders: crate::managers::folders::FoldersManager::new(session.clone()),
            groups: crate::managers::groups::GroupsManager::new(session.clone()),
            hub_collaborations: crate::managers::hub_collaborations::HubCollaborationsManager::new(session.clone()),
            hub_document: crate::managers::hub_document::HubDocumentManager::new(session.clone()),
            hub_items: crate::managers::hub_items::HubItemsManager::new(session.clone()),
            hubs: crate::managers::hubs::HubsManager::new(session.clone()),
            integration_mappings: crate::managers::integration_mappings::IntegrationMappingsManager::new(session.clone()),
            invites: crate::managers::invites::InvitesManager::new(session.clone()),
            legal_hold_policies: crate::managers::legal_hold_policies::LegalHoldPoliciesManager::new(session.clone()),
            legal_hold_policy_assignments: crate::managers::legal_hold_policy_assignments::LegalHoldPolicyAssignmentsManager::new(session.clone()),
            list_collaborations: crate::managers::list_collaborations::ListCollaborationsManager::new(session.clone()),
            memberships: crate::managers::memberships::MembershipsManager::new(session.clone()),
            metadata_cascade_policies: crate::managers::metadata_cascade_policies::MetadataCascadePoliciesManager::new(session.clone()),
            metadata_taxonomies: crate::managers::metadata_taxonomies::MetadataTaxonomiesManager::new(session.clone()),
            metadata_templates: crate::managers::metadata_templates::MetadataTemplatesManager::new(session.clone()),
            notes: crate::managers::notes::NotesManager::new(session.clone()),
            query: crate::managers::query::QueryManager::new(session.clone()),
            recent_items: crate::managers::recent_items::RecentItemsManager::new(session.clone()),
            retention_policies: crate::managers::retention_policies::RetentionPoliciesManager::new(session.clone()),
            retention_policy_assignments: crate::managers::retention_policy_assignments::RetentionPolicyAssignmentsManager::new(session.clone()),
            search: crate::managers::search::SearchManager::new(session.clone()),
            session_termination: crate::managers::session_termination::SessionTerminationManager::new(session.clone()),
            shared_links_app_items: crate::managers::shared_links_app_items::SharedLinksAppItemsManager::new(session.clone()),
            shared_links_files: crate::managers::shared_links_files::SharedLinksFilesManager::new(session.clone()),
            shared_links_folders: crate::managers::shared_links_folders::SharedLinksFoldersManager::new(session.clone()),
            shared_links_web_links: crate::managers::shared_links_web_links::SharedLinksWebLinksManager::new(session.clone()),
            shield_information_barrier_reports: crate::managers::shield_information_barrier_reports::ShieldInformationBarrierReportsManager::new(session.clone()),
            shield_information_barrier_segment_members: crate::managers::shield_information_barrier_segment_members::ShieldInformationBarrierSegmentMembersManager::new(session.clone()),
            shield_information_barrier_segment_restrictions: crate::managers::shield_information_barrier_segment_restrictions::ShieldInformationBarrierSegmentRestrictionsManager::new(session.clone()),
            shield_information_barrier_segments: crate::managers::shield_information_barrier_segments::ShieldInformationBarrierSegmentsManager::new(session.clone()),
            shield_information_barriers: crate::managers::shield_information_barriers::ShieldInformationBarriersManager::new(session.clone()),
            shield_lists: crate::managers::shield_lists::ShieldListsManager::new(session.clone()),
            sign_requests: crate::managers::sign_requests::SignRequestsManager::new(session.clone()),
            sign_templates: crate::managers::sign_templates::SignTemplatesManager::new(session.clone()),
            skills: crate::managers::skills::SkillsManager::new(session.clone()),
            storage_policies: crate::managers::storage_policies::StoragePoliciesManager::new(session.clone()),
            storage_policy_assignments: crate::managers::storage_policy_assignments::StoragePolicyAssignmentsManager::new(session.clone()),
            task_assignments: crate::managers::task_assignments::TaskAssignmentsManager::new(session.clone()),
            tasks: crate::managers::tasks::TasksManager::new(session.clone()),
            terms_of_service_user_statuses: crate::managers::terms_of_service_user_statuses::TermsOfServiceUserStatusesManager::new(session.clone()),
            terms_of_services: crate::managers::terms_of_services::TermsOfServicesManager::new(session.clone()),
            transfer: crate::managers::transfer::TransferManager::new(session.clone()),
            trashed_files: crate::managers::trashed_files::TrashedFilesManager::new(session.clone()),
            trashed_folders: crate::managers::trashed_folders::TrashedFoldersManager::new(session.clone()),
            trashed_items: crate::managers::trashed_items::TrashedItemsManager::new(session.clone()),
            trashed_web_links: crate::managers::trashed_web_links::TrashedWebLinksManager::new(session.clone()),
            uploads: crate::managers::uploads::UploadsManager::new(session.clone()),
            user_collaborations: crate::managers::user_collaborations::UserCollaborationsManager::new(session.clone()),
            users: crate::managers::users::UsersManager::new(session.clone()),
            web_links: crate::managers::web_links::WebLinksManager::new(session.clone()),
            webhooks: crate::managers::webhooks::WebhooksManager::new(session.clone()),
            workflows: crate::managers::workflows::WorkflowsManager::new(session.clone()),
            zip_downloads: crate::managers::zip_downloads::ZipDownloadsManager::new(session.clone()),
        }
    }
}