-- 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.6.0


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

-- | There was an error with the update request, or you do not have
--   sufficient permissions to update this VPC endpoint configuration.
_InvalidOperationException :: 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
CustomerArtifact :: ArtifactType
CustomerArtifactLog :: 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
AppiumVersion :: DeviceAttribute
FleetType :: DeviceAttribute
FormFactor :: DeviceAttribute
InstanceARN :: DeviceAttribute
InstanceLabels :: DeviceAttribute
Manufacturer :: DeviceAttribute
Platform :: DeviceAttribute
RemoteAccessEnabled :: DeviceAttribute
RemoteDebugEnabled :: DeviceAttribute
data DeviceFormFactor
Phone :: DeviceFormFactor
Tablet :: DeviceFormFactor
data DevicePlatform
Android :: DevicePlatform
Ios :: DevicePlatform
data DevicePoolType
DPTCurated :: DevicePoolType
DPTPrivate :: DevicePoolType
data ExecutionResult
ERErrored :: ExecutionResult
ERFailed :: ExecutionResult
ERPassed :: ExecutionResult
ERPending :: ExecutionResult
ERSkipped :: ExecutionResult
ERStopped :: ExecutionResult
ERWarned :: ExecutionResult
data ExecutionResultCode
ParsingFailed :: ExecutionResultCode
VPCEndpointSetupFailed :: ExecutionResultCode
data ExecutionStatus
Completed :: ExecutionStatus
Pending :: ExecutionStatus
PendingConcurrency :: ExecutionStatus
PendingDevice :: ExecutionStatus
Preparing :: ExecutionStatus
Processing :: ExecutionStatus
Running :: ExecutionStatus
Scheduling :: ExecutionStatus
Stopping :: ExecutionStatus
data InstanceStatus
ISAvailable :: InstanceStatus
ISInUse :: InstanceStatus
ISNotAvailable :: InstanceStatus
ISPreparing :: InstanceStatus
data InteractionMode
Interactive :: InteractionMode
NoVideo :: InteractionMode
VideoOnly :: InteractionMode
data NetworkProfileType
Curated :: NetworkProfileType
Private :: NetworkProfileType
data OfferingTransactionType
Purchase :: OfferingTransactionType
Renew :: OfferingTransactionType
System :: OfferingTransactionType
data OfferingType
Recurring :: OfferingType
data RecurringChargeFrequency
Monthly :: RecurringChargeFrequency
data RuleOperator
Contains :: 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
RemoteAccessRecord :: TestType
RemoteAccessReplay :: TestType
Uiautomation :: TestType
Uiautomator :: TestType
WebPerformanceProfile :: 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>asSkipAppResign</a> - When set to <tt>true</tt> , for private
--   devices, Device Farm will not sign your app again. For public devices,
--   Device Farm always signs your apps again and this parameter has no
--   effect. For more information about how Device Farm re-signs your
--   app(s), see <a>Do you modify my app?</a> in the <i>AWS Device Farm
--   FAQs</i> .</li>
--   <li><a>asAwsAccountNumber</a> - The AWS account number specified in
--   the <tt>AccountSettings</tt> container.</li>
--   <li><a>asMaxJobTimeoutMinutes</a> - The maximum number of minutes a
--   test run will execute before it times out.</li>
--   <li><a>asMaxSlots</a> - The maximum number of device slots that the
--   AWS account can purchase. Each maximum is expressed as an
--   <tt>offering-id:number</tt> pair, where the <tt>offering-id</tt>
--   represents one of the IDs returned by the <tt>ListOfferings</tt>
--   command.</li>
--   <li><a>asTrialMinutes</a> - Information about an AWS account's usage
--   of free trial device minutes.</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>
--   <li><a>asDefaultJobTimeoutMinutes</a> - The default number of minutes
--   (at the account level) a test run will execute before it times out.
--   Default value is 60 minutes.</li>
--   </ul>
accountSettings :: AccountSettings

-- | When set to <tt>true</tt> , for private devices, Device Farm will not
--   sign your app again. For public devices, Device Farm always signs your
--   apps again and this parameter has no effect. For more information
--   about how Device Farm re-signs your app(s), see <a>Do you modify my
--   app?</a> in the <i>AWS Device Farm FAQs</i> .
asSkipAppResign :: Lens' AccountSettings (Maybe Bool)

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

-- | The maximum number of minutes a test run will execute before it times
--   out.
asMaxJobTimeoutMinutes :: Lens' AccountSettings (Maybe Int)

-- | The maximum number of device slots that the AWS account can purchase.
--   Each maximum is expressed as an <tt>offering-id:number</tt> pair,
--   where the <tt>offering-id</tt> represents one of the IDs returned by
--   the <tt>ListOfferings</tt> command.
asMaxSlots :: Lens' AccountSettings (HashMap Text Int)

-- | Information about an AWS account's usage of free trial device minutes.
asTrialMinutes :: Lens' AccountSettings (Maybe TrialMinutes)

-- | 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)

-- | The default number of minutes (at the account level) a test run will
--   execute before it times out. Default value is 60 minutes.
asDefaultJobTimeoutMinutes :: Lens' AccountSettings (Maybe 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)

-- | Configuration settings for a remote access session, including billing
--   method.
--   
--   <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> - The billing method for the remote
--   access session.</li>
--   </ul>
createRemoteAccessSessionConfiguration :: CreateRemoteAccessSessionConfiguration

-- | The billing method for the remote access session.
crascBillingMethod :: Lens' CreateRemoteAccessSessionConfiguration (Maybe BillingMethod)

-- | A JSON object specifying the paths where the artifacts generated by
--   the customer's tests, on the device or in the test environment, will
--   be pulled from.
--   
--   Specify <tt>deviceHostPaths</tt> and optionally specify either
--   <tt>iosPaths</tt> or <tt>androidPaths</tt> .
--   
--   For web app tests, you can specify both <tt>iosPaths</tt> and
--   <tt>androidPaths</tt> .
--   
--   <i>See:</i> <a>customerArtifactPaths</a> smart constructor.
data CustomerArtifactPaths

-- | Creates a value of <a>CustomerArtifactPaths</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>capAndroidPaths</a> - Comma-separated list of paths on the
--   Android device where the artifacts generated by the customer's tests
--   will be pulled from.</li>
--   <li><a>capDeviceHostPaths</a> - Comma-separated list of paths in the
--   test execution environment where the artifacts generated by the
--   customer's tests will be pulled from.</li>
--   <li><a>capIosPaths</a> - Comma-separated list of paths on the iOS
--   device where the artifacts generated by the customer's tests will be
--   pulled from.</li>
--   </ul>
customerArtifactPaths :: CustomerArtifactPaths

-- | Comma-separated list of paths on the Android device where the
--   artifacts generated by the customer's tests will be pulled from.
capAndroidPaths :: Lens' CustomerArtifactPaths [Text]

-- | Comma-separated list of paths in the test execution environment where
--   the artifacts generated by the customer's tests will be pulled from.
capDeviceHostPaths :: Lens' CustomerArtifactPaths [Text]

-- | Comma-separated list of paths on the iOS device where the artifacts
--   generated by the customer's tests will be pulled from.
capIosPaths :: Lens' CustomerArtifactPaths [Text]

-- | 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>devModelId</a> - The device's model ID.</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> - The resolution of the device.</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>devInstances</a> - The instances belonging to this device.</li>
--   <li><a>devRemoteDebugEnabled</a> - This flag is set to <tt>true</tt>
--   if remote debugging is enabled for the device.</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)

-- | The device's model ID.
devModelId :: Lens' Device (Maybe Text)

-- | 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)

-- | The resolution of the device.
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)

-- | The instances belonging to this device.
devInstances :: Lens' Device [DeviceInstance]

-- | This flag is set to <tt>true</tt> if remote debugging is enabled for
--   the device.
devRemoteDebugEnabled :: Lens' Device (Maybe Bool)

-- | 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 device instance.
--   
--   <i>See:</i> <a>deviceInstance</a> smart constructor.
data DeviceInstance

-- | Creates a value of <a>DeviceInstance</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>diStatus</a> - The status of the device instance. Valid values
--   are listed below.</li>
--   <li><a>diUdid</a> - Unique device identifier for the device
--   instance.</li>
--   <li><a>diInstanceProfile</a> - A object containing information about
--   the instance profile.</li>
--   <li><a>diArn</a> - The Amazon Resource Name (ARN) of the device
--   instance.</li>
--   <li><a>diDeviceARN</a> - The Amazon Resource Name (ARN) of the
--   device.</li>
--   <li><a>diLabels</a> - An array of strings describing the device
--   instance.</li>
--   </ul>
deviceInstance :: DeviceInstance

-- | The status of the device instance. Valid values are listed below.
diStatus :: Lens' DeviceInstance (Maybe InstanceStatus)

-- | Unique device identifier for the device instance.
diUdid :: Lens' DeviceInstance (Maybe Text)

-- | A object containing information about the instance profile.
diInstanceProfile :: Lens' DeviceInstance (Maybe InstanceProfile)

-- | The Amazon Resource Name (ARN) of the device instance.
diArn :: Lens' DeviceInstance (Maybe Text)

-- | The Amazon Resource Name (ARN) of the device.
diDeviceARN :: Lens' DeviceInstance (Maybe Text)

-- | An array of strings describing the device instance.
diLabels :: Lens' DeviceInstance [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> - The device (phone or tablet) that you wish to
--   return information about.</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

-- | The device (phone or tablet) that you wish to return information
--   about.
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 configuration information about a test run, such as the
--   execution timeout (in minutes).
--   
--   <i>See:</i> <a>executionConfiguration</a> smart constructor.
data ExecutionConfiguration

-- | Creates a value of <a>ExecutionConfiguration</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>ecSkipAppResign</a> - When set to <tt>true</tt> , for private
--   devices, Device Farm will not sign your app again. For public devices,
--   Device Farm always signs your apps again and this parameter has no
--   effect. For more information about how Device Farm re-signs your
--   app(s), see <a>Do you modify my app?</a> in the <i>AWS Device Farm
--   FAQs</i> .</li>
--   <li><a>ecAccountsCleanup</a> - True if account cleanup is enabled at
--   the beginning of the test; otherwise, false.</li>
--   <li><a>ecAppPackagesCleanup</a> - True if app package cleanup is
--   enabled at the beginning of the test; otherwise, false.</li>
--   <li><a>ecJobTimeoutMinutes</a> - The number of minutes a test run will
--   execute before it times out.</li>
--   </ul>
executionConfiguration :: ExecutionConfiguration

-- | When set to <tt>true</tt> , for private devices, Device Farm will not
--   sign your app again. For public devices, Device Farm always signs your
--   apps again and this parameter has no effect. For more information
--   about how Device Farm re-signs your app(s), see <a>Do you modify my
--   app?</a> in the <i>AWS Device Farm FAQs</i> .
ecSkipAppResign :: Lens' ExecutionConfiguration (Maybe Bool)

-- | True if account cleanup is enabled at the beginning of the test;
--   otherwise, false.
ecAccountsCleanup :: Lens' ExecutionConfiguration (Maybe Bool)

-- | True if app package cleanup is enabled at the beginning of the test;
--   otherwise, false.
ecAppPackagesCleanup :: Lens' ExecutionConfiguration (Maybe Bool)

-- | The number of minutes a test run will execute before it times out.
ecJobTimeoutMinutes :: Lens' ExecutionConfiguration (Maybe Int)

-- | 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). * REMOTE_ACCESS_ENABLED:
--   Whether the device is enabled for remote access. * APPIUM_VERSION: The
--   Appium version for the test.</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). * REMOTE_ACCESS_ENABLED: Whether the device is
--   enabled for remote access. * APPIUM_VERSION: The Appium version for
--   the test.
imType :: Lens' IncompatibilityMessage (Maybe DeviceAttribute)

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

-- | Represents the instance profile.
--   
--   <i>See:</i> <a>instanceProfile</a> smart constructor.
data InstanceProfile

-- | Creates a value of <a>InstanceProfile</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>ipArn</a> - The Amazon Resource Name (ARN) of the instance
--   profile.</li>
--   <li><a>ipRebootAfterUse</a> - When set to <tt>true</tt> , Device Farm
--   will reboot the instance after a test run. The default value is
--   <tt>true</tt> .</li>
--   <li><a>ipName</a> - The name of the instance profile.</li>
--   <li><a>ipPackageCleanup</a> - When set to <tt>true</tt> , Device Farm
--   will remove app packages after a test run. The default value is
--   <tt>false</tt> for private devices.</li>
--   <li><a>ipExcludeAppPackagesFromCleanup</a> - An array of strings
--   specifying the list of app packages that should not be cleaned up from
--   the device after a test run is over. The list of packages is only
--   considered if you set <tt>packageCleanup</tt> to <tt>true</tt> .</li>
--   <li><a>ipDescription</a> - The description of the instance
--   profile.</li>
--   </ul>
instanceProfile :: InstanceProfile

-- | The Amazon Resource Name (ARN) of the instance profile.
ipArn :: Lens' InstanceProfile (Maybe Text)

-- | When set to <tt>true</tt> , Device Farm will reboot the instance after
--   a test run. The default value is <tt>true</tt> .
ipRebootAfterUse :: Lens' InstanceProfile (Maybe Bool)

-- | The name of the instance profile.
ipName :: Lens' InstanceProfile (Maybe Text)

-- | When set to <tt>true</tt> , Device Farm will remove app packages after
--   a test run. The default value is <tt>false</tt> for private devices.
ipPackageCleanup :: Lens' InstanceProfile (Maybe Bool)

-- | An array of strings specifying the list of app packages that should
--   not be cleaned up from the device after a test run is over. The list
--   of packages is only considered if you set <tt>packageCleanup</tt> to
--   <tt>true</tt> .
ipExcludeAppPackagesFromCleanup :: Lens' InstanceProfile [Text]

-- | The description of the instance profile.
ipDescription :: Lens' InstanceProfile (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>jobInstanceARN</a> - The Amazon Resource Name (ARN) of the
--   instance.</li>
--   <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> - The device (phone or tablet).</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 Amazon Resource Name (ARN) of the instance.
jobInstanceARN :: Lens' Job (Maybe Text)

-- | 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)

-- | The device (phone or tablet).
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)

-- | An array of settings that describes characteristics of a network
--   profile.
--   
--   <i>See:</i> <a>networkProfile</a> smart constructor.
data NetworkProfile

-- | Creates a value of <a>NetworkProfile</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>npUplinkJitterMs</a> - Time variation in the delay of received
--   packets in milliseconds as an integer from 0 to 2000.</li>
--   <li><a>npArn</a> - The Amazon Resource Name (ARN) of the network
--   profile.</li>
--   <li><a>npUplinkLossPercent</a> - Proportion of transmitted packets
--   that fail to arrive from 0 to 100 percent.</li>
--   <li><a>npDownlinkJitterMs</a> - Time variation in the delay of
--   received packets in milliseconds as an integer from 0 to 2000.</li>
--   <li><a>npName</a> - The name of the network profile.</li>
--   <li><a>npDownlinkLossPercent</a> - Proportion of received packets that
--   fail to arrive from 0 to 100 percent.</li>
--   <li><a>npType</a> - The type of network profile. Valid values are
--   listed below.</li>
--   <li><a>npUplinkDelayMs</a> - Delay time for all packets to destination
--   in milliseconds as an integer from 0 to 2000.</li>
--   <li><a>npUplinkBandwidthBits</a> - The data throughput rate in bits
--   per second, as an integer from 0 to 104857600.</li>
--   <li><a>npDescription</a> - The description of the network
--   profile.</li>
--   <li><a>npDownlinkDelayMs</a> - Delay time for all packets to
--   destination in milliseconds as an integer from 0 to 2000.</li>
--   <li><a>npDownlinkBandwidthBits</a> - The data throughput rate in bits
--   per second, as an integer from 0 to 104857600.</li>
--   </ul>
networkProfile :: NetworkProfile

-- | Time variation in the delay of received packets in milliseconds as an
--   integer from 0 to 2000.
npUplinkJitterMs :: Lens' NetworkProfile (Maybe Integer)

-- | The Amazon Resource Name (ARN) of the network profile.
npArn :: Lens' NetworkProfile (Maybe Text)

-- | Proportion of transmitted packets that fail to arrive from 0 to 100
--   percent.
npUplinkLossPercent :: Lens' NetworkProfile (Maybe Natural)

-- | Time variation in the delay of received packets in milliseconds as an
--   integer from 0 to 2000.
npDownlinkJitterMs :: Lens' NetworkProfile (Maybe Integer)

-- | The name of the network profile.
npName :: Lens' NetworkProfile (Maybe Text)

-- | Proportion of received packets that fail to arrive from 0 to 100
--   percent.
npDownlinkLossPercent :: Lens' NetworkProfile (Maybe Natural)

-- | The type of network profile. Valid values are listed below.
npType :: Lens' NetworkProfile (Maybe NetworkProfileType)

-- | Delay time for all packets to destination in milliseconds as an
--   integer from 0 to 2000.
npUplinkDelayMs :: Lens' NetworkProfile (Maybe Integer)

-- | The data throughput rate in bits per second, as an integer from 0 to
--   104857600.
npUplinkBandwidthBits :: Lens' NetworkProfile (Maybe Integer)

-- | The description of the network profile.
npDescription :: Lens' NetworkProfile (Maybe Text)

-- | Delay time for all packets to destination in milliseconds as an
--   integer from 0 to 2000.
npDownlinkDelayMs :: Lens' NetworkProfile (Maybe Integer)

-- | The data throughput rate in bits per second, as an integer from 0 to
--   104857600.
npDownlinkBandwidthBits :: Lens' NetworkProfile (Maybe Integer)

-- | 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)

-- | Represents information about an offering promotion.
--   
--   <i>See:</i> <a>offeringPromotion</a> smart constructor.
data OfferingPromotion

-- | Creates a value of <a>OfferingPromotion</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>opId</a> - The ID of the offering promotion.</li>
--   <li><a>opDescription</a> - A string describing the offering
--   promotion.</li>
--   </ul>
offeringPromotion :: OfferingPromotion

-- | The ID of the offering promotion.
opId :: Lens' OfferingPromotion (Maybe Text)

-- | A string describing the offering promotion.
opDescription :: Lens' OfferingPromotion (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>otOfferingPromotionId</a> - The ID that corresponds to a device
--   offering promotion.</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 ID that corresponds to a device offering promotion.
otOfferingPromotionId :: 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>
--   <li><a>pDefaultJobTimeoutMinutes</a> - The default number of minutes
--   (at the project level) a test run will execute before it times out.
--   Default value is 60 minutes.</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)

-- | The default number of minutes (at the project level) a test run will
--   execute before it times out. Default value is 60 minutes.
pDefaultJobTimeoutMinutes :: Lens' Project (Maybe Int)

-- | 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>rasClientId</a> - Unique identifier of your client for the
--   remote access session. Only returned if remote debugging is enabled
--   for the remote access session.</li>
--   <li><a>rasDeviceUdid</a> - Unique device identifier for the remote
--   device. Only returned if remote debugging is enabled for the remote
--   access session.</li>
--   <li><a>rasSkipAppResign</a> - When set to <tt>true</tt> , for private
--   devices, Device Farm will not sign your app again. For public devices,
--   Device Farm always signs your apps again and this parameter has no
--   effect. For more information about how Device Farm re-signs your
--   app(s), see <a>Do you modify my app?</a> in the <i>AWS Device Farm
--   FAQs</i> .</li>
--   <li><a>rasInstanceARN</a> - The Amazon Resource Name (ARN) of the
--   instance.</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>rasRemoteRecordEnabled</a> - This flag is set to <tt>true</tt>
--   if remote recording is enabled for the remote access session.</li>
--   <li><a>rasArn</a> - The Amazon Resource Name (ARN) of the remote
--   access session.</li>
--   <li><a>rasRemoteRecordAppARN</a> - The Amazon Resource Name (ARN) for
--   the app to be recorded in the remote access session.</li>
--   <li><a>rasCreated</a> - The date and time the remote access session
--   was created.</li>
--   <li><a>rasDevice</a> - The device (phone or tablet) used in the remote
--   access session.</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> - The number of minutes a device is used
--   in a remote access sesssion (including setup and teardown
--   minutes).</li>
--   <li><a>rasRemoteDebugEnabled</a> - This flag is set to <tt>true</tt>
--   if remote debugging is enabled for the remote access session.</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>rasHostAddress</a> - IP address of the EC2 host where you need
--   to connect to remotely debug devices. Only returned if remote
--   debugging is enabled for the remote access session.</li>
--   <li><a>rasInteractionMode</a> - The interaction mode of the remote
--   access session. Valid values are: * INTERACTIVE: You can interact with
--   the iOS device by viewing, touching, and rotating the screen. You
--   <b>cannot</b> run XCUITest framework-based tests in this mode. *
--   NO_VIDEO: You are connected to the device but cannot interact with it
--   or view the screen. This mode has the fastest test execution speed.
--   You <b>can</b> run XCUITest framework-based tests in this mode. *
--   VIDEO_ONLY: You can view the screen but cannot touch or rotate it. You
--   <b>can</b> run XCUITest framework-based tests and watch the screen in
--   this mode.</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)

-- | Unique identifier of your client for the remote access session. Only
--   returned if remote debugging is enabled for the remote access session.
rasClientId :: Lens' RemoteAccessSession (Maybe Text)

-- | Unique device identifier for the remote device. Only returned if
--   remote debugging is enabled for the remote access session.
rasDeviceUdid :: Lens' RemoteAccessSession (Maybe Text)

-- | When set to <tt>true</tt> , for private devices, Device Farm will not
--   sign your app again. For public devices, Device Farm always signs your
--   apps again and this parameter has no effect. For more information
--   about how Device Farm re-signs your app(s), see <a>Do you modify my
--   app?</a> in the <i>AWS Device Farm FAQs</i> .
rasSkipAppResign :: Lens' RemoteAccessSession (Maybe Bool)

-- | The Amazon Resource Name (ARN) of the instance.
rasInstanceARN :: Lens' RemoteAccessSession (Maybe Text)

-- | 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)

-- | This flag is set to <tt>true</tt> if remote recording is enabled for
--   the remote access session.
rasRemoteRecordEnabled :: Lens' RemoteAccessSession (Maybe Bool)

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

-- | The Amazon Resource Name (ARN) for the app to be recorded in the
--   remote access session.
rasRemoteRecordAppARN :: Lens' RemoteAccessSession (Maybe Text)

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

-- | The device (phone or tablet) used in the remote access session.
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)

-- | The number of minutes a device is used in a remote access sesssion
--   (including setup and teardown minutes).
rasDeviceMinutes :: Lens' RemoteAccessSession (Maybe DeviceMinutes)

-- | This flag is set to <tt>true</tt> if remote debugging is enabled for
--   the remote access session.
rasRemoteDebugEnabled :: Lens' RemoteAccessSession (Maybe Bool)

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

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

-- | IP address of the EC2 host where you need to connect to remotely debug
--   devices. Only returned if remote debugging is enabled for the remote
--   access session.
rasHostAddress :: Lens' RemoteAccessSession (Maybe Text)

-- | The interaction mode of the remote access session. Valid values are: *
--   INTERACTIVE: You can interact with the iOS device by viewing,
--   touching, and rotating the screen. You <b>cannot</b> run XCUITest
--   framework-based tests in this mode. * NO_VIDEO: You are connected to
--   the device but cannot interact with it or view the screen. This mode
--   has the fastest test execution speed. You <b>can</b> run XCUITest
--   framework-based tests in this mode. * VIDEO_ONLY: You can view the
--   screen but cannot touch or rotate it. You <b>can</b> run XCUITest
--   framework-based tests and watch the screen in this mode.
rasInteractionMode :: Lens' RemoteAccessSession (Maybe InteractionMode)

-- | 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). * REMOTE_ACCESS_ENABLED: Whether the
--   device is enabled for remote access. * APPIUM_VERSION: The Appium
--   version for the test. * INSTANCE_ARN: The Amazon Resource Name (ARN)
--   of the device instance. * INSTANCE_LABELS: The label of the device
--   instance.</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. * CONTAINS: The contains 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). * REMOTE_ACCESS_ENABLED: Whether the device is
--   enabled for remote access. * APPIUM_VERSION: The Appium version for
--   the test. * INSTANCE_ARN: The Amazon Resource Name (ARN) of the device
--   instance. * INSTANCE_LABELS: The label of the device instance.
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. * CONTAINS: The
--   contains operator.
rOperator :: Lens' Rule (Maybe RuleOperator)

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

-- | Represents a test run on a set of devices with a given app package,
--   test parameters, etc.
--   
--   <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>runSkipAppResign</a> - When set to <tt>true</tt> , for private
--   devices, Device Farm will not sign your app again. For public devices,
--   Device Farm always signs your apps again and this parameter has no
--   effect. For more information about how Device Farm re-signs your
--   app(s), see <a>Do you modify my app?</a> in the <i>AWS Device Farm
--   FAQs</i> .</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>runCustomerArtifactPaths</a> - Output
--   <tt>CustomerArtifactPaths</tt> object for the test run.</li>
--   <li><a>runEventCount</a> - For fuzz tests, this is the number of
--   events, between 1 and 10000, that the UI fuzz test should
--   perform.</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>runSeed</a> - For fuzz tests, this is a seed to use for
--   randomizing the UI fuzz test. Using the same seed value between tests
--   ensures identical event sequences.</li>
--   <li><a>runRadios</a> - Information about the radio states for the
--   run.</li>
--   <li><a>runArn</a> - The run's ARN.</li>
--   <li><a>runLocation</a> - Information about the location that is used
--   for the run.</li>
--   <li><a>runCreated</a> - When the run was created.</li>
--   <li><a>runLocale</a> - Information about the locale that is used for
--   the run.</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>runJobTimeoutMinutes</a> - The number of minutes the job will
--   execute before it times out.</li>
--   <li><a>runCompletedJobs</a> - The total number of completed jobs.</li>
--   <li><a>runResultCode</a> - Supporting field for the result field. Set
--   only if <tt>result</tt> is <tt>SKIPPED</tt> . <tt>PARSING_FAILED</tt>
--   if the result is skipped because of test package parsing failure.</li>
--   <li><a>runName</a> - The run's name.</li>
--   <li><a>runAppUpload</a> - An app to upload or that has been
--   uploaded.</li>
--   <li><a>runParsingResultURL</a> - Read-only URL for an object in S3
--   bucket where you can get the parsing results of the test package. If
--   the test package doesn't parse, the reason why it doesn't parse
--   appears in the file that this URL points to.</li>
--   <li><a>runNetworkProfile</a> - The network profile being used for a
--   test run.</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>runWebURL</a> - The Device Farm console URL for the recording
--   of the run.</li>
--   <li><a>runTotalJobs</a> - The total number of jobs for the run.</li>
--   <li><a>runDevicePoolARN</a> - The ARN of the device pool 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)

-- | When set to <tt>true</tt> , for private devices, Device Farm will not
--   sign your app again. For public devices, Device Farm always signs your
--   apps again and this parameter has no effect. For more information
--   about how Device Farm re-signs your app(s), see <a>Do you modify my
--   app?</a> in the <i>AWS Device Farm FAQs</i> .
runSkipAppResign :: Lens' Run (Maybe Bool)

-- | 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)

-- | Output <tt>CustomerArtifactPaths</tt> object for the test run.
runCustomerArtifactPaths :: Lens' Run (Maybe CustomerArtifactPaths)

-- | For fuzz tests, this is the number of events, between 1 and 10000,
--   that the UI fuzz test should perform.
runEventCount :: Lens' Run (Maybe Int)

-- | 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)

-- | For fuzz tests, this is a seed to use for randomizing the UI fuzz
--   test. Using the same seed value between tests ensures identical event
--   sequences.
runSeed :: Lens' Run (Maybe Int)

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

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

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

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

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

-- | 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 number of minutes the job will execute before it times out.
runJobTimeoutMinutes :: Lens' Run (Maybe Int)

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

-- | Supporting field for the result field. Set only if <tt>result</tt> is
--   <tt>SKIPPED</tt> . <tt>PARSING_FAILED</tt> if the result is skipped
--   because of test package parsing failure.
runResultCode :: Lens' Run (Maybe ExecutionResultCode)

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

-- | An app to upload or that has been uploaded.
runAppUpload :: Lens' Run (Maybe Text)

-- | Read-only URL for an object in S3 bucket where you can get the parsing
--   results of the test package. If the test package doesn't parse, the
--   reason why it doesn't parse appears in the file that this URL points
--   to.
runParsingResultURL :: Lens' Run (Maybe Text)

-- | The network profile being used for a test run.
runNetworkProfile :: Lens' Run (Maybe NetworkProfile)

-- | 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 Device Farm console URL for the recording of the run.
runWebURL :: Lens' Run (Maybe Text)

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

-- | The ARN of the device pool for the run.
runDevicePoolARN :: Lens' Run (Maybe Text)

-- | 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>srcCustomerArtifactPaths</a> - Input
--   <tt>CustomerArtifactPaths</tt> object for the scheduled run
--   configuration.</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>
--   <li><a>srcVpceConfigurationARNs</a> - An array of Amazon Resource
--   Names (ARNs) for your VPC endpoint configurations.</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)

-- | Input <tt>CustomerArtifactPaths</tt> object for the scheduled run
--   configuration.
srcCustomerArtifactPaths :: Lens' ScheduleRunConfiguration (Maybe CustomerArtifactPaths)

-- | 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]

-- | An array of Amazon Resource Names (ARNs) for your VPC endpoint
--   configurations.
srcVpceConfigurationARNs :: 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 the
--   following test framework parameters and fixture settings: For Calabash
--   tests: * profile: A cucumber profile, for example, "my_profile_name".
--   * tags: You can limit execution to features or scenarios that have (or
--   don't have) certain tags, for example, "<tt>smoke" or
--   "</tt>smoke,~@wip". For Appium tests (all types): * appium_version:
--   The Appium version. Currently supported values are "1.4.16", "1.6.3",
--   "latest", and "default". * “latest” will run the latest Appium version
--   supported by Device Farm (1.6.3). * For “default”, Device Farm will
--   choose a compatible version of Appium for the device. The current
--   behavior is to run 1.4.16 on Android devices and iOS 9 and earlier,
--   1.6.3 for iOS 10 and later. * This behavior is subject to change. For
--   Fuzz tests (Android only): * event_count: The number of events,
--   between 1 and 10000, that the UI fuzz test should perform. * throttle:
--   The time, in ms, between 0 and 1000, that the UI fuzz test should wait
--   between events. * seed: A seed to use for randomizing the UI fuzz
--   test. Using the same seed value between tests ensures identical event
--   sequences. For Explorer tests: * username: A username to use if the
--   Explorer encounters a login form. If not supplied, no username will be
--   inserted. * password: A password to use if the Explorer encounters a
--   login form. If not supplied, no password will be inserted. For
--   Instrumentation: * filter: A test filter string. Examples: * Running a
--   single test case: "com.android.abc.Test1" * Running a single test:
--   "com.android.abc.Test1smoke" * Running multiple tests:
--   "com.android.abc.Test1,com.android.abc.Test2"</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 the following test framework parameters
--   and fixture settings: For Calabash tests: * profile: A cucumber
--   profile, for example, "my_profile_name". * tags: You can limit
--   execution to features or scenarios that have (or don't have) certain
--   tags, for example, "<tt>smoke" or "</tt>smoke,~@wip". For Appium tests
--   (all types): * appium_version: The Appium version. Currently supported
--   values are "1.4.16", "1.6.3", "latest", and "default". * “latest” will
--   run the latest Appium version supported by Device Farm (1.6.3). * For
--   “default”, Device Farm will choose a compatible version of Appium for
--   the device. The current behavior is to run 1.4.16 on Android devices
--   and iOS 9 and earlier, 1.6.3 for iOS 10 and later. * This behavior is
--   subject to change. For Fuzz tests (Android only): * event_count: The
--   number of events, between 1 and 10000, that the UI fuzz test should
--   perform. * throttle: The time, in ms, between 0 and 1000, that the UI
--   fuzz test should wait between events. * seed: A seed to use for
--   randomizing the UI fuzz test. Using the same seed value between tests
--   ensures identical event sequences. For Explorer tests: * username: A
--   username to use if the Explorer encounters a login form. If not
--   supplied, no username will be inserted. * password: A password to use
--   if the Explorer encounters a login form. If not supplied, no password
--   will be inserted. For Instrumentation: * filter: A test filter string.
--   Examples: * Running a single test case: "com.android.abc.Test1" *
--   Running a single test: "com.android.abc.Test1smoke" * Running multiple
--   tests: "com.android.abc.Test1,com.android.abc.Test2"
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)

-- | Represents information about free trial device minutes for an AWS
--   account.
--   
--   <i>See:</i> <a>trialMinutes</a> smart constructor.
data TrialMinutes

-- | Creates a value of <a>TrialMinutes</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>tmRemaining</a> - The number of free trial minutes remaining in
--   the account.</li>
--   <li><a>tmTotal</a> - The total number of free trial minutes that the
--   account started with.</li>
--   </ul>
trialMinutes :: TrialMinutes

-- | The number of free trial minutes remaining in the account.
tmRemaining :: Lens' TrialMinutes (Maybe Double)

-- | The total number of free trial minutes that the account started with.
tmTotal :: Lens' TrialMinutes (Maybe Double)

-- | 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)

-- | Represents an Amazon Virtual Private Cloud (VPC) endpoint
--   configuration.
--   
--   <i>See:</i> <a>vpcEConfiguration</a> smart constructor.
data VPCEConfiguration

-- | Creates a value of <a>VPCEConfiguration</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>vecVpceServiceName</a> - The name of the VPC endpoint service
--   running inside your AWS account that you want Device Farm to
--   test.</li>
--   <li><a>vecArn</a> - The Amazon Resource Name (ARN) of the VPC endpoint
--   configuration.</li>
--   <li><a>vecVpceConfigurationName</a> - The friendly name you give to
--   your VPC endpoint configuration, to manage your configurations more
--   easily.</li>
--   <li><a>vecServiceDNSName</a> - The DNS name that maps to the private
--   IP address of the service you want to access.</li>
--   <li><a>vecVpceConfigurationDescription</a> - An optional description,
--   providing more details about your VPC endpoint configuration.</li>
--   </ul>
vpcEConfiguration :: VPCEConfiguration

-- | The name of the VPC endpoint service running inside your AWS account
--   that you want Device Farm to test.
vecVpceServiceName :: Lens' VPCEConfiguration (Maybe Text)

-- | The Amazon Resource Name (ARN) of the VPC endpoint configuration.
vecArn :: Lens' VPCEConfiguration (Maybe Text)

-- | The friendly name you give to your VPC endpoint configuration, to
--   manage your configurations more easily.
vecVpceConfigurationName :: Lens' VPCEConfiguration (Maybe Text)

-- | The DNS name that maps to the private IP address of the service you
--   want to access.
vecServiceDNSName :: Lens' VPCEConfiguration (Maybe Text)

-- | An optional description, providing more details about your VPC
--   endpoint configuration.
vecVpceConfigurationDescription :: Lens' VPCEConfiguration (Maybe Text)


-- | 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> - The run that was stopped.</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

-- | The run that was stopped.
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 Control.DeepSeq.NFData Network.AWS.DeviceFarm.StopRun.StopRunResponse
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


-- | 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 Control.DeepSeq.NFData Network.AWS.DeviceFarm.StopRemoteAccessSession.StopRemoteAccessSessionResponse
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


-- | 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>srExecutionConfiguration</a> - Specifies configuration
--   information about a test run, such as the execution timeout (in
--   minutes).</li>
--   <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

-- | Specifies configuration information about a test run, such as the
--   execution timeout (in minutes).
srExecutionConfiguration :: Lens' ScheduleRun (Maybe ExecutionConfiguration)

-- | 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 Control.DeepSeq.NFData Network.AWS.DeviceFarm.ScheduleRun.ScheduleRunResponse
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


-- | 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 Control.DeepSeq.NFData Network.AWS.DeviceFarm.RenewOffering.RenewOfferingResponse
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


-- | 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>
--   <li><a>poOfferingPromotionId</a> - The ID of the offering promotion to
--   be applied to the purchase.</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)

-- | The ID of the offering promotion to be applied to the purchase.
poOfferingPromotionId :: 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 Control.DeepSeq.NFData Network.AWS.DeviceFarm.PurchaseOffering.PurchaseOfferingResponse
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


-- | Returns information about all Amazon Virtual Private Cloud (VPC)
--   endpoint configurations in the AWS account.
module Network.AWS.DeviceFarm.ListVPCEConfigurations

-- | Creates a value of <a>ListVPCEConfigurations</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>lvecNextToken</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>lvecMaxResults</a> - An integer specifying the maximum number
--   of items you want to return in the API response.</li>
--   </ul>
listVPCEConfigurations :: ListVPCEConfigurations

-- | <i>See:</i> <a>listVPCEConfigurations</a> smart constructor.
data ListVPCEConfigurations

-- | 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.
lvecNextToken :: Lens' ListVPCEConfigurations (Maybe Text)

-- | An integer specifying the maximum number of items you want to return
--   in the API response.
lvecMaxResults :: Lens' ListVPCEConfigurations (Maybe Int)

-- | Creates a value of <a>ListVPCEConfigurationsResponse</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>lvecrsNextToken</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>lvecrsVpceConfigurations</a> - An array of
--   <tt>VPCEConfiguration</tt> objects containing information about your
--   VPC endpoint configuration.</li>
--   <li><a>lvecrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
listVPCEConfigurationsResponse :: Int -> ListVPCEConfigurationsResponse

-- | <i>See:</i> <a>listVPCEConfigurationsResponse</a> smart constructor.
data ListVPCEConfigurationsResponse

-- | 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.
lvecrsNextToken :: Lens' ListVPCEConfigurationsResponse (Maybe Text)

-- | An array of <tt>VPCEConfiguration</tt> objects containing information
--   about your VPC endpoint configuration.
lvecrsVpceConfigurations :: Lens' ListVPCEConfigurationsResponse [VPCEConfiguration]

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


-- | 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.Types.AWSRequest Network.AWS.DeviceFarm.ListUploads.ListUploads
instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.ListUploads.ListUploadsResponse
instance Network.AWS.Pager.AWSPager 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


-- | 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.Types.AWSRequest Network.AWS.DeviceFarm.ListUniqueProblems.ListUniqueProblems
instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.ListUniqueProblems.ListUniqueProblemsResponse
instance Network.AWS.Pager.AWSPager 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


-- | Gets information about tests in a given test suite.
--   
--   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 test suite's Amazon Resource Name (ARN).</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 test suite's Amazon Resource Name (ARN).
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.Types.AWSRequest Network.AWS.DeviceFarm.ListTests.ListTests
instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.ListTests.ListTestsResponse
instance Network.AWS.Pager.AWSPager 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


-- | Gets information about test suites for a given job.
--   
--   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 job's Amazon Resource Name (ARN).</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 job's Amazon Resource Name (ARN).
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.Types.AWSRequest Network.AWS.DeviceFarm.ListSuites.ListSuites
instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.ListSuites.ListSuitesResponse
instance Network.AWS.Pager.AWSPager 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


-- | 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.Types.AWSRequest Network.AWS.DeviceFarm.ListSamples.ListSamples
instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.ListSamples.ListSamplesResponse
instance Network.AWS.Pager.AWSPager 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


-- | 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.Types.AWSRequest Network.AWS.DeviceFarm.ListRuns.ListRuns
instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.ListRuns.ListRunsResponse
instance Network.AWS.Pager.AWSPager 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


-- | 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 Control.DeepSeq.NFData Network.AWS.DeviceFarm.ListRemoteAccessSessions.ListRemoteAccessSessionsResponse
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


-- | 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.Types.AWSRequest Network.AWS.DeviceFarm.ListProjects.ListProjects
instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.ListProjects.ListProjectsResponse
instance Network.AWS.Pager.AWSPager 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


-- | 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.
--   
--   This operation returns paginated results.
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 Control.DeepSeq.NFData Network.AWS.DeviceFarm.ListOfferings.ListOfferingsResponse
instance Network.AWS.Pager.AWSPager 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


-- | 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.
--   
--   This operation returns paginated results.
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 Control.DeepSeq.NFData Network.AWS.DeviceFarm.ListOfferingTransactions.ListOfferingTransactionsResponse
instance Network.AWS.Pager.AWSPager 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


-- | Returns a list of offering promotions. Each offering promotion record
--   contains the ID and description of the promotion. The API returns a
--   <tt>NotEligible</tt> error if the caller is not permitted to invoke
--   the operation. Contact <a>aws-devicefarm-support@amazon.com</a> if you
--   believe that you should be able to invoke this operation.
module Network.AWS.DeviceFarm.ListOfferingPromotions

-- | Creates a value of <a>ListOfferingPromotions</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>lopNextToken</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>
listOfferingPromotions :: ListOfferingPromotions

-- | <i>See:</i> <a>listOfferingPromotions</a> smart constructor.
data ListOfferingPromotions

-- | 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.
lopNextToken :: Lens' ListOfferingPromotions (Maybe Text)

-- | Creates a value of <a>ListOfferingPromotionsResponse</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>loprsNextToken</a> - An identifier to be used in the next call
--   to this operation, to return the next set of items in the list.</li>
--   <li><a>loprsOfferingPromotions</a> - Information about the offering
--   promotions.</li>
--   <li><a>loprsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
listOfferingPromotionsResponse :: Int -> ListOfferingPromotionsResponse

-- | <i>See:</i> <a>listOfferingPromotionsResponse</a> smart constructor.
data ListOfferingPromotionsResponse

-- | An identifier to be used in the next call to this operation, to return
--   the next set of items in the list.
loprsNextToken :: Lens' ListOfferingPromotionsResponse (Maybe Text)

-- | Information about the offering promotions.
loprsOfferingPromotions :: Lens' ListOfferingPromotionsResponse [OfferingPromotion]

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


-- | Returns the list of available network profiles.
module Network.AWS.DeviceFarm.ListNetworkProfiles

-- | Creates a value of <a>ListNetworkProfiles</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>lnpNextToken</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>lnpType</a> - The type of network profile you wish to return
--   information about. Valid values are listed below.</li>
--   <li><a>lnpArn</a> - The Amazon Resource Name (ARN) of the project for
--   which you want to list network profiles.</li>
--   </ul>
listNetworkProfiles :: Text -> ListNetworkProfiles

-- | <i>See:</i> <a>listNetworkProfiles</a> smart constructor.
data ListNetworkProfiles

-- | 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.
lnpNextToken :: Lens' ListNetworkProfiles (Maybe Text)

-- | The type of network profile you wish to return information about.
--   Valid values are listed below.
lnpType :: Lens' ListNetworkProfiles (Maybe NetworkProfileType)

-- | The Amazon Resource Name (ARN) of the project for which you want to
--   list network profiles.
lnpArn :: Lens' ListNetworkProfiles Text

-- | Creates a value of <a>ListNetworkProfilesResponse</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>lnprsNetworkProfiles</a> - A list of the available network
--   profiles.</li>
--   <li><a>lnprsNextToken</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>lnprsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
listNetworkProfilesResponse :: Int -> ListNetworkProfilesResponse

-- | <i>See:</i> <a>listNetworkProfilesResponse</a> smart constructor.
data ListNetworkProfilesResponse

-- | A list of the available network profiles.
lnprsNetworkProfiles :: Lens' ListNetworkProfilesResponse [NetworkProfile]

-- | 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.
lnprsNextToken :: Lens' ListNetworkProfilesResponse (Maybe Text)

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


-- | Gets information about jobs for a given test run.
--   
--   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 run's Amazon Resource Name (ARN).</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 run's Amazon Resource Name (ARN).
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.Types.AWSRequest Network.AWS.DeviceFarm.ListJobs.ListJobs
instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.ListJobs.ListJobsResponse
instance Network.AWS.Pager.AWSPager 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


-- | Returns information about all the instance profiles in an AWS account.
module Network.AWS.DeviceFarm.ListInstanceProfiles

-- | Creates a value of <a>ListInstanceProfiles</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>lipNextToken</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>lipMaxResults</a> - An integer specifying the maximum number of
--   items you want to return in the API response.</li>
--   </ul>
listInstanceProfiles :: ListInstanceProfiles

-- | <i>See:</i> <a>listInstanceProfiles</a> smart constructor.
data ListInstanceProfiles

-- | 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.
lipNextToken :: Lens' ListInstanceProfiles (Maybe Text)

-- | An integer specifying the maximum number of items you want to return
--   in the API response.
lipMaxResults :: Lens' ListInstanceProfiles (Maybe Int)

-- | Creates a value of <a>ListInstanceProfilesResponse</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>liprsNextToken</a> - An identifier that can be used in the next
--   call to this operation to return the next set of items in the
--   list.</li>
--   <li><a>liprsInstanceProfiles</a> - An object containing information
--   about your instance profiles.</li>
--   <li><a>liprsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
listInstanceProfilesResponse :: Int -> ListInstanceProfilesResponse

-- | <i>See:</i> <a>listInstanceProfilesResponse</a> smart constructor.
data ListInstanceProfilesResponse

-- | An identifier that can be used in the next call to this operation to
--   return the next set of items in the list.
liprsNextToken :: Lens' ListInstanceProfilesResponse (Maybe Text)

-- | An object containing information about your instance profiles.
liprsInstanceProfiles :: Lens' ListInstanceProfilesResponse [InstanceProfile]

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


-- | 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.Types.AWSRequest Network.AWS.DeviceFarm.ListDevices.ListDevices
instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.ListDevices.ListDevicesResponse
instance Network.AWS.Pager.AWSPager 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


-- | 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.Types.AWSRequest Network.AWS.DeviceFarm.ListDevicePools.ListDevicePools
instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.ListDevicePools.ListDevicePoolsResponse
instance Network.AWS.Pager.AWSPager 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


-- | Returns information about the private device instances associated with
--   one or more AWS accounts.
module Network.AWS.DeviceFarm.ListDeviceInstances

-- | Creates a value of <a>ListDeviceInstances</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>ldiNextToken</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>ldiMaxResults</a> - An integer specifying the maximum number of
--   items you want to return in the API response.</li>
--   </ul>
listDeviceInstances :: ListDeviceInstances

-- | <i>See:</i> <a>listDeviceInstances</a> smart constructor.
data ListDeviceInstances

-- | 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.
ldiNextToken :: Lens' ListDeviceInstances (Maybe Text)

-- | An integer specifying the maximum number of items you want to return
--   in the API response.
ldiMaxResults :: Lens' ListDeviceInstances (Maybe Int)

-- | Creates a value of <a>ListDeviceInstancesResponse</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>ldirsNextToken</a> - An identifier that can be used in the next
--   call to this operation to return the next set of items in the
--   list.</li>
--   <li><a>ldirsDeviceInstances</a> - An object containing information
--   about your device instances.</li>
--   <li><a>ldirsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
listDeviceInstancesResponse :: Int -> ListDeviceInstancesResponse

-- | <i>See:</i> <a>listDeviceInstancesResponse</a> smart constructor.
data ListDeviceInstancesResponse

-- | An identifier that can be used in the next call to this operation to
--   return the next set of items in the list.
ldirsNextToken :: Lens' ListDeviceInstancesResponse (Maybe Text)

-- | An object containing information about your device instances.
ldirsDeviceInstances :: Lens' ListDeviceInstancesResponse [DeviceInstance]

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


-- | 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.Types.AWSRequest Network.AWS.DeviceFarm.ListArtifacts.ListArtifacts
instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.ListArtifacts.ListArtifactsResponse
instance Network.AWS.Pager.AWSPager 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


-- | 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> - An app to upload or that has been
--   uploaded.</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

-- | An app to upload or that has been uploaded.
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 Control.DeepSeq.NFData Network.AWS.DeviceFarm.InstallToRemoteAccessSession.InstallToRemoteAccessSessionResponse
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


-- | Returns information about the configuration settings for your Amazon
--   Virtual Private Cloud (VPC) endpoint.
module Network.AWS.DeviceFarm.GetVPCEConfiguration

-- | Creates a value of <a>GetVPCEConfiguration</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>gvecArn</a> - The Amazon Resource Name (ARN) of the VPC
--   endpoint configuration you want to describe.</li>
--   </ul>
getVPCEConfiguration :: Text -> GetVPCEConfiguration

-- | <i>See:</i> <a>getVPCEConfiguration</a> smart constructor.
data GetVPCEConfiguration

-- | The Amazon Resource Name (ARN) of the VPC endpoint configuration you
--   want to describe.
gvecArn :: Lens' GetVPCEConfiguration Text

-- | Creates a value of <a>GetVPCEConfigurationResponse</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>gvecrsVpceConfiguration</a> - An object containing information
--   about your VPC endpoint configuration.</li>
--   <li><a>gvecrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
getVPCEConfigurationResponse :: Int -> GetVPCEConfigurationResponse

-- | <i>See:</i> <a>getVPCEConfigurationResponse</a> smart constructor.
data GetVPCEConfigurationResponse

-- | An object containing information about your VPC endpoint
--   configuration.
gvecrsVpceConfiguration :: Lens' GetVPCEConfigurationResponse (Maybe VPCEConfiguration)

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


-- | 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> - An app or a set of one or more tests to upload
--   or that have been uploaded.</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

-- | An app or a set of one or more tests to upload or that have been
--   uploaded.
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 Control.DeepSeq.NFData Network.AWS.DeviceFarm.GetUpload.GetUploadResponse
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


-- | 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> - A test condition that is evaluated.</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

-- | A test condition that is evaluated.
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 Control.DeepSeq.NFData Network.AWS.DeviceFarm.GetTest.GetTestResponse
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


-- | 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> - A collection of one or more tests.</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

-- | A collection of one or more tests.
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 Control.DeepSeq.NFData Network.AWS.DeviceFarm.GetSuite.GetSuiteResponse
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


-- | 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> - The run you wish to get results from.</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

-- | The run you wish to get results from.
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 Control.DeepSeq.NFData Network.AWS.DeviceFarm.GetRun.GetRunResponse
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


-- | 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 Control.DeepSeq.NFData Network.AWS.DeviceFarm.GetRemoteAccessSession.GetRemoteAccessSessionResponse
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


-- | 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> - The project you wish to get information
--   about.</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

-- | The project you wish to get information about.
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 Control.DeepSeq.NFData Network.AWS.DeviceFarm.GetProject.GetProjectResponse
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


-- | 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.
--   
--   This operation returns paginated results.
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 Control.DeepSeq.NFData Network.AWS.DeviceFarm.GetOfferingStatus.GetOfferingStatusResponse
instance Network.AWS.Pager.AWSPager 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


-- | Returns information about a network profile.
module Network.AWS.DeviceFarm.GetNetworkProfile

-- | Creates a value of <a>GetNetworkProfile</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>gnpArn</a> - The Amazon Resource Name (ARN) of the network
--   profile you want to return information about.</li>
--   </ul>
getNetworkProfile :: Text -> GetNetworkProfile

-- | <i>See:</i> <a>getNetworkProfile</a> smart constructor.
data GetNetworkProfile

-- | The Amazon Resource Name (ARN) of the network profile you want to
--   return information about.
gnpArn :: Lens' GetNetworkProfile Text

-- | Creates a value of <a>GetNetworkProfileResponse</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>gnprsNetworkProfile</a> - The network profile.</li>
--   <li><a>gnprsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
getNetworkProfileResponse :: Int -> GetNetworkProfileResponse

-- | <i>See:</i> <a>getNetworkProfileResponse</a> smart constructor.
data GetNetworkProfileResponse

-- | The network profile.
gnprsNetworkProfile :: Lens' GetNetworkProfileResponse (Maybe NetworkProfile)

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


-- | 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> - An object containing information about the
--   requested job.</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

-- | An object containing information about the requested job.
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 Control.DeepSeq.NFData Network.AWS.DeviceFarm.GetJob.GetJobResponse
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


-- | Returns information about the specified instance profile.
module Network.AWS.DeviceFarm.GetInstanceProfile

-- | Creates a value of <a>GetInstanceProfile</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>gipArn</a> - The Amazon Resource Name (ARN) of your instance
--   profile.</li>
--   </ul>
getInstanceProfile :: Text -> GetInstanceProfile

-- | <i>See:</i> <a>getInstanceProfile</a> smart constructor.
data GetInstanceProfile

-- | The Amazon Resource Name (ARN) of your instance profile.
gipArn :: Lens' GetInstanceProfile Text

-- | Creates a value of <a>GetInstanceProfileResponse</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>giprsInstanceProfile</a> - An object containing information
--   about your instance profile.</li>
--   <li><a>giprsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
getInstanceProfileResponse :: Int -> GetInstanceProfileResponse

-- | <i>See:</i> <a>getInstanceProfileResponse</a> smart constructor.
data GetInstanceProfileResponse

-- | An object containing information about your instance profile.
giprsInstanceProfile :: Lens' GetInstanceProfileResponse (Maybe InstanceProfile)

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


-- | 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>gdpcTest</a> - Information about the uploaded test to be run
--   against the device pool.</li>
--   <li><a>gdpcAppARN</a> - The ARN of the app that is associated with the
--   specified device pool.</li>
--   <li><a>gdpcConfiguration</a> - An object containing information about
--   the settings for a run.</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

-- | Information about the uploaded test to be run against the device pool.
gdpcTest :: Lens' GetDevicePoolCompatibility (Maybe ScheduleRunTest)

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

-- | An object containing information about the settings for a run.
gdpcConfiguration :: Lens' GetDevicePoolCompatibility (Maybe ScheduleRunConfiguration)

-- | 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 Control.DeepSeq.NFData Network.AWS.DeviceFarm.GetDevicePoolCompatibility.GetDevicePoolCompatibilityResponse
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


-- | 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> - An object containing information about
--   the requested device pool.</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

-- | An object containing information about the requested device pool.
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 Control.DeepSeq.NFData Network.AWS.DeviceFarm.GetDevicePool.GetDevicePoolResponse
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


-- | Returns information about a device instance belonging to a private
--   device fleet.
module Network.AWS.DeviceFarm.GetDeviceInstance

-- | Creates a value of <a>GetDeviceInstance</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>gdiArn</a> - The Amazon Resource Name (ARN) of the instance
--   you're requesting information about.</li>
--   </ul>
getDeviceInstance :: Text -> GetDeviceInstance

-- | <i>See:</i> <a>getDeviceInstance</a> smart constructor.
data GetDeviceInstance

-- | The Amazon Resource Name (ARN) of the instance you're requesting
--   information about.
gdiArn :: Lens' GetDeviceInstance Text

-- | Creates a value of <a>GetDeviceInstanceResponse</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>gdirsDeviceInstance</a> - An object containing information
--   about your device instance.</li>
--   <li><a>gdirsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
getDeviceInstanceResponse :: Int -> GetDeviceInstanceResponse

-- | <i>See:</i> <a>getDeviceInstanceResponse</a> smart constructor.
data GetDeviceInstanceResponse

-- | An object containing information about your device instance.
gdirsDeviceInstance :: Lens' GetDeviceInstanceResponse (Maybe DeviceInstance)

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


-- | 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> - An object containing information about the
--   requested device.</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

-- | An object containing information about the requested device.
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 Control.DeepSeq.NFData Network.AWS.DeviceFarm.GetDevice.GetDeviceResponse
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


-- | 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> - The account settings.</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

-- | The account settings.
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 Control.DeepSeq.NFData Network.AWS.DeviceFarm.GetAccountSettings.GetAccountSettingsResponse
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


-- | Deletes a configuration for your Amazon Virtual Private Cloud (VPC)
--   endpoint.
module Network.AWS.DeviceFarm.DeleteVPCEConfiguration

-- | Creates a value of <a>DeleteVPCEConfiguration</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>dvecArn</a> - The Amazon Resource Name (ARN) of the VPC
--   endpoint configuration you want to delete.</li>
--   </ul>
deleteVPCEConfiguration :: Text -> DeleteVPCEConfiguration

-- | <i>See:</i> <a>deleteVPCEConfiguration</a> smart constructor.
data DeleteVPCEConfiguration

-- | The Amazon Resource Name (ARN) of the VPC endpoint configuration you
--   want to delete.
dvecArn :: Lens' DeleteVPCEConfiguration Text

-- | Creates a value of <a>DeleteVPCEConfigurationResponse</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>dvecrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
deleteVPCEConfigurationResponse :: Int -> DeleteVPCEConfigurationResponse

-- | <i>See:</i> <a>deleteVPCEConfigurationResponse</a> smart constructor.
data DeleteVPCEConfigurationResponse

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


-- | 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 Control.DeepSeq.NFData Network.AWS.DeviceFarm.DeleteUpload.DeleteUploadResponse
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


-- | 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 Control.DeepSeq.NFData Network.AWS.DeviceFarm.DeleteRun.DeleteRunResponse
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


-- | 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 Control.DeepSeq.NFData Network.AWS.DeviceFarm.DeleteRemoteAccessSession.DeleteRemoteAccessSessionResponse
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


-- | 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 Control.DeepSeq.NFData Network.AWS.DeviceFarm.DeleteProject.DeleteProjectResponse
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


-- | Deletes a network profile.
module Network.AWS.DeviceFarm.DeleteNetworkProfile

-- | Creates a value of <a>DeleteNetworkProfile</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>dnpArn</a> - The Amazon Resource Name (ARN) of the network
--   profile you want to delete.</li>
--   </ul>
deleteNetworkProfile :: Text -> DeleteNetworkProfile

-- | <i>See:</i> <a>deleteNetworkProfile</a> smart constructor.
data DeleteNetworkProfile

-- | The Amazon Resource Name (ARN) of the network profile you want to
--   delete.
dnpArn :: Lens' DeleteNetworkProfile Text

-- | Creates a value of <a>DeleteNetworkProfileResponse</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>dnprsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
deleteNetworkProfileResponse :: Int -> DeleteNetworkProfileResponse

-- | <i>See:</i> <a>deleteNetworkProfileResponse</a> smart constructor.
data DeleteNetworkProfileResponse

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


-- | Deletes a profile that can be applied to one or more private device
--   instances.
module Network.AWS.DeviceFarm.DeleteInstanceProfile

-- | Creates a value of <a>DeleteInstanceProfile</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>dipArn</a> - The Amazon Resource Name (ARN) of the instance
--   profile you are requesting to delete.</li>
--   </ul>
deleteInstanceProfile :: Text -> DeleteInstanceProfile

-- | <i>See:</i> <a>deleteInstanceProfile</a> smart constructor.
data DeleteInstanceProfile

-- | The Amazon Resource Name (ARN) of the instance profile you are
--   requesting to delete.
dipArn :: Lens' DeleteInstanceProfile Text

-- | Creates a value of <a>DeleteInstanceProfileResponse</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>diprsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
deleteInstanceProfileResponse :: Int -> DeleteInstanceProfileResponse

-- | <i>See:</i> <a>deleteInstanceProfileResponse</a> smart constructor.
data DeleteInstanceProfileResponse

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


-- | 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 Control.DeepSeq.NFData Network.AWS.DeviceFarm.DeleteDevicePool.DeleteDevicePoolResponse
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


-- | Creates a configuration record in Device Farm for your Amazon Virtual
--   Private Cloud (VPC) endpoint.
module Network.AWS.DeviceFarm.CreateVPCEConfiguration

-- | Creates a value of <a>CreateVPCEConfiguration</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>cvecVpceConfigurationDescription</a> - An optional description,
--   providing more details about your VPC endpoint configuration.</li>
--   <li><a>cvecVpceConfigurationName</a> - The friendly name you give to
--   your VPC endpoint configuration, to manage your configurations more
--   easily.</li>
--   <li><a>cvecVpceServiceName</a> - The name of the VPC endpoint service
--   running inside your AWS account that you want Device Farm to
--   test.</li>
--   <li><a>cvecServiceDNSName</a> - The DNS name of the service running in
--   your VPC that you want Device Farm to test.</li>
--   </ul>
createVPCEConfiguration :: Text -> Text -> Text -> CreateVPCEConfiguration

-- | <i>See:</i> <a>createVPCEConfiguration</a> smart constructor.
data CreateVPCEConfiguration

-- | An optional description, providing more details about your VPC
--   endpoint configuration.
cvecVpceConfigurationDescription :: Lens' CreateVPCEConfiguration (Maybe Text)

-- | The friendly name you give to your VPC endpoint configuration, to
--   manage your configurations more easily.
cvecVpceConfigurationName :: Lens' CreateVPCEConfiguration Text

-- | The name of the VPC endpoint service running inside your AWS account
--   that you want Device Farm to test.
cvecVpceServiceName :: Lens' CreateVPCEConfiguration Text

-- | The DNS name of the service running in your VPC that you want Device
--   Farm to test.
cvecServiceDNSName :: Lens' CreateVPCEConfiguration Text

-- | Creates a value of <a>CreateVPCEConfigurationResponse</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>cvecrsVpceConfiguration</a> - An object containing information
--   about your VPC endpoint configuration.</li>
--   <li><a>cvecrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
createVPCEConfigurationResponse :: Int -> CreateVPCEConfigurationResponse

-- | <i>See:</i> <a>createVPCEConfigurationResponse</a> smart constructor.
data CreateVPCEConfigurationResponse

-- | An object containing information about your VPC endpoint
--   configuration.
cvecrsVpceConfiguration :: Lens' CreateVPCEConfigurationResponse (Maybe VPCEConfiguration)

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


-- | 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 Control.DeepSeq.NFData Network.AWS.DeviceFarm.CreateUpload.CreateUploadResponse
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


-- | 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>crasClientId</a> - Unique identifier for the client. If you
--   want access to multiple devices on the same client, you should pass
--   the same <tt>clientId</tt> value in each call to
--   <tt>CreateRemoteAccessSession</tt> . This is required only if
--   <tt>remoteDebugEnabled</tt> is set to <tt>true</tt> .</li>
--   <li><a>crasSkipAppResign</a> - When set to <tt>true</tt> , for private
--   devices, Device Farm will not sign your app again. For public devices,
--   Device Farm always signs your apps again and this parameter has no
--   effect. For more information about how Device Farm re-signs your
--   app(s), see <a>Do you modify my app?</a> in the <i>AWS Device Farm
--   FAQs</i> .</li>
--   <li><a>crasInstanceARN</a> - The Amazon Resource Name (ARN) of the
--   device instance for which you want to create a remote access
--   session.</li>
--   <li><a>crasRemoteRecordEnabled</a> - Set to <tt>true</tt> to enable
--   remote recording for the remote access session.</li>
--   <li><a>crasRemoteRecordAppARN</a> - The Amazon Resource Name (ARN) for
--   the app to be recorded in the remote access session.</li>
--   <li><a>crasSshPublicKey</a> - The public key of the <tt>ssh</tt> key
--   pair you want to use for connecting to remote devices in your remote
--   debugging session. This is only required if
--   <tt>remoteDebugEnabled</tt> is set to <tt>true</tt> .</li>
--   <li><a>crasName</a> - The name of the remote access session that you
--   wish to create.</li>
--   <li><a>crasRemoteDebugEnabled</a> - Set to <tt>true</tt> if you want
--   to access devices remotely for debugging in your remote access
--   session.</li>
--   <li><a>crasConfiguration</a> - The configuration information for the
--   remote access session request.</li>
--   <li><a>crasInteractionMode</a> - The interaction mode of the remote
--   access session. Valid values are: * INTERACTIVE: You can interact with
--   the iOS device by viewing, touching, and rotating the screen. You
--   <b>cannot</b> run XCUITest framework-based tests in this mode. *
--   NO_VIDEO: You are connected to the device but cannot interact with it
--   or view the screen. This mode has the fastest test execution speed.
--   You <b>can</b> run XCUITest framework-based tests in this mode. *
--   VIDEO_ONLY: You can view the screen but cannot touch or rotate it. You
--   <b>can</b> run XCUITest framework-based tests and watch the screen in
--   this mode.</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

-- | Unique identifier for the client. If you want access to multiple
--   devices on the same client, you should pass the same <tt>clientId</tt>
--   value in each call to <tt>CreateRemoteAccessSession</tt> . This is
--   required only if <tt>remoteDebugEnabled</tt> is set to <tt>true</tt> .
crasClientId :: Lens' CreateRemoteAccessSession (Maybe Text)

-- | When set to <tt>true</tt> , for private devices, Device Farm will not
--   sign your app again. For public devices, Device Farm always signs your
--   apps again and this parameter has no effect. For more information
--   about how Device Farm re-signs your app(s), see <a>Do you modify my
--   app?</a> in the <i>AWS Device Farm FAQs</i> .
crasSkipAppResign :: Lens' CreateRemoteAccessSession (Maybe Bool)

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

-- | Set to <tt>true</tt> to enable remote recording for the remote access
--   session.
crasRemoteRecordEnabled :: Lens' CreateRemoteAccessSession (Maybe Bool)

-- | The Amazon Resource Name (ARN) for the app to be recorded in the
--   remote access session.
crasRemoteRecordAppARN :: Lens' CreateRemoteAccessSession (Maybe Text)

-- | The public key of the <tt>ssh</tt> key pair you want to use for
--   connecting to remote devices in your remote debugging session. This is
--   only required if <tt>remoteDebugEnabled</tt> is set to <tt>true</tt> .
crasSshPublicKey :: Lens' CreateRemoteAccessSession (Maybe Text)

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

-- | Set to <tt>true</tt> if you want to access devices remotely for
--   debugging in your remote access session.
crasRemoteDebugEnabled :: Lens' CreateRemoteAccessSession (Maybe Bool)

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

-- | The interaction mode of the remote access session. Valid values are: *
--   INTERACTIVE: You can interact with the iOS device by viewing,
--   touching, and rotating the screen. You <b>cannot</b> run XCUITest
--   framework-based tests in this mode. * NO_VIDEO: You are connected to
--   the device but cannot interact with it or view the screen. This mode
--   has the fastest test execution speed. You <b>can</b> run XCUITest
--   framework-based tests in this mode. * VIDEO_ONLY: You can view the
--   screen but cannot touch or rotate it. You <b>can</b> run XCUITest
--   framework-based tests and watch the screen in this mode.
crasInteractionMode :: Lens' CreateRemoteAccessSession (Maybe InteractionMode)

-- | 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 Control.DeepSeq.NFData Network.AWS.DeviceFarm.CreateRemoteAccessSession.CreateRemoteAccessSessionResponse
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


-- | 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>cpDefaultJobTimeoutMinutes</a> - Sets the execution timeout
--   value (in minutes) for a project. All test runs in this project will
--   use the specified execution timeout value unless overridden when
--   scheduling a run.</li>
--   <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

-- | Sets the execution timeout value (in minutes) for a project. All test
--   runs in this project will use the specified execution timeout value
--   unless overridden when scheduling a run.
cpDefaultJobTimeoutMinutes :: Lens' CreateProject (Maybe Int)

-- | 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 Control.DeepSeq.NFData Network.AWS.DeviceFarm.CreateProject.CreateProjectResponse
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


-- | Creates a network profile.
module Network.AWS.DeviceFarm.CreateNetworkProfile

-- | Creates a value of <a>CreateNetworkProfile</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>cnpUplinkJitterMs</a> - Time variation in the delay of received
--   packets in milliseconds as an integer from 0 to 2000.</li>
--   <li><a>cnpUplinkLossPercent</a> - Proportion of transmitted packets
--   that fail to arrive from 0 to 100 percent.</li>
--   <li><a>cnpDownlinkJitterMs</a> - Time variation in the delay of
--   received packets in milliseconds as an integer from 0 to 2000.</li>
--   <li><a>cnpDownlinkLossPercent</a> - Proportion of received packets
--   that fail to arrive from 0 to 100 percent.</li>
--   <li><a>cnpType</a> - The type of network profile you wish to create.
--   Valid values are listed below.</li>
--   <li><a>cnpUplinkDelayMs</a> - Delay time for all packets to
--   destination in milliseconds as an integer from 0 to 2000.</li>
--   <li><a>cnpUplinkBandwidthBits</a> - The data throughput rate in bits
--   per second, as an integer from 0 to 104857600.</li>
--   <li><a>cnpDescription</a> - The description of the network
--   profile.</li>
--   <li><a>cnpDownlinkDelayMs</a> - Delay time for all packets to
--   destination in milliseconds as an integer from 0 to 2000.</li>
--   <li><a>cnpDownlinkBandwidthBits</a> - The data throughput rate in bits
--   per second, as an integer from 0 to 104857600.</li>
--   <li><a>cnpProjectARN</a> - The Amazon Resource Name (ARN) of the
--   project for which you want to create a network profile.</li>
--   <li><a>cnpName</a> - The name you wish to specify for the new network
--   profile.</li>
--   </ul>
createNetworkProfile :: Text -> Text -> CreateNetworkProfile

-- | <i>See:</i> <a>createNetworkProfile</a> smart constructor.
data CreateNetworkProfile

-- | Time variation in the delay of received packets in milliseconds as an
--   integer from 0 to 2000.
cnpUplinkJitterMs :: Lens' CreateNetworkProfile (Maybe Integer)

-- | Proportion of transmitted packets that fail to arrive from 0 to 100
--   percent.
cnpUplinkLossPercent :: Lens' CreateNetworkProfile (Maybe Natural)

-- | Time variation in the delay of received packets in milliseconds as an
--   integer from 0 to 2000.
cnpDownlinkJitterMs :: Lens' CreateNetworkProfile (Maybe Integer)

-- | Proportion of received packets that fail to arrive from 0 to 100
--   percent.
cnpDownlinkLossPercent :: Lens' CreateNetworkProfile (Maybe Natural)

-- | The type of network profile you wish to create. Valid values are
--   listed below.
cnpType :: Lens' CreateNetworkProfile (Maybe NetworkProfileType)

-- | Delay time for all packets to destination in milliseconds as an
--   integer from 0 to 2000.
cnpUplinkDelayMs :: Lens' CreateNetworkProfile (Maybe Integer)

-- | The data throughput rate in bits per second, as an integer from 0 to
--   104857600.
cnpUplinkBandwidthBits :: Lens' CreateNetworkProfile (Maybe Integer)

-- | The description of the network profile.
cnpDescription :: Lens' CreateNetworkProfile (Maybe Text)

-- | Delay time for all packets to destination in milliseconds as an
--   integer from 0 to 2000.
cnpDownlinkDelayMs :: Lens' CreateNetworkProfile (Maybe Integer)

-- | The data throughput rate in bits per second, as an integer from 0 to
--   104857600.
cnpDownlinkBandwidthBits :: Lens' CreateNetworkProfile (Maybe Integer)

-- | The Amazon Resource Name (ARN) of the project for which you want to
--   create a network profile.
cnpProjectARN :: Lens' CreateNetworkProfile Text

-- | The name you wish to specify for the new network profile.
cnpName :: Lens' CreateNetworkProfile Text

-- | Creates a value of <a>CreateNetworkProfileResponse</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>cnprsNetworkProfile</a> - The network profile that is returned
--   by the create network profile request.</li>
--   <li><a>cnprsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
createNetworkProfileResponse :: Int -> CreateNetworkProfileResponse

-- | <i>See:</i> <a>createNetworkProfileResponse</a> smart constructor.
data CreateNetworkProfileResponse

-- | The network profile that is returned by the create network profile
--   request.
cnprsNetworkProfile :: Lens' CreateNetworkProfileResponse (Maybe NetworkProfile)

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


-- | Creates a profile that can be applied to one or more private fleet
--   device instances.
module Network.AWS.DeviceFarm.CreateInstanceProfile

-- | Creates a value of <a>CreateInstanceProfile</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>cipRebootAfterUse</a> - When set to <tt>true</tt> , Device Farm
--   will reboot the instance after a test run. The default value is
--   <tt>true</tt> .</li>
--   <li><a>cipPackageCleanup</a> - When set to <tt>true</tt> , Device Farm
--   will remove app packages after a test run. The default value is
--   <tt>false</tt> for private devices.</li>
--   <li><a>cipExcludeAppPackagesFromCleanup</a> - An array of strings
--   specifying the list of app packages that should not be cleaned up from
--   the device after a test run is over. The list of packages is only
--   considered if you set <tt>packageCleanup</tt> to <tt>true</tt> .</li>
--   <li><a>cipDescription</a> - The description of your instance
--   profile.</li>
--   <li><a>cipName</a> - The name of your instance profile.</li>
--   </ul>
createInstanceProfile :: Text -> CreateInstanceProfile

-- | <i>See:</i> <a>createInstanceProfile</a> smart constructor.
data CreateInstanceProfile

-- | When set to <tt>true</tt> , Device Farm will reboot the instance after
--   a test run. The default value is <tt>true</tt> .
cipRebootAfterUse :: Lens' CreateInstanceProfile (Maybe Bool)

-- | When set to <tt>true</tt> , Device Farm will remove app packages after
--   a test run. The default value is <tt>false</tt> for private devices.
cipPackageCleanup :: Lens' CreateInstanceProfile (Maybe Bool)

-- | An array of strings specifying the list of app packages that should
--   not be cleaned up from the device after a test run is over. The list
--   of packages is only considered if you set <tt>packageCleanup</tt> to
--   <tt>true</tt> .
cipExcludeAppPackagesFromCleanup :: Lens' CreateInstanceProfile [Text]

-- | The description of your instance profile.
cipDescription :: Lens' CreateInstanceProfile (Maybe Text)

-- | The name of your instance profile.
cipName :: Lens' CreateInstanceProfile Text

-- | Creates a value of <a>CreateInstanceProfileResponse</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>ciprsInstanceProfile</a> - An object containing information
--   about your instance profile.</li>
--   <li><a>ciprsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
createInstanceProfileResponse :: Int -> CreateInstanceProfileResponse

-- | <i>See:</i> <a>createInstanceProfileResponse</a> smart constructor.
data CreateInstanceProfileResponse

-- | An object containing information about your instance profile.
ciprsInstanceProfile :: Lens' CreateInstanceProfileResponse (Maybe InstanceProfile)

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


-- | 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 Control.DeepSeq.NFData Network.AWS.DeviceFarm.CreateDevicePool.CreateDevicePoolResponse
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


-- | Updates information about an existing private device instance.
module Network.AWS.DeviceFarm.UpdateDeviceInstance

-- | Creates a value of <a>UpdateDeviceInstance</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>udiProfileARN</a> - The Amazon Resource Name (ARN) of the
--   profile that you want to associate with the device instance.</li>
--   <li><a>udiLabels</a> - An array of strings that you want to associate
--   with the device instance.</li>
--   <li><a>udiArn</a> - The Amazon Resource Name (ARN) of the device
--   instance.</li>
--   </ul>
updateDeviceInstance :: Text -> UpdateDeviceInstance

-- | <i>See:</i> <a>updateDeviceInstance</a> smart constructor.
data UpdateDeviceInstance

-- | The Amazon Resource Name (ARN) of the profile that you want to
--   associate with the device instance.
udiProfileARN :: Lens' UpdateDeviceInstance (Maybe Text)

-- | An array of strings that you want to associate with the device
--   instance.
udiLabels :: Lens' UpdateDeviceInstance [Text]

-- | The Amazon Resource Name (ARN) of the device instance.
udiArn :: Lens' UpdateDeviceInstance Text

-- | Creates a value of <a>UpdateDeviceInstanceResponse</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>udirsDeviceInstance</a> - An object containing information
--   about your device instance.</li>
--   <li><a>udirsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
updateDeviceInstanceResponse :: Int -> UpdateDeviceInstanceResponse

-- | <i>See:</i> <a>updateDeviceInstanceResponse</a> smart constructor.
data UpdateDeviceInstanceResponse

-- | An object containing information about your device instance.
udirsDeviceInstance :: Lens' UpdateDeviceInstanceResponse (Maybe DeviceInstance)

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


-- | 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> - The device pool you just updated.</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

-- | The device pool you just updated.
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 Control.DeepSeq.NFData Network.AWS.DeviceFarm.UpdateDevicePool.UpdateDevicePoolResponse
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


-- | Updates information about an existing private device instance profile.
module Network.AWS.DeviceFarm.UpdateInstanceProfile

-- | Creates a value of <a>UpdateInstanceProfile</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>uipRebootAfterUse</a> - The updated choice for whether you want
--   to reboot the device after use. The default value is <tt>true</tt>
--   .</li>
--   <li><a>uipName</a> - The updated name for your instance profile.</li>
--   <li><a>uipPackageCleanup</a> - The updated choice for whether you want
--   to specify package cleanup. The default value is <tt>false</tt> for
--   private devices.</li>
--   <li><a>uipExcludeAppPackagesFromCleanup</a> - An array of strings
--   specifying the list of app packages that should not be cleaned up from
--   the device after a test run is over. The list of packages is only
--   considered if you set <tt>packageCleanup</tt> to <tt>true</tt> .</li>
--   <li><a>uipDescription</a> - The updated description for your instance
--   profile.</li>
--   <li><a>uipArn</a> - The Amazon Resource Name (ARN) of the instance
--   profile.</li>
--   </ul>
updateInstanceProfile :: Text -> UpdateInstanceProfile

-- | <i>See:</i> <a>updateInstanceProfile</a> smart constructor.
data UpdateInstanceProfile

-- | The updated choice for whether you want to reboot the device after
--   use. The default value is <tt>true</tt> .
uipRebootAfterUse :: Lens' UpdateInstanceProfile (Maybe Bool)

-- | The updated name for your instance profile.
uipName :: Lens' UpdateInstanceProfile (Maybe Text)

-- | The updated choice for whether you want to specify package cleanup.
--   The default value is <tt>false</tt> for private devices.
uipPackageCleanup :: Lens' UpdateInstanceProfile (Maybe Bool)

-- | An array of strings specifying the list of app packages that should
--   not be cleaned up from the device after a test run is over. The list
--   of packages is only considered if you set <tt>packageCleanup</tt> to
--   <tt>true</tt> .
uipExcludeAppPackagesFromCleanup :: Lens' UpdateInstanceProfile [Text]

-- | The updated description for your instance profile.
uipDescription :: Lens' UpdateInstanceProfile (Maybe Text)

-- | The Amazon Resource Name (ARN) of the instance profile.
uipArn :: Lens' UpdateInstanceProfile Text

-- | Creates a value of <a>UpdateInstanceProfileResponse</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>uiprsInstanceProfile</a> - An object containing information
--   about your instance profile.</li>
--   <li><a>uiprsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
updateInstanceProfileResponse :: Int -> UpdateInstanceProfileResponse

-- | <i>See:</i> <a>updateInstanceProfileResponse</a> smart constructor.
data UpdateInstanceProfileResponse

-- | An object containing information about your instance profile.
uiprsInstanceProfile :: Lens' UpdateInstanceProfileResponse (Maybe InstanceProfile)

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


-- | Updates the network profile with specific settings.
module Network.AWS.DeviceFarm.UpdateNetworkProfile

-- | Creates a value of <a>UpdateNetworkProfile</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>unpUplinkJitterMs</a> - Time variation in the delay of received
--   packets in milliseconds as an integer from 0 to 2000.</li>
--   <li><a>unpUplinkLossPercent</a> - Proportion of transmitted packets
--   that fail to arrive from 0 to 100 percent.</li>
--   <li><a>unpDownlinkJitterMs</a> - Time variation in the delay of
--   received packets in milliseconds as an integer from 0 to 2000.</li>
--   <li><a>unpName</a> - The name of the network profile about which you
--   are returning information.</li>
--   <li><a>unpDownlinkLossPercent</a> - Proportion of received packets
--   that fail to arrive from 0 to 100 percent.</li>
--   <li><a>unpType</a> - The type of network profile you wish to return
--   information about. Valid values are listed below.</li>
--   <li><a>unpUplinkDelayMs</a> - Delay time for all packets to
--   destination in milliseconds as an integer from 0 to 2000.</li>
--   <li><a>unpUplinkBandwidthBits</a> - The data throughput rate in bits
--   per second, as an integer from 0 to 104857600.</li>
--   <li><a>unpDescription</a> - The descriptoin of the network profile
--   about which you are returning information.</li>
--   <li><a>unpDownlinkDelayMs</a> - Delay time for all packets to
--   destination in milliseconds as an integer from 0 to 2000.</li>
--   <li><a>unpDownlinkBandwidthBits</a> - The data throughput rate in bits
--   per second, as an integer from 0 to 104857600.</li>
--   <li><a>unpArn</a> - The Amazon Resource Name (ARN) of the project for
--   which you want to update network profile settings.</li>
--   </ul>
updateNetworkProfile :: Text -> UpdateNetworkProfile

-- | <i>See:</i> <a>updateNetworkProfile</a> smart constructor.
data UpdateNetworkProfile

-- | Time variation in the delay of received packets in milliseconds as an
--   integer from 0 to 2000.
unpUplinkJitterMs :: Lens' UpdateNetworkProfile (Maybe Integer)

-- | Proportion of transmitted packets that fail to arrive from 0 to 100
--   percent.
unpUplinkLossPercent :: Lens' UpdateNetworkProfile (Maybe Natural)

-- | Time variation in the delay of received packets in milliseconds as an
--   integer from 0 to 2000.
unpDownlinkJitterMs :: Lens' UpdateNetworkProfile (Maybe Integer)

-- | The name of the network profile about which you are returning
--   information.
unpName :: Lens' UpdateNetworkProfile (Maybe Text)

-- | Proportion of received packets that fail to arrive from 0 to 100
--   percent.
unpDownlinkLossPercent :: Lens' UpdateNetworkProfile (Maybe Natural)

-- | The type of network profile you wish to return information about.
--   Valid values are listed below.
unpType :: Lens' UpdateNetworkProfile (Maybe NetworkProfileType)

-- | Delay time for all packets to destination in milliseconds as an
--   integer from 0 to 2000.
unpUplinkDelayMs :: Lens' UpdateNetworkProfile (Maybe Integer)

-- | The data throughput rate in bits per second, as an integer from 0 to
--   104857600.
unpUplinkBandwidthBits :: Lens' UpdateNetworkProfile (Maybe Integer)

-- | The descriptoin of the network profile about which you are returning
--   information.
unpDescription :: Lens' UpdateNetworkProfile (Maybe Text)

-- | Delay time for all packets to destination in milliseconds as an
--   integer from 0 to 2000.
unpDownlinkDelayMs :: Lens' UpdateNetworkProfile (Maybe Integer)

-- | The data throughput rate in bits per second, as an integer from 0 to
--   104857600.
unpDownlinkBandwidthBits :: Lens' UpdateNetworkProfile (Maybe Integer)

-- | The Amazon Resource Name (ARN) of the project for which you want to
--   update network profile settings.
unpArn :: Lens' UpdateNetworkProfile Text

-- | Creates a value of <a>UpdateNetworkProfileResponse</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>unprsNetworkProfile</a> - A list of the available network
--   profiles.</li>
--   <li><a>unprsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
updateNetworkProfileResponse :: Int -> UpdateNetworkProfileResponse

-- | <i>See:</i> <a>updateNetworkProfileResponse</a> smart constructor.
data UpdateNetworkProfileResponse

-- | A list of the available network profiles.
unprsNetworkProfile :: Lens' UpdateNetworkProfileResponse (Maybe NetworkProfile)

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


-- | 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>upDefaultJobTimeoutMinutes</a> - The number of minutes a test
--   run in the project will execute before it times out.</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 number of minutes a test run in the project will execute before it
--   times out.
upDefaultJobTimeoutMinutes :: Lens' UpdateProject (Maybe Int)

-- | 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> - The project you wish to update.</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

-- | The project you wish to update.
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 Control.DeepSeq.NFData Network.AWS.DeviceFarm.UpdateProject.UpdateProjectResponse
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


-- | Updates information about an existing Amazon Virtual Private Cloud
--   (VPC) endpoint configuration.
module Network.AWS.DeviceFarm.UpdateVPCEConfiguration

-- | Creates a value of <a>UpdateVPCEConfiguration</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>uvecVpceServiceName</a> - The name of the VPC endpoint service
--   running inside your AWS account that you want Device Farm to
--   test.</li>
--   <li><a>uvecVpceConfigurationName</a> - The friendly name you give to
--   your VPC endpoint configuration, to manage your configurations more
--   easily.</li>
--   <li><a>uvecServiceDNSName</a> - The DNS (domain) name used to connect
--   to your private service in your Amazon VPC. The DNS name must not
--   already be in use on the Internet.</li>
--   <li><a>uvecVpceConfigurationDescription</a> - An optional description,
--   providing more details about your VPC endpoint configuration.</li>
--   <li><a>uvecArn</a> - The Amazon Resource Name (ARN) of the VPC
--   endpoint configuration you want to update.</li>
--   </ul>
updateVPCEConfiguration :: Text -> UpdateVPCEConfiguration

-- | <i>See:</i> <a>updateVPCEConfiguration</a> smart constructor.
data UpdateVPCEConfiguration

-- | The name of the VPC endpoint service running inside your AWS account
--   that you want Device Farm to test.
uvecVpceServiceName :: Lens' UpdateVPCEConfiguration (Maybe Text)

-- | The friendly name you give to your VPC endpoint configuration, to
--   manage your configurations more easily.
uvecVpceConfigurationName :: Lens' UpdateVPCEConfiguration (Maybe Text)

-- | The DNS (domain) name used to connect to your private service in your
--   Amazon VPC. The DNS name must not already be in use on the Internet.
uvecServiceDNSName :: Lens' UpdateVPCEConfiguration (Maybe Text)

-- | An optional description, providing more details about your VPC
--   endpoint configuration.
uvecVpceConfigurationDescription :: Lens' UpdateVPCEConfiguration (Maybe Text)

-- | The Amazon Resource Name (ARN) of the VPC endpoint configuration you
--   want to update.
uvecArn :: Lens' UpdateVPCEConfiguration Text

-- | Creates a value of <a>UpdateVPCEConfigurationResponse</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>uvecrsVpceConfiguration</a> - An object containing information
--   about your VPC endpoint configuration.</li>
--   <li><a>uvecrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
updateVPCEConfigurationResponse :: Int -> UpdateVPCEConfigurationResponse

-- | <i>See:</i> <a>updateVPCEConfigurationResponse</a> smart constructor.
data UpdateVPCEConfigurationResponse

-- | An object containing information about your VPC endpoint
--   configuration.
uvecrsVpceConfiguration :: Lens' UpdateVPCEConfigurationResponse (Maybe VPCEConfiguration)

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


module Network.AWS.DeviceFarm.Waiters


-- | 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

-- | There was an error with the update request, or you do not have
--   sufficient permissions to update this VPC endpoint configuration.
_InvalidOperationException :: 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
CustomerArtifact :: ArtifactType
CustomerArtifactLog :: 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
AppiumVersion :: DeviceAttribute
FleetType :: DeviceAttribute
FormFactor :: DeviceAttribute
InstanceARN :: DeviceAttribute
InstanceLabels :: DeviceAttribute
Manufacturer :: DeviceAttribute
Platform :: DeviceAttribute
RemoteAccessEnabled :: DeviceAttribute
RemoteDebugEnabled :: DeviceAttribute
data DeviceFormFactor
Phone :: DeviceFormFactor
Tablet :: DeviceFormFactor
data DevicePlatform
Android :: DevicePlatform
Ios :: DevicePlatform
data DevicePoolType
DPTCurated :: DevicePoolType
DPTPrivate :: DevicePoolType
data ExecutionResult
ERErrored :: ExecutionResult
ERFailed :: ExecutionResult
ERPassed :: ExecutionResult
ERPending :: ExecutionResult
ERSkipped :: ExecutionResult
ERStopped :: ExecutionResult
ERWarned :: ExecutionResult
data ExecutionResultCode
ParsingFailed :: ExecutionResultCode
VPCEndpointSetupFailed :: ExecutionResultCode
data ExecutionStatus
Completed :: ExecutionStatus
Pending :: ExecutionStatus
PendingConcurrency :: ExecutionStatus
PendingDevice :: ExecutionStatus
Preparing :: ExecutionStatus
Processing :: ExecutionStatus
Running :: ExecutionStatus
Scheduling :: ExecutionStatus
Stopping :: ExecutionStatus
data InstanceStatus
ISAvailable :: InstanceStatus
ISInUse :: InstanceStatus
ISNotAvailable :: InstanceStatus
ISPreparing :: InstanceStatus
data InteractionMode
Interactive :: InteractionMode
NoVideo :: InteractionMode
VideoOnly :: InteractionMode
data NetworkProfileType
Curated :: NetworkProfileType
Private :: NetworkProfileType
data OfferingTransactionType
Purchase :: OfferingTransactionType
Renew :: OfferingTransactionType
System :: OfferingTransactionType
data OfferingType
Recurring :: OfferingType
data RecurringChargeFrequency
Monthly :: RecurringChargeFrequency
data RuleOperator
Contains :: 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
RemoteAccessRecord :: TestType
RemoteAccessReplay :: TestType
Uiautomation :: TestType
Uiautomator :: TestType
WebPerformanceProfile :: 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>asSkipAppResign</a> - When set to <tt>true</tt> , for private
--   devices, Device Farm will not sign your app again. For public devices,
--   Device Farm always signs your apps again and this parameter has no
--   effect. For more information about how Device Farm re-signs your
--   app(s), see <a>Do you modify my app?</a> in the <i>AWS Device Farm
--   FAQs</i> .</li>
--   <li><a>asAwsAccountNumber</a> - The AWS account number specified in
--   the <tt>AccountSettings</tt> container.</li>
--   <li><a>asMaxJobTimeoutMinutes</a> - The maximum number of minutes a
--   test run will execute before it times out.</li>
--   <li><a>asMaxSlots</a> - The maximum number of device slots that the
--   AWS account can purchase. Each maximum is expressed as an
--   <tt>offering-id:number</tt> pair, where the <tt>offering-id</tt>
--   represents one of the IDs returned by the <tt>ListOfferings</tt>
--   command.</li>
--   <li><a>asTrialMinutes</a> - Information about an AWS account's usage
--   of free trial device minutes.</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>
--   <li><a>asDefaultJobTimeoutMinutes</a> - The default number of minutes
--   (at the account level) a test run will execute before it times out.
--   Default value is 60 minutes.</li>
--   </ul>
accountSettings :: AccountSettings

-- | When set to <tt>true</tt> , for private devices, Device Farm will not
--   sign your app again. For public devices, Device Farm always signs your
--   apps again and this parameter has no effect. For more information
--   about how Device Farm re-signs your app(s), see <a>Do you modify my
--   app?</a> in the <i>AWS Device Farm FAQs</i> .
asSkipAppResign :: Lens' AccountSettings (Maybe Bool)

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

-- | The maximum number of minutes a test run will execute before it times
--   out.
asMaxJobTimeoutMinutes :: Lens' AccountSettings (Maybe Int)

-- | The maximum number of device slots that the AWS account can purchase.
--   Each maximum is expressed as an <tt>offering-id:number</tt> pair,
--   where the <tt>offering-id</tt> represents one of the IDs returned by
--   the <tt>ListOfferings</tt> command.
asMaxSlots :: Lens' AccountSettings (HashMap Text Int)

-- | Information about an AWS account's usage of free trial device minutes.
asTrialMinutes :: Lens' AccountSettings (Maybe TrialMinutes)

-- | 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)

-- | The default number of minutes (at the account level) a test run will
--   execute before it times out. Default value is 60 minutes.
asDefaultJobTimeoutMinutes :: Lens' AccountSettings (Maybe 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)

-- | Configuration settings for a remote access session, including billing
--   method.
--   
--   <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> - The billing method for the remote
--   access session.</li>
--   </ul>
createRemoteAccessSessionConfiguration :: CreateRemoteAccessSessionConfiguration

-- | The billing method for the remote access session.
crascBillingMethod :: Lens' CreateRemoteAccessSessionConfiguration (Maybe BillingMethod)

-- | A JSON object specifying the paths where the artifacts generated by
--   the customer's tests, on the device or in the test environment, will
--   be pulled from.
--   
--   Specify <tt>deviceHostPaths</tt> and optionally specify either
--   <tt>iosPaths</tt> or <tt>androidPaths</tt> .
--   
--   For web app tests, you can specify both <tt>iosPaths</tt> and
--   <tt>androidPaths</tt> .
--   
--   <i>See:</i> <a>customerArtifactPaths</a> smart constructor.
data CustomerArtifactPaths

-- | Creates a value of <a>CustomerArtifactPaths</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>capAndroidPaths</a> - Comma-separated list of paths on the
--   Android device where the artifacts generated by the customer's tests
--   will be pulled from.</li>
--   <li><a>capDeviceHostPaths</a> - Comma-separated list of paths in the
--   test execution environment where the artifacts generated by the
--   customer's tests will be pulled from.</li>
--   <li><a>capIosPaths</a> - Comma-separated list of paths on the iOS
--   device where the artifacts generated by the customer's tests will be
--   pulled from.</li>
--   </ul>
customerArtifactPaths :: CustomerArtifactPaths

-- | Comma-separated list of paths on the Android device where the
--   artifacts generated by the customer's tests will be pulled from.
capAndroidPaths :: Lens' CustomerArtifactPaths [Text]

-- | Comma-separated list of paths in the test execution environment where
--   the artifacts generated by the customer's tests will be pulled from.
capDeviceHostPaths :: Lens' CustomerArtifactPaths [Text]

-- | Comma-separated list of paths on the iOS device where the artifacts
--   generated by the customer's tests will be pulled from.
capIosPaths :: Lens' CustomerArtifactPaths [Text]

-- | 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>devModelId</a> - The device's model ID.</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> - The resolution of the device.</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>devInstances</a> - The instances belonging to this device.</li>
--   <li><a>devRemoteDebugEnabled</a> - This flag is set to <tt>true</tt>
--   if remote debugging is enabled for the device.</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)

-- | The device's model ID.
devModelId :: Lens' Device (Maybe Text)

-- | 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)

-- | The resolution of the device.
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)

-- | The instances belonging to this device.
devInstances :: Lens' Device [DeviceInstance]

-- | This flag is set to <tt>true</tt> if remote debugging is enabled for
--   the device.
devRemoteDebugEnabled :: Lens' Device (Maybe Bool)

-- | 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 device instance.
--   
--   <i>See:</i> <a>deviceInstance</a> smart constructor.
data DeviceInstance

-- | Creates a value of <a>DeviceInstance</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>diStatus</a> - The status of the device instance. Valid values
--   are listed below.</li>
--   <li><a>diUdid</a> - Unique device identifier for the device
--   instance.</li>
--   <li><a>diInstanceProfile</a> - A object containing information about
--   the instance profile.</li>
--   <li><a>diArn</a> - The Amazon Resource Name (ARN) of the device
--   instance.</li>
--   <li><a>diDeviceARN</a> - The Amazon Resource Name (ARN) of the
--   device.</li>
--   <li><a>diLabels</a> - An array of strings describing the device
--   instance.</li>
--   </ul>
deviceInstance :: DeviceInstance

-- | The status of the device instance. Valid values are listed below.
diStatus :: Lens' DeviceInstance (Maybe InstanceStatus)

-- | Unique device identifier for the device instance.
diUdid :: Lens' DeviceInstance (Maybe Text)

-- | A object containing information about the instance profile.
diInstanceProfile :: Lens' DeviceInstance (Maybe InstanceProfile)

-- | The Amazon Resource Name (ARN) of the device instance.
diArn :: Lens' DeviceInstance (Maybe Text)

-- | The Amazon Resource Name (ARN) of the device.
diDeviceARN :: Lens' DeviceInstance (Maybe Text)

-- | An array of strings describing the device instance.
diLabels :: Lens' DeviceInstance [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> - The device (phone or tablet) that you wish to
--   return information about.</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

-- | The device (phone or tablet) that you wish to return information
--   about.
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 configuration information about a test run, such as the
--   execution timeout (in minutes).
--   
--   <i>See:</i> <a>executionConfiguration</a> smart constructor.
data ExecutionConfiguration

-- | Creates a value of <a>ExecutionConfiguration</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>ecSkipAppResign</a> - When set to <tt>true</tt> , for private
--   devices, Device Farm will not sign your app again. For public devices,
--   Device Farm always signs your apps again and this parameter has no
--   effect. For more information about how Device Farm re-signs your
--   app(s), see <a>Do you modify my app?</a> in the <i>AWS Device Farm
--   FAQs</i> .</li>
--   <li><a>ecAccountsCleanup</a> - True if account cleanup is enabled at
--   the beginning of the test; otherwise, false.</li>
--   <li><a>ecAppPackagesCleanup</a> - True if app package cleanup is
--   enabled at the beginning of the test; otherwise, false.</li>
--   <li><a>ecJobTimeoutMinutes</a> - The number of minutes a test run will
--   execute before it times out.</li>
--   </ul>
executionConfiguration :: ExecutionConfiguration

-- | When set to <tt>true</tt> , for private devices, Device Farm will not
--   sign your app again. For public devices, Device Farm always signs your
--   apps again and this parameter has no effect. For more information
--   about how Device Farm re-signs your app(s), see <a>Do you modify my
--   app?</a> in the <i>AWS Device Farm FAQs</i> .
ecSkipAppResign :: Lens' ExecutionConfiguration (Maybe Bool)

-- | True if account cleanup is enabled at the beginning of the test;
--   otherwise, false.
ecAccountsCleanup :: Lens' ExecutionConfiguration (Maybe Bool)

-- | True if app package cleanup is enabled at the beginning of the test;
--   otherwise, false.
ecAppPackagesCleanup :: Lens' ExecutionConfiguration (Maybe Bool)

-- | The number of minutes a test run will execute before it times out.
ecJobTimeoutMinutes :: Lens' ExecutionConfiguration (Maybe Int)

-- | 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). * REMOTE_ACCESS_ENABLED:
--   Whether the device is enabled for remote access. * APPIUM_VERSION: The
--   Appium version for the test.</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). * REMOTE_ACCESS_ENABLED: Whether the device is
--   enabled for remote access. * APPIUM_VERSION: The Appium version for
--   the test.
imType :: Lens' IncompatibilityMessage (Maybe DeviceAttribute)

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

-- | Represents the instance profile.
--   
--   <i>See:</i> <a>instanceProfile</a> smart constructor.
data InstanceProfile

-- | Creates a value of <a>InstanceProfile</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>ipArn</a> - The Amazon Resource Name (ARN) of the instance
--   profile.</li>
--   <li><a>ipRebootAfterUse</a> - When set to <tt>true</tt> , Device Farm
--   will reboot the instance after a test run. The default value is
--   <tt>true</tt> .</li>
--   <li><a>ipName</a> - The name of the instance profile.</li>
--   <li><a>ipPackageCleanup</a> - When set to <tt>true</tt> , Device Farm
--   will remove app packages after a test run. The default value is
--   <tt>false</tt> for private devices.</li>
--   <li><a>ipExcludeAppPackagesFromCleanup</a> - An array of strings
--   specifying the list of app packages that should not be cleaned up from
--   the device after a test run is over. The list of packages is only
--   considered if you set <tt>packageCleanup</tt> to <tt>true</tt> .</li>
--   <li><a>ipDescription</a> - The description of the instance
--   profile.</li>
--   </ul>
instanceProfile :: InstanceProfile

-- | The Amazon Resource Name (ARN) of the instance profile.
ipArn :: Lens' InstanceProfile (Maybe Text)

-- | When set to <tt>true</tt> , Device Farm will reboot the instance after
--   a test run. The default value is <tt>true</tt> .
ipRebootAfterUse :: Lens' InstanceProfile (Maybe Bool)

-- | The name of the instance profile.
ipName :: Lens' InstanceProfile (Maybe Text)

-- | When set to <tt>true</tt> , Device Farm will remove app packages after
--   a test run. The default value is <tt>false</tt> for private devices.
ipPackageCleanup :: Lens' InstanceProfile (Maybe Bool)

-- | An array of strings specifying the list of app packages that should
--   not be cleaned up from the device after a test run is over. The list
--   of packages is only considered if you set <tt>packageCleanup</tt> to
--   <tt>true</tt> .
ipExcludeAppPackagesFromCleanup :: Lens' InstanceProfile [Text]

-- | The description of the instance profile.
ipDescription :: Lens' InstanceProfile (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>jobInstanceARN</a> - The Amazon Resource Name (ARN) of the
--   instance.</li>
--   <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> - The device (phone or tablet).</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 Amazon Resource Name (ARN) of the instance.
jobInstanceARN :: Lens' Job (Maybe Text)

-- | 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)

-- | The device (phone or tablet).
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)

-- | An array of settings that describes characteristics of a network
--   profile.
--   
--   <i>See:</i> <a>networkProfile</a> smart constructor.
data NetworkProfile

-- | Creates a value of <a>NetworkProfile</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>npUplinkJitterMs</a> - Time variation in the delay of received
--   packets in milliseconds as an integer from 0 to 2000.</li>
--   <li><a>npArn</a> - The Amazon Resource Name (ARN) of the network
--   profile.</li>
--   <li><a>npUplinkLossPercent</a> - Proportion of transmitted packets
--   that fail to arrive from 0 to 100 percent.</li>
--   <li><a>npDownlinkJitterMs</a> - Time variation in the delay of
--   received packets in milliseconds as an integer from 0 to 2000.</li>
--   <li><a>npName</a> - The name of the network profile.</li>
--   <li><a>npDownlinkLossPercent</a> - Proportion of received packets that
--   fail to arrive from 0 to 100 percent.</li>
--   <li><a>npType</a> - The type of network profile. Valid values are
--   listed below.</li>
--   <li><a>npUplinkDelayMs</a> - Delay time for all packets to destination
--   in milliseconds as an integer from 0 to 2000.</li>
--   <li><a>npUplinkBandwidthBits</a> - The data throughput rate in bits
--   per second, as an integer from 0 to 104857600.</li>
--   <li><a>npDescription</a> - The description of the network
--   profile.</li>
--   <li><a>npDownlinkDelayMs</a> - Delay time for all packets to
--   destination in milliseconds as an integer from 0 to 2000.</li>
--   <li><a>npDownlinkBandwidthBits</a> - The data throughput rate in bits
--   per second, as an integer from 0 to 104857600.</li>
--   </ul>
networkProfile :: NetworkProfile

-- | Time variation in the delay of received packets in milliseconds as an
--   integer from 0 to 2000.
npUplinkJitterMs :: Lens' NetworkProfile (Maybe Integer)

-- | The Amazon Resource Name (ARN) of the network profile.
npArn :: Lens' NetworkProfile (Maybe Text)

-- | Proportion of transmitted packets that fail to arrive from 0 to 100
--   percent.
npUplinkLossPercent :: Lens' NetworkProfile (Maybe Natural)

-- | Time variation in the delay of received packets in milliseconds as an
--   integer from 0 to 2000.
npDownlinkJitterMs :: Lens' NetworkProfile (Maybe Integer)

-- | The name of the network profile.
npName :: Lens' NetworkProfile (Maybe Text)

-- | Proportion of received packets that fail to arrive from 0 to 100
--   percent.
npDownlinkLossPercent :: Lens' NetworkProfile (Maybe Natural)

-- | The type of network profile. Valid values are listed below.
npType :: Lens' NetworkProfile (Maybe NetworkProfileType)

-- | Delay time for all packets to destination in milliseconds as an
--   integer from 0 to 2000.
npUplinkDelayMs :: Lens' NetworkProfile (Maybe Integer)

-- | The data throughput rate in bits per second, as an integer from 0 to
--   104857600.
npUplinkBandwidthBits :: Lens' NetworkProfile (Maybe Integer)

-- | The description of the network profile.
npDescription :: Lens' NetworkProfile (Maybe Text)

-- | Delay time for all packets to destination in milliseconds as an
--   integer from 0 to 2000.
npDownlinkDelayMs :: Lens' NetworkProfile (Maybe Integer)

-- | The data throughput rate in bits per second, as an integer from 0 to
--   104857600.
npDownlinkBandwidthBits :: Lens' NetworkProfile (Maybe Integer)

-- | 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)

-- | Represents information about an offering promotion.
--   
--   <i>See:</i> <a>offeringPromotion</a> smart constructor.
data OfferingPromotion

-- | Creates a value of <a>OfferingPromotion</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>opId</a> - The ID of the offering promotion.</li>
--   <li><a>opDescription</a> - A string describing the offering
--   promotion.</li>
--   </ul>
offeringPromotion :: OfferingPromotion

-- | The ID of the offering promotion.
opId :: Lens' OfferingPromotion (Maybe Text)

-- | A string describing the offering promotion.
opDescription :: Lens' OfferingPromotion (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>otOfferingPromotionId</a> - The ID that corresponds to a device
--   offering promotion.</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 ID that corresponds to a device offering promotion.
otOfferingPromotionId :: 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>
--   <li><a>pDefaultJobTimeoutMinutes</a> - The default number of minutes
--   (at the project level) a test run will execute before it times out.
--   Default value is 60 minutes.</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)

-- | The default number of minutes (at the project level) a test run will
--   execute before it times out. Default value is 60 minutes.
pDefaultJobTimeoutMinutes :: Lens' Project (Maybe Int)

-- | 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>rasClientId</a> - Unique identifier of your client for the
--   remote access session. Only returned if remote debugging is enabled
--   for the remote access session.</li>
--   <li><a>rasDeviceUdid</a> - Unique device identifier for the remote
--   device. Only returned if remote debugging is enabled for the remote
--   access session.</li>
--   <li><a>rasSkipAppResign</a> - When set to <tt>true</tt> , for private
--   devices, Device Farm will not sign your app again. For public devices,
--   Device Farm always signs your apps again and this parameter has no
--   effect. For more information about how Device Farm re-signs your
--   app(s), see <a>Do you modify my app?</a> in the <i>AWS Device Farm
--   FAQs</i> .</li>
--   <li><a>rasInstanceARN</a> - The Amazon Resource Name (ARN) of the
--   instance.</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>rasRemoteRecordEnabled</a> - This flag is set to <tt>true</tt>
--   if remote recording is enabled for the remote access session.</li>
--   <li><a>rasArn</a> - The Amazon Resource Name (ARN) of the remote
--   access session.</li>
--   <li><a>rasRemoteRecordAppARN</a> - The Amazon Resource Name (ARN) for
--   the app to be recorded in the remote access session.</li>
--   <li><a>rasCreated</a> - The date and time the remote access session
--   was created.</li>
--   <li><a>rasDevice</a> - The device (phone or tablet) used in the remote
--   access session.</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> - The number of minutes a device is used
--   in a remote access sesssion (including setup and teardown
--   minutes).</li>
--   <li><a>rasRemoteDebugEnabled</a> - This flag is set to <tt>true</tt>
--   if remote debugging is enabled for the remote access session.</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>rasHostAddress</a> - IP address of the EC2 host where you need
--   to connect to remotely debug devices. Only returned if remote
--   debugging is enabled for the remote access session.</li>
--   <li><a>rasInteractionMode</a> - The interaction mode of the remote
--   access session. Valid values are: * INTERACTIVE: You can interact with
--   the iOS device by viewing, touching, and rotating the screen. You
--   <b>cannot</b> run XCUITest framework-based tests in this mode. *
--   NO_VIDEO: You are connected to the device but cannot interact with it
--   or view the screen. This mode has the fastest test execution speed.
--   You <b>can</b> run XCUITest framework-based tests in this mode. *
--   VIDEO_ONLY: You can view the screen but cannot touch or rotate it. You
--   <b>can</b> run XCUITest framework-based tests and watch the screen in
--   this mode.</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)

-- | Unique identifier of your client for the remote access session. Only
--   returned if remote debugging is enabled for the remote access session.
rasClientId :: Lens' RemoteAccessSession (Maybe Text)

-- | Unique device identifier for the remote device. Only returned if
--   remote debugging is enabled for the remote access session.
rasDeviceUdid :: Lens' RemoteAccessSession (Maybe Text)

-- | When set to <tt>true</tt> , for private devices, Device Farm will not
--   sign your app again. For public devices, Device Farm always signs your
--   apps again and this parameter has no effect. For more information
--   about how Device Farm re-signs your app(s), see <a>Do you modify my
--   app?</a> in the <i>AWS Device Farm FAQs</i> .
rasSkipAppResign :: Lens' RemoteAccessSession (Maybe Bool)

-- | The Amazon Resource Name (ARN) of the instance.
rasInstanceARN :: Lens' RemoteAccessSession (Maybe Text)

-- | 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)

-- | This flag is set to <tt>true</tt> if remote recording is enabled for
--   the remote access session.
rasRemoteRecordEnabled :: Lens' RemoteAccessSession (Maybe Bool)

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

-- | The Amazon Resource Name (ARN) for the app to be recorded in the
--   remote access session.
rasRemoteRecordAppARN :: Lens' RemoteAccessSession (Maybe Text)

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

-- | The device (phone or tablet) used in the remote access session.
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)

-- | The number of minutes a device is used in a remote access sesssion
--   (including setup and teardown minutes).
rasDeviceMinutes :: Lens' RemoteAccessSession (Maybe DeviceMinutes)

-- | This flag is set to <tt>true</tt> if remote debugging is enabled for
--   the remote access session.
rasRemoteDebugEnabled :: Lens' RemoteAccessSession (Maybe Bool)

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

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

-- | IP address of the EC2 host where you need to connect to remotely debug
--   devices. Only returned if remote debugging is enabled for the remote
--   access session.
rasHostAddress :: Lens' RemoteAccessSession (Maybe Text)

-- | The interaction mode of the remote access session. Valid values are: *
--   INTERACTIVE: You can interact with the iOS device by viewing,
--   touching, and rotating the screen. You <b>cannot</b> run XCUITest
--   framework-based tests in this mode. * NO_VIDEO: You are connected to
--   the device but cannot interact with it or view the screen. This mode
--   has the fastest test execution speed. You <b>can</b> run XCUITest
--   framework-based tests in this mode. * VIDEO_ONLY: You can view the
--   screen but cannot touch or rotate it. You <b>can</b> run XCUITest
--   framework-based tests and watch the screen in this mode.
rasInteractionMode :: Lens' RemoteAccessSession (Maybe InteractionMode)

-- | 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). * REMOTE_ACCESS_ENABLED: Whether the
--   device is enabled for remote access. * APPIUM_VERSION: The Appium
--   version for the test. * INSTANCE_ARN: The Amazon Resource Name (ARN)
--   of the device instance. * INSTANCE_LABELS: The label of the device
--   instance.</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. * CONTAINS: The contains 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). * REMOTE_ACCESS_ENABLED: Whether the device is
--   enabled for remote access. * APPIUM_VERSION: The Appium version for
--   the test. * INSTANCE_ARN: The Amazon Resource Name (ARN) of the device
--   instance. * INSTANCE_LABELS: The label of the device instance.
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. * CONTAINS: The
--   contains operator.
rOperator :: Lens' Rule (Maybe RuleOperator)

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

-- | Represents a test run on a set of devices with a given app package,
--   test parameters, etc.
--   
--   <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>runSkipAppResign</a> - When set to <tt>true</tt> , for private
--   devices, Device Farm will not sign your app again. For public devices,
--   Device Farm always signs your apps again and this parameter has no
--   effect. For more information about how Device Farm re-signs your
--   app(s), see <a>Do you modify my app?</a> in the <i>AWS Device Farm
--   FAQs</i> .</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>runCustomerArtifactPaths</a> - Output
--   <tt>CustomerArtifactPaths</tt> object for the test run.</li>
--   <li><a>runEventCount</a> - For fuzz tests, this is the number of
--   events, between 1 and 10000, that the UI fuzz test should
--   perform.</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>runSeed</a> - For fuzz tests, this is a seed to use for
--   randomizing the UI fuzz test. Using the same seed value between tests
--   ensures identical event sequences.</li>
--   <li><a>runRadios</a> - Information about the radio states for the
--   run.</li>
--   <li><a>runArn</a> - The run's ARN.</li>
--   <li><a>runLocation</a> - Information about the location that is used
--   for the run.</li>
--   <li><a>runCreated</a> - When the run was created.</li>
--   <li><a>runLocale</a> - Information about the locale that is used for
--   the run.</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>runJobTimeoutMinutes</a> - The number of minutes the job will
--   execute before it times out.</li>
--   <li><a>runCompletedJobs</a> - The total number of completed jobs.</li>
--   <li><a>runResultCode</a> - Supporting field for the result field. Set
--   only if <tt>result</tt> is <tt>SKIPPED</tt> . <tt>PARSING_FAILED</tt>
--   if the result is skipped because of test package parsing failure.</li>
--   <li><a>runName</a> - The run's name.</li>
--   <li><a>runAppUpload</a> - An app to upload or that has been
--   uploaded.</li>
--   <li><a>runParsingResultURL</a> - Read-only URL for an object in S3
--   bucket where you can get the parsing results of the test package. If
--   the test package doesn't parse, the reason why it doesn't parse
--   appears in the file that this URL points to.</li>
--   <li><a>runNetworkProfile</a> - The network profile being used for a
--   test run.</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>runWebURL</a> - The Device Farm console URL for the recording
--   of the run.</li>
--   <li><a>runTotalJobs</a> - The total number of jobs for the run.</li>
--   <li><a>runDevicePoolARN</a> - The ARN of the device pool 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)

-- | When set to <tt>true</tt> , for private devices, Device Farm will not
--   sign your app again. For public devices, Device Farm always signs your
--   apps again and this parameter has no effect. For more information
--   about how Device Farm re-signs your app(s), see <a>Do you modify my
--   app?</a> in the <i>AWS Device Farm FAQs</i> .
runSkipAppResign :: Lens' Run (Maybe Bool)

-- | 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)

-- | Output <tt>CustomerArtifactPaths</tt> object for the test run.
runCustomerArtifactPaths :: Lens' Run (Maybe CustomerArtifactPaths)

-- | For fuzz tests, this is the number of events, between 1 and 10000,
--   that the UI fuzz test should perform.
runEventCount :: Lens' Run (Maybe Int)

-- | 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)

-- | For fuzz tests, this is a seed to use for randomizing the UI fuzz
--   test. Using the same seed value between tests ensures identical event
--   sequences.
runSeed :: Lens' Run (Maybe Int)

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

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

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

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

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

-- | 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 number of minutes the job will execute before it times out.
runJobTimeoutMinutes :: Lens' Run (Maybe Int)

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

-- | Supporting field for the result field. Set only if <tt>result</tt> is
--   <tt>SKIPPED</tt> . <tt>PARSING_FAILED</tt> if the result is skipped
--   because of test package parsing failure.
runResultCode :: Lens' Run (Maybe ExecutionResultCode)

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

-- | An app to upload or that has been uploaded.
runAppUpload :: Lens' Run (Maybe Text)

-- | Read-only URL for an object in S3 bucket where you can get the parsing
--   results of the test package. If the test package doesn't parse, the
--   reason why it doesn't parse appears in the file that this URL points
--   to.
runParsingResultURL :: Lens' Run (Maybe Text)

-- | The network profile being used for a test run.
runNetworkProfile :: Lens' Run (Maybe NetworkProfile)

-- | 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 Device Farm console URL for the recording of the run.
runWebURL :: Lens' Run (Maybe Text)

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

-- | The ARN of the device pool for the run.
runDevicePoolARN :: Lens' Run (Maybe Text)

-- | 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>srcCustomerArtifactPaths</a> - Input
--   <tt>CustomerArtifactPaths</tt> object for the scheduled run
--   configuration.</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>
--   <li><a>srcVpceConfigurationARNs</a> - An array of Amazon Resource
--   Names (ARNs) for your VPC endpoint configurations.</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)

-- | Input <tt>CustomerArtifactPaths</tt> object for the scheduled run
--   configuration.
srcCustomerArtifactPaths :: Lens' ScheduleRunConfiguration (Maybe CustomerArtifactPaths)

-- | 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]

-- | An array of Amazon Resource Names (ARNs) for your VPC endpoint
--   configurations.
srcVpceConfigurationARNs :: 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 the
--   following test framework parameters and fixture settings: For Calabash
--   tests: * profile: A cucumber profile, for example, "my_profile_name".
--   * tags: You can limit execution to features or scenarios that have (or
--   don't have) certain tags, for example, "<tt>smoke" or
--   "</tt>smoke,~@wip". For Appium tests (all types): * appium_version:
--   The Appium version. Currently supported values are "1.4.16", "1.6.3",
--   "latest", and "default". * “latest” will run the latest Appium version
--   supported by Device Farm (1.6.3). * For “default”, Device Farm will
--   choose a compatible version of Appium for the device. The current
--   behavior is to run 1.4.16 on Android devices and iOS 9 and earlier,
--   1.6.3 for iOS 10 and later. * This behavior is subject to change. For
--   Fuzz tests (Android only): * event_count: The number of events,
--   between 1 and 10000, that the UI fuzz test should perform. * throttle:
--   The time, in ms, between 0 and 1000, that the UI fuzz test should wait
--   between events. * seed: A seed to use for randomizing the UI fuzz
--   test. Using the same seed value between tests ensures identical event
--   sequences. For Explorer tests: * username: A username to use if the
--   Explorer encounters a login form. If not supplied, no username will be
--   inserted. * password: A password to use if the Explorer encounters a
--   login form. If not supplied, no password will be inserted. For
--   Instrumentation: * filter: A test filter string. Examples: * Running a
--   single test case: "com.android.abc.Test1" * Running a single test:
--   "com.android.abc.Test1smoke" * Running multiple tests:
--   "com.android.abc.Test1,com.android.abc.Test2"</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 the following test framework parameters
--   and fixture settings: For Calabash tests: * profile: A cucumber
--   profile, for example, "my_profile_name". * tags: You can limit
--   execution to features or scenarios that have (or don't have) certain
--   tags, for example, "<tt>smoke" or "</tt>smoke,~@wip". For Appium tests
--   (all types): * appium_version: The Appium version. Currently supported
--   values are "1.4.16", "1.6.3", "latest", and "default". * “latest” will
--   run the latest Appium version supported by Device Farm (1.6.3). * For
--   “default”, Device Farm will choose a compatible version of Appium for
--   the device. The current behavior is to run 1.4.16 on Android devices
--   and iOS 9 and earlier, 1.6.3 for iOS 10 and later. * This behavior is
--   subject to change. For Fuzz tests (Android only): * event_count: The
--   number of events, between 1 and 10000, that the UI fuzz test should
--   perform. * throttle: The time, in ms, between 0 and 1000, that the UI
--   fuzz test should wait between events. * seed: A seed to use for
--   randomizing the UI fuzz test. Using the same seed value between tests
--   ensures identical event sequences. For Explorer tests: * username: A
--   username to use if the Explorer encounters a login form. If not
--   supplied, no username will be inserted. * password: A password to use
--   if the Explorer encounters a login form. If not supplied, no password
--   will be inserted. For Instrumentation: * filter: A test filter string.
--   Examples: * Running a single test case: "com.android.abc.Test1" *
--   Running a single test: "com.android.abc.Test1smoke" * Running multiple
--   tests: "com.android.abc.Test1,com.android.abc.Test2"
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)

-- | Represents information about free trial device minutes for an AWS
--   account.
--   
--   <i>See:</i> <a>trialMinutes</a> smart constructor.
data TrialMinutes

-- | Creates a value of <a>TrialMinutes</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>tmRemaining</a> - The number of free trial minutes remaining in
--   the account.</li>
--   <li><a>tmTotal</a> - The total number of free trial minutes that the
--   account started with.</li>
--   </ul>
trialMinutes :: TrialMinutes

-- | The number of free trial minutes remaining in the account.
tmRemaining :: Lens' TrialMinutes (Maybe Double)

-- | The total number of free trial minutes that the account started with.
tmTotal :: Lens' TrialMinutes (Maybe Double)

-- | 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)

-- | Represents an Amazon Virtual Private Cloud (VPC) endpoint
--   configuration.
--   
--   <i>See:</i> <a>vpcEConfiguration</a> smart constructor.
data VPCEConfiguration

-- | Creates a value of <a>VPCEConfiguration</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>vecVpceServiceName</a> - The name of the VPC endpoint service
--   running inside your AWS account that you want Device Farm to
--   test.</li>
--   <li><a>vecArn</a> - The Amazon Resource Name (ARN) of the VPC endpoint
--   configuration.</li>
--   <li><a>vecVpceConfigurationName</a> - The friendly name you give to
--   your VPC endpoint configuration, to manage your configurations more
--   easily.</li>
--   <li><a>vecServiceDNSName</a> - The DNS name that maps to the private
--   IP address of the service you want to access.</li>
--   <li><a>vecVpceConfigurationDescription</a> - An optional description,
--   providing more details about your VPC endpoint configuration.</li>
--   </ul>
vpcEConfiguration :: VPCEConfiguration

-- | The name of the VPC endpoint service running inside your AWS account
--   that you want Device Farm to test.
vecVpceServiceName :: Lens' VPCEConfiguration (Maybe Text)

-- | The Amazon Resource Name (ARN) of the VPC endpoint configuration.
vecArn :: Lens' VPCEConfiguration (Maybe Text)

-- | The friendly name you give to your VPC endpoint configuration, to
--   manage your configurations more easily.
vecVpceConfigurationName :: Lens' VPCEConfiguration (Maybe Text)

-- | The DNS name that maps to the private IP address of the service you
--   want to access.
vecServiceDNSName :: Lens' VPCEConfiguration (Maybe Text)

-- | An optional description, providing more details about your VPC
--   endpoint configuration.
vecVpceConfigurationDescription :: Lens' VPCEConfiguration (Maybe Text)
