/*
* Copyright 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.
*/
/*
* Do not modify this file. This file is generated from the devicefarm-2015-06-23.normal.json service model.
*/
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using System.Text;
using System.IO;
using System.Net;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
namespace Amazon.DeviceFarm.Model
{
///
/// Represents information about the remote access session.
///
public partial class RemoteAccessSession
{
private string _arn;
private BillingMethod _billingMethod;
private string _clientId;
private DateTime? _created;
private Device _device;
private DeviceMinutes _deviceMinutes;
private string _deviceUdid;
private string _endpoint;
private string _hostAddress;
private string _instanceArn;
private InteractionMode _interactionMode;
private string _message;
private string _name;
private bool? _remoteDebugEnabled;
private string _remoteRecordAppArn;
private bool? _remoteRecordEnabled;
private ExecutionResult _result;
private bool? _skipAppResign;
private DateTime? _started;
private ExecutionStatus _status;
private DateTime? _stopped;
private VpcConfig _vpcConfig;
///
/// Gets and sets the property Arn.
///
/// The Amazon Resource Name (ARN) of the remote access session.
///
///
[AWSProperty(Min=32, Max=1011)]
public string Arn
{
get { return this._arn; }
set { this._arn = value; }
}
// Check to see if Arn property is set
internal bool IsSetArn()
{
return this._arn != null;
}
///
/// Gets and sets the property BillingMethod.
///
/// 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.
///
///
public BillingMethod BillingMethod
{
get { return this._billingMethod; }
set { this._billingMethod = value; }
}
// Check to see if BillingMethod property is set
internal bool IsSetBillingMethod()
{
return this._billingMethod != null;
}
///
/// Gets and sets the property ClientId.
///
/// 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.
///
///
[AWSProperty(Min=0, Max=64)]
public string ClientId
{
get { return this._clientId; }
set { this._clientId = value; }
}
// Check to see if ClientId property is set
internal bool IsSetClientId()
{
return this._clientId != null;
}
///
/// Gets and sets the property Created.
///
/// The date and time the remote access session was created.
///
///
public DateTime Created
{
get { return this._created.GetValueOrDefault(); }
set { this._created = value; }
}
// Check to see if Created property is set
internal bool IsSetCreated()
{
return this._created.HasValue;
}
///
/// Gets and sets the property Device.
///
/// The device (phone or tablet) used in the remote access session.
///
///
public Device Device
{
get { return this._device; }
set { this._device = value; }
}
// Check to see if Device property is set
internal bool IsSetDevice()
{
return this._device != null;
}
///
/// Gets and sets the property DeviceMinutes.
///
/// The number of minutes a device is used in a remote access session (including setup
/// and teardown minutes).
///
///
public DeviceMinutes DeviceMinutes
{
get { return this._deviceMinutes; }
set { this._deviceMinutes = value; }
}
// Check to see if DeviceMinutes property is set
internal bool IsSetDeviceMinutes()
{
return this._deviceMinutes != null;
}
///
/// Gets and sets the property DeviceUdid.
///
/// 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.
///
///
public string DeviceUdid
{
get { return this._deviceUdid; }
set { this._deviceUdid = value; }
}
// Check to see if DeviceUdid property is set
internal bool IsSetDeviceUdid()
{
return this._deviceUdid != null;
}
///
/// Gets and sets the property Endpoint.
///
/// The endpoint for the remote access sesssion.
///
///
public string Endpoint
{
get { return this._endpoint; }
set { this._endpoint = value; }
}
// Check to see if Endpoint property is set
internal bool IsSetEndpoint()
{
return this._endpoint != null;
}
///
/// Gets and sets the property HostAddress.
///
/// 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.
///
///
[AWSProperty(Max=1024)]
public string HostAddress
{
get { return this._hostAddress; }
set { this._hostAddress = value; }
}
// Check to see if HostAddress property is set
internal bool IsSetHostAddress()
{
return this._hostAddress != null;
}
///
/// Gets and sets the property InstanceArn.
///
/// The ARN of the instance.
///
///
[AWSProperty(Min=32, Max=1011)]
public string InstanceArn
{
get { return this._instanceArn; }
set { this._instanceArn = value; }
}
// Check to see if InstanceArn property is set
internal bool IsSetInstanceArn()
{
return this._instanceArn != null;
}
///
/// Gets and sets the property InteractionMode.
///
/// 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.
///
///
///
[AWSProperty(Min=0, Max=64)]
public InteractionMode InteractionMode
{
get { return this._interactionMode; }
set { this._interactionMode = value; }
}
// Check to see if InteractionMode property is set
internal bool IsSetInteractionMode()
{
return this._interactionMode != null;
}
///
/// Gets and sets the property Message.
///
/// A message about the remote access session.
///
///
[AWSProperty(Min=0, Max=16384)]
public string Message
{
get { return this._message; }
set { this._message = value; }
}
// Check to see if Message property is set
internal bool IsSetMessage()
{
return this._message != null;
}
///
/// Gets and sets the property Name.
///
/// The name of the remote access session.
///
///
[AWSProperty(Min=0, Max=256)]
public string Name
{
get { return this._name; }
set { this._name = value; }
}
// Check to see if Name property is set
internal bool IsSetName()
{
return this._name != null;
}
///
/// Gets and sets the property RemoteDebugEnabled.
///
/// This flag is set to true
if remote debugging is enabled for the remote
/// access session.
///
///
///
/// Remote debugging is no
/// longer supported.
///
///
public bool RemoteDebugEnabled
{
get { return this._remoteDebugEnabled.GetValueOrDefault(); }
set { this._remoteDebugEnabled = value; }
}
// Check to see if RemoteDebugEnabled property is set
internal bool IsSetRemoteDebugEnabled()
{
return this._remoteDebugEnabled.HasValue;
}
///
/// Gets and sets the property RemoteRecordAppArn.
///
/// The ARN for the app to be recorded in the remote access session.
///
///
[AWSProperty(Min=32, Max=1011)]
public string RemoteRecordAppArn
{
get { return this._remoteRecordAppArn; }
set { this._remoteRecordAppArn = value; }
}
// Check to see if RemoteRecordAppArn property is set
internal bool IsSetRemoteRecordAppArn()
{
return this._remoteRecordAppArn != null;
}
///
/// Gets and sets the property RemoteRecordEnabled.
///
/// This flag is set to true
if remote recording is enabled for the remote
/// access session.
///
///
public bool RemoteRecordEnabled
{
get { return this._remoteRecordEnabled.GetValueOrDefault(); }
set { this._remoteRecordEnabled = value; }
}
// Check to see if RemoteRecordEnabled property is set
internal bool IsSetRemoteRecordEnabled()
{
return this._remoteRecordEnabled.HasValue;
}
///
/// Gets and sets the property Result.
///
/// The result of the remote access session. Can be any of the following:
///
/// -
///
/// PENDING.
///
///
-
///
/// PASSED.
///
///
-
///
/// WARNED.
///
///
-
///
/// FAILED.
///
///
-
///
/// SKIPPED.
///
///
-
///
/// ERRORED.
///
///
-
///
/// STOPPED.
///
///
///
public ExecutionResult Result
{
get { return this._result; }
set { this._result = value; }
}
// Check to see if Result property is set
internal bool IsSetResult()
{
return this._result != null;
}
///
/// Gets and sets the property SkipAppResign.
///
/// 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.
///
///
public bool SkipAppResign
{
get { return this._skipAppResign.GetValueOrDefault(); }
set { this._skipAppResign = value; }
}
// Check to see if SkipAppResign property is set
internal bool IsSetSkipAppResign()
{
return this._skipAppResign.HasValue;
}
///
/// Gets and sets the property Started.
///
/// The date and time the remote access session was started.
///
///
public DateTime Started
{
get { return this._started.GetValueOrDefault(); }
set { this._started = value; }
}
// Check to see if Started property is set
internal bool IsSetStarted()
{
return this._started.HasValue;
}
///
/// Gets and sets the property Status.
///
/// The status of the remote access session. Can be any of the following:
///
/// -
///
/// PENDING.
///
///
-
///
/// PENDING_CONCURRENCY.
///
///
-
///
/// PENDING_DEVICE.
///
///
-
///
/// PROCESSING.
///
///
-
///
/// SCHEDULING.
///
///
-
///
/// PREPARING.
///
///
-
///
/// RUNNING.
///
///
-
///
/// COMPLETED.
///
///
-
///
/// STOPPING.
///
///
///
public ExecutionStatus Status
{
get { return this._status; }
set { this._status = value; }
}
// Check to see if Status property is set
internal bool IsSetStatus()
{
return this._status != null;
}
///
/// Gets and sets the property Stopped.
///
/// The date and time the remote access session was stopped.
///
///
public DateTime Stopped
{
get { return this._stopped.GetValueOrDefault(); }
set { this._stopped = value; }
}
// Check to see if Stopped property is set
internal bool IsSetStopped()
{
return this._stopped.HasValue;
}
///
/// Gets and sets the property VpcConfig.
///
/// The VPC security groups and subnets that are attached to a project.
///
///
public VpcConfig VpcConfig
{
get { return this._vpcConfig; }
set { this._vpcConfig = value; }
}
// Check to see if VpcConfig property is set
internal bool IsSetVpcConfig()
{
return this._vpcConfig != null;
}
}
}