/*
* Copyright 2012-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
* the License. A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
* CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
* and limitations under the License.
*/
package com.amazonaws.services.devicefarm;
import javax.annotation.Generated;
import com.amazonaws.*;
import com.amazonaws.regions.*;
import com.amazonaws.services.devicefarm.model.*;
/**
* Interface for accessing AWS Device Farm.
* <p>
* <b>Note:</b> Do not directly implement this interface, new methods are added to it regularly. Extend from
* {@link com.amazonaws.services.devicefarm.AbstractAWSDeviceFarm} instead.
* </p>
* <p>
* <p>
* AWS Device Farm is a service that enables mobile app developers to test Android, iOS, and Fire OS apps on physical
* phones, tablets, and other devices in the cloud.
* </p>
*/
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public interface AWSDeviceFarm {
/**
* The region metadata service name for computing region endpoints. You can use this value to retrieve metadata
* (such as supported regions) of the service.
*
* @see RegionUtils#getRegionsForService(String)
*/
String ENDPOINT_PREFIX = "devicefarm";
/**
* Overrides the default endpoint for this client ("https://devicefarm.us-west-2.amazonaws.com"). Callers can use
* this method to control which AWS region they want to work with.
* <p>
* Callers can pass in just the endpoint (ex: "devicefarm.us-west-2.amazonaws.com") or a full URL, including the
* protocol (ex: "https://devicefarm.us-west-2.amazonaws.com"). If the protocol is not specified here, the default
* protocol from this client's {@link ClientConfiguration} will be used, which by default is HTTPS.
* <p>
* For more information on using AWS regions with the AWS SDK for Java, and a complete list of all available
* endpoints for all AWS services, see: <a
* href="http://developer.amazonwebservices.com/connect/entry.jspa?externalID=3912">
* http://developer.amazonwebservices.com/connect/entry.jspa?externalID=3912</a>
* <p>
* <b>This method is not threadsafe. An endpoint should be configured when the client is created and before any
* service requests are made. Changing it afterwards creates inevitable race conditions for any service requests in
* transit or retrying.</b>
*
* @param endpoint
* The endpoint (ex: "devicefarm.us-west-2.amazonaws.com") or a full URL, including the protocol (ex:
* "https://devicefarm.us-west-2.amazonaws.com") of the region specific AWS endpoint this client will
* communicate with.
* @deprecated use {@link AwsClientBuilder#setEndpointConfiguration(AwsClientBuilder.EndpointConfiguration)} for
* example:
* {@code builder.setEndpointConfiguration(new EndpointConfiguration(endpoint, signingRegion));}
*/
@Deprecated
void setEndpoint(String endpoint);
/**
* An alternative to {@link AWSDeviceFarm#setEndpoint(String)}, sets the regional endpoint for this client's service
* calls. Callers can use this method to control which AWS region they want to work with.
* <p>
* By default, all service endpoints in all regions use the https protocol. To use http instead, specify it in the
* {@link ClientConfiguration} supplied at construction.
* <p>
* <b>This method is not threadsafe. A region should be configured when the client is created and before any service
* requests are made. Changing it afterwards creates inevitable race conditions for any service requests in transit
* or retrying.</b>
*
* @param region
* The region this client will communicate with. See {@link Region#getRegion(com.amazonaws.regions.Regions)}
* for accessing a given region. Must not be null and must be a region where the service is available.
*
* @see Region#getRegion(com.amazonaws.regions.Regions)
* @see Region#createClient(Class, com.amazonaws.auth.AWSCredentialsProvider, ClientConfiguration)
* @see Region#isServiceSupported(String)
* @deprecated use {@link AwsClientBuilder#setRegion(String)}
*/
@Deprecated
void setRegion(Region region);
/**
* <p>
* Creates a device pool.
* </p>
*
* @param createDevicePoolRequest
* Represents a request to the create device pool operation.
* @return Result of the CreateDevicePool operation returned by the service.
* @throws ArgumentException
* An invalid argument was specified.
* @throws NotFoundException
* The specified entity was not found.
* @throws LimitExceededException
* A limit was exceeded.
* @throws ServiceAccountException
* There was a problem with the service account.
* @sample AWSDeviceFarm.CreateDevicePool
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/CreateDevicePool" target="_top">AWS
* API Documentation</a>
*/
CreateDevicePoolResult createDevicePool(CreateDevicePoolRequest createDevicePoolRequest);
/**
* <p>
* Creates a network profile.
* </p>
*
* @param createNetworkProfileRequest
* @return Result of the CreateNetworkProfile operation returned by the service.
* @throws ArgumentException
* An invalid argument was specified.
* @throws NotFoundException
* The specified entity was not found.
* @throws LimitExceededException
* A limit was exceeded.
* @throws ServiceAccountException
* There was a problem with the service account.
* @sample AWSDeviceFarm.CreateNetworkProfile
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/CreateNetworkProfile"
* target="_top">AWS API Documentation</a>
*/
CreateNetworkProfileResult createNetworkProfile(CreateNetworkProfileRequest createNetworkProfileRequest);
/**
* <p>
* Creates a new project.
* </p>
*
* @param createProjectRequest
* Represents a request to the create project operation.
* @return Result of the CreateProject operation returned by the service.
* @throws ArgumentException
* An invalid argument was specified.
* @throws NotFoundException
* The specified entity was not found.
* @throws LimitExceededException
* A limit was exceeded.
* @throws ServiceAccountException
* There was a problem with the service account.
* @sample AWSDeviceFarm.CreateProject
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/CreateProject" target="_top">AWS API
* Documentation</a>
*/
CreateProjectResult createProject(CreateProjectRequest createProjectRequest);
/**
* <p>
* Specifies and starts a remote access session.
* </p>
*
* @param createRemoteAccessSessionRequest
* Creates and submits a request to start a remote access session.
* @return Result of the CreateRemoteAccessSession operation returned by the service.
* @throws ArgumentException
* An invalid argument was specified.
* @throws NotFoundException
* The specified entity was not found.
* @throws LimitExceededException
* A limit was exceeded.
* @throws ServiceAccountException
* There was a problem with the service account.
* @sample AWSDeviceFarm.CreateRemoteAccessSession
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/CreateRemoteAccessSession"
* target="_top">AWS API Documentation</a>
*/
CreateRemoteAccessSessionResult createRemoteAccessSession(CreateRemoteAccessSessionRequest createRemoteAccessSessionRequest);
/**
* <p>
* Uploads an app or test scripts.
* </p>
*
* @param createUploadRequest
* Represents a request to the create upload operation.
* @return Result of the CreateUpload operation returned by the service.
* @throws ArgumentException
* An invalid argument was specified.
* @throws NotFoundException
* The specified entity was not found.
* @throws LimitExceededException
* A limit was exceeded.
* @throws ServiceAccountException
* There was a problem with the service account.
* @sample AWSDeviceFarm.CreateUpload
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/CreateUpload" target="_top">AWS API
* Documentation</a>
*/
CreateUploadResult createUpload(CreateUploadRequest createUploadRequest);
/**
* <p>
* Deletes a device pool given the pool ARN. Does not allow deletion of curated pools owned by the system.
* </p>
*
* @param deleteDevicePoolRequest
* Represents a request to the delete device pool operation.
* @return Result of the DeleteDevicePool operation returned by the service.
* @throws ArgumentException
* An invalid argument was specified.
* @throws NotFoundException
* The specified entity was not found.
* @throws LimitExceededException
* A limit was exceeded.
* @throws ServiceAccountException
* There was a problem with the service account.
* @sample AWSDeviceFarm.DeleteDevicePool
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/DeleteDevicePool" target="_top">AWS
* API Documentation</a>
*/
DeleteDevicePoolResult deleteDevicePool(DeleteDevicePoolRequest deleteDevicePoolRequest);
/**
* <p>
* Deletes a network profile.
* </p>
*
* @param deleteNetworkProfileRequest
* @return Result of the DeleteNetworkProfile operation returned by the service.
* @throws ArgumentException
* An invalid argument was specified.
* @throws NotFoundException
* The specified entity was not found.
* @throws LimitExceededException
* A limit was exceeded.
* @throws ServiceAccountException
* There was a problem with the service account.
* @sample AWSDeviceFarm.DeleteNetworkProfile
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/DeleteNetworkProfile"
* target="_top">AWS API Documentation</a>
*/
DeleteNetworkProfileResult deleteNetworkProfile(DeleteNetworkProfileRequest deleteNetworkProfileRequest);
/**
* <p>
* Deletes an AWS Device Farm project, given the project ARN.
* </p>
* <p>
* <b>Note</b> Deleting this resource does not stop an in-progress run.
* </p>
*
* @param deleteProjectRequest
* Represents a request to the delete project operation.
* @return Result of the DeleteProject operation returned by the service.
* @throws ArgumentException
* An invalid argument was specified.
* @throws NotFoundException
* The specified entity was not found.
* @throws LimitExceededException
* A limit was exceeded.
* @throws ServiceAccountException
* There was a problem with the service account.
* @sample AWSDeviceFarm.DeleteProject
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/DeleteProject" target="_top">AWS API
* Documentation</a>
*/
DeleteProjectResult deleteProject(DeleteProjectRequest deleteProjectRequest);
/**
* <p>
* Deletes a completed remote access session and its results.
* </p>
*
* @param deleteRemoteAccessSessionRequest
* Represents the request to delete the specified remote access session.
* @return Result of the DeleteRemoteAccessSession operation returned by the service.
* @throws ArgumentException
* An invalid argument was specified.
* @throws NotFoundException
* The specified entity was not found.
* @throws LimitExceededException
* A limit was exceeded.
* @throws ServiceAccountException
* There was a problem with the service account.
* @sample AWSDeviceFarm.DeleteRemoteAccessSession
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/DeleteRemoteAccessSession"
* target="_top">AWS API Documentation</a>
*/
DeleteRemoteAccessSessionResult deleteRemoteAccessSession(DeleteRemoteAccessSessionRequest deleteRemoteAccessSessionRequest);
/**
* <p>
* Deletes the run, given the run ARN.
* </p>
* <p>
* <b>Note</b> Deleting this resource does not stop an in-progress run.
* </p>
*
* @param deleteRunRequest
* Represents a request to the delete run operation.
* @return Result of the DeleteRun operation returned by the service.
* @throws ArgumentException
* An invalid argument was specified.
* @throws NotFoundException
* The specified entity was not found.
* @throws LimitExceededException
* A limit was exceeded.
* @throws ServiceAccountException
* There was a problem with the service account.
* @sample AWSDeviceFarm.DeleteRun
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/DeleteRun" target="_top">AWS API
* Documentation</a>
*/
DeleteRunResult deleteRun(DeleteRunRequest deleteRunRequest);
/**
* <p>
* Deletes an upload given the upload ARN.
* </p>
*
* @param deleteUploadRequest
* Represents a request to the delete upload operation.
* @return Result of the DeleteUpload operation returned by the service.
* @throws ArgumentException
* An invalid argument was specified.
* @throws NotFoundException
* The specified entity was not found.
* @throws LimitExceededException
* A limit was exceeded.
* @throws ServiceAccountException
* There was a problem with the service account.
* @sample AWSDeviceFarm.DeleteUpload
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/DeleteUpload" target="_top">AWS API
* Documentation</a>
*/
DeleteUploadResult deleteUpload(DeleteUploadRequest deleteUploadRequest);
/**
* <p>
* Returns the number of unmetered iOS and/or unmetered Android devices that have been purchased by the account.
* </p>
*
* @param getAccountSettingsRequest
* Represents the request sent to retrieve the account settings.
* @return Result of the GetAccountSettings operation returned by the service.
* @throws ArgumentException
* An invalid argument was specified.
* @throws NotFoundException
* The specified entity was not found.
* @throws LimitExceededException
* A limit was exceeded.
* @throws ServiceAccountException
* There was a problem with the service account.
* @sample AWSDeviceFarm.GetAccountSettings
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetAccountSettings" target="_top">AWS
* API Documentation</a>
*/
GetAccountSettingsResult getAccountSettings(GetAccountSettingsRequest getAccountSettingsRequest);
/**
* <p>
* Gets information about a unique device type.
* </p>
*
* @param getDeviceRequest
* Represents a request to the get device request.
* @return Result of the GetDevice operation returned by the service.
* @throws ArgumentException
* An invalid argument was specified.
* @throws NotFoundException
* The specified entity was not found.
* @throws LimitExceededException
* A limit was exceeded.
* @throws ServiceAccountException
* There was a problem with the service account.
* @sample AWSDeviceFarm.GetDevice
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetDevice" target="_top">AWS API
* Documentation</a>
*/
GetDeviceResult getDevice(GetDeviceRequest getDeviceRequest);
/**
* <p>
* Gets information about a device pool.
* </p>
*
* @param getDevicePoolRequest
* Represents a request to the get device pool operation.
* @return Result of the GetDevicePool operation returned by the service.
* @throws ArgumentException
* An invalid argument was specified.
* @throws NotFoundException
* The specified entity was not found.
* @throws LimitExceededException
* A limit was exceeded.
* @throws ServiceAccountException
* There was a problem with the service account.
* @sample AWSDeviceFarm.GetDevicePool
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetDevicePool" target="_top">AWS API
* Documentation</a>
*/
GetDevicePoolResult getDevicePool(GetDevicePoolRequest getDevicePoolRequest);
/**
* <p>
* Gets information about compatibility with a device pool.
* </p>
*
* @param getDevicePoolCompatibilityRequest
* Represents a request to the get device pool compatibility operation.
* @return Result of the GetDevicePoolCompatibility operation returned by the service.
* @throws ArgumentException
* An invalid argument was specified.
* @throws NotFoundException
* The specified entity was not found.
* @throws LimitExceededException
* A limit was exceeded.
* @throws ServiceAccountException
* There was a problem with the service account.
* @sample AWSDeviceFarm.GetDevicePoolCompatibility
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetDevicePoolCompatibility"
* target="_top">AWS API Documentation</a>
*/
GetDevicePoolCompatibilityResult getDevicePoolCompatibility(GetDevicePoolCompatibilityRequest getDevicePoolCompatibilityRequest);
/**
* <p>
* Gets information about a job.
* </p>
*
* @param getJobRequest
* Represents a request to the get job operation.
* @return Result of the GetJob operation returned by the service.
* @throws ArgumentException
* An invalid argument was specified.
* @throws NotFoundException
* The specified entity was not found.
* @throws LimitExceededException
* A limit was exceeded.
* @throws ServiceAccountException
* There was a problem with the service account.
* @sample AWSDeviceFarm.GetJob
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetJob" target="_top">AWS API
* Documentation</a>
*/
GetJobResult getJob(GetJobRequest getJobRequest);
/**
* <p>
* Returns information about a network profile.
* </p>
*
* @param getNetworkProfileRequest
* @return Result of the GetNetworkProfile operation returned by the service.
* @throws ArgumentException
* An invalid argument was specified.
* @throws NotFoundException
* The specified entity was not found.
* @throws LimitExceededException
* A limit was exceeded.
* @throws ServiceAccountException
* There was a problem with the service account.
* @sample AWSDeviceFarm.GetNetworkProfile
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetNetworkProfile" target="_top">AWS
* API Documentation</a>
*/
GetNetworkProfileResult getNetworkProfile(GetNetworkProfileRequest getNetworkProfileRequest);
/**
* <p>
* 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 <code>NotEligible</code> error if the user is not permitted to invoke the operation. Please contact <a
* href="mailto:aws-devicefarm-support@amazon.com">aws-devicefarm-support@amazon.com</a> if you believe that you
* should be able to invoke this operation.
* </p>
*
* @param getOfferingStatusRequest
* Represents the request to retrieve the offering status for the specified customer or account.
* @return Result of the GetOfferingStatus operation returned by the service.
* @throws ArgumentException
* An invalid argument was specified.
* @throws NotFoundException
* The specified entity was not found.
* @throws NotEligibleException
* Exception gets thrown when a user is not eligible to perform the specified transaction.
* @throws LimitExceededException
* A limit was exceeded.
* @throws ServiceAccountException
* There was a problem with the service account.
* @sample AWSDeviceFarm.GetOfferingStatus
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetOfferingStatus" target="_top">AWS
* API Documentation</a>
*/
GetOfferingStatusResult getOfferingStatus(GetOfferingStatusRequest getOfferingStatusRequest);
/**
* <p>
* Gets information about a project.
* </p>
*
* @param getProjectRequest
* Represents a request to the get project operation.
* @return Result of the GetProject operation returned by the service.
* @throws ArgumentException
* An invalid argument was specified.
* @throws NotFoundException
* The specified entity was not found.
* @throws LimitExceededException
* A limit was exceeded.
* @throws ServiceAccountException
* There was a problem with the service account.
* @sample AWSDeviceFarm.GetProject
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetProject" target="_top">AWS API
* Documentation</a>
*/
GetProjectResult getProject(GetProjectRequest getProjectRequest);
/**
* <p>
* Returns a link to a currently running remote access session.
* </p>
*
* @param getRemoteAccessSessionRequest
* Represents the request to get information about the specified remote access session.
* @return Result of the GetRemoteAccessSession operation returned by the service.
* @throws ArgumentException
* An invalid argument was specified.
* @throws NotFoundException
* The specified entity was not found.
* @throws LimitExceededException
* A limit was exceeded.
* @throws ServiceAccountException
* There was a problem with the service account.
* @sample AWSDeviceFarm.GetRemoteAccessSession
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetRemoteAccessSession"
* target="_top">AWS API Documentation</a>
*/
GetRemoteAccessSessionResult getRemoteAccessSession(GetRemoteAccessSessionRequest getRemoteAccessSessionRequest);
/**
* <p>
* Gets information about a run.
* </p>
*
* @param getRunRequest
* Represents a request to the get run operation.
* @return Result of the GetRun operation returned by the service.
* @throws ArgumentException
* An invalid argument was specified.
* @throws NotFoundException
* The specified entity was not found.
* @throws LimitExceededException
* A limit was exceeded.
* @throws ServiceAccountException
* There was a problem with the service account.
* @sample AWSDeviceFarm.GetRun
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetRun" target="_top">AWS API
* Documentation</a>
*/
GetRunResult getRun(GetRunRequest getRunRequest);
/**
* <p>
* Gets information about a suite.
* </p>
*
* @param getSuiteRequest
* Represents a request to the get suite operation.
* @return Result of the GetSuite operation returned by the service.
* @throws ArgumentException
* An invalid argument was specified.
* @throws NotFoundException
* The specified entity was not found.
* @throws LimitExceededException
* A limit was exceeded.
* @throws ServiceAccountException
* There was a problem with the service account.
* @sample AWSDeviceFarm.GetSuite
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetSuite" target="_top">AWS API
* Documentation</a>
*/
GetSuiteResult getSuite(GetSuiteRequest getSuiteRequest);
/**
* <p>
* Gets information about a test.
* </p>
*
* @param getTestRequest
* Represents a request to the get test operation.
* @return Result of the GetTest operation returned by the service.
* @throws ArgumentException
* An invalid argument was specified.
* @throws NotFoundException
* The specified entity was not found.
* @throws LimitExceededException
* A limit was exceeded.
* @throws ServiceAccountException
* There was a problem with the service account.
* @sample AWSDeviceFarm.GetTest
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetTest" target="_top">AWS API
* Documentation</a>
*/
GetTestResult getTest(GetTestRequest getTestRequest);
/**
* <p>
* Gets information about an upload.
* </p>
*
* @param getUploadRequest
* Represents a request to the get upload operation.
* @return Result of the GetUpload operation returned by the service.
* @throws ArgumentException
* An invalid argument was specified.
* @throws NotFoundException
* The specified entity was not found.
* @throws LimitExceededException
* A limit was exceeded.
* @throws ServiceAccountException
* There was a problem with the service account.
* @sample AWSDeviceFarm.GetUpload
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetUpload" target="_top">AWS API
* Documentation</a>
*/
GetUploadResult getUpload(GetUploadRequest getUploadRequest);
/**
* <p>
* 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.
* </p>
*
* @param installToRemoteAccessSessionRequest
* Represents the request to install an Android application (in .apk format) or an iOS application (in .ipa
* format) as part of a remote access session.
* @return Result of the InstallToRemoteAccessSession operation returned by the service.
* @throws ArgumentException
* An invalid argument was specified.
* @throws NotFoundException
* The specified entity was not found.
* @throws LimitExceededException
* A limit was exceeded.
* @throws ServiceAccountException
* There was a problem with the service account.
* @sample AWSDeviceFarm.InstallToRemoteAccessSession
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/InstallToRemoteAccessSession"
* target="_top">AWS API Documentation</a>
*/
InstallToRemoteAccessSessionResult installToRemoteAccessSession(InstallToRemoteAccessSessionRequest installToRemoteAccessSessionRequest);
/**
* <p>
* Gets information about artifacts.
* </p>
*
* @param listArtifactsRequest
* Represents a request to the list artifacts operation.
* @return Result of the ListArtifacts operation returned by the service.
* @throws ArgumentException
* An invalid argument was specified.
* @throws NotFoundException
* The specified entity was not found.
* @throws LimitExceededException
* A limit was exceeded.
* @throws ServiceAccountException
* There was a problem with the service account.
* @sample AWSDeviceFarm.ListArtifacts
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListArtifacts" target="_top">AWS API
* Documentation</a>
*/
ListArtifactsResult listArtifacts(ListArtifactsRequest listArtifactsRequest);
/**
* <p>
* Gets information about device pools.
* </p>
*
* @param listDevicePoolsRequest
* Represents the result of a list device pools request.
* @return Result of the ListDevicePools operation returned by the service.
* @throws ArgumentException
* An invalid argument was specified.
* @throws NotFoundException
* The specified entity was not found.
* @throws LimitExceededException
* A limit was exceeded.
* @throws ServiceAccountException
* There was a problem with the service account.
* @sample AWSDeviceFarm.ListDevicePools
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListDevicePools" target="_top">AWS API
* Documentation</a>
*/
ListDevicePoolsResult listDevicePools(ListDevicePoolsRequest listDevicePoolsRequest);
/**
* <p>
* Gets information about unique device types.
* </p>
*
* @param listDevicesRequest
* Represents the result of a list devices request.
* @return Result of the ListDevices operation returned by the service.
* @throws ArgumentException
* An invalid argument was specified.
* @throws NotFoundException
* The specified entity was not found.
* @throws LimitExceededException
* A limit was exceeded.
* @throws ServiceAccountException
* There was a problem with the service account.
* @sample AWSDeviceFarm.ListDevices
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListDevices" target="_top">AWS API
* Documentation</a>
*/
ListDevicesResult listDevices(ListDevicesRequest listDevicesRequest);
/**
* <p>
* Gets information about jobs.
* </p>
*
* @param listJobsRequest
* Represents a request to the list jobs operation.
* @return Result of the ListJobs operation returned by the service.
* @throws ArgumentException
* An invalid argument was specified.
* @throws NotFoundException
* The specified entity was not found.
* @throws LimitExceededException
* A limit was exceeded.
* @throws ServiceAccountException
* There was a problem with the service account.
* @sample AWSDeviceFarm.ListJobs
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListJobs" target="_top">AWS API
* Documentation</a>
*/
ListJobsResult listJobs(ListJobsRequest listJobsRequest);
/**
* <p>
* Returns the list of available network profiles.
* </p>
*
* @param listNetworkProfilesRequest
* @return Result of the ListNetworkProfiles operation returned by the service.
* @throws ArgumentException
* An invalid argument was specified.
* @throws NotFoundException
* The specified entity was not found.
* @throws LimitExceededException
* A limit was exceeded.
* @throws ServiceAccountException
* There was a problem with the service account.
* @sample AWSDeviceFarm.ListNetworkProfiles
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListNetworkProfiles" target="_top">AWS
* API Documentation</a>
*/
ListNetworkProfilesResult listNetworkProfiles(ListNetworkProfilesRequest listNetworkProfilesRequest);
/**
* <p>
* Returns a list of offering promotions. Each offering promotion record contains the ID and description of the
* promotion. The API returns a <code>NotEligible</code> error if the caller is not permitted to invoke the
* operation. Contact <a href="mailto:aws-devicefarm-support@amazon.com">aws-devicefarm-support@amazon.com</a> if
* you believe that you should be able to invoke this operation.
* </p>
*
* @param listOfferingPromotionsRequest
* @return Result of the ListOfferingPromotions operation returned by the service.
* @throws ArgumentException
* An invalid argument was specified.
* @throws NotFoundException
* The specified entity was not found.
* @throws NotEligibleException
* Exception gets thrown when a user is not eligible to perform the specified transaction.
* @throws LimitExceededException
* A limit was exceeded.
* @throws ServiceAccountException
* There was a problem with the service account.
* @sample AWSDeviceFarm.ListOfferingPromotions
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListOfferingPromotions"
* target="_top">AWS API Documentation</a>
*/
ListOfferingPromotionsResult listOfferingPromotions(ListOfferingPromotionsRequest listOfferingPromotionsRequest);
/**
* <p>
* 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
* <code>NotEligible</code> error if the user is not permitted to invoke the operation. Please contact <a
* href="mailto:aws-devicefarm-support@amazon.com">aws-devicefarm-support@amazon.com</a> if you believe that you
* should be able to invoke this operation.
* </p>
*
* @param listOfferingTransactionsRequest
* Represents the request to list the offering transaction history.
* @return Result of the ListOfferingTransactions operation returned by the service.
* @throws ArgumentException
* An invalid argument was specified.
* @throws NotFoundException
* The specified entity was not found.
* @throws NotEligibleException
* Exception gets thrown when a user is not eligible to perform the specified transaction.
* @throws LimitExceededException
* A limit was exceeded.
* @throws ServiceAccountException
* There was a problem with the service account.
* @sample AWSDeviceFarm.ListOfferingTransactions
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListOfferingTransactions"
* target="_top">AWS API Documentation</a>
*/
ListOfferingTransactionsResult listOfferingTransactions(ListOfferingTransactionsRequest listOfferingTransactionsRequest);
/**
* <p>
* 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 <code>NotEligible</code>
* error if the user is not permitted to invoke the operation. Please contact <a
* href="mailto:aws-devicefarm-support@amazon.com">aws-devicefarm-support@amazon.com</a> if you believe that you
* should be able to invoke this operation.
* </p>
*
* @param listOfferingsRequest
* Represents the request to list all offerings.
* @return Result of the ListOfferings operation returned by the service.
* @throws ArgumentException
* An invalid argument was specified.
* @throws NotFoundException
* The specified entity was not found.
* @throws NotEligibleException
* Exception gets thrown when a user is not eligible to perform the specified transaction.
* @throws LimitExceededException
* A limit was exceeded.
* @throws ServiceAccountException
* There was a problem with the service account.
* @sample AWSDeviceFarm.ListOfferings
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListOfferings" target="_top">AWS API
* Documentation</a>
*/
ListOfferingsResult listOfferings(ListOfferingsRequest listOfferingsRequest);
/**
* <p>
* Gets information about projects.
* </p>
*
* @param listProjectsRequest
* Represents a request to the list projects operation.
* @return Result of the ListProjects operation returned by the service.
* @throws ArgumentException
* An invalid argument was specified.
* @throws NotFoundException
* The specified entity was not found.
* @throws LimitExceededException
* A limit was exceeded.
* @throws ServiceAccountException
* There was a problem with the service account.
* @sample AWSDeviceFarm.ListProjects
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListProjects" target="_top">AWS API
* Documentation</a>
*/
ListProjectsResult listProjects(ListProjectsRequest listProjectsRequest);
/**
* <p>
* Returns a list of all currently running remote access sessions.
* </p>
*
* @param listRemoteAccessSessionsRequest
* Represents the request to return information about the remote access session.
* @return Result of the ListRemoteAccessSessions operation returned by the service.
* @throws ArgumentException
* An invalid argument was specified.
* @throws NotFoundException
* The specified entity was not found.
* @throws LimitExceededException
* A limit was exceeded.
* @throws ServiceAccountException
* There was a problem with the service account.
* @sample AWSDeviceFarm.ListRemoteAccessSessions
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListRemoteAccessSessions"
* target="_top">AWS API Documentation</a>
*/
ListRemoteAccessSessionsResult listRemoteAccessSessions(ListRemoteAccessSessionsRequest listRemoteAccessSessionsRequest);
/**
* <p>
* Gets information about runs, given an AWS Device Farm project ARN.
* </p>
*
* @param listRunsRequest
* Represents a request to the list runs operation.
* @return Result of the ListRuns operation returned by the service.
* @throws ArgumentException
* An invalid argument was specified.
* @throws NotFoundException
* The specified entity was not found.
* @throws LimitExceededException
* A limit was exceeded.
* @throws ServiceAccountException
* There was a problem with the service account.
* @sample AWSDeviceFarm.ListRuns
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListRuns" target="_top">AWS API
* Documentation</a>
*/
ListRunsResult listRuns(ListRunsRequest listRunsRequest);
/**
* <p>
* Gets information about samples, given an AWS Device Farm project ARN
* </p>
*
* @param listSamplesRequest
* Represents a request to the list samples operation.
* @return Result of the ListSamples operation returned by the service.
* @throws ArgumentException
* An invalid argument was specified.
* @throws NotFoundException
* The specified entity was not found.
* @throws LimitExceededException
* A limit was exceeded.
* @throws ServiceAccountException
* There was a problem with the service account.
* @sample AWSDeviceFarm.ListSamples
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListSamples" target="_top">AWS API
* Documentation</a>
*/
ListSamplesResult listSamples(ListSamplesRequest listSamplesRequest);
/**
* <p>
* Gets information about suites.
* </p>
*
* @param listSuitesRequest
* Represents a request to the list suites operation.
* @return Result of the ListSuites operation returned by the service.
* @throws ArgumentException
* An invalid argument was specified.
* @throws NotFoundException
* The specified entity was not found.
* @throws LimitExceededException
* A limit was exceeded.
* @throws ServiceAccountException
* There was a problem with the service account.
* @sample AWSDeviceFarm.ListSuites
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListSuites" target="_top">AWS API
* Documentation</a>
*/
ListSuitesResult listSuites(ListSuitesRequest listSuitesRequest);
/**
* <p>
* Gets information about tests.
* </p>
*
* @param listTestsRequest
* Represents a request to the list tests operation.
* @return Result of the ListTests operation returned by the service.
* @throws ArgumentException
* An invalid argument was specified.
* @throws NotFoundException
* The specified entity was not found.
* @throws LimitExceededException
* A limit was exceeded.
* @throws ServiceAccountException
* There was a problem with the service account.
* @sample AWSDeviceFarm.ListTests
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListTests" target="_top">AWS API
* Documentation</a>
*/
ListTestsResult listTests(ListTestsRequest listTestsRequest);
/**
* <p>
* Gets information about unique problems.
* </p>
*
* @param listUniqueProblemsRequest
* Represents a request to the list unique problems operation.
* @return Result of the ListUniqueProblems operation returned by the service.
* @throws ArgumentException
* An invalid argument was specified.
* @throws NotFoundException
* The specified entity was not found.
* @throws LimitExceededException
* A limit was exceeded.
* @throws ServiceAccountException
* There was a problem with the service account.
* @sample AWSDeviceFarm.ListUniqueProblems
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListUniqueProblems" target="_top">AWS
* API Documentation</a>
*/
ListUniqueProblemsResult listUniqueProblems(ListUniqueProblemsRequest listUniqueProblemsRequest);
/**
* <p>
* Gets information about uploads, given an AWS Device Farm project ARN.
* </p>
*
* @param listUploadsRequest
* Represents a request to the list uploads operation.
* @return Result of the ListUploads operation returned by the service.
* @throws ArgumentException
* An invalid argument was specified.
* @throws NotFoundException
* The specified entity was not found.
* @throws LimitExceededException
* A limit was exceeded.
* @throws ServiceAccountException
* There was a problem with the service account.
* @sample AWSDeviceFarm.ListUploads
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListUploads" target="_top">AWS API
* Documentation</a>
*/
ListUploadsResult listUploads(ListUploadsRequest listUploadsRequest);
/**
* <p>
* 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 <code>NotEligible</code> error if the user is
* not permitted to invoke the operation. Please contact <a
* href="mailto:aws-devicefarm-support@amazon.com">aws-devicefarm-support@amazon.com</a> if you believe that you
* should be able to invoke this operation.
* </p>
*
* @param purchaseOfferingRequest
* Represents a request for a purchase offering.
* @return Result of the PurchaseOffering operation returned by the service.
* @throws ArgumentException
* An invalid argument was specified.
* @throws NotFoundException
* The specified entity was not found.
* @throws NotEligibleException
* Exception gets thrown when a user is not eligible to perform the specified transaction.
* @throws LimitExceededException
* A limit was exceeded.
* @throws ServiceAccountException
* There was a problem with the service account.
* @sample AWSDeviceFarm.PurchaseOffering
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/PurchaseOffering" target="_top">AWS
* API Documentation</a>
*/
PurchaseOfferingResult purchaseOffering(PurchaseOfferingRequest purchaseOfferingRequest);
/**
* <p>
* Explicitly sets the quantity of devices to renew for an offering, starting from the <code>effectiveDate</code> of
* the next period. The API returns a <code>NotEligible</code> error if the user is not permitted to invoke the
* operation. Please contact <a
* href="mailto:aws-devicefarm-support@amazon.com">aws-devicefarm-support@amazon.com</a> if you believe that you
* should be able to invoke this operation.
* </p>
*
* @param renewOfferingRequest
* A request representing an offering renewal.
* @return Result of the RenewOffering operation returned by the service.
* @throws ArgumentException
* An invalid argument was specified.
* @throws NotFoundException
* The specified entity was not found.
* @throws NotEligibleException
* Exception gets thrown when a user is not eligible to perform the specified transaction.
* @throws LimitExceededException
* A limit was exceeded.
* @throws ServiceAccountException
* There was a problem with the service account.
* @sample AWSDeviceFarm.RenewOffering
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/RenewOffering" target="_top">AWS API
* Documentation</a>
*/
RenewOfferingResult renewOffering(RenewOfferingRequest renewOfferingRequest);
/**
* <p>
* Schedules a run.
* </p>
*
* @param scheduleRunRequest
* Represents a request to the schedule run operation.
* @return Result of the ScheduleRun operation returned by the service.
* @throws ArgumentException
* An invalid argument was specified.
* @throws NotFoundException
* The specified entity was not found.
* @throws LimitExceededException
* A limit was exceeded.
* @throws IdempotencyException
* An entity with the same name already exists.
* @throws ServiceAccountException
* There was a problem with the service account.
* @sample AWSDeviceFarm.ScheduleRun
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ScheduleRun" target="_top">AWS API
* Documentation</a>
*/
ScheduleRunResult scheduleRun(ScheduleRunRequest scheduleRunRequest);
/**
* <p>
* Ends a specified remote access session.
* </p>
*
* @param stopRemoteAccessSessionRequest
* Represents the request to stop the remote access session.
* @return Result of the StopRemoteAccessSession operation returned by the service.
* @throws ArgumentException
* An invalid argument was specified.
* @throws NotFoundException
* The specified entity was not found.
* @throws LimitExceededException
* A limit was exceeded.
* @throws ServiceAccountException
* There was a problem with the service account.
* @sample AWSDeviceFarm.StopRemoteAccessSession
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/StopRemoteAccessSession"
* target="_top">AWS API Documentation</a>
*/
StopRemoteAccessSessionResult stopRemoteAccessSession(StopRemoteAccessSessionRequest stopRemoteAccessSessionRequest);
/**
* <p>
* 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.
* </p>
*
* @param stopRunRequest
* Represents the request to stop a specific run.
* @return Result of the StopRun operation returned by the service.
* @throws ArgumentException
* An invalid argument was specified.
* @throws NotFoundException
* The specified entity was not found.
* @throws LimitExceededException
* A limit was exceeded.
* @throws ServiceAccountException
* There was a problem with the service account.
* @sample AWSDeviceFarm.StopRun
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/StopRun" target="_top">AWS API
* Documentation</a>
*/
StopRunResult stopRun(StopRunRequest stopRunRequest);
/**
* <p>
* 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).
* </p>
*
* @param updateDevicePoolRequest
* Represents a request to the update device pool operation.
* @return Result of the UpdateDevicePool operation returned by the service.
* @throws ArgumentException
* An invalid argument was specified.
* @throws NotFoundException
* The specified entity was not found.
* @throws LimitExceededException
* A limit was exceeded.
* @throws ServiceAccountException
* There was a problem with the service account.
* @sample AWSDeviceFarm.UpdateDevicePool
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/UpdateDevicePool" target="_top">AWS
* API Documentation</a>
*/
UpdateDevicePoolResult updateDevicePool(UpdateDevicePoolRequest updateDevicePoolRequest);
/**
* <p>
* Updates the network profile with specific settings.
* </p>
*
* @param updateNetworkProfileRequest
* @return Result of the UpdateNetworkProfile operation returned by the service.
* @throws ArgumentException
* An invalid argument was specified.
* @throws NotFoundException
* The specified entity was not found.
* @throws LimitExceededException
* A limit was exceeded.
* @throws ServiceAccountException
* There was a problem with the service account.
* @sample AWSDeviceFarm.UpdateNetworkProfile
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/UpdateNetworkProfile"
* target="_top">AWS API Documentation</a>
*/
UpdateNetworkProfileResult updateNetworkProfile(UpdateNetworkProfileRequest updateNetworkProfileRequest);
/**
* <p>
* Modifies the specified project name, given the project ARN and a new name.
* </p>
*
* @param updateProjectRequest
* Represents a request to the update project operation.
* @return Result of the UpdateProject operation returned by the service.
* @throws ArgumentException
* An invalid argument was specified.
* @throws NotFoundException
* The specified entity was not found.
* @throws LimitExceededException
* A limit was exceeded.
* @throws ServiceAccountException
* There was a problem with the service account.
* @sample AWSDeviceFarm.UpdateProject
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/UpdateProject" target="_top">AWS API
* Documentation</a>
*/
UpdateProjectResult updateProject(UpdateProjectRequest updateProjectRequest);
/**
* Shuts down this client object, releasing any resources that might be held open. This is an optional method, and
* callers are not expected to call it, but can if they want to explicitly release any open resources. Once a client
* has been shutdown, it should not be used to make any more requests.
*/
void shutdown();
/**
* Returns additional metadata for a previously executed successful request, typically used for debugging issues
* where a service isn't acting as expected. This data isn't considered part of the result data returned by an
* operation, so it's available through this separate, diagnostic interface.
* <p>
* Response metadata is only cached for a limited period of time, so if you need to access this extra diagnostic
* information for an executed request, you should use this method to retrieve it as soon as possible after
* executing a request.
*
* @param request
* The originally executed request.
*
* @return The response metadata for the specified request, or null if none is available.
*/
ResponseMetadata getCachedResponseMetadata(AmazonWebServiceRequest request);
}