{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}

-- Derived from AWS service descriptions, licensed under Apache 2.0.

-- |
-- Module      : Amazonka.CodeBuild.Types
-- Copyright   : (c) 2013-2021 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
module Amazonka.CodeBuild.Types
  ( -- * Service Configuration
    defaultService,

    -- * Errors
    _ResourceAlreadyExistsException,
    _OAuthProviderException,
    _AccountLimitExceededException,
    _InvalidInputException,
    _ResourceNotFoundException,

    -- * ArtifactNamespace
    ArtifactNamespace (..),

    -- * ArtifactPackaging
    ArtifactPackaging (..),

    -- * ArtifactsType
    ArtifactsType (..),

    -- * AuthType
    AuthType (..),

    -- * BatchReportModeType
    BatchReportModeType (..),

    -- * BucketOwnerAccess
    BucketOwnerAccess (..),

    -- * BuildBatchPhaseType
    BuildBatchPhaseType (..),

    -- * BuildPhaseType
    BuildPhaseType (..),

    -- * CacheMode
    CacheMode (..),

    -- * CacheType
    CacheType (..),

    -- * ComputeType
    ComputeType (..),

    -- * CredentialProviderType
    CredentialProviderType (..),

    -- * EnvironmentType
    EnvironmentType (..),

    -- * EnvironmentVariableType
    EnvironmentVariableType (..),

    -- * FileSystemType
    FileSystemType (..),

    -- * ImagePullCredentialsType
    ImagePullCredentialsType (..),

    -- * LanguageType
    LanguageType (..),

    -- * LogsConfigStatusType
    LogsConfigStatusType (..),

    -- * PlatformType
    PlatformType (..),

    -- * ProjectSortByType
    ProjectSortByType (..),

    -- * ProjectVisibilityType
    ProjectVisibilityType (..),

    -- * ReportCodeCoverageSortByType
    ReportCodeCoverageSortByType (..),

    -- * ReportExportConfigType
    ReportExportConfigType (..),

    -- * ReportGroupSortByType
    ReportGroupSortByType (..),

    -- * ReportGroupStatusType
    ReportGroupStatusType (..),

    -- * ReportGroupTrendFieldType
    ReportGroupTrendFieldType (..),

    -- * ReportPackagingType
    ReportPackagingType (..),

    -- * ReportStatusType
    ReportStatusType (..),

    -- * ReportType
    ReportType (..),

    -- * RetryBuildBatchType
    RetryBuildBatchType (..),

    -- * ServerType
    ServerType (..),

    -- * SharedResourceSortByType
    SharedResourceSortByType (..),

    -- * SortOrderType
    SortOrderType (..),

    -- * SourceAuthType
    SourceAuthType (..),

    -- * SourceType
    SourceType (..),

    -- * StatusType
    StatusType (..),

    -- * WebhookBuildType
    WebhookBuildType (..),

    -- * WebhookFilterType
    WebhookFilterType (..),

    -- * BatchRestrictions
    BatchRestrictions (..),
    newBatchRestrictions,
    batchRestrictions_maximumBuildsAllowed,
    batchRestrictions_computeTypesAllowed,

    -- * Build
    Build (..),
    newBuild,
    build_phases,
    build_buildComplete,
    build_secondaryArtifacts,
    build_arn,
    build_exportedEnvironmentVariables,
    build_buildNumber,
    build_startTime,
    build_artifacts,
    build_environment,
    build_initiator,
    build_networkInterface,
    build_secondarySourceVersions,
    build_currentPhase,
    build_queuedTimeoutInMinutes,
    build_cache,
    build_secondarySources,
    build_debugSession,
    build_sourceVersion,
    build_buildBatchArn,
    build_logs,
    build_resolvedSourceVersion,
    build_vpcConfig,
    build_endTime,
    build_projectName,
    build_buildStatus,
    build_source,
    build_id,
    build_fileSystemLocations,
    build_reportArns,
    build_encryptionKey,
    build_serviceRole,
    build_timeoutInMinutes,

    -- * BuildArtifacts
    BuildArtifacts (..),
    newBuildArtifacts,
    buildArtifacts_location,
    buildArtifacts_md5sum,
    buildArtifacts_encryptionDisabled,
    buildArtifacts_overrideArtifactName,
    buildArtifacts_artifactIdentifier,
    buildArtifacts_sha256sum,
    buildArtifacts_bucketOwnerAccess,

    -- * BuildBatch
    BuildBatch (..),
    newBuildBatch,
    buildBatch_phases,
    buildBatch_secondaryArtifacts,
    buildBatch_buildTimeoutInMinutes,
    buildBatch_debugSessionEnabled,
    buildBatch_arn,
    buildBatch_startTime,
    buildBatch_artifacts,
    buildBatch_environment,
    buildBatch_initiator,
    buildBatch_secondarySourceVersions,
    buildBatch_buildBatchStatus,
    buildBatch_currentPhase,
    buildBatch_buildBatchNumber,
    buildBatch_queuedTimeoutInMinutes,
    buildBatch_cache,
    buildBatch_secondarySources,
    buildBatch_sourceVersion,
    buildBatch_resolvedSourceVersion,
    buildBatch_vpcConfig,
    buildBatch_endTime,
    buildBatch_projectName,
    buildBatch_buildGroups,
    buildBatch_source,
    buildBatch_id,
    buildBatch_fileSystemLocations,
    buildBatch_buildBatchConfig,
    buildBatch_encryptionKey,
    buildBatch_logConfig,
    buildBatch_serviceRole,
    buildBatch_complete,

    -- * BuildBatchFilter
    BuildBatchFilter (..),
    newBuildBatchFilter,
    buildBatchFilter_status,

    -- * BuildBatchPhase
    BuildBatchPhase (..),
    newBuildBatchPhase,
    buildBatchPhase_contexts,
    buildBatchPhase_startTime,
    buildBatchPhase_phaseStatus,
    buildBatchPhase_phaseType,
    buildBatchPhase_endTime,
    buildBatchPhase_durationInSeconds,

    -- * BuildGroup
    BuildGroup (..),
    newBuildGroup,
    buildGroup_identifier,
    buildGroup_dependsOn,
    buildGroup_ignoreFailure,
    buildGroup_currentBuildSummary,
    buildGroup_priorBuildSummaryList,

    -- * BuildNotDeleted
    BuildNotDeleted (..),
    newBuildNotDeleted,
    buildNotDeleted_id,
    buildNotDeleted_statusCode,

    -- * BuildPhase
    BuildPhase (..),
    newBuildPhase,
    buildPhase_contexts,
    buildPhase_startTime,
    buildPhase_phaseStatus,
    buildPhase_phaseType,
    buildPhase_endTime,
    buildPhase_durationInSeconds,

    -- * BuildStatusConfig
    BuildStatusConfig (..),
    newBuildStatusConfig,
    buildStatusConfig_context,
    buildStatusConfig_targetUrl,

    -- * BuildSummary
    BuildSummary (..),
    newBuildSummary,
    buildSummary_secondaryArtifacts,
    buildSummary_primaryArtifact,
    buildSummary_arn,
    buildSummary_buildStatus,
    buildSummary_requestedOn,

    -- * CloudWatchLogsConfig
    CloudWatchLogsConfig (..),
    newCloudWatchLogsConfig,
    cloudWatchLogsConfig_groupName,
    cloudWatchLogsConfig_streamName,
    cloudWatchLogsConfig_status,

    -- * CodeCoverage
    CodeCoverage (..),
    newCodeCoverage,
    codeCoverage_expired,
    codeCoverage_branchesMissed,
    codeCoverage_linesMissed,
    codeCoverage_filePath,
    codeCoverage_branchesCovered,
    codeCoverage_linesCovered,
    codeCoverage_branchCoveragePercentage,
    codeCoverage_id,
    codeCoverage_lineCoveragePercentage,
    codeCoverage_reportARN,

    -- * CodeCoverageReportSummary
    CodeCoverageReportSummary (..),
    newCodeCoverageReportSummary,
    codeCoverageReportSummary_branchesMissed,
    codeCoverageReportSummary_linesMissed,
    codeCoverageReportSummary_branchesCovered,
    codeCoverageReportSummary_linesCovered,
    codeCoverageReportSummary_branchCoveragePercentage,
    codeCoverageReportSummary_lineCoveragePercentage,

    -- * DebugSession
    DebugSession (..),
    newDebugSession,
    debugSession_sessionEnabled,
    debugSession_sessionTarget,

    -- * EnvironmentImage
    EnvironmentImage (..),
    newEnvironmentImage,
    environmentImage_versions,
    environmentImage_name,
    environmentImage_description,

    -- * EnvironmentLanguage
    EnvironmentLanguage (..),
    newEnvironmentLanguage,
    environmentLanguage_images,
    environmentLanguage_language,

    -- * EnvironmentPlatform
    EnvironmentPlatform (..),
    newEnvironmentPlatform,
    environmentPlatform_platform,
    environmentPlatform_languages,

    -- * EnvironmentVariable
    EnvironmentVariable (..),
    newEnvironmentVariable,
    environmentVariable_type,
    environmentVariable_name,
    environmentVariable_value,

    -- * ExportedEnvironmentVariable
    ExportedEnvironmentVariable (..),
    newExportedEnvironmentVariable,
    exportedEnvironmentVariable_value,
    exportedEnvironmentVariable_name,

    -- * GitSubmodulesConfig
    GitSubmodulesConfig (..),
    newGitSubmodulesConfig,
    gitSubmodulesConfig_fetchSubmodules,

    -- * LogsConfig
    LogsConfig (..),
    newLogsConfig,
    logsConfig_s3Logs,
    logsConfig_cloudWatchLogs,

    -- * LogsLocation
    LogsLocation (..),
    newLogsLocation,
    logsLocation_deepLink,
    logsLocation_s3Logs,
    logsLocation_cloudWatchLogs,
    logsLocation_s3DeepLink,
    logsLocation_s3LogsArn,
    logsLocation_cloudWatchLogsArn,
    logsLocation_groupName,
    logsLocation_streamName,

    -- * NetworkInterface
    NetworkInterface (..),
    newNetworkInterface,
    networkInterface_subnetId,
    networkInterface_networkInterfaceId,

    -- * PhaseContext
    PhaseContext (..),
    newPhaseContext,
    phaseContext_message,
    phaseContext_statusCode,

    -- * Project
    Project (..),
    newProject,
    project_secondaryArtifacts,
    project_resourceAccessRole,
    project_arn,
    project_artifacts,
    project_environment,
    project_created,
    project_concurrentBuildLimit,
    project_secondarySourceVersions,
    project_queuedTimeoutInMinutes,
    project_cache,
    project_secondarySources,
    project_sourceVersion,
    project_name,
    project_vpcConfig,
    project_publicProjectAlias,
    project_source,
    project_badge,
    project_logsConfig,
    project_fileSystemLocations,
    project_buildBatchConfig,
    project_encryptionKey,
    project_lastModified,
    project_projectVisibility,
    project_webhook,
    project_description,
    project_serviceRole,
    project_tags,
    project_timeoutInMinutes,

    -- * ProjectArtifacts
    ProjectArtifacts (..),
    newProjectArtifacts,
    projectArtifacts_packaging,
    projectArtifacts_path,
    projectArtifacts_location,
    projectArtifacts_name,
    projectArtifacts_encryptionDisabled,
    projectArtifacts_overrideArtifactName,
    projectArtifacts_artifactIdentifier,
    projectArtifacts_bucketOwnerAccess,
    projectArtifacts_namespaceType,
    projectArtifacts_type,

    -- * ProjectBadge
    ProjectBadge (..),
    newProjectBadge,
    projectBadge_badgeEnabled,
    projectBadge_badgeRequestUrl,

    -- * ProjectBuildBatchConfig
    ProjectBuildBatchConfig (..),
    newProjectBuildBatchConfig,
    projectBuildBatchConfig_combineArtifacts,
    projectBuildBatchConfig_timeoutInMins,
    projectBuildBatchConfig_restrictions,
    projectBuildBatchConfig_batchReportMode,
    projectBuildBatchConfig_serviceRole,

    -- * ProjectCache
    ProjectCache (..),
    newProjectCache,
    projectCache_location,
    projectCache_modes,
    projectCache_type,

    -- * ProjectEnvironment
    ProjectEnvironment (..),
    newProjectEnvironment,
    projectEnvironment_imagePullCredentialsType,
    projectEnvironment_privilegedMode,
    projectEnvironment_registryCredential,
    projectEnvironment_certificate,
    projectEnvironment_environmentVariables,
    projectEnvironment_type,
    projectEnvironment_image,
    projectEnvironment_computeType,

    -- * ProjectFileSystemLocation
    ProjectFileSystemLocation (..),
    newProjectFileSystemLocation,
    projectFileSystemLocation_location,
    projectFileSystemLocation_identifier,
    projectFileSystemLocation_mountOptions,
    projectFileSystemLocation_type,
    projectFileSystemLocation_mountPoint,

    -- * ProjectSource
    ProjectSource (..),
    newProjectSource,
    projectSource_reportBuildStatus,
    projectSource_insecureSsl,
    projectSource_location,
    projectSource_auth,
    projectSource_buildspec,
    projectSource_sourceIdentifier,
    projectSource_gitCloneDepth,
    projectSource_gitSubmodulesConfig,
    projectSource_buildStatusConfig,
    projectSource_type,

    -- * ProjectSourceVersion
    ProjectSourceVersion (..),
    newProjectSourceVersion,
    projectSourceVersion_sourceIdentifier,
    projectSourceVersion_sourceVersion,

    -- * RegistryCredential
    RegistryCredential (..),
    newRegistryCredential,
    registryCredential_credential,
    registryCredential_credentialProvider,

    -- * Report
    Report (..),
    newReport,
    report_reportGroupArn,
    report_status,
    report_expired,
    report_executionId,
    report_truncated,
    report_arn,
    report_created,
    report_name,
    report_codeCoverageSummary,
    report_testSummary,
    report_type,
    report_exportConfig,

    -- * ReportExportConfig
    ReportExportConfig (..),
    newReportExportConfig,
    reportExportConfig_exportConfigType,
    reportExportConfig_s3Destination,

    -- * ReportFilter
    ReportFilter (..),
    newReportFilter,
    reportFilter_status,

    -- * ReportGroup
    ReportGroup (..),
    newReportGroup,
    reportGroup_status,
    reportGroup_arn,
    reportGroup_created,
    reportGroup_name,
    reportGroup_type,
    reportGroup_lastModified,
    reportGroup_exportConfig,
    reportGroup_tags,

    -- * ReportGroupTrendStats
    ReportGroupTrendStats (..),
    newReportGroupTrendStats,
    reportGroupTrendStats_max,
    reportGroupTrendStats_average,
    reportGroupTrendStats_min,

    -- * ReportWithRawData
    ReportWithRawData (..),
    newReportWithRawData,
    reportWithRawData_data,
    reportWithRawData_reportArn,

    -- * ResolvedArtifact
    ResolvedArtifact (..),
    newResolvedArtifact,
    resolvedArtifact_location,
    resolvedArtifact_identifier,
    resolvedArtifact_type,

    -- * S3LogsConfig
    S3LogsConfig (..),
    newS3LogsConfig,
    s3LogsConfig_location,
    s3LogsConfig_encryptionDisabled,
    s3LogsConfig_bucketOwnerAccess,
    s3LogsConfig_status,

    -- * S3ReportExportConfig
    S3ReportExportConfig (..),
    newS3ReportExportConfig,
    s3ReportExportConfig_packaging,
    s3ReportExportConfig_path,
    s3ReportExportConfig_bucket,
    s3ReportExportConfig_bucketOwner,
    s3ReportExportConfig_encryptionDisabled,
    s3ReportExportConfig_encryptionKey,

    -- * SourceAuth
    SourceAuth (..),
    newSourceAuth,
    sourceAuth_resource,
    sourceAuth_type,

    -- * SourceCredentialsInfo
    SourceCredentialsInfo (..),
    newSourceCredentialsInfo,
    sourceCredentialsInfo_arn,
    sourceCredentialsInfo_serverType,
    sourceCredentialsInfo_authType,

    -- * Tag
    Tag (..),
    newTag,
    tag_value,
    tag_key,

    -- * TestCase
    TestCase (..),
    newTestCase,
    testCase_durationInNanoSeconds,
    testCase_status,
    testCase_expired,
    testCase_prefix,
    testCase_name,
    testCase_testRawDataPath,
    testCase_message,
    testCase_reportArn,

    -- * TestCaseFilter
    TestCaseFilter (..),
    newTestCaseFilter,
    testCaseFilter_status,
    testCaseFilter_keyword,

    -- * TestReportSummary
    TestReportSummary (..),
    newTestReportSummary,
    testReportSummary_total,
    testReportSummary_statusCounts,
    testReportSummary_durationInNanoSeconds,

    -- * VpcConfig
    VpcConfig (..),
    newVpcConfig,
    vpcConfig_securityGroupIds,
    vpcConfig_vpcId,
    vpcConfig_subnets,

    -- * Webhook
    Webhook (..),
    newWebhook,
    webhook_branchFilter,
    webhook_lastModifiedSecret,
    webhook_url,
    webhook_secret,
    webhook_filterGroups,
    webhook_payloadUrl,
    webhook_buildType,

    -- * WebhookFilter
    WebhookFilter (..),
    newWebhookFilter,
    webhookFilter_excludeMatchedPattern,
    webhookFilter_type,
    webhookFilter_pattern,
  )
where

import Amazonka.CodeBuild.Types.ArtifactNamespace
import Amazonka.CodeBuild.Types.ArtifactPackaging
import Amazonka.CodeBuild.Types.ArtifactsType
import Amazonka.CodeBuild.Types.AuthType
import Amazonka.CodeBuild.Types.BatchReportModeType
import Amazonka.CodeBuild.Types.BatchRestrictions
import Amazonka.CodeBuild.Types.BucketOwnerAccess
import Amazonka.CodeBuild.Types.Build
import Amazonka.CodeBuild.Types.BuildArtifacts
import Amazonka.CodeBuild.Types.BuildBatch
import Amazonka.CodeBuild.Types.BuildBatchFilter
import Amazonka.CodeBuild.Types.BuildBatchPhase
import Amazonka.CodeBuild.Types.BuildBatchPhaseType
import Amazonka.CodeBuild.Types.BuildGroup
import Amazonka.CodeBuild.Types.BuildNotDeleted
import Amazonka.CodeBuild.Types.BuildPhase
import Amazonka.CodeBuild.Types.BuildPhaseType
import Amazonka.CodeBuild.Types.BuildStatusConfig
import Amazonka.CodeBuild.Types.BuildSummary
import Amazonka.CodeBuild.Types.CacheMode
import Amazonka.CodeBuild.Types.CacheType
import Amazonka.CodeBuild.Types.CloudWatchLogsConfig
import Amazonka.CodeBuild.Types.CodeCoverage
import Amazonka.CodeBuild.Types.CodeCoverageReportSummary
import Amazonka.CodeBuild.Types.ComputeType
import Amazonka.CodeBuild.Types.CredentialProviderType
import Amazonka.CodeBuild.Types.DebugSession
import Amazonka.CodeBuild.Types.EnvironmentImage
import Amazonka.CodeBuild.Types.EnvironmentLanguage
import Amazonka.CodeBuild.Types.EnvironmentPlatform
import Amazonka.CodeBuild.Types.EnvironmentType
import Amazonka.CodeBuild.Types.EnvironmentVariable
import Amazonka.CodeBuild.Types.EnvironmentVariableType
import Amazonka.CodeBuild.Types.ExportedEnvironmentVariable
import Amazonka.CodeBuild.Types.FileSystemType
import Amazonka.CodeBuild.Types.GitSubmodulesConfig
import Amazonka.CodeBuild.Types.ImagePullCredentialsType
import Amazonka.CodeBuild.Types.LanguageType
import Amazonka.CodeBuild.Types.LogsConfig
import Amazonka.CodeBuild.Types.LogsConfigStatusType
import Amazonka.CodeBuild.Types.LogsLocation
import Amazonka.CodeBuild.Types.NetworkInterface
import Amazonka.CodeBuild.Types.PhaseContext
import Amazonka.CodeBuild.Types.PlatformType
import Amazonka.CodeBuild.Types.Project
import Amazonka.CodeBuild.Types.ProjectArtifacts
import Amazonka.CodeBuild.Types.ProjectBadge
import Amazonka.CodeBuild.Types.ProjectBuildBatchConfig
import Amazonka.CodeBuild.Types.ProjectCache
import Amazonka.CodeBuild.Types.ProjectEnvironment
import Amazonka.CodeBuild.Types.ProjectFileSystemLocation
import Amazonka.CodeBuild.Types.ProjectSortByType
import Amazonka.CodeBuild.Types.ProjectSource
import Amazonka.CodeBuild.Types.ProjectSourceVersion
import Amazonka.CodeBuild.Types.ProjectVisibilityType
import Amazonka.CodeBuild.Types.RegistryCredential
import Amazonka.CodeBuild.Types.Report
import Amazonka.CodeBuild.Types.ReportCodeCoverageSortByType
import Amazonka.CodeBuild.Types.ReportExportConfig
import Amazonka.CodeBuild.Types.ReportExportConfigType
import Amazonka.CodeBuild.Types.ReportFilter
import Amazonka.CodeBuild.Types.ReportGroup
import Amazonka.CodeBuild.Types.ReportGroupSortByType
import Amazonka.CodeBuild.Types.ReportGroupStatusType
import Amazonka.CodeBuild.Types.ReportGroupTrendFieldType
import Amazonka.CodeBuild.Types.ReportGroupTrendStats
import Amazonka.CodeBuild.Types.ReportPackagingType
import Amazonka.CodeBuild.Types.ReportStatusType
import Amazonka.CodeBuild.Types.ReportType
import Amazonka.CodeBuild.Types.ReportWithRawData
import Amazonka.CodeBuild.Types.ResolvedArtifact
import Amazonka.CodeBuild.Types.RetryBuildBatchType
import Amazonka.CodeBuild.Types.S3LogsConfig
import Amazonka.CodeBuild.Types.S3ReportExportConfig
import Amazonka.CodeBuild.Types.ServerType
import Amazonka.CodeBuild.Types.SharedResourceSortByType
import Amazonka.CodeBuild.Types.SortOrderType
import Amazonka.CodeBuild.Types.SourceAuth
import Amazonka.CodeBuild.Types.SourceAuthType
import Amazonka.CodeBuild.Types.SourceCredentialsInfo
import Amazonka.CodeBuild.Types.SourceType
import Amazonka.CodeBuild.Types.StatusType
import Amazonka.CodeBuild.Types.Tag
import Amazonka.CodeBuild.Types.TestCase
import Amazonka.CodeBuild.Types.TestCaseFilter
import Amazonka.CodeBuild.Types.TestReportSummary
import Amazonka.CodeBuild.Types.VpcConfig
import Amazonka.CodeBuild.Types.Webhook
import Amazonka.CodeBuild.Types.WebhookBuildType
import Amazonka.CodeBuild.Types.WebhookFilter
import Amazonka.CodeBuild.Types.WebhookFilterType
import qualified Amazonka.Core as Core
import qualified Amazonka.Lens as Lens
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Sign.V4 as Sign

-- | API version @2016-10-06@ of the Amazon CodeBuild SDK configuration.
defaultService :: Core.Service
defaultService :: Service
defaultService =
  Service :: Abbrev
-> Signer
-> ByteString
-> ByteString
-> ByteString
-> (Region -> Endpoint)
-> Maybe Seconds
-> (Status -> Bool)
-> (Status -> [Header] -> ByteStringLazy -> Error)
-> Retry
-> Service
Core.Service
    { $sel:_serviceAbbrev:Service :: Abbrev
Core._serviceAbbrev = Abbrev
"CodeBuild",
      $sel:_serviceSigner:Service :: Signer
Core._serviceSigner = Signer
Sign.v4,
      $sel:_serviceEndpointPrefix:Service :: ByteString
Core._serviceEndpointPrefix = ByteString
"codebuild",
      $sel:_serviceSigningName:Service :: ByteString
Core._serviceSigningName = ByteString
"codebuild",
      $sel:_serviceVersion:Service :: ByteString
Core._serviceVersion = ByteString
"2016-10-06",
      $sel:_serviceEndpoint:Service :: Region -> Endpoint
Core._serviceEndpoint =
        Service -> Region -> Endpoint
Core.defaultEndpoint Service
defaultService,
      $sel:_serviceTimeout:Service :: Maybe Seconds
Core._serviceTimeout = Seconds -> Maybe Seconds
forall a. a -> Maybe a
Prelude.Just Seconds
70,
      $sel:_serviceCheck:Service :: Status -> Bool
Core._serviceCheck = Status -> Bool
Core.statusSuccess,
      $sel:_serviceError:Service :: Status -> [Header] -> ByteStringLazy -> Error
Core._serviceError = Abbrev -> Status -> [Header] -> ByteStringLazy -> Error
Core.parseJSONError Abbrev
"CodeBuild",
      $sel:_serviceRetry:Service :: Retry
Core._serviceRetry = Retry
retry
    }
  where
    retry :: Retry
retry =
      Exponential :: Double -> Int -> Int -> (ServiceError -> Maybe Text) -> Retry
Core.Exponential
        { $sel:_retryBase:Exponential :: Double
Core._retryBase = Double
5.0e-2,
          $sel:_retryGrowth:Exponential :: Int
Core._retryGrowth = Int
2,
          $sel:_retryAttempts:Exponential :: Int
Core._retryAttempts = Int
5,
          $sel:_retryCheck:Exponential :: ServiceError -> Maybe Text
Core._retryCheck = ServiceError -> Maybe Text
forall a. IsString a => ServiceError -> Maybe a
check
        }
    check :: ServiceError -> Maybe a
check ServiceError
e
      | Getting Any ServiceError ServiceError -> ServiceError -> Bool
forall s a. Getting Any s a -> s -> Bool
Lens.has
          ( ErrorCode -> Getting Any ServiceError ServiceError
forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
ErrorCode -> Optic' p f ServiceError ServiceError
Core.hasCode ErrorCode
"ThrottledException"
              Getting Any ServiceError ServiceError
-> Getting Any ServiceError ServiceError
-> Getting Any ServiceError ServiceError
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. Int -> Getting Any ServiceError ServiceError
forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
400
          )
          ServiceError
e =
        a -> Maybe a
forall a. a -> Maybe a
Prelude.Just a
"throttled_exception"
      | Getting Any ServiceError ServiceError -> ServiceError -> Bool
forall s a. Getting Any s a -> s -> Bool
Lens.has (Int -> Getting Any ServiceError ServiceError
forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
429) ServiceError
e =
        a -> Maybe a
forall a. a -> Maybe a
Prelude.Just a
"too_many_requests"
      | Getting Any ServiceError ServiceError -> ServiceError -> Bool
forall s a. Getting Any s a -> s -> Bool
Lens.has
          ( ErrorCode -> Getting Any ServiceError ServiceError
forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
ErrorCode -> Optic' p f ServiceError ServiceError
Core.hasCode ErrorCode
"ThrottlingException"
              Getting Any ServiceError ServiceError
-> Getting Any ServiceError ServiceError
-> Getting Any ServiceError ServiceError
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. Int -> Getting Any ServiceError ServiceError
forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
400
          )
          ServiceError
e =
        a -> Maybe a
forall a. a -> Maybe a
Prelude.Just a
"throttling_exception"
      | Getting Any ServiceError ServiceError -> ServiceError -> Bool
forall s a. Getting Any s a -> s -> Bool
Lens.has
          ( ErrorCode -> Getting Any ServiceError ServiceError
forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
ErrorCode -> Optic' p f ServiceError ServiceError
Core.hasCode ErrorCode
"Throttling"
              Getting Any ServiceError ServiceError
-> Getting Any ServiceError ServiceError
-> Getting Any ServiceError ServiceError
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. Int -> Getting Any ServiceError ServiceError
forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
400
          )
          ServiceError
e =
        a -> Maybe a
forall a. a -> Maybe a
Prelude.Just a
"throttling"
      | Getting Any ServiceError ServiceError -> ServiceError -> Bool
forall s a. Getting Any s a -> s -> Bool
Lens.has
          ( ErrorCode -> Getting Any ServiceError ServiceError
forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
ErrorCode -> Optic' p f ServiceError ServiceError
Core.hasCode
              ErrorCode
"ProvisionedThroughputExceededException"
              Getting Any ServiceError ServiceError
-> Getting Any ServiceError ServiceError
-> Getting Any ServiceError ServiceError
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. Int -> Getting Any ServiceError ServiceError
forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
400
          )
          ServiceError
e =
        a -> Maybe a
forall a. a -> Maybe a
Prelude.Just a
"throughput_exceeded"
      | Getting Any ServiceError ServiceError -> ServiceError -> Bool
forall s a. Getting Any s a -> s -> Bool
Lens.has (Int -> Getting Any ServiceError ServiceError
forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
504) ServiceError
e =
        a -> Maybe a
forall a. a -> Maybe a
Prelude.Just a
"gateway_timeout"
      | Getting Any ServiceError ServiceError -> ServiceError -> Bool
forall s a. Getting Any s a -> s -> Bool
Lens.has
          ( ErrorCode -> Getting Any ServiceError ServiceError
forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
ErrorCode -> Optic' p f ServiceError ServiceError
Core.hasCode ErrorCode
"RequestThrottledException"
              Getting Any ServiceError ServiceError
-> Getting Any ServiceError ServiceError
-> Getting Any ServiceError ServiceError
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. Int -> Getting Any ServiceError ServiceError
forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
400
          )
          ServiceError
e =
        a -> Maybe a
forall a. a -> Maybe a
Prelude.Just a
"request_throttled_exception"
      | Getting Any ServiceError ServiceError -> ServiceError -> Bool
forall s a. Getting Any s a -> s -> Bool
Lens.has (Int -> Getting Any ServiceError ServiceError
forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
502) ServiceError
e =
        a -> Maybe a
forall a. a -> Maybe a
Prelude.Just a
"bad_gateway"
      | Getting Any ServiceError ServiceError -> ServiceError -> Bool
forall s a. Getting Any s a -> s -> Bool
Lens.has (Int -> Getting Any ServiceError ServiceError
forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
503) ServiceError
e =
        a -> Maybe a
forall a. a -> Maybe a
Prelude.Just a
"service_unavailable"
      | Getting Any ServiceError ServiceError -> ServiceError -> Bool
forall s a. Getting Any s a -> s -> Bool
Lens.has (Int -> Getting Any ServiceError ServiceError
forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
500) ServiceError
e =
        a -> Maybe a
forall a. a -> Maybe a
Prelude.Just a
"general_server_error"
      | Getting Any ServiceError ServiceError -> ServiceError -> Bool
forall s a. Getting Any s a -> s -> Bool
Lens.has (Int -> Getting Any ServiceError ServiceError
forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
509) ServiceError
e =
        a -> Maybe a
forall a. a -> Maybe a
Prelude.Just a
"limit_exceeded"
      | Bool
Prelude.otherwise = Maybe a
forall a. Maybe a
Prelude.Nothing

-- | The specified Amazon Web Services resource cannot be created, because an
-- Amazon Web Services resource with the same settings already exists.
_ResourceAlreadyExistsException :: Core.AsError a => Lens.Getting (Prelude.First Core.ServiceError) a Core.ServiceError
_ResourceAlreadyExistsException :: Getting (First ServiceError) a ServiceError
_ResourceAlreadyExistsException =
  Service -> ErrorCode -> Getting (First ServiceError) a ServiceError
forall a.
AsError a =>
Service -> ErrorCode -> Getting (First ServiceError) a ServiceError
Core._MatchServiceError
    Service
defaultService
    ErrorCode
"ResourceAlreadyExistsException"

-- | There was a problem with the underlying OAuth provider.
_OAuthProviderException :: Core.AsError a => Lens.Getting (Prelude.First Core.ServiceError) a Core.ServiceError
_OAuthProviderException :: Getting (First ServiceError) a ServiceError
_OAuthProviderException =
  Service -> ErrorCode -> Getting (First ServiceError) a ServiceError
forall a.
AsError a =>
Service -> ErrorCode -> Getting (First ServiceError) a ServiceError
Core._MatchServiceError
    Service
defaultService
    ErrorCode
"OAuthProviderException"

-- | An Amazon Web Services service limit was exceeded for the calling Amazon
-- Web Services account.
_AccountLimitExceededException :: Core.AsError a => Lens.Getting (Prelude.First Core.ServiceError) a Core.ServiceError
_AccountLimitExceededException :: Getting (First ServiceError) a ServiceError
_AccountLimitExceededException =
  Service -> ErrorCode -> Getting (First ServiceError) a ServiceError
forall a.
AsError a =>
Service -> ErrorCode -> Getting (First ServiceError) a ServiceError
Core._MatchServiceError
    Service
defaultService
    ErrorCode
"AccountLimitExceededException"

-- | The input value that was provided is not valid.
_InvalidInputException :: Core.AsError a => Lens.Getting (Prelude.First Core.ServiceError) a Core.ServiceError
_InvalidInputException :: Getting (First ServiceError) a ServiceError
_InvalidInputException =
  Service -> ErrorCode -> Getting (First ServiceError) a ServiceError
forall a.
AsError a =>
Service -> ErrorCode -> Getting (First ServiceError) a ServiceError
Core._MatchServiceError
    Service
defaultService
    ErrorCode
"InvalidInputException"

-- | The specified Amazon Web Services resource cannot be found.
_ResourceNotFoundException :: Core.AsError a => Lens.Getting (Prelude.First Core.ServiceError) a Core.ServiceError
_ResourceNotFoundException :: Getting (First ServiceError) a ServiceError
_ResourceNotFoundException =
  Service -> ErrorCode -> Getting (First ServiceError) a ServiceError
forall a.
AsError a =>
Service -> ErrorCode -> Getting (First ServiceError) a ServiceError
Core._MatchServiceError
    Service
defaultService
    ErrorCode
"ResourceNotFoundException"