{-# 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 -- -- 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"