content: {-# 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.ServiceUser.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.ServiceUser.Types
    ( -- * Configuration
      serviceUserService,
  
      -- * OAuth Scopes
      CloudPlatform'FullControl,
      CloudPlatform'ReadOnly,
      Service'Management,
  
      -- * Types
  
      -- ** Xgafv
      Xgafv (..),
  
      -- ** Api
      Api (..),
      newApi,
  
      -- ** Api_Syntax
      Api_Syntax (..),
  
      -- ** AuthProvider
      AuthProvider (..),
      newAuthProvider,
  
      -- ** AuthRequirement
      AuthRequirement (..),
      newAuthRequirement,
  
      -- ** Authentication
      Authentication (..),
      newAuthentication,
  
      -- ** AuthenticationRule
      AuthenticationRule (..),
      newAuthenticationRule,
  
      -- ** AuthorizationConfig
      AuthorizationConfig (..),
      newAuthorizationConfig,
  
      -- ** Backend
      Backend (..),
      newBackend,
  
      -- ** BackendRule
      BackendRule (..),
      newBackendRule,
  
      -- ** Billing
      Billing (..),
      newBilling,
  
      -- ** BillingDestination
      BillingDestination (..),
      newBillingDestination,
  
      -- ** Context
      Context (..),
      newContext,
  
      -- ** ContextRule
      ContextRule (..),
      newContextRule,
  
      -- ** Control
      Control (..),
      newControl,
  
      -- ** CustomError
      CustomError (..),
      newCustomError,
  
      -- ** CustomErrorRule
      CustomErrorRule (..),
      newCustomErrorRule,
  
      -- ** CustomHttpPattern
      CustomHttpPattern (..),
      newCustomHttpPattern,
  
      -- ** DisableServiceRequest
      DisableServiceRequest (..),
      newDisableServiceRequest,
  
      -- ** Documentation
      Documentation (..),
      newDocumentation,
  
      -- ** DocumentationRule
      DocumentationRule (..),
      newDocumentationRule,
  
      -- ** EnableServiceRequest
      EnableServiceRequest (..),
      newEnableServiceRequest,
  
      -- ** Endpoint
      Endpoint (..),
      newEndpoint,
  
      -- ** Enum'
      Enum' (..),
      newEnum,
  
      -- ** Enum_Syntax
      Enum_Syntax (..),
  
      -- ** EnumValue
      EnumValue (..),
      newEnumValue,
  
      -- ** Experimental
      Experimental (..),
      newExperimental,
  
      -- ** Field
      Field (..),
      newField,
  
      -- ** Field_Cardinality
      Field_Cardinality (..),
  
      -- ** Field_Kind
      Field_Kind (..),
  
      -- ** Http
      Http (..),
      newHttp,
  
      -- ** HttpRule
      HttpRule (..),
      newHttpRule,
  
      -- ** LabelDescriptor
      LabelDescriptor (..),
      newLabelDescriptor,
  
      -- ** LabelDescriptor_ValueType
      LabelDescriptor_ValueType (..),
  
      -- ** ListEnabledServicesResponse
      ListEnabledServicesResponse (..),
      newListEnabledServicesResponse,
  
      -- ** LogDescriptor
      LogDescriptor (..),
      newLogDescriptor,
  
      -- ** Logging
      Logging (..),
      newLogging,
  
      -- ** LoggingDestination
      LoggingDestination (..),
      newLoggingDestination,
  
      -- ** Method
      Method (..),
      newMethod,
  
      -- ** Method_Syntax
      Method_Syntax (..),
  
      -- ** MetricDescriptor
      MetricDescriptor (..),
      newMetricDescriptor,
  
      -- ** MetricDescriptor_MetricKind
      MetricDescriptor_MetricKind (..),
  
      -- ** MetricDescriptor_ValueType
      MetricDescriptor_ValueType (..),
  
      -- ** MetricDescriptorMetadata
      MetricDescriptorMetadata (..),
      newMetricDescriptorMetadata,
  
      -- ** MetricDescriptorMetadata_LaunchStage
      MetricDescriptorMetadata_LaunchStage (..),
  
      -- ** MetricRule
      MetricRule (..),
      newMetricRule,
  
      -- ** MetricRule_MetricCosts
      MetricRule_MetricCosts (..),
      newMetricRule_MetricCosts,
  
      -- ** Mixin
      Mixin (..),
      newMixin,
  
      -- ** MonitoredResourceDescriptor
      MonitoredResourceDescriptor (..),
      newMonitoredResourceDescriptor,
  
      -- ** Monitoring
      Monitoring (..),
      newMonitoring,
  
      -- ** MonitoringDestination
      MonitoringDestination (..),
      newMonitoringDestination,
  
      -- ** OAuthRequirements
      OAuthRequirements (..),
      newOAuthRequirements,
  
      -- ** Operation
      Operation (..),
      newOperation,
  
      -- ** Operation_Metadata
      Operation_Metadata (..),
      newOperation_Metadata,
  
      -- ** Operation_Response
      Operation_Response (..),
      newOperation_Response,
  
      -- ** OperationMetadata
      OperationMetadata (..),
      newOperationMetadata,
  
      -- ** Option
      Option (..),
      newOption,
  
      -- ** Option_Value
      Option_Value (..),
      newOption_Value,
  
      -- ** Page
      Page (..),
      newPage,
  
      -- ** PublishedService
      PublishedService (..),
      newPublishedService,
  
      -- ** Quota
      Quota (..),
      newQuota,
  
      -- ** QuotaLimit
      QuotaLimit (..),
      newQuotaLimit,
  
      -- ** QuotaLimit_Values
      QuotaLimit_Values (..),
      newQuotaLimit_Values,
  
      -- ** SearchServicesResponse
      SearchServicesResponse (..),
      newSearchServicesResponse,
  
      -- ** Service
      Service (..),
      newService,
  
      -- ** SourceContext
      SourceContext (..),
      newSourceContext,
  
      -- ** SourceInfo
      SourceInfo (..),
      newSourceInfo,
  
      -- ** SourceInfo_SourceFilesItem
      SourceInfo_SourceFilesItem (..),
      newSourceInfo_SourceFilesItem,
  
      -- ** Status
      Status (..),
      newStatus,
  
      -- ** Status_DetailsItem
      Status_DetailsItem (..),
      newStatus_DetailsItem,
  
      -- ** Step
      Step (..),
      newStep,
  
      -- ** Step_Status
      Step_Status (..),
  
      -- ** SystemParameter
      SystemParameter (..),
      newSystemParameter,
  
      -- ** SystemParameterRule
      SystemParameterRule (..),
      newSystemParameterRule,
  
      -- ** SystemParameters
      SystemParameters (..),
      newSystemParameters,
  
      -- ** Type
      Type (..),
      newType,
  
      -- ** Type_Syntax
      Type_Syntax (..),
  
      -- ** Usage
      Usage (..),
      newUsage,
  
      -- ** UsageRule
      UsageRule (..),
      newUsageRule,
    )
  where
  
  import Gogol.Prelude qualified as Core
  import Gogol.ServiceUser.Internal.Product
  import Gogol.ServiceUser.Internal.Sum
  
  -- | Default request referring to version @v1@ of the Service User API. This contains the host and root path used as a starting point for constructing service requests.
  serviceUserService :: Core.ServiceConfig
  serviceUserService =
    Core.defaultService
      (Core.ServiceId "serviceuser:v1")
      "serviceuser.googleapis.com"
  
  -- | View and manage your data across Google Cloud Platform services
  type CloudPlatform'FullControl =
    "https://www.googleapis.com/auth/cloud-platform"
  
  -- | View your data across Google Cloud Platform services
  type CloudPlatform'ReadOnly =
    "https://www.googleapis.com/auth/cloud-platform.read-only"
  
  -- | Manage your Google API service configuration
  type Service'Management =
    "https://www.googleapis.com/auth/service.management"
  