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

Information about an Automation failure.

See Also:

AWS * API Reference

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

The stage of the Automation execution when the failure occurred. The stages * include the following: InputValidation, PreVerification, Invocation, * PostVerification.

*/ inline const Aws::String& GetFailureStage() const{ return m_failureStage; } /** *

The stage of the Automation execution when the failure occurred. The stages * include the following: InputValidation, PreVerification, Invocation, * PostVerification.

*/ inline bool FailureStageHasBeenSet() const { return m_failureStageHasBeenSet; } /** *

The stage of the Automation execution when the failure occurred. The stages * include the following: InputValidation, PreVerification, Invocation, * PostVerification.

*/ inline void SetFailureStage(const Aws::String& value) { m_failureStageHasBeenSet = true; m_failureStage = value; } /** *

The stage of the Automation execution when the failure occurred. The stages * include the following: InputValidation, PreVerification, Invocation, * PostVerification.

*/ inline void SetFailureStage(Aws::String&& value) { m_failureStageHasBeenSet = true; m_failureStage = std::move(value); } /** *

The stage of the Automation execution when the failure occurred. The stages * include the following: InputValidation, PreVerification, Invocation, * PostVerification.

*/ inline void SetFailureStage(const char* value) { m_failureStageHasBeenSet = true; m_failureStage.assign(value); } /** *

The stage of the Automation execution when the failure occurred. The stages * include the following: InputValidation, PreVerification, Invocation, * PostVerification.

*/ inline FailureDetails& WithFailureStage(const Aws::String& value) { SetFailureStage(value); return *this;} /** *

The stage of the Automation execution when the failure occurred. The stages * include the following: InputValidation, PreVerification, Invocation, * PostVerification.

*/ inline FailureDetails& WithFailureStage(Aws::String&& value) { SetFailureStage(std::move(value)); return *this;} /** *

The stage of the Automation execution when the failure occurred. The stages * include the following: InputValidation, PreVerification, Invocation, * PostVerification.

*/ inline FailureDetails& WithFailureStage(const char* value) { SetFailureStage(value); return *this;} /** *

The type of Automation failure. Failure types include the following: Action, * Permission, Throttling, Verification, Internal.

*/ inline const Aws::String& GetFailureType() const{ return m_failureType; } /** *

The type of Automation failure. Failure types include the following: Action, * Permission, Throttling, Verification, Internal.

*/ inline bool FailureTypeHasBeenSet() const { return m_failureTypeHasBeenSet; } /** *

The type of Automation failure. Failure types include the following: Action, * Permission, Throttling, Verification, Internal.

*/ inline void SetFailureType(const Aws::String& value) { m_failureTypeHasBeenSet = true; m_failureType = value; } /** *

The type of Automation failure. Failure types include the following: Action, * Permission, Throttling, Verification, Internal.

*/ inline void SetFailureType(Aws::String&& value) { m_failureTypeHasBeenSet = true; m_failureType = std::move(value); } /** *

The type of Automation failure. Failure types include the following: Action, * Permission, Throttling, Verification, Internal.

*/ inline void SetFailureType(const char* value) { m_failureTypeHasBeenSet = true; m_failureType.assign(value); } /** *

The type of Automation failure. Failure types include the following: Action, * Permission, Throttling, Verification, Internal.

*/ inline FailureDetails& WithFailureType(const Aws::String& value) { SetFailureType(value); return *this;} /** *

The type of Automation failure. Failure types include the following: Action, * Permission, Throttling, Verification, Internal.

*/ inline FailureDetails& WithFailureType(Aws::String&& value) { SetFailureType(std::move(value)); return *this;} /** *

The type of Automation failure. Failure types include the following: Action, * Permission, Throttling, Verification, Internal.

*/ inline FailureDetails& WithFailureType(const char* value) { SetFailureType(value); return *this;} /** *

Detailed information about the Automation step failure.

*/ inline const Aws::Map>& GetDetails() const{ return m_details; } /** *

Detailed information about the Automation step failure.

*/ inline bool DetailsHasBeenSet() const { return m_detailsHasBeenSet; } /** *

Detailed information about the Automation step failure.

*/ inline void SetDetails(const Aws::Map>& value) { m_detailsHasBeenSet = true; m_details = value; } /** *

Detailed information about the Automation step failure.

*/ inline void SetDetails(Aws::Map>&& value) { m_detailsHasBeenSet = true; m_details = std::move(value); } /** *

Detailed information about the Automation step failure.

*/ inline FailureDetails& WithDetails(const Aws::Map>& value) { SetDetails(value); return *this;} /** *

Detailed information about the Automation step failure.

*/ inline FailureDetails& WithDetails(Aws::Map>&& value) { SetDetails(std::move(value)); return *this;} /** *

Detailed information about the Automation step failure.

*/ inline FailureDetails& AddDetails(const Aws::String& key, const Aws::Vector& value) { m_detailsHasBeenSet = true; m_details.emplace(key, value); return *this; } /** *

Detailed information about the Automation step failure.

*/ inline FailureDetails& AddDetails(Aws::String&& key, const Aws::Vector& value) { m_detailsHasBeenSet = true; m_details.emplace(std::move(key), value); return *this; } /** *

Detailed information about the Automation step failure.

*/ inline FailureDetails& AddDetails(const Aws::String& key, Aws::Vector&& value) { m_detailsHasBeenSet = true; m_details.emplace(key, std::move(value)); return *this; } /** *

Detailed information about the Automation step failure.

*/ inline FailureDetails& AddDetails(Aws::String&& key, Aws::Vector&& value) { m_detailsHasBeenSet = true; m_details.emplace(std::move(key), std::move(value)); return *this; } /** *

Detailed information about the Automation step failure.

*/ inline FailureDetails& AddDetails(const char* key, Aws::Vector&& value) { m_detailsHasBeenSet = true; m_details.emplace(key, std::move(value)); return *this; } /** *

Detailed information about the Automation step failure.

*/ inline FailureDetails& AddDetails(const char* key, const Aws::Vector& value) { m_detailsHasBeenSet = true; m_details.emplace(key, value); return *this; } private: Aws::String m_failureStage; bool m_failureStageHasBeenSet = false; Aws::String m_failureType; bool m_failureTypeHasBeenSet = false; Aws::Map> m_details; bool m_detailsHasBeenSet = false; }; } // namespace Model } // namespace SSM } // namespace Aws