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

Information about an individual action you can take to remediate a * violation.

See Also:

AWS * API Reference

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

A description of a remediation action.

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

A description of a remediation action.

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

A description of a remediation action.

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

A description of a remediation action.

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

A description of a remediation action.

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

A description of a remediation action.

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

A description of a remediation action.

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

A description of a remediation action.

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

Information about the CreateRoute action in the Amazon EC2 API.

*/ inline const EC2CreateRouteAction& GetEC2CreateRouteAction() const{ return m_eC2CreateRouteAction; } /** *

Information about the CreateRoute action in the Amazon EC2 API.

*/ inline bool EC2CreateRouteActionHasBeenSet() const { return m_eC2CreateRouteActionHasBeenSet; } /** *

Information about the CreateRoute action in the Amazon EC2 API.

*/ inline void SetEC2CreateRouteAction(const EC2CreateRouteAction& value) { m_eC2CreateRouteActionHasBeenSet = true; m_eC2CreateRouteAction = value; } /** *

Information about the CreateRoute action in the Amazon EC2 API.

*/ inline void SetEC2CreateRouteAction(EC2CreateRouteAction&& value) { m_eC2CreateRouteActionHasBeenSet = true; m_eC2CreateRouteAction = std::move(value); } /** *

Information about the CreateRoute action in the Amazon EC2 API.

*/ inline RemediationAction& WithEC2CreateRouteAction(const EC2CreateRouteAction& value) { SetEC2CreateRouteAction(value); return *this;} /** *

Information about the CreateRoute action in the Amazon EC2 API.

*/ inline RemediationAction& WithEC2CreateRouteAction(EC2CreateRouteAction&& value) { SetEC2CreateRouteAction(std::move(value)); return *this;} /** *

Information about the ReplaceRoute action in the Amazon EC2 API.

*/ inline const EC2ReplaceRouteAction& GetEC2ReplaceRouteAction() const{ return m_eC2ReplaceRouteAction; } /** *

Information about the ReplaceRoute action in the Amazon EC2 API.

*/ inline bool EC2ReplaceRouteActionHasBeenSet() const { return m_eC2ReplaceRouteActionHasBeenSet; } /** *

Information about the ReplaceRoute action in the Amazon EC2 API.

*/ inline void SetEC2ReplaceRouteAction(const EC2ReplaceRouteAction& value) { m_eC2ReplaceRouteActionHasBeenSet = true; m_eC2ReplaceRouteAction = value; } /** *

Information about the ReplaceRoute action in the Amazon EC2 API.

*/ inline void SetEC2ReplaceRouteAction(EC2ReplaceRouteAction&& value) { m_eC2ReplaceRouteActionHasBeenSet = true; m_eC2ReplaceRouteAction = std::move(value); } /** *

Information about the ReplaceRoute action in the Amazon EC2 API.

*/ inline RemediationAction& WithEC2ReplaceRouteAction(const EC2ReplaceRouteAction& value) { SetEC2ReplaceRouteAction(value); return *this;} /** *

Information about the ReplaceRoute action in the Amazon EC2 API.

*/ inline RemediationAction& WithEC2ReplaceRouteAction(EC2ReplaceRouteAction&& value) { SetEC2ReplaceRouteAction(std::move(value)); return *this;} /** *

Information about the DeleteRoute action in the Amazon EC2 API.

*/ inline const EC2DeleteRouteAction& GetEC2DeleteRouteAction() const{ return m_eC2DeleteRouteAction; } /** *

Information about the DeleteRoute action in the Amazon EC2 API.

*/ inline bool EC2DeleteRouteActionHasBeenSet() const { return m_eC2DeleteRouteActionHasBeenSet; } /** *

Information about the DeleteRoute action in the Amazon EC2 API.

*/ inline void SetEC2DeleteRouteAction(const EC2DeleteRouteAction& value) { m_eC2DeleteRouteActionHasBeenSet = true; m_eC2DeleteRouteAction = value; } /** *

Information about the DeleteRoute action in the Amazon EC2 API.

*/ inline void SetEC2DeleteRouteAction(EC2DeleteRouteAction&& value) { m_eC2DeleteRouteActionHasBeenSet = true; m_eC2DeleteRouteAction = std::move(value); } /** *

Information about the DeleteRoute action in the Amazon EC2 API.

*/ inline RemediationAction& WithEC2DeleteRouteAction(const EC2DeleteRouteAction& value) { SetEC2DeleteRouteAction(value); return *this;} /** *

Information about the DeleteRoute action in the Amazon EC2 API.

*/ inline RemediationAction& WithEC2DeleteRouteAction(EC2DeleteRouteAction&& value) { SetEC2DeleteRouteAction(std::move(value)); return *this;} /** *

Information about the CopyRouteTable action in the Amazon EC2 API.

*/ inline const EC2CopyRouteTableAction& GetEC2CopyRouteTableAction() const{ return m_eC2CopyRouteTableAction; } /** *

Information about the CopyRouteTable action in the Amazon EC2 API.

*/ inline bool EC2CopyRouteTableActionHasBeenSet() const { return m_eC2CopyRouteTableActionHasBeenSet; } /** *

Information about the CopyRouteTable action in the Amazon EC2 API.

*/ inline void SetEC2CopyRouteTableAction(const EC2CopyRouteTableAction& value) { m_eC2CopyRouteTableActionHasBeenSet = true; m_eC2CopyRouteTableAction = value; } /** *

Information about the CopyRouteTable action in the Amazon EC2 API.

*/ inline void SetEC2CopyRouteTableAction(EC2CopyRouteTableAction&& value) { m_eC2CopyRouteTableActionHasBeenSet = true; m_eC2CopyRouteTableAction = std::move(value); } /** *

Information about the CopyRouteTable action in the Amazon EC2 API.

*/ inline RemediationAction& WithEC2CopyRouteTableAction(const EC2CopyRouteTableAction& value) { SetEC2CopyRouteTableAction(value); return *this;} /** *

Information about the CopyRouteTable action in the Amazon EC2 API.

*/ inline RemediationAction& WithEC2CopyRouteTableAction(EC2CopyRouteTableAction&& value) { SetEC2CopyRouteTableAction(std::move(value)); return *this;} /** *

Information about the ReplaceRouteTableAssociation action in the Amazon EC2 * API.

*/ inline const EC2ReplaceRouteTableAssociationAction& GetEC2ReplaceRouteTableAssociationAction() const{ return m_eC2ReplaceRouteTableAssociationAction; } /** *

Information about the ReplaceRouteTableAssociation action in the Amazon EC2 * API.

*/ inline bool EC2ReplaceRouteTableAssociationActionHasBeenSet() const { return m_eC2ReplaceRouteTableAssociationActionHasBeenSet; } /** *

Information about the ReplaceRouteTableAssociation action in the Amazon EC2 * API.

*/ inline void SetEC2ReplaceRouteTableAssociationAction(const EC2ReplaceRouteTableAssociationAction& value) { m_eC2ReplaceRouteTableAssociationActionHasBeenSet = true; m_eC2ReplaceRouteTableAssociationAction = value; } /** *

Information about the ReplaceRouteTableAssociation action in the Amazon EC2 * API.

*/ inline void SetEC2ReplaceRouteTableAssociationAction(EC2ReplaceRouteTableAssociationAction&& value) { m_eC2ReplaceRouteTableAssociationActionHasBeenSet = true; m_eC2ReplaceRouteTableAssociationAction = std::move(value); } /** *

Information about the ReplaceRouteTableAssociation action in the Amazon EC2 * API.

*/ inline RemediationAction& WithEC2ReplaceRouteTableAssociationAction(const EC2ReplaceRouteTableAssociationAction& value) { SetEC2ReplaceRouteTableAssociationAction(value); return *this;} /** *

Information about the ReplaceRouteTableAssociation action in the Amazon EC2 * API.

*/ inline RemediationAction& WithEC2ReplaceRouteTableAssociationAction(EC2ReplaceRouteTableAssociationAction&& value) { SetEC2ReplaceRouteTableAssociationAction(std::move(value)); return *this;} /** *

Information about the AssociateRouteTable action in the Amazon EC2 API.

*/ inline const EC2AssociateRouteTableAction& GetEC2AssociateRouteTableAction() const{ return m_eC2AssociateRouteTableAction; } /** *

Information about the AssociateRouteTable action in the Amazon EC2 API.

*/ inline bool EC2AssociateRouteTableActionHasBeenSet() const { return m_eC2AssociateRouteTableActionHasBeenSet; } /** *

Information about the AssociateRouteTable action in the Amazon EC2 API.

*/ inline void SetEC2AssociateRouteTableAction(const EC2AssociateRouteTableAction& value) { m_eC2AssociateRouteTableActionHasBeenSet = true; m_eC2AssociateRouteTableAction = value; } /** *

Information about the AssociateRouteTable action in the Amazon EC2 API.

*/ inline void SetEC2AssociateRouteTableAction(EC2AssociateRouteTableAction&& value) { m_eC2AssociateRouteTableActionHasBeenSet = true; m_eC2AssociateRouteTableAction = std::move(value); } /** *

Information about the AssociateRouteTable action in the Amazon EC2 API.

*/ inline RemediationAction& WithEC2AssociateRouteTableAction(const EC2AssociateRouteTableAction& value) { SetEC2AssociateRouteTableAction(value); return *this;} /** *

Information about the AssociateRouteTable action in the Amazon EC2 API.

*/ inline RemediationAction& WithEC2AssociateRouteTableAction(EC2AssociateRouteTableAction&& value) { SetEC2AssociateRouteTableAction(std::move(value)); return *this;} /** *

Information about the CreateRouteTable action in the Amazon EC2 API.

*/ inline const EC2CreateRouteTableAction& GetEC2CreateRouteTableAction() const{ return m_eC2CreateRouteTableAction; } /** *

Information about the CreateRouteTable action in the Amazon EC2 API.

*/ inline bool EC2CreateRouteTableActionHasBeenSet() const { return m_eC2CreateRouteTableActionHasBeenSet; } /** *

Information about the CreateRouteTable action in the Amazon EC2 API.

*/ inline void SetEC2CreateRouteTableAction(const EC2CreateRouteTableAction& value) { m_eC2CreateRouteTableActionHasBeenSet = true; m_eC2CreateRouteTableAction = value; } /** *

Information about the CreateRouteTable action in the Amazon EC2 API.

*/ inline void SetEC2CreateRouteTableAction(EC2CreateRouteTableAction&& value) { m_eC2CreateRouteTableActionHasBeenSet = true; m_eC2CreateRouteTableAction = std::move(value); } /** *

Information about the CreateRouteTable action in the Amazon EC2 API.

*/ inline RemediationAction& WithEC2CreateRouteTableAction(const EC2CreateRouteTableAction& value) { SetEC2CreateRouteTableAction(value); return *this;} /** *

Information about the CreateRouteTable action in the Amazon EC2 API.

*/ inline RemediationAction& WithEC2CreateRouteTableAction(EC2CreateRouteTableAction&& value) { SetEC2CreateRouteTableAction(std::move(value)); return *this;} /** *

The remedial action to take when updating a firewall configuration.

*/ inline const FMSPolicyUpdateFirewallCreationConfigAction& GetFMSPolicyUpdateFirewallCreationConfigAction() const{ return m_fMSPolicyUpdateFirewallCreationConfigAction; } /** *

The remedial action to take when updating a firewall configuration.

*/ inline bool FMSPolicyUpdateFirewallCreationConfigActionHasBeenSet() const { return m_fMSPolicyUpdateFirewallCreationConfigActionHasBeenSet; } /** *

The remedial action to take when updating a firewall configuration.

*/ inline void SetFMSPolicyUpdateFirewallCreationConfigAction(const FMSPolicyUpdateFirewallCreationConfigAction& value) { m_fMSPolicyUpdateFirewallCreationConfigActionHasBeenSet = true; m_fMSPolicyUpdateFirewallCreationConfigAction = value; } /** *

The remedial action to take when updating a firewall configuration.

*/ inline void SetFMSPolicyUpdateFirewallCreationConfigAction(FMSPolicyUpdateFirewallCreationConfigAction&& value) { m_fMSPolicyUpdateFirewallCreationConfigActionHasBeenSet = true; m_fMSPolicyUpdateFirewallCreationConfigAction = std::move(value); } /** *

The remedial action to take when updating a firewall configuration.

*/ inline RemediationAction& WithFMSPolicyUpdateFirewallCreationConfigAction(const FMSPolicyUpdateFirewallCreationConfigAction& value) { SetFMSPolicyUpdateFirewallCreationConfigAction(value); return *this;} /** *

The remedial action to take when updating a firewall configuration.

*/ inline RemediationAction& WithFMSPolicyUpdateFirewallCreationConfigAction(FMSPolicyUpdateFirewallCreationConfigAction&& value) { SetFMSPolicyUpdateFirewallCreationConfigAction(std::move(value)); return *this;} private: Aws::String m_description; bool m_descriptionHasBeenSet = false; EC2CreateRouteAction m_eC2CreateRouteAction; bool m_eC2CreateRouteActionHasBeenSet = false; EC2ReplaceRouteAction m_eC2ReplaceRouteAction; bool m_eC2ReplaceRouteActionHasBeenSet = false; EC2DeleteRouteAction m_eC2DeleteRouteAction; bool m_eC2DeleteRouteActionHasBeenSet = false; EC2CopyRouteTableAction m_eC2CopyRouteTableAction; bool m_eC2CopyRouteTableActionHasBeenSet = false; EC2ReplaceRouteTableAssociationAction m_eC2ReplaceRouteTableAssociationAction; bool m_eC2ReplaceRouteTableAssociationActionHasBeenSet = false; EC2AssociateRouteTableAction m_eC2AssociateRouteTableAction; bool m_eC2AssociateRouteTableActionHasBeenSet = false; EC2CreateRouteTableAction m_eC2CreateRouteTableAction; bool m_eC2CreateRouteTableActionHasBeenSet = false; FMSPolicyUpdateFirewallCreationConfigAction m_fMSPolicyUpdateFirewallCreationConfigAction; bool m_fMSPolicyUpdateFirewallCreationConfigActionHasBeenSet = false; }; } // namespace Model } // namespace FMS } // namespace Aws