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

An object that represents the status of an entity, component, component type, * or workspace.

See Also:

AWS * API Reference

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

The current state of the entity, component, component type, or workspace.

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

The current state of the entity, component, component type, or workspace.

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

The current state of the entity, component, component type, or workspace.

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

The current state of the entity, component, component type, or workspace.

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

The current state of the entity, component, component type, or workspace.

*/ inline Status& WithState(const State& value) { SetState(value); return *this;} /** *

The current state of the entity, component, component type, or workspace.

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

The error message.

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

The error message.

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

The error message.

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

The error message.

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

The error message.

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

The error message.

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