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

See Also:

AWS * API Reference

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

The device (phone or tablet) to return information about.

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

The device (phone or tablet) to return information about.

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

The device (phone or tablet) to return information about.

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

The device (phone or tablet) to return information about.

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

The device (phone or tablet) to return information about.

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

The device (phone or tablet) to return information about.

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

Whether the result was compatible with the device pool.

*/ inline bool GetCompatible() const{ return m_compatible; } /** *

Whether the result was compatible with the device pool.

*/ inline bool CompatibleHasBeenSet() const { return m_compatibleHasBeenSet; } /** *

Whether the result was compatible with the device pool.

*/ inline void SetCompatible(bool value) { m_compatibleHasBeenSet = true; m_compatible = value; } /** *

Whether the result was compatible with the device pool.

*/ inline DevicePoolCompatibilityResult& WithCompatible(bool value) { SetCompatible(value); return *this;} /** *

Information about the compatibility.

*/ inline const Aws::Vector& GetIncompatibilityMessages() const{ return m_incompatibilityMessages; } /** *

Information about the compatibility.

*/ inline bool IncompatibilityMessagesHasBeenSet() const { return m_incompatibilityMessagesHasBeenSet; } /** *

Information about the compatibility.

*/ inline void SetIncompatibilityMessages(const Aws::Vector& value) { m_incompatibilityMessagesHasBeenSet = true; m_incompatibilityMessages = value; } /** *

Information about the compatibility.

*/ inline void SetIncompatibilityMessages(Aws::Vector&& value) { m_incompatibilityMessagesHasBeenSet = true; m_incompatibilityMessages = std::move(value); } /** *

Information about the compatibility.

*/ inline DevicePoolCompatibilityResult& WithIncompatibilityMessages(const Aws::Vector& value) { SetIncompatibilityMessages(value); return *this;} /** *

Information about the compatibility.

*/ inline DevicePoolCompatibilityResult& WithIncompatibilityMessages(Aws::Vector&& value) { SetIncompatibilityMessages(std::move(value)); return *this;} /** *

Information about the compatibility.

*/ inline DevicePoolCompatibilityResult& AddIncompatibilityMessages(const IncompatibilityMessage& value) { m_incompatibilityMessagesHasBeenSet = true; m_incompatibilityMessages.push_back(value); return *this; } /** *

Information about the compatibility.

*/ inline DevicePoolCompatibilityResult& AddIncompatibilityMessages(IncompatibilityMessage&& value) { m_incompatibilityMessagesHasBeenSet = true; m_incompatibilityMessages.push_back(std::move(value)); return *this; } private: Device m_device; bool m_deviceHasBeenSet = false; bool m_compatible; bool m_compatibleHasBeenSet = false; Aws::Vector m_incompatibilityMessages; bool m_incompatibilityMessagesHasBeenSet = false; }; } // namespace Model } // namespace DeviceFarm } // namespace Aws