/** * 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 current status information for an asset model. For more information, * see Asset * and model states in the IoT SiteWise User Guide.

See * Also:

AWS * API Reference

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

The current state of the asset model.

*/ inline const AssetModelState& GetState() const{ return m_state; } /** *

The current state of the asset model.

*/ inline bool StateHasBeenSet() const { return m_stateHasBeenSet; } /** *

The current state of the asset model.

*/ inline void SetState(const AssetModelState& value) { m_stateHasBeenSet = true; m_state = value; } /** *

The current state of the asset model.

*/ inline void SetState(AssetModelState&& value) { m_stateHasBeenSet = true; m_state = std::move(value); } /** *

The current state of the asset model.

*/ inline AssetModelStatus& WithState(const AssetModelState& value) { SetState(value); return *this;} /** *

The current state of the asset model.

*/ inline AssetModelStatus& WithState(AssetModelState&& value) { SetState(std::move(value)); return *this;} /** *

Contains associated error information, if any.

*/ inline const ErrorDetails& GetError() const{ return m_error; } /** *

Contains associated error information, if any.

*/ inline bool ErrorHasBeenSet() const { return m_errorHasBeenSet; } /** *

Contains associated error information, if any.

*/ inline void SetError(const ErrorDetails& value) { m_errorHasBeenSet = true; m_error = value; } /** *

Contains associated error information, if any.

*/ inline void SetError(ErrorDetails&& value) { m_errorHasBeenSet = true; m_error = std::move(value); } /** *

Contains associated error information, if any.

*/ inline AssetModelStatus& WithError(const ErrorDetails& value) { SetError(value); return *this;} /** *

Contains associated error information, if any.

*/ inline AssetModelStatus& WithError(ErrorDetails&& value) { SetError(std::move(value)); return *this;} private: AssetModelState m_state; bool m_stateHasBeenSet = false; ErrorDetails m_error; bool m_errorHasBeenSet = false; }; } // namespace Model } // namespace IoTSiteWise } // namespace Aws