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

Contains a gateway's platform information.

See Also:

AWS * API Reference

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

A gateway that runs on IoT Greengrass.

*/ inline const Greengrass& GetGreengrass() const{ return m_greengrass; } /** *

A gateway that runs on IoT Greengrass.

*/ inline bool GreengrassHasBeenSet() const { return m_greengrassHasBeenSet; } /** *

A gateway that runs on IoT Greengrass.

*/ inline void SetGreengrass(const Greengrass& value) { m_greengrassHasBeenSet = true; m_greengrass = value; } /** *

A gateway that runs on IoT Greengrass.

*/ inline void SetGreengrass(Greengrass&& value) { m_greengrassHasBeenSet = true; m_greengrass = std::move(value); } /** *

A gateway that runs on IoT Greengrass.

*/ inline GatewayPlatform& WithGreengrass(const Greengrass& value) { SetGreengrass(value); return *this;} /** *

A gateway that runs on IoT Greengrass.

*/ inline GatewayPlatform& WithGreengrass(Greengrass&& value) { SetGreengrass(std::move(value)); return *this;} /** *

A gateway that runs on IoT Greengrass V2.

*/ inline const GreengrassV2& GetGreengrassV2() const{ return m_greengrassV2; } /** *

A gateway that runs on IoT Greengrass V2.

*/ inline bool GreengrassV2HasBeenSet() const { return m_greengrassV2HasBeenSet; } /** *

A gateway that runs on IoT Greengrass V2.

*/ inline void SetGreengrassV2(const GreengrassV2& value) { m_greengrassV2HasBeenSet = true; m_greengrassV2 = value; } /** *

A gateway that runs on IoT Greengrass V2.

*/ inline void SetGreengrassV2(GreengrassV2&& value) { m_greengrassV2HasBeenSet = true; m_greengrassV2 = std::move(value); } /** *

A gateway that runs on IoT Greengrass V2.

*/ inline GatewayPlatform& WithGreengrassV2(const GreengrassV2& value) { SetGreengrassV2(value); return *this;} /** *

A gateway that runs on IoT Greengrass V2.

*/ inline GatewayPlatform& WithGreengrassV2(GreengrassV2&& value) { SetGreengrassV2(std::move(value)); return *this;} private: Greengrass m_greengrass; bool m_greengrassHasBeenSet = false; GreengrassV2 m_greengrassV2; bool m_greengrassV2HasBeenSet = false; }; } // namespace Model } // namespace IoTSiteWise } // namespace Aws