/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #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 specific warning or failure.

See Also:

AWS * API Reference

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

Information about the associated run.

*/ inline const ProblemDetail& GetRun() const{ return m_run; } /** *

Information about the associated run.

*/ inline bool RunHasBeenSet() const { return m_runHasBeenSet; } /** *

Information about the associated run.

*/ inline void SetRun(const ProblemDetail& value) { m_runHasBeenSet = true; m_run = value; } /** *

Information about the associated run.

*/ inline void SetRun(ProblemDetail&& value) { m_runHasBeenSet = true; m_run = std::move(value); } /** *

Information about the associated run.

*/ inline Problem& WithRun(const ProblemDetail& value) { SetRun(value); return *this;} /** *

Information about the associated run.

*/ inline Problem& WithRun(ProblemDetail&& value) { SetRun(std::move(value)); return *this;} /** *

Information about the associated job.

*/ inline const ProblemDetail& GetJob() const{ return m_job; } /** *

Information about the associated job.

*/ inline bool JobHasBeenSet() const { return m_jobHasBeenSet; } /** *

Information about the associated job.

*/ inline void SetJob(const ProblemDetail& value) { m_jobHasBeenSet = true; m_job = value; } /** *

Information about the associated job.

*/ inline void SetJob(ProblemDetail&& value) { m_jobHasBeenSet = true; m_job = std::move(value); } /** *

Information about the associated job.

*/ inline Problem& WithJob(const ProblemDetail& value) { SetJob(value); return *this;} /** *

Information about the associated job.

*/ inline Problem& WithJob(ProblemDetail&& value) { SetJob(std::move(value)); return *this;} /** *

Information about the associated suite.

*/ inline const ProblemDetail& GetSuite() const{ return m_suite; } /** *

Information about the associated suite.

*/ inline bool SuiteHasBeenSet() const { return m_suiteHasBeenSet; } /** *

Information about the associated suite.

*/ inline void SetSuite(const ProblemDetail& value) { m_suiteHasBeenSet = true; m_suite = value; } /** *

Information about the associated suite.

*/ inline void SetSuite(ProblemDetail&& value) { m_suiteHasBeenSet = true; m_suite = std::move(value); } /** *

Information about the associated suite.

*/ inline Problem& WithSuite(const ProblemDetail& value) { SetSuite(value); return *this;} /** *

Information about the associated suite.

*/ inline Problem& WithSuite(ProblemDetail&& value) { SetSuite(std::move(value)); return *this;} /** *

Information about the associated test.

*/ inline const ProblemDetail& GetTest() const{ return m_test; } /** *

Information about the associated test.

*/ inline bool TestHasBeenSet() const { return m_testHasBeenSet; } /** *

Information about the associated test.

*/ inline void SetTest(const ProblemDetail& value) { m_testHasBeenSet = true; m_test = value; } /** *

Information about the associated test.

*/ inline void SetTest(ProblemDetail&& value) { m_testHasBeenSet = true; m_test = std::move(value); } /** *

Information about the associated test.

*/ inline Problem& WithTest(const ProblemDetail& value) { SetTest(value); return *this;} /** *

Information about the associated test.

*/ inline Problem& WithTest(ProblemDetail&& value) { SetTest(std::move(value)); return *this;} /** *

Information about the associated device.

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

Information about the associated device.

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

Information about the associated device.

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

Information about the associated device.

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

Information about the associated device.

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

Information about the associated device.

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

The problem's result.

Allowed values include:

  • *

    PENDING

  • PASSED

  • WARNED

  • *

    FAILED

  • SKIPPED

  • ERRORED

  • *

    STOPPED

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

The problem's result.

Allowed values include:

  • *

    PENDING

  • PASSED

  • WARNED

  • *

    FAILED

  • SKIPPED

  • ERRORED

  • *

    STOPPED

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

The problem'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 problem'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 problem's result.

Allowed values include:

  • *

    PENDING

  • PASSED

  • WARNED

  • *

    FAILED

  • SKIPPED

  • ERRORED

  • *

    STOPPED

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

The problem's result.

Allowed values include:

  • *

    PENDING

  • PASSED

  • WARNED

  • *

    FAILED

  • SKIPPED

  • ERRORED

  • *

    STOPPED

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

A message about the problem's result.

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

A message about the problem's result.

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

A message about the problem's result.

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

A message about the problem's result.

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

A message about the problem's result.

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

A message about the problem's result.

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

A message about the problem's result.

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

A message about the problem's result.

*/ inline Problem& WithMessage(const char* value) { SetMessage(value); return *this;} private: ProblemDetail m_run; bool m_runHasBeenSet = false; ProblemDetail m_job; bool m_jobHasBeenSet = false; ProblemDetail m_suite; bool m_suiteHasBeenSet = false; ProblemDetail m_test; bool m_testHasBeenSet = false; Device m_device; bool m_deviceHasBeenSet = false; ExecutionResult m_result; bool m_resultHasBeenSet = false; Aws::String m_message; bool m_messageHasBeenSet = false; }; } // namespace Model } // namespace DeviceFarm } // namespace Aws