"instanceProfile": { "arn": "string",
"description": "string",
"excludeAppPackagesFromCleanup": [ "string" ], "name": "string",
"packageCleanup": boolean, "rebootAfterUse": boolean }
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
instanceProfile (p. 8)
An object that contains information about your instance profile.
Type: InstanceProfile (p. 261) object
Errors
For information about the errors that are common to all actions, see Common Errors (p. 329).
ArgumentException
An invalid argument was specified.
HTTP Status Code: 400 LimitExceededException
A limit was exceeded.
HTTP Status Code: 400 NotFoundException
The specified entity was not found.
HTTP Status Code: 400 ServiceAccountException
There was a problem with the service account.
API Version 2015-06-23 8
See Also
HTTP Status Code: 400
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS Command Line Interface
• AWS SDK for .NET
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for JavaScript
• AWS SDK for PHP V3
• AWS SDK for Python
• AWS SDK for Ruby V3
CreateNetworkProfile
Creates a network profile.
Request Syntax
{
"description": "string",
"downlinkBandwidthBits": number, "downlinkDelayMs": number, "downlinkJitterMs": number, "downlinkLossPercent": number, "name": "string",
"projectArn": "string", "type": "string",
"uplinkBandwidthBits": number, "uplinkDelayMs": number, "uplinkJitterMs": number, "uplinkLossPercent": number }
Request Parameters
For information about the parameters that are common to all actions, see Common Parameters (p. 327).
The request accepts the following data in JSON format.
description (p. 10)
The description of the network profile.
Type: String
Length Constraints: Minimum length of 0. Maximum length of 16384.
Required: No
downlinkBandwidthBits (p. 10)
The data throughput rate in bits per second, as an integer from 0 to 104857600.
Type: Long Required: No
downlinkDelayMs (p. 10)
Delay time for all packets to destination in milliseconds as an integer from 0 to 2000.
Type: Long Required: No
downlinkJitterMs (p. 10)
Time variation in the delay of received packets in milliseconds as an integer from 0 to 2000.
Type: Long Required: No
API Version 2015-06-23 10
Request Parameters
downlinkLossPercent (p. 10)
Proportion of received packets that fail to arrive from 0 to 100 percent.
Type: Integer
Valid Range: Minimum value of 0. Maximum value of 100.
Required: No name (p. 10)
The name for the new network profile.
Type: String
Length Constraints: Minimum length of 0. Maximum length of 256.
Required: Yes projectArn (p. 10)
The Amazon Resource Name (ARN) of the project for which you want to create a network profile.
Type: String
Length Constraints: Minimum length of 32. Maximum length of 1011.
Pattern: ^arn:.+
Required: Yes type (p. 10)
The type of network profile to create. Valid values are listed here.
Type: String
Valid Values: CURATED | PRIVATE Required: No
uplinkBandwidthBits (p. 10)
The data throughput rate in bits per second, as an integer from 0 to 104857600.
Type: Long Required: No uplinkDelayMs (p. 10)
Delay time for all packets to destination in milliseconds as an integer from 0 to 2000.
Type: Long Required: No uplinkJitterMs (p. 10)
Time variation in the delay of received packets in milliseconds as an integer from 0 to 2000.
Type: Long Required: No
uplinkLossPercent (p. 10)
Proportion of transmitted packets that fail to arrive from 0 to 100 percent.
Type: Integer
Valid Range: Minimum value of 0. Maximum value of 100.
Required: No
Response Syntax
{ "networkProfile": { "arn": "string",
"description": "string",
"downlinkBandwidthBits": number, "downlinkDelayMs": number, "downlinkJitterMs": number, "downlinkLossPercent": number, "name": "string",
"type": "string",
"uplinkBandwidthBits": number, "uplinkDelayMs": number, "uplinkJitterMs": number, "uplinkLossPercent": number }
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
networkProfile (p. 12)
The network profile that is returned by the create network profile request.
Type: NetworkProfile (p. 272) object
Errors
For information about the errors that are common to all actions, see Common Errors (p. 329).
ArgumentException
An invalid argument was specified.
HTTP Status Code: 400 LimitExceededException
A limit was exceeded.
HTTP Status Code: 400 NotFoundException
The specified entity was not found.
HTTP Status Code: 400
API Version 2015-06-23 12
See Also
ServiceAccountException
There was a problem with the service account.
HTTP Status Code: 400
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS Command Line Interface
• AWS SDK for .NET
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for JavaScript
• AWS SDK for PHP V3
• AWS SDK for Python
• AWS SDK for Ruby V3
CreateProject
Creates a project.
Request Syntax
{ "defaultJobTimeoutMinutes": number, "name": "string"
}
Request Parameters
For information about the parameters that are common to all actions, see Common Parameters (p. 327).
The request accepts the following data in JSON format.
defaultJobTimeoutMinutes (p. 14)
Sets the execution timeout value (in minutes) for a project. All test runs in this project use the specified execution timeout value unless overridden when scheduling a run.
Type: Integer Required: No name (p. 14)
The project's name.
Type: String
Length Constraints: Minimum length of 0. Maximum length of 256.
Required: Yes
Response Syntax
{ "project": { "arn": "string", "created": number,
"defaultJobTimeoutMinutes": number, "name": "string"
}}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
API Version 2015-06-23 14
Errors
project (p. 14)
The newly created project.
Type: Project (p. 282) object
Errors
For information about the errors that are common to all actions, see Common Errors (p. 329).
ArgumentException
An invalid argument was specified.
HTTP Status Code: 400 LimitExceededException
A limit was exceeded.
HTTP Status Code: 400 NotFoundException
The specified entity was not found.
HTTP Status Code: 400 ServiceAccountException
There was a problem with the service account.
HTTP Status Code: 400 TagOperationException
The operation was not successful. Try again.
HTTP Status Code: 400
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS Command Line Interface
• AWS SDK for .NET
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for JavaScript
• AWS SDK for PHP V3
• AWS SDK for Python
• AWS SDK for Ruby V3
CreateRemoteAccessSession
Specifies and starts a remote access session.
Request Syntax
{ "clientId": "string", "configuration": {
"billingMethod": "string",
"vpceConfigurationArns": [ "string" ] },
"deviceArn": "string", "instanceArn": "string", "interactionMode": "string", "name": "string",
"projectArn": "string", "remoteDebugEnabled": boolean, "remoteRecordAppArn": "string", "remoteRecordEnabled": boolean, "skipAppResign": boolean, "sshPublicKey": "string"
}
Request Parameters
For information about the parameters that are common to all actions, see Common Parameters (p. 327).
The request accepts the following data in JSON format.
clientId (p. 16)
Unique identifier for the client. If you want access to multiple devices on the same client, you should pass the same clientId value in each call to CreateRemoteAccessSession. This identifier is required only if remoteDebugEnabled is set to true.
Remote debugging is no longer supported.
Type: String
Length Constraints: Minimum length of 0. Maximum length of 64.
Required: No configuration (p. 16)
The configuration information for the remote access session request.
Type: CreateRemoteAccessSessionConfiguration (p. 241) object Required: No
deviceArn (p. 16)
The ARN of the device for which you want to create a remote access session.
Type: String
Length Constraints: Minimum length of 32. Maximum length of 1011.
API Version 2015-06-23 16
Request Parameters
Pattern: ^arn:.+
Required: Yes instanceArn (p. 16)
The Amazon Resource Name (ARN) of the device instance for which you want to create a remote access session.
Type: String
Length Constraints: Minimum length of 32. Maximum length of 1011.
Pattern: ^arn:.+
Required: No interactionMode (p. 16)
The interaction mode of the remote access session. Valid values are:
• INTERACTIVE: You can interact with the iOS device by viewing, touching, and rotating the screen.
You cannot run XCUITest framework-based tests in this mode.
• NO_VIDEO: You are connected to the device, but cannot interact with it or view the screen. This mode has the fastest test execution speed. You can run XCUITest framework-based tests in this mode.
• VIDEO_ONLY: You can view the screen, but cannot touch or rotate it. You can run XCUITest framework-based tests and watch the screen in this mode.
Type: String
Length Constraints: Minimum length of 0. Maximum length of 64.
Valid Values: INTERACTIVE | NO_VIDEO | VIDEO_ONLY Required: No
name (p. 16)
The name of the remote access session to create.
Type: String
Length Constraints: Minimum length of 0. Maximum length of 256.
Required: No projectArn (p. 16)
The Amazon Resource Name (ARN) of the project for which you want to create a remote access session.
Type: String
Length Constraints: Minimum length of 32. Maximum length of 1011.
Pattern: ^arn:.+
Required: Yes
remoteDebugEnabled (p. 16)
Set to true if you want to access devices remotely for debugging in your remote access session.
Remote debugging is no longer supported.
Type: Boolean
Required: No
remoteRecordAppArn (p. 16)
The Amazon Resource Name (ARN) for the app to be recorded in the remote access session.
Type: String
Length Constraints: Minimum length of 32. Maximum length of 1011.
Pattern: ^arn:.+
Required: No
remoteRecordEnabled (p. 16)
Set to true to enable remote recording for the remote access session.
Type: Boolean Required: No skipAppResign (p. 16)
When set to true, for private devices, Device Farm does not sign your app again. For public devices, Device Farm always signs your apps again.
For more information on how Device Farm modifies your uploads during tests, see Do you modify my app?
Type: Boolean Required: No sshPublicKey (p. 16)
Ignored. The public key of the ssh key pair you want to use for connecting to remote devices in your remote debugging session. This key is required only if remoteDebugEnabled is set to true.
Remote debugging is no longer supported.
Type: String
Length Constraints: Minimum length of 0. Maximum length of 8192.
Required: No
Response Syntax
{ "remoteAccessSession": { "arn": "string",
"billingMethod": "string", "clientId": "string",
Response Elements
"deviceUdid": "string", "endpoint": "string", "hostAddress": "string", "instanceArn": "string", "interactionMode": "string", "message": "string",
"name": "string",
"remoteDebugEnabled": boolean, "remoteRecordAppArn": "string", "remoteRecordEnabled": boolean, "result": "string",
"skipAppResign": boolean, "started": number,
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
remoteAccessSession (p. 18)
A container that describes the remote access session when the request to create a remote access session is sent.
Type: RemoteAccessSession (p. 285) object
Errors
For information about the errors that are common to all actions, see Common Errors (p. 329).
ArgumentException
An invalid argument was specified.
HTTP Status Code: 400 LimitExceededException
A limit was exceeded.
HTTP Status Code: 400 NotFoundException
The specified entity was not found.
HTTP Status Code: 400 ServiceAccountException
There was a problem with the service account.
HTTP Status Code: 400
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS Command Line Interface
• AWS SDK for .NET
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for JavaScript
• AWS SDK for PHP V3
• AWS SDK for Python
• AWS SDK for Ruby V3
API Version 2015-06-23 20
CreateTestGridProject
CreateTestGridProject
Creates a Selenium testing project. Projects are used to track TestGridSession (p. 315) instances.
Request Syntax
{ "description": "string", "name": "string",
"vpcConfig": {
"securityGroupIds": [ "string" ], "subnetIds": [ "string" ],
"vpcId": "string"
} }
Request Parameters
For information about the parameters that are common to all actions, see Common Parameters (p. 327).
The request accepts the following data in JSON format.
description (p. 21)
Human-readable description of the project.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 2048.
Pattern: .*\S.*
Required: No name (p. 21)
Human-readable name of the Selenium testing project.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 64.
Pattern: .*\S.*
Required: Yes vpcConfig (p. 21)
The VPC security groups and subnets that are attached to a project.
Type: TestGridVpcConfig (p. 319) object Required: No
Response Syntax
{
"testGridProject": { "arn": "string", "created": number, "description": "string", "name": "string", "vpcConfig": {
"securityGroupIds": [ "string" ], "subnetIds": [ "string" ], "vpcId": "string"
} } }
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
testGridProject (p. 21)
ARN of the Selenium testing project that was created.
Type: TestGridProject (p. 314) object
Errors
For information about the errors that are common to all actions, see Common Errors (p. 329).
ArgumentException
An invalid argument was specified.
HTTP Status Code: 400 InternalServiceException
An internal exception was raised in the service. Contact [email protected] if you see this error.
HTTP Status Code: 500 LimitExceededException
A limit was exceeded.
HTTP Status Code: 400
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS Command Line Interface
• AWS SDK for .NET
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
API Version 2015-06-23 22
See Also
• AWS SDK for JavaScript
• AWS SDK for PHP V3
• AWS SDK for Python
• AWS SDK for Ruby V3
CreateTestGridUrl
Creates a signed, short-term URL that can be passed to a Selenium RemoteWebDriver constructor.
Request Syntax
{
"expiresInSeconds": number, "projectArn": "string"
}
Request Parameters
For information about the parameters that are common to all actions, see Common Parameters (p. 327).
The request accepts the following data in JSON format.
expiresInSeconds (p. 24)
Lifetime, in seconds, of the URL.
Type: Integer
Valid Range: Minimum value of 60. Maximum value of 86400.
Required: Yes projectArn (p. 24)
ARN (from CreateTestGridProject (p. 21) or ListTestGridProjects (p. 158)) to associate with the short-term URL.
Type: String
Length Constraints: Minimum length of 32. Maximum length of 1011.
Pattern: ^arn:aws:devicefarm:.+
Required: Yes
Response Syntax
{
"expires": number, "url": "string"
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
API Version 2015-06-23 24
Errors
expires (p. 24)
The number of seconds the URL from CreateTestGridUrl:url (p. 25) stays active.
Type: Timestamp url (p. 24)
A signed URL, expiring in CreateTestGridUrl:expiresInSeconds (p. 24) seconds, to be passed to a RemoteWebDriver.
Type: String
Errors
For information about the errors that are common to all actions, see Common Errors (p. 329).
ArgumentException
An invalid argument was specified.
HTTP Status Code: 400 InternalServiceException
An internal exception was raised in the service. Contact [email protected] if you see this error.
HTTP Status Code: 500 NotFoundException
The specified entity was not found.
HTTP Status Code: 400
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS Command Line Interface
• AWS SDK for .NET
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for JavaScript
• AWS SDK for PHP V3
• AWS SDK for Python
• AWS SDK for Ruby V3
CreateUpload
Uploads an app or test scripts.
Request Syntax
{ "contentType": "string", "name": "string",
"projectArn": "string", "type": "string"
}
Request Parameters
For information about the parameters that are common to all actions, see Common Parameters (p. 327).
The request accepts the following data in JSON format.
contentType (p. 26)
The upload's content type (for example, application/octet-stream).
Type: String
Length Constraints: Minimum length of 0. Maximum length of 64.
Required: No name (p. 26)
The upload's file name. The name should not contain any forward slashes (/). If you are uploading an iOS app, the file name must end with the .ipa extension. If you are uploading an Android app, the file name must end with the .apk extension. For all others, the file name must end with the .zip file extension.
Type: String
Length Constraints: Minimum length of 0. Maximum length of 256.
Required: Yes projectArn (p. 26)
The ARN of the project for the upload.
Type: String
Length Constraints: Minimum length of 32. Maximum length of 1011.
Pattern: ^arn:.+
Required: Yes type (p. 26)
The upload's upload type.
Must be one of the following values:
API Version 2015-06-23 26
Request Parameters
If you call CreateUpload with WEB_APP specified, AWS Device Farm throws an ArgumentException error.
Type: String
Valid Values: ANDROID_APP | IOS_APP | WEB_APP | EXTERNAL_DATA | APPIUM_JAVA_JUNIT_TEST_PACKAGE | APPIUM_JAVA_TESTNG_TEST_PACKAGE
| APPIUM_PYTHON_TEST_PACKAGE | APPIUM_NODE_TEST_PACKAGE | APPIUM_RUBY_TEST_PACKAGE | APPIUM_WEB_JAVA_JUNIT_TEST_PACKAGE | APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE | APPIUM_WEB_PYTHON_TEST_PACKAGE
| APPIUM_WEB_NODE_TEST_PACKAGE | APPIUM_WEB_RUBY_TEST_PACKAGE
| CALABASH_TEST_PACKAGE | INSTRUMENTATION_TEST_PACKAGE | UIAUTOMATION_TEST_PACKAGE | UIAUTOMATOR_TEST_PACKAGE |
XCTEST_TEST_PACKAGE | XCTEST_UI_TEST_PACKAGE | APPIUM_JAVA_JUNIT_TEST_SPEC
| APPIUM_JAVA_TESTNG_TEST_SPEC | APPIUM_PYTHON_TEST_SPEC
| APPIUM_NODE_TEST_SPEC | APPIUM_RUBY_TEST_SPEC |
APPIUM_WEB_JAVA_JUNIT_TEST_SPEC | APPIUM_WEB_JAVA_TESTNG_TEST_SPEC
| APPIUM_WEB_PYTHON_TEST_SPEC | APPIUM_WEB_NODE_TEST_SPEC |
APPIUM_WEB_RUBY_TEST_SPEC | INSTRUMENTATION_TEST_SPEC | XCTEST_UI_TEST_SPEC Required: Yes
Response Syntax
{
"upload": { "arn": "string", "category": "string", "contentType": "string", "created": number, "message": "string", "metadata": "string", "name": "string", "status": "string", "type": "string", "url": "string"
} }
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
upload (p. 28)
The newly created upload.
Type: Upload (p. 322) object
Errors
For information about the errors that are common to all actions, see Common Errors (p. 329).
ArgumentException
An invalid argument was specified.
HTTP Status Code: 400 LimitExceededException
A limit was exceeded.
HTTP Status Code: 400 NotFoundException
The specified entity was not found.
HTTP Status Code: 400 ServiceAccountException
There was a problem with the service account.
API Version 2015-06-23 28
See Also
HTTP Status Code: 400
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS Command Line Interface
• AWS SDK for .NET
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for JavaScript
• AWS SDK for PHP V3
• AWS SDK for Python
• AWS SDK for Ruby V3