DeviceFarm / Client / create_remote_access_session
create_remote_access_session#
- DeviceFarm.Client.create_remote_access_session(**kwargs)#
- Specifies and starts a remote access session. - See also: AWS API Documentation - Request Syntax- response = client.create_remote_access_session( projectArn='string', deviceArn='string', instanceArn='string', sshPublicKey='string', remoteDebugEnabled=True|False, remoteRecordEnabled=True|False, remoteRecordAppArn='string', name='string', clientId='string', configuration={ 'billingMethod': 'METERED'|'UNMETERED', 'vpceConfigurationArns': [ 'string', ] }, interactionMode='INTERACTIVE'|'NO_VIDEO'|'VIDEO_ONLY', skipAppResign=True|False ) - Parameters:
- projectArn (string) – - [REQUIRED] - The Amazon Resource Name (ARN) of the project for which you want to create a remote access session. 
- deviceArn (string) – - [REQUIRED] - The ARN of the device for which you want to create a remote access session. 
- instanceArn (string) – The Amazon Resource Name (ARN) of the device instance for which you want to create a remote access session. 
- sshPublicKey (string) – - Ignored. The public key of the - sshkey pair you want to use for connecting to remote devices in your remote debugging session. This key is required only if- remoteDebugEnabledis set to- true.- Remote debugging is no longer supported. 
- remoteDebugEnabled (boolean) – - Set to - trueif you want to access devices remotely for debugging in your remote access session.- Remote debugging is no longer supported. 
- remoteRecordEnabled (boolean) – Set to - trueto enable remote recording for the remote access session.
- remoteRecordAppArn (string) – The Amazon Resource Name (ARN) for the app to be recorded in the remote access session. 
- name (string) – The name of the remote access session to create. 
- clientId (string) – - Unique identifier for the client. If you want access to multiple devices on the same client, you should pass the same - clientIdvalue in each call to- CreateRemoteAccessSession. This identifier is required only if- remoteDebugEnabledis set to- true.- Remote debugging is no longer supported. 
- configuration (dict) – - The configuration information for the remote access session request. - billingMethod (string) – - The billing method for the remote access session. 
- vpceConfigurationArns (list) – - An array of ARNs included in the VPC endpoint configuration. - (string) – 
 
 
- interactionMode (string) – - 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. 
 
- skipAppResign (boolean) – - 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? 
 
- Return type:
- dict 
- Returns:
- Response Syntax- { 'remoteAccessSession': { 'arn': 'string', 'name': 'string', 'created': datetime(2015, 1, 1), 'status': 'PENDING'|'PENDING_CONCURRENCY'|'PENDING_DEVICE'|'PROCESSING'|'SCHEDULING'|'PREPARING'|'RUNNING'|'COMPLETED'|'STOPPING', 'result': 'PENDING'|'PASSED'|'WARNED'|'FAILED'|'SKIPPED'|'ERRORED'|'STOPPED', 'message': 'string', 'started': datetime(2015, 1, 1), 'stopped': datetime(2015, 1, 1), 'device': { 'arn': 'string', 'name': 'string', 'manufacturer': 'string', 'model': 'string', 'modelId': 'string', 'formFactor': 'PHONE'|'TABLET', 'platform': 'ANDROID'|'IOS', 'os': 'string', 'cpu': { 'frequency': 'string', 'architecture': 'string', 'clock': 123.0 }, 'resolution': { 'width': 123, 'height': 123 }, 'heapSize': 123, 'memory': 123, 'image': 'string', 'carrier': 'string', 'radio': 'string', 'remoteAccessEnabled': True|False, 'remoteDebugEnabled': True|False, 'fleetType': 'string', 'fleetName': 'string', 'instances': [ { 'arn': 'string', 'deviceArn': 'string', 'labels': [ 'string', ], 'status': 'IN_USE'|'PREPARING'|'AVAILABLE'|'NOT_AVAILABLE', 'udid': 'string', 'instanceProfile': { 'arn': 'string', 'packageCleanup': True|False, 'excludeAppPackagesFromCleanup': [ 'string', ], 'rebootAfterUse': True|False, 'name': 'string', 'description': 'string' } }, ], 'availability': 'TEMPORARY_NOT_AVAILABLE'|'BUSY'|'AVAILABLE'|'HIGHLY_AVAILABLE' }, 'instanceArn': 'string', 'remoteDebugEnabled': True|False, 'remoteRecordEnabled': True|False, 'remoteRecordAppArn': 'string', 'hostAddress': 'string', 'clientId': 'string', 'billingMethod': 'METERED'|'UNMETERED', 'deviceMinutes': { 'total': 123.0, 'metered': 123.0, 'unmetered': 123.0 }, 'endpoint': 'string', 'deviceUdid': 'string', 'interactionMode': 'INTERACTIVE'|'NO_VIDEO'|'VIDEO_ONLY', 'skipAppResign': True|False, 'vpcConfig': { 'securityGroupIds': [ 'string', ], 'subnetIds': [ 'string', ], 'vpcId': 'string' } } } - Response Structure- (dict) – - Represents the server response from a request to create a remote access session. - remoteAccessSession (dict) – - A container that describes the remote access session when the request to create a remote access session is sent. - arn (string) – - The Amazon Resource Name (ARN) of the remote access session. 
- name (string) – - The name of the remote access session. 
- created (datetime) – - The date and time the remote access session was created. 
- status (string) – - The status of the remote access session. Can be any of the following: - PENDING. 
- PENDING_CONCURRENCY. 
- PENDING_DEVICE. 
- PROCESSING. 
- SCHEDULING. 
- PREPARING. 
- RUNNING. 
- COMPLETED. 
- STOPPING. 
 
- result (string) – - The result of the remote access session. Can be any of the following: - PENDING. 
- PASSED. 
- WARNED. 
- FAILED. 
- SKIPPED. 
- ERRORED. 
- STOPPED. 
 
- message (string) – - A message about the remote access session. 
- started (datetime) – - The date and time the remote access session was started. 
- stopped (datetime) – - The date and time the remote access session was stopped. 
- device (dict) – - The device (phone or tablet) used in the remote access session. - arn (string) – - The device’s ARN. 
- name (string) – - The device’s display name. 
- manufacturer (string) – - The device’s manufacturer name. 
- model (string) – - The device’s model name. 
- modelId (string) – - The device’s model ID. 
- formFactor (string) – - The device’s form factor. - Allowed values include: - PHONE 
- TABLET 
 
- platform (string) – - The device’s platform. - Allowed values include: - ANDROID 
- IOS 
 
- os (string) – - The device’s operating system type. 
- cpu (dict) – - Information about the device’s CPU. - frequency (string) – - The CPU’s frequency. 
- architecture (string) – - The CPU’s architecture (for example, x86 or ARM). 
- clock (float) – - The clock speed of the device’s CPU, expressed in hertz (Hz). For example, a 1.2 GHz CPU is expressed as 1200000000. 
 
- resolution (dict) – - The resolution of the device. - width (integer) – - The screen resolution’s width, expressed in pixels. 
- height (integer) – - The screen resolution’s height, expressed in pixels. 
 
- heapSize (integer) – - The device’s heap size, expressed in bytes. 
- memory (integer) – - The device’s total memory size, expressed in bytes. 
- image (string) – - The device’s image name. 
- carrier (string) – - The device’s carrier. 
- radio (string) – - The device’s radio. 
- remoteAccessEnabled (boolean) – - Specifies whether remote access has been enabled for the specified device. 
- remoteDebugEnabled (boolean) – - This flag is set to - trueif remote debugging is enabled for the device.- Remote debugging is no longer supported. 
- fleetType (string) – - The type of fleet to which this device belongs. Possible values are PRIVATE and PUBLIC. 
- fleetName (string) – - The name of the fleet to which this device belongs. 
- instances (list) – - The instances that belong to this device. - (dict) – - Represents the device instance. - arn (string) – - The Amazon Resource Name (ARN) of the device instance. 
- deviceArn (string) – - The ARN of the device. 
- labels (list) – - An array of strings that describe the device instance. - (string) – 
 
- status (string) – - The status of the device instance. Valid values are listed here. 
- udid (string) – - Unique device identifier for the device instance. 
- instanceProfile (dict) – - A object that contains information about the instance profile. - arn (string) – - The Amazon Resource Name (ARN) of the instance profile. 
- packageCleanup (boolean) – - When set to - true, Device Farm removes app packages after a test run. The default value is- falsefor private devices.
- excludeAppPackagesFromCleanup (list) – - An array of strings containing the list of app packages that should not be cleaned up from the device after a test run completes. - The list of packages is considered only if you set - packageCleanupto- true.- (string) – 
 
- rebootAfterUse (boolean) – - When set to - true, Device Farm reboots the instance after a test run. The default value is- true.
- name (string) – - The name of the instance profile. 
- description (string) – - The description of the instance profile. 
 
 
 
- availability (string) – - Indicates how likely a device is available for a test run. Currently available in the ListDevices and GetDevice API methods. 
 
- instanceArn (string) – - The ARN of the instance. 
- remoteDebugEnabled (boolean) – - This flag is set to - trueif remote debugging is enabled for the remote access session.- Remote debugging is no longer supported. 
- remoteRecordEnabled (boolean) – - This flag is set to - trueif remote recording is enabled for the remote access session.
- remoteRecordAppArn (string) – - The ARN for the app to be recorded in the remote access session. 
- hostAddress (string) – - IP address of the EC2 host where you need to connect to remotely debug devices. Only returned if remote debugging is enabled for the remote access session. - Remote debugging is no longer supported. 
- clientId (string) – - Unique identifier of your client for the remote access session. Only returned if remote debugging is enabled for the remote access session. - Remote debugging is no longer supported. 
- billingMethod (string) – - The billing method of the remote access session. Possible values include - METEREDor- UNMETERED. For more information about metered devices, see AWS Device Farm terminology.
- deviceMinutes (dict) – - The number of minutes a device is used in a remote access session (including setup and teardown minutes). - total (float) – - When specified, represents the total minutes used by the resource to run tests. 
- metered (float) – - When specified, represents only the sum of metered minutes used by the resource to run tests. 
- unmetered (float) – - When specified, represents only the sum of unmetered minutes used by the resource to run tests. 
 
- endpoint (string) – - The endpoint for the remote access sesssion. 
- deviceUdid (string) – - Unique device identifier for the remote device. Only returned if remote debugging is enabled for the remote access session. - Remote debugging is no longer supported. 
- interactionMode (string) – - 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. 
 
- skipAppResign (boolean) – - 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 about how Device Farm re-signs your apps, see Do you modify my app? in the AWS Device Farm FAQs. 
- vpcConfig (dict) – - The VPC security groups and subnets that are attached to a project. - securityGroupIds (list) – - An array of one or more security groups IDs in your Amazon VPC. - (string) – 
 
- subnetIds (list) – - An array of one or more subnet IDs in your Amazon VPC. - (string) – 
 
- vpcId (string) – - The ID of the Amazon VPC. 
 
 
 
 
 - Exceptions- DeviceFarm.Client.exceptions.ArgumentException
- DeviceFarm.Client.exceptions.NotFoundException
- DeviceFarm.Client.exceptions.LimitExceededException
- DeviceFarm.Client.exceptions.ServiceAccountException
 - Examples- The following example creates a remote access session named MySession. - response = client.create_remote_access_session( name='MySession', configuration={ 'billingMethod': 'METERED', }, # You can get the device ARN by using the list-devices CLI command. deviceArn='arn:aws:devicefarm:us-west-2::device:123EXAMPLE', # You can get the project ARN by using the list-projects CLI command. projectArn='arn:aws:devicefarm:us-west-2:123456789101:project:EXAMPLE-GUID-123-456', ) print(response) - Expected Output: - { 'remoteAccessSession': { }, 'ResponseMetadata': { '...': '...', }, }