-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | Amazon Device Farm SDK.
--   
--   The types from this library are intended to be used with
--   <a>amazonka</a>, which provides mechanisms for specifying AuthN/AuthZ
--   information, sending requests, and receiving responses.
--   
--   Lenses are used for constructing and manipulating types, due to the
--   depth of nesting of AWS types and transparency regarding
--   de/serialisation into more palatable Haskell values. The provided
--   lenses should be compatible with any of the major lens libraries such
--   as <a>lens</a> or <a>lens-family-core</a>.
--   
--   See <a>Network.AWS.DeviceFarm</a> or <a>the AWS documentation</a> to
--   get started.
@package amazonka-devicefarm
@version 1.4.5


module Network.AWS.DeviceFarm.Types

-- | API version <tt>2015-06-23</tt> of the Amazon Device Farm SDK
--   configuration.
deviceFarm :: Service

-- | Exception gets thrown when a user is not eligible to perform the
--   specified transaction.
_NotEligibleException :: AsError a => Getting (First ServiceError) a ServiceError

-- | An entity with the same name already exists.
_IdempotencyException :: AsError a => Getting (First ServiceError) a ServiceError

-- | An invalid argument was specified.
_ArgumentException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified entity was not found.
_NotFoundException :: AsError a => Getting (First ServiceError) a ServiceError

-- | There was a problem with the service account.
_ServiceAccountException :: AsError a => Getting (First ServiceError) a ServiceError

-- | A limit was exceeded.
_LimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError
data ArtifactCategory
ACFile :: ArtifactCategory
ACLog :: ArtifactCategory
ACScreenshot :: ArtifactCategory
data ArtifactType
AppiumJavaOutput :: ArtifactType
AppiumJavaXMLOutput :: ArtifactType
AppiumPythonOutput :: ArtifactType
AppiumPythonXMLOutput :: ArtifactType
AppiumServerOutput :: ArtifactType
ApplicationCrashReport :: ArtifactType
AutomationOutput :: ArtifactType
CalabashJSONOutput :: ArtifactType
CalabashJavaXMLOutput :: ArtifactType
CalabashPrettyOutput :: ArtifactType
CalabashStandardOutput :: ArtifactType
DeviceLog :: ArtifactType
ExerciserMonkeyOutput :: ArtifactType
ExplorerEventLog :: ArtifactType
ExplorerSummaryLog :: ArtifactType
InstrumentationOutput :: ArtifactType
MessageLog :: ArtifactType
ResultLog :: ArtifactType
Screenshot :: ArtifactType
ServiceLog :: ArtifactType
Unknown :: ArtifactType
Video :: ArtifactType
VideoLog :: ArtifactType
WebkitLog :: ArtifactType
XctestLog :: ArtifactType
data BillingMethod
Metered :: BillingMethod
Unmetered :: BillingMethod
data CurrencyCode
Usd :: CurrencyCode
data DeviceAttribute
ARN :: DeviceAttribute
FormFactor :: DeviceAttribute
Manufacturer :: DeviceAttribute
Platform :: DeviceAttribute
RemoteAccessEnabled :: DeviceAttribute
data DeviceFormFactor
Phone :: DeviceFormFactor
Tablet :: DeviceFormFactor
data DevicePlatform
Android :: DevicePlatform
Ios :: DevicePlatform
data DevicePoolType
Curated :: DevicePoolType
Private :: DevicePoolType
data ExecutionResult
ERErrored :: ExecutionResult
ERFailed :: ExecutionResult
ERPassed :: ExecutionResult
ERPending :: ExecutionResult
ERSkipped :: ExecutionResult
ERStopped :: ExecutionResult
ERWarned :: ExecutionResult
data ExecutionStatus
Completed :: ExecutionStatus
Pending :: ExecutionStatus
PendingConcurrency :: ExecutionStatus
PendingDevice :: ExecutionStatus
Preparing :: ExecutionStatus
Processing :: ExecutionStatus
Running :: ExecutionStatus
Scheduling :: ExecutionStatus
Stopping :: ExecutionStatus
data OfferingTransactionType
Purchase :: OfferingTransactionType
Renew :: OfferingTransactionType
System :: OfferingTransactionType
data OfferingType
Recurring :: OfferingType
data RecurringChargeFrequency
Monthly :: RecurringChargeFrequency
data RuleOperator
Equals :: RuleOperator
GreaterThan :: RuleOperator
IN :: RuleOperator
LessThan :: RuleOperator
NotIn :: RuleOperator
data SampleType
CPU :: SampleType
Memory :: SampleType
NativeAvgDrawtime :: SampleType
NativeFps :: SampleType
NativeFrames :: SampleType
NativeMaxDrawtime :: SampleType
NativeMinDrawtime :: SampleType
OpenglAvgDrawtime :: SampleType
OpenglFps :: SampleType
OpenglFrames :: SampleType
OpenglMaxDrawtime :: SampleType
OpenglMinDrawtime :: SampleType
RX :: SampleType
RxRate :: SampleType
TX :: SampleType
Threads :: SampleType
TxRate :: SampleType
data TestType
AppiumJavaJunit :: TestType
AppiumJavaTestng :: TestType
AppiumPython :: TestType
AppiumWebJavaJunit :: TestType
AppiumWebJavaTestng :: TestType
AppiumWebPython :: TestType
BuiltinExplorer :: TestType
BuiltinFuzz :: TestType
Calabash :: TestType
Instrumentation :: TestType
Uiautomation :: TestType
Uiautomator :: TestType
Xctest :: TestType
XctestUi :: TestType
data UploadStatus
USFailed :: UploadStatus
USInitialized :: UploadStatus
USProcessing :: UploadStatus
USSucceeded :: UploadStatus
data UploadType
AndroidApp :: UploadType
AppiumJavaJunitTestPackage :: UploadType
AppiumJavaTestngTestPackage :: UploadType
AppiumPythonTestPackage :: UploadType
AppiumWebJavaJunitTestPackage :: UploadType
AppiumWebJavaTestngTestPackage :: UploadType
AppiumWebPythonTestPackage :: UploadType
CalabashTestPackage :: UploadType
ExternalData :: UploadType
InstrumentationTestPackage :: UploadType
IosApp :: UploadType
UiautomationTestPackage :: UploadType
UiautomatorTestPackage :: UploadType
WebApp :: UploadType
XctestTestPackage :: UploadType
XctestUiTestPackage :: UploadType

-- | A container for account-level settings within AWS Device Farm.
--   
--   <i>See:</i> <a>accountSettings</a> smart constructor.
data AccountSettings

-- | Creates a value of <a>AccountSettings</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>asAwsAccountNumber</a> - The AWS account number specified in
--   the <tt>AccountSettings</tt> container.</li>
--   <li><a>asUnmeteredDevices</a> - Returns the unmetered devices you have
--   purchased or want to purchase.</li>
--   <li><a>asUnmeteredRemoteAccessDevices</a> - Returns the unmetered
--   remote access devices you have purchased or want to purchase.</li>
--   </ul>
accountSettings :: AccountSettings

-- | The AWS account number specified in the <tt>AccountSettings</tt>
--   container.
asAwsAccountNumber :: Lens' AccountSettings (Maybe Text)

-- | Returns the unmetered devices you have purchased or want to purchase.
asUnmeteredDevices :: Lens' AccountSettings (HashMap DevicePlatform Int)

-- | Returns the unmetered remote access devices you have purchased or want
--   to purchase.
asUnmeteredRemoteAccessDevices :: Lens' AccountSettings (HashMap DevicePlatform Int)

-- | Represents the output of a test. Examples of artifacts include logs
--   and screenshots.
--   
--   <i>See:</i> <a>artifact</a> smart constructor.
data Artifact

-- | Creates a value of <a>Artifact</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aArn</a> - The artifact's ARN.</li>
--   <li><a>aUrl</a> - The pre-signed Amazon S3 URL that can be used with a
--   corresponding GET request to download the artifact's file.</li>
--   <li><a>aExtension</a> - The artifact's file extension.</li>
--   <li><a>aName</a> - The artifact's name.</li>
--   <li><a>aType</a> - The artifact's type. Allowed values include the
--   following: * UNKNOWN: An unknown type. * SCREENSHOT: The screenshot
--   type. * DEVICE_LOG: The device log type. * MESSAGE_LOG: The message
--   log type. * RESULT_LOG: The result log type. * SERVICE_LOG: The
--   service log type. * WEBKIT_LOG: The web kit log type. *
--   INSTRUMENTATION_OUTPUT: The instrumentation type. *
--   EXERCISER_MONKEY_OUTPUT: For Android, the artifact (log) generated by
--   an Android fuzz test. * CALABASH_JSON_OUTPUT: The Calabash JSON output
--   type. * CALABASH_PRETTY_OUTPUT: The Calabash pretty output type. *
--   CALABASH_STANDARD_OUTPUT: The Calabash standard output type. *
--   CALABASH_JAVA_XML_OUTPUT: The Calabash Java XML output type. *
--   AUTOMATION_OUTPUT: The automation output type. * APPIUM_SERVER_OUTPUT:
--   The Appium server output type. * APPIUM_JAVA_OUTPUT: The Appium Java
--   output type. * APPIUM_JAVA_XML_OUTPUT: The Appium Java XML output
--   type. * APPIUM_PYTHON_OUTPUT: The Appium Python output type. *
--   APPIUM_PYTHON_XML_OUTPUT: The Appium Python XML output type. *
--   EXPLORER_EVENT_LOG: The Explorer event log output type. *
--   EXPLORER_SUMMARY_LOG: The Explorer summary log output type. *
--   APPLICATION_CRASH_REPORT: The application crash report output type. *
--   XCTEST_LOG: The XCode test output type.</li>
--   </ul>
artifact :: Artifact

-- | The artifact's ARN.
aArn :: Lens' Artifact (Maybe Text)

-- | The pre-signed Amazon S3 URL that can be used with a corresponding GET
--   request to download the artifact's file.
aUrl :: Lens' Artifact (Maybe Text)

-- | The artifact's file extension.
aExtension :: Lens' Artifact (Maybe Text)

-- | The artifact's name.
aName :: Lens' Artifact (Maybe Text)

-- | The artifact's type. Allowed values include the following: * UNKNOWN:
--   An unknown type. * SCREENSHOT: The screenshot type. * DEVICE_LOG: The
--   device log type. * MESSAGE_LOG: The message log type. * RESULT_LOG:
--   The result log type. * SERVICE_LOG: The service log type. *
--   WEBKIT_LOG: The web kit log type. * INSTRUMENTATION_OUTPUT: The
--   instrumentation type. * EXERCISER_MONKEY_OUTPUT: For Android, the
--   artifact (log) generated by an Android fuzz test. *
--   CALABASH_JSON_OUTPUT: The Calabash JSON output type. *
--   CALABASH_PRETTY_OUTPUT: The Calabash pretty output type. *
--   CALABASH_STANDARD_OUTPUT: The Calabash standard output type. *
--   CALABASH_JAVA_XML_OUTPUT: The Calabash Java XML output type. *
--   AUTOMATION_OUTPUT: The automation output type. * APPIUM_SERVER_OUTPUT:
--   The Appium server output type. * APPIUM_JAVA_OUTPUT: The Appium Java
--   output type. * APPIUM_JAVA_XML_OUTPUT: The Appium Java XML output
--   type. * APPIUM_PYTHON_OUTPUT: The Appium Python output type. *
--   APPIUM_PYTHON_XML_OUTPUT: The Appium Python XML output type. *
--   EXPLORER_EVENT_LOG: The Explorer event log output type. *
--   EXPLORER_SUMMARY_LOG: The Explorer summary log output type. *
--   APPLICATION_CRASH_REPORT: The application crash report output type. *
--   XCTEST_LOG: The XCode test output type.
aType :: Lens' Artifact (Maybe ArtifactType)

-- | Represents the amount of CPU that an app is using on a physical
--   device.
--   
--   Note that this does not represent system-wide CPU usage.
--   
--   <i>See:</i> <a>cpu</a> smart constructor.
data CPU

-- | Creates a value of <a>CPU</a> with the minimum fields required to make
--   a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cpuFrequency</a> - The CPU's frequency.</li>
--   <li><a>cpuClock</a> - The clock speed of the device's CPU, expressed
--   in hertz (Hz). For example, a 1.2 GHz CPU is expressed as
--   1200000000.</li>
--   <li><a>cpuArchitecture</a> - The CPU's architecture, for example x86
--   or ARM.</li>
--   </ul>
cpu :: CPU

-- | The CPU's frequency.
cpuFrequency :: Lens' CPU (Maybe Text)

-- | The clock speed of the device's CPU, expressed in hertz (Hz). For
--   example, a 1.2 GHz CPU is expressed as 1200000000.
cpuClock :: Lens' CPU (Maybe Double)

-- | The CPU's architecture, for example x86 or ARM.
cpuArchitecture :: Lens' CPU (Maybe Text)

-- | Represents entity counters.
--   
--   <i>See:</i> <a>counters</a> smart constructor.
data Counters

-- | Creates a value of <a>Counters</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cPassed</a> - The number of passed entities.</li>
--   <li><a>cSkipped</a> - The number of skipped entities.</li>
--   <li><a>cWarned</a> - The number of warned entities.</li>
--   <li><a>cStopped</a> - The number of stopped entities.</li>
--   <li><a>cTotal</a> - The total number of entities.</li>
--   <li><a>cFailed</a> - The number of failed entities.</li>
--   <li><a>cErrored</a> - The number of errored entities.</li>
--   </ul>
counters :: Counters

-- | The number of passed entities.
cPassed :: Lens' Counters (Maybe Int)

-- | The number of skipped entities.
cSkipped :: Lens' Counters (Maybe Int)

-- | The number of warned entities.
cWarned :: Lens' Counters (Maybe Int)

-- | The number of stopped entities.
cStopped :: Lens' Counters (Maybe Int)

-- | The total number of entities.
cTotal :: Lens' Counters (Maybe Int)

-- | The number of failed entities.
cFailed :: Lens' Counters (Maybe Int)

-- | The number of errored entities.
cErrored :: Lens' Counters (Maybe Int)

-- | Creates the configuration settings for a remote access session,
--   including the device model and type.
--   
--   <i>See:</i> <a>createRemoteAccessSessionConfiguration</a> smart
--   constructor.
data CreateRemoteAccessSessionConfiguration

-- | Creates a value of <a>CreateRemoteAccessSessionConfiguration</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>crascBillingMethod</a> - Returns the billing method for
--   purposes of configuring a remote access session.</li>
--   </ul>
createRemoteAccessSessionConfiguration :: CreateRemoteAccessSessionConfiguration

-- | Returns the billing method for purposes of configuring a remote access
--   session.
crascBillingMethod :: Lens' CreateRemoteAccessSessionConfiguration (Maybe BillingMethod)

-- | Represents a device type that an app is tested against.
--   
--   <i>See:</i> <a>device</a> smart constructor.
data Device

-- | Creates a value of <a>Device</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>devCarrier</a> - The device's carrier.</li>
--   <li><a>devImage</a> - The device's image name.</li>
--   <li><a>devManufacturer</a> - The device's manufacturer name.</li>
--   <li><a>devPlatform</a> - The device's platform. Allowed values
--   include: * ANDROID: The Android platform. * IOS: The iOS
--   platform.</li>
--   <li><a>devRemoteAccessEnabled</a> - Specifies whether remote access
--   has been enabled for the specified device.</li>
--   <li><a>devArn</a> - The device's ARN.</li>
--   <li><a>devFormFactor</a> - The device's form factor. Allowed values
--   include: * PHONE: The phone form factor. * TABLET: The tablet form
--   factor.</li>
--   <li><a>devFleetType</a> - The type of fleet to which this device
--   belongs. Possible values for fleet type are PRIVATE and PUBLIC.</li>
--   <li><a>devResolution</a> - Undocumented member.</li>
--   <li><a>devMemory</a> - The device's total memory size, expressed in
--   bytes.</li>
--   <li><a>devRadio</a> - The device's radio.</li>
--   <li><a>devOs</a> - The device's operating system type.</li>
--   <li><a>devName</a> - The device's display name.</li>
--   <li><a>devModel</a> - The device's model name.</li>
--   <li><a>devCpu</a> - Information about the device's CPU.</li>
--   <li><a>devHeapSize</a> - The device's heap size, expressed in
--   bytes.</li>
--   <li><a>devFleetName</a> - The name of the fleet to which this device
--   belongs.</li>
--   </ul>
device :: Device

-- | The device's carrier.
devCarrier :: Lens' Device (Maybe Text)

-- | The device's image name.
devImage :: Lens' Device (Maybe Text)

-- | The device's manufacturer name.
devManufacturer :: Lens' Device (Maybe Text)

-- | The device's platform. Allowed values include: * ANDROID: The Android
--   platform. * IOS: The iOS platform.
devPlatform :: Lens' Device (Maybe DevicePlatform)

-- | Specifies whether remote access has been enabled for the specified
--   device.
devRemoteAccessEnabled :: Lens' Device (Maybe Bool)

-- | The device's ARN.
devArn :: Lens' Device (Maybe Text)

-- | The device's form factor. Allowed values include: * PHONE: The phone
--   form factor. * TABLET: The tablet form factor.
devFormFactor :: Lens' Device (Maybe DeviceFormFactor)

-- | The type of fleet to which this device belongs. Possible values for
--   fleet type are PRIVATE and PUBLIC.
devFleetType :: Lens' Device (Maybe Text)

-- | Undocumented member.
devResolution :: Lens' Device (Maybe Resolution)

-- | The device's total memory size, expressed in bytes.
devMemory :: Lens' Device (Maybe Integer)

-- | The device's radio.
devRadio :: Lens' Device (Maybe Text)

-- | The device's operating system type.
devOs :: Lens' Device (Maybe Text)

-- | The device's display name.
devName :: Lens' Device (Maybe Text)

-- | The device's model name.
devModel :: Lens' Device (Maybe Text)

-- | Information about the device's CPU.
devCpu :: Lens' Device (Maybe CPU)

-- | The device's heap size, expressed in bytes.
devHeapSize :: Lens' Device (Maybe Integer)

-- | The name of the fleet to which this device belongs.
devFleetName :: Lens' Device (Maybe Text)

-- | Represents the total (metered or unmetered) minutes used by the
--   resource to run tests. Contains the sum of minutes consumed by all
--   children.
--   
--   <i>See:</i> <a>deviceMinutes</a> smart constructor.
data DeviceMinutes

-- | Creates a value of <a>DeviceMinutes</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dmMetered</a> - When specified, represents only the sum of
--   metered minutes used by the resource to run tests.</li>
--   <li><a>dmTotal</a> - When specified, represents the total minutes used
--   by the resource to run tests.</li>
--   <li><a>dmUnmetered</a> - When specified, represents only the sum of
--   unmetered minutes used by the resource to run tests.</li>
--   </ul>
deviceMinutes :: DeviceMinutes

-- | When specified, represents only the sum of metered minutes used by the
--   resource to run tests.
dmMetered :: Lens' DeviceMinutes (Maybe Double)

-- | When specified, represents the total minutes used by the resource to
--   run tests.
dmTotal :: Lens' DeviceMinutes (Maybe Double)

-- | When specified, represents only the sum of unmetered minutes used by
--   the resource to run tests.
dmUnmetered :: Lens' DeviceMinutes (Maybe Double)

-- | Represents a collection of device types.
--   
--   <i>See:</i> <a>devicePool</a> smart constructor.
data DevicePool

-- | Creates a value of <a>DevicePool</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dArn</a> - The device pool's ARN.</li>
--   <li><a>dRules</a> - Information about the device pool's rules.</li>
--   <li><a>dName</a> - The device pool's name.</li>
--   <li><a>dType</a> - The device pool's type. Allowed values include: *
--   CURATED: A device pool that is created and managed by AWS Device Farm.
--   * PRIVATE: A device pool that is created and managed by the device
--   pool developer.</li>
--   <li><a>dDescription</a> - The device pool's description.</li>
--   </ul>
devicePool :: DevicePool

-- | The device pool's ARN.
dArn :: Lens' DevicePool (Maybe Text)

-- | Information about the device pool's rules.
dRules :: Lens' DevicePool [Rule]

-- | The device pool's name.
dName :: Lens' DevicePool (Maybe Text)

-- | The device pool's type. Allowed values include: * CURATED: A device
--   pool that is created and managed by AWS Device Farm. * PRIVATE: A
--   device pool that is created and managed by the device pool developer.
dType :: Lens' DevicePool (Maybe DevicePoolType)

-- | The device pool's description.
dDescription :: Lens' DevicePool (Maybe Text)

-- | Represents a device pool compatibility result.
--   
--   <i>See:</i> <a>devicePoolCompatibilityResult</a> smart constructor.
data DevicePoolCompatibilityResult

-- | Creates a value of <a>DevicePoolCompatibilityResult</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dpcrDevice</a> - Undocumented member.</li>
--   <li><a>dpcrCompatible</a> - Whether the result was compatible with the
--   device pool.</li>
--   <li><a>dpcrIncompatibilityMessages</a> - Information about the
--   compatibility.</li>
--   </ul>
devicePoolCompatibilityResult :: DevicePoolCompatibilityResult

-- | Undocumented member.
dpcrDevice :: Lens' DevicePoolCompatibilityResult (Maybe Device)

-- | Whether the result was compatible with the device pool.
dpcrCompatible :: Lens' DevicePoolCompatibilityResult (Maybe Bool)

-- | Information about the compatibility.
dpcrIncompatibilityMessages :: Lens' DevicePoolCompatibilityResult [IncompatibilityMessage]

-- | Represents information about incompatibility.
--   
--   <i>See:</i> <a>incompatibilityMessage</a> smart constructor.
data IncompatibilityMessage

-- | Creates a value of <a>IncompatibilityMessage</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>imType</a> - The type of incompatibility. Allowed values
--   include: * ARN: The ARN. * FORM_FACTOR: The form factor (for example,
--   phone or tablet). * MANUFACTURER: The manufacturer. * PLATFORM: The
--   platform (for example, Android or iOS).</li>
--   <li><a>imMessage</a> - A message about the incompatibility.</li>
--   </ul>
incompatibilityMessage :: IncompatibilityMessage

-- | The type of incompatibility. Allowed values include: * ARN: The ARN. *
--   FORM_FACTOR: The form factor (for example, phone or tablet). *
--   MANUFACTURER: The manufacturer. * PLATFORM: The platform (for example,
--   Android or iOS).
imType :: Lens' IncompatibilityMessage (Maybe DeviceAttribute)

-- | A message about the incompatibility.
imMessage :: Lens' IncompatibilityMessage (Maybe Text)

-- | Represents a device.
--   
--   <i>See:</i> <a>job</a> smart constructor.
data Job

-- | Creates a value of <a>Job</a> with the minimum fields required to make
--   a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>jobStatus</a> - The job's status. Allowed values include: *
--   PENDING: A pending status. * PENDING_CONCURRENCY: A pending
--   concurrency status. * PENDING_DEVICE: A pending device status. *
--   PROCESSING: A processing status. * SCHEDULING: A scheduling status. *
--   PREPARING: A preparing status. * RUNNING: A running status. *
--   COMPLETED: A completed status. * STOPPING: A stopping status.</li>
--   <li><a>jobCounters</a> - The job's result counters.</li>
--   <li><a>jobArn</a> - The job's ARN.</li>
--   <li><a>jobCreated</a> - When the job was created.</li>
--   <li><a>jobDevice</a> - Undocumented member.</li>
--   <li><a>jobStopped</a> - The job's stop time.</li>
--   <li><a>jobResult</a> - The job's result. Allowed values include: *
--   PENDING: A pending condition. * PASSED: A passing condition. * WARNED:
--   A warning condition. * FAILED: A failed condition. * SKIPPED: A
--   skipped condition. * ERRORED: An error condition. * STOPPED: A stopped
--   condition.</li>
--   <li><a>jobName</a> - The job's name.</li>
--   <li><a>jobDeviceMinutes</a> - Represents the total (metered or
--   unmetered) minutes used by the job.</li>
--   <li><a>jobType</a> - The job's type. Allowed values include the
--   following: * BUILTIN_FUZZ: The built-in fuzz type. * BUILTIN_EXPLORER:
--   For Android, an app explorer that will traverse an Android app,
--   interacting with it and capturing screenshots at the same time. *
--   APPIUM_JAVA_JUNIT: The Appium Java JUnit type. * APPIUM_JAVA_TESTNG:
--   The Appium Java TestNG type. * APPIUM_PYTHON: The Appium Python type.
--   * APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for Web apps. *
--   APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for Web apps. *
--   APPIUM_WEB_PYTHON: The Appium Python type for Web apps. * CALABASH:
--   The Calabash type. * INSTRUMENTATION: The Instrumentation type. *
--   UIAUTOMATION: The uiautomation type. * UIAUTOMATOR: The uiautomator
--   type. * XCTEST: The XCode test type. * XCTEST_UI: The XCode UI test
--   type.</li>
--   <li><a>jobMessage</a> - A message about the job's result.</li>
--   <li><a>jobStarted</a> - The job's start time.</li>
--   </ul>
job :: Job

-- | The job's status. Allowed values include: * PENDING: A pending status.
--   * PENDING_CONCURRENCY: A pending concurrency status. * PENDING_DEVICE:
--   A pending device status. * PROCESSING: A processing status. *
--   SCHEDULING: A scheduling status. * PREPARING: A preparing status. *
--   RUNNING: A running status. * COMPLETED: A completed status. *
--   STOPPING: A stopping status.
jobStatus :: Lens' Job (Maybe ExecutionStatus)

-- | The job's result counters.
jobCounters :: Lens' Job (Maybe Counters)

-- | The job's ARN.
jobArn :: Lens' Job (Maybe Text)

-- | When the job was created.
jobCreated :: Lens' Job (Maybe UTCTime)

-- | Undocumented member.
jobDevice :: Lens' Job (Maybe Device)

-- | The job's stop time.
jobStopped :: Lens' Job (Maybe UTCTime)

-- | The job's result. Allowed values include: * PENDING: A pending
--   condition. * PASSED: A passing condition. * WARNED: A warning
--   condition. * FAILED: A failed condition. * SKIPPED: A skipped
--   condition. * ERRORED: An error condition. * STOPPED: A stopped
--   condition.
jobResult :: Lens' Job (Maybe ExecutionResult)

-- | The job's name.
jobName :: Lens' Job (Maybe Text)

-- | Represents the total (metered or unmetered) minutes used by the job.
jobDeviceMinutes :: Lens' Job (Maybe DeviceMinutes)

-- | The job's type. Allowed values include the following: * BUILTIN_FUZZ:
--   The built-in fuzz type. * BUILTIN_EXPLORER: For Android, an app
--   explorer that will traverse an Android app, interacting with it and
--   capturing screenshots at the same time. * APPIUM_JAVA_JUNIT: The
--   Appium Java JUnit type. * APPIUM_JAVA_TESTNG: The Appium Java TestNG
--   type. * APPIUM_PYTHON: The Appium Python type. *
--   APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for Web apps. *
--   APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for Web apps. *
--   APPIUM_WEB_PYTHON: The Appium Python type for Web apps. * CALABASH:
--   The Calabash type. * INSTRUMENTATION: The Instrumentation type. *
--   UIAUTOMATION: The uiautomation type. * UIAUTOMATOR: The uiautomator
--   type. * XCTEST: The XCode test type. * XCTEST_UI: The XCode UI test
--   type.
jobType :: Lens' Job (Maybe TestType)

-- | A message about the job's result.
jobMessage :: Lens' Job (Maybe Text)

-- | The job's start time.
jobStarted :: Lens' Job (Maybe UTCTime)

-- | Represents a latitude and longitude pair, expressed in geographic
--   coordinate system degrees (for example 47.6204, -122.3491).
--   
--   Elevation is currently not supported.
--   
--   <i>See:</i> <a>location</a> smart constructor.
data Location

-- | Creates a value of <a>Location</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lLatitude</a> - The latitude.</li>
--   <li><a>lLongitude</a> - The longitude.</li>
--   </ul>
location :: Double -> Double -> Location

-- | The latitude.
lLatitude :: Lens' Location Double

-- | The longitude.
lLongitude :: Lens' Location Double

-- | A number representing the monetary amount for an offering or
--   transaction.
--   
--   <i>See:</i> <a>monetaryAmount</a> smart constructor.
data MonetaryAmount

-- | Creates a value of <a>MonetaryAmount</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>maAmount</a> - The numerical amount of an offering or
--   transaction.</li>
--   <li><a>maCurrencyCode</a> - The currency code of a monetary amount.
--   For example, <tt>USD</tt> means "U.S. dollars."</li>
--   </ul>
monetaryAmount :: MonetaryAmount

-- | The numerical amount of an offering or transaction.
maAmount :: Lens' MonetaryAmount (Maybe Double)

-- | The currency code of a monetary amount. For example, <tt>USD</tt>
--   means "U.S. dollars."
maCurrencyCode :: Lens' MonetaryAmount (Maybe CurrencyCode)

-- | Represents the metadata of a device offering.
--   
--   <i>See:</i> <a>offering</a> smart constructor.
data Offering

-- | Creates a value of <a>Offering</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>oPlatform</a> - The platform of the device (e.g., ANDROID or
--   IOS).</li>
--   <li><a>oId</a> - The ID that corresponds to a device offering.</li>
--   <li><a>oRecurringCharges</a> - Specifies whether there are recurring
--   charges for the offering.</li>
--   <li><a>oType</a> - The type of offering (e.g., <a>RECURRING</a>) for a
--   device.</li>
--   <li><a>oDescription</a> - A string describing the offering.</li>
--   </ul>
offering :: Offering

-- | The platform of the device (e.g., ANDROID or IOS).
oPlatform :: Lens' Offering (Maybe DevicePlatform)

-- | The ID that corresponds to a device offering.
oId :: Lens' Offering (Maybe Text)

-- | Specifies whether there are recurring charges for the offering.
oRecurringCharges :: Lens' Offering [RecurringCharge]

-- | The type of offering (e.g., <a>RECURRING</a>) for a device.
oType :: Lens' Offering (Maybe OfferingType)

-- | A string describing the offering.
oDescription :: Lens' Offering (Maybe Text)

-- | The status of the offering.
--   
--   <i>See:</i> <a>offeringStatus</a> smart constructor.
data OfferingStatus

-- | Creates a value of <a>OfferingStatus</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>osEffectiveOn</a> - The date on which the offering is
--   effective.</li>
--   <li><a>osOffering</a> - Represents the metadata of an offering
--   status.</li>
--   <li><a>osQuantity</a> - The number of available devices in the
--   offering.</li>
--   <li><a>osType</a> - The type specified for the offering status.</li>
--   </ul>
offeringStatus :: OfferingStatus

-- | The date on which the offering is effective.
osEffectiveOn :: Lens' OfferingStatus (Maybe UTCTime)

-- | Represents the metadata of an offering status.
osOffering :: Lens' OfferingStatus (Maybe Offering)

-- | The number of available devices in the offering.
osQuantity :: Lens' OfferingStatus (Maybe Int)

-- | The type specified for the offering status.
osType :: Lens' OfferingStatus (Maybe OfferingTransactionType)

-- | Represents the metadata of an offering transaction.
--   
--   <i>See:</i> <a>offeringTransaction</a> smart constructor.
data OfferingTransaction

-- | Creates a value of <a>OfferingTransaction</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>otOfferingStatus</a> - The status of an offering
--   transaction.</li>
--   <li><a>otCost</a> - The cost of an offering transaction.</li>
--   <li><a>otTransactionId</a> - The transaction ID of the offering
--   transaction.</li>
--   <li><a>otCreatedOn</a> - The date on which an offering transaction was
--   created.</li>
--   </ul>
offeringTransaction :: OfferingTransaction

-- | The status of an offering transaction.
otOfferingStatus :: Lens' OfferingTransaction (Maybe OfferingStatus)

-- | The cost of an offering transaction.
otCost :: Lens' OfferingTransaction (Maybe MonetaryAmount)

-- | The transaction ID of the offering transaction.
otTransactionId :: Lens' OfferingTransaction (Maybe Text)

-- | The date on which an offering transaction was created.
otCreatedOn :: Lens' OfferingTransaction (Maybe UTCTime)

-- | Represents a specific warning or failure.
--   
--   <i>See:</i> <a>problem</a> smart constructor.
data Problem

-- | Creates a value of <a>Problem</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pDevice</a> - Information about the associated device.</li>
--   <li><a>pTest</a> - Information about the associated test.</li>
--   <li><a>pResult</a> - The problem's result. Allowed values include: *
--   PENDING: A pending condition. * PASSED: A passing condition. * WARNED:
--   A warning condition. * FAILED: A failed condition. * SKIPPED: A
--   skipped condition. * ERRORED: An error condition. * STOPPED: A stopped
--   condition.</li>
--   <li><a>pRun</a> - Information about the associated run.</li>
--   <li><a>pJob</a> - Information about the associated job.</li>
--   <li><a>pMessage</a> - A message about the problem's result.</li>
--   <li><a>pSuite</a> - Information about the associated suite.</li>
--   </ul>
problem :: Problem

-- | Information about the associated device.
pDevice :: Lens' Problem (Maybe Device)

-- | Information about the associated test.
pTest :: Lens' Problem (Maybe ProblemDetail)

-- | The problem's result. Allowed values include: * PENDING: A pending
--   condition. * PASSED: A passing condition. * WARNED: A warning
--   condition. * FAILED: A failed condition. * SKIPPED: A skipped
--   condition. * ERRORED: An error condition. * STOPPED: A stopped
--   condition.
pResult :: Lens' Problem (Maybe ExecutionResult)

-- | Information about the associated run.
pRun :: Lens' Problem (Maybe ProblemDetail)

-- | Information about the associated job.
pJob :: Lens' Problem (Maybe ProblemDetail)

-- | A message about the problem's result.
pMessage :: Lens' Problem (Maybe Text)

-- | Information about the associated suite.
pSuite :: Lens' Problem (Maybe ProblemDetail)

-- | Information about a problem detail.
--   
--   <i>See:</i> <a>problemDetail</a> smart constructor.
data ProblemDetail

-- | Creates a value of <a>ProblemDetail</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pdArn</a> - The problem detail's ARN.</li>
--   <li><a>pdName</a> - The problem detail's name.</li>
--   </ul>
problemDetail :: ProblemDetail

-- | The problem detail's ARN.
pdArn :: Lens' ProblemDetail (Maybe Text)

-- | The problem detail's name.
pdName :: Lens' ProblemDetail (Maybe Text)

-- | Represents an operating-system neutral workspace for running and
--   managing tests.
--   
--   <i>See:</i> <a>project</a> smart constructor.
data Project

-- | Creates a value of <a>Project</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pArn</a> - The project's ARN.</li>
--   <li><a>pCreated</a> - When the project was created.</li>
--   <li><a>pName</a> - The project's name.</li>
--   </ul>
project :: Project

-- | The project's ARN.
pArn :: Lens' Project (Maybe Text)

-- | When the project was created.
pCreated :: Lens' Project (Maybe UTCTime)

-- | The project's name.
pName :: Lens' Project (Maybe Text)

-- | Represents the set of radios and their states on a device. Examples of
--   radios include Wi-Fi, GPS, Bluetooth, and NFC.
--   
--   <i>See:</i> <a>radios</a> smart constructor.
data Radios

-- | Creates a value of <a>Radios</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rNfc</a> - True if NFC is enabled at the beginning of the test;
--   otherwise, false.</li>
--   <li><a>rGps</a> - True if GPS is enabled at the beginning of the test;
--   otherwise, false.</li>
--   <li><a>rBluetooth</a> - True if Bluetooth is enabled at the beginning
--   of the test; otherwise, false.</li>
--   <li><a>rWifi</a> - True if Wi-Fi is enabled at the beginning of the
--   test; otherwise, false.</li>
--   </ul>
radios :: Radios

-- | True if NFC is enabled at the beginning of the test; otherwise, false.
rNfc :: Lens' Radios (Maybe Bool)

-- | True if GPS is enabled at the beginning of the test; otherwise, false.
rGps :: Lens' Radios (Maybe Bool)

-- | True if Bluetooth is enabled at the beginning of the test; otherwise,
--   false.
rBluetooth :: Lens' Radios (Maybe Bool)

-- | True if Wi-Fi is enabled at the beginning of the test; otherwise,
--   false.
rWifi :: Lens' Radios (Maybe Bool)

-- | Specifies whether charges for devices will be recurring.
--   
--   <i>See:</i> <a>recurringCharge</a> smart constructor.
data RecurringCharge

-- | Creates a value of <a>RecurringCharge</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rcFrequency</a> - The frequency in which charges will
--   recur.</li>
--   <li><a>rcCost</a> - The cost of the recurring charge.</li>
--   </ul>
recurringCharge :: RecurringCharge

-- | The frequency in which charges will recur.
rcFrequency :: Lens' RecurringCharge (Maybe RecurringChargeFrequency)

-- | The cost of the recurring charge.
rcCost :: Lens' RecurringCharge (Maybe MonetaryAmount)

-- | Represents information about the remote access session.
--   
--   <i>See:</i> <a>remoteAccessSession</a> smart constructor.
data RemoteAccessSession

-- | Creates a value of <a>RemoteAccessSession</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rasBillingMethod</a> - The billing method of the remote access
--   session. Possible values include <tt>METERED</tt> or
--   <tt>UNMETERED</tt> . For more information about metered devices, see
--   <a>AWS Device Farm terminology</a> ."</li>
--   <li><a>rasStatus</a> - The status of the remote access session. Can be
--   any of the following: * PENDING: A pending status. *
--   PENDING_CONCURRENCY: A pending concurrency status. * PENDING_DEVICE: A
--   pending device status. * PROCESSING: A processing status. *
--   SCHEDULING: A scheduling status. * PREPARING: A preparing status. *
--   RUNNING: A running status. * COMPLETED: A completed status. *
--   STOPPING: A stopping status.</li>
--   <li><a>rasArn</a> - The Amazon Resource Name (ARN) of the remote
--   access session.</li>
--   <li><a>rasCreated</a> - The date and time the remote access session
--   was created.</li>
--   <li><a>rasDevice</a> - Undocumented member.</li>
--   <li><a>rasStopped</a> - The date and time the remote access session
--   was stopped.</li>
--   <li><a>rasResult</a> - The result of the remote access session. Can be
--   any of the following: * PENDING: A pending condition. * PASSED: A
--   passing condition. * WARNED: A warning condition. * FAILED: A failed
--   condition. * SKIPPED: A skipped condition. * ERRORED: An error
--   condition. * STOPPED: A stopped condition.</li>
--   <li><a>rasName</a> - The name of the remote access session.</li>
--   <li><a>rasDeviceMinutes</a> - Undocumented member.</li>
--   <li><a>rasEndpoint</a> - The endpoint for the remote access
--   sesssion.</li>
--   <li><a>rasMessage</a> - A message about the remote access
--   session.</li>
--   <li><a>rasStarted</a> - The date and time the remote access session
--   was started.</li>
--   </ul>
remoteAccessSession :: RemoteAccessSession

-- | The billing method of the remote access session. Possible values
--   include <tt>METERED</tt> or <tt>UNMETERED</tt> . For more information
--   about metered devices, see <a>AWS Device Farm terminology</a> ."
rasBillingMethod :: Lens' RemoteAccessSession (Maybe BillingMethod)

-- | The status of the remote access session. Can be any of the following:
--   * PENDING: A pending status. * PENDING_CONCURRENCY: A pending
--   concurrency status. * PENDING_DEVICE: A pending device status. *
--   PROCESSING: A processing status. * SCHEDULING: A scheduling status. *
--   PREPARING: A preparing status. * RUNNING: A running status. *
--   COMPLETED: A completed status. * STOPPING: A stopping status.
rasStatus :: Lens' RemoteAccessSession (Maybe ExecutionStatus)

-- | The Amazon Resource Name (ARN) of the remote access session.
rasArn :: Lens' RemoteAccessSession (Maybe Text)

-- | The date and time the remote access session was created.
rasCreated :: Lens' RemoteAccessSession (Maybe UTCTime)

-- | Undocumented member.
rasDevice :: Lens' RemoteAccessSession (Maybe Device)

-- | The date and time the remote access session was stopped.
rasStopped :: Lens' RemoteAccessSession (Maybe UTCTime)

-- | The result of the remote access session. Can be any of the following:
--   * PENDING: A pending condition. * PASSED: A passing condition. *
--   WARNED: A warning condition. * FAILED: A failed condition. * SKIPPED:
--   A skipped condition. * ERRORED: An error condition. * STOPPED: A
--   stopped condition.
rasResult :: Lens' RemoteAccessSession (Maybe ExecutionResult)

-- | The name of the remote access session.
rasName :: Lens' RemoteAccessSession (Maybe Text)

-- | Undocumented member.
rasDeviceMinutes :: Lens' RemoteAccessSession (Maybe DeviceMinutes)

-- | The endpoint for the remote access sesssion.
rasEndpoint :: Lens' RemoteAccessSession (Maybe Text)

-- | A message about the remote access session.
rasMessage :: Lens' RemoteAccessSession (Maybe Text)

-- | The date and time the remote access session was started.
rasStarted :: Lens' RemoteAccessSession (Maybe UTCTime)

-- | Represents the screen resolution of a device in height and width,
--   expressed in pixels.
--   
--   <i>See:</i> <a>resolution</a> smart constructor.
data Resolution

-- | Creates a value of <a>Resolution</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rHeight</a> - The screen resolution's height, expressed in
--   pixels.</li>
--   <li><a>rWidth</a> - The screen resolution's width, expressed in
--   pixels.</li>
--   </ul>
resolution :: Resolution

-- | The screen resolution's height, expressed in pixels.
rHeight :: Lens' Resolution (Maybe Int)

-- | The screen resolution's width, expressed in pixels.
rWidth :: Lens' Resolution (Maybe Int)

-- | Represents a condition for a device pool.
--   
--   <i>See:</i> <a>rule</a> smart constructor.
data Rule

-- | Creates a value of <a>Rule</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rAttribute</a> - The rule's stringified attribute. For example,
--   specify the value as <tt>""abc""</tt> . Allowed values include: * ARN:
--   The ARN. * FORM_FACTOR: The form factor (for example, phone or
--   tablet). * MANUFACTURER: The manufacturer. * PLATFORM: The platform
--   (for example, Android or iOS).</li>
--   <li><a>rOperator</a> - The rule's operator. * EQUALS: The equals
--   operator. * GREATER_THAN: The greater-than operator. * IN: The in
--   operator. * LESS_THAN: The less-than operator. * NOT_IN: The not-in
--   operator.</li>
--   <li><a>rValue</a> - The rule's value.</li>
--   </ul>
rule :: Rule

-- | The rule's stringified attribute. For example, specify the value as
--   <tt>""abc""</tt> . Allowed values include: * ARN: The ARN. *
--   FORM_FACTOR: The form factor (for example, phone or tablet). *
--   MANUFACTURER: The manufacturer. * PLATFORM: The platform (for example,
--   Android or iOS).
rAttribute :: Lens' Rule (Maybe DeviceAttribute)

-- | The rule's operator. * EQUALS: The equals operator. * GREATER_THAN:
--   The greater-than operator. * IN: The in operator. * LESS_THAN: The
--   less-than operator. * NOT_IN: The not-in operator.
rOperator :: Lens' Rule (Maybe RuleOperator)

-- | The rule's value.
rValue :: Lens' Rule (Maybe Text)

-- | Represents an app on a set of devices with a specific test and
--   configuration.
--   
--   <i>See:</i> <a>run</a> smart constructor.
data Run

-- | Creates a value of <a>Run</a> with the minimum fields required to make
--   a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>runBillingMethod</a> - Specifies the billing method for a test
--   run: <tt>metered</tt> or <tt>unmetered</tt> . If the parameter is not
--   specified, the default value is <tt>metered</tt> .</li>
--   <li><a>runStatus</a> - The run's status. Allowed values include: *
--   PENDING: A pending status. * PENDING_CONCURRENCY: A pending
--   concurrency status. * PENDING_DEVICE: A pending device status. *
--   PROCESSING: A processing status. * SCHEDULING: A scheduling status. *
--   PREPARING: A preparing status. * RUNNING: A running status. *
--   COMPLETED: A completed status. * STOPPING: A stopping status.</li>
--   <li><a>runCounters</a> - The run's result counters.</li>
--   <li><a>runPlatform</a> - The run's platform. Allowed values include: *
--   ANDROID: The Android platform. * IOS: The iOS platform.</li>
--   <li><a>runArn</a> - The run's ARN.</li>
--   <li><a>runCreated</a> - When the run was created.</li>
--   <li><a>runStopped</a> - The run's stop time.</li>
--   <li><a>runResult</a> - The run's result. Allowed values include: *
--   PENDING: A pending condition. * PASSED: A passing condition. * WARNED:
--   A warning condition. * FAILED: A failed condition. * SKIPPED: A
--   skipped condition. * ERRORED: An error condition. * STOPPED: A stopped
--   condition.</li>
--   <li><a>runCompletedJobs</a> - The total number of completed jobs.</li>
--   <li><a>runName</a> - The run's name.</li>
--   <li><a>runDeviceMinutes</a> - Represents the total (metered or
--   unmetered) minutes used by the test run.</li>
--   <li><a>runType</a> - The run's type. Must be one of the following
--   values: * BUILTIN_FUZZ: The built-in fuzz type. * BUILTIN_EXPLORER:
--   For Android, an app explorer that will traverse an Android app,
--   interacting with it and capturing screenshots at the same time. *
--   APPIUM_JAVA_JUNIT: The Appium Java JUnit type. * APPIUM_JAVA_TESTNG:
--   The Appium Java TestNG type. * APPIUM_PYTHON: The Appium Python type.
--   * APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for Web apps. *
--   APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for Web apps. *
--   APPIUM_WEB_PYTHON: The Appium Python type for Web apps. * CALABASH:
--   The Calabash type. * INSTRUMENTATION: The Instrumentation type. *
--   UIAUTOMATION: The uiautomation type. * UIAUTOMATOR: The uiautomator
--   type. * XCTEST: The XCode test type. * XCTEST_UI: The XCode UI test
--   type.</li>
--   <li><a>runMessage</a> - A message about the run's result.</li>
--   <li><a>runTotalJobs</a> - The total number of jobs for the run.</li>
--   <li><a>runStarted</a> - The run's start time.</li>
--   </ul>
run :: Run

-- | Specifies the billing method for a test run: <tt>metered</tt> or
--   <tt>unmetered</tt> . If the parameter is not specified, the default
--   value is <tt>metered</tt> .
runBillingMethod :: Lens' Run (Maybe BillingMethod)

-- | The run's status. Allowed values include: * PENDING: A pending status.
--   * PENDING_CONCURRENCY: A pending concurrency status. * PENDING_DEVICE:
--   A pending device status. * PROCESSING: A processing status. *
--   SCHEDULING: A scheduling status. * PREPARING: A preparing status. *
--   RUNNING: A running status. * COMPLETED: A completed status. *
--   STOPPING: A stopping status.
runStatus :: Lens' Run (Maybe ExecutionStatus)

-- | The run's result counters.
runCounters :: Lens' Run (Maybe Counters)

-- | The run's platform. Allowed values include: * ANDROID: The Android
--   platform. * IOS: The iOS platform.
runPlatform :: Lens' Run (Maybe DevicePlatform)

-- | The run's ARN.
runArn :: Lens' Run (Maybe Text)

-- | When the run was created.
runCreated :: Lens' Run (Maybe UTCTime)

-- | The run's stop time.
runStopped :: Lens' Run (Maybe UTCTime)

-- | The run's result. Allowed values include: * PENDING: A pending
--   condition. * PASSED: A passing condition. * WARNED: A warning
--   condition. * FAILED: A failed condition. * SKIPPED: A skipped
--   condition. * ERRORED: An error condition. * STOPPED: A stopped
--   condition.
runResult :: Lens' Run (Maybe ExecutionResult)

-- | The total number of completed jobs.
runCompletedJobs :: Lens' Run (Maybe Int)

-- | The run's name.
runName :: Lens' Run (Maybe Text)

-- | Represents the total (metered or unmetered) minutes used by the test
--   run.
runDeviceMinutes :: Lens' Run (Maybe DeviceMinutes)

-- | The run's type. Must be one of the following values: * BUILTIN_FUZZ:
--   The built-in fuzz type. * BUILTIN_EXPLORER: For Android, an app
--   explorer that will traverse an Android app, interacting with it and
--   capturing screenshots at the same time. * APPIUM_JAVA_JUNIT: The
--   Appium Java JUnit type. * APPIUM_JAVA_TESTNG: The Appium Java TestNG
--   type. * APPIUM_PYTHON: The Appium Python type. *
--   APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for Web apps. *
--   APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for Web apps. *
--   APPIUM_WEB_PYTHON: The Appium Python type for Web apps. * CALABASH:
--   The Calabash type. * INSTRUMENTATION: The Instrumentation type. *
--   UIAUTOMATION: The uiautomation type. * UIAUTOMATOR: The uiautomator
--   type. * XCTEST: The XCode test type. * XCTEST_UI: The XCode UI test
--   type.
runType :: Lens' Run (Maybe TestType)

-- | A message about the run's result.
runMessage :: Lens' Run (Maybe Text)

-- | The total number of jobs for the run.
runTotalJobs :: Lens' Run (Maybe Int)

-- | The run's start time.
runStarted :: Lens' Run (Maybe UTCTime)

-- | Represents a sample of performance data.
--   
--   <i>See:</i> <a>sample</a> smart constructor.
data Sample

-- | Creates a value of <a>Sample</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>samArn</a> - The sample's ARN.</li>
--   <li><a>samUrl</a> - The pre-signed Amazon S3 URL that can be used with
--   a corresponding GET request to download the sample's file.</li>
--   <li><a>samType</a> - The sample's type. Must be one of the following
--   values: * CPU: A CPU sample type. This is expressed as the app
--   processing CPU time (including child processes) as reported by
--   process, as a percentage. * MEMORY: A memory usage sample type. This
--   is expressed as the total proportional set size of an app process, in
--   kilobytes. * NATIVE_AVG_DRAWTIME * NATIVE_FPS * NATIVE_FRAMES *
--   NATIVE_MAX_DRAWTIME * NATIVE_MIN_DRAWTIME * OPENGL_AVG_DRAWTIME *
--   OPENGL_FPS * OPENGL_FRAMES * OPENGL_MAX_DRAWTIME * OPENGL_MIN_DRAWTIME
--   * RX * RX_RATE: The total number of bytes per second (TCP and UDP)
--   that are sent, by app process. * THREADS: A threads sample type. This
--   is expressed as the total number of threads per app process. * TX *
--   TX_RATE: The total number of bytes per second (TCP and UDP) that are
--   received, by app process.</li>
--   </ul>
sample :: Sample

-- | The sample's ARN.
samArn :: Lens' Sample (Maybe Text)

-- | The pre-signed Amazon S3 URL that can be used with a corresponding GET
--   request to download the sample's file.
samUrl :: Lens' Sample (Maybe Text)

-- | The sample's type. Must be one of the following values: * CPU: A CPU
--   sample type. This is expressed as the app processing CPU time
--   (including child processes) as reported by process, as a percentage. *
--   MEMORY: A memory usage sample type. This is expressed as the total
--   proportional set size of an app process, in kilobytes. *
--   NATIVE_AVG_DRAWTIME * NATIVE_FPS * NATIVE_FRAMES * NATIVE_MAX_DRAWTIME
--   * NATIVE_MIN_DRAWTIME * OPENGL_AVG_DRAWTIME * OPENGL_FPS *
--   OPENGL_FRAMES * OPENGL_MAX_DRAWTIME * OPENGL_MIN_DRAWTIME * RX *
--   RX_RATE: The total number of bytes per second (TCP and UDP) that are
--   sent, by app process. * THREADS: A threads sample type. This is
--   expressed as the total number of threads per app process. * TX *
--   TX_RATE: The total number of bytes per second (TCP and UDP) that are
--   received, by app process.
samType :: Lens' Sample (Maybe SampleType)

-- | Represents the settings for a run. Includes things like location,
--   radio states, auxiliary apps, and network profiles.
--   
--   <i>See:</i> <a>scheduleRunConfiguration</a> smart constructor.
data ScheduleRunConfiguration

-- | Creates a value of <a>ScheduleRunConfiguration</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>srcBillingMethod</a> - Specifies the billing method for a test
--   run: <tt>metered</tt> or <tt>unmetered</tt> . If the parameter is not
--   specified, the default value is <tt>metered</tt> .</li>
--   <li><a>srcRadios</a> - Information about the radio states for the
--   run.</li>
--   <li><a>srcLocation</a> - Information about the location that is used
--   for the run.</li>
--   <li><a>srcLocale</a> - Information about the locale that is used for
--   the run.</li>
--   <li><a>srcNetworkProfileARN</a> - Reserved for internal use.</li>
--   <li><a>srcExtraDataPackageARN</a> - The ARN of the extra data for the
--   run. The extra data is a .zip file that AWS Device Farm will extract
--   to external data for Android or the app's sandbox for iOS.</li>
--   <li><a>srcAuxiliaryApps</a> - A list of auxiliary apps for the
--   run.</li>
--   </ul>
scheduleRunConfiguration :: ScheduleRunConfiguration

-- | Specifies the billing method for a test run: <tt>metered</tt> or
--   <tt>unmetered</tt> . If the parameter is not specified, the default
--   value is <tt>metered</tt> .
srcBillingMethod :: Lens' ScheduleRunConfiguration (Maybe BillingMethod)

-- | Information about the radio states for the run.
srcRadios :: Lens' ScheduleRunConfiguration (Maybe Radios)

-- | Information about the location that is used for the run.
srcLocation :: Lens' ScheduleRunConfiguration (Maybe Location)

-- | Information about the locale that is used for the run.
srcLocale :: Lens' ScheduleRunConfiguration (Maybe Text)

-- | Reserved for internal use.
srcNetworkProfileARN :: Lens' ScheduleRunConfiguration (Maybe Text)

-- | The ARN of the extra data for the run. The extra data is a .zip file
--   that AWS Device Farm will extract to external data for Android or the
--   app's sandbox for iOS.
srcExtraDataPackageARN :: Lens' ScheduleRunConfiguration (Maybe Text)

-- | A list of auxiliary apps for the run.
srcAuxiliaryApps :: Lens' ScheduleRunConfiguration [Text]

-- | Represents additional test settings.
--   
--   <i>See:</i> <a>scheduleRunTest</a> smart constructor.
data ScheduleRunTest

-- | Creates a value of <a>ScheduleRunTest</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>srtTestPackageARN</a> - The ARN of the uploaded test that will
--   be run.</li>
--   <li><a>srtParameters</a> - The test's parameters, such as test
--   framework parameters and fixture settings.</li>
--   <li><a>srtFilter</a> - The test's filter.</li>
--   <li><a>srtType</a> - The test's type. Must be one of the following
--   values: * BUILTIN_FUZZ: The built-in fuzz type. * BUILTIN_EXPLORER:
--   For Android, an app explorer that will traverse an Android app,
--   interacting with it and capturing screenshots at the same time. *
--   APPIUM_JAVA_JUNIT: The Appium Java JUnit type. * APPIUM_JAVA_TESTNG:
--   The Appium Java TestNG type. * APPIUM_PYTHON: The Appium Python type.
--   * APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for Web apps. *
--   APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for Web apps. *
--   APPIUM_WEB_PYTHON: The Appium Python type for Web apps. * CALABASH:
--   The Calabash type. * INSTRUMENTATION: The Instrumentation type. *
--   UIAUTOMATION: The uiautomation type. * UIAUTOMATOR: The uiautomator
--   type. * XCTEST: The XCode test type. * XCTEST_UI: The XCode UI test
--   type.</li>
--   </ul>
scheduleRunTest :: TestType -> ScheduleRunTest

-- | The ARN of the uploaded test that will be run.
srtTestPackageARN :: Lens' ScheduleRunTest (Maybe Text)

-- | The test's parameters, such as test framework parameters and fixture
--   settings.
srtParameters :: Lens' ScheduleRunTest (HashMap Text Text)

-- | The test's filter.
srtFilter :: Lens' ScheduleRunTest (Maybe Text)

-- | The test's type. Must be one of the following values: * BUILTIN_FUZZ:
--   The built-in fuzz type. * BUILTIN_EXPLORER: For Android, an app
--   explorer that will traverse an Android app, interacting with it and
--   capturing screenshots at the same time. * APPIUM_JAVA_JUNIT: The
--   Appium Java JUnit type. * APPIUM_JAVA_TESTNG: The Appium Java TestNG
--   type. * APPIUM_PYTHON: The Appium Python type. *
--   APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for Web apps. *
--   APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for Web apps. *
--   APPIUM_WEB_PYTHON: The Appium Python type for Web apps. * CALABASH:
--   The Calabash type. * INSTRUMENTATION: The Instrumentation type. *
--   UIAUTOMATION: The uiautomation type. * UIAUTOMATOR: The uiautomator
--   type. * XCTEST: The XCode test type. * XCTEST_UI: The XCode UI test
--   type.
srtType :: Lens' ScheduleRunTest TestType

-- | Represents a collection of one or more tests.
--   
--   <i>See:</i> <a>suite</a> smart constructor.
data Suite

-- | Creates a value of <a>Suite</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sStatus</a> - The suite's status. Allowed values include: *
--   PENDING: A pending status. * PENDING_CONCURRENCY: A pending
--   concurrency status. * PENDING_DEVICE: A pending device status. *
--   PROCESSING: A processing status. * SCHEDULING: A scheduling status. *
--   PREPARING: A preparing status. * RUNNING: A running status. *
--   COMPLETED: A completed status. * STOPPING: A stopping status.</li>
--   <li><a>sCounters</a> - The suite's result counters.</li>
--   <li><a>sArn</a> - The suite's ARN.</li>
--   <li><a>sCreated</a> - When the suite was created.</li>
--   <li><a>sStopped</a> - The suite's stop time.</li>
--   <li><a>sResult</a> - The suite's result. Allowed values include: *
--   PENDING: A pending condition. * PASSED: A passing condition. * WARNED:
--   A warning condition. * FAILED: A failed condition. * SKIPPED: A
--   skipped condition. * ERRORED: An error condition. * STOPPED: A stopped
--   condition.</li>
--   <li><a>sName</a> - The suite's name.</li>
--   <li><a>sDeviceMinutes</a> - Represents the total (metered or
--   unmetered) minutes used by the test suite.</li>
--   <li><a>sType</a> - The suite's type. Must be one of the following
--   values: * BUILTIN_FUZZ: The built-in fuzz type. * BUILTIN_EXPLORER:
--   For Android, an app explorer that will traverse an Android app,
--   interacting with it and capturing screenshots at the same time. *
--   APPIUM_JAVA_JUNIT: The Appium Java JUnit type. * APPIUM_JAVA_TESTNG:
--   The Appium Java TestNG type. * APPIUM_PYTHON: The Appium Python type.
--   * APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for Web apps. *
--   APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for Web apps. *
--   APPIUM_WEB_PYTHON: The Appium Python type for Web apps. * CALABASH:
--   The Calabash type. * INSTRUMENTATION: The Instrumentation type. *
--   UIAUTOMATION: The uiautomation type. * UIAUTOMATOR: The uiautomator
--   type. * XCTEST: The XCode test type. * XCTEST_UI: The XCode UI test
--   type.</li>
--   <li><a>sMessage</a> - A message about the suite's result.</li>
--   <li><a>sStarted</a> - The suite's start time.</li>
--   </ul>
suite :: Suite

-- | The suite's status. Allowed values include: * PENDING: A pending
--   status. * PENDING_CONCURRENCY: A pending concurrency status. *
--   PENDING_DEVICE: A pending device status. * PROCESSING: A processing
--   status. * SCHEDULING: A scheduling status. * PREPARING: A preparing
--   status. * RUNNING: A running status. * COMPLETED: A completed status.
--   * STOPPING: A stopping status.
sStatus :: Lens' Suite (Maybe ExecutionStatus)

-- | The suite's result counters.
sCounters :: Lens' Suite (Maybe Counters)

-- | The suite's ARN.
sArn :: Lens' Suite (Maybe Text)

-- | When the suite was created.
sCreated :: Lens' Suite (Maybe UTCTime)

-- | The suite's stop time.
sStopped :: Lens' Suite (Maybe UTCTime)

-- | The suite's result. Allowed values include: * PENDING: A pending
--   condition. * PASSED: A passing condition. * WARNED: A warning
--   condition. * FAILED: A failed condition. * SKIPPED: A skipped
--   condition. * ERRORED: An error condition. * STOPPED: A stopped
--   condition.
sResult :: Lens' Suite (Maybe ExecutionResult)

-- | The suite's name.
sName :: Lens' Suite (Maybe Text)

-- | Represents the total (metered or unmetered) minutes used by the test
--   suite.
sDeviceMinutes :: Lens' Suite (Maybe DeviceMinutes)

-- | The suite's type. Must be one of the following values: * BUILTIN_FUZZ:
--   The built-in fuzz type. * BUILTIN_EXPLORER: For Android, an app
--   explorer that will traverse an Android app, interacting with it and
--   capturing screenshots at the same time. * APPIUM_JAVA_JUNIT: The
--   Appium Java JUnit type. * APPIUM_JAVA_TESTNG: The Appium Java TestNG
--   type. * APPIUM_PYTHON: The Appium Python type. *
--   APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for Web apps. *
--   APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for Web apps. *
--   APPIUM_WEB_PYTHON: The Appium Python type for Web apps. * CALABASH:
--   The Calabash type. * INSTRUMENTATION: The Instrumentation type. *
--   UIAUTOMATION: The uiautomation type. * UIAUTOMATOR: The uiautomator
--   type. * XCTEST: The XCode test type. * XCTEST_UI: The XCode UI test
--   type.
sType :: Lens' Suite (Maybe TestType)

-- | A message about the suite's result.
sMessage :: Lens' Suite (Maybe Text)

-- | The suite's start time.
sStarted :: Lens' Suite (Maybe UTCTime)

-- | Represents a condition that is evaluated.
--   
--   <i>See:</i> <a>test</a> smart constructor.
data Test

-- | Creates a value of <a>Test</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tStatus</a> - The test's status. Allowed values include: *
--   PENDING: A pending status. * PENDING_CONCURRENCY: A pending
--   concurrency status. * PENDING_DEVICE: A pending device status. *
--   PROCESSING: A processing status. * SCHEDULING: A scheduling status. *
--   PREPARING: A preparing status. * RUNNING: A running status. *
--   COMPLETED: A completed status. * STOPPING: A stopping status.</li>
--   <li><a>tCounters</a> - The test's result counters.</li>
--   <li><a>tArn</a> - The test's ARN.</li>
--   <li><a>tCreated</a> - When the test was created.</li>
--   <li><a>tStopped</a> - The test's stop time.</li>
--   <li><a>tResult</a> - The test's result. Allowed values include: *
--   PENDING: A pending condition. * PASSED: A passing condition. * WARNED:
--   A warning condition. * FAILED: A failed condition. * SKIPPED: A
--   skipped condition. * ERRORED: An error condition. * STOPPED: A stopped
--   condition.</li>
--   <li><a>tName</a> - The test's name.</li>
--   <li><a>tDeviceMinutes</a> - Represents the total (metered or
--   unmetered) minutes used by the test.</li>
--   <li><a>tType</a> - The test's type. Must be one of the following
--   values: * BUILTIN_FUZZ: The built-in fuzz type. * BUILTIN_EXPLORER:
--   For Android, an app explorer that will traverse an Android app,
--   interacting with it and capturing screenshots at the same time. *
--   APPIUM_JAVA_JUNIT: The Appium Java JUnit type. * APPIUM_JAVA_TESTNG:
--   The Appium Java TestNG type. * APPIUM_PYTHON: The Appium Python type.
--   * APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for Web apps. *
--   APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for Web apps. *
--   APPIUM_WEB_PYTHON: The Appium Python type for Web apps. * CALABASH:
--   The Calabash type. * INSTRUMENTATION: The Instrumentation type. *
--   UIAUTOMATION: The uiautomation type. * UIAUTOMATOR: The uiautomator
--   type. * XCTEST: The XCode test type. * XCTEST_UI: The XCode UI test
--   type.</li>
--   <li><a>tMessage</a> - A message about the test's result.</li>
--   <li><a>tStarted</a> - The test's start time.</li>
--   </ul>
test :: Test

-- | The test's status. Allowed values include: * PENDING: A pending
--   status. * PENDING_CONCURRENCY: A pending concurrency status. *
--   PENDING_DEVICE: A pending device status. * PROCESSING: A processing
--   status. * SCHEDULING: A scheduling status. * PREPARING: A preparing
--   status. * RUNNING: A running status. * COMPLETED: A completed status.
--   * STOPPING: A stopping status.
tStatus :: Lens' Test (Maybe ExecutionStatus)

-- | The test's result counters.
tCounters :: Lens' Test (Maybe Counters)

-- | The test's ARN.
tArn :: Lens' Test (Maybe Text)

-- | When the test was created.
tCreated :: Lens' Test (Maybe UTCTime)

-- | The test's stop time.
tStopped :: Lens' Test (Maybe UTCTime)

-- | The test's result. Allowed values include: * PENDING: A pending
--   condition. * PASSED: A passing condition. * WARNED: A warning
--   condition. * FAILED: A failed condition. * SKIPPED: A skipped
--   condition. * ERRORED: An error condition. * STOPPED: A stopped
--   condition.
tResult :: Lens' Test (Maybe ExecutionResult)

-- | The test's name.
tName :: Lens' Test (Maybe Text)

-- | Represents the total (metered or unmetered) minutes used by the test.
tDeviceMinutes :: Lens' Test (Maybe DeviceMinutes)

-- | The test's type. Must be one of the following values: * BUILTIN_FUZZ:
--   The built-in fuzz type. * BUILTIN_EXPLORER: For Android, an app
--   explorer that will traverse an Android app, interacting with it and
--   capturing screenshots at the same time. * APPIUM_JAVA_JUNIT: The
--   Appium Java JUnit type. * APPIUM_JAVA_TESTNG: The Appium Java TestNG
--   type. * APPIUM_PYTHON: The Appium Python type. *
--   APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for Web apps. *
--   APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for Web apps. *
--   APPIUM_WEB_PYTHON: The Appium Python type for Web apps. * CALABASH:
--   The Calabash type. * INSTRUMENTATION: The Instrumentation type. *
--   UIAUTOMATION: The uiautomation type. * UIAUTOMATOR: The uiautomator
--   type. * XCTEST: The XCode test type. * XCTEST_UI: The XCode UI test
--   type.
tType :: Lens' Test (Maybe TestType)

-- | A message about the test's result.
tMessage :: Lens' Test (Maybe Text)

-- | The test's start time.
tStarted :: Lens' Test (Maybe UTCTime)

-- | A collection of one or more problems, grouped by their result.
--   
--   <i>See:</i> <a>uniqueProblem</a> smart constructor.
data UniqueProblem

-- | Creates a value of <a>UniqueProblem</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>upProblems</a> - Information about the problems.</li>
--   <li><a>upMessage</a> - A message about the unique problems'
--   result.</li>
--   </ul>
uniqueProblem :: UniqueProblem

-- | Information about the problems.
upProblems :: Lens' UniqueProblem [Problem]

-- | A message about the unique problems' result.
upMessage :: Lens' UniqueProblem (Maybe Text)

-- | An app or a set of one or more tests to upload or that have been
--   uploaded.
--   
--   <i>See:</i> <a>upload</a> smart constructor.
data Upload

-- | Creates a value of <a>Upload</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>uStatus</a> - The upload's status. Must be one of the following
--   values: * FAILED: A failed status. * INITIALIZED: An initialized
--   status. * PROCESSING: A processing status. * SUCCEEDED: A succeeded
--   status.</li>
--   <li><a>uArn</a> - The upload's ARN.</li>
--   <li><a>uCreated</a> - When the upload was created.</li>
--   <li><a>uUrl</a> - The pre-signed Amazon S3 URL that was used to store
--   a file through a corresponding PUT request.</li>
--   <li><a>uName</a> - The upload's file name.</li>
--   <li><a>uMetadata</a> - The upload's metadata. For example, for
--   Android, this contains information that is parsed from the manifest
--   and is displayed in the AWS Device Farm console after the associated
--   app is uploaded.</li>
--   <li><a>uType</a> - The upload's type. Must be one of the following
--   values: * ANDROID_APP: An Android upload. * IOS_APP: An iOS upload. *
--   WEB_APP: A web appliction upload. * EXTERNAL_DATA: An external data
--   upload. * APPIUM_JAVA_JUNIT_TEST_PACKAGE: An Appium Java JUnit test
--   package upload. * APPIUM_JAVA_TESTNG_TEST_PACKAGE: An Appium Java
--   TestNG test package upload. * APPIUM_PYTHON_TEST_PACKAGE: An Appium
--   Python test package upload. * APPIUM_WEB_JAVA_JUNIT_TEST_PACKAGE: An
--   Appium Java JUnit test package upload. *
--   APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE: An Appium Java TestNG test
--   package upload. * APPIUM_WEB_PYTHON_TEST_PACKAGE: An Appium Python
--   test package upload. * CALABASH_TEST_PACKAGE: A Calabash test package
--   upload. * INSTRUMENTATION_TEST_PACKAGE: An instrumentation upload. *
--   UIAUTOMATION_TEST_PACKAGE: A uiautomation test package upload. *
--   UIAUTOMATOR_TEST_PACKAGE: A uiautomator test package upload. *
--   XCTEST_TEST_PACKAGE: An XCode test package upload. *
--   XCTEST_UI_TEST_PACKAGE: An XCode UI test package upload.</li>
--   <li><a>uMessage</a> - A message about the upload's result.</li>
--   <li><a>uContentType</a> - The upload's content type (for example,
--   "application/octet-stream").</li>
--   </ul>
upload :: Upload

-- | The upload's status. Must be one of the following values: * FAILED: A
--   failed status. * INITIALIZED: An initialized status. * PROCESSING: A
--   processing status. * SUCCEEDED: A succeeded status.
uStatus :: Lens' Upload (Maybe UploadStatus)

-- | The upload's ARN.
uArn :: Lens' Upload (Maybe Text)

-- | When the upload was created.
uCreated :: Lens' Upload (Maybe UTCTime)

-- | The pre-signed Amazon S3 URL that was used to store a file through a
--   corresponding PUT request.
uUrl :: Lens' Upload (Maybe Text)

-- | The upload's file name.
uName :: Lens' Upload (Maybe Text)

-- | The upload's metadata. For example, for Android, this contains
--   information that is parsed from the manifest and is displayed in the
--   AWS Device Farm console after the associated app is uploaded.
uMetadata :: Lens' Upload (Maybe Text)

-- | The upload's type. Must be one of the following values: * ANDROID_APP:
--   An Android upload. * IOS_APP: An iOS upload. * WEB_APP: A web
--   appliction upload. * EXTERNAL_DATA: An external data upload. *
--   APPIUM_JAVA_JUNIT_TEST_PACKAGE: An Appium Java JUnit test package
--   upload. * APPIUM_JAVA_TESTNG_TEST_PACKAGE: An Appium Java TestNG test
--   package upload. * APPIUM_PYTHON_TEST_PACKAGE: An Appium Python test
--   package upload. * APPIUM_WEB_JAVA_JUNIT_TEST_PACKAGE: An Appium Java
--   JUnit test package upload. * APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE: An
--   Appium Java TestNG test package upload. *
--   APPIUM_WEB_PYTHON_TEST_PACKAGE: An Appium Python test package upload.
--   * CALABASH_TEST_PACKAGE: A Calabash test package upload. *
--   INSTRUMENTATION_TEST_PACKAGE: An instrumentation upload. *
--   UIAUTOMATION_TEST_PACKAGE: A uiautomation test package upload. *
--   UIAUTOMATOR_TEST_PACKAGE: A uiautomator test package upload. *
--   XCTEST_TEST_PACKAGE: An XCode test package upload. *
--   XCTEST_UI_TEST_PACKAGE: An XCode UI test package upload.
uType :: Lens' Upload (Maybe UploadType)

-- | A message about the upload's result.
uMessage :: Lens' Upload (Maybe Text)

-- | The upload's content type (for example, "application/octet-stream").
uContentType :: Lens' Upload (Maybe Text)


-- | Modifies the name, description, and rules in a device pool given the
--   attributes and the pool ARN. Rule updates are all-or-nothing, meaning
--   they can only be updated as a whole (or not at all).
module Network.AWS.DeviceFarm.UpdateDevicePool

-- | Creates a value of <a>UpdateDevicePool</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>udpRules</a> - Represents the rules you wish to modify for the
--   device pool. Updating rules is optional; however, if you choose to
--   update rules for your request, the update will replace the existing
--   rules.</li>
--   <li><a>udpName</a> - A string representing the name of the device pool
--   you wish to update.</li>
--   <li><a>udpDescription</a> - A description of the device pool you wish
--   to update.</li>
--   <li><a>udpArn</a> - The Amazon Resourc Name (ARN) of the Device Farm
--   device pool you wish to update.</li>
--   </ul>
updateDevicePool :: Text -> UpdateDevicePool

-- | Represents a request to the update device pool operation.
--   
--   <i>See:</i> <a>updateDevicePool</a> smart constructor.
data UpdateDevicePool

-- | Represents the rules you wish to modify for the device pool. Updating
--   rules is optional; however, if you choose to update rules for your
--   request, the update will replace the existing rules.
udpRules :: Lens' UpdateDevicePool [Rule]

-- | A string representing the name of the device pool you wish to update.
udpName :: Lens' UpdateDevicePool (Maybe Text)

-- | A description of the device pool you wish to update.
udpDescription :: Lens' UpdateDevicePool (Maybe Text)

-- | The Amazon Resourc Name (ARN) of the Device Farm device pool you wish
--   to update.
udpArn :: Lens' UpdateDevicePool Text

-- | Creates a value of <a>UpdateDevicePoolResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>udprsDevicePool</a> - Undocumented member.</li>
--   <li><a>udprsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
updateDevicePoolResponse :: Int -> UpdateDevicePoolResponse

-- | Represents the result of an update device pool request.
--   
--   <i>See:</i> <a>updateDevicePoolResponse</a> smart constructor.
data UpdateDevicePoolResponse

-- | Undocumented member.
udprsDevicePool :: Lens' UpdateDevicePoolResponse (Maybe DevicePool)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
udprsResponseStatus :: Lens' UpdateDevicePoolResponse Int
instance GHC.Generics.Generic Network.AWS.DeviceFarm.UpdateDevicePool.UpdateDevicePoolResponse
instance Data.Data.Data Network.AWS.DeviceFarm.UpdateDevicePool.UpdateDevicePoolResponse
instance GHC.Show.Show Network.AWS.DeviceFarm.UpdateDevicePool.UpdateDevicePoolResponse
instance GHC.Read.Read Network.AWS.DeviceFarm.UpdateDevicePool.UpdateDevicePoolResponse
instance GHC.Classes.Eq Network.AWS.DeviceFarm.UpdateDevicePool.UpdateDevicePoolResponse
instance GHC.Generics.Generic Network.AWS.DeviceFarm.UpdateDevicePool.UpdateDevicePool
instance Data.Data.Data Network.AWS.DeviceFarm.UpdateDevicePool.UpdateDevicePool
instance GHC.Show.Show Network.AWS.DeviceFarm.UpdateDevicePool.UpdateDevicePool
instance GHC.Read.Read Network.AWS.DeviceFarm.UpdateDevicePool.UpdateDevicePool
instance GHC.Classes.Eq Network.AWS.DeviceFarm.UpdateDevicePool.UpdateDevicePool
instance Network.AWS.Types.AWSRequest Network.AWS.DeviceFarm.UpdateDevicePool.UpdateDevicePool
instance Data.Hashable.Class.Hashable Network.AWS.DeviceFarm.UpdateDevicePool.UpdateDevicePool
instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.UpdateDevicePool.UpdateDevicePool
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DeviceFarm.UpdateDevicePool.UpdateDevicePool
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DeviceFarm.UpdateDevicePool.UpdateDevicePool
instance Network.AWS.Data.Path.ToPath Network.AWS.DeviceFarm.UpdateDevicePool.UpdateDevicePool
instance Network.AWS.Data.Query.ToQuery Network.AWS.DeviceFarm.UpdateDevicePool.UpdateDevicePool
instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.UpdateDevicePool.UpdateDevicePoolResponse


-- | Modifies the specified project name, given the project ARN and a new
--   name.
module Network.AWS.DeviceFarm.UpdateProject

-- | Creates a value of <a>UpdateProject</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>upName</a> - A string representing the new name of the project
--   that you are updating.</li>
--   <li><a>upArn</a> - The Amazon Resource Name (ARN) of the project whose
--   name you wish to update.</li>
--   </ul>
updateProject :: Text -> UpdateProject

-- | Represents a request to the update project operation.
--   
--   <i>See:</i> <a>updateProject</a> smart constructor.
data UpdateProject

-- | A string representing the new name of the project that you are
--   updating.
upName :: Lens' UpdateProject (Maybe Text)

-- | The Amazon Resource Name (ARN) of the project whose name you wish to
--   update.
upArn :: Lens' UpdateProject Text

-- | Creates a value of <a>UpdateProjectResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>uprsProject</a> - Undocumented member.</li>
--   <li><a>uprsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
updateProjectResponse :: Int -> UpdateProjectResponse

-- | Represents the result of an update project request.
--   
--   <i>See:</i> <a>updateProjectResponse</a> smart constructor.
data UpdateProjectResponse

-- | Undocumented member.
uprsProject :: Lens' UpdateProjectResponse (Maybe Project)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
uprsResponseStatus :: Lens' UpdateProjectResponse Int
instance GHC.Generics.Generic Network.AWS.DeviceFarm.UpdateProject.UpdateProjectResponse
instance Data.Data.Data Network.AWS.DeviceFarm.UpdateProject.UpdateProjectResponse
instance GHC.Show.Show Network.AWS.DeviceFarm.UpdateProject.UpdateProjectResponse
instance GHC.Read.Read Network.AWS.DeviceFarm.UpdateProject.UpdateProjectResponse
instance GHC.Classes.Eq Network.AWS.DeviceFarm.UpdateProject.UpdateProjectResponse
instance GHC.Generics.Generic Network.AWS.DeviceFarm.UpdateProject.UpdateProject
instance Data.Data.Data Network.AWS.DeviceFarm.UpdateProject.UpdateProject
instance GHC.Show.Show Network.AWS.DeviceFarm.UpdateProject.UpdateProject
instance GHC.Read.Read Network.AWS.DeviceFarm.UpdateProject.UpdateProject
instance GHC.Classes.Eq Network.AWS.DeviceFarm.UpdateProject.UpdateProject
instance Network.AWS.Types.AWSRequest Network.AWS.DeviceFarm.UpdateProject.UpdateProject
instance Data.Hashable.Class.Hashable Network.AWS.DeviceFarm.UpdateProject.UpdateProject
instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.UpdateProject.UpdateProject
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DeviceFarm.UpdateProject.UpdateProject
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DeviceFarm.UpdateProject.UpdateProject
instance Network.AWS.Data.Path.ToPath Network.AWS.DeviceFarm.UpdateProject.UpdateProject
instance Network.AWS.Data.Query.ToQuery Network.AWS.DeviceFarm.UpdateProject.UpdateProject
instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.UpdateProject.UpdateProjectResponse


module Network.AWS.DeviceFarm.Waiters


-- | Initiates a stop request for the current test run. AWS Device Farm
--   will immediately stop the run on devices where tests have not started
--   executing, and you will not be billed for these devices. On devices
--   where tests have started executing, Setup Suite and Teardown Suite
--   tests will run to completion before stopping execution on those
--   devices. You will be billed for Setup, Teardown, and any tests that
--   were in progress or already completed.
module Network.AWS.DeviceFarm.StopRun

-- | Creates a value of <a>StopRun</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>srArn</a> - Represents the Amazon Resource Name (ARN) of the
--   Device Farm run you wish to stop.</li>
--   </ul>
stopRun :: Text -> StopRun

-- | Represents the request to stop a specific run.
--   
--   <i>See:</i> <a>stopRun</a> smart constructor.
data StopRun

-- | Represents the Amazon Resource Name (ARN) of the Device Farm run you
--   wish to stop.
srArn :: Lens' StopRun Text

-- | Creates a value of <a>StopRunResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>srsRun</a> - Undocumented member.</li>
--   <li><a>srsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
stopRunResponse :: Int -> StopRunResponse

-- | Represents the results of your stop run attempt.
--   
--   <i>See:</i> <a>stopRunResponse</a> smart constructor.
data StopRunResponse

-- | Undocumented member.
srsRun :: Lens' StopRunResponse (Maybe Run)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
srsResponseStatus :: Lens' StopRunResponse Int
instance GHC.Generics.Generic Network.AWS.DeviceFarm.StopRun.StopRunResponse
instance Data.Data.Data Network.AWS.DeviceFarm.StopRun.StopRunResponse
instance GHC.Show.Show Network.AWS.DeviceFarm.StopRun.StopRunResponse
instance GHC.Read.Read Network.AWS.DeviceFarm.StopRun.StopRunResponse
instance GHC.Classes.Eq Network.AWS.DeviceFarm.StopRun.StopRunResponse
instance GHC.Generics.Generic Network.AWS.DeviceFarm.StopRun.StopRun
instance Data.Data.Data Network.AWS.DeviceFarm.StopRun.StopRun
instance GHC.Show.Show Network.AWS.DeviceFarm.StopRun.StopRun
instance GHC.Read.Read Network.AWS.DeviceFarm.StopRun.StopRun
instance GHC.Classes.Eq Network.AWS.DeviceFarm.StopRun.StopRun
instance Network.AWS.Types.AWSRequest Network.AWS.DeviceFarm.StopRun.StopRun
instance Data.Hashable.Class.Hashable Network.AWS.DeviceFarm.StopRun.StopRun
instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.StopRun.StopRun
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DeviceFarm.StopRun.StopRun
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DeviceFarm.StopRun.StopRun
instance Network.AWS.Data.Path.ToPath Network.AWS.DeviceFarm.StopRun.StopRun
instance Network.AWS.Data.Query.ToQuery Network.AWS.DeviceFarm.StopRun.StopRun
instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.StopRun.StopRunResponse


-- | Ends a specified remote access session.
module Network.AWS.DeviceFarm.StopRemoteAccessSession

-- | Creates a value of <a>StopRemoteAccessSession</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>srasArn</a> - The Amazon Resource Name (ARN) of the remote
--   access session you wish to stop.</li>
--   </ul>
stopRemoteAccessSession :: Text -> StopRemoteAccessSession

-- | Represents the request to stop the remote access session.
--   
--   <i>See:</i> <a>stopRemoteAccessSession</a> smart constructor.
data StopRemoteAccessSession

-- | The Amazon Resource Name (ARN) of the remote access session you wish
--   to stop.
srasArn :: Lens' StopRemoteAccessSession Text

-- | Creates a value of <a>StopRemoteAccessSessionResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>srasrsRemoteAccessSession</a> - A container representing the
--   metadata from the service about the remote access session you are
--   stopping.</li>
--   <li><a>srasrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
stopRemoteAccessSessionResponse :: Int -> StopRemoteAccessSessionResponse

-- | Represents the response from the server that describes the remote
--   access session when AWS Device Farm stops the session.
--   
--   <i>See:</i> <a>stopRemoteAccessSessionResponse</a> smart constructor.
data StopRemoteAccessSessionResponse

-- | A container representing the metadata from the service about the
--   remote access session you are stopping.
srasrsRemoteAccessSession :: Lens' StopRemoteAccessSessionResponse (Maybe RemoteAccessSession)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
srasrsResponseStatus :: Lens' StopRemoteAccessSessionResponse Int
instance GHC.Generics.Generic Network.AWS.DeviceFarm.StopRemoteAccessSession.StopRemoteAccessSessionResponse
instance Data.Data.Data Network.AWS.DeviceFarm.StopRemoteAccessSession.StopRemoteAccessSessionResponse
instance GHC.Show.Show Network.AWS.DeviceFarm.StopRemoteAccessSession.StopRemoteAccessSessionResponse
instance GHC.Read.Read Network.AWS.DeviceFarm.StopRemoteAccessSession.StopRemoteAccessSessionResponse
instance GHC.Classes.Eq Network.AWS.DeviceFarm.StopRemoteAccessSession.StopRemoteAccessSessionResponse
instance GHC.Generics.Generic Network.AWS.DeviceFarm.StopRemoteAccessSession.StopRemoteAccessSession
instance Data.Data.Data Network.AWS.DeviceFarm.StopRemoteAccessSession.StopRemoteAccessSession
instance GHC.Show.Show Network.AWS.DeviceFarm.StopRemoteAccessSession.StopRemoteAccessSession
instance GHC.Read.Read Network.AWS.DeviceFarm.StopRemoteAccessSession.StopRemoteAccessSession
instance GHC.Classes.Eq Network.AWS.DeviceFarm.StopRemoteAccessSession.StopRemoteAccessSession
instance Network.AWS.Types.AWSRequest Network.AWS.DeviceFarm.StopRemoteAccessSession.StopRemoteAccessSession
instance Data.Hashable.Class.Hashable Network.AWS.DeviceFarm.StopRemoteAccessSession.StopRemoteAccessSession
instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.StopRemoteAccessSession.StopRemoteAccessSession
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DeviceFarm.StopRemoteAccessSession.StopRemoteAccessSession
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DeviceFarm.StopRemoteAccessSession.StopRemoteAccessSession
instance Network.AWS.Data.Path.ToPath Network.AWS.DeviceFarm.StopRemoteAccessSession.StopRemoteAccessSession
instance Network.AWS.Data.Query.ToQuery Network.AWS.DeviceFarm.StopRemoteAccessSession.StopRemoteAccessSession
instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.StopRemoteAccessSession.StopRemoteAccessSessionResponse


-- | Schedules a run.
module Network.AWS.DeviceFarm.ScheduleRun

-- | Creates a value of <a>ScheduleRun</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>srAppARN</a> - The ARN of the app to schedule a run.</li>
--   <li><a>srName</a> - The name for the run to be scheduled.</li>
--   <li><a>srConfiguration</a> - Information about the settings for the
--   run to be scheduled.</li>
--   <li><a>srProjectARN</a> - The ARN of the project for the run to be
--   scheduled.</li>
--   <li><a>srDevicePoolARN</a> - The ARN of the device pool for the run to
--   be scheduled.</li>
--   <li><a>srTest</a> - Information about the test for the run to be
--   scheduled.</li>
--   </ul>
scheduleRun :: Text -> Text -> ScheduleRunTest -> ScheduleRun

-- | Represents a request to the schedule run operation.
--   
--   <i>See:</i> <a>scheduleRun</a> smart constructor.
data ScheduleRun

-- | The ARN of the app to schedule a run.
srAppARN :: Lens' ScheduleRun (Maybe Text)

-- | The name for the run to be scheduled.
srName :: Lens' ScheduleRun (Maybe Text)

-- | Information about the settings for the run to be scheduled.
srConfiguration :: Lens' ScheduleRun (Maybe ScheduleRunConfiguration)

-- | The ARN of the project for the run to be scheduled.
srProjectARN :: Lens' ScheduleRun Text

-- | The ARN of the device pool for the run to be scheduled.
srDevicePoolARN :: Lens' ScheduleRun Text

-- | Information about the test for the run to be scheduled.
srTest :: Lens' ScheduleRun ScheduleRunTest

-- | Creates a value of <a>ScheduleRunResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>srrsRun</a> - Information about the scheduled run.</li>
--   <li><a>srrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
scheduleRunResponse :: Int -> ScheduleRunResponse

-- | Represents the result of a schedule run request.
--   
--   <i>See:</i> <a>scheduleRunResponse</a> smart constructor.
data ScheduleRunResponse

-- | Information about the scheduled run.
srrsRun :: Lens' ScheduleRunResponse (Maybe Run)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
srrsResponseStatus :: Lens' ScheduleRunResponse Int
instance GHC.Generics.Generic Network.AWS.DeviceFarm.ScheduleRun.ScheduleRunResponse
instance Data.Data.Data Network.AWS.DeviceFarm.ScheduleRun.ScheduleRunResponse
instance GHC.Show.Show Network.AWS.DeviceFarm.ScheduleRun.ScheduleRunResponse
instance GHC.Read.Read Network.AWS.DeviceFarm.ScheduleRun.ScheduleRunResponse
instance GHC.Classes.Eq Network.AWS.DeviceFarm.ScheduleRun.ScheduleRunResponse
instance GHC.Generics.Generic Network.AWS.DeviceFarm.ScheduleRun.ScheduleRun
instance Data.Data.Data Network.AWS.DeviceFarm.ScheduleRun.ScheduleRun
instance GHC.Show.Show Network.AWS.DeviceFarm.ScheduleRun.ScheduleRun
instance GHC.Read.Read Network.AWS.DeviceFarm.ScheduleRun.ScheduleRun
instance GHC.Classes.Eq Network.AWS.DeviceFarm.ScheduleRun.ScheduleRun
instance Network.AWS.Types.AWSRequest Network.AWS.DeviceFarm.ScheduleRun.ScheduleRun
instance Data.Hashable.Class.Hashable Network.AWS.DeviceFarm.ScheduleRun.ScheduleRun
instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.ScheduleRun.ScheduleRun
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DeviceFarm.ScheduleRun.ScheduleRun
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DeviceFarm.ScheduleRun.ScheduleRun
instance Network.AWS.Data.Path.ToPath Network.AWS.DeviceFarm.ScheduleRun.ScheduleRun
instance Network.AWS.Data.Query.ToQuery Network.AWS.DeviceFarm.ScheduleRun.ScheduleRun
instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.ScheduleRun.ScheduleRunResponse


-- | Explicitly sets the quantity of devices to renew for an offering,
--   starting from the <tt>effectiveDate</tt> of the next period. The API
--   returns a <tt>NotEligible</tt> error if the user is not permitted to
--   invoke the operation. Please contact
--   <a>aws-devicefarm-support@amazon.com</a> if you believe that you
--   should be able to invoke this operation.
module Network.AWS.DeviceFarm.RenewOffering

-- | Creates a value of <a>RenewOffering</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>roQuantity</a> - The quantity requested in an offering
--   renewal.</li>
--   <li><a>roOfferingId</a> - The ID of a request to renew an
--   offering.</li>
--   </ul>
renewOffering :: RenewOffering

-- | A request representing an offering renewal.
--   
--   <i>See:</i> <a>renewOffering</a> smart constructor.
data RenewOffering

-- | The quantity requested in an offering renewal.
roQuantity :: Lens' RenewOffering (Maybe Int)

-- | The ID of a request to renew an offering.
roOfferingId :: Lens' RenewOffering (Maybe Text)

-- | Creates a value of <a>RenewOfferingResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rorsOfferingTransaction</a> - Represents the status of the
--   offering transaction for the renewal.</li>
--   <li><a>rorsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
renewOfferingResponse :: Int -> RenewOfferingResponse

-- | The result of a renewal offering.
--   
--   <i>See:</i> <a>renewOfferingResponse</a> smart constructor.
data RenewOfferingResponse

-- | Represents the status of the offering transaction for the renewal.
rorsOfferingTransaction :: Lens' RenewOfferingResponse (Maybe OfferingTransaction)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
rorsResponseStatus :: Lens' RenewOfferingResponse Int
instance GHC.Generics.Generic Network.AWS.DeviceFarm.RenewOffering.RenewOfferingResponse
instance Data.Data.Data Network.AWS.DeviceFarm.RenewOffering.RenewOfferingResponse
instance GHC.Show.Show Network.AWS.DeviceFarm.RenewOffering.RenewOfferingResponse
instance GHC.Read.Read Network.AWS.DeviceFarm.RenewOffering.RenewOfferingResponse
instance GHC.Classes.Eq Network.AWS.DeviceFarm.RenewOffering.RenewOfferingResponse
instance GHC.Generics.Generic Network.AWS.DeviceFarm.RenewOffering.RenewOffering
instance Data.Data.Data Network.AWS.DeviceFarm.RenewOffering.RenewOffering
instance GHC.Show.Show Network.AWS.DeviceFarm.RenewOffering.RenewOffering
instance GHC.Read.Read Network.AWS.DeviceFarm.RenewOffering.RenewOffering
instance GHC.Classes.Eq Network.AWS.DeviceFarm.RenewOffering.RenewOffering
instance Network.AWS.Types.AWSRequest Network.AWS.DeviceFarm.RenewOffering.RenewOffering
instance Data.Hashable.Class.Hashable Network.AWS.DeviceFarm.RenewOffering.RenewOffering
instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.RenewOffering.RenewOffering
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DeviceFarm.RenewOffering.RenewOffering
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DeviceFarm.RenewOffering.RenewOffering
instance Network.AWS.Data.Path.ToPath Network.AWS.DeviceFarm.RenewOffering.RenewOffering
instance Network.AWS.Data.Query.ToQuery Network.AWS.DeviceFarm.RenewOffering.RenewOffering
instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.RenewOffering.RenewOfferingResponse


-- | Immediately purchases offerings for an AWS account. Offerings renew
--   with the latest total purchased quantity for an offering, unless the
--   renewal was overridden. The API returns a <tt>NotEligible</tt> error
--   if the user is not permitted to invoke the operation. Please contact
--   <a>aws-devicefarm-support@amazon.com</a> if you believe that you
--   should be able to invoke this operation.
module Network.AWS.DeviceFarm.PurchaseOffering

-- | Creates a value of <a>PurchaseOffering</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>poQuantity</a> - The number of device slots you wish to
--   purchase in an offering request.</li>
--   <li><a>poOfferingId</a> - The ID of the offering.</li>
--   </ul>
purchaseOffering :: PurchaseOffering

-- | Represents a request for a purchase offering.
--   
--   <i>See:</i> <a>purchaseOffering</a> smart constructor.
data PurchaseOffering

-- | The number of device slots you wish to purchase in an offering
--   request.
poQuantity :: Lens' PurchaseOffering (Maybe Int)

-- | The ID of the offering.
poOfferingId :: Lens' PurchaseOffering (Maybe Text)

-- | Creates a value of <a>PurchaseOfferingResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>porsOfferingTransaction</a> - Represents the offering
--   transaction for the purchase result.</li>
--   <li><a>porsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
purchaseOfferingResponse :: Int -> PurchaseOfferingResponse

-- | The result of the purchase offering (e.g., success or failure).
--   
--   <i>See:</i> <a>purchaseOfferingResponse</a> smart constructor.
data PurchaseOfferingResponse

-- | Represents the offering transaction for the purchase result.
porsOfferingTransaction :: Lens' PurchaseOfferingResponse (Maybe OfferingTransaction)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
porsResponseStatus :: Lens' PurchaseOfferingResponse Int
instance GHC.Generics.Generic Network.AWS.DeviceFarm.PurchaseOffering.PurchaseOfferingResponse
instance Data.Data.Data Network.AWS.DeviceFarm.PurchaseOffering.PurchaseOfferingResponse
instance GHC.Show.Show Network.AWS.DeviceFarm.PurchaseOffering.PurchaseOfferingResponse
instance GHC.Read.Read Network.AWS.DeviceFarm.PurchaseOffering.PurchaseOfferingResponse
instance GHC.Classes.Eq Network.AWS.DeviceFarm.PurchaseOffering.PurchaseOfferingResponse
instance GHC.Generics.Generic Network.AWS.DeviceFarm.PurchaseOffering.PurchaseOffering
instance Data.Data.Data Network.AWS.DeviceFarm.PurchaseOffering.PurchaseOffering
instance GHC.Show.Show Network.AWS.DeviceFarm.PurchaseOffering.PurchaseOffering
instance GHC.Read.Read Network.AWS.DeviceFarm.PurchaseOffering.PurchaseOffering
instance GHC.Classes.Eq Network.AWS.DeviceFarm.PurchaseOffering.PurchaseOffering
instance Network.AWS.Types.AWSRequest Network.AWS.DeviceFarm.PurchaseOffering.PurchaseOffering
instance Data.Hashable.Class.Hashable Network.AWS.DeviceFarm.PurchaseOffering.PurchaseOffering
instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.PurchaseOffering.PurchaseOffering
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DeviceFarm.PurchaseOffering.PurchaseOffering
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DeviceFarm.PurchaseOffering.PurchaseOffering
instance Network.AWS.Data.Path.ToPath Network.AWS.DeviceFarm.PurchaseOffering.PurchaseOffering
instance Network.AWS.Data.Query.ToQuery Network.AWS.DeviceFarm.PurchaseOffering.PurchaseOffering
instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.PurchaseOffering.PurchaseOfferingResponse


-- | Gets information about uploads, given an AWS Device Farm project ARN.
--   
--   This operation returns paginated results.
module Network.AWS.DeviceFarm.ListUploads

-- | Creates a value of <a>ListUploads</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>luNextToken</a> - An identifier that was returned from the
--   previous call to this operation, which can be used to return the next
--   set of items in the list.</li>
--   <li><a>luArn</a> - The Amazon Resource Name (ARN) of the project for
--   which you want to list uploads.</li>
--   </ul>
listUploads :: Text -> ListUploads

-- | Represents a request to the list uploads operation.
--   
--   <i>See:</i> <a>listUploads</a> smart constructor.
data ListUploads

-- | An identifier that was returned from the previous call to this
--   operation, which can be used to return the next set of items in the
--   list.
luNextToken :: Lens' ListUploads (Maybe Text)

-- | The Amazon Resource Name (ARN) of the project for which you want to
--   list uploads.
luArn :: Lens' ListUploads Text

-- | Creates a value of <a>ListUploadsResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lursNextToken</a> - If the number of items that are returned is
--   significantly large, this is an identifier that is also returned,
--   which can be used in a subsequent call to this operation to return the
--   next set of items in the list.</li>
--   <li><a>lursUploads</a> - Information about the uploads.</li>
--   <li><a>lursResponseStatus</a> - -- | The response status code.</li>
--   </ul>
listUploadsResponse :: Int -> ListUploadsResponse

-- | Represents the result of a list uploads request.
--   
--   <i>See:</i> <a>listUploadsResponse</a> smart constructor.
data ListUploadsResponse

-- | If the number of items that are returned is significantly large, this
--   is an identifier that is also returned, which can be used in a
--   subsequent call to this operation to return the next set of items in
--   the list.
lursNextToken :: Lens' ListUploadsResponse (Maybe Text)

-- | Information about the uploads.
lursUploads :: Lens' ListUploadsResponse [Upload]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
lursResponseStatus :: Lens' ListUploadsResponse Int
instance GHC.Generics.Generic Network.AWS.DeviceFarm.ListUploads.ListUploadsResponse
instance Data.Data.Data Network.AWS.DeviceFarm.ListUploads.ListUploadsResponse
instance GHC.Show.Show Network.AWS.DeviceFarm.ListUploads.ListUploadsResponse
instance GHC.Read.Read Network.AWS.DeviceFarm.ListUploads.ListUploadsResponse
instance GHC.Classes.Eq Network.AWS.DeviceFarm.ListUploads.ListUploadsResponse
instance GHC.Generics.Generic Network.AWS.DeviceFarm.ListUploads.ListUploads
instance Data.Data.Data Network.AWS.DeviceFarm.ListUploads.ListUploads
instance GHC.Show.Show Network.AWS.DeviceFarm.ListUploads.ListUploads
instance GHC.Read.Read Network.AWS.DeviceFarm.ListUploads.ListUploads
instance GHC.Classes.Eq Network.AWS.DeviceFarm.ListUploads.ListUploads
instance Network.AWS.Pager.AWSPager Network.AWS.DeviceFarm.ListUploads.ListUploads
instance Network.AWS.Types.AWSRequest Network.AWS.DeviceFarm.ListUploads.ListUploads
instance Data.Hashable.Class.Hashable Network.AWS.DeviceFarm.ListUploads.ListUploads
instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.ListUploads.ListUploads
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DeviceFarm.ListUploads.ListUploads
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DeviceFarm.ListUploads.ListUploads
instance Network.AWS.Data.Path.ToPath Network.AWS.DeviceFarm.ListUploads.ListUploads
instance Network.AWS.Data.Query.ToQuery Network.AWS.DeviceFarm.ListUploads.ListUploads
instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.ListUploads.ListUploadsResponse


-- | Gets information about unique problems.
--   
--   This operation returns paginated results.
module Network.AWS.DeviceFarm.ListUniqueProblems

-- | Creates a value of <a>ListUniqueProblems</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lupNextToken</a> - An identifier that was returned from the
--   previous call to this operation, which can be used to return the next
--   set of items in the list.</li>
--   <li><a>lupArn</a> - The unique problems' ARNs.</li>
--   </ul>
listUniqueProblems :: Text -> ListUniqueProblems

-- | Represents a request to the list unique problems operation.
--   
--   <i>See:</i> <a>listUniqueProblems</a> smart constructor.
data ListUniqueProblems

-- | An identifier that was returned from the previous call to this
--   operation, which can be used to return the next set of items in the
--   list.
lupNextToken :: Lens' ListUniqueProblems (Maybe Text)

-- | The unique problems' ARNs.
lupArn :: Lens' ListUniqueProblems Text

-- | Creates a value of <a>ListUniqueProblemsResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>luprsNextToken</a> - If the number of items that are returned
--   is significantly large, this is an identifier that is also returned,
--   which can be used in a subsequent call to this operation to return the
--   next set of items in the list.</li>
--   <li><a>luprsUniqueProblems</a> - Information about the unique
--   problems. Allowed values include: * PENDING: A pending condition. *
--   PASSED: A passing condition. * WARNED: A warning condition. * FAILED:
--   A failed condition. * SKIPPED: A skipped condition. * ERRORED: An
--   error condition. * STOPPED: A stopped condition.</li>
--   <li><a>luprsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
listUniqueProblemsResponse :: Int -> ListUniqueProblemsResponse

-- | Represents the result of a list unique problems request.
--   
--   <i>See:</i> <a>listUniqueProblemsResponse</a> smart constructor.
data ListUniqueProblemsResponse

-- | If the number of items that are returned is significantly large, this
--   is an identifier that is also returned, which can be used in a
--   subsequent call to this operation to return the next set of items in
--   the list.
luprsNextToken :: Lens' ListUniqueProblemsResponse (Maybe Text)

-- | Information about the unique problems. Allowed values include: *
--   PENDING: A pending condition. * PASSED: A passing condition. * WARNED:
--   A warning condition. * FAILED: A failed condition. * SKIPPED: A
--   skipped condition. * ERRORED: An error condition. * STOPPED: A stopped
--   condition.
luprsUniqueProblems :: Lens' ListUniqueProblemsResponse (HashMap ExecutionResult [UniqueProblem])

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
luprsResponseStatus :: Lens' ListUniqueProblemsResponse Int
instance GHC.Generics.Generic Network.AWS.DeviceFarm.ListUniqueProblems.ListUniqueProblemsResponse
instance Data.Data.Data Network.AWS.DeviceFarm.ListUniqueProblems.ListUniqueProblemsResponse
instance GHC.Show.Show Network.AWS.DeviceFarm.ListUniqueProblems.ListUniqueProblemsResponse
instance GHC.Read.Read Network.AWS.DeviceFarm.ListUniqueProblems.ListUniqueProblemsResponse
instance GHC.Classes.Eq Network.AWS.DeviceFarm.ListUniqueProblems.ListUniqueProblemsResponse
instance GHC.Generics.Generic Network.AWS.DeviceFarm.ListUniqueProblems.ListUniqueProblems
instance Data.Data.Data Network.AWS.DeviceFarm.ListUniqueProblems.ListUniqueProblems
instance GHC.Show.Show Network.AWS.DeviceFarm.ListUniqueProblems.ListUniqueProblems
instance GHC.Read.Read Network.AWS.DeviceFarm.ListUniqueProblems.ListUniqueProblems
instance GHC.Classes.Eq Network.AWS.DeviceFarm.ListUniqueProblems.ListUniqueProblems
instance Network.AWS.Pager.AWSPager Network.AWS.DeviceFarm.ListUniqueProblems.ListUniqueProblems
instance Network.AWS.Types.AWSRequest Network.AWS.DeviceFarm.ListUniqueProblems.ListUniqueProblems
instance Data.Hashable.Class.Hashable Network.AWS.DeviceFarm.ListUniqueProblems.ListUniqueProblems
instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.ListUniqueProblems.ListUniqueProblems
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DeviceFarm.ListUniqueProblems.ListUniqueProblems
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DeviceFarm.ListUniqueProblems.ListUniqueProblems
instance Network.AWS.Data.Path.ToPath Network.AWS.DeviceFarm.ListUniqueProblems.ListUniqueProblems
instance Network.AWS.Data.Query.ToQuery Network.AWS.DeviceFarm.ListUniqueProblems.ListUniqueProblems
instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.ListUniqueProblems.ListUniqueProblemsResponse


-- | Gets information about tests.
--   
--   This operation returns paginated results.
module Network.AWS.DeviceFarm.ListTests

-- | Creates a value of <a>ListTests</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ltNextToken</a> - An identifier that was returned from the
--   previous call to this operation, which can be used to return the next
--   set of items in the list.</li>
--   <li><a>ltArn</a> - The tests' ARNs.</li>
--   </ul>
listTests :: Text -> ListTests

-- | Represents a request to the list tests operation.
--   
--   <i>See:</i> <a>listTests</a> smart constructor.
data ListTests

-- | An identifier that was returned from the previous call to this
--   operation, which can be used to return the next set of items in the
--   list.
ltNextToken :: Lens' ListTests (Maybe Text)

-- | The tests' ARNs.
ltArn :: Lens' ListTests Text

-- | Creates a value of <a>ListTestsResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ltrsTests</a> - Information about the tests.</li>
--   <li><a>ltrsNextToken</a> - If the number of items that are returned is
--   significantly large, this is an identifier that is also returned,
--   which can be used in a subsequent call to this operation to return the
--   next set of items in the list.</li>
--   <li><a>ltrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
listTestsResponse :: Int -> ListTestsResponse

-- | Represents the result of a list tests request.
--   
--   <i>See:</i> <a>listTestsResponse</a> smart constructor.
data ListTestsResponse

-- | Information about the tests.
ltrsTests :: Lens' ListTestsResponse [Test]

-- | If the number of items that are returned is significantly large, this
--   is an identifier that is also returned, which can be used in a
--   subsequent call to this operation to return the next set of items in
--   the list.
ltrsNextToken :: Lens' ListTestsResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
ltrsResponseStatus :: Lens' ListTestsResponse Int
instance GHC.Generics.Generic Network.AWS.DeviceFarm.ListTests.ListTestsResponse
instance Data.Data.Data Network.AWS.DeviceFarm.ListTests.ListTestsResponse
instance GHC.Show.Show Network.AWS.DeviceFarm.ListTests.ListTestsResponse
instance GHC.Read.Read Network.AWS.DeviceFarm.ListTests.ListTestsResponse
instance GHC.Classes.Eq Network.AWS.DeviceFarm.ListTests.ListTestsResponse
instance GHC.Generics.Generic Network.AWS.DeviceFarm.ListTests.ListTests
instance Data.Data.Data Network.AWS.DeviceFarm.ListTests.ListTests
instance GHC.Show.Show Network.AWS.DeviceFarm.ListTests.ListTests
instance GHC.Read.Read Network.AWS.DeviceFarm.ListTests.ListTests
instance GHC.Classes.Eq Network.AWS.DeviceFarm.ListTests.ListTests
instance Network.AWS.Pager.AWSPager Network.AWS.DeviceFarm.ListTests.ListTests
instance Network.AWS.Types.AWSRequest Network.AWS.DeviceFarm.ListTests.ListTests
instance Data.Hashable.Class.Hashable Network.AWS.DeviceFarm.ListTests.ListTests
instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.ListTests.ListTests
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DeviceFarm.ListTests.ListTests
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DeviceFarm.ListTests.ListTests
instance Network.AWS.Data.Path.ToPath Network.AWS.DeviceFarm.ListTests.ListTests
instance Network.AWS.Data.Query.ToQuery Network.AWS.DeviceFarm.ListTests.ListTests
instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.ListTests.ListTestsResponse


-- | Gets information about suites.
--   
--   This operation returns paginated results.
module Network.AWS.DeviceFarm.ListSuites

-- | Creates a value of <a>ListSuites</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lNextToken</a> - An identifier that was returned from the
--   previous call to this operation, which can be used to return the next
--   set of items in the list.</li>
--   <li><a>lArn</a> - The suites' ARNs.</li>
--   </ul>
listSuites :: Text -> ListSuites

-- | Represents a request to the list suites operation.
--   
--   <i>See:</i> <a>listSuites</a> smart constructor.
data ListSuites

-- | An identifier that was returned from the previous call to this
--   operation, which can be used to return the next set of items in the
--   list.
lNextToken :: Lens' ListSuites (Maybe Text)

-- | The suites' ARNs.
lArn :: Lens' ListSuites Text

-- | Creates a value of <a>ListSuitesResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lsrsNextToken</a> - If the number of items that are returned is
--   significantly large, this is an identifier that is also returned,
--   which can be used in a subsequent call to this operation to return the
--   next set of items in the list.</li>
--   <li><a>lsrsSuites</a> - Information about the suites.</li>
--   <li><a>lsrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
listSuitesResponse :: Int -> ListSuitesResponse

-- | Represents the result of a list suites request.
--   
--   <i>See:</i> <a>listSuitesResponse</a> smart constructor.
data ListSuitesResponse

-- | If the number of items that are returned is significantly large, this
--   is an identifier that is also returned, which can be used in a
--   subsequent call to this operation to return the next set of items in
--   the list.
lsrsNextToken :: Lens' ListSuitesResponse (Maybe Text)

-- | Information about the suites.
lsrsSuites :: Lens' ListSuitesResponse [Suite]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
lsrsResponseStatus :: Lens' ListSuitesResponse Int
instance GHC.Generics.Generic Network.AWS.DeviceFarm.ListSuites.ListSuitesResponse
instance Data.Data.Data Network.AWS.DeviceFarm.ListSuites.ListSuitesResponse
instance GHC.Show.Show Network.AWS.DeviceFarm.ListSuites.ListSuitesResponse
instance GHC.Read.Read Network.AWS.DeviceFarm.ListSuites.ListSuitesResponse
instance GHC.Classes.Eq Network.AWS.DeviceFarm.ListSuites.ListSuitesResponse
instance GHC.Generics.Generic Network.AWS.DeviceFarm.ListSuites.ListSuites
instance Data.Data.Data Network.AWS.DeviceFarm.ListSuites.ListSuites
instance GHC.Show.Show Network.AWS.DeviceFarm.ListSuites.ListSuites
instance GHC.Read.Read Network.AWS.DeviceFarm.ListSuites.ListSuites
instance GHC.Classes.Eq Network.AWS.DeviceFarm.ListSuites.ListSuites
instance Network.AWS.Pager.AWSPager Network.AWS.DeviceFarm.ListSuites.ListSuites
instance Network.AWS.Types.AWSRequest Network.AWS.DeviceFarm.ListSuites.ListSuites
instance Data.Hashable.Class.Hashable Network.AWS.DeviceFarm.ListSuites.ListSuites
instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.ListSuites.ListSuites
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DeviceFarm.ListSuites.ListSuites
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DeviceFarm.ListSuites.ListSuites
instance Network.AWS.Data.Path.ToPath Network.AWS.DeviceFarm.ListSuites.ListSuites
instance Network.AWS.Data.Query.ToQuery Network.AWS.DeviceFarm.ListSuites.ListSuites
instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.ListSuites.ListSuitesResponse


-- | Gets information about samples, given an AWS Device Farm project ARN
--   
--   This operation returns paginated results.
module Network.AWS.DeviceFarm.ListSamples

-- | Creates a value of <a>ListSamples</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lsNextToken</a> - An identifier that was returned from the
--   previous call to this operation, which can be used to return the next
--   set of items in the list.</li>
--   <li><a>lsArn</a> - The Amazon Resource Name (ARN) of the project for
--   which you want to list samples.</li>
--   </ul>
listSamples :: Text -> ListSamples

-- | Represents a request to the list samples operation.
--   
--   <i>See:</i> <a>listSamples</a> smart constructor.
data ListSamples

-- | An identifier that was returned from the previous call to this
--   operation, which can be used to return the next set of items in the
--   list.
lsNextToken :: Lens' ListSamples (Maybe Text)

-- | The Amazon Resource Name (ARN) of the project for which you want to
--   list samples.
lsArn :: Lens' ListSamples Text

-- | Creates a value of <a>ListSamplesResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lrsNextToken</a> - If the number of items that are returned is
--   significantly large, this is an identifier that is also returned,
--   which can be used in a subsequent call to this operation to return the
--   next set of items in the list.</li>
--   <li><a>lrsSamples</a> - Information about the samples.</li>
--   <li><a>lrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
listSamplesResponse :: Int -> ListSamplesResponse

-- | Represents the result of a list samples request.
--   
--   <i>See:</i> <a>listSamplesResponse</a> smart constructor.
data ListSamplesResponse

-- | If the number of items that are returned is significantly large, this
--   is an identifier that is also returned, which can be used in a
--   subsequent call to this operation to return the next set of items in
--   the list.
lrsNextToken :: Lens' ListSamplesResponse (Maybe Text)

-- | Information about the samples.
lrsSamples :: Lens' ListSamplesResponse [Sample]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
lrsResponseStatus :: Lens' ListSamplesResponse Int
instance GHC.Generics.Generic Network.AWS.DeviceFarm.ListSamples.ListSamplesResponse
instance Data.Data.Data Network.AWS.DeviceFarm.ListSamples.ListSamplesResponse
instance GHC.Show.Show Network.AWS.DeviceFarm.ListSamples.ListSamplesResponse
instance GHC.Read.Read Network.AWS.DeviceFarm.ListSamples.ListSamplesResponse
instance GHC.Classes.Eq Network.AWS.DeviceFarm.ListSamples.ListSamplesResponse
instance GHC.Generics.Generic Network.AWS.DeviceFarm.ListSamples.ListSamples
instance Data.Data.Data Network.AWS.DeviceFarm.ListSamples.ListSamples
instance GHC.Show.Show Network.AWS.DeviceFarm.ListSamples.ListSamples
instance GHC.Read.Read Network.AWS.DeviceFarm.ListSamples.ListSamples
instance GHC.Classes.Eq Network.AWS.DeviceFarm.ListSamples.ListSamples
instance Network.AWS.Pager.AWSPager Network.AWS.DeviceFarm.ListSamples.ListSamples
instance Network.AWS.Types.AWSRequest Network.AWS.DeviceFarm.ListSamples.ListSamples
instance Data.Hashable.Class.Hashable Network.AWS.DeviceFarm.ListSamples.ListSamples
instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.ListSamples.ListSamples
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DeviceFarm.ListSamples.ListSamples
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DeviceFarm.ListSamples.ListSamples
instance Network.AWS.Data.Path.ToPath Network.AWS.DeviceFarm.ListSamples.ListSamples
instance Network.AWS.Data.Query.ToQuery Network.AWS.DeviceFarm.ListSamples.ListSamples
instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.ListSamples.ListSamplesResponse


-- | Gets information about runs, given an AWS Device Farm project ARN.
--   
--   This operation returns paginated results.
module Network.AWS.DeviceFarm.ListRuns

-- | Creates a value of <a>ListRuns</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lrNextToken</a> - An identifier that was returned from the
--   previous call to this operation, which can be used to return the next
--   set of items in the list.</li>
--   <li><a>lrArn</a> - The Amazon Resource Name (ARN) of the project for
--   which you want to list runs.</li>
--   </ul>
listRuns :: Text -> ListRuns

-- | Represents a request to the list runs operation.
--   
--   <i>See:</i> <a>listRuns</a> smart constructor.
data ListRuns

-- | An identifier that was returned from the previous call to this
--   operation, which can be used to return the next set of items in the
--   list.
lrNextToken :: Lens' ListRuns (Maybe Text)

-- | The Amazon Resource Name (ARN) of the project for which you want to
--   list runs.
lrArn :: Lens' ListRuns Text

-- | Creates a value of <a>ListRunsResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lrrsRuns</a> - Information about the runs.</li>
--   <li><a>lrrsNextToken</a> - If the number of items that are returned is
--   significantly large, this is an identifier that is also returned,
--   which can be used in a subsequent call to this operation to return the
--   next set of items in the list.</li>
--   <li><a>lrrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
listRunsResponse :: Int -> ListRunsResponse

-- | Represents the result of a list runs request.
--   
--   <i>See:</i> <a>listRunsResponse</a> smart constructor.
data ListRunsResponse

-- | Information about the runs.
lrrsRuns :: Lens' ListRunsResponse [Run]

-- | If the number of items that are returned is significantly large, this
--   is an identifier that is also returned, which can be used in a
--   subsequent call to this operation to return the next set of items in
--   the list.
lrrsNextToken :: Lens' ListRunsResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
lrrsResponseStatus :: Lens' ListRunsResponse Int
instance GHC.Generics.Generic Network.AWS.DeviceFarm.ListRuns.ListRunsResponse
instance Data.Data.Data Network.AWS.DeviceFarm.ListRuns.ListRunsResponse
instance GHC.Show.Show Network.AWS.DeviceFarm.ListRuns.ListRunsResponse
instance GHC.Read.Read Network.AWS.DeviceFarm.ListRuns.ListRunsResponse
instance GHC.Classes.Eq Network.AWS.DeviceFarm.ListRuns.ListRunsResponse
instance GHC.Generics.Generic Network.AWS.DeviceFarm.ListRuns.ListRuns
instance Data.Data.Data Network.AWS.DeviceFarm.ListRuns.ListRuns
instance GHC.Show.Show Network.AWS.DeviceFarm.ListRuns.ListRuns
instance GHC.Read.Read Network.AWS.DeviceFarm.ListRuns.ListRuns
instance GHC.Classes.Eq Network.AWS.DeviceFarm.ListRuns.ListRuns
instance Network.AWS.Pager.AWSPager Network.AWS.DeviceFarm.ListRuns.ListRuns
instance Network.AWS.Types.AWSRequest Network.AWS.DeviceFarm.ListRuns.ListRuns
instance Data.Hashable.Class.Hashable Network.AWS.DeviceFarm.ListRuns.ListRuns
instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.ListRuns.ListRuns
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DeviceFarm.ListRuns.ListRuns
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DeviceFarm.ListRuns.ListRuns
instance Network.AWS.Data.Path.ToPath Network.AWS.DeviceFarm.ListRuns.ListRuns
instance Network.AWS.Data.Query.ToQuery Network.AWS.DeviceFarm.ListRuns.ListRuns
instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.ListRuns.ListRunsResponse


-- | Returns a list of all currently running remote access sessions.
module Network.AWS.DeviceFarm.ListRemoteAccessSessions

-- | Creates a value of <a>ListRemoteAccessSessions</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lrasNextToken</a> - An identifier that was returned from the
--   previous call to this operation, which can be used to return the next
--   set of items in the list.</li>
--   <li><a>lrasArn</a> - The Amazon Resource Name (ARN) of the remote
--   access session about which you are requesting information.</li>
--   </ul>
listRemoteAccessSessions :: Text -> ListRemoteAccessSessions

-- | Represents the request to return information about the remote access
--   session.
--   
--   <i>See:</i> <a>listRemoteAccessSessions</a> smart constructor.
data ListRemoteAccessSessions

-- | An identifier that was returned from the previous call to this
--   operation, which can be used to return the next set of items in the
--   list.
lrasNextToken :: Lens' ListRemoteAccessSessions (Maybe Text)

-- | The Amazon Resource Name (ARN) of the remote access session about
--   which you are requesting information.
lrasArn :: Lens' ListRemoteAccessSessions Text

-- | Creates a value of <a>ListRemoteAccessSessionsResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lrasrsNextToken</a> - An identifier that was returned from the
--   previous call to this operation, which can be used to return the next
--   set of items in the list.</li>
--   <li><a>lrasrsRemoteAccessSessions</a> - A container representing the
--   metadata from the service about each remote access session you are
--   requesting.</li>
--   <li><a>lrasrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
listRemoteAccessSessionsResponse :: Int -> ListRemoteAccessSessionsResponse

-- | Represents the response from the server after AWS Device Farm makes a
--   request to return information about the remote access session.
--   
--   <i>See:</i> <a>listRemoteAccessSessionsResponse</a> smart constructor.
data ListRemoteAccessSessionsResponse

-- | An identifier that was returned from the previous call to this
--   operation, which can be used to return the next set of items in the
--   list.
lrasrsNextToken :: Lens' ListRemoteAccessSessionsResponse (Maybe Text)

-- | A container representing the metadata from the service about each
--   remote access session you are requesting.
lrasrsRemoteAccessSessions :: Lens' ListRemoteAccessSessionsResponse [RemoteAccessSession]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
lrasrsResponseStatus :: Lens' ListRemoteAccessSessionsResponse Int
instance GHC.Generics.Generic Network.AWS.DeviceFarm.ListRemoteAccessSessions.ListRemoteAccessSessionsResponse
instance Data.Data.Data Network.AWS.DeviceFarm.ListRemoteAccessSessions.ListRemoteAccessSessionsResponse
instance GHC.Show.Show Network.AWS.DeviceFarm.ListRemoteAccessSessions.ListRemoteAccessSessionsResponse
instance GHC.Read.Read Network.AWS.DeviceFarm.ListRemoteAccessSessions.ListRemoteAccessSessionsResponse
instance GHC.Classes.Eq Network.AWS.DeviceFarm.ListRemoteAccessSessions.ListRemoteAccessSessionsResponse
instance GHC.Generics.Generic Network.AWS.DeviceFarm.ListRemoteAccessSessions.ListRemoteAccessSessions
instance Data.Data.Data Network.AWS.DeviceFarm.ListRemoteAccessSessions.ListRemoteAccessSessions
instance GHC.Show.Show Network.AWS.DeviceFarm.ListRemoteAccessSessions.ListRemoteAccessSessions
instance GHC.Read.Read Network.AWS.DeviceFarm.ListRemoteAccessSessions.ListRemoteAccessSessions
instance GHC.Classes.Eq Network.AWS.DeviceFarm.ListRemoteAccessSessions.ListRemoteAccessSessions
instance Network.AWS.Types.AWSRequest Network.AWS.DeviceFarm.ListRemoteAccessSessions.ListRemoteAccessSessions
instance Data.Hashable.Class.Hashable Network.AWS.DeviceFarm.ListRemoteAccessSessions.ListRemoteAccessSessions
instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.ListRemoteAccessSessions.ListRemoteAccessSessions
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DeviceFarm.ListRemoteAccessSessions.ListRemoteAccessSessions
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DeviceFarm.ListRemoteAccessSessions.ListRemoteAccessSessions
instance Network.AWS.Data.Path.ToPath Network.AWS.DeviceFarm.ListRemoteAccessSessions.ListRemoteAccessSessions
instance Network.AWS.Data.Query.ToQuery Network.AWS.DeviceFarm.ListRemoteAccessSessions.ListRemoteAccessSessions
instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.ListRemoteAccessSessions.ListRemoteAccessSessionsResponse


-- | Gets information about projects.
--   
--   This operation returns paginated results.
module Network.AWS.DeviceFarm.ListProjects

-- | Creates a value of <a>ListProjects</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lpArn</a> - Optional. If no Amazon Resource Name (ARN) is
--   specified, then AWS Device Farm returns a list of all projects for the
--   AWS account. You can also specify a project ARN.</li>
--   <li><a>lpNextToken</a> - An identifier that was returned from the
--   previous call to this operation, which can be used to return the next
--   set of items in the list.</li>
--   </ul>
listProjects :: ListProjects

-- | Represents a request to the list projects operation.
--   
--   <i>See:</i> <a>listProjects</a> smart constructor.
data ListProjects

-- | Optional. If no Amazon Resource Name (ARN) is specified, then AWS
--   Device Farm returns a list of all projects for the AWS account. You
--   can also specify a project ARN.
lpArn :: Lens' ListProjects (Maybe Text)

-- | An identifier that was returned from the previous call to this
--   operation, which can be used to return the next set of items in the
--   list.
lpNextToken :: Lens' ListProjects (Maybe Text)

-- | Creates a value of <a>ListProjectsResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lprsNextToken</a> - If the number of items that are returned is
--   significantly large, this is an identifier that is also returned,
--   which can be used in a subsequent call to this operation to return the
--   next set of items in the list.</li>
--   <li><a>lprsProjects</a> - Information about the projects.</li>
--   <li><a>lprsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
listProjectsResponse :: Int -> ListProjectsResponse

-- | Represents the result of a list projects request.
--   
--   <i>See:</i> <a>listProjectsResponse</a> smart constructor.
data ListProjectsResponse

-- | If the number of items that are returned is significantly large, this
--   is an identifier that is also returned, which can be used in a
--   subsequent call to this operation to return the next set of items in
--   the list.
lprsNextToken :: Lens' ListProjectsResponse (Maybe Text)

-- | Information about the projects.
lprsProjects :: Lens' ListProjectsResponse [Project]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
lprsResponseStatus :: Lens' ListProjectsResponse Int
instance GHC.Generics.Generic Network.AWS.DeviceFarm.ListProjects.ListProjectsResponse
instance Data.Data.Data Network.AWS.DeviceFarm.ListProjects.ListProjectsResponse
instance GHC.Show.Show Network.AWS.DeviceFarm.ListProjects.ListProjectsResponse
instance GHC.Read.Read Network.AWS.DeviceFarm.ListProjects.ListProjectsResponse
instance GHC.Classes.Eq Network.AWS.DeviceFarm.ListProjects.ListProjectsResponse
instance GHC.Generics.Generic Network.AWS.DeviceFarm.ListProjects.ListProjects
instance Data.Data.Data Network.AWS.DeviceFarm.ListProjects.ListProjects
instance GHC.Show.Show Network.AWS.DeviceFarm.ListProjects.ListProjects
instance GHC.Read.Read Network.AWS.DeviceFarm.ListProjects.ListProjects
instance GHC.Classes.Eq Network.AWS.DeviceFarm.ListProjects.ListProjects
instance Network.AWS.Pager.AWSPager Network.AWS.DeviceFarm.ListProjects.ListProjects
instance Network.AWS.Types.AWSRequest Network.AWS.DeviceFarm.ListProjects.ListProjects
instance Data.Hashable.Class.Hashable Network.AWS.DeviceFarm.ListProjects.ListProjects
instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.ListProjects.ListProjects
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DeviceFarm.ListProjects.ListProjects
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DeviceFarm.ListProjects.ListProjects
instance Network.AWS.Data.Path.ToPath Network.AWS.DeviceFarm.ListProjects.ListProjects
instance Network.AWS.Data.Query.ToQuery Network.AWS.DeviceFarm.ListProjects.ListProjects
instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.ListProjects.ListProjectsResponse


-- | Returns a list of products or offerings that the user can manage
--   through the API. Each offering record indicates the recurring price
--   per unit and the frequency for that offering. The API returns a
--   <tt>NotEligible</tt> error if the user is not permitted to invoke the
--   operation. Please contact <a>aws-devicefarm-support@amazon.com</a> if
--   you believe that you should be able to invoke this operation.
module Network.AWS.DeviceFarm.ListOfferings

-- | Creates a value of <a>ListOfferings</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>loNextToken</a> - An identifier that was returned from the
--   previous call to this operation, which can be used to return the next
--   set of items in the list.</li>
--   </ul>
listOfferings :: ListOfferings

-- | Represents the request to list all offerings.
--   
--   <i>See:</i> <a>listOfferings</a> smart constructor.
data ListOfferings

-- | An identifier that was returned from the previous call to this
--   operation, which can be used to return the next set of items in the
--   list.
loNextToken :: Lens' ListOfferings (Maybe Text)

-- | Creates a value of <a>ListOfferingsResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lorsNextToken</a> - An identifier that was returned from the
--   previous call to this operation, which can be used to return the next
--   set of items in the list.</li>
--   <li><a>lorsOfferings</a> - A value representing the list offering
--   results.</li>
--   <li><a>lorsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
listOfferingsResponse :: Int -> ListOfferingsResponse

-- | Represents the return values of the list of offerings.
--   
--   <i>See:</i> <a>listOfferingsResponse</a> smart constructor.
data ListOfferingsResponse

-- | An identifier that was returned from the previous call to this
--   operation, which can be used to return the next set of items in the
--   list.
lorsNextToken :: Lens' ListOfferingsResponse (Maybe Text)

-- | A value representing the list offering results.
lorsOfferings :: Lens' ListOfferingsResponse [Offering]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
lorsResponseStatus :: Lens' ListOfferingsResponse Int
instance GHC.Generics.Generic Network.AWS.DeviceFarm.ListOfferings.ListOfferingsResponse
instance Data.Data.Data Network.AWS.DeviceFarm.ListOfferings.ListOfferingsResponse
instance GHC.Show.Show Network.AWS.DeviceFarm.ListOfferings.ListOfferingsResponse
instance GHC.Read.Read Network.AWS.DeviceFarm.ListOfferings.ListOfferingsResponse
instance GHC.Classes.Eq Network.AWS.DeviceFarm.ListOfferings.ListOfferingsResponse
instance GHC.Generics.Generic Network.AWS.DeviceFarm.ListOfferings.ListOfferings
instance Data.Data.Data Network.AWS.DeviceFarm.ListOfferings.ListOfferings
instance GHC.Show.Show Network.AWS.DeviceFarm.ListOfferings.ListOfferings
instance GHC.Read.Read Network.AWS.DeviceFarm.ListOfferings.ListOfferings
instance GHC.Classes.Eq Network.AWS.DeviceFarm.ListOfferings.ListOfferings
instance Network.AWS.Types.AWSRequest Network.AWS.DeviceFarm.ListOfferings.ListOfferings
instance Data.Hashable.Class.Hashable Network.AWS.DeviceFarm.ListOfferings.ListOfferings
instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.ListOfferings.ListOfferings
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DeviceFarm.ListOfferings.ListOfferings
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DeviceFarm.ListOfferings.ListOfferings
instance Network.AWS.Data.Path.ToPath Network.AWS.DeviceFarm.ListOfferings.ListOfferings
instance Network.AWS.Data.Query.ToQuery Network.AWS.DeviceFarm.ListOfferings.ListOfferings
instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.ListOfferings.ListOfferingsResponse


-- | Returns a list of all historical purchases, renewals, and system
--   renewal transactions for an AWS account. The list is paginated and
--   ordered by a descending timestamp (most recent transactions are
--   first). The API returns a <tt>NotEligible</tt> error if the user is
--   not permitted to invoke the operation. Please contact
--   <a>aws-devicefarm-support@amazon.com</a> if you believe that you
--   should be able to invoke this operation.
module Network.AWS.DeviceFarm.ListOfferingTransactions

-- | Creates a value of <a>ListOfferingTransactions</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lotNextToken</a> - An identifier that was returned from the
--   previous call to this operation, which can be used to return the next
--   set of items in the list.</li>
--   </ul>
listOfferingTransactions :: ListOfferingTransactions

-- | Represents the request to list the offering transaction history.
--   
--   <i>See:</i> <a>listOfferingTransactions</a> smart constructor.
data ListOfferingTransactions

-- | An identifier that was returned from the previous call to this
--   operation, which can be used to return the next set of items in the
--   list.
lotNextToken :: Lens' ListOfferingTransactions (Maybe Text)

-- | Creates a value of <a>ListOfferingTransactionsResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lotrsOfferingTransactions</a> - The audit log of subscriptions
--   you have purchased and modified through AWS Device Farm.</li>
--   <li><a>lotrsNextToken</a> - An identifier that was returned from the
--   previous call to this operation, which can be used to return the next
--   set of items in the list.</li>
--   <li><a>lotrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
listOfferingTransactionsResponse :: Int -> ListOfferingTransactionsResponse

-- | Returns the transaction log of the specified offerings.
--   
--   <i>See:</i> <a>listOfferingTransactionsResponse</a> smart constructor.
data ListOfferingTransactionsResponse

-- | The audit log of subscriptions you have purchased and modified through
--   AWS Device Farm.
lotrsOfferingTransactions :: Lens' ListOfferingTransactionsResponse [OfferingTransaction]

-- | An identifier that was returned from the previous call to this
--   operation, which can be used to return the next set of items in the
--   list.
lotrsNextToken :: Lens' ListOfferingTransactionsResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
lotrsResponseStatus :: Lens' ListOfferingTransactionsResponse Int
instance GHC.Generics.Generic Network.AWS.DeviceFarm.ListOfferingTransactions.ListOfferingTransactionsResponse
instance Data.Data.Data Network.AWS.DeviceFarm.ListOfferingTransactions.ListOfferingTransactionsResponse
instance GHC.Show.Show Network.AWS.DeviceFarm.ListOfferingTransactions.ListOfferingTransactionsResponse
instance GHC.Read.Read Network.AWS.DeviceFarm.ListOfferingTransactions.ListOfferingTransactionsResponse
instance GHC.Classes.Eq Network.AWS.DeviceFarm.ListOfferingTransactions.ListOfferingTransactionsResponse
instance GHC.Generics.Generic Network.AWS.DeviceFarm.ListOfferingTransactions.ListOfferingTransactions
instance Data.Data.Data Network.AWS.DeviceFarm.ListOfferingTransactions.ListOfferingTransactions
instance GHC.Show.Show Network.AWS.DeviceFarm.ListOfferingTransactions.ListOfferingTransactions
instance GHC.Read.Read Network.AWS.DeviceFarm.ListOfferingTransactions.ListOfferingTransactions
instance GHC.Classes.Eq Network.AWS.DeviceFarm.ListOfferingTransactions.ListOfferingTransactions
instance Network.AWS.Types.AWSRequest Network.AWS.DeviceFarm.ListOfferingTransactions.ListOfferingTransactions
instance Data.Hashable.Class.Hashable Network.AWS.DeviceFarm.ListOfferingTransactions.ListOfferingTransactions
instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.ListOfferingTransactions.ListOfferingTransactions
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DeviceFarm.ListOfferingTransactions.ListOfferingTransactions
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DeviceFarm.ListOfferingTransactions.ListOfferingTransactions
instance Network.AWS.Data.Path.ToPath Network.AWS.DeviceFarm.ListOfferingTransactions.ListOfferingTransactions
instance Network.AWS.Data.Query.ToQuery Network.AWS.DeviceFarm.ListOfferingTransactions.ListOfferingTransactions
instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.ListOfferingTransactions.ListOfferingTransactionsResponse


-- | Gets information about jobs.
--   
--   This operation returns paginated results.
module Network.AWS.DeviceFarm.ListJobs

-- | Creates a value of <a>ListJobs</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ljNextToken</a> - An identifier that was returned from the
--   previous call to this operation, which can be used to return the next
--   set of items in the list.</li>
--   <li><a>ljArn</a> - The jobs' ARNs.</li>
--   </ul>
listJobs :: Text -> ListJobs

-- | Represents a request to the list jobs operation.
--   
--   <i>See:</i> <a>listJobs</a> smart constructor.
data ListJobs

-- | An identifier that was returned from the previous call to this
--   operation, which can be used to return the next set of items in the
--   list.
ljNextToken :: Lens' ListJobs (Maybe Text)

-- | The jobs' ARNs.
ljArn :: Lens' ListJobs Text

-- | Creates a value of <a>ListJobsResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ljrsJobs</a> - Information about the jobs.</li>
--   <li><a>ljrsNextToken</a> - If the number of items that are returned is
--   significantly large, this is an identifier that is also returned,
--   which can be used in a subsequent call to this operation to return the
--   next set of items in the list.</li>
--   <li><a>ljrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
listJobsResponse :: Int -> ListJobsResponse

-- | Represents the result of a list jobs request.
--   
--   <i>See:</i> <a>listJobsResponse</a> smart constructor.
data ListJobsResponse

-- | Information about the jobs.
ljrsJobs :: Lens' ListJobsResponse [Job]

-- | If the number of items that are returned is significantly large, this
--   is an identifier that is also returned, which can be used in a
--   subsequent call to this operation to return the next set of items in
--   the list.
ljrsNextToken :: Lens' ListJobsResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
ljrsResponseStatus :: Lens' ListJobsResponse Int
instance GHC.Generics.Generic Network.AWS.DeviceFarm.ListJobs.ListJobsResponse
instance Data.Data.Data Network.AWS.DeviceFarm.ListJobs.ListJobsResponse
instance GHC.Show.Show Network.AWS.DeviceFarm.ListJobs.ListJobsResponse
instance GHC.Read.Read Network.AWS.DeviceFarm.ListJobs.ListJobsResponse
instance GHC.Classes.Eq Network.AWS.DeviceFarm.ListJobs.ListJobsResponse
instance GHC.Generics.Generic Network.AWS.DeviceFarm.ListJobs.ListJobs
instance Data.Data.Data Network.AWS.DeviceFarm.ListJobs.ListJobs
instance GHC.Show.Show Network.AWS.DeviceFarm.ListJobs.ListJobs
instance GHC.Read.Read Network.AWS.DeviceFarm.ListJobs.ListJobs
instance GHC.Classes.Eq Network.AWS.DeviceFarm.ListJobs.ListJobs
instance Network.AWS.Pager.AWSPager Network.AWS.DeviceFarm.ListJobs.ListJobs
instance Network.AWS.Types.AWSRequest Network.AWS.DeviceFarm.ListJobs.ListJobs
instance Data.Hashable.Class.Hashable Network.AWS.DeviceFarm.ListJobs.ListJobs
instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.ListJobs.ListJobs
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DeviceFarm.ListJobs.ListJobs
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DeviceFarm.ListJobs.ListJobs
instance Network.AWS.Data.Path.ToPath Network.AWS.DeviceFarm.ListJobs.ListJobs
instance Network.AWS.Data.Query.ToQuery Network.AWS.DeviceFarm.ListJobs.ListJobs
instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.ListJobs.ListJobsResponse


-- | Gets information about unique device types.
--   
--   This operation returns paginated results.
module Network.AWS.DeviceFarm.ListDevices

-- | Creates a value of <a>ListDevices</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ldArn</a> - The Amazon Resource Name (ARN) of the project.</li>
--   <li><a>ldNextToken</a> - An identifier that was returned from the
--   previous call to this operation, which can be used to return the next
--   set of items in the list.</li>
--   </ul>
listDevices :: ListDevices

-- | Represents the result of a list devices request.
--   
--   <i>See:</i> <a>listDevices</a> smart constructor.
data ListDevices

-- | The Amazon Resource Name (ARN) of the project.
ldArn :: Lens' ListDevices (Maybe Text)

-- | An identifier that was returned from the previous call to this
--   operation, which can be used to return the next set of items in the
--   list.
ldNextToken :: Lens' ListDevices (Maybe Text)

-- | Creates a value of <a>ListDevicesResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ldrsNextToken</a> - If the number of items that are returned is
--   significantly large, this is an identifier that is also returned,
--   which can be used in a subsequent call to this operation to return the
--   next set of items in the list.</li>
--   <li><a>ldrsDevices</a> - Information about the devices.</li>
--   <li><a>ldrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
listDevicesResponse :: Int -> ListDevicesResponse

-- | Represents the result of a list devices operation.
--   
--   <i>See:</i> <a>listDevicesResponse</a> smart constructor.
data ListDevicesResponse

-- | If the number of items that are returned is significantly large, this
--   is an identifier that is also returned, which can be used in a
--   subsequent call to this operation to return the next set of items in
--   the list.
ldrsNextToken :: Lens' ListDevicesResponse (Maybe Text)

-- | Information about the devices.
ldrsDevices :: Lens' ListDevicesResponse [Device]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
ldrsResponseStatus :: Lens' ListDevicesResponse Int
instance GHC.Generics.Generic Network.AWS.DeviceFarm.ListDevices.ListDevicesResponse
instance Data.Data.Data Network.AWS.DeviceFarm.ListDevices.ListDevicesResponse
instance GHC.Show.Show Network.AWS.DeviceFarm.ListDevices.ListDevicesResponse
instance GHC.Read.Read Network.AWS.DeviceFarm.ListDevices.ListDevicesResponse
instance GHC.Classes.Eq Network.AWS.DeviceFarm.ListDevices.ListDevicesResponse
instance GHC.Generics.Generic Network.AWS.DeviceFarm.ListDevices.ListDevices
instance Data.Data.Data Network.AWS.DeviceFarm.ListDevices.ListDevices
instance GHC.Show.Show Network.AWS.DeviceFarm.ListDevices.ListDevices
instance GHC.Read.Read Network.AWS.DeviceFarm.ListDevices.ListDevices
instance GHC.Classes.Eq Network.AWS.DeviceFarm.ListDevices.ListDevices
instance Network.AWS.Pager.AWSPager Network.AWS.DeviceFarm.ListDevices.ListDevices
instance Network.AWS.Types.AWSRequest Network.AWS.DeviceFarm.ListDevices.ListDevices
instance Data.Hashable.Class.Hashable Network.AWS.DeviceFarm.ListDevices.ListDevices
instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.ListDevices.ListDevices
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DeviceFarm.ListDevices.ListDevices
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DeviceFarm.ListDevices.ListDevices
instance Network.AWS.Data.Path.ToPath Network.AWS.DeviceFarm.ListDevices.ListDevices
instance Network.AWS.Data.Query.ToQuery Network.AWS.DeviceFarm.ListDevices.ListDevices
instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.ListDevices.ListDevicesResponse


-- | Gets information about device pools.
--   
--   This operation returns paginated results.
module Network.AWS.DeviceFarm.ListDevicePools

-- | Creates a value of <a>ListDevicePools</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ldpNextToken</a> - An identifier that was returned from the
--   previous call to this operation, which can be used to return the next
--   set of items in the list.</li>
--   <li><a>ldpType</a> - The device pools' type. Allowed values include: *
--   CURATED: A device pool that is created and managed by AWS Device Farm.
--   * PRIVATE: A device pool that is created and managed by the device
--   pool developer.</li>
--   <li><a>ldpArn</a> - The project ARN.</li>
--   </ul>
listDevicePools :: Text -> ListDevicePools

-- | Represents the result of a list device pools request.
--   
--   <i>See:</i> <a>listDevicePools</a> smart constructor.
data ListDevicePools

-- | An identifier that was returned from the previous call to this
--   operation, which can be used to return the next set of items in the
--   list.
ldpNextToken :: Lens' ListDevicePools (Maybe Text)

-- | The device pools' type. Allowed values include: * CURATED: A device
--   pool that is created and managed by AWS Device Farm. * PRIVATE: A
--   device pool that is created and managed by the device pool developer.
ldpType :: Lens' ListDevicePools (Maybe DevicePoolType)

-- | The project ARN.
ldpArn :: Lens' ListDevicePools Text

-- | Creates a value of <a>ListDevicePoolsResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ldprsDevicePools</a> - Information about the device pools.</li>
--   <li><a>ldprsNextToken</a> - If the number of items that are returned
--   is significantly large, this is an identifier that is also returned,
--   which can be used in a subsequent call to this operation to return the
--   next set of items in the list.</li>
--   <li><a>ldprsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
listDevicePoolsResponse :: Int -> ListDevicePoolsResponse

-- | Represents the result of a list device pools request.
--   
--   <i>See:</i> <a>listDevicePoolsResponse</a> smart constructor.
data ListDevicePoolsResponse

-- | Information about the device pools.
ldprsDevicePools :: Lens' ListDevicePoolsResponse [DevicePool]

-- | If the number of items that are returned is significantly large, this
--   is an identifier that is also returned, which can be used in a
--   subsequent call to this operation to return the next set of items in
--   the list.
ldprsNextToken :: Lens' ListDevicePoolsResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
ldprsResponseStatus :: Lens' ListDevicePoolsResponse Int
instance GHC.Generics.Generic Network.AWS.DeviceFarm.ListDevicePools.ListDevicePoolsResponse
instance Data.Data.Data Network.AWS.DeviceFarm.ListDevicePools.ListDevicePoolsResponse
instance GHC.Show.Show Network.AWS.DeviceFarm.ListDevicePools.ListDevicePoolsResponse
instance GHC.Read.Read Network.AWS.DeviceFarm.ListDevicePools.ListDevicePoolsResponse
instance GHC.Classes.Eq Network.AWS.DeviceFarm.ListDevicePools.ListDevicePoolsResponse
instance GHC.Generics.Generic Network.AWS.DeviceFarm.ListDevicePools.ListDevicePools
instance Data.Data.Data Network.AWS.DeviceFarm.ListDevicePools.ListDevicePools
instance GHC.Show.Show Network.AWS.DeviceFarm.ListDevicePools.ListDevicePools
instance GHC.Read.Read Network.AWS.DeviceFarm.ListDevicePools.ListDevicePools
instance GHC.Classes.Eq Network.AWS.DeviceFarm.ListDevicePools.ListDevicePools
instance Network.AWS.Pager.AWSPager Network.AWS.DeviceFarm.ListDevicePools.ListDevicePools
instance Network.AWS.Types.AWSRequest Network.AWS.DeviceFarm.ListDevicePools.ListDevicePools
instance Data.Hashable.Class.Hashable Network.AWS.DeviceFarm.ListDevicePools.ListDevicePools
instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.ListDevicePools.ListDevicePools
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DeviceFarm.ListDevicePools.ListDevicePools
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DeviceFarm.ListDevicePools.ListDevicePools
instance Network.AWS.Data.Path.ToPath Network.AWS.DeviceFarm.ListDevicePools.ListDevicePools
instance Network.AWS.Data.Query.ToQuery Network.AWS.DeviceFarm.ListDevicePools.ListDevicePools
instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.ListDevicePools.ListDevicePoolsResponse


-- | Gets information about artifacts.
--   
--   This operation returns paginated results.
module Network.AWS.DeviceFarm.ListArtifacts

-- | Creates a value of <a>ListArtifacts</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>laNextToken</a> - An identifier that was returned from the
--   previous call to this operation, which can be used to return the next
--   set of items in the list.</li>
--   <li><a>laArn</a> - The Run, Job, Suite, or Test ARN.</li>
--   <li><a>laType</a> - The artifacts' type. Allowed values include: *
--   FILE: The artifacts are files. * LOG: The artifacts are logs. *
--   SCREENSHOT: The artifacts are screenshots.</li>
--   </ul>
listArtifacts :: Text -> ArtifactCategory -> ListArtifacts

-- | Represents a request to the list artifacts operation.
--   
--   <i>See:</i> <a>listArtifacts</a> smart constructor.
data ListArtifacts

-- | An identifier that was returned from the previous call to this
--   operation, which can be used to return the next set of items in the
--   list.
laNextToken :: Lens' ListArtifacts (Maybe Text)

-- | The Run, Job, Suite, or Test ARN.
laArn :: Lens' ListArtifacts Text

-- | The artifacts' type. Allowed values include: * FILE: The artifacts are
--   files. * LOG: The artifacts are logs. * SCREENSHOT: The artifacts are
--   screenshots.
laType :: Lens' ListArtifacts ArtifactCategory

-- | Creates a value of <a>ListArtifactsResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>larsArtifacts</a> - Information about the artifacts.</li>
--   <li><a>larsNextToken</a> - If the number of items that are returned is
--   significantly large, this is an identifier that is also returned,
--   which can be used in a subsequent call to this operation to return the
--   next set of items in the list.</li>
--   <li><a>larsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
listArtifactsResponse :: Int -> ListArtifactsResponse

-- | Represents the result of a list artifacts operation.
--   
--   <i>See:</i> <a>listArtifactsResponse</a> smart constructor.
data ListArtifactsResponse

-- | Information about the artifacts.
larsArtifacts :: Lens' ListArtifactsResponse [Artifact]

-- | If the number of items that are returned is significantly large, this
--   is an identifier that is also returned, which can be used in a
--   subsequent call to this operation to return the next set of items in
--   the list.
larsNextToken :: Lens' ListArtifactsResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
larsResponseStatus :: Lens' ListArtifactsResponse Int
instance GHC.Generics.Generic Network.AWS.DeviceFarm.ListArtifacts.ListArtifactsResponse
instance Data.Data.Data Network.AWS.DeviceFarm.ListArtifacts.ListArtifactsResponse
instance GHC.Show.Show Network.AWS.DeviceFarm.ListArtifacts.ListArtifactsResponse
instance GHC.Read.Read Network.AWS.DeviceFarm.ListArtifacts.ListArtifactsResponse
instance GHC.Classes.Eq Network.AWS.DeviceFarm.ListArtifacts.ListArtifactsResponse
instance GHC.Generics.Generic Network.AWS.DeviceFarm.ListArtifacts.ListArtifacts
instance Data.Data.Data Network.AWS.DeviceFarm.ListArtifacts.ListArtifacts
instance GHC.Show.Show Network.AWS.DeviceFarm.ListArtifacts.ListArtifacts
instance GHC.Read.Read Network.AWS.DeviceFarm.ListArtifacts.ListArtifacts
instance GHC.Classes.Eq Network.AWS.DeviceFarm.ListArtifacts.ListArtifacts
instance Network.AWS.Pager.AWSPager Network.AWS.DeviceFarm.ListArtifacts.ListArtifacts
instance Network.AWS.Types.AWSRequest Network.AWS.DeviceFarm.ListArtifacts.ListArtifacts
instance Data.Hashable.Class.Hashable Network.AWS.DeviceFarm.ListArtifacts.ListArtifacts
instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.ListArtifacts.ListArtifacts
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DeviceFarm.ListArtifacts.ListArtifacts
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DeviceFarm.ListArtifacts.ListArtifacts
instance Network.AWS.Data.Path.ToPath Network.AWS.DeviceFarm.ListArtifacts.ListArtifacts
instance Network.AWS.Data.Query.ToQuery Network.AWS.DeviceFarm.ListArtifacts.ListArtifacts
instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.ListArtifacts.ListArtifactsResponse


-- | Installs an application to the device in a remote access session. For
--   Android applications, the file must be in .apk format. For iOS
--   applications, the file must be in .ipa format.
module Network.AWS.DeviceFarm.InstallToRemoteAccessSession

-- | Creates a value of <a>InstallToRemoteAccessSession</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>itrasRemoteAccessSessionARN</a> - The Amazon Resource Name
--   (ARN) of the remote access session about which you are requesting
--   information.</li>
--   <li><a>itrasAppARN</a> - The Amazon Resource Name (ARN) of the app
--   about which you are requesting information.</li>
--   </ul>
installToRemoteAccessSession :: Text -> Text -> InstallToRemoteAccessSession

-- | Represents the request to install an Android application (in .apk
--   format) or an iOS application (in .ipa format) as part of a remote
--   access session.
--   
--   <i>See:</i> <a>installToRemoteAccessSession</a> smart constructor.
data InstallToRemoteAccessSession

-- | The Amazon Resource Name (ARN) of the remote access session about
--   which you are requesting information.
itrasRemoteAccessSessionARN :: Lens' InstallToRemoteAccessSession Text

-- | The Amazon Resource Name (ARN) of the app about which you are
--   requesting information.
itrasAppARN :: Lens' InstallToRemoteAccessSession Text

-- | Creates a value of <a>InstallToRemoteAccessSessionResponse</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>itrasrsAppUpload</a> - Undocumented member.</li>
--   <li><a>itrasrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
installToRemoteAccessSessionResponse :: Int -> InstallToRemoteAccessSessionResponse

-- | Represents the response from the server after AWS Device Farm makes a
--   request to install to a remote access session.
--   
--   <i>See:</i> <a>installToRemoteAccessSessionResponse</a> smart
--   constructor.
data InstallToRemoteAccessSessionResponse

-- | Undocumented member.
itrasrsAppUpload :: Lens' InstallToRemoteAccessSessionResponse (Maybe Upload)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
itrasrsResponseStatus :: Lens' InstallToRemoteAccessSessionResponse Int
instance GHC.Generics.Generic Network.AWS.DeviceFarm.InstallToRemoteAccessSession.InstallToRemoteAccessSessionResponse
instance Data.Data.Data Network.AWS.DeviceFarm.InstallToRemoteAccessSession.InstallToRemoteAccessSessionResponse
instance GHC.Show.Show Network.AWS.DeviceFarm.InstallToRemoteAccessSession.InstallToRemoteAccessSessionResponse
instance GHC.Read.Read Network.AWS.DeviceFarm.InstallToRemoteAccessSession.InstallToRemoteAccessSessionResponse
instance GHC.Classes.Eq Network.AWS.DeviceFarm.InstallToRemoteAccessSession.InstallToRemoteAccessSessionResponse
instance GHC.Generics.Generic Network.AWS.DeviceFarm.InstallToRemoteAccessSession.InstallToRemoteAccessSession
instance Data.Data.Data Network.AWS.DeviceFarm.InstallToRemoteAccessSession.InstallToRemoteAccessSession
instance GHC.Show.Show Network.AWS.DeviceFarm.InstallToRemoteAccessSession.InstallToRemoteAccessSession
instance GHC.Read.Read Network.AWS.DeviceFarm.InstallToRemoteAccessSession.InstallToRemoteAccessSession
instance GHC.Classes.Eq Network.AWS.DeviceFarm.InstallToRemoteAccessSession.InstallToRemoteAccessSession
instance Network.AWS.Types.AWSRequest Network.AWS.DeviceFarm.InstallToRemoteAccessSession.InstallToRemoteAccessSession
instance Data.Hashable.Class.Hashable Network.AWS.DeviceFarm.InstallToRemoteAccessSession.InstallToRemoteAccessSession
instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.InstallToRemoteAccessSession.InstallToRemoteAccessSession
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DeviceFarm.InstallToRemoteAccessSession.InstallToRemoteAccessSession
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DeviceFarm.InstallToRemoteAccessSession.InstallToRemoteAccessSession
instance Network.AWS.Data.Path.ToPath Network.AWS.DeviceFarm.InstallToRemoteAccessSession.InstallToRemoteAccessSession
instance Network.AWS.Data.Query.ToQuery Network.AWS.DeviceFarm.InstallToRemoteAccessSession.InstallToRemoteAccessSession
instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.InstallToRemoteAccessSession.InstallToRemoteAccessSessionResponse


-- | Gets information about an upload.
module Network.AWS.DeviceFarm.GetUpload

-- | Creates a value of <a>GetUpload</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>guArn</a> - The upload's ARN.</li>
--   </ul>
getUpload :: Text -> GetUpload

-- | Represents a request to the get upload operation.
--   
--   <i>See:</i> <a>getUpload</a> smart constructor.
data GetUpload

-- | The upload's ARN.
guArn :: Lens' GetUpload Text

-- | Creates a value of <a>GetUploadResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gursUpload</a> - Undocumented member.</li>
--   <li><a>gursResponseStatus</a> - -- | The response status code.</li>
--   </ul>
getUploadResponse :: Int -> GetUploadResponse

-- | Represents the result of a get upload request.
--   
--   <i>See:</i> <a>getUploadResponse</a> smart constructor.
data GetUploadResponse

-- | Undocumented member.
gursUpload :: Lens' GetUploadResponse (Maybe Upload)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
gursResponseStatus :: Lens' GetUploadResponse Int
instance GHC.Generics.Generic Network.AWS.DeviceFarm.GetUpload.GetUploadResponse
instance Data.Data.Data Network.AWS.DeviceFarm.GetUpload.GetUploadResponse
instance GHC.Show.Show Network.AWS.DeviceFarm.GetUpload.GetUploadResponse
instance GHC.Read.Read Network.AWS.DeviceFarm.GetUpload.GetUploadResponse
instance GHC.Classes.Eq Network.AWS.DeviceFarm.GetUpload.GetUploadResponse
instance GHC.Generics.Generic Network.AWS.DeviceFarm.GetUpload.GetUpload
instance Data.Data.Data Network.AWS.DeviceFarm.GetUpload.GetUpload
instance GHC.Show.Show Network.AWS.DeviceFarm.GetUpload.GetUpload
instance GHC.Read.Read Network.AWS.DeviceFarm.GetUpload.GetUpload
instance GHC.Classes.Eq Network.AWS.DeviceFarm.GetUpload.GetUpload
instance Network.AWS.Types.AWSRequest Network.AWS.DeviceFarm.GetUpload.GetUpload
instance Data.Hashable.Class.Hashable Network.AWS.DeviceFarm.GetUpload.GetUpload
instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.GetUpload.GetUpload
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DeviceFarm.GetUpload.GetUpload
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DeviceFarm.GetUpload.GetUpload
instance Network.AWS.Data.Path.ToPath Network.AWS.DeviceFarm.GetUpload.GetUpload
instance Network.AWS.Data.Query.ToQuery Network.AWS.DeviceFarm.GetUpload.GetUpload
instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.GetUpload.GetUploadResponse


-- | Gets information about a test.
module Network.AWS.DeviceFarm.GetTest

-- | Creates a value of <a>GetTest</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gtArn</a> - The test's ARN.</li>
--   </ul>
getTest :: Text -> GetTest

-- | Represents a request to the get test operation.
--   
--   <i>See:</i> <a>getTest</a> smart constructor.
data GetTest

-- | The test's ARN.
gtArn :: Lens' GetTest Text

-- | Creates a value of <a>GetTestResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gtrsTest</a> - Undocumented member.</li>
--   <li><a>gtrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
getTestResponse :: Int -> GetTestResponse

-- | Represents the result of a get test request.
--   
--   <i>See:</i> <a>getTestResponse</a> smart constructor.
data GetTestResponse

-- | Undocumented member.
gtrsTest :: Lens' GetTestResponse (Maybe Test)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
gtrsResponseStatus :: Lens' GetTestResponse Int
instance GHC.Generics.Generic Network.AWS.DeviceFarm.GetTest.GetTestResponse
instance Data.Data.Data Network.AWS.DeviceFarm.GetTest.GetTestResponse
instance GHC.Show.Show Network.AWS.DeviceFarm.GetTest.GetTestResponse
instance GHC.Read.Read Network.AWS.DeviceFarm.GetTest.GetTestResponse
instance GHC.Classes.Eq Network.AWS.DeviceFarm.GetTest.GetTestResponse
instance GHC.Generics.Generic Network.AWS.DeviceFarm.GetTest.GetTest
instance Data.Data.Data Network.AWS.DeviceFarm.GetTest.GetTest
instance GHC.Show.Show Network.AWS.DeviceFarm.GetTest.GetTest
instance GHC.Read.Read Network.AWS.DeviceFarm.GetTest.GetTest
instance GHC.Classes.Eq Network.AWS.DeviceFarm.GetTest.GetTest
instance Network.AWS.Types.AWSRequest Network.AWS.DeviceFarm.GetTest.GetTest
instance Data.Hashable.Class.Hashable Network.AWS.DeviceFarm.GetTest.GetTest
instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.GetTest.GetTest
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DeviceFarm.GetTest.GetTest
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DeviceFarm.GetTest.GetTest
instance Network.AWS.Data.Path.ToPath Network.AWS.DeviceFarm.GetTest.GetTest
instance Network.AWS.Data.Query.ToQuery Network.AWS.DeviceFarm.GetTest.GetTest
instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.GetTest.GetTestResponse


-- | Gets information about a suite.
module Network.AWS.DeviceFarm.GetSuite

-- | Creates a value of <a>GetSuite</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gsArn</a> - The suite's ARN.</li>
--   </ul>
getSuite :: Text -> GetSuite

-- | Represents a request to the get suite operation.
--   
--   <i>See:</i> <a>getSuite</a> smart constructor.
data GetSuite

-- | The suite's ARN.
gsArn :: Lens' GetSuite Text

-- | Creates a value of <a>GetSuiteResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gsrsSuite</a> - Undocumented member.</li>
--   <li><a>gsrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
getSuiteResponse :: Int -> GetSuiteResponse

-- | Represents the result of a get suite request.
--   
--   <i>See:</i> <a>getSuiteResponse</a> smart constructor.
data GetSuiteResponse

-- | Undocumented member.
gsrsSuite :: Lens' GetSuiteResponse (Maybe Suite)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
gsrsResponseStatus :: Lens' GetSuiteResponse Int
instance GHC.Generics.Generic Network.AWS.DeviceFarm.GetSuite.GetSuiteResponse
instance Data.Data.Data Network.AWS.DeviceFarm.GetSuite.GetSuiteResponse
instance GHC.Show.Show Network.AWS.DeviceFarm.GetSuite.GetSuiteResponse
instance GHC.Read.Read Network.AWS.DeviceFarm.GetSuite.GetSuiteResponse
instance GHC.Classes.Eq Network.AWS.DeviceFarm.GetSuite.GetSuiteResponse
instance GHC.Generics.Generic Network.AWS.DeviceFarm.GetSuite.GetSuite
instance Data.Data.Data Network.AWS.DeviceFarm.GetSuite.GetSuite
instance GHC.Show.Show Network.AWS.DeviceFarm.GetSuite.GetSuite
instance GHC.Read.Read Network.AWS.DeviceFarm.GetSuite.GetSuite
instance GHC.Classes.Eq Network.AWS.DeviceFarm.GetSuite.GetSuite
instance Network.AWS.Types.AWSRequest Network.AWS.DeviceFarm.GetSuite.GetSuite
instance Data.Hashable.Class.Hashable Network.AWS.DeviceFarm.GetSuite.GetSuite
instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.GetSuite.GetSuite
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DeviceFarm.GetSuite.GetSuite
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DeviceFarm.GetSuite.GetSuite
instance Network.AWS.Data.Path.ToPath Network.AWS.DeviceFarm.GetSuite.GetSuite
instance Network.AWS.Data.Query.ToQuery Network.AWS.DeviceFarm.GetSuite.GetSuite
instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.GetSuite.GetSuiteResponse


-- | Gets information about a run.
module Network.AWS.DeviceFarm.GetRun

-- | Creates a value of <a>GetRun</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>grArn</a> - The run's ARN.</li>
--   </ul>
getRun :: Text -> GetRun

-- | Represents a request to the get run operation.
--   
--   <i>See:</i> <a>getRun</a> smart constructor.
data GetRun

-- | The run's ARN.
grArn :: Lens' GetRun Text

-- | Creates a value of <a>GetRunResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>grrsRun</a> - Undocumented member.</li>
--   <li><a>grrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
getRunResponse :: Int -> GetRunResponse

-- | Represents the result of a get run request.
--   
--   <i>See:</i> <a>getRunResponse</a> smart constructor.
data GetRunResponse

-- | Undocumented member.
grrsRun :: Lens' GetRunResponse (Maybe Run)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
grrsResponseStatus :: Lens' GetRunResponse Int
instance GHC.Generics.Generic Network.AWS.DeviceFarm.GetRun.GetRunResponse
instance Data.Data.Data Network.AWS.DeviceFarm.GetRun.GetRunResponse
instance GHC.Show.Show Network.AWS.DeviceFarm.GetRun.GetRunResponse
instance GHC.Read.Read Network.AWS.DeviceFarm.GetRun.GetRunResponse
instance GHC.Classes.Eq Network.AWS.DeviceFarm.GetRun.GetRunResponse
instance GHC.Generics.Generic Network.AWS.DeviceFarm.GetRun.GetRun
instance Data.Data.Data Network.AWS.DeviceFarm.GetRun.GetRun
instance GHC.Show.Show Network.AWS.DeviceFarm.GetRun.GetRun
instance GHC.Read.Read Network.AWS.DeviceFarm.GetRun.GetRun
instance GHC.Classes.Eq Network.AWS.DeviceFarm.GetRun.GetRun
instance Network.AWS.Types.AWSRequest Network.AWS.DeviceFarm.GetRun.GetRun
instance Data.Hashable.Class.Hashable Network.AWS.DeviceFarm.GetRun.GetRun
instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.GetRun.GetRun
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DeviceFarm.GetRun.GetRun
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DeviceFarm.GetRun.GetRun
instance Network.AWS.Data.Path.ToPath Network.AWS.DeviceFarm.GetRun.GetRun
instance Network.AWS.Data.Query.ToQuery Network.AWS.DeviceFarm.GetRun.GetRun
instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.GetRun.GetRunResponse


-- | Returns a link to a currently running remote access session.
module Network.AWS.DeviceFarm.GetRemoteAccessSession

-- | Creates a value of <a>GetRemoteAccessSession</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>grasArn</a> - The Amazon Resource Name (ARN) of the remote
--   access session about which you want to get session information.</li>
--   </ul>
getRemoteAccessSession :: Text -> GetRemoteAccessSession

-- | Represents the request to get information about the specified remote
--   access session.
--   
--   <i>See:</i> <a>getRemoteAccessSession</a> smart constructor.
data GetRemoteAccessSession

-- | The Amazon Resource Name (ARN) of the remote access session about
--   which you want to get session information.
grasArn :: Lens' GetRemoteAccessSession Text

-- | Creates a value of <a>GetRemoteAccessSessionResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>grasrsRemoteAccessSession</a> - A container that lists detailed
--   information about the remote access session.</li>
--   <li><a>grasrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
getRemoteAccessSessionResponse :: Int -> GetRemoteAccessSessionResponse

-- | Represents the response from the server that lists detailed
--   information about the remote access session.
--   
--   <i>See:</i> <a>getRemoteAccessSessionResponse</a> smart constructor.
data GetRemoteAccessSessionResponse

-- | A container that lists detailed information about the remote access
--   session.
grasrsRemoteAccessSession :: Lens' GetRemoteAccessSessionResponse (Maybe RemoteAccessSession)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
grasrsResponseStatus :: Lens' GetRemoteAccessSessionResponse Int
instance GHC.Generics.Generic Network.AWS.DeviceFarm.GetRemoteAccessSession.GetRemoteAccessSessionResponse
instance Data.Data.Data Network.AWS.DeviceFarm.GetRemoteAccessSession.GetRemoteAccessSessionResponse
instance GHC.Show.Show Network.AWS.DeviceFarm.GetRemoteAccessSession.GetRemoteAccessSessionResponse
instance GHC.Read.Read Network.AWS.DeviceFarm.GetRemoteAccessSession.GetRemoteAccessSessionResponse
instance GHC.Classes.Eq Network.AWS.DeviceFarm.GetRemoteAccessSession.GetRemoteAccessSessionResponse
instance GHC.Generics.Generic Network.AWS.DeviceFarm.GetRemoteAccessSession.GetRemoteAccessSession
instance Data.Data.Data Network.AWS.DeviceFarm.GetRemoteAccessSession.GetRemoteAccessSession
instance GHC.Show.Show Network.AWS.DeviceFarm.GetRemoteAccessSession.GetRemoteAccessSession
instance GHC.Read.Read Network.AWS.DeviceFarm.GetRemoteAccessSession.GetRemoteAccessSession
instance GHC.Classes.Eq Network.AWS.DeviceFarm.GetRemoteAccessSession.GetRemoteAccessSession
instance Network.AWS.Types.AWSRequest Network.AWS.DeviceFarm.GetRemoteAccessSession.GetRemoteAccessSession
instance Data.Hashable.Class.Hashable Network.AWS.DeviceFarm.GetRemoteAccessSession.GetRemoteAccessSession
instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.GetRemoteAccessSession.GetRemoteAccessSession
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DeviceFarm.GetRemoteAccessSession.GetRemoteAccessSession
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DeviceFarm.GetRemoteAccessSession.GetRemoteAccessSession
instance Network.AWS.Data.Path.ToPath Network.AWS.DeviceFarm.GetRemoteAccessSession.GetRemoteAccessSession
instance Network.AWS.Data.Query.ToQuery Network.AWS.DeviceFarm.GetRemoteAccessSession.GetRemoteAccessSession
instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.GetRemoteAccessSession.GetRemoteAccessSessionResponse


-- | Gets information about a project.
module Network.AWS.DeviceFarm.GetProject

-- | Creates a value of <a>GetProject</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gpArn</a> - The project's ARN.</li>
--   </ul>
getProject :: Text -> GetProject

-- | Represents a request to the get project operation.
--   
--   <i>See:</i> <a>getProject</a> smart constructor.
data GetProject

-- | The project's ARN.
gpArn :: Lens' GetProject Text

-- | Creates a value of <a>GetProjectResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gprsProject</a> - Undocumented member.</li>
--   <li><a>gprsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
getProjectResponse :: Int -> GetProjectResponse

-- | Represents the result of a get project request.
--   
--   <i>See:</i> <a>getProjectResponse</a> smart constructor.
data GetProjectResponse

-- | Undocumented member.
gprsProject :: Lens' GetProjectResponse (Maybe Project)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
gprsResponseStatus :: Lens' GetProjectResponse Int
instance GHC.Generics.Generic Network.AWS.DeviceFarm.GetProject.GetProjectResponse
instance Data.Data.Data Network.AWS.DeviceFarm.GetProject.GetProjectResponse
instance GHC.Show.Show Network.AWS.DeviceFarm.GetProject.GetProjectResponse
instance GHC.Read.Read Network.AWS.DeviceFarm.GetProject.GetProjectResponse
instance GHC.Classes.Eq Network.AWS.DeviceFarm.GetProject.GetProjectResponse
instance GHC.Generics.Generic Network.AWS.DeviceFarm.GetProject.GetProject
instance Data.Data.Data Network.AWS.DeviceFarm.GetProject.GetProject
instance GHC.Show.Show Network.AWS.DeviceFarm.GetProject.GetProject
instance GHC.Read.Read Network.AWS.DeviceFarm.GetProject.GetProject
instance GHC.Classes.Eq Network.AWS.DeviceFarm.GetProject.GetProject
instance Network.AWS.Types.AWSRequest Network.AWS.DeviceFarm.GetProject.GetProject
instance Data.Hashable.Class.Hashable Network.AWS.DeviceFarm.GetProject.GetProject
instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.GetProject.GetProject
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DeviceFarm.GetProject.GetProject
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DeviceFarm.GetProject.GetProject
instance Network.AWS.Data.Path.ToPath Network.AWS.DeviceFarm.GetProject.GetProject
instance Network.AWS.Data.Query.ToQuery Network.AWS.DeviceFarm.GetProject.GetProject
instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.GetProject.GetProjectResponse


-- | Gets the current status and future status of all offerings purchased
--   by an AWS account. The response indicates how many offerings are
--   currently available and the offerings that will be available in the
--   next period. The API returns a <tt>NotEligible</tt> error if the user
--   is not permitted to invoke the operation. Please contact
--   <a>aws-devicefarm-support@amazon.com</a> if you believe that you
--   should be able to invoke this operation.
module Network.AWS.DeviceFarm.GetOfferingStatus

-- | Creates a value of <a>GetOfferingStatus</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gosNextToken</a> - An identifier that was returned from the
--   previous call to this operation, which can be used to return the next
--   set of items in the list.</li>
--   </ul>
getOfferingStatus :: GetOfferingStatus

-- | Represents the request to retrieve the offering status for the
--   specified customer or account.
--   
--   <i>See:</i> <a>getOfferingStatus</a> smart constructor.
data GetOfferingStatus

-- | An identifier that was returned from the previous call to this
--   operation, which can be used to return the next set of items in the
--   list.
gosNextToken :: Lens' GetOfferingStatus (Maybe Text)

-- | Creates a value of <a>GetOfferingStatusResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gosrsNextPeriod</a> - When specified, gets the offering status
--   for the next period.</li>
--   <li><a>gosrsCurrent</a> - When specified, gets the offering status for
--   the current period.</li>
--   <li><a>gosrsNextToken</a> - An identifier that was returned from the
--   previous call to this operation, which can be used to return the next
--   set of items in the list.</li>
--   <li><a>gosrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
getOfferingStatusResponse :: Int -> GetOfferingStatusResponse

-- | Returns the status result for a device offering.
--   
--   <i>See:</i> <a>getOfferingStatusResponse</a> smart constructor.
data GetOfferingStatusResponse

-- | When specified, gets the offering status for the next period.
gosrsNextPeriod :: Lens' GetOfferingStatusResponse (HashMap Text OfferingStatus)

-- | When specified, gets the offering status for the current period.
gosrsCurrent :: Lens' GetOfferingStatusResponse (HashMap Text OfferingStatus)

-- | An identifier that was returned from the previous call to this
--   operation, which can be used to return the next set of items in the
--   list.
gosrsNextToken :: Lens' GetOfferingStatusResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
gosrsResponseStatus :: Lens' GetOfferingStatusResponse Int
instance GHC.Generics.Generic Network.AWS.DeviceFarm.GetOfferingStatus.GetOfferingStatusResponse
instance Data.Data.Data Network.AWS.DeviceFarm.GetOfferingStatus.GetOfferingStatusResponse
instance GHC.Show.Show Network.AWS.DeviceFarm.GetOfferingStatus.GetOfferingStatusResponse
instance GHC.Read.Read Network.AWS.DeviceFarm.GetOfferingStatus.GetOfferingStatusResponse
instance GHC.Classes.Eq Network.AWS.DeviceFarm.GetOfferingStatus.GetOfferingStatusResponse
instance GHC.Generics.Generic Network.AWS.DeviceFarm.GetOfferingStatus.GetOfferingStatus
instance Data.Data.Data Network.AWS.DeviceFarm.GetOfferingStatus.GetOfferingStatus
instance GHC.Show.Show Network.AWS.DeviceFarm.GetOfferingStatus.GetOfferingStatus
instance GHC.Read.Read Network.AWS.DeviceFarm.GetOfferingStatus.GetOfferingStatus
instance GHC.Classes.Eq Network.AWS.DeviceFarm.GetOfferingStatus.GetOfferingStatus
instance Network.AWS.Types.AWSRequest Network.AWS.DeviceFarm.GetOfferingStatus.GetOfferingStatus
instance Data.Hashable.Class.Hashable Network.AWS.DeviceFarm.GetOfferingStatus.GetOfferingStatus
instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.GetOfferingStatus.GetOfferingStatus
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DeviceFarm.GetOfferingStatus.GetOfferingStatus
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DeviceFarm.GetOfferingStatus.GetOfferingStatus
instance Network.AWS.Data.Path.ToPath Network.AWS.DeviceFarm.GetOfferingStatus.GetOfferingStatus
instance Network.AWS.Data.Query.ToQuery Network.AWS.DeviceFarm.GetOfferingStatus.GetOfferingStatus
instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.GetOfferingStatus.GetOfferingStatusResponse


-- | Gets information about a job.
module Network.AWS.DeviceFarm.GetJob

-- | Creates a value of <a>GetJob</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gjArn</a> - The job's ARN.</li>
--   </ul>
getJob :: Text -> GetJob

-- | Represents a request to the get job operation.
--   
--   <i>See:</i> <a>getJob</a> smart constructor.
data GetJob

-- | The job's ARN.
gjArn :: Lens' GetJob Text

-- | Creates a value of <a>GetJobResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gjrsJob</a> - Undocumented member.</li>
--   <li><a>gjrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
getJobResponse :: Int -> GetJobResponse

-- | Represents the result of a get job request.
--   
--   <i>See:</i> <a>getJobResponse</a> smart constructor.
data GetJobResponse

-- | Undocumented member.
gjrsJob :: Lens' GetJobResponse (Maybe Job)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
gjrsResponseStatus :: Lens' GetJobResponse Int
instance GHC.Generics.Generic Network.AWS.DeviceFarm.GetJob.GetJobResponse
instance Data.Data.Data Network.AWS.DeviceFarm.GetJob.GetJobResponse
instance GHC.Show.Show Network.AWS.DeviceFarm.GetJob.GetJobResponse
instance GHC.Read.Read Network.AWS.DeviceFarm.GetJob.GetJobResponse
instance GHC.Classes.Eq Network.AWS.DeviceFarm.GetJob.GetJobResponse
instance GHC.Generics.Generic Network.AWS.DeviceFarm.GetJob.GetJob
instance Data.Data.Data Network.AWS.DeviceFarm.GetJob.GetJob
instance GHC.Show.Show Network.AWS.DeviceFarm.GetJob.GetJob
instance GHC.Read.Read Network.AWS.DeviceFarm.GetJob.GetJob
instance GHC.Classes.Eq Network.AWS.DeviceFarm.GetJob.GetJob
instance Network.AWS.Types.AWSRequest Network.AWS.DeviceFarm.GetJob.GetJob
instance Data.Hashable.Class.Hashable Network.AWS.DeviceFarm.GetJob.GetJob
instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.GetJob.GetJob
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DeviceFarm.GetJob.GetJob
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DeviceFarm.GetJob.GetJob
instance Network.AWS.Data.Path.ToPath Network.AWS.DeviceFarm.GetJob.GetJob
instance Network.AWS.Data.Query.ToQuery Network.AWS.DeviceFarm.GetJob.GetJob
instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.GetJob.GetJobResponse


-- | Gets information about compatibility with a device pool.
module Network.AWS.DeviceFarm.GetDevicePoolCompatibility

-- | Creates a value of <a>GetDevicePoolCompatibility</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gdpcAppARN</a> - The ARN of the app that is associated with the
--   specified device pool.</li>
--   <li><a>gdpcTestType</a> - The test type for the specified device pool.
--   Allowed values include the following: * BUILTIN_FUZZ: The built-in
--   fuzz type. * BUILTIN_EXPLORER: For Android, an app explorer that will
--   traverse an Android app, interacting with it and capturing screenshots
--   at the same time. * APPIUM_JAVA_JUNIT: The Appium Java JUnit type. *
--   APPIUM_JAVA_TESTNG: The Appium Java TestNG type. * APPIUM_PYTHON: The
--   Appium Python type. * APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit
--   type for Web apps. * APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG
--   type for Web apps. * APPIUM_WEB_PYTHON: The Appium Python type for Web
--   apps. * CALABASH: The Calabash type. * INSTRUMENTATION: The
--   Instrumentation type. * UIAUTOMATION: The uiautomation type. *
--   UIAUTOMATOR: The uiautomator type. * XCTEST: The XCode test type. *
--   XCTEST_UI: The XCode UI test type.</li>
--   <li><a>gdpcDevicePoolARN</a> - The device pool's ARN.</li>
--   </ul>
getDevicePoolCompatibility :: Text -> GetDevicePoolCompatibility

-- | Represents a request to the get device pool compatibility operation.
--   
--   <i>See:</i> <a>getDevicePoolCompatibility</a> smart constructor.
data GetDevicePoolCompatibility

-- | The ARN of the app that is associated with the specified device pool.
gdpcAppARN :: Lens' GetDevicePoolCompatibility (Maybe Text)

-- | The test type for the specified device pool. Allowed values include
--   the following: * BUILTIN_FUZZ: The built-in fuzz type. *
--   BUILTIN_EXPLORER: For Android, an app explorer that will traverse an
--   Android app, interacting with it and capturing screenshots at the same
--   time. * APPIUM_JAVA_JUNIT: The Appium Java JUnit type. *
--   APPIUM_JAVA_TESTNG: The Appium Java TestNG type. * APPIUM_PYTHON: The
--   Appium Python type. * APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit
--   type for Web apps. * APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG
--   type for Web apps. * APPIUM_WEB_PYTHON: The Appium Python type for Web
--   apps. * CALABASH: The Calabash type. * INSTRUMENTATION: The
--   Instrumentation type. * UIAUTOMATION: The uiautomation type. *
--   UIAUTOMATOR: The uiautomator type. * XCTEST: The XCode test type. *
--   XCTEST_UI: The XCode UI test type.
gdpcTestType :: Lens' GetDevicePoolCompatibility (Maybe TestType)

-- | The device pool's ARN.
gdpcDevicePoolARN :: Lens' GetDevicePoolCompatibility Text

-- | Creates a value of <a>GetDevicePoolCompatibilityResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gdpcrsIncompatibleDevices</a> - Information about incompatible
--   devices.</li>
--   <li><a>gdpcrsCompatibleDevices</a> - Information about compatible
--   devices.</li>
--   <li><a>gdpcrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
getDevicePoolCompatibilityResponse :: Int -> GetDevicePoolCompatibilityResponse

-- | Represents the result of describe device pool compatibility request.
--   
--   <i>See:</i> <a>getDevicePoolCompatibilityResponse</a> smart
--   constructor.
data GetDevicePoolCompatibilityResponse

-- | Information about incompatible devices.
gdpcrsIncompatibleDevices :: Lens' GetDevicePoolCompatibilityResponse [DevicePoolCompatibilityResult]

-- | Information about compatible devices.
gdpcrsCompatibleDevices :: Lens' GetDevicePoolCompatibilityResponse [DevicePoolCompatibilityResult]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
gdpcrsResponseStatus :: Lens' GetDevicePoolCompatibilityResponse Int
instance GHC.Generics.Generic Network.AWS.DeviceFarm.GetDevicePoolCompatibility.GetDevicePoolCompatibilityResponse
instance Data.Data.Data Network.AWS.DeviceFarm.GetDevicePoolCompatibility.GetDevicePoolCompatibilityResponse
instance GHC.Show.Show Network.AWS.DeviceFarm.GetDevicePoolCompatibility.GetDevicePoolCompatibilityResponse
instance GHC.Read.Read Network.AWS.DeviceFarm.GetDevicePoolCompatibility.GetDevicePoolCompatibilityResponse
instance GHC.Classes.Eq Network.AWS.DeviceFarm.GetDevicePoolCompatibility.GetDevicePoolCompatibilityResponse
instance GHC.Generics.Generic Network.AWS.DeviceFarm.GetDevicePoolCompatibility.GetDevicePoolCompatibility
instance Data.Data.Data Network.AWS.DeviceFarm.GetDevicePoolCompatibility.GetDevicePoolCompatibility
instance GHC.Show.Show Network.AWS.DeviceFarm.GetDevicePoolCompatibility.GetDevicePoolCompatibility
instance GHC.Read.Read Network.AWS.DeviceFarm.GetDevicePoolCompatibility.GetDevicePoolCompatibility
instance GHC.Classes.Eq Network.AWS.DeviceFarm.GetDevicePoolCompatibility.GetDevicePoolCompatibility
instance Network.AWS.Types.AWSRequest Network.AWS.DeviceFarm.GetDevicePoolCompatibility.GetDevicePoolCompatibility
instance Data.Hashable.Class.Hashable Network.AWS.DeviceFarm.GetDevicePoolCompatibility.GetDevicePoolCompatibility
instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.GetDevicePoolCompatibility.GetDevicePoolCompatibility
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DeviceFarm.GetDevicePoolCompatibility.GetDevicePoolCompatibility
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DeviceFarm.GetDevicePoolCompatibility.GetDevicePoolCompatibility
instance Network.AWS.Data.Path.ToPath Network.AWS.DeviceFarm.GetDevicePoolCompatibility.GetDevicePoolCompatibility
instance Network.AWS.Data.Query.ToQuery Network.AWS.DeviceFarm.GetDevicePoolCompatibility.GetDevicePoolCompatibility
instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.GetDevicePoolCompatibility.GetDevicePoolCompatibilityResponse


-- | Gets information about a device pool.
module Network.AWS.DeviceFarm.GetDevicePool

-- | Creates a value of <a>GetDevicePool</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gdpArn</a> - The device pool's ARN.</li>
--   </ul>
getDevicePool :: Text -> GetDevicePool

-- | Represents a request to the get device pool operation.
--   
--   <i>See:</i> <a>getDevicePool</a> smart constructor.
data GetDevicePool

-- | The device pool's ARN.
gdpArn :: Lens' GetDevicePool Text

-- | Creates a value of <a>GetDevicePoolResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gdprsDevicePool</a> - Undocumented member.</li>
--   <li><a>gdprsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
getDevicePoolResponse :: Int -> GetDevicePoolResponse

-- | Represents the result of a get device pool request.
--   
--   <i>See:</i> <a>getDevicePoolResponse</a> smart constructor.
data GetDevicePoolResponse

-- | Undocumented member.
gdprsDevicePool :: Lens' GetDevicePoolResponse (Maybe DevicePool)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
gdprsResponseStatus :: Lens' GetDevicePoolResponse Int
instance GHC.Generics.Generic Network.AWS.DeviceFarm.GetDevicePool.GetDevicePoolResponse
instance Data.Data.Data Network.AWS.DeviceFarm.GetDevicePool.GetDevicePoolResponse
instance GHC.Show.Show Network.AWS.DeviceFarm.GetDevicePool.GetDevicePoolResponse
instance GHC.Read.Read Network.AWS.DeviceFarm.GetDevicePool.GetDevicePoolResponse
instance GHC.Classes.Eq Network.AWS.DeviceFarm.GetDevicePool.GetDevicePoolResponse
instance GHC.Generics.Generic Network.AWS.DeviceFarm.GetDevicePool.GetDevicePool
instance Data.Data.Data Network.AWS.DeviceFarm.GetDevicePool.GetDevicePool
instance GHC.Show.Show Network.AWS.DeviceFarm.GetDevicePool.GetDevicePool
instance GHC.Read.Read Network.AWS.DeviceFarm.GetDevicePool.GetDevicePool
instance GHC.Classes.Eq Network.AWS.DeviceFarm.GetDevicePool.GetDevicePool
instance Network.AWS.Types.AWSRequest Network.AWS.DeviceFarm.GetDevicePool.GetDevicePool
instance Data.Hashable.Class.Hashable Network.AWS.DeviceFarm.GetDevicePool.GetDevicePool
instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.GetDevicePool.GetDevicePool
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DeviceFarm.GetDevicePool.GetDevicePool
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DeviceFarm.GetDevicePool.GetDevicePool
instance Network.AWS.Data.Path.ToPath Network.AWS.DeviceFarm.GetDevicePool.GetDevicePool
instance Network.AWS.Data.Query.ToQuery Network.AWS.DeviceFarm.GetDevicePool.GetDevicePool
instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.GetDevicePool.GetDevicePoolResponse


-- | Gets information about a unique device type.
module Network.AWS.DeviceFarm.GetDevice

-- | Creates a value of <a>GetDevice</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gdArn</a> - The device type's ARN.</li>
--   </ul>
getDevice :: Text -> GetDevice

-- | Represents a request to the get device request.
--   
--   <i>See:</i> <a>getDevice</a> smart constructor.
data GetDevice

-- | The device type's ARN.
gdArn :: Lens' GetDevice Text

-- | Creates a value of <a>GetDeviceResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gdrsDevice</a> - Undocumented member.</li>
--   <li><a>gdrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
getDeviceResponse :: Int -> GetDeviceResponse

-- | Represents the result of a get device request.
--   
--   <i>See:</i> <a>getDeviceResponse</a> smart constructor.
data GetDeviceResponse

-- | Undocumented member.
gdrsDevice :: Lens' GetDeviceResponse (Maybe Device)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
gdrsResponseStatus :: Lens' GetDeviceResponse Int
instance GHC.Generics.Generic Network.AWS.DeviceFarm.GetDevice.GetDeviceResponse
instance Data.Data.Data Network.AWS.DeviceFarm.GetDevice.GetDeviceResponse
instance GHC.Show.Show Network.AWS.DeviceFarm.GetDevice.GetDeviceResponse
instance GHC.Read.Read Network.AWS.DeviceFarm.GetDevice.GetDeviceResponse
instance GHC.Classes.Eq Network.AWS.DeviceFarm.GetDevice.GetDeviceResponse
instance GHC.Generics.Generic Network.AWS.DeviceFarm.GetDevice.GetDevice
instance Data.Data.Data Network.AWS.DeviceFarm.GetDevice.GetDevice
instance GHC.Show.Show Network.AWS.DeviceFarm.GetDevice.GetDevice
instance GHC.Read.Read Network.AWS.DeviceFarm.GetDevice.GetDevice
instance GHC.Classes.Eq Network.AWS.DeviceFarm.GetDevice.GetDevice
instance Network.AWS.Types.AWSRequest Network.AWS.DeviceFarm.GetDevice.GetDevice
instance Data.Hashable.Class.Hashable Network.AWS.DeviceFarm.GetDevice.GetDevice
instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.GetDevice.GetDevice
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DeviceFarm.GetDevice.GetDevice
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DeviceFarm.GetDevice.GetDevice
instance Network.AWS.Data.Path.ToPath Network.AWS.DeviceFarm.GetDevice.GetDevice
instance Network.AWS.Data.Query.ToQuery Network.AWS.DeviceFarm.GetDevice.GetDevice
instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.GetDevice.GetDeviceResponse


-- | Returns the number of unmetered iOS and/or unmetered Android devices
--   that have been purchased by the account.
module Network.AWS.DeviceFarm.GetAccountSettings

-- | Creates a value of <a>GetAccountSettings</a> with the minimum fields
--   required to make a request.
getAccountSettings :: GetAccountSettings

-- | Represents the request sent to retrieve the account settings.
--   
--   <i>See:</i> <a>getAccountSettings</a> smart constructor.
data GetAccountSettings

-- | Creates a value of <a>GetAccountSettingsResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gasrsAccountSettings</a> - Undocumented member.</li>
--   <li><a>gasrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
getAccountSettingsResponse :: Int -> GetAccountSettingsResponse

-- | Represents the account settings return values from the
--   <tt>GetAccountSettings</tt> request.
--   
--   <i>See:</i> <a>getAccountSettingsResponse</a> smart constructor.
data GetAccountSettingsResponse

-- | Undocumented member.
gasrsAccountSettings :: Lens' GetAccountSettingsResponse (Maybe AccountSettings)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
gasrsResponseStatus :: Lens' GetAccountSettingsResponse Int
instance GHC.Generics.Generic Network.AWS.DeviceFarm.GetAccountSettings.GetAccountSettingsResponse
instance Data.Data.Data Network.AWS.DeviceFarm.GetAccountSettings.GetAccountSettingsResponse
instance GHC.Show.Show Network.AWS.DeviceFarm.GetAccountSettings.GetAccountSettingsResponse
instance GHC.Read.Read Network.AWS.DeviceFarm.GetAccountSettings.GetAccountSettingsResponse
instance GHC.Classes.Eq Network.AWS.DeviceFarm.GetAccountSettings.GetAccountSettingsResponse
instance GHC.Generics.Generic Network.AWS.DeviceFarm.GetAccountSettings.GetAccountSettings
instance Data.Data.Data Network.AWS.DeviceFarm.GetAccountSettings.GetAccountSettings
instance GHC.Show.Show Network.AWS.DeviceFarm.GetAccountSettings.GetAccountSettings
instance GHC.Read.Read Network.AWS.DeviceFarm.GetAccountSettings.GetAccountSettings
instance GHC.Classes.Eq Network.AWS.DeviceFarm.GetAccountSettings.GetAccountSettings
instance Network.AWS.Types.AWSRequest Network.AWS.DeviceFarm.GetAccountSettings.GetAccountSettings
instance Data.Hashable.Class.Hashable Network.AWS.DeviceFarm.GetAccountSettings.GetAccountSettings
instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.GetAccountSettings.GetAccountSettings
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DeviceFarm.GetAccountSettings.GetAccountSettings
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DeviceFarm.GetAccountSettings.GetAccountSettings
instance Network.AWS.Data.Path.ToPath Network.AWS.DeviceFarm.GetAccountSettings.GetAccountSettings
instance Network.AWS.Data.Query.ToQuery Network.AWS.DeviceFarm.GetAccountSettings.GetAccountSettings
instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.GetAccountSettings.GetAccountSettingsResponse


-- | Deletes an upload given the upload ARN.
module Network.AWS.DeviceFarm.DeleteUpload

-- | Creates a value of <a>DeleteUpload</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>duArn</a> - Represents the Amazon Resource Name (ARN) of the
--   Device Farm upload you wish to delete.</li>
--   </ul>
deleteUpload :: Text -> DeleteUpload

-- | Represents a request to the delete upload operation.
--   
--   <i>See:</i> <a>deleteUpload</a> smart constructor.
data DeleteUpload

-- | Represents the Amazon Resource Name (ARN) of the Device Farm upload
--   you wish to delete.
duArn :: Lens' DeleteUpload Text

-- | Creates a value of <a>DeleteUploadResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dursResponseStatus</a> - -- | The response status code.</li>
--   </ul>
deleteUploadResponse :: Int -> DeleteUploadResponse

-- | Represents the result of a delete upload request.
--   
--   <i>See:</i> <a>deleteUploadResponse</a> smart constructor.
data DeleteUploadResponse

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
dursResponseStatus :: Lens' DeleteUploadResponse Int
instance GHC.Generics.Generic Network.AWS.DeviceFarm.DeleteUpload.DeleteUploadResponse
instance Data.Data.Data Network.AWS.DeviceFarm.DeleteUpload.DeleteUploadResponse
instance GHC.Show.Show Network.AWS.DeviceFarm.DeleteUpload.DeleteUploadResponse
instance GHC.Read.Read Network.AWS.DeviceFarm.DeleteUpload.DeleteUploadResponse
instance GHC.Classes.Eq Network.AWS.DeviceFarm.DeleteUpload.DeleteUploadResponse
instance GHC.Generics.Generic Network.AWS.DeviceFarm.DeleteUpload.DeleteUpload
instance Data.Data.Data Network.AWS.DeviceFarm.DeleteUpload.DeleteUpload
instance GHC.Show.Show Network.AWS.DeviceFarm.DeleteUpload.DeleteUpload
instance GHC.Read.Read Network.AWS.DeviceFarm.DeleteUpload.DeleteUpload
instance GHC.Classes.Eq Network.AWS.DeviceFarm.DeleteUpload.DeleteUpload
instance Network.AWS.Types.AWSRequest Network.AWS.DeviceFarm.DeleteUpload.DeleteUpload
instance Data.Hashable.Class.Hashable Network.AWS.DeviceFarm.DeleteUpload.DeleteUpload
instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.DeleteUpload.DeleteUpload
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DeviceFarm.DeleteUpload.DeleteUpload
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DeviceFarm.DeleteUpload.DeleteUpload
instance Network.AWS.Data.Path.ToPath Network.AWS.DeviceFarm.DeleteUpload.DeleteUpload
instance Network.AWS.Data.Query.ToQuery Network.AWS.DeviceFarm.DeleteUpload.DeleteUpload
instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.DeleteUpload.DeleteUploadResponse


-- | Deletes the run, given the run ARN.
--   
--   <b>Note</b> Deleting this resource does not stop an in-progress run.
module Network.AWS.DeviceFarm.DeleteRun

-- | Creates a value of <a>DeleteRun</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>drArn</a> - The Amazon Resource Name (ARN) for the run you wish
--   to delete.</li>
--   </ul>
deleteRun :: Text -> DeleteRun

-- | Represents a request to the delete run operation.
--   
--   <i>See:</i> <a>deleteRun</a> smart constructor.
data DeleteRun

-- | The Amazon Resource Name (ARN) for the run you wish to delete.
drArn :: Lens' DeleteRun Text

-- | Creates a value of <a>DeleteRunResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>drrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
deleteRunResponse :: Int -> DeleteRunResponse

-- | Represents the result of a delete run request.
--   
--   <i>See:</i> <a>deleteRunResponse</a> smart constructor.
data DeleteRunResponse

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
drrsResponseStatus :: Lens' DeleteRunResponse Int
instance GHC.Generics.Generic Network.AWS.DeviceFarm.DeleteRun.DeleteRunResponse
instance Data.Data.Data Network.AWS.DeviceFarm.DeleteRun.DeleteRunResponse
instance GHC.Show.Show Network.AWS.DeviceFarm.DeleteRun.DeleteRunResponse
instance GHC.Read.Read Network.AWS.DeviceFarm.DeleteRun.DeleteRunResponse
instance GHC.Classes.Eq Network.AWS.DeviceFarm.DeleteRun.DeleteRunResponse
instance GHC.Generics.Generic Network.AWS.DeviceFarm.DeleteRun.DeleteRun
instance Data.Data.Data Network.AWS.DeviceFarm.DeleteRun.DeleteRun
instance GHC.Show.Show Network.AWS.DeviceFarm.DeleteRun.DeleteRun
instance GHC.Read.Read Network.AWS.DeviceFarm.DeleteRun.DeleteRun
instance GHC.Classes.Eq Network.AWS.DeviceFarm.DeleteRun.DeleteRun
instance Network.AWS.Types.AWSRequest Network.AWS.DeviceFarm.DeleteRun.DeleteRun
instance Data.Hashable.Class.Hashable Network.AWS.DeviceFarm.DeleteRun.DeleteRun
instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.DeleteRun.DeleteRun
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DeviceFarm.DeleteRun.DeleteRun
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DeviceFarm.DeleteRun.DeleteRun
instance Network.AWS.Data.Path.ToPath Network.AWS.DeviceFarm.DeleteRun.DeleteRun
instance Network.AWS.Data.Query.ToQuery Network.AWS.DeviceFarm.DeleteRun.DeleteRun
instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.DeleteRun.DeleteRunResponse


-- | Deletes a completed remote access session and its results.
module Network.AWS.DeviceFarm.DeleteRemoteAccessSession

-- | Creates a value of <a>DeleteRemoteAccessSession</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>drasArn</a> - The Amazon Resource Name (ARN) of the sesssion
--   for which you want to delete remote access.</li>
--   </ul>
deleteRemoteAccessSession :: Text -> DeleteRemoteAccessSession

-- | Represents the request to delete the specified remote access session.
--   
--   <i>See:</i> <a>deleteRemoteAccessSession</a> smart constructor.
data DeleteRemoteAccessSession

-- | The Amazon Resource Name (ARN) of the sesssion for which you want to
--   delete remote access.
drasArn :: Lens' DeleteRemoteAccessSession Text

-- | Creates a value of <a>DeleteRemoteAccessSessionResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>drasrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
deleteRemoteAccessSessionResponse :: Int -> DeleteRemoteAccessSessionResponse

-- | The response from the server when a request is made to delete the
--   remote access session.
--   
--   <i>See:</i> <a>deleteRemoteAccessSessionResponse</a> smart
--   constructor.
data DeleteRemoteAccessSessionResponse

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
drasrsResponseStatus :: Lens' DeleteRemoteAccessSessionResponse Int
instance GHC.Generics.Generic Network.AWS.DeviceFarm.DeleteRemoteAccessSession.DeleteRemoteAccessSessionResponse
instance Data.Data.Data Network.AWS.DeviceFarm.DeleteRemoteAccessSession.DeleteRemoteAccessSessionResponse
instance GHC.Show.Show Network.AWS.DeviceFarm.DeleteRemoteAccessSession.DeleteRemoteAccessSessionResponse
instance GHC.Read.Read Network.AWS.DeviceFarm.DeleteRemoteAccessSession.DeleteRemoteAccessSessionResponse
instance GHC.Classes.Eq Network.AWS.DeviceFarm.DeleteRemoteAccessSession.DeleteRemoteAccessSessionResponse
instance GHC.Generics.Generic Network.AWS.DeviceFarm.DeleteRemoteAccessSession.DeleteRemoteAccessSession
instance Data.Data.Data Network.AWS.DeviceFarm.DeleteRemoteAccessSession.DeleteRemoteAccessSession
instance GHC.Show.Show Network.AWS.DeviceFarm.DeleteRemoteAccessSession.DeleteRemoteAccessSession
instance GHC.Read.Read Network.AWS.DeviceFarm.DeleteRemoteAccessSession.DeleteRemoteAccessSession
instance GHC.Classes.Eq Network.AWS.DeviceFarm.DeleteRemoteAccessSession.DeleteRemoteAccessSession
instance Network.AWS.Types.AWSRequest Network.AWS.DeviceFarm.DeleteRemoteAccessSession.DeleteRemoteAccessSession
instance Data.Hashable.Class.Hashable Network.AWS.DeviceFarm.DeleteRemoteAccessSession.DeleteRemoteAccessSession
instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.DeleteRemoteAccessSession.DeleteRemoteAccessSession
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DeviceFarm.DeleteRemoteAccessSession.DeleteRemoteAccessSession
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DeviceFarm.DeleteRemoteAccessSession.DeleteRemoteAccessSession
instance Network.AWS.Data.Path.ToPath Network.AWS.DeviceFarm.DeleteRemoteAccessSession.DeleteRemoteAccessSession
instance Network.AWS.Data.Query.ToQuery Network.AWS.DeviceFarm.DeleteRemoteAccessSession.DeleteRemoteAccessSession
instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.DeleteRemoteAccessSession.DeleteRemoteAccessSessionResponse


-- | Deletes an AWS Device Farm project, given the project ARN.
--   
--   <b>Note</b> Deleting this resource does not stop an in-progress run.
module Network.AWS.DeviceFarm.DeleteProject

-- | Creates a value of <a>DeleteProject</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dpArn</a> - Represents the Amazon Resource Name (ARN) of the
--   Device Farm project you wish to delete.</li>
--   </ul>
deleteProject :: Text -> DeleteProject

-- | Represents a request to the delete project operation.
--   
--   <i>See:</i> <a>deleteProject</a> smart constructor.
data DeleteProject

-- | Represents the Amazon Resource Name (ARN) of the Device Farm project
--   you wish to delete.
dpArn :: Lens' DeleteProject Text

-- | Creates a value of <a>DeleteProjectResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dprsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
deleteProjectResponse :: Int -> DeleteProjectResponse

-- | Represents the result of a delete project request.
--   
--   <i>See:</i> <a>deleteProjectResponse</a> smart constructor.
data DeleteProjectResponse

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
dprsResponseStatus :: Lens' DeleteProjectResponse Int
instance GHC.Generics.Generic Network.AWS.DeviceFarm.DeleteProject.DeleteProjectResponse
instance Data.Data.Data Network.AWS.DeviceFarm.DeleteProject.DeleteProjectResponse
instance GHC.Show.Show Network.AWS.DeviceFarm.DeleteProject.DeleteProjectResponse
instance GHC.Read.Read Network.AWS.DeviceFarm.DeleteProject.DeleteProjectResponse
instance GHC.Classes.Eq Network.AWS.DeviceFarm.DeleteProject.DeleteProjectResponse
instance GHC.Generics.Generic Network.AWS.DeviceFarm.DeleteProject.DeleteProject
instance Data.Data.Data Network.AWS.DeviceFarm.DeleteProject.DeleteProject
instance GHC.Show.Show Network.AWS.DeviceFarm.DeleteProject.DeleteProject
instance GHC.Read.Read Network.AWS.DeviceFarm.DeleteProject.DeleteProject
instance GHC.Classes.Eq Network.AWS.DeviceFarm.DeleteProject.DeleteProject
instance Network.AWS.Types.AWSRequest Network.AWS.DeviceFarm.DeleteProject.DeleteProject
instance Data.Hashable.Class.Hashable Network.AWS.DeviceFarm.DeleteProject.DeleteProject
instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.DeleteProject.DeleteProject
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DeviceFarm.DeleteProject.DeleteProject
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DeviceFarm.DeleteProject.DeleteProject
instance Network.AWS.Data.Path.ToPath Network.AWS.DeviceFarm.DeleteProject.DeleteProject
instance Network.AWS.Data.Query.ToQuery Network.AWS.DeviceFarm.DeleteProject.DeleteProject
instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.DeleteProject.DeleteProjectResponse


-- | Deletes a device pool given the pool ARN. Does not allow deletion of
--   curated pools owned by the system.
module Network.AWS.DeviceFarm.DeleteDevicePool

-- | Creates a value of <a>DeleteDevicePool</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ddpArn</a> - Represents the Amazon Resource Name (ARN) of the
--   Device Farm device pool you wish to delete.</li>
--   </ul>
deleteDevicePool :: Text -> DeleteDevicePool

-- | Represents a request to the delete device pool operation.
--   
--   <i>See:</i> <a>deleteDevicePool</a> smart constructor.
data DeleteDevicePool

-- | Represents the Amazon Resource Name (ARN) of the Device Farm device
--   pool you wish to delete.
ddpArn :: Lens' DeleteDevicePool Text

-- | Creates a value of <a>DeleteDevicePoolResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ddprsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
deleteDevicePoolResponse :: Int -> DeleteDevicePoolResponse

-- | Represents the result of a delete device pool request.
--   
--   <i>See:</i> <a>deleteDevicePoolResponse</a> smart constructor.
data DeleteDevicePoolResponse

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
ddprsResponseStatus :: Lens' DeleteDevicePoolResponse Int
instance GHC.Generics.Generic Network.AWS.DeviceFarm.DeleteDevicePool.DeleteDevicePoolResponse
instance Data.Data.Data Network.AWS.DeviceFarm.DeleteDevicePool.DeleteDevicePoolResponse
instance GHC.Show.Show Network.AWS.DeviceFarm.DeleteDevicePool.DeleteDevicePoolResponse
instance GHC.Read.Read Network.AWS.DeviceFarm.DeleteDevicePool.DeleteDevicePoolResponse
instance GHC.Classes.Eq Network.AWS.DeviceFarm.DeleteDevicePool.DeleteDevicePoolResponse
instance GHC.Generics.Generic Network.AWS.DeviceFarm.DeleteDevicePool.DeleteDevicePool
instance Data.Data.Data Network.AWS.DeviceFarm.DeleteDevicePool.DeleteDevicePool
instance GHC.Show.Show Network.AWS.DeviceFarm.DeleteDevicePool.DeleteDevicePool
instance GHC.Read.Read Network.AWS.DeviceFarm.DeleteDevicePool.DeleteDevicePool
instance GHC.Classes.Eq Network.AWS.DeviceFarm.DeleteDevicePool.DeleteDevicePool
instance Network.AWS.Types.AWSRequest Network.AWS.DeviceFarm.DeleteDevicePool.DeleteDevicePool
instance Data.Hashable.Class.Hashable Network.AWS.DeviceFarm.DeleteDevicePool.DeleteDevicePool
instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.DeleteDevicePool.DeleteDevicePool
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DeviceFarm.DeleteDevicePool.DeleteDevicePool
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DeviceFarm.DeleteDevicePool.DeleteDevicePool
instance Network.AWS.Data.Path.ToPath Network.AWS.DeviceFarm.DeleteDevicePool.DeleteDevicePool
instance Network.AWS.Data.Query.ToQuery Network.AWS.DeviceFarm.DeleteDevicePool.DeleteDevicePool
instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.DeleteDevicePool.DeleteDevicePoolResponse


-- | Uploads an app or test scripts.
module Network.AWS.DeviceFarm.CreateUpload

-- | Creates a value of <a>CreateUpload</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cuContentType</a> - The upload's content type (for example,
--   "application/octet-stream").</li>
--   <li><a>cuProjectARN</a> - The ARN of the project for the upload.</li>
--   <li><a>cuName</a> - The upload's file name. The name should not
--   contain the <a>/</a> character. If uploading an iOS app, the file name
--   needs to end with the <tt>.ipa</tt> extension. If uploading an Android
--   app, the file name needs to end with the <tt>.apk</tt> extension. For
--   all others, the file name must end with the <tt>.zip</tt> file
--   extension.</li>
--   <li><a>cuType</a> - The upload's upload type. Must be one of the
--   following values: * ANDROID_APP: An Android upload. * IOS_APP: An iOS
--   upload. * WEB_APP: A web appliction upload. * EXTERNAL_DATA: An
--   external data upload. * APPIUM_JAVA_JUNIT_TEST_PACKAGE: An Appium Java
--   JUnit test package upload. * APPIUM_JAVA_TESTNG_TEST_PACKAGE: An
--   Appium Java TestNG test package upload. * APPIUM_PYTHON_TEST_PACKAGE:
--   An Appium Python test package upload. *
--   APPIUM_WEB_JAVA_JUNIT_TEST_PACKAGE: An Appium Java JUnit test package
--   upload. * APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE: An Appium Java TestNG
--   test package upload. * APPIUM_WEB_PYTHON_TEST_PACKAGE: An Appium
--   Python test package upload. * CALABASH_TEST_PACKAGE: A Calabash test
--   package upload. * INSTRUMENTATION_TEST_PACKAGE: An instrumentation
--   upload. * UIAUTOMATION_TEST_PACKAGE: A uiautomation test package
--   upload. * UIAUTOMATOR_TEST_PACKAGE: A uiautomator test package upload.
--   * XCTEST_TEST_PACKAGE: An XCode test package upload. *
--   XCTEST_UI_TEST_PACKAGE: An XCode UI test package upload. <b>Note</b>
--   If you call <tt>CreateUpload</tt> with <tt>WEB_APP</tt> specified, AWS
--   Device Farm throws an <tt>ArgumentException</tt> error.</li>
--   </ul>
createUpload :: Text -> Text -> UploadType -> CreateUpload

-- | Represents a request to the create upload operation.
--   
--   <i>See:</i> <a>createUpload</a> smart constructor.
data CreateUpload

-- | The upload's content type (for example, "application/octet-stream").
cuContentType :: Lens' CreateUpload (Maybe Text)

-- | The ARN of the project for the upload.
cuProjectARN :: Lens' CreateUpload Text

-- | The upload's file name. The name should not contain the <a>/</a>
--   character. If uploading an iOS app, the file name needs to end with
--   the <tt>.ipa</tt> extension. If uploading an Android app, the file
--   name needs to end with the <tt>.apk</tt> extension. For all others,
--   the file name must end with the <tt>.zip</tt> file extension.
cuName :: Lens' CreateUpload Text

-- | The upload's upload type. Must be one of the following values: *
--   ANDROID_APP: An Android upload. * IOS_APP: An iOS upload. * WEB_APP: A
--   web appliction upload. * EXTERNAL_DATA: An external data upload. *
--   APPIUM_JAVA_JUNIT_TEST_PACKAGE: An Appium Java JUnit test package
--   upload. * APPIUM_JAVA_TESTNG_TEST_PACKAGE: An Appium Java TestNG test
--   package upload. * APPIUM_PYTHON_TEST_PACKAGE: An Appium Python test
--   package upload. * APPIUM_WEB_JAVA_JUNIT_TEST_PACKAGE: An Appium Java
--   JUnit test package upload. * APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE: An
--   Appium Java TestNG test package upload. *
--   APPIUM_WEB_PYTHON_TEST_PACKAGE: An Appium Python test package upload.
--   * CALABASH_TEST_PACKAGE: A Calabash test package upload. *
--   INSTRUMENTATION_TEST_PACKAGE: An instrumentation upload. *
--   UIAUTOMATION_TEST_PACKAGE: A uiautomation test package upload. *
--   UIAUTOMATOR_TEST_PACKAGE: A uiautomator test package upload. *
--   XCTEST_TEST_PACKAGE: An XCode test package upload. *
--   XCTEST_UI_TEST_PACKAGE: An XCode UI test package upload. <b>Note</b>
--   If you call <tt>CreateUpload</tt> with <tt>WEB_APP</tt> specified, AWS
--   Device Farm throws an <tt>ArgumentException</tt> error.
cuType :: Lens' CreateUpload UploadType

-- | Creates a value of <a>CreateUploadResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cursUpload</a> - The newly created upload.</li>
--   <li><a>cursResponseStatus</a> - -- | The response status code.</li>
--   </ul>
createUploadResponse :: Int -> CreateUploadResponse

-- | Represents the result of a create upload request.
--   
--   <i>See:</i> <a>createUploadResponse</a> smart constructor.
data CreateUploadResponse

-- | The newly created upload.
cursUpload :: Lens' CreateUploadResponse (Maybe Upload)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
cursResponseStatus :: Lens' CreateUploadResponse Int
instance GHC.Generics.Generic Network.AWS.DeviceFarm.CreateUpload.CreateUploadResponse
instance Data.Data.Data Network.AWS.DeviceFarm.CreateUpload.CreateUploadResponse
instance GHC.Show.Show Network.AWS.DeviceFarm.CreateUpload.CreateUploadResponse
instance GHC.Read.Read Network.AWS.DeviceFarm.CreateUpload.CreateUploadResponse
instance GHC.Classes.Eq Network.AWS.DeviceFarm.CreateUpload.CreateUploadResponse
instance GHC.Generics.Generic Network.AWS.DeviceFarm.CreateUpload.CreateUpload
instance Data.Data.Data Network.AWS.DeviceFarm.CreateUpload.CreateUpload
instance GHC.Show.Show Network.AWS.DeviceFarm.CreateUpload.CreateUpload
instance GHC.Read.Read Network.AWS.DeviceFarm.CreateUpload.CreateUpload
instance GHC.Classes.Eq Network.AWS.DeviceFarm.CreateUpload.CreateUpload
instance Network.AWS.Types.AWSRequest Network.AWS.DeviceFarm.CreateUpload.CreateUpload
instance Data.Hashable.Class.Hashable Network.AWS.DeviceFarm.CreateUpload.CreateUpload
instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.CreateUpload.CreateUpload
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DeviceFarm.CreateUpload.CreateUpload
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DeviceFarm.CreateUpload.CreateUpload
instance Network.AWS.Data.Path.ToPath Network.AWS.DeviceFarm.CreateUpload.CreateUpload
instance Network.AWS.Data.Query.ToQuery Network.AWS.DeviceFarm.CreateUpload.CreateUpload
instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.CreateUpload.CreateUploadResponse


-- | Specifies and starts a remote access session.
module Network.AWS.DeviceFarm.CreateRemoteAccessSession

-- | Creates a value of <a>CreateRemoteAccessSession</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>crasName</a> - The name of the remote access session that you
--   wish to create.</li>
--   <li><a>crasConfiguration</a> - The configuration information for the
--   remote access session request.</li>
--   <li><a>crasProjectARN</a> - The Amazon Resource Name (ARN) of the
--   project for which you want to create a remote access session.</li>
--   <li><a>crasDeviceARN</a> - The Amazon Resource Name (ARN) of the
--   device for which you want to create a remote access session.</li>
--   </ul>
createRemoteAccessSession :: Text -> Text -> CreateRemoteAccessSession

-- | Creates and submits a request to start a remote access session.
--   
--   <i>See:</i> <a>createRemoteAccessSession</a> smart constructor.
data CreateRemoteAccessSession

-- | The name of the remote access session that you wish to create.
crasName :: Lens' CreateRemoteAccessSession (Maybe Text)

-- | The configuration information for the remote access session request.
crasConfiguration :: Lens' CreateRemoteAccessSession (Maybe CreateRemoteAccessSessionConfiguration)

-- | The Amazon Resource Name (ARN) of the project for which you want to
--   create a remote access session.
crasProjectARN :: Lens' CreateRemoteAccessSession Text

-- | The Amazon Resource Name (ARN) of the device for which you want to
--   create a remote access session.
crasDeviceARN :: Lens' CreateRemoteAccessSession Text

-- | Creates a value of <a>CreateRemoteAccessSessionResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>crasrsRemoteAccessSession</a> - A container that describes the
--   remote access session when the request to create a remote access
--   session is sent.</li>
--   <li><a>crasrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
createRemoteAccessSessionResponse :: Int -> CreateRemoteAccessSessionResponse

-- | Represents the server response from a request to create a remote
--   access session.
--   
--   <i>See:</i> <a>createRemoteAccessSessionResponse</a> smart
--   constructor.
data CreateRemoteAccessSessionResponse

-- | A container that describes the remote access session when the request
--   to create a remote access session is sent.
crasrsRemoteAccessSession :: Lens' CreateRemoteAccessSessionResponse (Maybe RemoteAccessSession)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
crasrsResponseStatus :: Lens' CreateRemoteAccessSessionResponse Int
instance GHC.Generics.Generic Network.AWS.DeviceFarm.CreateRemoteAccessSession.CreateRemoteAccessSessionResponse
instance Data.Data.Data Network.AWS.DeviceFarm.CreateRemoteAccessSession.CreateRemoteAccessSessionResponse
instance GHC.Show.Show Network.AWS.DeviceFarm.CreateRemoteAccessSession.CreateRemoteAccessSessionResponse
instance GHC.Read.Read Network.AWS.DeviceFarm.CreateRemoteAccessSession.CreateRemoteAccessSessionResponse
instance GHC.Classes.Eq Network.AWS.DeviceFarm.CreateRemoteAccessSession.CreateRemoteAccessSessionResponse
instance GHC.Generics.Generic Network.AWS.DeviceFarm.CreateRemoteAccessSession.CreateRemoteAccessSession
instance Data.Data.Data Network.AWS.DeviceFarm.CreateRemoteAccessSession.CreateRemoteAccessSession
instance GHC.Show.Show Network.AWS.DeviceFarm.CreateRemoteAccessSession.CreateRemoteAccessSession
instance GHC.Read.Read Network.AWS.DeviceFarm.CreateRemoteAccessSession.CreateRemoteAccessSession
instance GHC.Classes.Eq Network.AWS.DeviceFarm.CreateRemoteAccessSession.CreateRemoteAccessSession
instance Network.AWS.Types.AWSRequest Network.AWS.DeviceFarm.CreateRemoteAccessSession.CreateRemoteAccessSession
instance Data.Hashable.Class.Hashable Network.AWS.DeviceFarm.CreateRemoteAccessSession.CreateRemoteAccessSession
instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.CreateRemoteAccessSession.CreateRemoteAccessSession
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DeviceFarm.CreateRemoteAccessSession.CreateRemoteAccessSession
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DeviceFarm.CreateRemoteAccessSession.CreateRemoteAccessSession
instance Network.AWS.Data.Path.ToPath Network.AWS.DeviceFarm.CreateRemoteAccessSession.CreateRemoteAccessSession
instance Network.AWS.Data.Query.ToQuery Network.AWS.DeviceFarm.CreateRemoteAccessSession.CreateRemoteAccessSession
instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.CreateRemoteAccessSession.CreateRemoteAccessSessionResponse


-- | Creates a new project.
module Network.AWS.DeviceFarm.CreateProject

-- | Creates a value of <a>CreateProject</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cpName</a> - The project's name.</li>
--   </ul>
createProject :: Text -> CreateProject

-- | Represents a request to the create project operation.
--   
--   <i>See:</i> <a>createProject</a> smart constructor.
data CreateProject

-- | The project's name.
cpName :: Lens' CreateProject Text

-- | Creates a value of <a>CreateProjectResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cprsProject</a> - The newly created project.</li>
--   <li><a>cprsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
createProjectResponse :: Int -> CreateProjectResponse

-- | Represents the result of a create project request.
--   
--   <i>See:</i> <a>createProjectResponse</a> smart constructor.
data CreateProjectResponse

-- | The newly created project.
cprsProject :: Lens' CreateProjectResponse (Maybe Project)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
cprsResponseStatus :: Lens' CreateProjectResponse Int
instance GHC.Generics.Generic Network.AWS.DeviceFarm.CreateProject.CreateProjectResponse
instance Data.Data.Data Network.AWS.DeviceFarm.CreateProject.CreateProjectResponse
instance GHC.Show.Show Network.AWS.DeviceFarm.CreateProject.CreateProjectResponse
instance GHC.Read.Read Network.AWS.DeviceFarm.CreateProject.CreateProjectResponse
instance GHC.Classes.Eq Network.AWS.DeviceFarm.CreateProject.CreateProjectResponse
instance GHC.Generics.Generic Network.AWS.DeviceFarm.CreateProject.CreateProject
instance Data.Data.Data Network.AWS.DeviceFarm.CreateProject.CreateProject
instance GHC.Show.Show Network.AWS.DeviceFarm.CreateProject.CreateProject
instance GHC.Read.Read Network.AWS.DeviceFarm.CreateProject.CreateProject
instance GHC.Classes.Eq Network.AWS.DeviceFarm.CreateProject.CreateProject
instance Network.AWS.Types.AWSRequest Network.AWS.DeviceFarm.CreateProject.CreateProject
instance Data.Hashable.Class.Hashable Network.AWS.DeviceFarm.CreateProject.CreateProject
instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.CreateProject.CreateProject
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DeviceFarm.CreateProject.CreateProject
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DeviceFarm.CreateProject.CreateProject
instance Network.AWS.Data.Path.ToPath Network.AWS.DeviceFarm.CreateProject.CreateProject
instance Network.AWS.Data.Query.ToQuery Network.AWS.DeviceFarm.CreateProject.CreateProject
instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.CreateProject.CreateProjectResponse


-- | Creates a device pool.
module Network.AWS.DeviceFarm.CreateDevicePool

-- | Creates a value of <a>CreateDevicePool</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cdpDescription</a> - The device pool's description.</li>
--   <li><a>cdpProjectARN</a> - The ARN of the project for the device
--   pool.</li>
--   <li><a>cdpName</a> - The device pool's name.</li>
--   <li><a>cdpRules</a> - The device pool's rules.</li>
--   </ul>
createDevicePool :: Text -> Text -> CreateDevicePool

-- | Represents a request to the create device pool operation.
--   
--   <i>See:</i> <a>createDevicePool</a> smart constructor.
data CreateDevicePool

-- | The device pool's description.
cdpDescription :: Lens' CreateDevicePool (Maybe Text)

-- | The ARN of the project for the device pool.
cdpProjectARN :: Lens' CreateDevicePool Text

-- | The device pool's name.
cdpName :: Lens' CreateDevicePool Text

-- | The device pool's rules.
cdpRules :: Lens' CreateDevicePool [Rule]

-- | Creates a value of <a>CreateDevicePoolResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cdprsDevicePool</a> - The newly created device pool.</li>
--   <li><a>cdprsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
createDevicePoolResponse :: Int -> CreateDevicePoolResponse

-- | Represents the result of a create device pool request.
--   
--   <i>See:</i> <a>createDevicePoolResponse</a> smart constructor.
data CreateDevicePoolResponse

-- | The newly created device pool.
cdprsDevicePool :: Lens' CreateDevicePoolResponse (Maybe DevicePool)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
cdprsResponseStatus :: Lens' CreateDevicePoolResponse Int
instance GHC.Generics.Generic Network.AWS.DeviceFarm.CreateDevicePool.CreateDevicePoolResponse
instance Data.Data.Data Network.AWS.DeviceFarm.CreateDevicePool.CreateDevicePoolResponse
instance GHC.Show.Show Network.AWS.DeviceFarm.CreateDevicePool.CreateDevicePoolResponse
instance GHC.Read.Read Network.AWS.DeviceFarm.CreateDevicePool.CreateDevicePoolResponse
instance GHC.Classes.Eq Network.AWS.DeviceFarm.CreateDevicePool.CreateDevicePoolResponse
instance GHC.Generics.Generic Network.AWS.DeviceFarm.CreateDevicePool.CreateDevicePool
instance Data.Data.Data Network.AWS.DeviceFarm.CreateDevicePool.CreateDevicePool
instance GHC.Show.Show Network.AWS.DeviceFarm.CreateDevicePool.CreateDevicePool
instance GHC.Read.Read Network.AWS.DeviceFarm.CreateDevicePool.CreateDevicePool
instance GHC.Classes.Eq Network.AWS.DeviceFarm.CreateDevicePool.CreateDevicePool
instance Network.AWS.Types.AWSRequest Network.AWS.DeviceFarm.CreateDevicePool.CreateDevicePool
instance Data.Hashable.Class.Hashable Network.AWS.DeviceFarm.CreateDevicePool.CreateDevicePool
instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.CreateDevicePool.CreateDevicePool
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DeviceFarm.CreateDevicePool.CreateDevicePool
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DeviceFarm.CreateDevicePool.CreateDevicePool
instance Network.AWS.Data.Path.ToPath Network.AWS.DeviceFarm.CreateDevicePool.CreateDevicePool
instance Network.AWS.Data.Query.ToQuery Network.AWS.DeviceFarm.CreateDevicePool.CreateDevicePool
instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.CreateDevicePool.CreateDevicePoolResponse


-- | AWS Device Farm is a service that enables mobile app developers to
--   test Android, iOS, and Fire OS apps on physical phones, tablets, and
--   other devices in the cloud.
module Network.AWS.DeviceFarm

-- | API version <tt>2015-06-23</tt> of the Amazon Device Farm SDK
--   configuration.
deviceFarm :: Service

-- | Exception gets thrown when a user is not eligible to perform the
--   specified transaction.
_NotEligibleException :: AsError a => Getting (First ServiceError) a ServiceError

-- | An entity with the same name already exists.
_IdempotencyException :: AsError a => Getting (First ServiceError) a ServiceError

-- | An invalid argument was specified.
_ArgumentException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified entity was not found.
_NotFoundException :: AsError a => Getting (First ServiceError) a ServiceError

-- | There was a problem with the service account.
_ServiceAccountException :: AsError a => Getting (First ServiceError) a ServiceError

-- | A limit was exceeded.
_LimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError
data ArtifactCategory
ACFile :: ArtifactCategory
ACLog :: ArtifactCategory
ACScreenshot :: ArtifactCategory
data ArtifactType
AppiumJavaOutput :: ArtifactType
AppiumJavaXMLOutput :: ArtifactType
AppiumPythonOutput :: ArtifactType
AppiumPythonXMLOutput :: ArtifactType
AppiumServerOutput :: ArtifactType
ApplicationCrashReport :: ArtifactType
AutomationOutput :: ArtifactType
CalabashJSONOutput :: ArtifactType
CalabashJavaXMLOutput :: ArtifactType
CalabashPrettyOutput :: ArtifactType
CalabashStandardOutput :: ArtifactType
DeviceLog :: ArtifactType
ExerciserMonkeyOutput :: ArtifactType
ExplorerEventLog :: ArtifactType
ExplorerSummaryLog :: ArtifactType
InstrumentationOutput :: ArtifactType
MessageLog :: ArtifactType
ResultLog :: ArtifactType
Screenshot :: ArtifactType
ServiceLog :: ArtifactType
Unknown :: ArtifactType
Video :: ArtifactType
VideoLog :: ArtifactType
WebkitLog :: ArtifactType
XctestLog :: ArtifactType
data BillingMethod
Metered :: BillingMethod
Unmetered :: BillingMethod
data CurrencyCode
Usd :: CurrencyCode
data DeviceAttribute
ARN :: DeviceAttribute
FormFactor :: DeviceAttribute
Manufacturer :: DeviceAttribute
Platform :: DeviceAttribute
RemoteAccessEnabled :: DeviceAttribute
data DeviceFormFactor
Phone :: DeviceFormFactor
Tablet :: DeviceFormFactor
data DevicePlatform
Android :: DevicePlatform
Ios :: DevicePlatform
data DevicePoolType
Curated :: DevicePoolType
Private :: DevicePoolType
data ExecutionResult
ERErrored :: ExecutionResult
ERFailed :: ExecutionResult
ERPassed :: ExecutionResult
ERPending :: ExecutionResult
ERSkipped :: ExecutionResult
ERStopped :: ExecutionResult
ERWarned :: ExecutionResult
data ExecutionStatus
Completed :: ExecutionStatus
Pending :: ExecutionStatus
PendingConcurrency :: ExecutionStatus
PendingDevice :: ExecutionStatus
Preparing :: ExecutionStatus
Processing :: ExecutionStatus
Running :: ExecutionStatus
Scheduling :: ExecutionStatus
Stopping :: ExecutionStatus
data OfferingTransactionType
Purchase :: OfferingTransactionType
Renew :: OfferingTransactionType
System :: OfferingTransactionType
data OfferingType
Recurring :: OfferingType
data RecurringChargeFrequency
Monthly :: RecurringChargeFrequency
data RuleOperator
Equals :: RuleOperator
GreaterThan :: RuleOperator
IN :: RuleOperator
LessThan :: RuleOperator
NotIn :: RuleOperator
data SampleType
CPU :: SampleType
Memory :: SampleType
NativeAvgDrawtime :: SampleType
NativeFps :: SampleType
NativeFrames :: SampleType
NativeMaxDrawtime :: SampleType
NativeMinDrawtime :: SampleType
OpenglAvgDrawtime :: SampleType
OpenglFps :: SampleType
OpenglFrames :: SampleType
OpenglMaxDrawtime :: SampleType
OpenglMinDrawtime :: SampleType
RX :: SampleType
RxRate :: SampleType
TX :: SampleType
Threads :: SampleType
TxRate :: SampleType
data TestType
AppiumJavaJunit :: TestType
AppiumJavaTestng :: TestType
AppiumPython :: TestType
AppiumWebJavaJunit :: TestType
AppiumWebJavaTestng :: TestType
AppiumWebPython :: TestType
BuiltinExplorer :: TestType
BuiltinFuzz :: TestType
Calabash :: TestType
Instrumentation :: TestType
Uiautomation :: TestType
Uiautomator :: TestType
Xctest :: TestType
XctestUi :: TestType
data UploadStatus
USFailed :: UploadStatus
USInitialized :: UploadStatus
USProcessing :: UploadStatus
USSucceeded :: UploadStatus
data UploadType
AndroidApp :: UploadType
AppiumJavaJunitTestPackage :: UploadType
AppiumJavaTestngTestPackage :: UploadType
AppiumPythonTestPackage :: UploadType
AppiumWebJavaJunitTestPackage :: UploadType
AppiumWebJavaTestngTestPackage :: UploadType
AppiumWebPythonTestPackage :: UploadType
CalabashTestPackage :: UploadType
ExternalData :: UploadType
InstrumentationTestPackage :: UploadType
IosApp :: UploadType
UiautomationTestPackage :: UploadType
UiautomatorTestPackage :: UploadType
WebApp :: UploadType
XctestTestPackage :: UploadType
XctestUiTestPackage :: UploadType

-- | A container for account-level settings within AWS Device Farm.
--   
--   <i>See:</i> <a>accountSettings</a> smart constructor.
data AccountSettings

-- | Creates a value of <a>AccountSettings</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>asAwsAccountNumber</a> - The AWS account number specified in
--   the <tt>AccountSettings</tt> container.</li>
--   <li><a>asUnmeteredDevices</a> - Returns the unmetered devices you have
--   purchased or want to purchase.</li>
--   <li><a>asUnmeteredRemoteAccessDevices</a> - Returns the unmetered
--   remote access devices you have purchased or want to purchase.</li>
--   </ul>
accountSettings :: AccountSettings

-- | The AWS account number specified in the <tt>AccountSettings</tt>
--   container.
asAwsAccountNumber :: Lens' AccountSettings (Maybe Text)

-- | Returns the unmetered devices you have purchased or want to purchase.
asUnmeteredDevices :: Lens' AccountSettings (HashMap DevicePlatform Int)

-- | Returns the unmetered remote access devices you have purchased or want
--   to purchase.
asUnmeteredRemoteAccessDevices :: Lens' AccountSettings (HashMap DevicePlatform Int)

-- | Represents the output of a test. Examples of artifacts include logs
--   and screenshots.
--   
--   <i>See:</i> <a>artifact</a> smart constructor.
data Artifact

-- | Creates a value of <a>Artifact</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aArn</a> - The artifact's ARN.</li>
--   <li><a>aUrl</a> - The pre-signed Amazon S3 URL that can be used with a
--   corresponding GET request to download the artifact's file.</li>
--   <li><a>aExtension</a> - The artifact's file extension.</li>
--   <li><a>aName</a> - The artifact's name.</li>
--   <li><a>aType</a> - The artifact's type. Allowed values include the
--   following: * UNKNOWN: An unknown type. * SCREENSHOT: The screenshot
--   type. * DEVICE_LOG: The device log type. * MESSAGE_LOG: The message
--   log type. * RESULT_LOG: The result log type. * SERVICE_LOG: The
--   service log type. * WEBKIT_LOG: The web kit log type. *
--   INSTRUMENTATION_OUTPUT: The instrumentation type. *
--   EXERCISER_MONKEY_OUTPUT: For Android, the artifact (log) generated by
--   an Android fuzz test. * CALABASH_JSON_OUTPUT: The Calabash JSON output
--   type. * CALABASH_PRETTY_OUTPUT: The Calabash pretty output type. *
--   CALABASH_STANDARD_OUTPUT: The Calabash standard output type. *
--   CALABASH_JAVA_XML_OUTPUT: The Calabash Java XML output type. *
--   AUTOMATION_OUTPUT: The automation output type. * APPIUM_SERVER_OUTPUT:
--   The Appium server output type. * APPIUM_JAVA_OUTPUT: The Appium Java
--   output type. * APPIUM_JAVA_XML_OUTPUT: The Appium Java XML output
--   type. * APPIUM_PYTHON_OUTPUT: The Appium Python output type. *
--   APPIUM_PYTHON_XML_OUTPUT: The Appium Python XML output type. *
--   EXPLORER_EVENT_LOG: The Explorer event log output type. *
--   EXPLORER_SUMMARY_LOG: The Explorer summary log output type. *
--   APPLICATION_CRASH_REPORT: The application crash report output type. *
--   XCTEST_LOG: The XCode test output type.</li>
--   </ul>
artifact :: Artifact

-- | The artifact's ARN.
aArn :: Lens' Artifact (Maybe Text)

-- | The pre-signed Amazon S3 URL that can be used with a corresponding GET
--   request to download the artifact's file.
aUrl :: Lens' Artifact (Maybe Text)

-- | The artifact's file extension.
aExtension :: Lens' Artifact (Maybe Text)

-- | The artifact's name.
aName :: Lens' Artifact (Maybe Text)

-- | The artifact's type. Allowed values include the following: * UNKNOWN:
--   An unknown type. * SCREENSHOT: The screenshot type. * DEVICE_LOG: The
--   device log type. * MESSAGE_LOG: The message log type. * RESULT_LOG:
--   The result log type. * SERVICE_LOG: The service log type. *
--   WEBKIT_LOG: The web kit log type. * INSTRUMENTATION_OUTPUT: The
--   instrumentation type. * EXERCISER_MONKEY_OUTPUT: For Android, the
--   artifact (log) generated by an Android fuzz test. *
--   CALABASH_JSON_OUTPUT: The Calabash JSON output type. *
--   CALABASH_PRETTY_OUTPUT: The Calabash pretty output type. *
--   CALABASH_STANDARD_OUTPUT: The Calabash standard output type. *
--   CALABASH_JAVA_XML_OUTPUT: The Calabash Java XML output type. *
--   AUTOMATION_OUTPUT: The automation output type. * APPIUM_SERVER_OUTPUT:
--   The Appium server output type. * APPIUM_JAVA_OUTPUT: The Appium Java
--   output type. * APPIUM_JAVA_XML_OUTPUT: The Appium Java XML output
--   type. * APPIUM_PYTHON_OUTPUT: The Appium Python output type. *
--   APPIUM_PYTHON_XML_OUTPUT: The Appium Python XML output type. *
--   EXPLORER_EVENT_LOG: The Explorer event log output type. *
--   EXPLORER_SUMMARY_LOG: The Explorer summary log output type. *
--   APPLICATION_CRASH_REPORT: The application crash report output type. *
--   XCTEST_LOG: The XCode test output type.
aType :: Lens' Artifact (Maybe ArtifactType)

-- | Represents the amount of CPU that an app is using on a physical
--   device.
--   
--   Note that this does not represent system-wide CPU usage.
--   
--   <i>See:</i> <a>cpu</a> smart constructor.
data CPU

-- | Creates a value of <a>CPU</a> with the minimum fields required to make
--   a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cpuFrequency</a> - The CPU's frequency.</li>
--   <li><a>cpuClock</a> - The clock speed of the device's CPU, expressed
--   in hertz (Hz). For example, a 1.2 GHz CPU is expressed as
--   1200000000.</li>
--   <li><a>cpuArchitecture</a> - The CPU's architecture, for example x86
--   or ARM.</li>
--   </ul>
cpu :: CPU

-- | The CPU's frequency.
cpuFrequency :: Lens' CPU (Maybe Text)

-- | The clock speed of the device's CPU, expressed in hertz (Hz). For
--   example, a 1.2 GHz CPU is expressed as 1200000000.
cpuClock :: Lens' CPU (Maybe Double)

-- | The CPU's architecture, for example x86 or ARM.
cpuArchitecture :: Lens' CPU (Maybe Text)

-- | Represents entity counters.
--   
--   <i>See:</i> <a>counters</a> smart constructor.
data Counters

-- | Creates a value of <a>Counters</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cPassed</a> - The number of passed entities.</li>
--   <li><a>cSkipped</a> - The number of skipped entities.</li>
--   <li><a>cWarned</a> - The number of warned entities.</li>
--   <li><a>cStopped</a> - The number of stopped entities.</li>
--   <li><a>cTotal</a> - The total number of entities.</li>
--   <li><a>cFailed</a> - The number of failed entities.</li>
--   <li><a>cErrored</a> - The number of errored entities.</li>
--   </ul>
counters :: Counters

-- | The number of passed entities.
cPassed :: Lens' Counters (Maybe Int)

-- | The number of skipped entities.
cSkipped :: Lens' Counters (Maybe Int)

-- | The number of warned entities.
cWarned :: Lens' Counters (Maybe Int)

-- | The number of stopped entities.
cStopped :: Lens' Counters (Maybe Int)

-- | The total number of entities.
cTotal :: Lens' Counters (Maybe Int)

-- | The number of failed entities.
cFailed :: Lens' Counters (Maybe Int)

-- | The number of errored entities.
cErrored :: Lens' Counters (Maybe Int)

-- | Creates the configuration settings for a remote access session,
--   including the device model and type.
--   
--   <i>See:</i> <a>createRemoteAccessSessionConfiguration</a> smart
--   constructor.
data CreateRemoteAccessSessionConfiguration

-- | Creates a value of <a>CreateRemoteAccessSessionConfiguration</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>crascBillingMethod</a> - Returns the billing method for
--   purposes of configuring a remote access session.</li>
--   </ul>
createRemoteAccessSessionConfiguration :: CreateRemoteAccessSessionConfiguration

-- | Returns the billing method for purposes of configuring a remote access
--   session.
crascBillingMethod :: Lens' CreateRemoteAccessSessionConfiguration (Maybe BillingMethod)

-- | Represents a device type that an app is tested against.
--   
--   <i>See:</i> <a>device</a> smart constructor.
data Device

-- | Creates a value of <a>Device</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>devCarrier</a> - The device's carrier.</li>
--   <li><a>devImage</a> - The device's image name.</li>
--   <li><a>devManufacturer</a> - The device's manufacturer name.</li>
--   <li><a>devPlatform</a> - The device's platform. Allowed values
--   include: * ANDROID: The Android platform. * IOS: The iOS
--   platform.</li>
--   <li><a>devRemoteAccessEnabled</a> - Specifies whether remote access
--   has been enabled for the specified device.</li>
--   <li><a>devArn</a> - The device's ARN.</li>
--   <li><a>devFormFactor</a> - The device's form factor. Allowed values
--   include: * PHONE: The phone form factor. * TABLET: The tablet form
--   factor.</li>
--   <li><a>devFleetType</a> - The type of fleet to which this device
--   belongs. Possible values for fleet type are PRIVATE and PUBLIC.</li>
--   <li><a>devResolution</a> - Undocumented member.</li>
--   <li><a>devMemory</a> - The device's total memory size, expressed in
--   bytes.</li>
--   <li><a>devRadio</a> - The device's radio.</li>
--   <li><a>devOs</a> - The device's operating system type.</li>
--   <li><a>devName</a> - The device's display name.</li>
--   <li><a>devModel</a> - The device's model name.</li>
--   <li><a>devCpu</a> - Information about the device's CPU.</li>
--   <li><a>devHeapSize</a> - The device's heap size, expressed in
--   bytes.</li>
--   <li><a>devFleetName</a> - The name of the fleet to which this device
--   belongs.</li>
--   </ul>
device :: Device

-- | The device's carrier.
devCarrier :: Lens' Device (Maybe Text)

-- | The device's image name.
devImage :: Lens' Device (Maybe Text)

-- | The device's manufacturer name.
devManufacturer :: Lens' Device (Maybe Text)

-- | The device's platform. Allowed values include: * ANDROID: The Android
--   platform. * IOS: The iOS platform.
devPlatform :: Lens' Device (Maybe DevicePlatform)

-- | Specifies whether remote access has been enabled for the specified
--   device.
devRemoteAccessEnabled :: Lens' Device (Maybe Bool)

-- | The device's ARN.
devArn :: Lens' Device (Maybe Text)

-- | The device's form factor. Allowed values include: * PHONE: The phone
--   form factor. * TABLET: The tablet form factor.
devFormFactor :: Lens' Device (Maybe DeviceFormFactor)

-- | The type of fleet to which this device belongs. Possible values for
--   fleet type are PRIVATE and PUBLIC.
devFleetType :: Lens' Device (Maybe Text)

-- | Undocumented member.
devResolution :: Lens' Device (Maybe Resolution)

-- | The device's total memory size, expressed in bytes.
devMemory :: Lens' Device (Maybe Integer)

-- | The device's radio.
devRadio :: Lens' Device (Maybe Text)

-- | The device's operating system type.
devOs :: Lens' Device (Maybe Text)

-- | The device's display name.
devName :: Lens' Device (Maybe Text)

-- | The device's model name.
devModel :: Lens' Device (Maybe Text)

-- | Information about the device's CPU.
devCpu :: Lens' Device (Maybe CPU)

-- | The device's heap size, expressed in bytes.
devHeapSize :: Lens' Device (Maybe Integer)

-- | The name of the fleet to which this device belongs.
devFleetName :: Lens' Device (Maybe Text)

-- | Represents the total (metered or unmetered) minutes used by the
--   resource to run tests. Contains the sum of minutes consumed by all
--   children.
--   
--   <i>See:</i> <a>deviceMinutes</a> smart constructor.
data DeviceMinutes

-- | Creates a value of <a>DeviceMinutes</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dmMetered</a> - When specified, represents only the sum of
--   metered minutes used by the resource to run tests.</li>
--   <li><a>dmTotal</a> - When specified, represents the total minutes used
--   by the resource to run tests.</li>
--   <li><a>dmUnmetered</a> - When specified, represents only the sum of
--   unmetered minutes used by the resource to run tests.</li>
--   </ul>
deviceMinutes :: DeviceMinutes

-- | When specified, represents only the sum of metered minutes used by the
--   resource to run tests.
dmMetered :: Lens' DeviceMinutes (Maybe Double)

-- | When specified, represents the total minutes used by the resource to
--   run tests.
dmTotal :: Lens' DeviceMinutes (Maybe Double)

-- | When specified, represents only the sum of unmetered minutes used by
--   the resource to run tests.
dmUnmetered :: Lens' DeviceMinutes (Maybe Double)

-- | Represents a collection of device types.
--   
--   <i>See:</i> <a>devicePool</a> smart constructor.
data DevicePool

-- | Creates a value of <a>DevicePool</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dArn</a> - The device pool's ARN.</li>
--   <li><a>dRules</a> - Information about the device pool's rules.</li>
--   <li><a>dName</a> - The device pool's name.</li>
--   <li><a>dType</a> - The device pool's type. Allowed values include: *
--   CURATED: A device pool that is created and managed by AWS Device Farm.
--   * PRIVATE: A device pool that is created and managed by the device
--   pool developer.</li>
--   <li><a>dDescription</a> - The device pool's description.</li>
--   </ul>
devicePool :: DevicePool

-- | The device pool's ARN.
dArn :: Lens' DevicePool (Maybe Text)

-- | Information about the device pool's rules.
dRules :: Lens' DevicePool [Rule]

-- | The device pool's name.
dName :: Lens' DevicePool (Maybe Text)

-- | The device pool's type. Allowed values include: * CURATED: A device
--   pool that is created and managed by AWS Device Farm. * PRIVATE: A
--   device pool that is created and managed by the device pool developer.
dType :: Lens' DevicePool (Maybe DevicePoolType)

-- | The device pool's description.
dDescription :: Lens' DevicePool (Maybe Text)

-- | Represents a device pool compatibility result.
--   
--   <i>See:</i> <a>devicePoolCompatibilityResult</a> smart constructor.
data DevicePoolCompatibilityResult

-- | Creates a value of <a>DevicePoolCompatibilityResult</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dpcrDevice</a> - Undocumented member.</li>
--   <li><a>dpcrCompatible</a> - Whether the result was compatible with the
--   device pool.</li>
--   <li><a>dpcrIncompatibilityMessages</a> - Information about the
--   compatibility.</li>
--   </ul>
devicePoolCompatibilityResult :: DevicePoolCompatibilityResult

-- | Undocumented member.
dpcrDevice :: Lens' DevicePoolCompatibilityResult (Maybe Device)

-- | Whether the result was compatible with the device pool.
dpcrCompatible :: Lens' DevicePoolCompatibilityResult (Maybe Bool)

-- | Information about the compatibility.
dpcrIncompatibilityMessages :: Lens' DevicePoolCompatibilityResult [IncompatibilityMessage]

-- | Represents information about incompatibility.
--   
--   <i>See:</i> <a>incompatibilityMessage</a> smart constructor.
data IncompatibilityMessage

-- | Creates a value of <a>IncompatibilityMessage</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>imType</a> - The type of incompatibility. Allowed values
--   include: * ARN: The ARN. * FORM_FACTOR: The form factor (for example,
--   phone or tablet). * MANUFACTURER: The manufacturer. * PLATFORM: The
--   platform (for example, Android or iOS).</li>
--   <li><a>imMessage</a> - A message about the incompatibility.</li>
--   </ul>
incompatibilityMessage :: IncompatibilityMessage

-- | The type of incompatibility. Allowed values include: * ARN: The ARN. *
--   FORM_FACTOR: The form factor (for example, phone or tablet). *
--   MANUFACTURER: The manufacturer. * PLATFORM: The platform (for example,
--   Android or iOS).
imType :: Lens' IncompatibilityMessage (Maybe DeviceAttribute)

-- | A message about the incompatibility.
imMessage :: Lens' IncompatibilityMessage (Maybe Text)

-- | Represents a device.
--   
--   <i>See:</i> <a>job</a> smart constructor.
data Job

-- | Creates a value of <a>Job</a> with the minimum fields required to make
--   a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>jobStatus</a> - The job's status. Allowed values include: *
--   PENDING: A pending status. * PENDING_CONCURRENCY: A pending
--   concurrency status. * PENDING_DEVICE: A pending device status. *
--   PROCESSING: A processing status. * SCHEDULING: A scheduling status. *
--   PREPARING: A preparing status. * RUNNING: A running status. *
--   COMPLETED: A completed status. * STOPPING: A stopping status.</li>
--   <li><a>jobCounters</a> - The job's result counters.</li>
--   <li><a>jobArn</a> - The job's ARN.</li>
--   <li><a>jobCreated</a> - When the job was created.</li>
--   <li><a>jobDevice</a> - Undocumented member.</li>
--   <li><a>jobStopped</a> - The job's stop time.</li>
--   <li><a>jobResult</a> - The job's result. Allowed values include: *
--   PENDING: A pending condition. * PASSED: A passing condition. * WARNED:
--   A warning condition. * FAILED: A failed condition. * SKIPPED: A
--   skipped condition. * ERRORED: An error condition. * STOPPED: A stopped
--   condition.</li>
--   <li><a>jobName</a> - The job's name.</li>
--   <li><a>jobDeviceMinutes</a> - Represents the total (metered or
--   unmetered) minutes used by the job.</li>
--   <li><a>jobType</a> - The job's type. Allowed values include the
--   following: * BUILTIN_FUZZ: The built-in fuzz type. * BUILTIN_EXPLORER:
--   For Android, an app explorer that will traverse an Android app,
--   interacting with it and capturing screenshots at the same time. *
--   APPIUM_JAVA_JUNIT: The Appium Java JUnit type. * APPIUM_JAVA_TESTNG:
--   The Appium Java TestNG type. * APPIUM_PYTHON: The Appium Python type.
--   * APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for Web apps. *
--   APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for Web apps. *
--   APPIUM_WEB_PYTHON: The Appium Python type for Web apps. * CALABASH:
--   The Calabash type. * INSTRUMENTATION: The Instrumentation type. *
--   UIAUTOMATION: The uiautomation type. * UIAUTOMATOR: The uiautomator
--   type. * XCTEST: The XCode test type. * XCTEST_UI: The XCode UI test
--   type.</li>
--   <li><a>jobMessage</a> - A message about the job's result.</li>
--   <li><a>jobStarted</a> - The job's start time.</li>
--   </ul>
job :: Job

-- | The job's status. Allowed values include: * PENDING: A pending status.
--   * PENDING_CONCURRENCY: A pending concurrency status. * PENDING_DEVICE:
--   A pending device status. * PROCESSING: A processing status. *
--   SCHEDULING: A scheduling status. * PREPARING: A preparing status. *
--   RUNNING: A running status. * COMPLETED: A completed status. *
--   STOPPING: A stopping status.
jobStatus :: Lens' Job (Maybe ExecutionStatus)

-- | The job's result counters.
jobCounters :: Lens' Job (Maybe Counters)

-- | The job's ARN.
jobArn :: Lens' Job (Maybe Text)

-- | When the job was created.
jobCreated :: Lens' Job (Maybe UTCTime)

-- | Undocumented member.
jobDevice :: Lens' Job (Maybe Device)

-- | The job's stop time.
jobStopped :: Lens' Job (Maybe UTCTime)

-- | The job's result. Allowed values include: * PENDING: A pending
--   condition. * PASSED: A passing condition. * WARNED: A warning
--   condition. * FAILED: A failed condition. * SKIPPED: A skipped
--   condition. * ERRORED: An error condition. * STOPPED: A stopped
--   condition.
jobResult :: Lens' Job (Maybe ExecutionResult)

-- | The job's name.
jobName :: Lens' Job (Maybe Text)

-- | Represents the total (metered or unmetered) minutes used by the job.
jobDeviceMinutes :: Lens' Job (Maybe DeviceMinutes)

-- | The job's type. Allowed values include the following: * BUILTIN_FUZZ:
--   The built-in fuzz type. * BUILTIN_EXPLORER: For Android, an app
--   explorer that will traverse an Android app, interacting with it and
--   capturing screenshots at the same time. * APPIUM_JAVA_JUNIT: The
--   Appium Java JUnit type. * APPIUM_JAVA_TESTNG: The Appium Java TestNG
--   type. * APPIUM_PYTHON: The Appium Python type. *
--   APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for Web apps. *
--   APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for Web apps. *
--   APPIUM_WEB_PYTHON: The Appium Python type for Web apps. * CALABASH:
--   The Calabash type. * INSTRUMENTATION: The Instrumentation type. *
--   UIAUTOMATION: The uiautomation type. * UIAUTOMATOR: The uiautomator
--   type. * XCTEST: The XCode test type. * XCTEST_UI: The XCode UI test
--   type.
jobType :: Lens' Job (Maybe TestType)

-- | A message about the job's result.
jobMessage :: Lens' Job (Maybe Text)

-- | The job's start time.
jobStarted :: Lens' Job (Maybe UTCTime)

-- | Represents a latitude and longitude pair, expressed in geographic
--   coordinate system degrees (for example 47.6204, -122.3491).
--   
--   Elevation is currently not supported.
--   
--   <i>See:</i> <a>location</a> smart constructor.
data Location

-- | Creates a value of <a>Location</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lLatitude</a> - The latitude.</li>
--   <li><a>lLongitude</a> - The longitude.</li>
--   </ul>
location :: Double -> Double -> Location

-- | The latitude.
lLatitude :: Lens' Location Double

-- | The longitude.
lLongitude :: Lens' Location Double

-- | A number representing the monetary amount for an offering or
--   transaction.
--   
--   <i>See:</i> <a>monetaryAmount</a> smart constructor.
data MonetaryAmount

-- | Creates a value of <a>MonetaryAmount</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>maAmount</a> - The numerical amount of an offering or
--   transaction.</li>
--   <li><a>maCurrencyCode</a> - The currency code of a monetary amount.
--   For example, <tt>USD</tt> means "U.S. dollars."</li>
--   </ul>
monetaryAmount :: MonetaryAmount

-- | The numerical amount of an offering or transaction.
maAmount :: Lens' MonetaryAmount (Maybe Double)

-- | The currency code of a monetary amount. For example, <tt>USD</tt>
--   means "U.S. dollars."
maCurrencyCode :: Lens' MonetaryAmount (Maybe CurrencyCode)

-- | Represents the metadata of a device offering.
--   
--   <i>See:</i> <a>offering</a> smart constructor.
data Offering

-- | Creates a value of <a>Offering</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>oPlatform</a> - The platform of the device (e.g., ANDROID or
--   IOS).</li>
--   <li><a>oId</a> - The ID that corresponds to a device offering.</li>
--   <li><a>oRecurringCharges</a> - Specifies whether there are recurring
--   charges for the offering.</li>
--   <li><a>oType</a> - The type of offering (e.g., <a>RECURRING</a>) for a
--   device.</li>
--   <li><a>oDescription</a> - A string describing the offering.</li>
--   </ul>
offering :: Offering

-- | The platform of the device (e.g., ANDROID or IOS).
oPlatform :: Lens' Offering (Maybe DevicePlatform)

-- | The ID that corresponds to a device offering.
oId :: Lens' Offering (Maybe Text)

-- | Specifies whether there are recurring charges for the offering.
oRecurringCharges :: Lens' Offering [RecurringCharge]

-- | The type of offering (e.g., <a>RECURRING</a>) for a device.
oType :: Lens' Offering (Maybe OfferingType)

-- | A string describing the offering.
oDescription :: Lens' Offering (Maybe Text)

-- | The status of the offering.
--   
--   <i>See:</i> <a>offeringStatus</a> smart constructor.
data OfferingStatus

-- | Creates a value of <a>OfferingStatus</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>osEffectiveOn</a> - The date on which the offering is
--   effective.</li>
--   <li><a>osOffering</a> - Represents the metadata of an offering
--   status.</li>
--   <li><a>osQuantity</a> - The number of available devices in the
--   offering.</li>
--   <li><a>osType</a> - The type specified for the offering status.</li>
--   </ul>
offeringStatus :: OfferingStatus

-- | The date on which the offering is effective.
osEffectiveOn :: Lens' OfferingStatus (Maybe UTCTime)

-- | Represents the metadata of an offering status.
osOffering :: Lens' OfferingStatus (Maybe Offering)

-- | The number of available devices in the offering.
osQuantity :: Lens' OfferingStatus (Maybe Int)

-- | The type specified for the offering status.
osType :: Lens' OfferingStatus (Maybe OfferingTransactionType)

-- | Represents the metadata of an offering transaction.
--   
--   <i>See:</i> <a>offeringTransaction</a> smart constructor.
data OfferingTransaction

-- | Creates a value of <a>OfferingTransaction</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>otOfferingStatus</a> - The status of an offering
--   transaction.</li>
--   <li><a>otCost</a> - The cost of an offering transaction.</li>
--   <li><a>otTransactionId</a> - The transaction ID of the offering
--   transaction.</li>
--   <li><a>otCreatedOn</a> - The date on which an offering transaction was
--   created.</li>
--   </ul>
offeringTransaction :: OfferingTransaction

-- | The status of an offering transaction.
otOfferingStatus :: Lens' OfferingTransaction (Maybe OfferingStatus)

-- | The cost of an offering transaction.
otCost :: Lens' OfferingTransaction (Maybe MonetaryAmount)

-- | The transaction ID of the offering transaction.
otTransactionId :: Lens' OfferingTransaction (Maybe Text)

-- | The date on which an offering transaction was created.
otCreatedOn :: Lens' OfferingTransaction (Maybe UTCTime)

-- | Represents a specific warning or failure.
--   
--   <i>See:</i> <a>problem</a> smart constructor.
data Problem

-- | Creates a value of <a>Problem</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pDevice</a> - Information about the associated device.</li>
--   <li><a>pTest</a> - Information about the associated test.</li>
--   <li><a>pResult</a> - The problem's result. Allowed values include: *
--   PENDING: A pending condition. * PASSED: A passing condition. * WARNED:
--   A warning condition. * FAILED: A failed condition. * SKIPPED: A
--   skipped condition. * ERRORED: An error condition. * STOPPED: A stopped
--   condition.</li>
--   <li><a>pRun</a> - Information about the associated run.</li>
--   <li><a>pJob</a> - Information about the associated job.</li>
--   <li><a>pMessage</a> - A message about the problem's result.</li>
--   <li><a>pSuite</a> - Information about the associated suite.</li>
--   </ul>
problem :: Problem

-- | Information about the associated device.
pDevice :: Lens' Problem (Maybe Device)

-- | Information about the associated test.
pTest :: Lens' Problem (Maybe ProblemDetail)

-- | The problem's result. Allowed values include: * PENDING: A pending
--   condition. * PASSED: A passing condition. * WARNED: A warning
--   condition. * FAILED: A failed condition. * SKIPPED: A skipped
--   condition. * ERRORED: An error condition. * STOPPED: A stopped
--   condition.
pResult :: Lens' Problem (Maybe ExecutionResult)

-- | Information about the associated run.
pRun :: Lens' Problem (Maybe ProblemDetail)

-- | Information about the associated job.
pJob :: Lens' Problem (Maybe ProblemDetail)

-- | A message about the problem's result.
pMessage :: Lens' Problem (Maybe Text)

-- | Information about the associated suite.
pSuite :: Lens' Problem (Maybe ProblemDetail)

-- | Information about a problem detail.
--   
--   <i>See:</i> <a>problemDetail</a> smart constructor.
data ProblemDetail

-- | Creates a value of <a>ProblemDetail</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pdArn</a> - The problem detail's ARN.</li>
--   <li><a>pdName</a> - The problem detail's name.</li>
--   </ul>
problemDetail :: ProblemDetail

-- | The problem detail's ARN.
pdArn :: Lens' ProblemDetail (Maybe Text)

-- | The problem detail's name.
pdName :: Lens' ProblemDetail (Maybe Text)

-- | Represents an operating-system neutral workspace for running and
--   managing tests.
--   
--   <i>See:</i> <a>project</a> smart constructor.
data Project

-- | Creates a value of <a>Project</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pArn</a> - The project's ARN.</li>
--   <li><a>pCreated</a> - When the project was created.</li>
--   <li><a>pName</a> - The project's name.</li>
--   </ul>
project :: Project

-- | The project's ARN.
pArn :: Lens' Project (Maybe Text)

-- | When the project was created.
pCreated :: Lens' Project (Maybe UTCTime)

-- | The project's name.
pName :: Lens' Project (Maybe Text)

-- | Represents the set of radios and their states on a device. Examples of
--   radios include Wi-Fi, GPS, Bluetooth, and NFC.
--   
--   <i>See:</i> <a>radios</a> smart constructor.
data Radios

-- | Creates a value of <a>Radios</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rNfc</a> - True if NFC is enabled at the beginning of the test;
--   otherwise, false.</li>
--   <li><a>rGps</a> - True if GPS is enabled at the beginning of the test;
--   otherwise, false.</li>
--   <li><a>rBluetooth</a> - True if Bluetooth is enabled at the beginning
--   of the test; otherwise, false.</li>
--   <li><a>rWifi</a> - True if Wi-Fi is enabled at the beginning of the
--   test; otherwise, false.</li>
--   </ul>
radios :: Radios

-- | True if NFC is enabled at the beginning of the test; otherwise, false.
rNfc :: Lens' Radios (Maybe Bool)

-- | True if GPS is enabled at the beginning of the test; otherwise, false.
rGps :: Lens' Radios (Maybe Bool)

-- | True if Bluetooth is enabled at the beginning of the test; otherwise,
--   false.
rBluetooth :: Lens' Radios (Maybe Bool)

-- | True if Wi-Fi is enabled at the beginning of the test; otherwise,
--   false.
rWifi :: Lens' Radios (Maybe Bool)

-- | Specifies whether charges for devices will be recurring.
--   
--   <i>See:</i> <a>recurringCharge</a> smart constructor.
data RecurringCharge

-- | Creates a value of <a>RecurringCharge</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rcFrequency</a> - The frequency in which charges will
--   recur.</li>
--   <li><a>rcCost</a> - The cost of the recurring charge.</li>
--   </ul>
recurringCharge :: RecurringCharge

-- | The frequency in which charges will recur.
rcFrequency :: Lens' RecurringCharge (Maybe RecurringChargeFrequency)

-- | The cost of the recurring charge.
rcCost :: Lens' RecurringCharge (Maybe MonetaryAmount)

-- | Represents information about the remote access session.
--   
--   <i>See:</i> <a>remoteAccessSession</a> smart constructor.
data RemoteAccessSession

-- | Creates a value of <a>RemoteAccessSession</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rasBillingMethod</a> - The billing method of the remote access
--   session. Possible values include <tt>METERED</tt> or
--   <tt>UNMETERED</tt> . For more information about metered devices, see
--   <a>AWS Device Farm terminology</a> ."</li>
--   <li><a>rasStatus</a> - The status of the remote access session. Can be
--   any of the following: * PENDING: A pending status. *
--   PENDING_CONCURRENCY: A pending concurrency status. * PENDING_DEVICE: A
--   pending device status. * PROCESSING: A processing status. *
--   SCHEDULING: A scheduling status. * PREPARING: A preparing status. *
--   RUNNING: A running status. * COMPLETED: A completed status. *
--   STOPPING: A stopping status.</li>
--   <li><a>rasArn</a> - The Amazon Resource Name (ARN) of the remote
--   access session.</li>
--   <li><a>rasCreated</a> - The date and time the remote access session
--   was created.</li>
--   <li><a>rasDevice</a> - Undocumented member.</li>
--   <li><a>rasStopped</a> - The date and time the remote access session
--   was stopped.</li>
--   <li><a>rasResult</a> - The result of the remote access session. Can be
--   any of the following: * PENDING: A pending condition. * PASSED: A
--   passing condition. * WARNED: A warning condition. * FAILED: A failed
--   condition. * SKIPPED: A skipped condition. * ERRORED: An error
--   condition. * STOPPED: A stopped condition.</li>
--   <li><a>rasName</a> - The name of the remote access session.</li>
--   <li><a>rasDeviceMinutes</a> - Undocumented member.</li>
--   <li><a>rasEndpoint</a> - The endpoint for the remote access
--   sesssion.</li>
--   <li><a>rasMessage</a> - A message about the remote access
--   session.</li>
--   <li><a>rasStarted</a> - The date and time the remote access session
--   was started.</li>
--   </ul>
remoteAccessSession :: RemoteAccessSession

-- | The billing method of the remote access session. Possible values
--   include <tt>METERED</tt> or <tt>UNMETERED</tt> . For more information
--   about metered devices, see <a>AWS Device Farm terminology</a> ."
rasBillingMethod :: Lens' RemoteAccessSession (Maybe BillingMethod)

-- | The status of the remote access session. Can be any of the following:
--   * PENDING: A pending status. * PENDING_CONCURRENCY: A pending
--   concurrency status. * PENDING_DEVICE: A pending device status. *
--   PROCESSING: A processing status. * SCHEDULING: A scheduling status. *
--   PREPARING: A preparing status. * RUNNING: A running status. *
--   COMPLETED: A completed status. * STOPPING: A stopping status.
rasStatus :: Lens' RemoteAccessSession (Maybe ExecutionStatus)

-- | The Amazon Resource Name (ARN) of the remote access session.
rasArn :: Lens' RemoteAccessSession (Maybe Text)

-- | The date and time the remote access session was created.
rasCreated :: Lens' RemoteAccessSession (Maybe UTCTime)

-- | Undocumented member.
rasDevice :: Lens' RemoteAccessSession (Maybe Device)

-- | The date and time the remote access session was stopped.
rasStopped :: Lens' RemoteAccessSession (Maybe UTCTime)

-- | The result of the remote access session. Can be any of the following:
--   * PENDING: A pending condition. * PASSED: A passing condition. *
--   WARNED: A warning condition. * FAILED: A failed condition. * SKIPPED:
--   A skipped condition. * ERRORED: An error condition. * STOPPED: A
--   stopped condition.
rasResult :: Lens' RemoteAccessSession (Maybe ExecutionResult)

-- | The name of the remote access session.
rasName :: Lens' RemoteAccessSession (Maybe Text)

-- | Undocumented member.
rasDeviceMinutes :: Lens' RemoteAccessSession (Maybe DeviceMinutes)

-- | The endpoint for the remote access sesssion.
rasEndpoint :: Lens' RemoteAccessSession (Maybe Text)

-- | A message about the remote access session.
rasMessage :: Lens' RemoteAccessSession (Maybe Text)

-- | The date and time the remote access session was started.
rasStarted :: Lens' RemoteAccessSession (Maybe UTCTime)

-- | Represents the screen resolution of a device in height and width,
--   expressed in pixels.
--   
--   <i>See:</i> <a>resolution</a> smart constructor.
data Resolution

-- | Creates a value of <a>Resolution</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rHeight</a> - The screen resolution's height, expressed in
--   pixels.</li>
--   <li><a>rWidth</a> - The screen resolution's width, expressed in
--   pixels.</li>
--   </ul>
resolution :: Resolution

-- | The screen resolution's height, expressed in pixels.
rHeight :: Lens' Resolution (Maybe Int)

-- | The screen resolution's width, expressed in pixels.
rWidth :: Lens' Resolution (Maybe Int)

-- | Represents a condition for a device pool.
--   
--   <i>See:</i> <a>rule</a> smart constructor.
data Rule

-- | Creates a value of <a>Rule</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rAttribute</a> - The rule's stringified attribute. For example,
--   specify the value as <tt>""abc""</tt> . Allowed values include: * ARN:
--   The ARN. * FORM_FACTOR: The form factor (for example, phone or
--   tablet). * MANUFACTURER: The manufacturer. * PLATFORM: The platform
--   (for example, Android or iOS).</li>
--   <li><a>rOperator</a> - The rule's operator. * EQUALS: The equals
--   operator. * GREATER_THAN: The greater-than operator. * IN: The in
--   operator. * LESS_THAN: The less-than operator. * NOT_IN: The not-in
--   operator.</li>
--   <li><a>rValue</a> - The rule's value.</li>
--   </ul>
rule :: Rule

-- | The rule's stringified attribute. For example, specify the value as
--   <tt>""abc""</tt> . Allowed values include: * ARN: The ARN. *
--   FORM_FACTOR: The form factor (for example, phone or tablet). *
--   MANUFACTURER: The manufacturer. * PLATFORM: The platform (for example,
--   Android or iOS).
rAttribute :: Lens' Rule (Maybe DeviceAttribute)

-- | The rule's operator. * EQUALS: The equals operator. * GREATER_THAN:
--   The greater-than operator. * IN: The in operator. * LESS_THAN: The
--   less-than operator. * NOT_IN: The not-in operator.
rOperator :: Lens' Rule (Maybe RuleOperator)

-- | The rule's value.
rValue :: Lens' Rule (Maybe Text)

-- | Represents an app on a set of devices with a specific test and
--   configuration.
--   
--   <i>See:</i> <a>run</a> smart constructor.
data Run

-- | Creates a value of <a>Run</a> with the minimum fields required to make
--   a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>runBillingMethod</a> - Specifies the billing method for a test
--   run: <tt>metered</tt> or <tt>unmetered</tt> . If the parameter is not
--   specified, the default value is <tt>metered</tt> .</li>
--   <li><a>runStatus</a> - The run's status. Allowed values include: *
--   PENDING: A pending status. * PENDING_CONCURRENCY: A pending
--   concurrency status. * PENDING_DEVICE: A pending device status. *
--   PROCESSING: A processing status. * SCHEDULING: A scheduling status. *
--   PREPARING: A preparing status. * RUNNING: A running status. *
--   COMPLETED: A completed status. * STOPPING: A stopping status.</li>
--   <li><a>runCounters</a> - The run's result counters.</li>
--   <li><a>runPlatform</a> - The run's platform. Allowed values include: *
--   ANDROID: The Android platform. * IOS: The iOS platform.</li>
--   <li><a>runArn</a> - The run's ARN.</li>
--   <li><a>runCreated</a> - When the run was created.</li>
--   <li><a>runStopped</a> - The run's stop time.</li>
--   <li><a>runResult</a> - The run's result. Allowed values include: *
--   PENDING: A pending condition. * PASSED: A passing condition. * WARNED:
--   A warning condition. * FAILED: A failed condition. * SKIPPED: A
--   skipped condition. * ERRORED: An error condition. * STOPPED: A stopped
--   condition.</li>
--   <li><a>runCompletedJobs</a> - The total number of completed jobs.</li>
--   <li><a>runName</a> - The run's name.</li>
--   <li><a>runDeviceMinutes</a> - Represents the total (metered or
--   unmetered) minutes used by the test run.</li>
--   <li><a>runType</a> - The run's type. Must be one of the following
--   values: * BUILTIN_FUZZ: The built-in fuzz type. * BUILTIN_EXPLORER:
--   For Android, an app explorer that will traverse an Android app,
--   interacting with it and capturing screenshots at the same time. *
--   APPIUM_JAVA_JUNIT: The Appium Java JUnit type. * APPIUM_JAVA_TESTNG:
--   The Appium Java TestNG type. * APPIUM_PYTHON: The Appium Python type.
--   * APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for Web apps. *
--   APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for Web apps. *
--   APPIUM_WEB_PYTHON: The Appium Python type for Web apps. * CALABASH:
--   The Calabash type. * INSTRUMENTATION: The Instrumentation type. *
--   UIAUTOMATION: The uiautomation type. * UIAUTOMATOR: The uiautomator
--   type. * XCTEST: The XCode test type. * XCTEST_UI: The XCode UI test
--   type.</li>
--   <li><a>runMessage</a> - A message about the run's result.</li>
--   <li><a>runTotalJobs</a> - The total number of jobs for the run.</li>
--   <li><a>runStarted</a> - The run's start time.</li>
--   </ul>
run :: Run

-- | Specifies the billing method for a test run: <tt>metered</tt> or
--   <tt>unmetered</tt> . If the parameter is not specified, the default
--   value is <tt>metered</tt> .
runBillingMethod :: Lens' Run (Maybe BillingMethod)

-- | The run's status. Allowed values include: * PENDING: A pending status.
--   * PENDING_CONCURRENCY: A pending concurrency status. * PENDING_DEVICE:
--   A pending device status. * PROCESSING: A processing status. *
--   SCHEDULING: A scheduling status. * PREPARING: A preparing status. *
--   RUNNING: A running status. * COMPLETED: A completed status. *
--   STOPPING: A stopping status.
runStatus :: Lens' Run (Maybe ExecutionStatus)

-- | The run's result counters.
runCounters :: Lens' Run (Maybe Counters)

-- | The run's platform. Allowed values include: * ANDROID: The Android
--   platform. * IOS: The iOS platform.
runPlatform :: Lens' Run (Maybe DevicePlatform)

-- | The run's ARN.
runArn :: Lens' Run (Maybe Text)

-- | When the run was created.
runCreated :: Lens' Run (Maybe UTCTime)

-- | The run's stop time.
runStopped :: Lens' Run (Maybe UTCTime)

-- | The run's result. Allowed values include: * PENDING: A pending
--   condition. * PASSED: A passing condition. * WARNED: A warning
--   condition. * FAILED: A failed condition. * SKIPPED: A skipped
--   condition. * ERRORED: An error condition. * STOPPED: A stopped
--   condition.
runResult :: Lens' Run (Maybe ExecutionResult)

-- | The total number of completed jobs.
runCompletedJobs :: Lens' Run (Maybe Int)

-- | The run's name.
runName :: Lens' Run (Maybe Text)

-- | Represents the total (metered or unmetered) minutes used by the test
--   run.
runDeviceMinutes :: Lens' Run (Maybe DeviceMinutes)

-- | The run's type. Must be one of the following values: * BUILTIN_FUZZ:
--   The built-in fuzz type. * BUILTIN_EXPLORER: For Android, an app
--   explorer that will traverse an Android app, interacting with it and
--   capturing screenshots at the same time. * APPIUM_JAVA_JUNIT: The
--   Appium Java JUnit type. * APPIUM_JAVA_TESTNG: The Appium Java TestNG
--   type. * APPIUM_PYTHON: The Appium Python type. *
--   APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for Web apps. *
--   APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for Web apps. *
--   APPIUM_WEB_PYTHON: The Appium Python type for Web apps. * CALABASH:
--   The Calabash type. * INSTRUMENTATION: The Instrumentation type. *
--   UIAUTOMATION: The uiautomation type. * UIAUTOMATOR: The uiautomator
--   type. * XCTEST: The XCode test type. * XCTEST_UI: The XCode UI test
--   type.
runType :: Lens' Run (Maybe TestType)

-- | A message about the run's result.
runMessage :: Lens' Run (Maybe Text)

-- | The total number of jobs for the run.
runTotalJobs :: Lens' Run (Maybe Int)

-- | The run's start time.
runStarted :: Lens' Run (Maybe UTCTime)

-- | Represents a sample of performance data.
--   
--   <i>See:</i> <a>sample</a> smart constructor.
data Sample

-- | Creates a value of <a>Sample</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>samArn</a> - The sample's ARN.</li>
--   <li><a>samUrl</a> - The pre-signed Amazon S3 URL that can be used with
--   a corresponding GET request to download the sample's file.</li>
--   <li><a>samType</a> - The sample's type. Must be one of the following
--   values: * CPU: A CPU sample type. This is expressed as the app
--   processing CPU time (including child processes) as reported by
--   process, as a percentage. * MEMORY: A memory usage sample type. This
--   is expressed as the total proportional set size of an app process, in
--   kilobytes. * NATIVE_AVG_DRAWTIME * NATIVE_FPS * NATIVE_FRAMES *
--   NATIVE_MAX_DRAWTIME * NATIVE_MIN_DRAWTIME * OPENGL_AVG_DRAWTIME *
--   OPENGL_FPS * OPENGL_FRAMES * OPENGL_MAX_DRAWTIME * OPENGL_MIN_DRAWTIME
--   * RX * RX_RATE: The total number of bytes per second (TCP and UDP)
--   that are sent, by app process. * THREADS: A threads sample type. This
--   is expressed as the total number of threads per app process. * TX *
--   TX_RATE: The total number of bytes per second (TCP and UDP) that are
--   received, by app process.</li>
--   </ul>
sample :: Sample

-- | The sample's ARN.
samArn :: Lens' Sample (Maybe Text)

-- | The pre-signed Amazon S3 URL that can be used with a corresponding GET
--   request to download the sample's file.
samUrl :: Lens' Sample (Maybe Text)

-- | The sample's type. Must be one of the following values: * CPU: A CPU
--   sample type. This is expressed as the app processing CPU time
--   (including child processes) as reported by process, as a percentage. *
--   MEMORY: A memory usage sample type. This is expressed as the total
--   proportional set size of an app process, in kilobytes. *
--   NATIVE_AVG_DRAWTIME * NATIVE_FPS * NATIVE_FRAMES * NATIVE_MAX_DRAWTIME
--   * NATIVE_MIN_DRAWTIME * OPENGL_AVG_DRAWTIME * OPENGL_FPS *
--   OPENGL_FRAMES * OPENGL_MAX_DRAWTIME * OPENGL_MIN_DRAWTIME * RX *
--   RX_RATE: The total number of bytes per second (TCP and UDP) that are
--   sent, by app process. * THREADS: A threads sample type. This is
--   expressed as the total number of threads per app process. * TX *
--   TX_RATE: The total number of bytes per second (TCP and UDP) that are
--   received, by app process.
samType :: Lens' Sample (Maybe SampleType)

-- | Represents the settings for a run. Includes things like location,
--   radio states, auxiliary apps, and network profiles.
--   
--   <i>See:</i> <a>scheduleRunConfiguration</a> smart constructor.
data ScheduleRunConfiguration

-- | Creates a value of <a>ScheduleRunConfiguration</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>srcBillingMethod</a> - Specifies the billing method for a test
--   run: <tt>metered</tt> or <tt>unmetered</tt> . If the parameter is not
--   specified, the default value is <tt>metered</tt> .</li>
--   <li><a>srcRadios</a> - Information about the radio states for the
--   run.</li>
--   <li><a>srcLocation</a> - Information about the location that is used
--   for the run.</li>
--   <li><a>srcLocale</a> - Information about the locale that is used for
--   the run.</li>
--   <li><a>srcNetworkProfileARN</a> - Reserved for internal use.</li>
--   <li><a>srcExtraDataPackageARN</a> - The ARN of the extra data for the
--   run. The extra data is a .zip file that AWS Device Farm will extract
--   to external data for Android or the app's sandbox for iOS.</li>
--   <li><a>srcAuxiliaryApps</a> - A list of auxiliary apps for the
--   run.</li>
--   </ul>
scheduleRunConfiguration :: ScheduleRunConfiguration

-- | Specifies the billing method for a test run: <tt>metered</tt> or
--   <tt>unmetered</tt> . If the parameter is not specified, the default
--   value is <tt>metered</tt> .
srcBillingMethod :: Lens' ScheduleRunConfiguration (Maybe BillingMethod)

-- | Information about the radio states for the run.
srcRadios :: Lens' ScheduleRunConfiguration (Maybe Radios)

-- | Information about the location that is used for the run.
srcLocation :: Lens' ScheduleRunConfiguration (Maybe Location)

-- | Information about the locale that is used for the run.
srcLocale :: Lens' ScheduleRunConfiguration (Maybe Text)

-- | Reserved for internal use.
srcNetworkProfileARN :: Lens' ScheduleRunConfiguration (Maybe Text)

-- | The ARN of the extra data for the run. The extra data is a .zip file
--   that AWS Device Farm will extract to external data for Android or the
--   app's sandbox for iOS.
srcExtraDataPackageARN :: Lens' ScheduleRunConfiguration (Maybe Text)

-- | A list of auxiliary apps for the run.
srcAuxiliaryApps :: Lens' ScheduleRunConfiguration [Text]

-- | Represents additional test settings.
--   
--   <i>See:</i> <a>scheduleRunTest</a> smart constructor.
data ScheduleRunTest

-- | Creates a value of <a>ScheduleRunTest</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>srtTestPackageARN</a> - The ARN of the uploaded test that will
--   be run.</li>
--   <li><a>srtParameters</a> - The test's parameters, such as test
--   framework parameters and fixture settings.</li>
--   <li><a>srtFilter</a> - The test's filter.</li>
--   <li><a>srtType</a> - The test's type. Must be one of the following
--   values: * BUILTIN_FUZZ: The built-in fuzz type. * BUILTIN_EXPLORER:
--   For Android, an app explorer that will traverse an Android app,
--   interacting with it and capturing screenshots at the same time. *
--   APPIUM_JAVA_JUNIT: The Appium Java JUnit type. * APPIUM_JAVA_TESTNG:
--   The Appium Java TestNG type. * APPIUM_PYTHON: The Appium Python type.
--   * APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for Web apps. *
--   APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for Web apps. *
--   APPIUM_WEB_PYTHON: The Appium Python type for Web apps. * CALABASH:
--   The Calabash type. * INSTRUMENTATION: The Instrumentation type. *
--   UIAUTOMATION: The uiautomation type. * UIAUTOMATOR: The uiautomator
--   type. * XCTEST: The XCode test type. * XCTEST_UI: The XCode UI test
--   type.</li>
--   </ul>
scheduleRunTest :: TestType -> ScheduleRunTest

-- | The ARN of the uploaded test that will be run.
srtTestPackageARN :: Lens' ScheduleRunTest (Maybe Text)

-- | The test's parameters, such as test framework parameters and fixture
--   settings.
srtParameters :: Lens' ScheduleRunTest (HashMap Text Text)

-- | The test's filter.
srtFilter :: Lens' ScheduleRunTest (Maybe Text)

-- | The test's type. Must be one of the following values: * BUILTIN_FUZZ:
--   The built-in fuzz type. * BUILTIN_EXPLORER: For Android, an app
--   explorer that will traverse an Android app, interacting with it and
--   capturing screenshots at the same time. * APPIUM_JAVA_JUNIT: The
--   Appium Java JUnit type. * APPIUM_JAVA_TESTNG: The Appium Java TestNG
--   type. * APPIUM_PYTHON: The Appium Python type. *
--   APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for Web apps. *
--   APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for Web apps. *
--   APPIUM_WEB_PYTHON: The Appium Python type for Web apps. * CALABASH:
--   The Calabash type. * INSTRUMENTATION: The Instrumentation type. *
--   UIAUTOMATION: The uiautomation type. * UIAUTOMATOR: The uiautomator
--   type. * XCTEST: The XCode test type. * XCTEST_UI: The XCode UI test
--   type.
srtType :: Lens' ScheduleRunTest TestType

-- | Represents a collection of one or more tests.
--   
--   <i>See:</i> <a>suite</a> smart constructor.
data Suite

-- | Creates a value of <a>Suite</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sStatus</a> - The suite's status. Allowed values include: *
--   PENDING: A pending status. * PENDING_CONCURRENCY: A pending
--   concurrency status. * PENDING_DEVICE: A pending device status. *
--   PROCESSING: A processing status. * SCHEDULING: A scheduling status. *
--   PREPARING: A preparing status. * RUNNING: A running status. *
--   COMPLETED: A completed status. * STOPPING: A stopping status.</li>
--   <li><a>sCounters</a> - The suite's result counters.</li>
--   <li><a>sArn</a> - The suite's ARN.</li>
--   <li><a>sCreated</a> - When the suite was created.</li>
--   <li><a>sStopped</a> - The suite's stop time.</li>
--   <li><a>sResult</a> - The suite's result. Allowed values include: *
--   PENDING: A pending condition. * PASSED: A passing condition. * WARNED:
--   A warning condition. * FAILED: A failed condition. * SKIPPED: A
--   skipped condition. * ERRORED: An error condition. * STOPPED: A stopped
--   condition.</li>
--   <li><a>sName</a> - The suite's name.</li>
--   <li><a>sDeviceMinutes</a> - Represents the total (metered or
--   unmetered) minutes used by the test suite.</li>
--   <li><a>sType</a> - The suite's type. Must be one of the following
--   values: * BUILTIN_FUZZ: The built-in fuzz type. * BUILTIN_EXPLORER:
--   For Android, an app explorer that will traverse an Android app,
--   interacting with it and capturing screenshots at the same time. *
--   APPIUM_JAVA_JUNIT: The Appium Java JUnit type. * APPIUM_JAVA_TESTNG:
--   The Appium Java TestNG type. * APPIUM_PYTHON: The Appium Python type.
--   * APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for Web apps. *
--   APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for Web apps. *
--   APPIUM_WEB_PYTHON: The Appium Python type for Web apps. * CALABASH:
--   The Calabash type. * INSTRUMENTATION: The Instrumentation type. *
--   UIAUTOMATION: The uiautomation type. * UIAUTOMATOR: The uiautomator
--   type. * XCTEST: The XCode test type. * XCTEST_UI: The XCode UI test
--   type.</li>
--   <li><a>sMessage</a> - A message about the suite's result.</li>
--   <li><a>sStarted</a> - The suite's start time.</li>
--   </ul>
suite :: Suite

-- | The suite's status. Allowed values include: * PENDING: A pending
--   status. * PENDING_CONCURRENCY: A pending concurrency status. *
--   PENDING_DEVICE: A pending device status. * PROCESSING: A processing
--   status. * SCHEDULING: A scheduling status. * PREPARING: A preparing
--   status. * RUNNING: A running status. * COMPLETED: A completed status.
--   * STOPPING: A stopping status.
sStatus :: Lens' Suite (Maybe ExecutionStatus)

-- | The suite's result counters.
sCounters :: Lens' Suite (Maybe Counters)

-- | The suite's ARN.
sArn :: Lens' Suite (Maybe Text)

-- | When the suite was created.
sCreated :: Lens' Suite (Maybe UTCTime)

-- | The suite's stop time.
sStopped :: Lens' Suite (Maybe UTCTime)

-- | The suite's result. Allowed values include: * PENDING: A pending
--   condition. * PASSED: A passing condition. * WARNED: A warning
--   condition. * FAILED: A failed condition. * SKIPPED: A skipped
--   condition. * ERRORED: An error condition. * STOPPED: A stopped
--   condition.
sResult :: Lens' Suite (Maybe ExecutionResult)

-- | The suite's name.
sName :: Lens' Suite (Maybe Text)

-- | Represents the total (metered or unmetered) minutes used by the test
--   suite.
sDeviceMinutes :: Lens' Suite (Maybe DeviceMinutes)

-- | The suite's type. Must be one of the following values: * BUILTIN_FUZZ:
--   The built-in fuzz type. * BUILTIN_EXPLORER: For Android, an app
--   explorer that will traverse an Android app, interacting with it and
--   capturing screenshots at the same time. * APPIUM_JAVA_JUNIT: The
--   Appium Java JUnit type. * APPIUM_JAVA_TESTNG: The Appium Java TestNG
--   type. * APPIUM_PYTHON: The Appium Python type. *
--   APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for Web apps. *
--   APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for Web apps. *
--   APPIUM_WEB_PYTHON: The Appium Python type for Web apps. * CALABASH:
--   The Calabash type. * INSTRUMENTATION: The Instrumentation type. *
--   UIAUTOMATION: The uiautomation type. * UIAUTOMATOR: The uiautomator
--   type. * XCTEST: The XCode test type. * XCTEST_UI: The XCode UI test
--   type.
sType :: Lens' Suite (Maybe TestType)

-- | A message about the suite's result.
sMessage :: Lens' Suite (Maybe Text)

-- | The suite's start time.
sStarted :: Lens' Suite (Maybe UTCTime)

-- | Represents a condition that is evaluated.
--   
--   <i>See:</i> <a>test</a> smart constructor.
data Test

-- | Creates a value of <a>Test</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tStatus</a> - The test's status. Allowed values include: *
--   PENDING: A pending status. * PENDING_CONCURRENCY: A pending
--   concurrency status. * PENDING_DEVICE: A pending device status. *
--   PROCESSING: A processing status. * SCHEDULING: A scheduling status. *
--   PREPARING: A preparing status. * RUNNING: A running status. *
--   COMPLETED: A completed status. * STOPPING: A stopping status.</li>
--   <li><a>tCounters</a> - The test's result counters.</li>
--   <li><a>tArn</a> - The test's ARN.</li>
--   <li><a>tCreated</a> - When the test was created.</li>
--   <li><a>tStopped</a> - The test's stop time.</li>
--   <li><a>tResult</a> - The test's result. Allowed values include: *
--   PENDING: A pending condition. * PASSED: A passing condition. * WARNED:
--   A warning condition. * FAILED: A failed condition. * SKIPPED: A
--   skipped condition. * ERRORED: An error condition. * STOPPED: A stopped
--   condition.</li>
--   <li><a>tName</a> - The test's name.</li>
--   <li><a>tDeviceMinutes</a> - Represents the total (metered or
--   unmetered) minutes used by the test.</li>
--   <li><a>tType</a> - The test's type. Must be one of the following
--   values: * BUILTIN_FUZZ: The built-in fuzz type. * BUILTIN_EXPLORER:
--   For Android, an app explorer that will traverse an Android app,
--   interacting with it and capturing screenshots at the same time. *
--   APPIUM_JAVA_JUNIT: The Appium Java JUnit type. * APPIUM_JAVA_TESTNG:
--   The Appium Java TestNG type. * APPIUM_PYTHON: The Appium Python type.
--   * APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for Web apps. *
--   APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for Web apps. *
--   APPIUM_WEB_PYTHON: The Appium Python type for Web apps. * CALABASH:
--   The Calabash type. * INSTRUMENTATION: The Instrumentation type. *
--   UIAUTOMATION: The uiautomation type. * UIAUTOMATOR: The uiautomator
--   type. * XCTEST: The XCode test type. * XCTEST_UI: The XCode UI test
--   type.</li>
--   <li><a>tMessage</a> - A message about the test's result.</li>
--   <li><a>tStarted</a> - The test's start time.</li>
--   </ul>
test :: Test

-- | The test's status. Allowed values include: * PENDING: A pending
--   status. * PENDING_CONCURRENCY: A pending concurrency status. *
--   PENDING_DEVICE: A pending device status. * PROCESSING: A processing
--   status. * SCHEDULING: A scheduling status. * PREPARING: A preparing
--   status. * RUNNING: A running status. * COMPLETED: A completed status.
--   * STOPPING: A stopping status.
tStatus :: Lens' Test (Maybe ExecutionStatus)

-- | The test's result counters.
tCounters :: Lens' Test (Maybe Counters)

-- | The test's ARN.
tArn :: Lens' Test (Maybe Text)

-- | When the test was created.
tCreated :: Lens' Test (Maybe UTCTime)

-- | The test's stop time.
tStopped :: Lens' Test (Maybe UTCTime)

-- | The test's result. Allowed values include: * PENDING: A pending
--   condition. * PASSED: A passing condition. * WARNED: A warning
--   condition. * FAILED: A failed condition. * SKIPPED: A skipped
--   condition. * ERRORED: An error condition. * STOPPED: A stopped
--   condition.
tResult :: Lens' Test (Maybe ExecutionResult)

-- | The test's name.
tName :: Lens' Test (Maybe Text)

-- | Represents the total (metered or unmetered) minutes used by the test.
tDeviceMinutes :: Lens' Test (Maybe DeviceMinutes)

-- | The test's type. Must be one of the following values: * BUILTIN_FUZZ:
--   The built-in fuzz type. * BUILTIN_EXPLORER: For Android, an app
--   explorer that will traverse an Android app, interacting with it and
--   capturing screenshots at the same time. * APPIUM_JAVA_JUNIT: The
--   Appium Java JUnit type. * APPIUM_JAVA_TESTNG: The Appium Java TestNG
--   type. * APPIUM_PYTHON: The Appium Python type. *
--   APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for Web apps. *
--   APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for Web apps. *
--   APPIUM_WEB_PYTHON: The Appium Python type for Web apps. * CALABASH:
--   The Calabash type. * INSTRUMENTATION: The Instrumentation type. *
--   UIAUTOMATION: The uiautomation type. * UIAUTOMATOR: The uiautomator
--   type. * XCTEST: The XCode test type. * XCTEST_UI: The XCode UI test
--   type.
tType :: Lens' Test (Maybe TestType)

-- | A message about the test's result.
tMessage :: Lens' Test (Maybe Text)

-- | The test's start time.
tStarted :: Lens' Test (Maybe UTCTime)

-- | A collection of one or more problems, grouped by their result.
--   
--   <i>See:</i> <a>uniqueProblem</a> smart constructor.
data UniqueProblem

-- | Creates a value of <a>UniqueProblem</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>upProblems</a> - Information about the problems.</li>
--   <li><a>upMessage</a> - A message about the unique problems'
--   result.</li>
--   </ul>
uniqueProblem :: UniqueProblem

-- | Information about the problems.
upProblems :: Lens' UniqueProblem [Problem]

-- | A message about the unique problems' result.
upMessage :: Lens' UniqueProblem (Maybe Text)

-- | An app or a set of one or more tests to upload or that have been
--   uploaded.
--   
--   <i>See:</i> <a>upload</a> smart constructor.
data Upload

-- | Creates a value of <a>Upload</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>uStatus</a> - The upload's status. Must be one of the following
--   values: * FAILED: A failed status. * INITIALIZED: An initialized
--   status. * PROCESSING: A processing status. * SUCCEEDED: A succeeded
--   status.</li>
--   <li><a>uArn</a> - The upload's ARN.</li>
--   <li><a>uCreated</a> - When the upload was created.</li>
--   <li><a>uUrl</a> - The pre-signed Amazon S3 URL that was used to store
--   a file through a corresponding PUT request.</li>
--   <li><a>uName</a> - The upload's file name.</li>
--   <li><a>uMetadata</a> - The upload's metadata. For example, for
--   Android, this contains information that is parsed from the manifest
--   and is displayed in the AWS Device Farm console after the associated
--   app is uploaded.</li>
--   <li><a>uType</a> - The upload's type. Must be one of the following
--   values: * ANDROID_APP: An Android upload. * IOS_APP: An iOS upload. *
--   WEB_APP: A web appliction upload. * EXTERNAL_DATA: An external data
--   upload. * APPIUM_JAVA_JUNIT_TEST_PACKAGE: An Appium Java JUnit test
--   package upload. * APPIUM_JAVA_TESTNG_TEST_PACKAGE: An Appium Java
--   TestNG test package upload. * APPIUM_PYTHON_TEST_PACKAGE: An Appium
--   Python test package upload. * APPIUM_WEB_JAVA_JUNIT_TEST_PACKAGE: An
--   Appium Java JUnit test package upload. *
--   APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE: An Appium Java TestNG test
--   package upload. * APPIUM_WEB_PYTHON_TEST_PACKAGE: An Appium Python
--   test package upload. * CALABASH_TEST_PACKAGE: A Calabash test package
--   upload. * INSTRUMENTATION_TEST_PACKAGE: An instrumentation upload. *
--   UIAUTOMATION_TEST_PACKAGE: A uiautomation test package upload. *
--   UIAUTOMATOR_TEST_PACKAGE: A uiautomator test package upload. *
--   XCTEST_TEST_PACKAGE: An XCode test package upload. *
--   XCTEST_UI_TEST_PACKAGE: An XCode UI test package upload.</li>
--   <li><a>uMessage</a> - A message about the upload's result.</li>
--   <li><a>uContentType</a> - The upload's content type (for example,
--   "application/octet-stream").</li>
--   </ul>
upload :: Upload

-- | The upload's status. Must be one of the following values: * FAILED: A
--   failed status. * INITIALIZED: An initialized status. * PROCESSING: A
--   processing status. * SUCCEEDED: A succeeded status.
uStatus :: Lens' Upload (Maybe UploadStatus)

-- | The upload's ARN.
uArn :: Lens' Upload (Maybe Text)

-- | When the upload was created.
uCreated :: Lens' Upload (Maybe UTCTime)

-- | The pre-signed Amazon S3 URL that was used to store a file through a
--   corresponding PUT request.
uUrl :: Lens' Upload (Maybe Text)

-- | The upload's file name.
uName :: Lens' Upload (Maybe Text)

-- | The upload's metadata. For example, for Android, this contains
--   information that is parsed from the manifest and is displayed in the
--   AWS Device Farm console after the associated app is uploaded.
uMetadata :: Lens' Upload (Maybe Text)

-- | The upload's type. Must be one of the following values: * ANDROID_APP:
--   An Android upload. * IOS_APP: An iOS upload. * WEB_APP: A web
--   appliction upload. * EXTERNAL_DATA: An external data upload. *
--   APPIUM_JAVA_JUNIT_TEST_PACKAGE: An Appium Java JUnit test package
--   upload. * APPIUM_JAVA_TESTNG_TEST_PACKAGE: An Appium Java TestNG test
--   package upload. * APPIUM_PYTHON_TEST_PACKAGE: An Appium Python test
--   package upload. * APPIUM_WEB_JAVA_JUNIT_TEST_PACKAGE: An Appium Java
--   JUnit test package upload. * APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE: An
--   Appium Java TestNG test package upload. *
--   APPIUM_WEB_PYTHON_TEST_PACKAGE: An Appium Python test package upload.
--   * CALABASH_TEST_PACKAGE: A Calabash test package upload. *
--   INSTRUMENTATION_TEST_PACKAGE: An instrumentation upload. *
--   UIAUTOMATION_TEST_PACKAGE: A uiautomation test package upload. *
--   UIAUTOMATOR_TEST_PACKAGE: A uiautomator test package upload. *
--   XCTEST_TEST_PACKAGE: An XCode test package upload. *
--   XCTEST_UI_TEST_PACKAGE: An XCode UI test package upload.
uType :: Lens' Upload (Maybe UploadType)

-- | A message about the upload's result.
uMessage :: Lens' Upload (Maybe Text)

-- | The upload's content type (for example, "application/octet-stream").
uContentType :: Lens' Upload (Maybe Text)
