git-off

git off handles large files in git repos
git clone https://noulin.net/git/git-off.git
Log | Files | Refs | README

devicefarm.d.ts (83148B)


      1 import {Request} from '../lib/request';
      2 import {Response} from '../lib/response';
      3 import {AWSError} from '../lib/error';
      4 import {Service} from '../lib/service';
      5 import {ServiceConfigurationOptions} from '../lib/service';
      6 import {ConfigBase as Config} from '../lib/config';
      7 interface Blob {}
      8 declare class DeviceFarm extends Service {
      9   /**
     10    * Constructs a service object. This object has one method for each API operation.
     11    */
     12   constructor(options?: DeviceFarm.Types.ClientConfiguration)
     13   config: Config & DeviceFarm.Types.ClientConfiguration;
     14   /**
     15    * Creates a device pool.
     16    */
     17   createDevicePool(params: DeviceFarm.Types.CreateDevicePoolRequest, callback?: (err: AWSError, data: DeviceFarm.Types.CreateDevicePoolResult) => void): Request<DeviceFarm.Types.CreateDevicePoolResult, AWSError>;
     18   /**
     19    * Creates a device pool.
     20    */
     21   createDevicePool(callback?: (err: AWSError, data: DeviceFarm.Types.CreateDevicePoolResult) => void): Request<DeviceFarm.Types.CreateDevicePoolResult, AWSError>;
     22   /**
     23    * Creates a new project.
     24    */
     25   createProject(params: DeviceFarm.Types.CreateProjectRequest, callback?: (err: AWSError, data: DeviceFarm.Types.CreateProjectResult) => void): Request<DeviceFarm.Types.CreateProjectResult, AWSError>;
     26   /**
     27    * Creates a new project.
     28    */
     29   createProject(callback?: (err: AWSError, data: DeviceFarm.Types.CreateProjectResult) => void): Request<DeviceFarm.Types.CreateProjectResult, AWSError>;
     30   /**
     31    * Specifies and starts a remote access session.
     32    */
     33   createRemoteAccessSession(params: DeviceFarm.Types.CreateRemoteAccessSessionRequest, callback?: (err: AWSError, data: DeviceFarm.Types.CreateRemoteAccessSessionResult) => void): Request<DeviceFarm.Types.CreateRemoteAccessSessionResult, AWSError>;
     34   /**
     35    * Specifies and starts a remote access session.
     36    */
     37   createRemoteAccessSession(callback?: (err: AWSError, data: DeviceFarm.Types.CreateRemoteAccessSessionResult) => void): Request<DeviceFarm.Types.CreateRemoteAccessSessionResult, AWSError>;
     38   /**
     39    * Uploads an app or test scripts.
     40    */
     41   createUpload(params: DeviceFarm.Types.CreateUploadRequest, callback?: (err: AWSError, data: DeviceFarm.Types.CreateUploadResult) => void): Request<DeviceFarm.Types.CreateUploadResult, AWSError>;
     42   /**
     43    * Uploads an app or test scripts.
     44    */
     45   createUpload(callback?: (err: AWSError, data: DeviceFarm.Types.CreateUploadResult) => void): Request<DeviceFarm.Types.CreateUploadResult, AWSError>;
     46   /**
     47    * Deletes a device pool given the pool ARN. Does not allow deletion of curated pools owned by the system.
     48    */
     49   deleteDevicePool(params: DeviceFarm.Types.DeleteDevicePoolRequest, callback?: (err: AWSError, data: DeviceFarm.Types.DeleteDevicePoolResult) => void): Request<DeviceFarm.Types.DeleteDevicePoolResult, AWSError>;
     50   /**
     51    * Deletes a device pool given the pool ARN. Does not allow deletion of curated pools owned by the system.
     52    */
     53   deleteDevicePool(callback?: (err: AWSError, data: DeviceFarm.Types.DeleteDevicePoolResult) => void): Request<DeviceFarm.Types.DeleteDevicePoolResult, AWSError>;
     54   /**
     55    * Deletes an AWS Device Farm project, given the project ARN.  Note Deleting this resource does not stop an in-progress run.
     56    */
     57   deleteProject(params: DeviceFarm.Types.DeleteProjectRequest, callback?: (err: AWSError, data: DeviceFarm.Types.DeleteProjectResult) => void): Request<DeviceFarm.Types.DeleteProjectResult, AWSError>;
     58   /**
     59    * Deletes an AWS Device Farm project, given the project ARN.  Note Deleting this resource does not stop an in-progress run.
     60    */
     61   deleteProject(callback?: (err: AWSError, data: DeviceFarm.Types.DeleteProjectResult) => void): Request<DeviceFarm.Types.DeleteProjectResult, AWSError>;
     62   /**
     63    * Deletes a completed remote access session and its results.
     64    */
     65   deleteRemoteAccessSession(params: DeviceFarm.Types.DeleteRemoteAccessSessionRequest, callback?: (err: AWSError, data: DeviceFarm.Types.DeleteRemoteAccessSessionResult) => void): Request<DeviceFarm.Types.DeleteRemoteAccessSessionResult, AWSError>;
     66   /**
     67    * Deletes a completed remote access session and its results.
     68    */
     69   deleteRemoteAccessSession(callback?: (err: AWSError, data: DeviceFarm.Types.DeleteRemoteAccessSessionResult) => void): Request<DeviceFarm.Types.DeleteRemoteAccessSessionResult, AWSError>;
     70   /**
     71    * Deletes the run, given the run ARN.  Note Deleting this resource does not stop an in-progress run.
     72    */
     73   deleteRun(params: DeviceFarm.Types.DeleteRunRequest, callback?: (err: AWSError, data: DeviceFarm.Types.DeleteRunResult) => void): Request<DeviceFarm.Types.DeleteRunResult, AWSError>;
     74   /**
     75    * Deletes the run, given the run ARN.  Note Deleting this resource does not stop an in-progress run.
     76    */
     77   deleteRun(callback?: (err: AWSError, data: DeviceFarm.Types.DeleteRunResult) => void): Request<DeviceFarm.Types.DeleteRunResult, AWSError>;
     78   /**
     79    * Deletes an upload given the upload ARN.
     80    */
     81   deleteUpload(params: DeviceFarm.Types.DeleteUploadRequest, callback?: (err: AWSError, data: DeviceFarm.Types.DeleteUploadResult) => void): Request<DeviceFarm.Types.DeleteUploadResult, AWSError>;
     82   /**
     83    * Deletes an upload given the upload ARN.
     84    */
     85   deleteUpload(callback?: (err: AWSError, data: DeviceFarm.Types.DeleteUploadResult) => void): Request<DeviceFarm.Types.DeleteUploadResult, AWSError>;
     86   /**
     87    * Returns the number of unmetered iOS and/or unmetered Android devices that have been purchased by the account.
     88    */
     89   getAccountSettings(params: DeviceFarm.Types.GetAccountSettingsRequest, callback?: (err: AWSError, data: DeviceFarm.Types.GetAccountSettingsResult) => void): Request<DeviceFarm.Types.GetAccountSettingsResult, AWSError>;
     90   /**
     91    * Returns the number of unmetered iOS and/or unmetered Android devices that have been purchased by the account.
     92    */
     93   getAccountSettings(callback?: (err: AWSError, data: DeviceFarm.Types.GetAccountSettingsResult) => void): Request<DeviceFarm.Types.GetAccountSettingsResult, AWSError>;
     94   /**
     95    * Gets information about a unique device type.
     96    */
     97   getDevice(params: DeviceFarm.Types.GetDeviceRequest, callback?: (err: AWSError, data: DeviceFarm.Types.GetDeviceResult) => void): Request<DeviceFarm.Types.GetDeviceResult, AWSError>;
     98   /**
     99    * Gets information about a unique device type.
    100    */
    101   getDevice(callback?: (err: AWSError, data: DeviceFarm.Types.GetDeviceResult) => void): Request<DeviceFarm.Types.GetDeviceResult, AWSError>;
    102   /**
    103    * Gets information about a device pool.
    104    */
    105   getDevicePool(params: DeviceFarm.Types.GetDevicePoolRequest, callback?: (err: AWSError, data: DeviceFarm.Types.GetDevicePoolResult) => void): Request<DeviceFarm.Types.GetDevicePoolResult, AWSError>;
    106   /**
    107    * Gets information about a device pool.
    108    */
    109   getDevicePool(callback?: (err: AWSError, data: DeviceFarm.Types.GetDevicePoolResult) => void): Request<DeviceFarm.Types.GetDevicePoolResult, AWSError>;
    110   /**
    111    * Gets information about compatibility with a device pool.
    112    */
    113   getDevicePoolCompatibility(params: DeviceFarm.Types.GetDevicePoolCompatibilityRequest, callback?: (err: AWSError, data: DeviceFarm.Types.GetDevicePoolCompatibilityResult) => void): Request<DeviceFarm.Types.GetDevicePoolCompatibilityResult, AWSError>;
    114   /**
    115    * Gets information about compatibility with a device pool.
    116    */
    117   getDevicePoolCompatibility(callback?: (err: AWSError, data: DeviceFarm.Types.GetDevicePoolCompatibilityResult) => void): Request<DeviceFarm.Types.GetDevicePoolCompatibilityResult, AWSError>;
    118   /**
    119    * Gets information about a job.
    120    */
    121   getJob(params: DeviceFarm.Types.GetJobRequest, callback?: (err: AWSError, data: DeviceFarm.Types.GetJobResult) => void): Request<DeviceFarm.Types.GetJobResult, AWSError>;
    122   /**
    123    * Gets information about a job.
    124    */
    125   getJob(callback?: (err: AWSError, data: DeviceFarm.Types.GetJobResult) => void): Request<DeviceFarm.Types.GetJobResult, AWSError>;
    126   /**
    127    * 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 NotEligible error if the user is not permitted to invoke the operation. Please contact aws-devicefarm-support@amazon.com if you believe that you should be able to invoke this operation.
    128    */
    129   getOfferingStatus(params: DeviceFarm.Types.GetOfferingStatusRequest, callback?: (err: AWSError, data: DeviceFarm.Types.GetOfferingStatusResult) => void): Request<DeviceFarm.Types.GetOfferingStatusResult, AWSError>;
    130   /**
    131    * 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 NotEligible error if the user is not permitted to invoke the operation. Please contact aws-devicefarm-support@amazon.com if you believe that you should be able to invoke this operation.
    132    */
    133   getOfferingStatus(callback?: (err: AWSError, data: DeviceFarm.Types.GetOfferingStatusResult) => void): Request<DeviceFarm.Types.GetOfferingStatusResult, AWSError>;
    134   /**
    135    * Gets information about a project.
    136    */
    137   getProject(params: DeviceFarm.Types.GetProjectRequest, callback?: (err: AWSError, data: DeviceFarm.Types.GetProjectResult) => void): Request<DeviceFarm.Types.GetProjectResult, AWSError>;
    138   /**
    139    * Gets information about a project.
    140    */
    141   getProject(callback?: (err: AWSError, data: DeviceFarm.Types.GetProjectResult) => void): Request<DeviceFarm.Types.GetProjectResult, AWSError>;
    142   /**
    143    * Returns a link to a currently running remote access session.
    144    */
    145   getRemoteAccessSession(params: DeviceFarm.Types.GetRemoteAccessSessionRequest, callback?: (err: AWSError, data: DeviceFarm.Types.GetRemoteAccessSessionResult) => void): Request<DeviceFarm.Types.GetRemoteAccessSessionResult, AWSError>;
    146   /**
    147    * Returns a link to a currently running remote access session.
    148    */
    149   getRemoteAccessSession(callback?: (err: AWSError, data: DeviceFarm.Types.GetRemoteAccessSessionResult) => void): Request<DeviceFarm.Types.GetRemoteAccessSessionResult, AWSError>;
    150   /**
    151    * Gets information about a run.
    152    */
    153   getRun(params: DeviceFarm.Types.GetRunRequest, callback?: (err: AWSError, data: DeviceFarm.Types.GetRunResult) => void): Request<DeviceFarm.Types.GetRunResult, AWSError>;
    154   /**
    155    * Gets information about a run.
    156    */
    157   getRun(callback?: (err: AWSError, data: DeviceFarm.Types.GetRunResult) => void): Request<DeviceFarm.Types.GetRunResult, AWSError>;
    158   /**
    159    * Gets information about a suite.
    160    */
    161   getSuite(params: DeviceFarm.Types.GetSuiteRequest, callback?: (err: AWSError, data: DeviceFarm.Types.GetSuiteResult) => void): Request<DeviceFarm.Types.GetSuiteResult, AWSError>;
    162   /**
    163    * Gets information about a suite.
    164    */
    165   getSuite(callback?: (err: AWSError, data: DeviceFarm.Types.GetSuiteResult) => void): Request<DeviceFarm.Types.GetSuiteResult, AWSError>;
    166   /**
    167    * Gets information about a test.
    168    */
    169   getTest(params: DeviceFarm.Types.GetTestRequest, callback?: (err: AWSError, data: DeviceFarm.Types.GetTestResult) => void): Request<DeviceFarm.Types.GetTestResult, AWSError>;
    170   /**
    171    * Gets information about a test.
    172    */
    173   getTest(callback?: (err: AWSError, data: DeviceFarm.Types.GetTestResult) => void): Request<DeviceFarm.Types.GetTestResult, AWSError>;
    174   /**
    175    * Gets information about an upload.
    176    */
    177   getUpload(params: DeviceFarm.Types.GetUploadRequest, callback?: (err: AWSError, data: DeviceFarm.Types.GetUploadResult) => void): Request<DeviceFarm.Types.GetUploadResult, AWSError>;
    178   /**
    179    * Gets information about an upload.
    180    */
    181   getUpload(callback?: (err: AWSError, data: DeviceFarm.Types.GetUploadResult) => void): Request<DeviceFarm.Types.GetUploadResult, AWSError>;
    182   /**
    183    * 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.
    184    */
    185   installToRemoteAccessSession(params: DeviceFarm.Types.InstallToRemoteAccessSessionRequest, callback?: (err: AWSError, data: DeviceFarm.Types.InstallToRemoteAccessSessionResult) => void): Request<DeviceFarm.Types.InstallToRemoteAccessSessionResult, AWSError>;
    186   /**
    187    * 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.
    188    */
    189   installToRemoteAccessSession(callback?: (err: AWSError, data: DeviceFarm.Types.InstallToRemoteAccessSessionResult) => void): Request<DeviceFarm.Types.InstallToRemoteAccessSessionResult, AWSError>;
    190   /**
    191    * Gets information about artifacts.
    192    */
    193   listArtifacts(params: DeviceFarm.Types.ListArtifactsRequest, callback?: (err: AWSError, data: DeviceFarm.Types.ListArtifactsResult) => void): Request<DeviceFarm.Types.ListArtifactsResult, AWSError>;
    194   /**
    195    * Gets information about artifacts.
    196    */
    197   listArtifacts(callback?: (err: AWSError, data: DeviceFarm.Types.ListArtifactsResult) => void): Request<DeviceFarm.Types.ListArtifactsResult, AWSError>;
    198   /**
    199    * Gets information about device pools.
    200    */
    201   listDevicePools(params: DeviceFarm.Types.ListDevicePoolsRequest, callback?: (err: AWSError, data: DeviceFarm.Types.ListDevicePoolsResult) => void): Request<DeviceFarm.Types.ListDevicePoolsResult, AWSError>;
    202   /**
    203    * Gets information about device pools.
    204    */
    205   listDevicePools(callback?: (err: AWSError, data: DeviceFarm.Types.ListDevicePoolsResult) => void): Request<DeviceFarm.Types.ListDevicePoolsResult, AWSError>;
    206   /**
    207    * Gets information about unique device types.
    208    */
    209   listDevices(params: DeviceFarm.Types.ListDevicesRequest, callback?: (err: AWSError, data: DeviceFarm.Types.ListDevicesResult) => void): Request<DeviceFarm.Types.ListDevicesResult, AWSError>;
    210   /**
    211    * Gets information about unique device types.
    212    */
    213   listDevices(callback?: (err: AWSError, data: DeviceFarm.Types.ListDevicesResult) => void): Request<DeviceFarm.Types.ListDevicesResult, AWSError>;
    214   /**
    215    * Gets information about jobs.
    216    */
    217   listJobs(params: DeviceFarm.Types.ListJobsRequest, callback?: (err: AWSError, data: DeviceFarm.Types.ListJobsResult) => void): Request<DeviceFarm.Types.ListJobsResult, AWSError>;
    218   /**
    219    * Gets information about jobs.
    220    */
    221   listJobs(callback?: (err: AWSError, data: DeviceFarm.Types.ListJobsResult) => void): Request<DeviceFarm.Types.ListJobsResult, AWSError>;
    222   /**
    223    * 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 NotEligible error if the user is not permitted to invoke the operation. Please contact aws-devicefarm-support@amazon.com if you believe that you should be able to invoke this operation.
    224    */
    225   listOfferingTransactions(params: DeviceFarm.Types.ListOfferingTransactionsRequest, callback?: (err: AWSError, data: DeviceFarm.Types.ListOfferingTransactionsResult) => void): Request<DeviceFarm.Types.ListOfferingTransactionsResult, AWSError>;
    226   /**
    227    * 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 NotEligible error if the user is not permitted to invoke the operation. Please contact aws-devicefarm-support@amazon.com if you believe that you should be able to invoke this operation.
    228    */
    229   listOfferingTransactions(callback?: (err: AWSError, data: DeviceFarm.Types.ListOfferingTransactionsResult) => void): Request<DeviceFarm.Types.ListOfferingTransactionsResult, AWSError>;
    230   /**
    231    * 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 NotEligible error if the user is not permitted to invoke the operation. Please contact aws-devicefarm-support@amazon.com if you believe that you should be able to invoke this operation.
    232    */
    233   listOfferings(params: DeviceFarm.Types.ListOfferingsRequest, callback?: (err: AWSError, data: DeviceFarm.Types.ListOfferingsResult) => void): Request<DeviceFarm.Types.ListOfferingsResult, AWSError>;
    234   /**
    235    * 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 NotEligible error if the user is not permitted to invoke the operation. Please contact aws-devicefarm-support@amazon.com if you believe that you should be able to invoke this operation.
    236    */
    237   listOfferings(callback?: (err: AWSError, data: DeviceFarm.Types.ListOfferingsResult) => void): Request<DeviceFarm.Types.ListOfferingsResult, AWSError>;
    238   /**
    239    * Gets information about projects.
    240    */
    241   listProjects(params: DeviceFarm.Types.ListProjectsRequest, callback?: (err: AWSError, data: DeviceFarm.Types.ListProjectsResult) => void): Request<DeviceFarm.Types.ListProjectsResult, AWSError>;
    242   /**
    243    * Gets information about projects.
    244    */
    245   listProjects(callback?: (err: AWSError, data: DeviceFarm.Types.ListProjectsResult) => void): Request<DeviceFarm.Types.ListProjectsResult, AWSError>;
    246   /**
    247    * Returns a list of all currently running remote access sessions.
    248    */
    249   listRemoteAccessSessions(params: DeviceFarm.Types.ListRemoteAccessSessionsRequest, callback?: (err: AWSError, data: DeviceFarm.Types.ListRemoteAccessSessionsResult) => void): Request<DeviceFarm.Types.ListRemoteAccessSessionsResult, AWSError>;
    250   /**
    251    * Returns a list of all currently running remote access sessions.
    252    */
    253   listRemoteAccessSessions(callback?: (err: AWSError, data: DeviceFarm.Types.ListRemoteAccessSessionsResult) => void): Request<DeviceFarm.Types.ListRemoteAccessSessionsResult, AWSError>;
    254   /**
    255    * Gets information about runs, given an AWS Device Farm project ARN.
    256    */
    257   listRuns(params: DeviceFarm.Types.ListRunsRequest, callback?: (err: AWSError, data: DeviceFarm.Types.ListRunsResult) => void): Request<DeviceFarm.Types.ListRunsResult, AWSError>;
    258   /**
    259    * Gets information about runs, given an AWS Device Farm project ARN.
    260    */
    261   listRuns(callback?: (err: AWSError, data: DeviceFarm.Types.ListRunsResult) => void): Request<DeviceFarm.Types.ListRunsResult, AWSError>;
    262   /**
    263    * Gets information about samples, given an AWS Device Farm project ARN
    264    */
    265   listSamples(params: DeviceFarm.Types.ListSamplesRequest, callback?: (err: AWSError, data: DeviceFarm.Types.ListSamplesResult) => void): Request<DeviceFarm.Types.ListSamplesResult, AWSError>;
    266   /**
    267    * Gets information about samples, given an AWS Device Farm project ARN
    268    */
    269   listSamples(callback?: (err: AWSError, data: DeviceFarm.Types.ListSamplesResult) => void): Request<DeviceFarm.Types.ListSamplesResult, AWSError>;
    270   /**
    271    * Gets information about suites.
    272    */
    273   listSuites(params: DeviceFarm.Types.ListSuitesRequest, callback?: (err: AWSError, data: DeviceFarm.Types.ListSuitesResult) => void): Request<DeviceFarm.Types.ListSuitesResult, AWSError>;
    274   /**
    275    * Gets information about suites.
    276    */
    277   listSuites(callback?: (err: AWSError, data: DeviceFarm.Types.ListSuitesResult) => void): Request<DeviceFarm.Types.ListSuitesResult, AWSError>;
    278   /**
    279    * Gets information about tests.
    280    */
    281   listTests(params: DeviceFarm.Types.ListTestsRequest, callback?: (err: AWSError, data: DeviceFarm.Types.ListTestsResult) => void): Request<DeviceFarm.Types.ListTestsResult, AWSError>;
    282   /**
    283    * Gets information about tests.
    284    */
    285   listTests(callback?: (err: AWSError, data: DeviceFarm.Types.ListTestsResult) => void): Request<DeviceFarm.Types.ListTestsResult, AWSError>;
    286   /**
    287    * Gets information about unique problems.
    288    */
    289   listUniqueProblems(params: DeviceFarm.Types.ListUniqueProblemsRequest, callback?: (err: AWSError, data: DeviceFarm.Types.ListUniqueProblemsResult) => void): Request<DeviceFarm.Types.ListUniqueProblemsResult, AWSError>;
    290   /**
    291    * Gets information about unique problems.
    292    */
    293   listUniqueProblems(callback?: (err: AWSError, data: DeviceFarm.Types.ListUniqueProblemsResult) => void): Request<DeviceFarm.Types.ListUniqueProblemsResult, AWSError>;
    294   /**
    295    * Gets information about uploads, given an AWS Device Farm project ARN.
    296    */
    297   listUploads(params: DeviceFarm.Types.ListUploadsRequest, callback?: (err: AWSError, data: DeviceFarm.Types.ListUploadsResult) => void): Request<DeviceFarm.Types.ListUploadsResult, AWSError>;
    298   /**
    299    * Gets information about uploads, given an AWS Device Farm project ARN.
    300    */
    301   listUploads(callback?: (err: AWSError, data: DeviceFarm.Types.ListUploadsResult) => void): Request<DeviceFarm.Types.ListUploadsResult, AWSError>;
    302   /**
    303    * 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 NotEligible error if the user is not permitted to invoke the operation. Please contact aws-devicefarm-support@amazon.com if you believe that you should be able to invoke this operation.
    304    */
    305   purchaseOffering(params: DeviceFarm.Types.PurchaseOfferingRequest, callback?: (err: AWSError, data: DeviceFarm.Types.PurchaseOfferingResult) => void): Request<DeviceFarm.Types.PurchaseOfferingResult, AWSError>;
    306   /**
    307    * 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 NotEligible error if the user is not permitted to invoke the operation. Please contact aws-devicefarm-support@amazon.com if you believe that you should be able to invoke this operation.
    308    */
    309   purchaseOffering(callback?: (err: AWSError, data: DeviceFarm.Types.PurchaseOfferingResult) => void): Request<DeviceFarm.Types.PurchaseOfferingResult, AWSError>;
    310   /**
    311    * Explicitly sets the quantity of devices to renew for an offering, starting from the effectiveDate of the next period. The API returns a NotEligible error if the user is not permitted to invoke the operation. Please contact aws-devicefarm-support@amazon.com if you believe that you should be able to invoke this operation.
    312    */
    313   renewOffering(params: DeviceFarm.Types.RenewOfferingRequest, callback?: (err: AWSError, data: DeviceFarm.Types.RenewOfferingResult) => void): Request<DeviceFarm.Types.RenewOfferingResult, AWSError>;
    314   /**
    315    * Explicitly sets the quantity of devices to renew for an offering, starting from the effectiveDate of the next period. The API returns a NotEligible error if the user is not permitted to invoke the operation. Please contact aws-devicefarm-support@amazon.com if you believe that you should be able to invoke this operation.
    316    */
    317   renewOffering(callback?: (err: AWSError, data: DeviceFarm.Types.RenewOfferingResult) => void): Request<DeviceFarm.Types.RenewOfferingResult, AWSError>;
    318   /**
    319    * Schedules a run.
    320    */
    321   scheduleRun(params: DeviceFarm.Types.ScheduleRunRequest, callback?: (err: AWSError, data: DeviceFarm.Types.ScheduleRunResult) => void): Request<DeviceFarm.Types.ScheduleRunResult, AWSError>;
    322   /**
    323    * Schedules a run.
    324    */
    325   scheduleRun(callback?: (err: AWSError, data: DeviceFarm.Types.ScheduleRunResult) => void): Request<DeviceFarm.Types.ScheduleRunResult, AWSError>;
    326   /**
    327    * Ends a specified remote access session.
    328    */
    329   stopRemoteAccessSession(params: DeviceFarm.Types.StopRemoteAccessSessionRequest, callback?: (err: AWSError, data: DeviceFarm.Types.StopRemoteAccessSessionResult) => void): Request<DeviceFarm.Types.StopRemoteAccessSessionResult, AWSError>;
    330   /**
    331    * Ends a specified remote access session.
    332    */
    333   stopRemoteAccessSession(callback?: (err: AWSError, data: DeviceFarm.Types.StopRemoteAccessSessionResult) => void): Request<DeviceFarm.Types.StopRemoteAccessSessionResult, AWSError>;
    334   /**
    335    * 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.
    336    */
    337   stopRun(params: DeviceFarm.Types.StopRunRequest, callback?: (err: AWSError, data: DeviceFarm.Types.StopRunResult) => void): Request<DeviceFarm.Types.StopRunResult, AWSError>;
    338   /**
    339    * 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.
    340    */
    341   stopRun(callback?: (err: AWSError, data: DeviceFarm.Types.StopRunResult) => void): Request<DeviceFarm.Types.StopRunResult, AWSError>;
    342   /**
    343    * 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).
    344    */
    345   updateDevicePool(params: DeviceFarm.Types.UpdateDevicePoolRequest, callback?: (err: AWSError, data: DeviceFarm.Types.UpdateDevicePoolResult) => void): Request<DeviceFarm.Types.UpdateDevicePoolResult, AWSError>;
    346   /**
    347    * 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).
    348    */
    349   updateDevicePool(callback?: (err: AWSError, data: DeviceFarm.Types.UpdateDevicePoolResult) => void): Request<DeviceFarm.Types.UpdateDevicePoolResult, AWSError>;
    350   /**
    351    * Modifies the specified project name, given the project ARN and a new name.
    352    */
    353   updateProject(params: DeviceFarm.Types.UpdateProjectRequest, callback?: (err: AWSError, data: DeviceFarm.Types.UpdateProjectResult) => void): Request<DeviceFarm.Types.UpdateProjectResult, AWSError>;
    354   /**
    355    * Modifies the specified project name, given the project ARN and a new name.
    356    */
    357   updateProject(callback?: (err: AWSError, data: DeviceFarm.Types.UpdateProjectResult) => void): Request<DeviceFarm.Types.UpdateProjectResult, AWSError>;
    358 }
    359 declare namespace DeviceFarm.Types {
    360   export type AWSAccountNumber = string;
    361   export interface AccountSettings {
    362     /**
    363      * The AWS account number specified in the AccountSettings container.
    364      */
    365     awsAccountNumber?: AWSAccountNumber;
    366     /**
    367      * Returns the unmetered devices you have purchased or want to purchase.
    368      */
    369     unmeteredDevices?: PurchasedDevicesMap;
    370     /**
    371      * Returns the unmetered remote access devices you have purchased or want to purchase.
    372      */
    373     unmeteredRemoteAccessDevices?: PurchasedDevicesMap;
    374   }
    375   export type AmazonResourceName = string;
    376   export type AmazonResourceNames = AmazonResourceName[];
    377   export interface Artifact {
    378     /**
    379      * The artifact's ARN.
    380      */
    381     arn?: AmazonResourceName;
    382     /**
    383      * The artifact's name.
    384      */
    385     name?: Name;
    386     /**
    387      * 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.  
    388      */
    389     type?: ArtifactType;
    390     /**
    391      * The artifact's file extension.
    392      */
    393     extension?: String;
    394     /**
    395      * The pre-signed Amazon S3 URL that can be used with a corresponding GET request to download the artifact's file.
    396      */
    397     url?: URL;
    398   }
    399   export type ArtifactCategory = "SCREENSHOT"|"FILE"|"LOG"|string;
    400   export type ArtifactType = "UNKNOWN"|"SCREENSHOT"|"DEVICE_LOG"|"MESSAGE_LOG"|"VIDEO_LOG"|"RESULT_LOG"|"SERVICE_LOG"|"WEBKIT_LOG"|"INSTRUMENTATION_OUTPUT"|"EXERCISER_MONKEY_OUTPUT"|"CALABASH_JSON_OUTPUT"|"CALABASH_PRETTY_OUTPUT"|"CALABASH_STANDARD_OUTPUT"|"CALABASH_JAVA_XML_OUTPUT"|"AUTOMATION_OUTPUT"|"APPIUM_SERVER_OUTPUT"|"APPIUM_JAVA_OUTPUT"|"APPIUM_JAVA_XML_OUTPUT"|"APPIUM_PYTHON_OUTPUT"|"APPIUM_PYTHON_XML_OUTPUT"|"EXPLORER_EVENT_LOG"|"EXPLORER_SUMMARY_LOG"|"APPLICATION_CRASH_REPORT"|"XCTEST_LOG"|"VIDEO"|string;
    401   export type Artifacts = Artifact[];
    402   export type BillingMethod = "METERED"|"UNMETERED"|string;
    403   export type Boolean = boolean;
    404   export interface CPU {
    405     /**
    406      * The CPU's frequency.
    407      */
    408     frequency?: String;
    409     /**
    410      * The CPU's architecture, for example x86 or ARM.
    411      */
    412     architecture?: String;
    413     /**
    414      * The clock speed of the device's CPU, expressed in hertz (Hz). For example, a 1.2 GHz CPU is expressed as 1200000000.
    415      */
    416     clock?: Double;
    417   }
    418   export type ContentType = string;
    419   export interface Counters {
    420     /**
    421      * The total number of entities.
    422      */
    423     total?: Integer;
    424     /**
    425      * The number of passed entities.
    426      */
    427     passed?: Integer;
    428     /**
    429      * The number of failed entities.
    430      */
    431     failed?: Integer;
    432     /**
    433      * The number of warned entities.
    434      */
    435     warned?: Integer;
    436     /**
    437      * The number of errored entities.
    438      */
    439     errored?: Integer;
    440     /**
    441      * The number of stopped entities.
    442      */
    443     stopped?: Integer;
    444     /**
    445      * The number of skipped entities.
    446      */
    447     skipped?: Integer;
    448   }
    449   export interface CreateDevicePoolRequest {
    450     /**
    451      * The ARN of the project for the device pool.
    452      */
    453     projectArn: AmazonResourceName;
    454     /**
    455      * The device pool's name.
    456      */
    457     name: Name;
    458     /**
    459      * The device pool's description.
    460      */
    461     description?: Message;
    462     /**
    463      * The device pool's rules.
    464      */
    465     rules: Rules;
    466   }
    467   export interface CreateDevicePoolResult {
    468     /**
    469      * The newly created device pool.
    470      */
    471     devicePool?: DevicePool;
    472   }
    473   export interface CreateProjectRequest {
    474     /**
    475      * The project's name.
    476      */
    477     name: Name;
    478   }
    479   export interface CreateProjectResult {
    480     /**
    481      * The newly created project.
    482      */
    483     project?: Project;
    484   }
    485   export interface CreateRemoteAccessSessionConfiguration {
    486     /**
    487      * Returns the billing method for purposes of configuring a remote access session.
    488      */
    489     billingMethod?: BillingMethod;
    490   }
    491   export interface CreateRemoteAccessSessionRequest {
    492     /**
    493      * The Amazon Resource Name (ARN) of the project for which you want to create a remote access session.
    494      */
    495     projectArn: AmazonResourceName;
    496     /**
    497      * The Amazon Resource Name (ARN) of the device for which you want to create a remote access session.
    498      */
    499     deviceArn: AmazonResourceName;
    500     /**
    501      * The name of the remote access session that you wish to create.
    502      */
    503     name?: Name;
    504     /**
    505      * The configuration information for the remote access session request.
    506      */
    507     configuration?: CreateRemoteAccessSessionConfiguration;
    508   }
    509   export interface CreateRemoteAccessSessionResult {
    510     /**
    511      * A container that describes the remote access session when the request to create a remote access session is sent.
    512      */
    513     remoteAccessSession?: RemoteAccessSession;
    514   }
    515   export interface CreateUploadRequest {
    516     /**
    517      * The ARN of the project for the upload.
    518      */
    519     projectArn: AmazonResourceName;
    520     /**
    521      * The upload's file name. The name should not contain the '/' character. If uploading an iOS app, the file name needs to end with the .ipa extension. If uploading an Android app, the file name needs to end with the .apk extension. For all others, the file name must end with the .zip file extension.
    522      */
    523     name: Name;
    524     /**
    525      * 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.    Note If you call CreateUpload with WEB_APP specified, AWS Device Farm throws an ArgumentException error.
    526      */
    527     type: UploadType;
    528     /**
    529      * The upload's content type (for example, "application/octet-stream").
    530      */
    531     contentType?: ContentType;
    532   }
    533   export interface CreateUploadResult {
    534     /**
    535      * The newly created upload.
    536      */
    537     upload?: Upload;
    538   }
    539   export type CurrencyCode = "USD"|string;
    540   export type DateTime = Date;
    541   export interface DeleteDevicePoolRequest {
    542     /**
    543      * Represents the Amazon Resource Name (ARN) of the Device Farm device pool you wish to delete.
    544      */
    545     arn: AmazonResourceName;
    546   }
    547   export interface DeleteDevicePoolResult {
    548   }
    549   export interface DeleteProjectRequest {
    550     /**
    551      * Represents the Amazon Resource Name (ARN) of the Device Farm project you wish to delete.
    552      */
    553     arn: AmazonResourceName;
    554   }
    555   export interface DeleteProjectResult {
    556   }
    557   export interface DeleteRemoteAccessSessionRequest {
    558     /**
    559      * The Amazon Resource Name (ARN) of the sesssion for which you want to delete remote access.
    560      */
    561     arn: AmazonResourceName;
    562   }
    563   export interface DeleteRemoteAccessSessionResult {
    564   }
    565   export interface DeleteRunRequest {
    566     /**
    567      * The Amazon Resource Name (ARN) for the run you wish to delete.
    568      */
    569     arn: AmazonResourceName;
    570   }
    571   export interface DeleteRunResult {
    572   }
    573   export interface DeleteUploadRequest {
    574     /**
    575      * Represents the Amazon Resource Name (ARN) of the Device Farm upload you wish to delete.
    576      */
    577     arn: AmazonResourceName;
    578   }
    579   export interface DeleteUploadResult {
    580   }
    581   export interface Device {
    582     /**
    583      * The device's ARN.
    584      */
    585     arn?: AmazonResourceName;
    586     /**
    587      * The device's display name.
    588      */
    589     name?: Name;
    590     /**
    591      * The device's manufacturer name.
    592      */
    593     manufacturer?: String;
    594     /**
    595      * The device's model name.
    596      */
    597     model?: String;
    598     /**
    599      * The device's form factor. Allowed values include:   PHONE: The phone form factor.   TABLET: The tablet form factor.  
    600      */
    601     formFactor?: DeviceFormFactor;
    602     /**
    603      * The device's platform. Allowed values include:   ANDROID: The Android platform.   IOS: The iOS platform.  
    604      */
    605     platform?: DevicePlatform;
    606     /**
    607      * The device's operating system type.
    608      */
    609     os?: String;
    610     /**
    611      * Information about the device's CPU.
    612      */
    613     cpu?: CPU;
    614     resolution?: Resolution;
    615     /**
    616      * The device's heap size, expressed in bytes.
    617      */
    618     heapSize?: Long;
    619     /**
    620      * The device's total memory size, expressed in bytes.
    621      */
    622     memory?: Long;
    623     /**
    624      * The device's image name.
    625      */
    626     image?: String;
    627     /**
    628      * The device's carrier.
    629      */
    630     carrier?: String;
    631     /**
    632      * The device's radio.
    633      */
    634     radio?: String;
    635     /**
    636      * Specifies whether remote access has been enabled for the specified device.
    637      */
    638     remoteAccessEnabled?: Boolean;
    639     /**
    640      * The type of fleet to which this device belongs. Possible values for fleet type are PRIVATE and PUBLIC.
    641      */
    642     fleetType?: String;
    643     /**
    644      * The name of the fleet to which this device belongs.
    645      */
    646     fleetName?: String;
    647   }
    648   export type DeviceAttribute = "ARN"|"PLATFORM"|"FORM_FACTOR"|"MANUFACTURER"|"REMOTE_ACCESS_ENABLED"|string;
    649   export type DeviceFormFactor = "PHONE"|"TABLET"|string;
    650   export interface DeviceMinutes {
    651     /**
    652      * When specified, represents the total minutes used by the resource to run tests.
    653      */
    654     total?: Double;
    655     /**
    656      * When specified, represents only the sum of metered minutes used by the resource to run tests.
    657      */
    658     metered?: Double;
    659     /**
    660      * When specified, represents only the sum of unmetered minutes used by the resource to run tests.
    661      */
    662     unmetered?: Double;
    663   }
    664   export type DevicePlatform = "ANDROID"|"IOS"|string;
    665   export interface DevicePool {
    666     /**
    667      * The device pool's ARN.
    668      */
    669     arn?: AmazonResourceName;
    670     /**
    671      * The device pool's name.
    672      */
    673     name?: Name;
    674     /**
    675      * The device pool's description.
    676      */
    677     description?: Message;
    678     /**
    679      * 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.  
    680      */
    681     type?: DevicePoolType;
    682     /**
    683      * Information about the device pool's rules.
    684      */
    685     rules?: Rules;
    686   }
    687   export interface DevicePoolCompatibilityResult {
    688     device?: Device;
    689     /**
    690      * Whether the result was compatible with the device pool.
    691      */
    692     compatible?: Boolean;
    693     /**
    694      * Information about the compatibility.
    695      */
    696     incompatibilityMessages?: IncompatibilityMessages;
    697   }
    698   export type DevicePoolCompatibilityResults = DevicePoolCompatibilityResult[];
    699   export type DevicePoolType = "CURATED"|"PRIVATE"|string;
    700   export type DevicePools = DevicePool[];
    701   export type Devices = Device[];
    702   export type Double = number;
    703   export type ExecutionResult = "PENDING"|"PASSED"|"WARNED"|"FAILED"|"SKIPPED"|"ERRORED"|"STOPPED"|string;
    704   export type ExecutionStatus = "PENDING"|"PENDING_CONCURRENCY"|"PENDING_DEVICE"|"PROCESSING"|"SCHEDULING"|"PREPARING"|"RUNNING"|"COMPLETED"|"STOPPING"|string;
    705   export type Filter = string;
    706   export interface GetAccountSettingsRequest {
    707   }
    708   export interface GetAccountSettingsResult {
    709     accountSettings?: AccountSettings;
    710   }
    711   export interface GetDevicePoolCompatibilityRequest {
    712     /**
    713      * The device pool's ARN.
    714      */
    715     devicePoolArn: AmazonResourceName;
    716     /**
    717      * The ARN of the app that is associated with the specified device pool.
    718      */
    719     appArn?: AmazonResourceName;
    720     /**
    721      * 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.  
    722      */
    723     testType?: TestType;
    724   }
    725   export interface GetDevicePoolCompatibilityResult {
    726     /**
    727      * Information about compatible devices.
    728      */
    729     compatibleDevices?: DevicePoolCompatibilityResults;
    730     /**
    731      * Information about incompatible devices.
    732      */
    733     incompatibleDevices?: DevicePoolCompatibilityResults;
    734   }
    735   export interface GetDevicePoolRequest {
    736     /**
    737      * The device pool's ARN.
    738      */
    739     arn: AmazonResourceName;
    740   }
    741   export interface GetDevicePoolResult {
    742     devicePool?: DevicePool;
    743   }
    744   export interface GetDeviceRequest {
    745     /**
    746      * The device type's ARN.
    747      */
    748     arn: AmazonResourceName;
    749   }
    750   export interface GetDeviceResult {
    751     device?: Device;
    752   }
    753   export interface GetJobRequest {
    754     /**
    755      * The job's ARN.
    756      */
    757     arn: AmazonResourceName;
    758   }
    759   export interface GetJobResult {
    760     job?: Job;
    761   }
    762   export interface GetOfferingStatusRequest {
    763     /**
    764      * 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.
    765      */
    766     nextToken?: PaginationToken;
    767   }
    768   export interface GetOfferingStatusResult {
    769     /**
    770      * When specified, gets the offering status for the current period.
    771      */
    772     current?: OfferingStatusMap;
    773     /**
    774      * When specified, gets the offering status for the next period.
    775      */
    776     nextPeriod?: OfferingStatusMap;
    777     /**
    778      * 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.
    779      */
    780     nextToken?: PaginationToken;
    781   }
    782   export interface GetProjectRequest {
    783     /**
    784      * The project's ARN.
    785      */
    786     arn: AmazonResourceName;
    787   }
    788   export interface GetProjectResult {
    789     project?: Project;
    790   }
    791   export interface GetRemoteAccessSessionRequest {
    792     /**
    793      * The Amazon Resource Name (ARN) of the remote access session about which you want to get session information.
    794      */
    795     arn: AmazonResourceName;
    796   }
    797   export interface GetRemoteAccessSessionResult {
    798     /**
    799      * A container that lists detailed information about the remote access session.
    800      */
    801     remoteAccessSession?: RemoteAccessSession;
    802   }
    803   export interface GetRunRequest {
    804     /**
    805      * The run's ARN.
    806      */
    807     arn: AmazonResourceName;
    808   }
    809   export interface GetRunResult {
    810     run?: Run;
    811   }
    812   export interface GetSuiteRequest {
    813     /**
    814      * The suite's ARN.
    815      */
    816     arn: AmazonResourceName;
    817   }
    818   export interface GetSuiteResult {
    819     suite?: Suite;
    820   }
    821   export interface GetTestRequest {
    822     /**
    823      * The test's ARN.
    824      */
    825     arn: AmazonResourceName;
    826   }
    827   export interface GetTestResult {
    828     test?: Test;
    829   }
    830   export interface GetUploadRequest {
    831     /**
    832      * The upload's ARN.
    833      */
    834     arn: AmazonResourceName;
    835   }
    836   export interface GetUploadResult {
    837     upload?: Upload;
    838   }
    839   export interface IncompatibilityMessage {
    840     /**
    841      * A message about the incompatibility.
    842      */
    843     message?: Message;
    844     /**
    845      * 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).  
    846      */
    847     type?: DeviceAttribute;
    848   }
    849   export type IncompatibilityMessages = IncompatibilityMessage[];
    850   export interface InstallToRemoteAccessSessionRequest {
    851     /**
    852      * The Amazon Resource Name (ARN) of the remote access session about which you are requesting information.
    853      */
    854     remoteAccessSessionArn: AmazonResourceName;
    855     /**
    856      * The Amazon Resource Name (ARN) of the app about which you are requesting information.
    857      */
    858     appArn: AmazonResourceName;
    859   }
    860   export interface InstallToRemoteAccessSessionResult {
    861     appUpload?: Upload;
    862   }
    863   export type Integer = number;
    864   export interface Job {
    865     /**
    866      * The job's ARN.
    867      */
    868     arn?: AmazonResourceName;
    869     /**
    870      * The job's name.
    871      */
    872     name?: Name;
    873     /**
    874      * 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.  
    875      */
    876     type?: TestType;
    877     /**
    878      * When the job was created.
    879      */
    880     created?: DateTime;
    881     /**
    882      * 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.  
    883      */
    884     status?: ExecutionStatus;
    885     /**
    886      * 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.  
    887      */
    888     result?: ExecutionResult;
    889     /**
    890      * The job's start time.
    891      */
    892     started?: DateTime;
    893     /**
    894      * The job's stop time.
    895      */
    896     stopped?: DateTime;
    897     /**
    898      * The job's result counters.
    899      */
    900     counters?: Counters;
    901     /**
    902      * A message about the job's result.
    903      */
    904     message?: Message;
    905     device?: Device;
    906     /**
    907      * Represents the total (metered or unmetered) minutes used by the job.
    908      */
    909     deviceMinutes?: DeviceMinutes;
    910   }
    911   export type Jobs = Job[];
    912   export interface ListArtifactsRequest {
    913     /**
    914      * The Run, Job, Suite, or Test ARN.
    915      */
    916     arn: AmazonResourceName;
    917     /**
    918      * The artifacts' type. Allowed values include:   FILE: The artifacts are files.   LOG: The artifacts are logs.   SCREENSHOT: The artifacts are screenshots.  
    919      */
    920     type: ArtifactCategory;
    921     /**
    922      * 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.
    923      */
    924     nextToken?: PaginationToken;
    925   }
    926   export interface ListArtifactsResult {
    927     /**
    928      * Information about the artifacts.
    929      */
    930     artifacts?: Artifacts;
    931     /**
    932      * 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.
    933      */
    934     nextToken?: PaginationToken;
    935   }
    936   export interface ListDevicePoolsRequest {
    937     /**
    938      * The project ARN.
    939      */
    940     arn: AmazonResourceName;
    941     /**
    942      * 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.  
    943      */
    944     type?: DevicePoolType;
    945     /**
    946      * 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.
    947      */
    948     nextToken?: PaginationToken;
    949   }
    950   export interface ListDevicePoolsResult {
    951     /**
    952      * Information about the device pools.
    953      */
    954     devicePools?: DevicePools;
    955     /**
    956      * 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.
    957      */
    958     nextToken?: PaginationToken;
    959   }
    960   export interface ListDevicesRequest {
    961     /**
    962      * The Amazon Resource Name (ARN) of the project.
    963      */
    964     arn?: AmazonResourceName;
    965     /**
    966      * 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.
    967      */
    968     nextToken?: PaginationToken;
    969   }
    970   export interface ListDevicesResult {
    971     /**
    972      * Information about the devices.
    973      */
    974     devices?: Devices;
    975     /**
    976      * 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.
    977      */
    978     nextToken?: PaginationToken;
    979   }
    980   export interface ListJobsRequest {
    981     /**
    982      * The jobs' ARNs.
    983      */
    984     arn: AmazonResourceName;
    985     /**
    986      * 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.
    987      */
    988     nextToken?: PaginationToken;
    989   }
    990   export interface ListJobsResult {
    991     /**
    992      * Information about the jobs.
    993      */
    994     jobs?: Jobs;
    995     /**
    996      * 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.
    997      */
    998     nextToken?: PaginationToken;
    999   }
   1000   export interface ListOfferingTransactionsRequest {
   1001     /**
   1002      * 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.
   1003      */
   1004     nextToken?: PaginationToken;
   1005   }
   1006   export interface ListOfferingTransactionsResult {
   1007     /**
   1008      * The audit log of subscriptions you have purchased and modified through AWS Device Farm.
   1009      */
   1010     offeringTransactions?: OfferingTransactions;
   1011     /**
   1012      * 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.
   1013      */
   1014     nextToken?: PaginationToken;
   1015   }
   1016   export interface ListOfferingsRequest {
   1017     /**
   1018      * 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.
   1019      */
   1020     nextToken?: PaginationToken;
   1021   }
   1022   export interface ListOfferingsResult {
   1023     /**
   1024      * A value representing the list offering results.
   1025      */
   1026     offerings?: Offerings;
   1027     /**
   1028      * 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.
   1029      */
   1030     nextToken?: PaginationToken;
   1031   }
   1032   export interface ListProjectsRequest {
   1033     /**
   1034      * 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.
   1035      */
   1036     arn?: AmazonResourceName;
   1037     /**
   1038      * 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.
   1039      */
   1040     nextToken?: PaginationToken;
   1041   }
   1042   export interface ListProjectsResult {
   1043     /**
   1044      * Information about the projects.
   1045      */
   1046     projects?: Projects;
   1047     /**
   1048      * 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.
   1049      */
   1050     nextToken?: PaginationToken;
   1051   }
   1052   export interface ListRemoteAccessSessionsRequest {
   1053     /**
   1054      * The Amazon Resource Name (ARN) of the remote access session about which you are requesting information.
   1055      */
   1056     arn: AmazonResourceName;
   1057     /**
   1058      * 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.
   1059      */
   1060     nextToken?: PaginationToken;
   1061   }
   1062   export interface ListRemoteAccessSessionsResult {
   1063     /**
   1064      * A container representing the metadata from the service about each remote access session you are requesting.
   1065      */
   1066     remoteAccessSessions?: RemoteAccessSessions;
   1067     /**
   1068      * 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.
   1069      */
   1070     nextToken?: PaginationToken;
   1071   }
   1072   export interface ListRunsRequest {
   1073     /**
   1074      * The Amazon Resource Name (ARN) of the project for which you want to list runs.
   1075      */
   1076     arn: AmazonResourceName;
   1077     /**
   1078      * 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.
   1079      */
   1080     nextToken?: PaginationToken;
   1081   }
   1082   export interface ListRunsResult {
   1083     /**
   1084      * Information about the runs.
   1085      */
   1086     runs?: Runs;
   1087     /**
   1088      * 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.
   1089      */
   1090     nextToken?: PaginationToken;
   1091   }
   1092   export interface ListSamplesRequest {
   1093     /**
   1094      * The Amazon Resource Name (ARN) of the project for which you want to list samples.
   1095      */
   1096     arn: AmazonResourceName;
   1097     /**
   1098      * 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.
   1099      */
   1100     nextToken?: PaginationToken;
   1101   }
   1102   export interface ListSamplesResult {
   1103     /**
   1104      * Information about the samples.
   1105      */
   1106     samples?: Samples;
   1107     /**
   1108      * 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.
   1109      */
   1110     nextToken?: PaginationToken;
   1111   }
   1112   export interface ListSuitesRequest {
   1113     /**
   1114      * The suites' ARNs.
   1115      */
   1116     arn: AmazonResourceName;
   1117     /**
   1118      * 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.
   1119      */
   1120     nextToken?: PaginationToken;
   1121   }
   1122   export interface ListSuitesResult {
   1123     /**
   1124      * Information about the suites.
   1125      */
   1126     suites?: Suites;
   1127     /**
   1128      * 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.
   1129      */
   1130     nextToken?: PaginationToken;
   1131   }
   1132   export interface ListTestsRequest {
   1133     /**
   1134      * The tests' ARNs.
   1135      */
   1136     arn: AmazonResourceName;
   1137     /**
   1138      * 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.
   1139      */
   1140     nextToken?: PaginationToken;
   1141   }
   1142   export interface ListTestsResult {
   1143     /**
   1144      * Information about the tests.
   1145      */
   1146     tests?: Tests;
   1147     /**
   1148      * 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.
   1149      */
   1150     nextToken?: PaginationToken;
   1151   }
   1152   export interface ListUniqueProblemsRequest {
   1153     /**
   1154      * The unique problems' ARNs.
   1155      */
   1156     arn: AmazonResourceName;
   1157     /**
   1158      * 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.
   1159      */
   1160     nextToken?: PaginationToken;
   1161   }
   1162   export interface ListUniqueProblemsResult {
   1163     /**
   1164      * 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.  
   1165      */
   1166     uniqueProblems?: UniqueProblemsByExecutionResultMap;
   1167     /**
   1168      * 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.
   1169      */
   1170     nextToken?: PaginationToken;
   1171   }
   1172   export interface ListUploadsRequest {
   1173     /**
   1174      * The Amazon Resource Name (ARN) of the project for which you want to list uploads.
   1175      */
   1176     arn: AmazonResourceName;
   1177     /**
   1178      * 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.
   1179      */
   1180     nextToken?: PaginationToken;
   1181   }
   1182   export interface ListUploadsResult {
   1183     /**
   1184      * Information about the uploads.
   1185      */
   1186     uploads?: Uploads;
   1187     /**
   1188      * 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.
   1189      */
   1190     nextToken?: PaginationToken;
   1191   }
   1192   export interface Location {
   1193     /**
   1194      * The latitude.
   1195      */
   1196     latitude: Double;
   1197     /**
   1198      * The longitude.
   1199      */
   1200     longitude: Double;
   1201   }
   1202   export type Long = number;
   1203   export type Message = string;
   1204   export type Metadata = string;
   1205   export interface MonetaryAmount {
   1206     /**
   1207      * The numerical amount of an offering or transaction.
   1208      */
   1209     amount?: Double;
   1210     /**
   1211      * The currency code of a monetary amount. For example, USD means "U.S. dollars."
   1212      */
   1213     currencyCode?: CurrencyCode;
   1214   }
   1215   export type Name = string;
   1216   export interface Offering {
   1217     /**
   1218      * The ID that corresponds to a device offering.
   1219      */
   1220     id?: OfferingIdentifier;
   1221     /**
   1222      * A string describing the offering.
   1223      */
   1224     description?: Message;
   1225     /**
   1226      * The type of offering (e.g., "RECURRING") for a device.
   1227      */
   1228     type?: OfferingType;
   1229     /**
   1230      * The platform of the device (e.g., ANDROID or IOS).
   1231      */
   1232     platform?: DevicePlatform;
   1233     /**
   1234      * Specifies whether there are recurring charges for the offering.
   1235      */
   1236     recurringCharges?: RecurringCharges;
   1237   }
   1238   export type OfferingIdentifier = string;
   1239   export interface OfferingStatus {
   1240     /**
   1241      * The type specified for the offering status.
   1242      */
   1243     type?: OfferingTransactionType;
   1244     /**
   1245      * Represents the metadata of an offering status.
   1246      */
   1247     offering?: Offering;
   1248     /**
   1249      * The number of available devices in the offering.
   1250      */
   1251     quantity?: Integer;
   1252     /**
   1253      * The date on which the offering is effective.
   1254      */
   1255     effectiveOn?: DateTime;
   1256   }
   1257   export type OfferingStatusMap = {[key: string]: OfferingStatus};
   1258   export interface OfferingTransaction {
   1259     /**
   1260      * The status of an offering transaction.
   1261      */
   1262     offeringStatus?: OfferingStatus;
   1263     /**
   1264      * The transaction ID of the offering transaction.
   1265      */
   1266     transactionId?: TransactionIdentifier;
   1267     /**
   1268      * The date on which an offering transaction was created.
   1269      */
   1270     createdOn?: DateTime;
   1271     /**
   1272      * The cost of an offering transaction.
   1273      */
   1274     cost?: MonetaryAmount;
   1275   }
   1276   export type OfferingTransactionType = "PURCHASE"|"RENEW"|"SYSTEM"|string;
   1277   export type OfferingTransactions = OfferingTransaction[];
   1278   export type OfferingType = "RECURRING"|string;
   1279   export type Offerings = Offering[];
   1280   export type PaginationToken = string;
   1281   export interface Problem {
   1282     /**
   1283      * Information about the associated run.
   1284      */
   1285     run?: ProblemDetail;
   1286     /**
   1287      * Information about the associated job.
   1288      */
   1289     job?: ProblemDetail;
   1290     /**
   1291      * Information about the associated suite.
   1292      */
   1293     suite?: ProblemDetail;
   1294     /**
   1295      * Information about the associated test.
   1296      */
   1297     test?: ProblemDetail;
   1298     /**
   1299      * Information about the associated device.
   1300      */
   1301     device?: Device;
   1302     /**
   1303      * 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.  
   1304      */
   1305     result?: ExecutionResult;
   1306     /**
   1307      * A message about the problem's result.
   1308      */
   1309     message?: Message;
   1310   }
   1311   export interface ProblemDetail {
   1312     /**
   1313      * The problem detail's ARN.
   1314      */
   1315     arn?: AmazonResourceName;
   1316     /**
   1317      * The problem detail's name.
   1318      */
   1319     name?: Name;
   1320   }
   1321   export type Problems = Problem[];
   1322   export interface Project {
   1323     /**
   1324      * The project's ARN.
   1325      */
   1326     arn?: AmazonResourceName;
   1327     /**
   1328      * The project's name.
   1329      */
   1330     name?: Name;
   1331     /**
   1332      * When the project was created.
   1333      */
   1334     created?: DateTime;
   1335   }
   1336   export type Projects = Project[];
   1337   export interface PurchaseOfferingRequest {
   1338     /**
   1339      * The ID of the offering.
   1340      */
   1341     offeringId?: OfferingIdentifier;
   1342     /**
   1343      * The number of device slots you wish to purchase in an offering request.
   1344      */
   1345     quantity?: Integer;
   1346   }
   1347   export interface PurchaseOfferingResult {
   1348     /**
   1349      * Represents the offering transaction for the purchase result.
   1350      */
   1351     offeringTransaction?: OfferingTransaction;
   1352   }
   1353   export type PurchasedDevicesMap = {[key: string]: Integer};
   1354   export interface Radios {
   1355     /**
   1356      * True if Wi-Fi is enabled at the beginning of the test; otherwise, false.
   1357      */
   1358     wifi?: Boolean;
   1359     /**
   1360      * True if Bluetooth is enabled at the beginning of the test; otherwise, false.
   1361      */
   1362     bluetooth?: Boolean;
   1363     /**
   1364      * True if NFC is enabled at the beginning of the test; otherwise, false.
   1365      */
   1366     nfc?: Boolean;
   1367     /**
   1368      * True if GPS is enabled at the beginning of the test; otherwise, false.
   1369      */
   1370     gps?: Boolean;
   1371   }
   1372   export interface RecurringCharge {
   1373     /**
   1374      * The cost of the recurring charge.
   1375      */
   1376     cost?: MonetaryAmount;
   1377     /**
   1378      * The frequency in which charges will recur.
   1379      */
   1380     frequency?: RecurringChargeFrequency;
   1381   }
   1382   export type RecurringChargeFrequency = "MONTHLY"|string;
   1383   export type RecurringCharges = RecurringCharge[];
   1384   export interface RemoteAccessSession {
   1385     /**
   1386      * The Amazon Resource Name (ARN) of the remote access session.
   1387      */
   1388     arn?: AmazonResourceName;
   1389     /**
   1390      * The name of the remote access session.
   1391      */
   1392     name?: Name;
   1393     /**
   1394      * The date and time the remote access session was created.
   1395      */
   1396     created?: DateTime;
   1397     /**
   1398      * 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.  
   1399      */
   1400     status?: ExecutionStatus;
   1401     /**
   1402      * 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.  
   1403      */
   1404     result?: ExecutionResult;
   1405     /**
   1406      * A message about the remote access session.
   1407      */
   1408     message?: Message;
   1409     /**
   1410      * The date and time the remote access session was started.
   1411      */
   1412     started?: DateTime;
   1413     /**
   1414      * The date and time the remote access session was stopped.
   1415      */
   1416     stopped?: DateTime;
   1417     device?: Device;
   1418     /**
   1419      * The billing method of the remote access session. Possible values include METERED or UNMETERED. For more information about metered devices, see AWS Device Farm terminology."
   1420      */
   1421     billingMethod?: BillingMethod;
   1422     deviceMinutes?: DeviceMinutes;
   1423     /**
   1424      * The endpoint for the remote access sesssion.
   1425      */
   1426     endpoint?: String;
   1427   }
   1428   export type RemoteAccessSessions = RemoteAccessSession[];
   1429   export interface RenewOfferingRequest {
   1430     /**
   1431      * The ID of a request to renew an offering.
   1432      */
   1433     offeringId?: OfferingIdentifier;
   1434     /**
   1435      * The quantity requested in an offering renewal.
   1436      */
   1437     quantity?: Integer;
   1438   }
   1439   export interface RenewOfferingResult {
   1440     /**
   1441      * Represents the status of the offering transaction for the renewal.
   1442      */
   1443     offeringTransaction?: OfferingTransaction;
   1444   }
   1445   export interface Resolution {
   1446     /**
   1447      * The screen resolution's width, expressed in pixels.
   1448      */
   1449     width?: Integer;
   1450     /**
   1451      * The screen resolution's height, expressed in pixels.
   1452      */
   1453     height?: Integer;
   1454   }
   1455   export interface Rule {
   1456     /**
   1457      * The rule's stringified attribute. For example, specify the value as "\"abc\"". 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).  
   1458      */
   1459     attribute?: DeviceAttribute;
   1460     /**
   1461      * 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.  
   1462      */
   1463     operator?: RuleOperator;
   1464     /**
   1465      * The rule's value.
   1466      */
   1467     value?: String;
   1468   }
   1469   export type RuleOperator = "EQUALS"|"LESS_THAN"|"GREATER_THAN"|"IN"|"NOT_IN"|string;
   1470   export type Rules = Rule[];
   1471   export interface Run {
   1472     /**
   1473      * The run's ARN.
   1474      */
   1475     arn?: AmazonResourceName;
   1476     /**
   1477      * The run's name.
   1478      */
   1479     name?: Name;
   1480     /**
   1481      * 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.  
   1482      */
   1483     type?: TestType;
   1484     /**
   1485      * The run's platform. Allowed values include:   ANDROID: The Android platform.   IOS: The iOS platform.  
   1486      */
   1487     platform?: DevicePlatform;
   1488     /**
   1489      * When the run was created.
   1490      */
   1491     created?: DateTime;
   1492     /**
   1493      * 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.  
   1494      */
   1495     status?: ExecutionStatus;
   1496     /**
   1497      * 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.  
   1498      */
   1499     result?: ExecutionResult;
   1500     /**
   1501      * The run's start time.
   1502      */
   1503     started?: DateTime;
   1504     /**
   1505      * The run's stop time.
   1506      */
   1507     stopped?: DateTime;
   1508     /**
   1509      * The run's result counters.
   1510      */
   1511     counters?: Counters;
   1512     /**
   1513      * A message about the run's result.
   1514      */
   1515     message?: Message;
   1516     /**
   1517      * The total number of jobs for the run.
   1518      */
   1519     totalJobs?: Integer;
   1520     /**
   1521      * The total number of completed jobs.
   1522      */
   1523     completedJobs?: Integer;
   1524     /**
   1525      * Specifies the billing method for a test run: metered or unmetered. If the parameter is not specified, the default value is metered.
   1526      */
   1527     billingMethod?: BillingMethod;
   1528     /**
   1529      * Represents the total (metered or unmetered) minutes used by the test run.
   1530      */
   1531     deviceMinutes?: DeviceMinutes;
   1532   }
   1533   export type Runs = Run[];
   1534   export interface Sample {
   1535     /**
   1536      * The sample's ARN.
   1537      */
   1538     arn?: AmazonResourceName;
   1539     /**
   1540      * 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.  
   1541      */
   1542     type?: SampleType;
   1543     /**
   1544      * The pre-signed Amazon S3 URL that can be used with a corresponding GET request to download the sample's file.
   1545      */
   1546     url?: URL;
   1547   }
   1548   export type SampleType = "CPU"|"MEMORY"|"THREADS"|"RX_RATE"|"TX_RATE"|"RX"|"TX"|"NATIVE_FRAMES"|"NATIVE_FPS"|"NATIVE_MIN_DRAWTIME"|"NATIVE_AVG_DRAWTIME"|"NATIVE_MAX_DRAWTIME"|"OPENGL_FRAMES"|"OPENGL_FPS"|"OPENGL_MIN_DRAWTIME"|"OPENGL_AVG_DRAWTIME"|"OPENGL_MAX_DRAWTIME"|string;
   1549   export type Samples = Sample[];
   1550   export interface ScheduleRunConfiguration {
   1551     /**
   1552      * 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.
   1553      */
   1554     extraDataPackageArn?: AmazonResourceName;
   1555     /**
   1556      * Reserved for internal use.
   1557      */
   1558     networkProfileArn?: AmazonResourceName;
   1559     /**
   1560      * Information about the locale that is used for the run.
   1561      */
   1562     locale?: String;
   1563     /**
   1564      * Information about the location that is used for the run.
   1565      */
   1566     location?: Location;
   1567     /**
   1568      * Information about the radio states for the run.
   1569      */
   1570     radios?: Radios;
   1571     /**
   1572      * A list of auxiliary apps for the run.
   1573      */
   1574     auxiliaryApps?: AmazonResourceNames;
   1575     /**
   1576      * Specifies the billing method for a test run: metered or unmetered. If the parameter is not specified, the default value is metered.
   1577      */
   1578     billingMethod?: BillingMethod;
   1579   }
   1580   export interface ScheduleRunRequest {
   1581     /**
   1582      * The ARN of the project for the run to be scheduled.
   1583      */
   1584     projectArn: AmazonResourceName;
   1585     /**
   1586      * The ARN of the app to schedule a run.
   1587      */
   1588     appArn?: AmazonResourceName;
   1589     /**
   1590      * The ARN of the device pool for the run to be scheduled.
   1591      */
   1592     devicePoolArn: AmazonResourceName;
   1593     /**
   1594      * The name for the run to be scheduled.
   1595      */
   1596     name?: Name;
   1597     /**
   1598      * Information about the test for the run to be scheduled.
   1599      */
   1600     test: ScheduleRunTest;
   1601     /**
   1602      * Information about the settings for the run to be scheduled.
   1603      */
   1604     configuration?: ScheduleRunConfiguration;
   1605   }
   1606   export interface ScheduleRunResult {
   1607     /**
   1608      * Information about the scheduled run.
   1609      */
   1610     run?: Run;
   1611   }
   1612   export interface ScheduleRunTest {
   1613     /**
   1614      * 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.  
   1615      */
   1616     type: TestType;
   1617     /**
   1618      * The ARN of the uploaded test that will be run.
   1619      */
   1620     testPackageArn?: AmazonResourceName;
   1621     /**
   1622      * The test's filter.
   1623      */
   1624     filter?: Filter;
   1625     /**
   1626      * The test's parameters, such as test framework parameters and fixture settings.
   1627      */
   1628     parameters?: TestParameters;
   1629   }
   1630   export interface StopRemoteAccessSessionRequest {
   1631     /**
   1632      * The Amazon Resource Name (ARN) of the remote access session you wish to stop.
   1633      */
   1634     arn: AmazonResourceName;
   1635   }
   1636   export interface StopRemoteAccessSessionResult {
   1637     /**
   1638      * A container representing the metadata from the service about the remote access session you are stopping.
   1639      */
   1640     remoteAccessSession?: RemoteAccessSession;
   1641   }
   1642   export interface StopRunRequest {
   1643     /**
   1644      * Represents the Amazon Resource Name (ARN) of the Device Farm run you wish to stop.
   1645      */
   1646     arn: AmazonResourceName;
   1647   }
   1648   export interface StopRunResult {
   1649     run?: Run;
   1650   }
   1651   export type String = string;
   1652   export interface Suite {
   1653     /**
   1654      * The suite's ARN.
   1655      */
   1656     arn?: AmazonResourceName;
   1657     /**
   1658      * The suite's name.
   1659      */
   1660     name?: Name;
   1661     /**
   1662      * 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.  
   1663      */
   1664     type?: TestType;
   1665     /**
   1666      * When the suite was created.
   1667      */
   1668     created?: DateTime;
   1669     /**
   1670      * 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.  
   1671      */
   1672     status?: ExecutionStatus;
   1673     /**
   1674      * 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.  
   1675      */
   1676     result?: ExecutionResult;
   1677     /**
   1678      * The suite's start time.
   1679      */
   1680     started?: DateTime;
   1681     /**
   1682      * The suite's stop time.
   1683      */
   1684     stopped?: DateTime;
   1685     /**
   1686      * The suite's result counters.
   1687      */
   1688     counters?: Counters;
   1689     /**
   1690      * A message about the suite's result.
   1691      */
   1692     message?: Message;
   1693     /**
   1694      * Represents the total (metered or unmetered) minutes used by the test suite.
   1695      */
   1696     deviceMinutes?: DeviceMinutes;
   1697   }
   1698   export type Suites = Suite[];
   1699   export interface Test {
   1700     /**
   1701      * The test's ARN.
   1702      */
   1703     arn?: AmazonResourceName;
   1704     /**
   1705      * The test's name.
   1706      */
   1707     name?: Name;
   1708     /**
   1709      * 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.  
   1710      */
   1711     type?: TestType;
   1712     /**
   1713      * When the test was created.
   1714      */
   1715     created?: DateTime;
   1716     /**
   1717      * 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.  
   1718      */
   1719     status?: ExecutionStatus;
   1720     /**
   1721      * 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.  
   1722      */
   1723     result?: ExecutionResult;
   1724     /**
   1725      * The test's start time.
   1726      */
   1727     started?: DateTime;
   1728     /**
   1729      * The test's stop time.
   1730      */
   1731     stopped?: DateTime;
   1732     /**
   1733      * The test's result counters.
   1734      */
   1735     counters?: Counters;
   1736     /**
   1737      * A message about the test's result.
   1738      */
   1739     message?: Message;
   1740     /**
   1741      * Represents the total (metered or unmetered) minutes used by the test.
   1742      */
   1743     deviceMinutes?: DeviceMinutes;
   1744   }
   1745   export type TestParameters = {[key: string]: String};
   1746   export type TestType = "BUILTIN_FUZZ"|"BUILTIN_EXPLORER"|"APPIUM_JAVA_JUNIT"|"APPIUM_JAVA_TESTNG"|"APPIUM_PYTHON"|"APPIUM_WEB_JAVA_JUNIT"|"APPIUM_WEB_JAVA_TESTNG"|"APPIUM_WEB_PYTHON"|"CALABASH"|"INSTRUMENTATION"|"UIAUTOMATION"|"UIAUTOMATOR"|"XCTEST"|"XCTEST_UI"|string;
   1747   export type Tests = Test[];
   1748   export type TransactionIdentifier = string;
   1749   export type URL = string;
   1750   export interface UniqueProblem {
   1751     /**
   1752      * A message about the unique problems' result.
   1753      */
   1754     message?: Message;
   1755     /**
   1756      * Information about the problems.
   1757      */
   1758     problems?: Problems;
   1759   }
   1760   export type UniqueProblems = UniqueProblem[];
   1761   export type UniqueProblemsByExecutionResultMap = {[key: string]: UniqueProblems};
   1762   export interface UpdateDevicePoolRequest {
   1763     /**
   1764      * The Amazon Resourc Name (ARN) of the Device Farm device pool you wish to update.
   1765      */
   1766     arn: AmazonResourceName;
   1767     /**
   1768      * A string representing the name of the device pool you wish to update.
   1769      */
   1770     name?: Name;
   1771     /**
   1772      * A description of the device pool you wish to update.
   1773      */
   1774     description?: Message;
   1775     /**
   1776      * 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.
   1777      */
   1778     rules?: Rules;
   1779   }
   1780   export interface UpdateDevicePoolResult {
   1781     devicePool?: DevicePool;
   1782   }
   1783   export interface UpdateProjectRequest {
   1784     /**
   1785      * The Amazon Resource Name (ARN) of the project whose name you wish to update.
   1786      */
   1787     arn: AmazonResourceName;
   1788     /**
   1789      * A string representing the new name of the project that you are updating.
   1790      */
   1791     name?: Name;
   1792   }
   1793   export interface UpdateProjectResult {
   1794     project?: Project;
   1795   }
   1796   export interface Upload {
   1797     /**
   1798      * The upload's ARN.
   1799      */
   1800     arn?: AmazonResourceName;
   1801     /**
   1802      * The upload's file name.
   1803      */
   1804     name?: Name;
   1805     /**
   1806      * When the upload was created.
   1807      */
   1808     created?: DateTime;
   1809     /**
   1810      * 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.  
   1811      */
   1812     type?: UploadType;
   1813     /**
   1814      * 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.  
   1815      */
   1816     status?: UploadStatus;
   1817     /**
   1818      * The pre-signed Amazon S3 URL that was used to store a file through a corresponding PUT request.
   1819      */
   1820     url?: URL;
   1821     /**
   1822      * 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.
   1823      */
   1824     metadata?: Metadata;
   1825     /**
   1826      * The upload's content type (for example, "application/octet-stream").
   1827      */
   1828     contentType?: ContentType;
   1829     /**
   1830      * A message about the upload's result.
   1831      */
   1832     message?: Message;
   1833   }
   1834   export type UploadStatus = "INITIALIZED"|"PROCESSING"|"SUCCEEDED"|"FAILED"|string;
   1835   export type UploadType = "ANDROID_APP"|"IOS_APP"|"WEB_APP"|"EXTERNAL_DATA"|"APPIUM_JAVA_JUNIT_TEST_PACKAGE"|"APPIUM_JAVA_TESTNG_TEST_PACKAGE"|"APPIUM_PYTHON_TEST_PACKAGE"|"APPIUM_WEB_JAVA_JUNIT_TEST_PACKAGE"|"APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE"|"APPIUM_WEB_PYTHON_TEST_PACKAGE"|"CALABASH_TEST_PACKAGE"|"INSTRUMENTATION_TEST_PACKAGE"|"UIAUTOMATION_TEST_PACKAGE"|"UIAUTOMATOR_TEST_PACKAGE"|"XCTEST_TEST_PACKAGE"|"XCTEST_UI_TEST_PACKAGE"|string;
   1836   export type Uploads = Upload[];
   1837   /**
   1838    * A string in YYYY-MM-DD format that represents the latest possible API version that can be used in this service. Specify 'latest' to use the latest possible version.
   1839    */
   1840   export type apiVersion = "2015-06-23"|"latest"|string;
   1841   export interface ClientApiVersions {
   1842     /**
   1843      * A string in YYYY-MM-DD format that represents the latest possible API version that can be used in this service. Specify 'latest' to use the latest possible version.
   1844      */
   1845     apiVersion?: apiVersion;
   1846   }
   1847   export type ClientConfiguration = ServiceConfigurationOptions & ClientApiVersions;
   1848 }
   1849 export = DeviceFarm;