{-# LANGUAGE DataKinds #-}
{-# LANGUAGE DerivingStrategies #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE ImportQualifiedPost #-}
{-# LANGUAGE LambdaCase #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}
{-# OPTIONS_GHC -fno-warn-name-shadowing #-}
{-# OPTIONS_GHC -fno-warn-unused-binds #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}

-- |
-- Module      : Gogol.Vault.Types
-- Copyright   : (c) 2015-2025 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>
--               Toni Cebrián <toni@tonicebrian.com>
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
module Gogol.Vault.Types
  ( -- * Configuration
    vaultService,

    -- * OAuth Scopes
    Ediscovery'FullControl,
    Ediscovery'Readonly,

    -- * Types

    -- ** Xgafv
    Xgafv (..),

    -- ** AccountCount
    AccountCount (..),
    newAccountCount,

    -- ** AccountCountError
    AccountCountError (..),
    newAccountCountError,

    -- ** AccountCountError_ErrorType
    AccountCountError_ErrorType (..),

    -- ** AccountInfo
    AccountInfo (..),
    newAccountInfo,

    -- ** AddHeldAccountResult
    AddHeldAccountResult (..),
    newAddHeldAccountResult,

    -- ** AddHeldAccountsRequest
    AddHeldAccountsRequest (..),
    newAddHeldAccountsRequest,

    -- ** AddHeldAccountsResponse
    AddHeldAccountsResponse (..),
    newAddHeldAccountsResponse,

    -- ** AddMatterPermissionsRequest
    AddMatterPermissionsRequest (..),
    newAddMatterPermissionsRequest,

    -- ** CalendarExportOptions
    CalendarExportOptions (..),
    newCalendarExportOptions,

    -- ** CalendarExportOptions_ExportFormat
    CalendarExportOptions_ExportFormat (..),

    -- ** CalendarOptions
    CalendarOptions (..),
    newCalendarOptions,

    -- ** CalendarOptions_ResponseStatusesItem
    CalendarOptions_ResponseStatusesItem (..),

    -- ** CancelOperationRequest
    CancelOperationRequest (..),
    newCancelOperationRequest,

    -- ** CloseMatterRequest
    CloseMatterRequest (..),
    newCloseMatterRequest,

    -- ** CloseMatterResponse
    CloseMatterResponse (..),
    newCloseMatterResponse,

    -- ** CloudStorageFile
    CloudStorageFile (..),
    newCloudStorageFile,

    -- ** CloudStorageSink
    CloudStorageSink (..),
    newCloudStorageSink,

    -- ** CorpusQuery
    CorpusQuery (..),
    newCorpusQuery,

    -- ** CountArtifactsMetadata
    CountArtifactsMetadata (..),
    newCountArtifactsMetadata,

    -- ** CountArtifactsRequest
    CountArtifactsRequest (..),
    newCountArtifactsRequest,

    -- ** CountArtifactsRequest_View
    CountArtifactsRequest_View (..),

    -- ** CountArtifactsResponse
    CountArtifactsResponse (..),
    newCountArtifactsResponse,

    -- ** DriveDocumentIds
    DriveDocumentIds (..),
    newDriveDocumentIds,

    -- ** DriveDocumentInfo
    DriveDocumentInfo (..),
    newDriveDocumentInfo,

    -- ** DriveExportOptions
    DriveExportOptions (..),
    newDriveExportOptions,

    -- ** DriveOptions
    DriveOptions (..),
    newDriveOptions,

    -- ** DriveOptions_ClientSideEncryptedOption
    DriveOptions_ClientSideEncryptedOption (..),

    -- ** Empty
    Empty (..),
    newEmpty,

    -- ** Export
    Export (..),
    newExport,

    -- ** Export_Status
    Export_Status (..),

    -- ** ExportOptions
    ExportOptions (..),
    newExportOptions,

    -- ** ExportOptions_Region
    ExportOptions_Region (..),

    -- ** ExportStats
    ExportStats (..),
    newExportStats,

    -- ** GeminiExportOptions
    GeminiExportOptions (..),
    newGeminiExportOptions,

    -- ** GeminiExportOptions_ExportFormat
    GeminiExportOptions_ExportFormat (..),

    -- ** GeminiOptions
    GeminiOptions (..),
    newGeminiOptions,

    -- ** GroupsCountResult
    GroupsCountResult (..),
    newGroupsCountResult,

    -- ** GroupsExportOptions
    GroupsExportOptions (..),
    newGroupsExportOptions,

    -- ** GroupsExportOptions_ExportFormat
    GroupsExportOptions_ExportFormat (..),

    -- ** HangoutsChatExportOptions
    HangoutsChatExportOptions (..),
    newHangoutsChatExportOptions,

    -- ** HangoutsChatExportOptions_ExportFormat
    HangoutsChatExportOptions_ExportFormat (..),

    -- ** HangoutsChatInfo
    HangoutsChatInfo (..),
    newHangoutsChatInfo,

    -- ** HangoutsChatOptions
    HangoutsChatOptions (..),
    newHangoutsChatOptions,

    -- ** HeldAccount
    HeldAccount (..),
    newHeldAccount,

    -- ** HeldCalendarQuery
    HeldCalendarQuery (..),
    newHeldCalendarQuery,

    -- ** HeldDriveQuery
    HeldDriveQuery (..),
    newHeldDriveQuery,

    -- ** HeldGroupsQuery
    HeldGroupsQuery (..),
    newHeldGroupsQuery,

    -- ** HeldHangoutsChatQuery
    HeldHangoutsChatQuery (..),
    newHeldHangoutsChatQuery,

    -- ** HeldMailQuery
    HeldMailQuery (..),
    newHeldMailQuery,

    -- ** HeldOrgUnit
    HeldOrgUnit (..),
    newHeldOrgUnit,

    -- ** HeldVoiceQuery
    HeldVoiceQuery (..),
    newHeldVoiceQuery,

    -- ** HeldVoiceQuery_CoveredDataItem
    HeldVoiceQuery_CoveredDataItem (..),

    -- ** Hold
    Hold (..),
    newHold,

    -- ** Hold_Corpus
    Hold_Corpus (..),

    -- ** ListExportsResponse
    ListExportsResponse (..),
    newListExportsResponse,

    -- ** ListHeldAccountsResponse
    ListHeldAccountsResponse (..),
    newListHeldAccountsResponse,

    -- ** ListHoldsResponse
    ListHoldsResponse (..),
    newListHoldsResponse,

    -- ** ListMattersResponse
    ListMattersResponse (..),
    newListMattersResponse,

    -- ** ListOperationsResponse
    ListOperationsResponse (..),
    newListOperationsResponse,

    -- ** ListSavedQueriesResponse
    ListSavedQueriesResponse (..),
    newListSavedQueriesResponse,

    -- ** MailCountResult
    MailCountResult (..),
    newMailCountResult,

    -- ** MailExportOptions
    MailExportOptions (..),
    newMailExportOptions,

    -- ** MailExportOptions_ExportFormat
    MailExportOptions_ExportFormat (..),

    -- ** MailOptions
    MailOptions (..),
    newMailOptions,

    -- ** MailOptions_ClientSideEncryptedOption
    MailOptions_ClientSideEncryptedOption (..),

    -- ** Matter
    Matter (..),
    newMatter,

    -- ** Matter_MatterRegion
    Matter_MatterRegion (..),

    -- ** Matter_State
    Matter_State (..),

    -- ** MatterPermission
    MatterPermission (..),
    newMatterPermission,

    -- ** MatterPermission_Role
    MatterPermission_Role (..),

    -- ** Operation
    Operation (..),
    newOperation,

    -- ** Operation_Metadata
    Operation_Metadata (..),
    newOperation_Metadata,

    -- ** Operation_Response
    Operation_Response (..),
    newOperation_Response,

    -- ** OrgUnitInfo
    OrgUnitInfo (..),
    newOrgUnitInfo,

    -- ** Query
    Query (..),
    newQuery,

    -- ** Query_Corpus
    Query_Corpus (..),

    -- ** Query_DataScope
    Query_DataScope (..),

    -- ** Query_Method
    Query_Method (..),

    -- ** Query_SearchMethod
    Query_SearchMethod (..),

    -- ** RemoveHeldAccountsRequest
    RemoveHeldAccountsRequest (..),
    newRemoveHeldAccountsRequest,

    -- ** RemoveHeldAccountsResponse
    RemoveHeldAccountsResponse (..),
    newRemoveHeldAccountsResponse,

    -- ** RemoveMatterPermissionsRequest
    RemoveMatterPermissionsRequest (..),
    newRemoveMatterPermissionsRequest,

    -- ** ReopenMatterRequest
    ReopenMatterRequest (..),
    newReopenMatterRequest,

    -- ** ReopenMatterResponse
    ReopenMatterResponse (..),
    newReopenMatterResponse,

    -- ** SavedQuery
    SavedQuery (..),
    newSavedQuery,

    -- ** SharedDriveInfo
    SharedDriveInfo (..),
    newSharedDriveInfo,

    -- ** SitesUrlInfo
    SitesUrlInfo (..),
    newSitesUrlInfo,

    -- ** Status
    Status (..),
    newStatus,

    -- ** Status_DetailsItem
    Status_DetailsItem (..),
    newStatus_DetailsItem,

    -- ** TeamDriveInfo
    TeamDriveInfo (..),
    newTeamDriveInfo,

    -- ** UndeleteMatterRequest
    UndeleteMatterRequest (..),
    newUndeleteMatterRequest,

    -- ** UserInfo
    UserInfo (..),
    newUserInfo,

    -- ** VoiceExportOptions
    VoiceExportOptions (..),
    newVoiceExportOptions,

    -- ** VoiceExportOptions_ExportFormat
    VoiceExportOptions_ExportFormat (..),

    -- ** VoiceOptions
    VoiceOptions (..),
    newVoiceOptions,

    -- ** VoiceOptions_CoveredDataItem
    VoiceOptions_CoveredDataItem (..),

    -- ** MattersGetView
    MattersGetView (..),

    -- ** MattersHoldsGetView
    MattersHoldsGetView (..),

    -- ** MattersHoldsListView
    MattersHoldsListView (..),

    -- ** MattersListState
    MattersListState (..),

    -- ** MattersListView
    MattersListView (..),
  )
where

import Gogol.Prelude qualified as Core
import Gogol.Vault.Internal.Product
import Gogol.Vault.Internal.Sum

-- | Default request referring to version @v1@ of the Google Vault API. This contains the host and root path used as a starting point for constructing service requests.
vaultService :: Core.ServiceConfig
vaultService :: ServiceConfig
vaultService =
  ServiceId -> ByteString -> ServiceConfig
Core.defaultService
    (Text -> ServiceId
Core.ServiceId Text
"vault:v1")
    ByteString
"vault.googleapis.com"

-- | Manage your eDiscovery data
type Ediscovery'FullControl =
  "https://www.googleapis.com/auth/ediscovery"

-- | View your eDiscovery data
type Ediscovery'Readonly =
  "https://www.googleapis.com/auth/ediscovery.readonly"