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

Remediation option for the rule specified in the * ViolationTarget.

See Also:

AWS * API Reference

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

The remediation action that will be performed.

*/ inline const RemediationActionType& GetRemediationActionType() const{ return m_remediationActionType; } /** *

The remediation action that will be performed.

*/ inline bool RemediationActionTypeHasBeenSet() const { return m_remediationActionTypeHasBeenSet; } /** *

The remediation action that will be performed.

*/ inline void SetRemediationActionType(const RemediationActionType& value) { m_remediationActionTypeHasBeenSet = true; m_remediationActionType = value; } /** *

The remediation action that will be performed.

*/ inline void SetRemediationActionType(RemediationActionType&& value) { m_remediationActionTypeHasBeenSet = true; m_remediationActionType = std::move(value); } /** *

The remediation action that will be performed.

*/ inline SecurityGroupRemediationAction& WithRemediationActionType(const RemediationActionType& value) { SetRemediationActionType(value); return *this;} /** *

The remediation action that will be performed.

*/ inline SecurityGroupRemediationAction& WithRemediationActionType(RemediationActionType&& value) { SetRemediationActionType(std::move(value)); return *this;} /** *

Brief description of the action that will be performed.

*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *

Brief description of the action that will be performed.

*/ inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } /** *

Brief description of the action that will be performed.

*/ inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } /** *

Brief description of the action that will be performed.

*/ inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } /** *

Brief description of the action that will be performed.

*/ inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } /** *

Brief description of the action that will be performed.

*/ inline SecurityGroupRemediationAction& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *

Brief description of the action that will be performed.

*/ inline SecurityGroupRemediationAction& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *

Brief description of the action that will be performed.

*/ inline SecurityGroupRemediationAction& WithDescription(const char* value) { SetDescription(value); return *this;} /** *

The final state of the rule specified in the ViolationTarget * after it is remediated.

*/ inline const SecurityGroupRuleDescription& GetRemediationResult() const{ return m_remediationResult; } /** *

The final state of the rule specified in the ViolationTarget * after it is remediated.

*/ inline bool RemediationResultHasBeenSet() const { return m_remediationResultHasBeenSet; } /** *

The final state of the rule specified in the ViolationTarget * after it is remediated.

*/ inline void SetRemediationResult(const SecurityGroupRuleDescription& value) { m_remediationResultHasBeenSet = true; m_remediationResult = value; } /** *

The final state of the rule specified in the ViolationTarget * after it is remediated.

*/ inline void SetRemediationResult(SecurityGroupRuleDescription&& value) { m_remediationResultHasBeenSet = true; m_remediationResult = std::move(value); } /** *

The final state of the rule specified in the ViolationTarget * after it is remediated.

*/ inline SecurityGroupRemediationAction& WithRemediationResult(const SecurityGroupRuleDescription& value) { SetRemediationResult(value); return *this;} /** *

The final state of the rule specified in the ViolationTarget * after it is remediated.

*/ inline SecurityGroupRemediationAction& WithRemediationResult(SecurityGroupRuleDescription&& value) { SetRemediationResult(std::move(value)); return *this;} /** *

Indicates if the current action is the default action.

*/ inline bool GetIsDefaultAction() const{ return m_isDefaultAction; } /** *

Indicates if the current action is the default action.

*/ inline bool IsDefaultActionHasBeenSet() const { return m_isDefaultActionHasBeenSet; } /** *

Indicates if the current action is the default action.

*/ inline void SetIsDefaultAction(bool value) { m_isDefaultActionHasBeenSet = true; m_isDefaultAction = value; } /** *

Indicates if the current action is the default action.

*/ inline SecurityGroupRemediationAction& WithIsDefaultAction(bool value) { SetIsDefaultAction(value); return *this;} private: RemediationActionType m_remediationActionType; bool m_remediationActionTypeHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; SecurityGroupRuleDescription m_remediationResult; bool m_remediationResultHasBeenSet = false; bool m_isDefaultAction; bool m_isDefaultActionHasBeenSet = false; }; } // namespace Model } // namespace FMS } // namespace Aws