/** * 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 Panorama { namespace Model { /** *

An application instance's state.

See Also:

AWS * API Reference

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

The application's desired state.

*/ inline const DesiredState& GetDesiredState() const{ return m_desiredState; } /** *

The application's desired state.

*/ inline bool DesiredStateHasBeenSet() const { return m_desiredStateHasBeenSet; } /** *

The application's desired state.

*/ inline void SetDesiredState(const DesiredState& value) { m_desiredStateHasBeenSet = true; m_desiredState = value; } /** *

The application's desired state.

*/ inline void SetDesiredState(DesiredState&& value) { m_desiredStateHasBeenSet = true; m_desiredState = std::move(value); } /** *

The application's desired state.

*/ inline ReportedRuntimeContextState& WithDesiredState(const DesiredState& value) { SetDesiredState(value); return *this;} /** *

The application's desired state.

*/ inline ReportedRuntimeContextState& WithDesiredState(DesiredState&& value) { SetDesiredState(std::move(value)); return *this;} /** *

The application's reported status.

*/ inline const DeviceReportedStatus& GetDeviceReportedStatus() const{ return m_deviceReportedStatus; } /** *

The application's reported status.

*/ inline bool DeviceReportedStatusHasBeenSet() const { return m_deviceReportedStatusHasBeenSet; } /** *

The application's reported status.

*/ inline void SetDeviceReportedStatus(const DeviceReportedStatus& value) { m_deviceReportedStatusHasBeenSet = true; m_deviceReportedStatus = value; } /** *

The application's reported status.

*/ inline void SetDeviceReportedStatus(DeviceReportedStatus&& value) { m_deviceReportedStatusHasBeenSet = true; m_deviceReportedStatus = std::move(value); } /** *

The application's reported status.

*/ inline ReportedRuntimeContextState& WithDeviceReportedStatus(const DeviceReportedStatus& value) { SetDeviceReportedStatus(value); return *this;} /** *

The application's reported status.

*/ inline ReportedRuntimeContextState& WithDeviceReportedStatus(DeviceReportedStatus&& value) { SetDeviceReportedStatus(std::move(value)); return *this;} /** *

When the device reported the application's state.

*/ inline const Aws::Utils::DateTime& GetDeviceReportedTime() const{ return m_deviceReportedTime; } /** *

When the device reported the application's state.

*/ inline bool DeviceReportedTimeHasBeenSet() const { return m_deviceReportedTimeHasBeenSet; } /** *

When the device reported the application's state.

*/ inline void SetDeviceReportedTime(const Aws::Utils::DateTime& value) { m_deviceReportedTimeHasBeenSet = true; m_deviceReportedTime = value; } /** *

When the device reported the application's state.

*/ inline void SetDeviceReportedTime(Aws::Utils::DateTime&& value) { m_deviceReportedTimeHasBeenSet = true; m_deviceReportedTime = std::move(value); } /** *

When the device reported the application's state.

*/ inline ReportedRuntimeContextState& WithDeviceReportedTime(const Aws::Utils::DateTime& value) { SetDeviceReportedTime(value); return *this;} /** *

When the device reported the application's state.

*/ inline ReportedRuntimeContextState& WithDeviceReportedTime(Aws::Utils::DateTime&& value) { SetDeviceReportedTime(std::move(value)); return *this;} /** *

The device's name.

*/ inline const Aws::String& GetRuntimeContextName() const{ return m_runtimeContextName; } /** *

The device's name.

*/ inline bool RuntimeContextNameHasBeenSet() const { return m_runtimeContextNameHasBeenSet; } /** *

The device's name.

*/ inline void SetRuntimeContextName(const Aws::String& value) { m_runtimeContextNameHasBeenSet = true; m_runtimeContextName = value; } /** *

The device's name.

*/ inline void SetRuntimeContextName(Aws::String&& value) { m_runtimeContextNameHasBeenSet = true; m_runtimeContextName = std::move(value); } /** *

The device's name.

*/ inline void SetRuntimeContextName(const char* value) { m_runtimeContextNameHasBeenSet = true; m_runtimeContextName.assign(value); } /** *

The device's name.

*/ inline ReportedRuntimeContextState& WithRuntimeContextName(const Aws::String& value) { SetRuntimeContextName(value); return *this;} /** *

The device's name.

*/ inline ReportedRuntimeContextState& WithRuntimeContextName(Aws::String&& value) { SetRuntimeContextName(std::move(value)); return *this;} /** *

The device's name.

*/ inline ReportedRuntimeContextState& WithRuntimeContextName(const char* value) { SetRuntimeContextName(value); return *this;} private: DesiredState m_desiredState; bool m_desiredStateHasBeenSet = false; DeviceReportedStatus m_deviceReportedStatus; bool m_deviceReportedStatusHasBeenSet = false; Aws::Utils::DateTime m_deviceReportedTime; bool m_deviceReportedTimeHasBeenSet = false; Aws::String m_runtimeContextName; bool m_runtimeContextNameHasBeenSet = false; }; } // namespace Model } // namespace Panorama } // namespace Aws