packages feed

amazonka-devicefarm-2.0: gen/Amazonka/DeviceFarm/Types.hs

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

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

-- |
-- Module      : Amazonka.DeviceFarm.Types
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
module Amazonka.DeviceFarm.Types
  ( -- * Service Configuration
    defaultService,

    -- * Errors
    _ArgumentException,
    _CannotDeleteException,
    _IdempotencyException,
    _InternalServiceException,
    _InvalidOperationException,
    _LimitExceededException,
    _NotEligibleException,
    _NotFoundException,
    _ServiceAccountException,
    _TagOperationException,
    _TagPolicyException,
    _TooManyTagsException,

    -- * ArtifactCategory
    ArtifactCategory (..),

    -- * ArtifactType
    ArtifactType (..),

    -- * BillingMethod
    BillingMethod (..),

    -- * CurrencyCode
    CurrencyCode (..),

    -- * DeviceAttribute
    DeviceAttribute (..),

    -- * DeviceAvailability
    DeviceAvailability (..),

    -- * DeviceFilterAttribute
    DeviceFilterAttribute (..),

    -- * DeviceFormFactor
    DeviceFormFactor (..),

    -- * DevicePlatform
    DevicePlatform (..),

    -- * DevicePoolType
    DevicePoolType (..),

    -- * ExecutionResult
    ExecutionResult (..),

    -- * ExecutionResultCode
    ExecutionResultCode (..),

    -- * ExecutionStatus
    ExecutionStatus (..),

    -- * InstanceStatus
    InstanceStatus (..),

    -- * InteractionMode
    InteractionMode (..),

    -- * NetworkProfileType
    NetworkProfileType (..),

    -- * OfferingTransactionType
    OfferingTransactionType (..),

    -- * OfferingType
    OfferingType (..),

    -- * RecurringChargeFrequency
    RecurringChargeFrequency (..),

    -- * RuleOperator
    RuleOperator (..),

    -- * SampleType
    SampleType (..),

    -- * TestGridSessionArtifactCategory
    TestGridSessionArtifactCategory (..),

    -- * TestGridSessionArtifactType
    TestGridSessionArtifactType (..),

    -- * TestGridSessionStatus
    TestGridSessionStatus (..),

    -- * TestType
    TestType (..),

    -- * UploadCategory
    UploadCategory (..),

    -- * UploadStatus
    UploadStatus (..),

    -- * UploadType
    UploadType (..),

    -- * AccountSettings
    AccountSettings (..),
    newAccountSettings,
    accountSettings_awsAccountNumber,
    accountSettings_defaultJobTimeoutMinutes,
    accountSettings_maxJobTimeoutMinutes,
    accountSettings_maxSlots,
    accountSettings_skipAppResign,
    accountSettings_trialMinutes,
    accountSettings_unmeteredDevices,
    accountSettings_unmeteredRemoteAccessDevices,

    -- * Artifact
    Artifact (..),
    newArtifact,
    artifact_arn,
    artifact_extension,
    artifact_name,
    artifact_type,
    artifact_url,

    -- * CPU
    CPU (..),
    newCPU,
    cpu_architecture,
    cpu_clock,
    cpu_frequency,

    -- * Counters
    Counters (..),
    newCounters,
    counters_errored,
    counters_failed,
    counters_passed,
    counters_skipped,
    counters_stopped,
    counters_total,
    counters_warned,

    -- * CreateRemoteAccessSessionConfiguration
    CreateRemoteAccessSessionConfiguration (..),
    newCreateRemoteAccessSessionConfiguration,
    createRemoteAccessSessionConfiguration_billingMethod,
    createRemoteAccessSessionConfiguration_vpceConfigurationArns,

    -- * CustomerArtifactPaths
    CustomerArtifactPaths (..),
    newCustomerArtifactPaths,
    customerArtifactPaths_androidPaths,
    customerArtifactPaths_deviceHostPaths,
    customerArtifactPaths_iosPaths,

    -- * Device
    Device (..),
    newDevice,
    device_arn,
    device_availability,
    device_carrier,
    device_cpu,
    device_fleetName,
    device_fleetType,
    device_formFactor,
    device_heapSize,
    device_image,
    device_instances,
    device_manufacturer,
    device_memory,
    device_model,
    device_modelId,
    device_name,
    device_os,
    device_platform,
    device_radio,
    device_remoteAccessEnabled,
    device_remoteDebugEnabled,
    device_resolution,

    -- * DeviceFilter
    DeviceFilter (..),
    newDeviceFilter,
    deviceFilter_attribute,
    deviceFilter_operator,
    deviceFilter_values,

    -- * DeviceInstance
    DeviceInstance (..),
    newDeviceInstance,
    deviceInstance_arn,
    deviceInstance_deviceArn,
    deviceInstance_instanceProfile,
    deviceInstance_labels,
    deviceInstance_status,
    deviceInstance_udid,

    -- * DeviceMinutes
    DeviceMinutes (..),
    newDeviceMinutes,
    deviceMinutes_metered,
    deviceMinutes_total,
    deviceMinutes_unmetered,

    -- * DevicePool
    DevicePool (..),
    newDevicePool,
    devicePool_arn,
    devicePool_description,
    devicePool_maxDevices,
    devicePool_name,
    devicePool_rules,
    devicePool_type,

    -- * DevicePoolCompatibilityResult
    DevicePoolCompatibilityResult (..),
    newDevicePoolCompatibilityResult,
    devicePoolCompatibilityResult_compatible,
    devicePoolCompatibilityResult_device,
    devicePoolCompatibilityResult_incompatibilityMessages,

    -- * DeviceSelectionConfiguration
    DeviceSelectionConfiguration (..),
    newDeviceSelectionConfiguration,
    deviceSelectionConfiguration_filters,
    deviceSelectionConfiguration_maxDevices,

    -- * DeviceSelectionResult
    DeviceSelectionResult (..),
    newDeviceSelectionResult,
    deviceSelectionResult_filters,
    deviceSelectionResult_matchedDevicesCount,
    deviceSelectionResult_maxDevices,

    -- * ExecutionConfiguration
    ExecutionConfiguration (..),
    newExecutionConfiguration,
    executionConfiguration_accountsCleanup,
    executionConfiguration_appPackagesCleanup,
    executionConfiguration_jobTimeoutMinutes,
    executionConfiguration_skipAppResign,
    executionConfiguration_videoCapture,

    -- * IncompatibilityMessage
    IncompatibilityMessage (..),
    newIncompatibilityMessage,
    incompatibilityMessage_message,
    incompatibilityMessage_type,

    -- * InstanceProfile
    InstanceProfile (..),
    newInstanceProfile,
    instanceProfile_arn,
    instanceProfile_description,
    instanceProfile_excludeAppPackagesFromCleanup,
    instanceProfile_name,
    instanceProfile_packageCleanup,
    instanceProfile_rebootAfterUse,

    -- * Job
    Job (..),
    newJob,
    job_arn,
    job_counters,
    job_created,
    job_device,
    job_deviceMinutes,
    job_instanceArn,
    job_message,
    job_name,
    job_result,
    job_started,
    job_status,
    job_stopped,
    job_type,
    job_videoCapture,
    job_videoEndpoint,

    -- * Location
    Location (..),
    newLocation,
    location_latitude,
    location_longitude,

    -- * MonetaryAmount
    MonetaryAmount (..),
    newMonetaryAmount,
    monetaryAmount_amount,
    monetaryAmount_currencyCode,

    -- * NetworkProfile
    NetworkProfile (..),
    newNetworkProfile,
    networkProfile_arn,
    networkProfile_description,
    networkProfile_downlinkBandwidthBits,
    networkProfile_downlinkDelayMs,
    networkProfile_downlinkJitterMs,
    networkProfile_downlinkLossPercent,
    networkProfile_name,
    networkProfile_type,
    networkProfile_uplinkBandwidthBits,
    networkProfile_uplinkDelayMs,
    networkProfile_uplinkJitterMs,
    networkProfile_uplinkLossPercent,

    -- * Offering
    Offering (..),
    newOffering,
    offering_description,
    offering_id,
    offering_platform,
    offering_recurringCharges,
    offering_type,

    -- * OfferingPromotion
    OfferingPromotion (..),
    newOfferingPromotion,
    offeringPromotion_description,
    offeringPromotion_id,

    -- * OfferingStatus
    OfferingStatus (..),
    newOfferingStatus,
    offeringStatus_effectiveOn,
    offeringStatus_offering,
    offeringStatus_quantity,
    offeringStatus_type,

    -- * OfferingTransaction
    OfferingTransaction (..),
    newOfferingTransaction,
    offeringTransaction_cost,
    offeringTransaction_createdOn,
    offeringTransaction_offeringPromotionId,
    offeringTransaction_offeringStatus,
    offeringTransaction_transactionId,

    -- * Problem
    Problem (..),
    newProblem,
    problem_device,
    problem_job,
    problem_message,
    problem_result,
    problem_run,
    problem_suite,
    problem_test,

    -- * ProblemDetail
    ProblemDetail (..),
    newProblemDetail,
    problemDetail_arn,
    problemDetail_name,

    -- * Project
    Project (..),
    newProject,
    project_arn,
    project_created,
    project_defaultJobTimeoutMinutes,
    project_name,
    project_vpcConfig,

    -- * Radios
    Radios (..),
    newRadios,
    radios_bluetooth,
    radios_gps,
    radios_nfc,
    radios_wifi,

    -- * RecurringCharge
    RecurringCharge (..),
    newRecurringCharge,
    recurringCharge_cost,
    recurringCharge_frequency,

    -- * RemoteAccessSession
    RemoteAccessSession (..),
    newRemoteAccessSession,
    remoteAccessSession_arn,
    remoteAccessSession_billingMethod,
    remoteAccessSession_clientId,
    remoteAccessSession_created,
    remoteAccessSession_device,
    remoteAccessSession_deviceMinutes,
    remoteAccessSession_deviceUdid,
    remoteAccessSession_endpoint,
    remoteAccessSession_hostAddress,
    remoteAccessSession_instanceArn,
    remoteAccessSession_interactionMode,
    remoteAccessSession_message,
    remoteAccessSession_name,
    remoteAccessSession_remoteDebugEnabled,
    remoteAccessSession_remoteRecordAppArn,
    remoteAccessSession_remoteRecordEnabled,
    remoteAccessSession_result,
    remoteAccessSession_skipAppResign,
    remoteAccessSession_started,
    remoteAccessSession_status,
    remoteAccessSession_stopped,
    remoteAccessSession_vpcConfig,

    -- * Resolution
    Resolution (..),
    newResolution,
    resolution_height,
    resolution_width,

    -- * Rule
    Rule (..),
    newRule,
    rule_attribute,
    rule_operator,
    rule_value,

    -- * Run
    Run (..),
    newRun,
    run_appUpload,
    run_arn,
    run_billingMethod,
    run_completedJobs,
    run_counters,
    run_created,
    run_customerArtifactPaths,
    run_deviceMinutes,
    run_devicePoolArn,
    run_deviceSelectionResult,
    run_eventCount,
    run_jobTimeoutMinutes,
    run_locale,
    run_location,
    run_message,
    run_name,
    run_networkProfile,
    run_parsingResultUrl,
    run_platform,
    run_radios,
    run_result,
    run_resultCode,
    run_seed,
    run_skipAppResign,
    run_started,
    run_status,
    run_stopped,
    run_testSpecArn,
    run_totalJobs,
    run_type,
    run_vpcConfig,
    run_webUrl,

    -- * Sample
    Sample (..),
    newSample,
    sample_arn,
    sample_type,
    sample_url,

    -- * ScheduleRunConfiguration
    ScheduleRunConfiguration (..),
    newScheduleRunConfiguration,
    scheduleRunConfiguration_auxiliaryApps,
    scheduleRunConfiguration_billingMethod,
    scheduleRunConfiguration_customerArtifactPaths,
    scheduleRunConfiguration_extraDataPackageArn,
    scheduleRunConfiguration_locale,
    scheduleRunConfiguration_location,
    scheduleRunConfiguration_networkProfileArn,
    scheduleRunConfiguration_radios,
    scheduleRunConfiguration_vpceConfigurationArns,

    -- * ScheduleRunTest
    ScheduleRunTest (..),
    newScheduleRunTest,
    scheduleRunTest_filter,
    scheduleRunTest_parameters,
    scheduleRunTest_testPackageArn,
    scheduleRunTest_testSpecArn,
    scheduleRunTest_type,

    -- * Suite
    Suite (..),
    newSuite,
    suite_arn,
    suite_counters,
    suite_created,
    suite_deviceMinutes,
    suite_message,
    suite_name,
    suite_result,
    suite_started,
    suite_status,
    suite_stopped,
    suite_type,

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

    -- * Test
    Test (..),
    newTest,
    test_arn,
    test_counters,
    test_created,
    test_deviceMinutes,
    test_message,
    test_name,
    test_result,
    test_started,
    test_status,
    test_stopped,
    test_type,

    -- * TestGridProject
    TestGridProject (..),
    newTestGridProject,
    testGridProject_arn,
    testGridProject_created,
    testGridProject_description,
    testGridProject_name,
    testGridProject_vpcConfig,

    -- * TestGridSession
    TestGridSession (..),
    newTestGridSession,
    testGridSession_arn,
    testGridSession_billingMinutes,
    testGridSession_created,
    testGridSession_ended,
    testGridSession_seleniumProperties,
    testGridSession_status,

    -- * TestGridSessionAction
    TestGridSessionAction (..),
    newTestGridSessionAction,
    testGridSessionAction_action,
    testGridSessionAction_duration,
    testGridSessionAction_requestMethod,
    testGridSessionAction_started,
    testGridSessionAction_statusCode,

    -- * TestGridSessionArtifact
    TestGridSessionArtifact (..),
    newTestGridSessionArtifact,
    testGridSessionArtifact_filename,
    testGridSessionArtifact_type,
    testGridSessionArtifact_url,

    -- * TestGridVpcConfig
    TestGridVpcConfig (..),
    newTestGridVpcConfig,
    testGridVpcConfig_securityGroupIds,
    testGridVpcConfig_subnetIds,
    testGridVpcConfig_vpcId,

    -- * TrialMinutes
    TrialMinutes (..),
    newTrialMinutes,
    trialMinutes_remaining,
    trialMinutes_total,

    -- * UniqueProblem
    UniqueProblem (..),
    newUniqueProblem,
    uniqueProblem_message,
    uniqueProblem_problems,

    -- * Upload
    Upload (..),
    newUpload,
    upload_arn,
    upload_category,
    upload_contentType,
    upload_created,
    upload_message,
    upload_metadata,
    upload_name,
    upload_status,
    upload_type,
    upload_url,

    -- * VPCEConfiguration
    VPCEConfiguration (..),
    newVPCEConfiguration,
    vPCEConfiguration_arn,
    vPCEConfiguration_serviceDnsName,
    vPCEConfiguration_vpceConfigurationDescription,
    vPCEConfiguration_vpceConfigurationName,
    vPCEConfiguration_vpceServiceName,

    -- * VpcConfig
    VpcConfig (..),
    newVpcConfig,
    vpcConfig_securityGroupIds,
    vpcConfig_subnetIds,
    vpcConfig_vpcId,
  )
where

import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import Amazonka.DeviceFarm.Types.AccountSettings
import Amazonka.DeviceFarm.Types.Artifact
import Amazonka.DeviceFarm.Types.ArtifactCategory
import Amazonka.DeviceFarm.Types.ArtifactType
import Amazonka.DeviceFarm.Types.BillingMethod
import Amazonka.DeviceFarm.Types.CPU
import Amazonka.DeviceFarm.Types.Counters
import Amazonka.DeviceFarm.Types.CreateRemoteAccessSessionConfiguration
import Amazonka.DeviceFarm.Types.CurrencyCode
import Amazonka.DeviceFarm.Types.CustomerArtifactPaths
import Amazonka.DeviceFarm.Types.Device
import Amazonka.DeviceFarm.Types.DeviceAttribute
import Amazonka.DeviceFarm.Types.DeviceAvailability
import Amazonka.DeviceFarm.Types.DeviceFilter
import Amazonka.DeviceFarm.Types.DeviceFilterAttribute
import Amazonka.DeviceFarm.Types.DeviceFormFactor
import Amazonka.DeviceFarm.Types.DeviceInstance
import Amazonka.DeviceFarm.Types.DeviceMinutes
import Amazonka.DeviceFarm.Types.DevicePlatform
import Amazonka.DeviceFarm.Types.DevicePool
import Amazonka.DeviceFarm.Types.DevicePoolCompatibilityResult
import Amazonka.DeviceFarm.Types.DevicePoolType
import Amazonka.DeviceFarm.Types.DeviceSelectionConfiguration
import Amazonka.DeviceFarm.Types.DeviceSelectionResult
import Amazonka.DeviceFarm.Types.ExecutionConfiguration
import Amazonka.DeviceFarm.Types.ExecutionResult
import Amazonka.DeviceFarm.Types.ExecutionResultCode
import Amazonka.DeviceFarm.Types.ExecutionStatus
import Amazonka.DeviceFarm.Types.IncompatibilityMessage
import Amazonka.DeviceFarm.Types.InstanceProfile
import Amazonka.DeviceFarm.Types.InstanceStatus
import Amazonka.DeviceFarm.Types.InteractionMode
import Amazonka.DeviceFarm.Types.Job
import Amazonka.DeviceFarm.Types.Location
import Amazonka.DeviceFarm.Types.MonetaryAmount
import Amazonka.DeviceFarm.Types.NetworkProfile
import Amazonka.DeviceFarm.Types.NetworkProfileType
import Amazonka.DeviceFarm.Types.Offering
import Amazonka.DeviceFarm.Types.OfferingPromotion
import Amazonka.DeviceFarm.Types.OfferingStatus
import Amazonka.DeviceFarm.Types.OfferingTransaction
import Amazonka.DeviceFarm.Types.OfferingTransactionType
import Amazonka.DeviceFarm.Types.OfferingType
import Amazonka.DeviceFarm.Types.Problem
import Amazonka.DeviceFarm.Types.ProblemDetail
import Amazonka.DeviceFarm.Types.Project
import Amazonka.DeviceFarm.Types.Radios
import Amazonka.DeviceFarm.Types.RecurringCharge
import Amazonka.DeviceFarm.Types.RecurringChargeFrequency
import Amazonka.DeviceFarm.Types.RemoteAccessSession
import Amazonka.DeviceFarm.Types.Resolution
import Amazonka.DeviceFarm.Types.Rule
import Amazonka.DeviceFarm.Types.RuleOperator
import Amazonka.DeviceFarm.Types.Run
import Amazonka.DeviceFarm.Types.Sample
import Amazonka.DeviceFarm.Types.SampleType
import Amazonka.DeviceFarm.Types.ScheduleRunConfiguration
import Amazonka.DeviceFarm.Types.ScheduleRunTest
import Amazonka.DeviceFarm.Types.Suite
import Amazonka.DeviceFarm.Types.Tag
import Amazonka.DeviceFarm.Types.Test
import Amazonka.DeviceFarm.Types.TestGridProject
import Amazonka.DeviceFarm.Types.TestGridSession
import Amazonka.DeviceFarm.Types.TestGridSessionAction
import Amazonka.DeviceFarm.Types.TestGridSessionArtifact
import Amazonka.DeviceFarm.Types.TestGridSessionArtifactCategory
import Amazonka.DeviceFarm.Types.TestGridSessionArtifactType
import Amazonka.DeviceFarm.Types.TestGridSessionStatus
import Amazonka.DeviceFarm.Types.TestGridVpcConfig
import Amazonka.DeviceFarm.Types.TestType
import Amazonka.DeviceFarm.Types.TrialMinutes
import Amazonka.DeviceFarm.Types.UniqueProblem
import Amazonka.DeviceFarm.Types.Upload
import Amazonka.DeviceFarm.Types.UploadCategory
import Amazonka.DeviceFarm.Types.UploadStatus
import Amazonka.DeviceFarm.Types.UploadType
import Amazonka.DeviceFarm.Types.VPCEConfiguration
import Amazonka.DeviceFarm.Types.VpcConfig
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Sign.V4 as Sign

-- | API version @2015-06-23@ of the Amazon Device Farm SDK configuration.
defaultService :: Core.Service
defaultService =
  Core.Service
    { Core.abbrev = "DeviceFarm",
      Core.signer = Sign.v4,
      Core.endpointPrefix = "devicefarm",
      Core.signingName = "devicefarm",
      Core.version = "2015-06-23",
      Core.s3AddressingStyle = Core.S3AddressingStyleAuto,
      Core.endpoint = Core.defaultEndpoint defaultService,
      Core.timeout = Prelude.Just 70,
      Core.check = Core.statusSuccess,
      Core.error = Core.parseJSONError "DeviceFarm",
      Core.retry = retry
    }
  where
    retry =
      Core.Exponential
        { Core.base = 5.0e-2,
          Core.growth = 2,
          Core.attempts = 5,
          Core.check = check
        }
    check e
      | Lens.has (Core.hasStatus 502) e =
          Prelude.Just "bad_gateway"
      | Lens.has (Core.hasStatus 504) e =
          Prelude.Just "gateway_timeout"
      | Lens.has (Core.hasStatus 500) e =
          Prelude.Just "general_server_error"
      | Lens.has (Core.hasStatus 509) e =
          Prelude.Just "limit_exceeded"
      | Lens.has
          ( Core.hasCode "RequestThrottledException"
              Prelude.. Core.hasStatus 400
          )
          e =
          Prelude.Just "request_throttled_exception"
      | Lens.has (Core.hasStatus 503) e =
          Prelude.Just "service_unavailable"
      | Lens.has
          ( Core.hasCode "ThrottledException"
              Prelude.. Core.hasStatus 400
          )
          e =
          Prelude.Just "throttled_exception"
      | Lens.has
          ( Core.hasCode "Throttling"
              Prelude.. Core.hasStatus 400
          )
          e =
          Prelude.Just "throttling"
      | Lens.has
          ( Core.hasCode "ThrottlingException"
              Prelude.. Core.hasStatus 400
          )
          e =
          Prelude.Just "throttling_exception"
      | Lens.has
          ( Core.hasCode
              "ProvisionedThroughputExceededException"
              Prelude.. Core.hasStatus 400
          )
          e =
          Prelude.Just "throughput_exceeded"
      | Lens.has (Core.hasStatus 429) e =
          Prelude.Just "too_many_requests"
      | Prelude.otherwise = Prelude.Nothing

-- | An invalid argument was specified.
_ArgumentException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_ArgumentException =
  Core._MatchServiceError
    defaultService
    "ArgumentException"

-- | The requested object could not be deleted.
_CannotDeleteException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_CannotDeleteException =
  Core._MatchServiceError
    defaultService
    "CannotDeleteException"

-- | An entity with the same name already exists.
_IdempotencyException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_IdempotencyException =
  Core._MatchServiceError
    defaultService
    "IdempotencyException"

-- | An internal exception was raised in the service. Contact
-- <mailto:aws-devicefarm-support@amazon.com aws-devicefarm-support\@amazon.com>
-- if you see this error.
_InternalServiceException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_InternalServiceException =
  Core._MatchServiceError
    defaultService
    "InternalServiceException"

-- | There was an error with the update request, or you do not have
-- sufficient permissions to update this VPC endpoint configuration.
_InvalidOperationException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_InvalidOperationException =
  Core._MatchServiceError
    defaultService
    "InvalidOperationException"

-- | A limit was exceeded.
_LimitExceededException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_LimitExceededException =
  Core._MatchServiceError
    defaultService
    "LimitExceededException"

-- | Exception gets thrown when a user is not eligible to perform the
-- specified transaction.
_NotEligibleException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_NotEligibleException =
  Core._MatchServiceError
    defaultService
    "NotEligibleException"

-- | The specified entity was not found.
_NotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_NotFoundException =
  Core._MatchServiceError
    defaultService
    "NotFoundException"

-- | There was a problem with the service account.
_ServiceAccountException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_ServiceAccountException =
  Core._MatchServiceError
    defaultService
    "ServiceAccountException"

-- | The operation was not successful. Try again.
_TagOperationException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_TagOperationException =
  Core._MatchServiceError
    defaultService
    "TagOperationException"

-- | The request doesn\'t comply with the AWS Identity and Access Management
-- (IAM) tag policy. Correct your request and then retry it.
_TagPolicyException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_TagPolicyException =
  Core._MatchServiceError
    defaultService
    "TagPolicyException"

-- | The list of tags on the repository is over the limit. The maximum number
-- of tags that can be applied to a repository is 50.
_TooManyTagsException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_TooManyTagsException =
  Core._MatchServiceError
    defaultService
    "TooManyTagsException"