/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace DeviceFarm { namespace Model { /** *

Represents a device.

See Also:

AWS API * Reference

*/ class Job { public: AWS_DEVICEFARM_API Job(); AWS_DEVICEFARM_API Job(Aws::Utils::Json::JsonView jsonValue); AWS_DEVICEFARM_API Job& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_DEVICEFARM_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The job's ARN.

*/ inline const Aws::String& GetArn() const{ return m_arn; } /** *

The job's ARN.

*/ inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } /** *

The job's ARN.

*/ inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; } /** *

The job's ARN.

*/ inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); } /** *

The job's ARN.

*/ inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); } /** *

The job's ARN.

*/ inline Job& WithArn(const Aws::String& value) { SetArn(value); return *this;} /** *

The job's ARN.

*/ inline Job& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} /** *

The job's ARN.

*/ inline Job& WithArn(const char* value) { SetArn(value); return *this;} /** *

The job's name.

*/ inline const Aws::String& GetName() const{ return m_name; } /** *

The job's name.

*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *

The job's name.

*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *

The job's name.

*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *

The job's name.

*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *

The job's name.

*/ inline Job& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

The job's name.

*/ inline Job& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

The job's name.

*/ inline Job& WithName(const char* value) { SetName(value); return *this;} /** *

The job's type.

Allowed values include the following:

  • *

    BUILTIN_FUZZ

  • BUILTIN_EXPLORER. For Android, an app explorer * that traverses an Android app, interacting with it and capturing screenshots at * the same time.

  • APPIUM_JAVA_JUNIT

  • *

    APPIUM_JAVA_TESTNG

  • APPIUM_PYTHON

  • *

    APPIUM_NODE

  • APPIUM_RUBY

  • *

    APPIUM_WEB_JAVA_JUNIT

  • APPIUM_WEB_JAVA_TESTNG

  • *

    APPIUM_WEB_PYTHON

  • APPIUM_WEB_NODE

  • *

    APPIUM_WEB_RUBY

  • CALABASH

  • *

    INSTRUMENTATION

  • UIAUTOMATION

  • *

    UIAUTOMATOR

  • XCTEST

  • XCTEST_UI

  • *
*/ inline const TestType& GetType() const{ return m_type; } /** *

The job's type.

Allowed values include the following:

  • *

    BUILTIN_FUZZ

  • BUILTIN_EXPLORER. For Android, an app explorer * that traverses an Android app, interacting with it and capturing screenshots at * the same time.

  • APPIUM_JAVA_JUNIT

  • *

    APPIUM_JAVA_TESTNG

  • APPIUM_PYTHON

  • *

    APPIUM_NODE

  • APPIUM_RUBY

  • *

    APPIUM_WEB_JAVA_JUNIT

  • APPIUM_WEB_JAVA_TESTNG

  • *

    APPIUM_WEB_PYTHON

  • APPIUM_WEB_NODE

  • *

    APPIUM_WEB_RUBY

  • CALABASH

  • *

    INSTRUMENTATION

  • UIAUTOMATION

  • *

    UIAUTOMATOR

  • XCTEST

  • XCTEST_UI

  • *
*/ inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } /** *

The job's type.

Allowed values include the following:

  • *

    BUILTIN_FUZZ

  • BUILTIN_EXPLORER. For Android, an app explorer * that traverses an Android app, interacting with it and capturing screenshots at * the same time.

  • APPIUM_JAVA_JUNIT

  • *

    APPIUM_JAVA_TESTNG

  • APPIUM_PYTHON

  • *

    APPIUM_NODE

  • APPIUM_RUBY

  • *

    APPIUM_WEB_JAVA_JUNIT

  • APPIUM_WEB_JAVA_TESTNG

  • *

    APPIUM_WEB_PYTHON

  • APPIUM_WEB_NODE

  • *

    APPIUM_WEB_RUBY

  • CALABASH

  • *

    INSTRUMENTATION

  • UIAUTOMATION

  • *

    UIAUTOMATOR

  • XCTEST

  • XCTEST_UI

  • *
*/ inline void SetType(const TestType& value) { m_typeHasBeenSet = true; m_type = value; } /** *

The job's type.

Allowed values include the following:

  • *

    BUILTIN_FUZZ

  • BUILTIN_EXPLORER. For Android, an app explorer * that traverses an Android app, interacting with it and capturing screenshots at * the same time.

  • APPIUM_JAVA_JUNIT

  • *

    APPIUM_JAVA_TESTNG

  • APPIUM_PYTHON

  • *

    APPIUM_NODE

  • APPIUM_RUBY

  • *

    APPIUM_WEB_JAVA_JUNIT

  • APPIUM_WEB_JAVA_TESTNG

  • *

    APPIUM_WEB_PYTHON

  • APPIUM_WEB_NODE

  • *

    APPIUM_WEB_RUBY

  • CALABASH

  • *

    INSTRUMENTATION

  • UIAUTOMATION

  • *

    UIAUTOMATOR

  • XCTEST

  • XCTEST_UI

  • *
*/ inline void SetType(TestType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } /** *

The job's type.

Allowed values include the following:

  • *

    BUILTIN_FUZZ

  • BUILTIN_EXPLORER. For Android, an app explorer * that traverses an Android app, interacting with it and capturing screenshots at * the same time.

  • APPIUM_JAVA_JUNIT

  • *

    APPIUM_JAVA_TESTNG

  • APPIUM_PYTHON

  • *

    APPIUM_NODE

  • APPIUM_RUBY

  • *

    APPIUM_WEB_JAVA_JUNIT

  • APPIUM_WEB_JAVA_TESTNG

  • *

    APPIUM_WEB_PYTHON

  • APPIUM_WEB_NODE

  • *

    APPIUM_WEB_RUBY

  • CALABASH

  • *

    INSTRUMENTATION

  • UIAUTOMATION

  • *

    UIAUTOMATOR

  • XCTEST

  • XCTEST_UI

  • *
*/ inline Job& WithType(const TestType& value) { SetType(value); return *this;} /** *

The job's type.

Allowed values include the following:

  • *

    BUILTIN_FUZZ

  • BUILTIN_EXPLORER. For Android, an app explorer * that traverses an Android app, interacting with it and capturing screenshots at * the same time.

  • APPIUM_JAVA_JUNIT

  • *

    APPIUM_JAVA_TESTNG

  • APPIUM_PYTHON

  • *

    APPIUM_NODE

  • APPIUM_RUBY

  • *

    APPIUM_WEB_JAVA_JUNIT

  • APPIUM_WEB_JAVA_TESTNG

  • *

    APPIUM_WEB_PYTHON

  • APPIUM_WEB_NODE

  • *

    APPIUM_WEB_RUBY

  • CALABASH

  • *

    INSTRUMENTATION

  • UIAUTOMATION

  • *

    UIAUTOMATOR

  • XCTEST

  • XCTEST_UI

  • *
*/ inline Job& WithType(TestType&& value) { SetType(std::move(value)); return *this;} /** *

When the job was created.

*/ inline const Aws::Utils::DateTime& GetCreated() const{ return m_created; } /** *

When the job was created.

*/ inline bool CreatedHasBeenSet() const { return m_createdHasBeenSet; } /** *

When the job was created.

*/ inline void SetCreated(const Aws::Utils::DateTime& value) { m_createdHasBeenSet = true; m_created = value; } /** *

When the job was created.

*/ inline void SetCreated(Aws::Utils::DateTime&& value) { m_createdHasBeenSet = true; m_created = std::move(value); } /** *

When the job was created.

*/ inline Job& WithCreated(const Aws::Utils::DateTime& value) { SetCreated(value); return *this;} /** *

When the job was created.

*/ inline Job& WithCreated(Aws::Utils::DateTime&& value) { SetCreated(std::move(value)); return *this;} /** *

The job's status.

Allowed values include:

  • PENDING

    *
  • PENDING_CONCURRENCY

  • PENDING_DEVICE

  • *
  • PROCESSING

  • SCHEDULING

  • PREPARING

    *
  • RUNNING

  • COMPLETED

  • STOPPING

    *
*/ inline const ExecutionStatus& GetStatus() const{ return m_status; } /** *

The job's status.

Allowed values include:

  • PENDING

    *
  • PENDING_CONCURRENCY

  • PENDING_DEVICE

  • *
  • PROCESSING

  • SCHEDULING

  • PREPARING

    *
  • RUNNING

  • COMPLETED

  • STOPPING

    *
*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *

The job's status.

Allowed values include:

  • PENDING

    *
  • PENDING_CONCURRENCY

  • PENDING_DEVICE

  • *
  • PROCESSING

  • SCHEDULING

  • PREPARING

    *
  • RUNNING

  • COMPLETED

  • STOPPING

    *
*/ inline void SetStatus(const ExecutionStatus& value) { m_statusHasBeenSet = true; m_status = value; } /** *

The job's status.

Allowed values include:

  • PENDING

    *
  • PENDING_CONCURRENCY

  • PENDING_DEVICE

  • *
  • PROCESSING

  • SCHEDULING

  • PREPARING

    *
  • RUNNING

  • COMPLETED

  • STOPPING

    *
*/ inline void SetStatus(ExecutionStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *

The job's status.

Allowed values include:

  • PENDING

    *
  • PENDING_CONCURRENCY

  • PENDING_DEVICE

  • *
  • PROCESSING

  • SCHEDULING

  • PREPARING

    *
  • RUNNING

  • COMPLETED

  • STOPPING

    *
*/ inline Job& WithStatus(const ExecutionStatus& value) { SetStatus(value); return *this;} /** *

The job's status.

Allowed values include:

  • PENDING

    *
  • PENDING_CONCURRENCY

  • PENDING_DEVICE

  • *
  • PROCESSING

  • SCHEDULING

  • PREPARING

    *
  • RUNNING

  • COMPLETED

  • STOPPING

    *
*/ inline Job& WithStatus(ExecutionStatus&& value) { SetStatus(std::move(value)); return *this;} /** *

The job's result.

Allowed values include:

  • PENDING

    *
  • PASSED

  • WARNED

  • FAILED

  • *
  • SKIPPED

  • ERRORED

  • STOPPED

  • *
*/ inline const ExecutionResult& GetResult() const{ return m_result; } /** *

The job's result.

Allowed values include:

  • PENDING

    *
  • PASSED

  • WARNED

  • FAILED

  • *
  • SKIPPED

  • ERRORED

  • STOPPED

  • *
*/ inline bool ResultHasBeenSet() const { return m_resultHasBeenSet; } /** *

The job's result.

Allowed values include:

  • PENDING

    *
  • PASSED

  • WARNED

  • FAILED

  • *
  • SKIPPED

  • ERRORED

  • STOPPED

  • *
*/ inline void SetResult(const ExecutionResult& value) { m_resultHasBeenSet = true; m_result = value; } /** *

The job's result.

Allowed values include:

  • PENDING

    *
  • PASSED

  • WARNED

  • FAILED

  • *
  • SKIPPED

  • ERRORED

  • STOPPED

  • *
*/ inline void SetResult(ExecutionResult&& value) { m_resultHasBeenSet = true; m_result = std::move(value); } /** *

The job's result.

Allowed values include:

  • PENDING

    *
  • PASSED

  • WARNED

  • FAILED

  • *
  • SKIPPED

  • ERRORED

  • STOPPED

  • *
*/ inline Job& WithResult(const ExecutionResult& value) { SetResult(value); return *this;} /** *

The job's result.

Allowed values include:

  • PENDING

    *
  • PASSED

  • WARNED

  • FAILED

  • *
  • SKIPPED

  • ERRORED

  • STOPPED

  • *
*/ inline Job& WithResult(ExecutionResult&& value) { SetResult(std::move(value)); return *this;} /** *

The job's start time.

*/ inline const Aws::Utils::DateTime& GetStarted() const{ return m_started; } /** *

The job's start time.

*/ inline bool StartedHasBeenSet() const { return m_startedHasBeenSet; } /** *

The job's start time.

*/ inline void SetStarted(const Aws::Utils::DateTime& value) { m_startedHasBeenSet = true; m_started = value; } /** *

The job's start time.

*/ inline void SetStarted(Aws::Utils::DateTime&& value) { m_startedHasBeenSet = true; m_started = std::move(value); } /** *

The job's start time.

*/ inline Job& WithStarted(const Aws::Utils::DateTime& value) { SetStarted(value); return *this;} /** *

The job's start time.

*/ inline Job& WithStarted(Aws::Utils::DateTime&& value) { SetStarted(std::move(value)); return *this;} /** *

The job's stop time.

*/ inline const Aws::Utils::DateTime& GetStopped() const{ return m_stopped; } /** *

The job's stop time.

*/ inline bool StoppedHasBeenSet() const { return m_stoppedHasBeenSet; } /** *

The job's stop time.

*/ inline void SetStopped(const Aws::Utils::DateTime& value) { m_stoppedHasBeenSet = true; m_stopped = value; } /** *

The job's stop time.

*/ inline void SetStopped(Aws::Utils::DateTime&& value) { m_stoppedHasBeenSet = true; m_stopped = std::move(value); } /** *

The job's stop time.

*/ inline Job& WithStopped(const Aws::Utils::DateTime& value) { SetStopped(value); return *this;} /** *

The job's stop time.

*/ inline Job& WithStopped(Aws::Utils::DateTime&& value) { SetStopped(std::move(value)); return *this;} /** *

The job's result counters.

*/ inline const Counters& GetCounters() const{ return m_counters; } /** *

The job's result counters.

*/ inline bool CountersHasBeenSet() const { return m_countersHasBeenSet; } /** *

The job's result counters.

*/ inline void SetCounters(const Counters& value) { m_countersHasBeenSet = true; m_counters = value; } /** *

The job's result counters.

*/ inline void SetCounters(Counters&& value) { m_countersHasBeenSet = true; m_counters = std::move(value); } /** *

The job's result counters.

*/ inline Job& WithCounters(const Counters& value) { SetCounters(value); return *this;} /** *

The job's result counters.

*/ inline Job& WithCounters(Counters&& value) { SetCounters(std::move(value)); return *this;} /** *

A message about the job's result.

*/ inline const Aws::String& GetMessage() const{ return m_message; } /** *

A message about the job's result.

*/ inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; } /** *

A message about the job's result.

*/ inline void SetMessage(const Aws::String& value) { m_messageHasBeenSet = true; m_message = value; } /** *

A message about the job's result.

*/ inline void SetMessage(Aws::String&& value) { m_messageHasBeenSet = true; m_message = std::move(value); } /** *

A message about the job's result.

*/ inline void SetMessage(const char* value) { m_messageHasBeenSet = true; m_message.assign(value); } /** *

A message about the job's result.

*/ inline Job& WithMessage(const Aws::String& value) { SetMessage(value); return *this;} /** *

A message about the job's result.

*/ inline Job& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;} /** *

A message about the job's result.

*/ inline Job& WithMessage(const char* value) { SetMessage(value); return *this;} /** *

The device (phone or tablet).

*/ inline const Device& GetDevice() const{ return m_device; } /** *

The device (phone or tablet).

*/ inline bool DeviceHasBeenSet() const { return m_deviceHasBeenSet; } /** *

The device (phone or tablet).

*/ inline void SetDevice(const Device& value) { m_deviceHasBeenSet = true; m_device = value; } /** *

The device (phone or tablet).

*/ inline void SetDevice(Device&& value) { m_deviceHasBeenSet = true; m_device = std::move(value); } /** *

The device (phone or tablet).

*/ inline Job& WithDevice(const Device& value) { SetDevice(value); return *this;} /** *

The device (phone or tablet).

*/ inline Job& WithDevice(Device&& value) { SetDevice(std::move(value)); return *this;} /** *

The ARN of the instance.

*/ inline const Aws::String& GetInstanceArn() const{ return m_instanceArn; } /** *

The ARN of the instance.

*/ inline bool InstanceArnHasBeenSet() const { return m_instanceArnHasBeenSet; } /** *

The ARN of the instance.

*/ inline void SetInstanceArn(const Aws::String& value) { m_instanceArnHasBeenSet = true; m_instanceArn = value; } /** *

The ARN of the instance.

*/ inline void SetInstanceArn(Aws::String&& value) { m_instanceArnHasBeenSet = true; m_instanceArn = std::move(value); } /** *

The ARN of the instance.

*/ inline void SetInstanceArn(const char* value) { m_instanceArnHasBeenSet = true; m_instanceArn.assign(value); } /** *

The ARN of the instance.

*/ inline Job& WithInstanceArn(const Aws::String& value) { SetInstanceArn(value); return *this;} /** *

The ARN of the instance.

*/ inline Job& WithInstanceArn(Aws::String&& value) { SetInstanceArn(std::move(value)); return *this;} /** *

The ARN of the instance.

*/ inline Job& WithInstanceArn(const char* value) { SetInstanceArn(value); return *this;} /** *

Represents the total (metered or unmetered) minutes used by the job.

*/ inline const DeviceMinutes& GetDeviceMinutes() const{ return m_deviceMinutes; } /** *

Represents the total (metered or unmetered) minutes used by the job.

*/ inline bool DeviceMinutesHasBeenSet() const { return m_deviceMinutesHasBeenSet; } /** *

Represents the total (metered or unmetered) minutes used by the job.

*/ inline void SetDeviceMinutes(const DeviceMinutes& value) { m_deviceMinutesHasBeenSet = true; m_deviceMinutes = value; } /** *

Represents the total (metered or unmetered) minutes used by the job.

*/ inline void SetDeviceMinutes(DeviceMinutes&& value) { m_deviceMinutesHasBeenSet = true; m_deviceMinutes = std::move(value); } /** *

Represents the total (metered or unmetered) minutes used by the job.

*/ inline Job& WithDeviceMinutes(const DeviceMinutes& value) { SetDeviceMinutes(value); return *this;} /** *

Represents the total (metered or unmetered) minutes used by the job.

*/ inline Job& WithDeviceMinutes(DeviceMinutes&& value) { SetDeviceMinutes(std::move(value)); return *this;} /** *

The endpoint for streaming device video.

*/ inline const Aws::String& GetVideoEndpoint() const{ return m_videoEndpoint; } /** *

The endpoint for streaming device video.

*/ inline bool VideoEndpointHasBeenSet() const { return m_videoEndpointHasBeenSet; } /** *

The endpoint for streaming device video.

*/ inline void SetVideoEndpoint(const Aws::String& value) { m_videoEndpointHasBeenSet = true; m_videoEndpoint = value; } /** *

The endpoint for streaming device video.

*/ inline void SetVideoEndpoint(Aws::String&& value) { m_videoEndpointHasBeenSet = true; m_videoEndpoint = std::move(value); } /** *

The endpoint for streaming device video.

*/ inline void SetVideoEndpoint(const char* value) { m_videoEndpointHasBeenSet = true; m_videoEndpoint.assign(value); } /** *

The endpoint for streaming device video.

*/ inline Job& WithVideoEndpoint(const Aws::String& value) { SetVideoEndpoint(value); return *this;} /** *

The endpoint for streaming device video.

*/ inline Job& WithVideoEndpoint(Aws::String&& value) { SetVideoEndpoint(std::move(value)); return *this;} /** *

The endpoint for streaming device video.

*/ inline Job& WithVideoEndpoint(const char* value) { SetVideoEndpoint(value); return *this;} /** *

This value is set to true if video capture is enabled. Otherwise, it is set * to false.

*/ inline bool GetVideoCapture() const{ return m_videoCapture; } /** *

This value is set to true if video capture is enabled. Otherwise, it is set * to false.

*/ inline bool VideoCaptureHasBeenSet() const { return m_videoCaptureHasBeenSet; } /** *

This value is set to true if video capture is enabled. Otherwise, it is set * to false.

*/ inline void SetVideoCapture(bool value) { m_videoCaptureHasBeenSet = true; m_videoCapture = value; } /** *

This value is set to true if video capture is enabled. Otherwise, it is set * to false.

*/ inline Job& WithVideoCapture(bool value) { SetVideoCapture(value); return *this;} private: Aws::String m_arn; bool m_arnHasBeenSet = false; Aws::String m_name; bool m_nameHasBeenSet = false; TestType m_type; bool m_typeHasBeenSet = false; Aws::Utils::DateTime m_created; bool m_createdHasBeenSet = false; ExecutionStatus m_status; bool m_statusHasBeenSet = false; ExecutionResult m_result; bool m_resultHasBeenSet = false; Aws::Utils::DateTime m_started; bool m_startedHasBeenSet = false; Aws::Utils::DateTime m_stopped; bool m_stoppedHasBeenSet = false; Counters m_counters; bool m_countersHasBeenSet = false; Aws::String m_message; bool m_messageHasBeenSet = false; Device m_device; bool m_deviceHasBeenSet = false; Aws::String m_instanceArn; bool m_instanceArnHasBeenSet = false; DeviceMinutes m_deviceMinutes; bool m_deviceMinutesHasBeenSet = false; Aws::String m_videoEndpoint; bool m_videoEndpointHasBeenSet = false; bool m_videoCapture; bool m_videoCaptureHasBeenSet = false; }; } // namespace Model } // namespace DeviceFarm } // namespace Aws