All Downloads are FREE. Search and download functionalities are using the official Maven repository.

software.amazon.awssdk.services.devicefarm.model.RemoteAccessSession Maven / Gradle / Ivy

/*
 * Copyright 2014-2019 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 software.amazon.awssdk.services.devicefarm.model;

import java.io.Serializable;
import java.time.Instant;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import java.util.function.BiConsumer;
import java.util.function.Consumer;
import java.util.function.Function;
import software.amazon.awssdk.annotations.Generated;
import software.amazon.awssdk.core.SdkField;
import software.amazon.awssdk.core.SdkPojo;
import software.amazon.awssdk.core.protocol.MarshallLocation;
import software.amazon.awssdk.core.protocol.MarshallingType;
import software.amazon.awssdk.core.traits.LocationTrait;
import software.amazon.awssdk.utils.ToString;
import software.amazon.awssdk.utils.builder.CopyableBuilder;
import software.amazon.awssdk.utils.builder.ToCopyableBuilder;

/**
 * 

* Represents information about the remote access session. *

*/ @Generated("software.amazon.awssdk:codegen") public final class RemoteAccessSession implements SdkPojo, Serializable, ToCopyableBuilder { private static final SdkField ARN_FIELD = SdkField. builder(MarshallingType.STRING) .getter(getter(RemoteAccessSession::arn)).setter(setter(Builder::arn)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("arn").build()).build(); private static final SdkField NAME_FIELD = SdkField. builder(MarshallingType.STRING) .getter(getter(RemoteAccessSession::name)).setter(setter(Builder::name)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("name").build()).build(); private static final SdkField CREATED_FIELD = SdkField. builder(MarshallingType.INSTANT) .getter(getter(RemoteAccessSession::created)).setter(setter(Builder::created)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("created").build()).build(); private static final SdkField STATUS_FIELD = SdkField. builder(MarshallingType.STRING) .getter(getter(RemoteAccessSession::statusAsString)).setter(setter(Builder::status)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("status").build()).build(); private static final SdkField RESULT_FIELD = SdkField. builder(MarshallingType.STRING) .getter(getter(RemoteAccessSession::resultAsString)).setter(setter(Builder::result)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("result").build()).build(); private static final SdkField MESSAGE_FIELD = SdkField. builder(MarshallingType.STRING) .getter(getter(RemoteAccessSession::message)).setter(setter(Builder::message)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("message").build()).build(); private static final SdkField STARTED_FIELD = SdkField. builder(MarshallingType.INSTANT) .getter(getter(RemoteAccessSession::started)).setter(setter(Builder::started)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("started").build()).build(); private static final SdkField STOPPED_FIELD = SdkField. builder(MarshallingType.INSTANT) .getter(getter(RemoteAccessSession::stopped)).setter(setter(Builder::stopped)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("stopped").build()).build(); private static final SdkField DEVICE_FIELD = SdkField. builder(MarshallingType.SDK_POJO) .getter(getter(RemoteAccessSession::device)).setter(setter(Builder::device)).constructor(Device::builder) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("device").build()).build(); private static final SdkField INSTANCE_ARN_FIELD = SdkField. builder(MarshallingType.STRING) .getter(getter(RemoteAccessSession::instanceArn)).setter(setter(Builder::instanceArn)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("instanceArn").build()).build(); private static final SdkField REMOTE_DEBUG_ENABLED_FIELD = SdkField. builder(MarshallingType.BOOLEAN) .getter(getter(RemoteAccessSession::remoteDebugEnabled)).setter(setter(Builder::remoteDebugEnabled)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("remoteDebugEnabled").build()) .build(); private static final SdkField REMOTE_RECORD_ENABLED_FIELD = SdkField. builder(MarshallingType.BOOLEAN) .getter(getter(RemoteAccessSession::remoteRecordEnabled)).setter(setter(Builder::remoteRecordEnabled)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("remoteRecordEnabled").build()) .build(); private static final SdkField REMOTE_RECORD_APP_ARN_FIELD = SdkField. builder(MarshallingType.STRING) .getter(getter(RemoteAccessSession::remoteRecordAppArn)).setter(setter(Builder::remoteRecordAppArn)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("remoteRecordAppArn").build()) .build(); private static final SdkField HOST_ADDRESS_FIELD = SdkField. builder(MarshallingType.STRING) .getter(getter(RemoteAccessSession::hostAddress)).setter(setter(Builder::hostAddress)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("hostAddress").build()).build(); private static final SdkField CLIENT_ID_FIELD = SdkField. builder(MarshallingType.STRING) .getter(getter(RemoteAccessSession::clientId)).setter(setter(Builder::clientId)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("clientId").build()).build(); private static final SdkField BILLING_METHOD_FIELD = SdkField. builder(MarshallingType.STRING) .getter(getter(RemoteAccessSession::billingMethodAsString)).setter(setter(Builder::billingMethod)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("billingMethod").build()).build(); private static final SdkField DEVICE_MINUTES_FIELD = SdkField . builder(MarshallingType.SDK_POJO).getter(getter(RemoteAccessSession::deviceMinutes)) .setter(setter(Builder::deviceMinutes)).constructor(DeviceMinutes::builder) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("deviceMinutes").build()).build(); private static final SdkField ENDPOINT_FIELD = SdkField. builder(MarshallingType.STRING) .getter(getter(RemoteAccessSession::endpoint)).setter(setter(Builder::endpoint)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("endpoint").build()).build(); private static final SdkField DEVICE_UDID_FIELD = SdkField. builder(MarshallingType.STRING) .getter(getter(RemoteAccessSession::deviceUdid)).setter(setter(Builder::deviceUdid)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("deviceUdid").build()).build(); private static final SdkField INTERACTION_MODE_FIELD = SdkField. builder(MarshallingType.STRING) .getter(getter(RemoteAccessSession::interactionModeAsString)).setter(setter(Builder::interactionMode)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("interactionMode").build()).build(); private static final SdkField SKIP_APP_RESIGN_FIELD = SdkField. builder(MarshallingType.BOOLEAN) .getter(getter(RemoteAccessSession::skipAppResign)).setter(setter(Builder::skipAppResign)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("skipAppResign").build()).build(); private static final List> SDK_FIELDS = Collections.unmodifiableList(Arrays.asList(ARN_FIELD, NAME_FIELD, CREATED_FIELD, STATUS_FIELD, RESULT_FIELD, MESSAGE_FIELD, STARTED_FIELD, STOPPED_FIELD, DEVICE_FIELD, INSTANCE_ARN_FIELD, REMOTE_DEBUG_ENABLED_FIELD, REMOTE_RECORD_ENABLED_FIELD, REMOTE_RECORD_APP_ARN_FIELD, HOST_ADDRESS_FIELD, CLIENT_ID_FIELD, BILLING_METHOD_FIELD, DEVICE_MINUTES_FIELD, ENDPOINT_FIELD, DEVICE_UDID_FIELD, INTERACTION_MODE_FIELD, SKIP_APP_RESIGN_FIELD)); private static final long serialVersionUID = 1L; private final String arn; private final String name; private final Instant created; private final String status; private final String result; private final String message; private final Instant started; private final Instant stopped; private final Device device; private final String instanceArn; private final Boolean remoteDebugEnabled; private final Boolean remoteRecordEnabled; private final String remoteRecordAppArn; private final String hostAddress; private final String clientId; private final String billingMethod; private final DeviceMinutes deviceMinutes; private final String endpoint; private final String deviceUdid; private final String interactionMode; private final Boolean skipAppResign; private RemoteAccessSession(BuilderImpl builder) { this.arn = builder.arn; this.name = builder.name; this.created = builder.created; this.status = builder.status; this.result = builder.result; this.message = builder.message; this.started = builder.started; this.stopped = builder.stopped; this.device = builder.device; this.instanceArn = builder.instanceArn; this.remoteDebugEnabled = builder.remoteDebugEnabled; this.remoteRecordEnabled = builder.remoteRecordEnabled; this.remoteRecordAppArn = builder.remoteRecordAppArn; this.hostAddress = builder.hostAddress; this.clientId = builder.clientId; this.billingMethod = builder.billingMethod; this.deviceMinutes = builder.deviceMinutes; this.endpoint = builder.endpoint; this.deviceUdid = builder.deviceUdid; this.interactionMode = builder.interactionMode; this.skipAppResign = builder.skipAppResign; } /** *

* The Amazon Resource Name (ARN) of the remote access session. *

* * @return The Amazon Resource Name (ARN) of the remote access session. */ public String arn() { return arn; } /** *

* The name of the remote access session. *

* * @return The name of the remote access session. */ public String name() { return name; } /** *

* The date and time the remote access session was created. *

* * @return The date and time the remote access session was created. */ public Instant created() { return created; } /** *

* 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. *

    *
  • *
*

* If the service returns an enum value that is not available in the current SDK version, {@link #status} will * return {@link ExecutionStatus#UNKNOWN_TO_SDK_VERSION}. The raw value returned by the service is available from * {@link #statusAsString}. *

* * @return 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. *

    *
  • * @see ExecutionStatus */ public ExecutionStatus status() { return ExecutionStatus.fromValue(status); } /** *

    * 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. *

      *
    • *
    *

    * If the service returns an enum value that is not available in the current SDK version, {@link #status} will * return {@link ExecutionStatus#UNKNOWN_TO_SDK_VERSION}. The raw value returned by the service is available from * {@link #statusAsString}. *

    * * @return 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. *

      *
    • * @see ExecutionStatus */ public String statusAsString() { return status; } /** *

      * 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. *

        *
      • *
      *

      * If the service returns an enum value that is not available in the current SDK version, {@link #result} will * return {@link ExecutionResult#UNKNOWN_TO_SDK_VERSION}. The raw value returned by the service is available from * {@link #resultAsString}. *

      * * @return 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. *

        *
      • * @see ExecutionResult */ public ExecutionResult result() { return ExecutionResult.fromValue(result); } /** *

        * 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. *

          *
        • *
        *

        * If the service returns an enum value that is not available in the current SDK version, {@link #result} will * return {@link ExecutionResult#UNKNOWN_TO_SDK_VERSION}. The raw value returned by the service is available from * {@link #resultAsString}. *

        * * @return 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. *

          *
        • * @see ExecutionResult */ public String resultAsString() { return result; } /** *

          * A message about the remote access session. *

          * * @return A message about the remote access session. */ public String message() { return message; } /** *

          * The date and time the remote access session was started. *

          * * @return The date and time the remote access session was started. */ public Instant started() { return started; } /** *

          * The date and time the remote access session was stopped. *

          * * @return The date and time the remote access session was stopped. */ public Instant stopped() { return stopped; } /** *

          * The device (phone or tablet) used in the remote access session. *

          * * @return The device (phone or tablet) used in the remote access session. */ public Device device() { return device; } /** *

          * The Amazon Resource Name (ARN) of the instance. *

          * * @return The Amazon Resource Name (ARN) of the instance. */ public String instanceArn() { return instanceArn; } /** *

          * This flag is set to true if remote debugging is enabled for the remote access session. *

          * * @return This flag is set to true if remote debugging is enabled for the remote access session. */ public Boolean remoteDebugEnabled() { return remoteDebugEnabled; } /** *

          * This flag is set to true if remote recording is enabled for the remote access session. *

          * * @return This flag is set to true if remote recording is enabled for the remote access session. */ public Boolean remoteRecordEnabled() { return remoteRecordEnabled; } /** *

          * The Amazon Resource Name (ARN) for the app to be recorded in the remote access session. *

          * * @return The Amazon Resource Name (ARN) for the app to be recorded in the remote access session. */ public String remoteRecordAppArn() { return remoteRecordAppArn; } /** *

          * 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. *

          * * @return 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. */ public String hostAddress() { return hostAddress; } /** *

          * Unique identifier of your client for the remote access session. Only returned if remote debugging is enabled for * the remote access session. *

          * * @return Unique identifier of your client for the remote access session. Only returned if remote debugging is * enabled for the remote access session. */ public String clientId() { return clientId; } /** *

          * 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." *

          *

          * If the service returns an enum value that is not available in the current SDK version, {@link #billingMethod} * will return {@link BillingMethod#UNKNOWN_TO_SDK_VERSION}. The raw value returned by the service is available from * {@link #billingMethodAsString}. *

          * * @return 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." * @see BillingMethod */ public BillingMethod billingMethod() { return BillingMethod.fromValue(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." *

          *

          * If the service returns an enum value that is not available in the current SDK version, {@link #billingMethod} * will return {@link BillingMethod#UNKNOWN_TO_SDK_VERSION}. The raw value returned by the service is available from * {@link #billingMethodAsString}. *

          * * @return 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." * @see BillingMethod */ public String billingMethodAsString() { return billingMethod; } /** *

          * The number of minutes a device is used in a remote access session (including setup and teardown minutes). *

          * * @return The number of minutes a device is used in a remote access session (including setup and teardown minutes). */ public DeviceMinutes deviceMinutes() { return deviceMinutes; } /** *

          * The endpoint for the remote access sesssion. *

          * * @return The endpoint for the remote access sesssion. */ public String endpoint() { return endpoint; } /** *

          * Unique device identifier for the remote device. Only returned if remote debugging is enabled for the remote * access session. *

          * * @return Unique device identifier for the remote device. Only returned if remote debugging is enabled for the * remote access session. */ public String deviceUdid() { return deviceUdid; } /** *

          * 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. *

            *
          • *
          *

          * If the service returns an enum value that is not available in the current SDK version, {@link #interactionMode} * will return {@link InteractionMode#UNKNOWN_TO_SDK_VERSION}. The raw value returned by the service is available * from {@link #interactionModeAsString}. *

          * * @return 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. *

            *
          • * @see InteractionMode */ public InteractionMode interactionMode() { return InteractionMode.fromValue(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. *

              *
            • *
            *

            * If the service returns an enum value that is not available in the current SDK version, {@link #interactionMode} * will return {@link InteractionMode#UNKNOWN_TO_SDK_VERSION}. The raw value returned by the service is available * from {@link #interactionModeAsString}. *

            * * @return 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. *

              *
            • * @see InteractionMode */ public String interactionModeAsString() { return interactionMode; } /** *

              * When set to true, for private devices, Device Farm will not sign your app again. For public devices, * Device Farm always signs your apps again and this parameter has no effect. *

              *

              * For more information about how Device Farm re-signs your app(s), see Do you modify my app? in the AWS Device Farm FAQs. *

              * * @return When set to true, for private devices, Device Farm will not sign your app again. For public * devices, Device Farm always signs your apps again and this parameter has no effect.

              *

              * For more information about how Device Farm re-signs your app(s), see Do you modify my app? in the AWS Device Farm * FAQs. */ public Boolean skipAppResign() { return skipAppResign; } @Override public Builder toBuilder() { return new BuilderImpl(this); } public static Builder builder() { return new BuilderImpl(); } public static Class serializableBuilderClass() { return BuilderImpl.class; } @Override public int hashCode() { int hashCode = 1; hashCode = 31 * hashCode + Objects.hashCode(arn()); hashCode = 31 * hashCode + Objects.hashCode(name()); hashCode = 31 * hashCode + Objects.hashCode(created()); hashCode = 31 * hashCode + Objects.hashCode(statusAsString()); hashCode = 31 * hashCode + Objects.hashCode(resultAsString()); hashCode = 31 * hashCode + Objects.hashCode(message()); hashCode = 31 * hashCode + Objects.hashCode(started()); hashCode = 31 * hashCode + Objects.hashCode(stopped()); hashCode = 31 * hashCode + Objects.hashCode(device()); hashCode = 31 * hashCode + Objects.hashCode(instanceArn()); hashCode = 31 * hashCode + Objects.hashCode(remoteDebugEnabled()); hashCode = 31 * hashCode + Objects.hashCode(remoteRecordEnabled()); hashCode = 31 * hashCode + Objects.hashCode(remoteRecordAppArn()); hashCode = 31 * hashCode + Objects.hashCode(hostAddress()); hashCode = 31 * hashCode + Objects.hashCode(clientId()); hashCode = 31 * hashCode + Objects.hashCode(billingMethodAsString()); hashCode = 31 * hashCode + Objects.hashCode(deviceMinutes()); hashCode = 31 * hashCode + Objects.hashCode(endpoint()); hashCode = 31 * hashCode + Objects.hashCode(deviceUdid()); hashCode = 31 * hashCode + Objects.hashCode(interactionModeAsString()); hashCode = 31 * hashCode + Objects.hashCode(skipAppResign()); return hashCode; } @Override public boolean equals(Object obj) { return equalsBySdkFields(obj); } @Override public boolean equalsBySdkFields(Object obj) { if (this == obj) { return true; } if (obj == null) { return false; } if (!(obj instanceof RemoteAccessSession)) { return false; } RemoteAccessSession other = (RemoteAccessSession) obj; return Objects.equals(arn(), other.arn()) && Objects.equals(name(), other.name()) && Objects.equals(created(), other.created()) && Objects.equals(statusAsString(), other.statusAsString()) && Objects.equals(resultAsString(), other.resultAsString()) && Objects.equals(message(), other.message()) && Objects.equals(started(), other.started()) && Objects.equals(stopped(), other.stopped()) && Objects.equals(device(), other.device()) && Objects.equals(instanceArn(), other.instanceArn()) && Objects.equals(remoteDebugEnabled(), other.remoteDebugEnabled()) && Objects.equals(remoteRecordEnabled(), other.remoteRecordEnabled()) && Objects.equals(remoteRecordAppArn(), other.remoteRecordAppArn()) && Objects.equals(hostAddress(), other.hostAddress()) && Objects.equals(clientId(), other.clientId()) && Objects.equals(billingMethodAsString(), other.billingMethodAsString()) && Objects.equals(deviceMinutes(), other.deviceMinutes()) && Objects.equals(endpoint(), other.endpoint()) && Objects.equals(deviceUdid(), other.deviceUdid()) && Objects.equals(interactionModeAsString(), other.interactionModeAsString()) && Objects.equals(skipAppResign(), other.skipAppResign()); } /** * Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be * redacted from this string using a placeholder value. */ @Override public String toString() { return ToString.builder("RemoteAccessSession").add("Arn", arn()).add("Name", name()).add("Created", created()) .add("Status", statusAsString()).add("Result", resultAsString()).add("Message", message()) .add("Started", started()).add("Stopped", stopped()).add("Device", device()).add("InstanceArn", instanceArn()) .add("RemoteDebugEnabled", remoteDebugEnabled()).add("RemoteRecordEnabled", remoteRecordEnabled()) .add("RemoteRecordAppArn", remoteRecordAppArn()).add("HostAddress", hostAddress()).add("ClientId", clientId()) .add("BillingMethod", billingMethodAsString()).add("DeviceMinutes", deviceMinutes()).add("Endpoint", endpoint()) .add("DeviceUdid", deviceUdid()).add("InteractionMode", interactionModeAsString()) .add("SkipAppResign", skipAppResign()).build(); } public Optional getValueForField(String fieldName, Class clazz) { switch (fieldName) { case "arn": return Optional.ofNullable(clazz.cast(arn())); case "name": return Optional.ofNullable(clazz.cast(name())); case "created": return Optional.ofNullable(clazz.cast(created())); case "status": return Optional.ofNullable(clazz.cast(statusAsString())); case "result": return Optional.ofNullable(clazz.cast(resultAsString())); case "message": return Optional.ofNullable(clazz.cast(message())); case "started": return Optional.ofNullable(clazz.cast(started())); case "stopped": return Optional.ofNullable(clazz.cast(stopped())); case "device": return Optional.ofNullable(clazz.cast(device())); case "instanceArn": return Optional.ofNullable(clazz.cast(instanceArn())); case "remoteDebugEnabled": return Optional.ofNullable(clazz.cast(remoteDebugEnabled())); case "remoteRecordEnabled": return Optional.ofNullable(clazz.cast(remoteRecordEnabled())); case "remoteRecordAppArn": return Optional.ofNullable(clazz.cast(remoteRecordAppArn())); case "hostAddress": return Optional.ofNullable(clazz.cast(hostAddress())); case "clientId": return Optional.ofNullable(clazz.cast(clientId())); case "billingMethod": return Optional.ofNullable(clazz.cast(billingMethodAsString())); case "deviceMinutes": return Optional.ofNullable(clazz.cast(deviceMinutes())); case "endpoint": return Optional.ofNullable(clazz.cast(endpoint())); case "deviceUdid": return Optional.ofNullable(clazz.cast(deviceUdid())); case "interactionMode": return Optional.ofNullable(clazz.cast(interactionModeAsString())); case "skipAppResign": return Optional.ofNullable(clazz.cast(skipAppResign())); default: return Optional.empty(); } } @Override public List> sdkFields() { return SDK_FIELDS; } private static Function getter(Function g) { return obj -> g.apply((RemoteAccessSession) obj); } private static BiConsumer setter(BiConsumer s) { return (obj, val) -> s.accept((Builder) obj, val); } public interface Builder extends SdkPojo, CopyableBuilder { /** *

              * The Amazon Resource Name (ARN) of the remote access session. *

              * * @param arn * The Amazon Resource Name (ARN) of the remote access session. * @return Returns a reference to this object so that method calls can be chained together. */ Builder arn(String arn); /** *

              * The name of the remote access session. *

              * * @param name * The name of the remote access session. * @return Returns a reference to this object so that method calls can be chained together. */ Builder name(String name); /** *

              * The date and time the remote access session was created. *

              * * @param created * The date and time the remote access session was created. * @return Returns a reference to this object so that method calls can be chained together. */ Builder created(Instant created); /** *

              * 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. *

                *
              • *
              * * @param status * 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. *

                *
              • * @see ExecutionStatus * @return Returns a reference to this object so that method calls can be chained together. * @see ExecutionStatus */ Builder status(String status); /** *

                * 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. *

                  *
                • *
                * * @param status * 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. *

                  *
                • * @see ExecutionStatus * @return Returns a reference to this object so that method calls can be chained together. * @see ExecutionStatus */ Builder status(ExecutionStatus status); /** *

                  * 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. *

                    *
                  • *
                  * * @param result * 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. *

                    *
                  • * @see ExecutionResult * @return Returns a reference to this object so that method calls can be chained together. * @see ExecutionResult */ Builder result(String result); /** *

                    * 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. *

                      *
                    • *
                    * * @param result * 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. *

                      *
                    • * @see ExecutionResult * @return Returns a reference to this object so that method calls can be chained together. * @see ExecutionResult */ Builder result(ExecutionResult result); /** *

                      * A message about the remote access session. *

                      * * @param message * A message about the remote access session. * @return Returns a reference to this object so that method calls can be chained together. */ Builder message(String message); /** *

                      * The date and time the remote access session was started. *

                      * * @param started * The date and time the remote access session was started. * @return Returns a reference to this object so that method calls can be chained together. */ Builder started(Instant started); /** *

                      * The date and time the remote access session was stopped. *

                      * * @param stopped * The date and time the remote access session was stopped. * @return Returns a reference to this object so that method calls can be chained together. */ Builder stopped(Instant stopped); /** *

                      * The device (phone or tablet) used in the remote access session. *

                      * * @param device * The device (phone or tablet) used in the remote access session. * @return Returns a reference to this object so that method calls can be chained together. */ Builder device(Device device); /** *

                      * The device (phone or tablet) used in the remote access session. *

                      * This is a convenience that creates an instance of the {@link Device.Builder} avoiding the need to create one * manually via {@link Device#builder()}. * * When the {@link Consumer} completes, {@link Device.Builder#build()} is called immediately and its result is * passed to {@link #device(Device)}. * * @param device * a consumer that will call methods on {@link Device.Builder} * @return Returns a reference to this object so that method calls can be chained together. * @see #device(Device) */ default Builder device(Consumer device) { return device(Device.builder().applyMutation(device).build()); } /** *

                      * The Amazon Resource Name (ARN) of the instance. *

                      * * @param instanceArn * The Amazon Resource Name (ARN) of the instance. * @return Returns a reference to this object so that method calls can be chained together. */ Builder instanceArn(String instanceArn); /** *

                      * This flag is set to true if remote debugging is enabled for the remote access session. *

                      * * @param remoteDebugEnabled * This flag is set to true if remote debugging is enabled for the remote access session. * @return Returns a reference to this object so that method calls can be chained together. */ Builder remoteDebugEnabled(Boolean remoteDebugEnabled); /** *

                      * This flag is set to true if remote recording is enabled for the remote access session. *

                      * * @param remoteRecordEnabled * This flag is set to true if remote recording is enabled for the remote access session. * @return Returns a reference to this object so that method calls can be chained together. */ Builder remoteRecordEnabled(Boolean remoteRecordEnabled); /** *

                      * The Amazon Resource Name (ARN) for the app to be recorded in the remote access session. *

                      * * @param remoteRecordAppArn * The Amazon Resource Name (ARN) for the app to be recorded in the remote access session. * @return Returns a reference to this object so that method calls can be chained together. */ Builder remoteRecordAppArn(String remoteRecordAppArn); /** *

                      * 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. *

                      * * @param 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. * @return Returns a reference to this object so that method calls can be chained together. */ Builder hostAddress(String hostAddress); /** *

                      * Unique identifier of your client for the remote access session. Only returned if remote debugging is enabled * for the remote access session. *

                      * * @param clientId * Unique identifier of your client for the remote access session. Only returned if remote debugging is * enabled for the remote access session. * @return Returns a reference to this object so that method calls can be chained together. */ Builder clientId(String clientId); /** *

                      * 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." *

                      * * @param 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." * @see BillingMethod * @return Returns a reference to this object so that method calls can be chained together. * @see BillingMethod */ Builder billingMethod(String 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." *

                      * * @param 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." * @see BillingMethod * @return Returns a reference to this object so that method calls can be chained together. * @see BillingMethod */ Builder billingMethod(BillingMethod billingMethod); /** *

                      * The number of minutes a device is used in a remote access session (including setup and teardown minutes). *

                      * * @param deviceMinutes * The number of minutes a device is used in a remote access session (including setup and teardown * minutes). * @return Returns a reference to this object so that method calls can be chained together. */ Builder deviceMinutes(DeviceMinutes deviceMinutes); /** *

                      * The number of minutes a device is used in a remote access session (including setup and teardown minutes). *

                      * This is a convenience that creates an instance of the {@link DeviceMinutes.Builder} avoiding the need to * create one manually via {@link DeviceMinutes#builder()}. * * When the {@link Consumer} completes, {@link DeviceMinutes.Builder#build()} is called immediately and its * result is passed to {@link #deviceMinutes(DeviceMinutes)}. * * @param deviceMinutes * a consumer that will call methods on {@link DeviceMinutes.Builder} * @return Returns a reference to this object so that method calls can be chained together. * @see #deviceMinutes(DeviceMinutes) */ default Builder deviceMinutes(Consumer deviceMinutes) { return deviceMinutes(DeviceMinutes.builder().applyMutation(deviceMinutes).build()); } /** *

                      * The endpoint for the remote access sesssion. *

                      * * @param endpoint * The endpoint for the remote access sesssion. * @return Returns a reference to this object so that method calls can be chained together. */ Builder endpoint(String endpoint); /** *

                      * Unique device identifier for the remote device. Only returned if remote debugging is enabled for the remote * access session. *

                      * * @param deviceUdid * Unique device identifier for the remote device. Only returned if remote debugging is enabled for the * remote access session. * @return Returns a reference to this object so that method calls can be chained together. */ Builder deviceUdid(String deviceUdid); /** *

                      * 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. *

                        *
                      • *
                      * * @param 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. *

                        *
                      • * @see InteractionMode * @return Returns a reference to this object so that method calls can be chained together. * @see InteractionMode */ Builder interactionMode(String 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. *

                          *
                        • *
                        * * @param 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. *

                          *
                        • * @see InteractionMode * @return Returns a reference to this object so that method calls can be chained together. * @see InteractionMode */ Builder interactionMode(InteractionMode interactionMode); /** *

                          * When set to true, for private devices, Device Farm will not sign your app again. For public * devices, Device Farm always signs your apps again and this parameter has no effect. *

                          *

                          * For more information about how Device Farm re-signs your app(s), see Do you modify my app? in the AWS Device Farm FAQs. *

                          * * @param skipAppResign * When set to true, for private devices, Device Farm will not sign your app again. For * public devices, Device Farm always signs your apps again and this parameter has no effect.

                          *

                          * For more information about how Device Farm re-signs your app(s), see Do you modify my app? in the AWS Device Farm * FAQs. * @return Returns a reference to this object so that method calls can be chained together. */ Builder skipAppResign(Boolean skipAppResign); } static final class BuilderImpl implements Builder { private String arn; private String name; private Instant created; private String status; private String result; private String message; private Instant started; private Instant stopped; private Device device; private String instanceArn; private Boolean remoteDebugEnabled; private Boolean remoteRecordEnabled; private String remoteRecordAppArn; private String hostAddress; private String clientId; private String billingMethod; private DeviceMinutes deviceMinutes; private String endpoint; private String deviceUdid; private String interactionMode; private Boolean skipAppResign; private BuilderImpl() { } private BuilderImpl(RemoteAccessSession model) { arn(model.arn); name(model.name); created(model.created); status(model.status); result(model.result); message(model.message); started(model.started); stopped(model.stopped); device(model.device); instanceArn(model.instanceArn); remoteDebugEnabled(model.remoteDebugEnabled); remoteRecordEnabled(model.remoteRecordEnabled); remoteRecordAppArn(model.remoteRecordAppArn); hostAddress(model.hostAddress); clientId(model.clientId); billingMethod(model.billingMethod); deviceMinutes(model.deviceMinutes); endpoint(model.endpoint); deviceUdid(model.deviceUdid); interactionMode(model.interactionMode); skipAppResign(model.skipAppResign); } public final String getArn() { return arn; } @Override public final Builder arn(String arn) { this.arn = arn; return this; } public final void setArn(String arn) { this.arn = arn; } public final String getName() { return name; } @Override public final Builder name(String name) { this.name = name; return this; } public final void setName(String name) { this.name = name; } public final Instant getCreated() { return created; } @Override public final Builder created(Instant created) { this.created = created; return this; } public final void setCreated(Instant created) { this.created = created; } public final String getStatusAsString() { return status; } @Override public final Builder status(String status) { this.status = status; return this; } @Override public final Builder status(ExecutionStatus status) { this.status(status == null ? null : status.toString()); return this; } public final void setStatus(String status) { this.status = status; } public final String getResultAsString() { return result; } @Override public final Builder result(String result) { this.result = result; return this; } @Override public final Builder result(ExecutionResult result) { this.result(result == null ? null : result.toString()); return this; } public final void setResult(String result) { this.result = result; } public final String getMessage() { return message; } @Override public final Builder message(String message) { this.message = message; return this; } public final void setMessage(String message) { this.message = message; } public final Instant getStarted() { return started; } @Override public final Builder started(Instant started) { this.started = started; return this; } public final void setStarted(Instant started) { this.started = started; } public final Instant getStopped() { return stopped; } @Override public final Builder stopped(Instant stopped) { this.stopped = stopped; return this; } public final void setStopped(Instant stopped) { this.stopped = stopped; } public final Device.Builder getDevice() { return device != null ? device.toBuilder() : null; } @Override public final Builder device(Device device) { this.device = device; return this; } public final void setDevice(Device.BuilderImpl device) { this.device = device != null ? device.build() : null; } public final String getInstanceArn() { return instanceArn; } @Override public final Builder instanceArn(String instanceArn) { this.instanceArn = instanceArn; return this; } public final void setInstanceArn(String instanceArn) { this.instanceArn = instanceArn; } public final Boolean getRemoteDebugEnabled() { return remoteDebugEnabled; } @Override public final Builder remoteDebugEnabled(Boolean remoteDebugEnabled) { this.remoteDebugEnabled = remoteDebugEnabled; return this; } public final void setRemoteDebugEnabled(Boolean remoteDebugEnabled) { this.remoteDebugEnabled = remoteDebugEnabled; } public final Boolean getRemoteRecordEnabled() { return remoteRecordEnabled; } @Override public final Builder remoteRecordEnabled(Boolean remoteRecordEnabled) { this.remoteRecordEnabled = remoteRecordEnabled; return this; } public final void setRemoteRecordEnabled(Boolean remoteRecordEnabled) { this.remoteRecordEnabled = remoteRecordEnabled; } public final String getRemoteRecordAppArn() { return remoteRecordAppArn; } @Override public final Builder remoteRecordAppArn(String remoteRecordAppArn) { this.remoteRecordAppArn = remoteRecordAppArn; return this; } public final void setRemoteRecordAppArn(String remoteRecordAppArn) { this.remoteRecordAppArn = remoteRecordAppArn; } public final String getHostAddress() { return hostAddress; } @Override public final Builder hostAddress(String hostAddress) { this.hostAddress = hostAddress; return this; } public final void setHostAddress(String hostAddress) { this.hostAddress = hostAddress; } public final String getClientId() { return clientId; } @Override public final Builder clientId(String clientId) { this.clientId = clientId; return this; } public final void setClientId(String clientId) { this.clientId = clientId; } public final String getBillingMethodAsString() { return billingMethod; } @Override public final Builder billingMethod(String billingMethod) { this.billingMethod = billingMethod; return this; } @Override public final Builder billingMethod(BillingMethod billingMethod) { this.billingMethod(billingMethod == null ? null : billingMethod.toString()); return this; } public final void setBillingMethod(String billingMethod) { this.billingMethod = billingMethod; } public final DeviceMinutes.Builder getDeviceMinutes() { return deviceMinutes != null ? deviceMinutes.toBuilder() : null; } @Override public final Builder deviceMinutes(DeviceMinutes deviceMinutes) { this.deviceMinutes = deviceMinutes; return this; } public final void setDeviceMinutes(DeviceMinutes.BuilderImpl deviceMinutes) { this.deviceMinutes = deviceMinutes != null ? deviceMinutes.build() : null; } public final String getEndpoint() { return endpoint; } @Override public final Builder endpoint(String endpoint) { this.endpoint = endpoint; return this; } public final void setEndpoint(String endpoint) { this.endpoint = endpoint; } public final String getDeviceUdid() { return deviceUdid; } @Override public final Builder deviceUdid(String deviceUdid) { this.deviceUdid = deviceUdid; return this; } public final void setDeviceUdid(String deviceUdid) { this.deviceUdid = deviceUdid; } public final String getInteractionModeAsString() { return interactionMode; } @Override public final Builder interactionMode(String interactionMode) { this.interactionMode = interactionMode; return this; } @Override public final Builder interactionMode(InteractionMode interactionMode) { this.interactionMode(interactionMode == null ? null : interactionMode.toString()); return this; } public final void setInteractionMode(String interactionMode) { this.interactionMode = interactionMode; } public final Boolean getSkipAppResign() { return skipAppResign; } @Override public final Builder skipAppResign(Boolean skipAppResign) { this.skipAppResign = skipAppResign; return this; } public final void setSkipAppResign(Boolean skipAppResign) { this.skipAppResign = skipAppResign; } @Override public RemoteAccessSession build() { return new RemoteAccessSession(this); } @Override public List> sdkFields() { return SDK_FIELDS; } } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy