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

Provides more details about the current status of the analyzer. For example, * if the creation for the analyzer fails, a Failed status is * returned. For an analyzer with organization as the type, this failure can be due * to an issue with creating the service-linked roles required in the member * accounts of the Amazon Web Services organization.

See Also:

AWS * API Reference

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

The reason code for the current status of the analyzer.

*/ inline const ReasonCode& GetCode() const{ return m_code; } /** *

The reason code for the current status of the analyzer.

*/ inline bool CodeHasBeenSet() const { return m_codeHasBeenSet; } /** *

The reason code for the current status of the analyzer.

*/ inline void SetCode(const ReasonCode& value) { m_codeHasBeenSet = true; m_code = value; } /** *

The reason code for the current status of the analyzer.

*/ inline void SetCode(ReasonCode&& value) { m_codeHasBeenSet = true; m_code = std::move(value); } /** *

The reason code for the current status of the analyzer.

*/ inline StatusReason& WithCode(const ReasonCode& value) { SetCode(value); return *this;} /** *

The reason code for the current status of the analyzer.

*/ inline StatusReason& WithCode(ReasonCode&& value) { SetCode(std::move(value)); return *this;} private: ReasonCode m_code; bool m_codeHasBeenSet = false; }; } // namespace Model } // namespace AccessAnalyzer } // namespace Aws