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

A structure that contains the current state of the canary.

See * Also:

AWS * API Reference

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

The current state of the canary.

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

The current state of the canary.

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

The current state of the canary.

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

The current state of the canary.

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

The current state of the canary.

*/ inline CanaryStatus& WithState(const CanaryState& value) { SetState(value); return *this;} /** *

The current state of the canary.

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

If the canary has insufficient permissions to run, this field provides more * details.

*/ inline const Aws::String& GetStateReason() const{ return m_stateReason; } /** *

If the canary has insufficient permissions to run, this field provides more * details.

*/ inline bool StateReasonHasBeenSet() const { return m_stateReasonHasBeenSet; } /** *

If the canary has insufficient permissions to run, this field provides more * details.

*/ inline void SetStateReason(const Aws::String& value) { m_stateReasonHasBeenSet = true; m_stateReason = value; } /** *

If the canary has insufficient permissions to run, this field provides more * details.

*/ inline void SetStateReason(Aws::String&& value) { m_stateReasonHasBeenSet = true; m_stateReason = std::move(value); } /** *

If the canary has insufficient permissions to run, this field provides more * details.

*/ inline void SetStateReason(const char* value) { m_stateReasonHasBeenSet = true; m_stateReason.assign(value); } /** *

If the canary has insufficient permissions to run, this field provides more * details.

*/ inline CanaryStatus& WithStateReason(const Aws::String& value) { SetStateReason(value); return *this;} /** *

If the canary has insufficient permissions to run, this field provides more * details.

*/ inline CanaryStatus& WithStateReason(Aws::String&& value) { SetStateReason(std::move(value)); return *this;} /** *

If the canary has insufficient permissions to run, this field provides more * details.

*/ inline CanaryStatus& WithStateReason(const char* value) { SetStateReason(value); return *this;} /** *

If the canary cannot run or has failed, this field displays the reason.

*/ inline const CanaryStateReasonCode& GetStateReasonCode() const{ return m_stateReasonCode; } /** *

If the canary cannot run or has failed, this field displays the reason.

*/ inline bool StateReasonCodeHasBeenSet() const { return m_stateReasonCodeHasBeenSet; } /** *

If the canary cannot run or has failed, this field displays the reason.

*/ inline void SetStateReasonCode(const CanaryStateReasonCode& value) { m_stateReasonCodeHasBeenSet = true; m_stateReasonCode = value; } /** *

If the canary cannot run or has failed, this field displays the reason.

*/ inline void SetStateReasonCode(CanaryStateReasonCode&& value) { m_stateReasonCodeHasBeenSet = true; m_stateReasonCode = std::move(value); } /** *

If the canary cannot run or has failed, this field displays the reason.

*/ inline CanaryStatus& WithStateReasonCode(const CanaryStateReasonCode& value) { SetStateReasonCode(value); return *this;} /** *

If the canary cannot run or has failed, this field displays the reason.

*/ inline CanaryStatus& WithStateReasonCode(CanaryStateReasonCode&& value) { SetStateReasonCode(std::move(value)); return *this;} private: CanaryState m_state; bool m_stateHasBeenSet = false; Aws::String m_stateReason; bool m_stateReasonHasBeenSet = false; CanaryStateReasonCode m_stateReasonCode; bool m_stateReasonCodeHasBeenSet = false; }; } // namespace Model } // namespace Synthetics } // namespace Aws