/** * 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 #include #include #include #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 { /** *

Violation detail based on resource type.

See Also:

AWS * API Reference

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

Violation detail for security groups.

*/ inline const AwsVPCSecurityGroupViolation& GetAwsVPCSecurityGroupViolation() const{ return m_awsVPCSecurityGroupViolation; } /** *

Violation detail for security groups.

*/ inline bool AwsVPCSecurityGroupViolationHasBeenSet() const { return m_awsVPCSecurityGroupViolationHasBeenSet; } /** *

Violation detail for security groups.

*/ inline void SetAwsVPCSecurityGroupViolation(const AwsVPCSecurityGroupViolation& value) { m_awsVPCSecurityGroupViolationHasBeenSet = true; m_awsVPCSecurityGroupViolation = value; } /** *

Violation detail for security groups.

*/ inline void SetAwsVPCSecurityGroupViolation(AwsVPCSecurityGroupViolation&& value) { m_awsVPCSecurityGroupViolationHasBeenSet = true; m_awsVPCSecurityGroupViolation = std::move(value); } /** *

Violation detail for security groups.

*/ inline ResourceViolation& WithAwsVPCSecurityGroupViolation(const AwsVPCSecurityGroupViolation& value) { SetAwsVPCSecurityGroupViolation(value); return *this;} /** *

Violation detail for security groups.

*/ inline ResourceViolation& WithAwsVPCSecurityGroupViolation(AwsVPCSecurityGroupViolation&& value) { SetAwsVPCSecurityGroupViolation(std::move(value)); return *this;} /** *

Violation detail for a network interface.

*/ inline const AwsEc2NetworkInterfaceViolation& GetAwsEc2NetworkInterfaceViolation() const{ return m_awsEc2NetworkInterfaceViolation; } /** *

Violation detail for a network interface.

*/ inline bool AwsEc2NetworkInterfaceViolationHasBeenSet() const { return m_awsEc2NetworkInterfaceViolationHasBeenSet; } /** *

Violation detail for a network interface.

*/ inline void SetAwsEc2NetworkInterfaceViolation(const AwsEc2NetworkInterfaceViolation& value) { m_awsEc2NetworkInterfaceViolationHasBeenSet = true; m_awsEc2NetworkInterfaceViolation = value; } /** *

Violation detail for a network interface.

*/ inline void SetAwsEc2NetworkInterfaceViolation(AwsEc2NetworkInterfaceViolation&& value) { m_awsEc2NetworkInterfaceViolationHasBeenSet = true; m_awsEc2NetworkInterfaceViolation = std::move(value); } /** *

Violation detail for a network interface.

*/ inline ResourceViolation& WithAwsEc2NetworkInterfaceViolation(const AwsEc2NetworkInterfaceViolation& value) { SetAwsEc2NetworkInterfaceViolation(value); return *this;} /** *

Violation detail for a network interface.

*/ inline ResourceViolation& WithAwsEc2NetworkInterfaceViolation(AwsEc2NetworkInterfaceViolation&& value) { SetAwsEc2NetworkInterfaceViolation(std::move(value)); return *this;} /** *

Violation detail for an EC2 instance.

*/ inline const AwsEc2InstanceViolation& GetAwsEc2InstanceViolation() const{ return m_awsEc2InstanceViolation; } /** *

Violation detail for an EC2 instance.

*/ inline bool AwsEc2InstanceViolationHasBeenSet() const { return m_awsEc2InstanceViolationHasBeenSet; } /** *

Violation detail for an EC2 instance.

*/ inline void SetAwsEc2InstanceViolation(const AwsEc2InstanceViolation& value) { m_awsEc2InstanceViolationHasBeenSet = true; m_awsEc2InstanceViolation = value; } /** *

Violation detail for an EC2 instance.

*/ inline void SetAwsEc2InstanceViolation(AwsEc2InstanceViolation&& value) { m_awsEc2InstanceViolationHasBeenSet = true; m_awsEc2InstanceViolation = std::move(value); } /** *

Violation detail for an EC2 instance.

*/ inline ResourceViolation& WithAwsEc2InstanceViolation(const AwsEc2InstanceViolation& value) { SetAwsEc2InstanceViolation(value); return *this;} /** *

Violation detail for an EC2 instance.

*/ inline ResourceViolation& WithAwsEc2InstanceViolation(AwsEc2InstanceViolation&& value) { SetAwsEc2InstanceViolation(std::move(value)); return *this;} /** *

Violation detail for an Network Firewall policy that indicates that a subnet * has no Firewall Manager managed firewall in its VPC.

*/ inline const NetworkFirewallMissingFirewallViolation& GetNetworkFirewallMissingFirewallViolation() const{ return m_networkFirewallMissingFirewallViolation; } /** *

Violation detail for an Network Firewall policy that indicates that a subnet * has no Firewall Manager managed firewall in its VPC.

*/ inline bool NetworkFirewallMissingFirewallViolationHasBeenSet() const { return m_networkFirewallMissingFirewallViolationHasBeenSet; } /** *

Violation detail for an Network Firewall policy that indicates that a subnet * has no Firewall Manager managed firewall in its VPC.

*/ inline void SetNetworkFirewallMissingFirewallViolation(const NetworkFirewallMissingFirewallViolation& value) { m_networkFirewallMissingFirewallViolationHasBeenSet = true; m_networkFirewallMissingFirewallViolation = value; } /** *

Violation detail for an Network Firewall policy that indicates that a subnet * has no Firewall Manager managed firewall in its VPC.

*/ inline void SetNetworkFirewallMissingFirewallViolation(NetworkFirewallMissingFirewallViolation&& value) { m_networkFirewallMissingFirewallViolationHasBeenSet = true; m_networkFirewallMissingFirewallViolation = std::move(value); } /** *

Violation detail for an Network Firewall policy that indicates that a subnet * has no Firewall Manager managed firewall in its VPC.

*/ inline ResourceViolation& WithNetworkFirewallMissingFirewallViolation(const NetworkFirewallMissingFirewallViolation& value) { SetNetworkFirewallMissingFirewallViolation(value); return *this;} /** *

Violation detail for an Network Firewall policy that indicates that a subnet * has no Firewall Manager managed firewall in its VPC.

*/ inline ResourceViolation& WithNetworkFirewallMissingFirewallViolation(NetworkFirewallMissingFirewallViolation&& value) { SetNetworkFirewallMissingFirewallViolation(std::move(value)); return *this;} /** *

Violation detail for an Network Firewall policy that indicates that an * Availability Zone is missing the expected Firewall Manager managed subnet.

*/ inline const NetworkFirewallMissingSubnetViolation& GetNetworkFirewallMissingSubnetViolation() const{ return m_networkFirewallMissingSubnetViolation; } /** *

Violation detail for an Network Firewall policy that indicates that an * Availability Zone is missing the expected Firewall Manager managed subnet.

*/ inline bool NetworkFirewallMissingSubnetViolationHasBeenSet() const { return m_networkFirewallMissingSubnetViolationHasBeenSet; } /** *

Violation detail for an Network Firewall policy that indicates that an * Availability Zone is missing the expected Firewall Manager managed subnet.

*/ inline void SetNetworkFirewallMissingSubnetViolation(const NetworkFirewallMissingSubnetViolation& value) { m_networkFirewallMissingSubnetViolationHasBeenSet = true; m_networkFirewallMissingSubnetViolation = value; } /** *

Violation detail for an Network Firewall policy that indicates that an * Availability Zone is missing the expected Firewall Manager managed subnet.

*/ inline void SetNetworkFirewallMissingSubnetViolation(NetworkFirewallMissingSubnetViolation&& value) { m_networkFirewallMissingSubnetViolationHasBeenSet = true; m_networkFirewallMissingSubnetViolation = std::move(value); } /** *

Violation detail for an Network Firewall policy that indicates that an * Availability Zone is missing the expected Firewall Manager managed subnet.

*/ inline ResourceViolation& WithNetworkFirewallMissingSubnetViolation(const NetworkFirewallMissingSubnetViolation& value) { SetNetworkFirewallMissingSubnetViolation(value); return *this;} /** *

Violation detail for an Network Firewall policy that indicates that an * Availability Zone is missing the expected Firewall Manager managed subnet.

*/ inline ResourceViolation& WithNetworkFirewallMissingSubnetViolation(NetworkFirewallMissingSubnetViolation&& value) { SetNetworkFirewallMissingSubnetViolation(std::move(value)); return *this;} /** *

Violation detail for an Network Firewall policy that indicates that a subnet * is not associated with the expected Firewall Manager managed route table.

*/ inline const NetworkFirewallMissingExpectedRTViolation& GetNetworkFirewallMissingExpectedRTViolation() const{ return m_networkFirewallMissingExpectedRTViolation; } /** *

Violation detail for an Network Firewall policy that indicates that a subnet * is not associated with the expected Firewall Manager managed route table.

*/ inline bool NetworkFirewallMissingExpectedRTViolationHasBeenSet() const { return m_networkFirewallMissingExpectedRTViolationHasBeenSet; } /** *

Violation detail for an Network Firewall policy that indicates that a subnet * is not associated with the expected Firewall Manager managed route table.

*/ inline void SetNetworkFirewallMissingExpectedRTViolation(const NetworkFirewallMissingExpectedRTViolation& value) { m_networkFirewallMissingExpectedRTViolationHasBeenSet = true; m_networkFirewallMissingExpectedRTViolation = value; } /** *

Violation detail for an Network Firewall policy that indicates that a subnet * is not associated with the expected Firewall Manager managed route table.

*/ inline void SetNetworkFirewallMissingExpectedRTViolation(NetworkFirewallMissingExpectedRTViolation&& value) { m_networkFirewallMissingExpectedRTViolationHasBeenSet = true; m_networkFirewallMissingExpectedRTViolation = std::move(value); } /** *

Violation detail for an Network Firewall policy that indicates that a subnet * is not associated with the expected Firewall Manager managed route table.

*/ inline ResourceViolation& WithNetworkFirewallMissingExpectedRTViolation(const NetworkFirewallMissingExpectedRTViolation& value) { SetNetworkFirewallMissingExpectedRTViolation(value); return *this;} /** *

Violation detail for an Network Firewall policy that indicates that a subnet * is not associated with the expected Firewall Manager managed route table.

*/ inline ResourceViolation& WithNetworkFirewallMissingExpectedRTViolation(NetworkFirewallMissingExpectedRTViolation&& value) { SetNetworkFirewallMissingExpectedRTViolation(std::move(value)); return *this;} /** *

Violation detail for an Network Firewall policy that indicates that a * firewall policy in an individual account has been modified in a way that makes * it noncompliant. For example, the individual account owner might have deleted a * rule group, changed the priority of a stateless rule group, or changed a policy * default action.

*/ inline const NetworkFirewallPolicyModifiedViolation& GetNetworkFirewallPolicyModifiedViolation() const{ return m_networkFirewallPolicyModifiedViolation; } /** *

Violation detail for an Network Firewall policy that indicates that a * firewall policy in an individual account has been modified in a way that makes * it noncompliant. For example, the individual account owner might have deleted a * rule group, changed the priority of a stateless rule group, or changed a policy * default action.

*/ inline bool NetworkFirewallPolicyModifiedViolationHasBeenSet() const { return m_networkFirewallPolicyModifiedViolationHasBeenSet; } /** *

Violation detail for an Network Firewall policy that indicates that a * firewall policy in an individual account has been modified in a way that makes * it noncompliant. For example, the individual account owner might have deleted a * rule group, changed the priority of a stateless rule group, or changed a policy * default action.

*/ inline void SetNetworkFirewallPolicyModifiedViolation(const NetworkFirewallPolicyModifiedViolation& value) { m_networkFirewallPolicyModifiedViolationHasBeenSet = true; m_networkFirewallPolicyModifiedViolation = value; } /** *

Violation detail for an Network Firewall policy that indicates that a * firewall policy in an individual account has been modified in a way that makes * it noncompliant. For example, the individual account owner might have deleted a * rule group, changed the priority of a stateless rule group, or changed a policy * default action.

*/ inline void SetNetworkFirewallPolicyModifiedViolation(NetworkFirewallPolicyModifiedViolation&& value) { m_networkFirewallPolicyModifiedViolationHasBeenSet = true; m_networkFirewallPolicyModifiedViolation = std::move(value); } /** *

Violation detail for an Network Firewall policy that indicates that a * firewall policy in an individual account has been modified in a way that makes * it noncompliant. For example, the individual account owner might have deleted a * rule group, changed the priority of a stateless rule group, or changed a policy * default action.

*/ inline ResourceViolation& WithNetworkFirewallPolicyModifiedViolation(const NetworkFirewallPolicyModifiedViolation& value) { SetNetworkFirewallPolicyModifiedViolation(value); return *this;} /** *

Violation detail for an Network Firewall policy that indicates that a * firewall policy in an individual account has been modified in a way that makes * it noncompliant. For example, the individual account owner might have deleted a * rule group, changed the priority of a stateless rule group, or changed a policy * default action.

*/ inline ResourceViolation& WithNetworkFirewallPolicyModifiedViolation(NetworkFirewallPolicyModifiedViolation&& value) { SetNetworkFirewallPolicyModifiedViolation(std::move(value)); return *this;} /** *

Violation detail for the subnet for which internet traffic hasn't been * inspected.

*/ inline const NetworkFirewallInternetTrafficNotInspectedViolation& GetNetworkFirewallInternetTrafficNotInspectedViolation() const{ return m_networkFirewallInternetTrafficNotInspectedViolation; } /** *

Violation detail for the subnet for which internet traffic hasn't been * inspected.

*/ inline bool NetworkFirewallInternetTrafficNotInspectedViolationHasBeenSet() const { return m_networkFirewallInternetTrafficNotInspectedViolationHasBeenSet; } /** *

Violation detail for the subnet for which internet traffic hasn't been * inspected.

*/ inline void SetNetworkFirewallInternetTrafficNotInspectedViolation(const NetworkFirewallInternetTrafficNotInspectedViolation& value) { m_networkFirewallInternetTrafficNotInspectedViolationHasBeenSet = true; m_networkFirewallInternetTrafficNotInspectedViolation = value; } /** *

Violation detail for the subnet for which internet traffic hasn't been * inspected.

*/ inline void SetNetworkFirewallInternetTrafficNotInspectedViolation(NetworkFirewallInternetTrafficNotInspectedViolation&& value) { m_networkFirewallInternetTrafficNotInspectedViolationHasBeenSet = true; m_networkFirewallInternetTrafficNotInspectedViolation = std::move(value); } /** *

Violation detail for the subnet for which internet traffic hasn't been * inspected.

*/ inline ResourceViolation& WithNetworkFirewallInternetTrafficNotInspectedViolation(const NetworkFirewallInternetTrafficNotInspectedViolation& value) { SetNetworkFirewallInternetTrafficNotInspectedViolation(value); return *this;} /** *

Violation detail for the subnet for which internet traffic hasn't been * inspected.

*/ inline ResourceViolation& WithNetworkFirewallInternetTrafficNotInspectedViolation(NetworkFirewallInternetTrafficNotInspectedViolation&& value) { SetNetworkFirewallInternetTrafficNotInspectedViolation(std::move(value)); return *this;} /** *

The route configuration is invalid.

*/ inline const NetworkFirewallInvalidRouteConfigurationViolation& GetNetworkFirewallInvalidRouteConfigurationViolation() const{ return m_networkFirewallInvalidRouteConfigurationViolation; } /** *

The route configuration is invalid.

*/ inline bool NetworkFirewallInvalidRouteConfigurationViolationHasBeenSet() const { return m_networkFirewallInvalidRouteConfigurationViolationHasBeenSet; } /** *

The route configuration is invalid.

*/ inline void SetNetworkFirewallInvalidRouteConfigurationViolation(const NetworkFirewallInvalidRouteConfigurationViolation& value) { m_networkFirewallInvalidRouteConfigurationViolationHasBeenSet = true; m_networkFirewallInvalidRouteConfigurationViolation = value; } /** *

The route configuration is invalid.

*/ inline void SetNetworkFirewallInvalidRouteConfigurationViolation(NetworkFirewallInvalidRouteConfigurationViolation&& value) { m_networkFirewallInvalidRouteConfigurationViolationHasBeenSet = true; m_networkFirewallInvalidRouteConfigurationViolation = std::move(value); } /** *

The route configuration is invalid.

*/ inline ResourceViolation& WithNetworkFirewallInvalidRouteConfigurationViolation(const NetworkFirewallInvalidRouteConfigurationViolation& value) { SetNetworkFirewallInvalidRouteConfigurationViolation(value); return *this;} /** *

The route configuration is invalid.

*/ inline ResourceViolation& WithNetworkFirewallInvalidRouteConfigurationViolation(NetworkFirewallInvalidRouteConfigurationViolation&& value) { SetNetworkFirewallInvalidRouteConfigurationViolation(std::move(value)); return *this;} inline const NetworkFirewallBlackHoleRouteDetectedViolation& GetNetworkFirewallBlackHoleRouteDetectedViolation() const{ return m_networkFirewallBlackHoleRouteDetectedViolation; } inline bool NetworkFirewallBlackHoleRouteDetectedViolationHasBeenSet() const { return m_networkFirewallBlackHoleRouteDetectedViolationHasBeenSet; } inline void SetNetworkFirewallBlackHoleRouteDetectedViolation(const NetworkFirewallBlackHoleRouteDetectedViolation& value) { m_networkFirewallBlackHoleRouteDetectedViolationHasBeenSet = true; m_networkFirewallBlackHoleRouteDetectedViolation = value; } inline void SetNetworkFirewallBlackHoleRouteDetectedViolation(NetworkFirewallBlackHoleRouteDetectedViolation&& value) { m_networkFirewallBlackHoleRouteDetectedViolationHasBeenSet = true; m_networkFirewallBlackHoleRouteDetectedViolation = std::move(value); } inline ResourceViolation& WithNetworkFirewallBlackHoleRouteDetectedViolation(const NetworkFirewallBlackHoleRouteDetectedViolation& value) { SetNetworkFirewallBlackHoleRouteDetectedViolation(value); return *this;} inline ResourceViolation& WithNetworkFirewallBlackHoleRouteDetectedViolation(NetworkFirewallBlackHoleRouteDetectedViolation&& value) { SetNetworkFirewallBlackHoleRouteDetectedViolation(std::move(value)); return *this;} /** *

There's an unexpected firewall route.

*/ inline const NetworkFirewallUnexpectedFirewallRoutesViolation& GetNetworkFirewallUnexpectedFirewallRoutesViolation() const{ return m_networkFirewallUnexpectedFirewallRoutesViolation; } /** *

There's an unexpected firewall route.

*/ inline bool NetworkFirewallUnexpectedFirewallRoutesViolationHasBeenSet() const { return m_networkFirewallUnexpectedFirewallRoutesViolationHasBeenSet; } /** *

There's an unexpected firewall route.

*/ inline void SetNetworkFirewallUnexpectedFirewallRoutesViolation(const NetworkFirewallUnexpectedFirewallRoutesViolation& value) { m_networkFirewallUnexpectedFirewallRoutesViolationHasBeenSet = true; m_networkFirewallUnexpectedFirewallRoutesViolation = value; } /** *

There's an unexpected firewall route.

*/ inline void SetNetworkFirewallUnexpectedFirewallRoutesViolation(NetworkFirewallUnexpectedFirewallRoutesViolation&& value) { m_networkFirewallUnexpectedFirewallRoutesViolationHasBeenSet = true; m_networkFirewallUnexpectedFirewallRoutesViolation = std::move(value); } /** *

There's an unexpected firewall route.

*/ inline ResourceViolation& WithNetworkFirewallUnexpectedFirewallRoutesViolation(const NetworkFirewallUnexpectedFirewallRoutesViolation& value) { SetNetworkFirewallUnexpectedFirewallRoutesViolation(value); return *this;} /** *

There's an unexpected firewall route.

*/ inline ResourceViolation& WithNetworkFirewallUnexpectedFirewallRoutesViolation(NetworkFirewallUnexpectedFirewallRoutesViolation&& value) { SetNetworkFirewallUnexpectedFirewallRoutesViolation(std::move(value)); return *this;} /** *

There's an unexpected gateway route.

*/ inline const NetworkFirewallUnexpectedGatewayRoutesViolation& GetNetworkFirewallUnexpectedGatewayRoutesViolation() const{ return m_networkFirewallUnexpectedGatewayRoutesViolation; } /** *

There's an unexpected gateway route.

*/ inline bool NetworkFirewallUnexpectedGatewayRoutesViolationHasBeenSet() const { return m_networkFirewallUnexpectedGatewayRoutesViolationHasBeenSet; } /** *

There's an unexpected gateway route.

*/ inline void SetNetworkFirewallUnexpectedGatewayRoutesViolation(const NetworkFirewallUnexpectedGatewayRoutesViolation& value) { m_networkFirewallUnexpectedGatewayRoutesViolationHasBeenSet = true; m_networkFirewallUnexpectedGatewayRoutesViolation = value; } /** *

There's an unexpected gateway route.

*/ inline void SetNetworkFirewallUnexpectedGatewayRoutesViolation(NetworkFirewallUnexpectedGatewayRoutesViolation&& value) { m_networkFirewallUnexpectedGatewayRoutesViolationHasBeenSet = true; m_networkFirewallUnexpectedGatewayRoutesViolation = std::move(value); } /** *

There's an unexpected gateway route.

*/ inline ResourceViolation& WithNetworkFirewallUnexpectedGatewayRoutesViolation(const NetworkFirewallUnexpectedGatewayRoutesViolation& value) { SetNetworkFirewallUnexpectedGatewayRoutesViolation(value); return *this;} /** *

There's an unexpected gateway route.

*/ inline ResourceViolation& WithNetworkFirewallUnexpectedGatewayRoutesViolation(NetworkFirewallUnexpectedGatewayRoutesViolation&& value) { SetNetworkFirewallUnexpectedGatewayRoutesViolation(std::move(value)); return *this;} /** *

Expected routes are missing from Network Firewall.

*/ inline const NetworkFirewallMissingExpectedRoutesViolation& GetNetworkFirewallMissingExpectedRoutesViolation() const{ return m_networkFirewallMissingExpectedRoutesViolation; } /** *

Expected routes are missing from Network Firewall.

*/ inline bool NetworkFirewallMissingExpectedRoutesViolationHasBeenSet() const { return m_networkFirewallMissingExpectedRoutesViolationHasBeenSet; } /** *

Expected routes are missing from Network Firewall.

*/ inline void SetNetworkFirewallMissingExpectedRoutesViolation(const NetworkFirewallMissingExpectedRoutesViolation& value) { m_networkFirewallMissingExpectedRoutesViolationHasBeenSet = true; m_networkFirewallMissingExpectedRoutesViolation = value; } /** *

Expected routes are missing from Network Firewall.

*/ inline void SetNetworkFirewallMissingExpectedRoutesViolation(NetworkFirewallMissingExpectedRoutesViolation&& value) { m_networkFirewallMissingExpectedRoutesViolationHasBeenSet = true; m_networkFirewallMissingExpectedRoutesViolation = std::move(value); } /** *

Expected routes are missing from Network Firewall.

*/ inline ResourceViolation& WithNetworkFirewallMissingExpectedRoutesViolation(const NetworkFirewallMissingExpectedRoutesViolation& value) { SetNetworkFirewallMissingExpectedRoutesViolation(value); return *this;} /** *

Expected routes are missing from Network Firewall.

*/ inline ResourceViolation& WithNetworkFirewallMissingExpectedRoutesViolation(NetworkFirewallMissingExpectedRoutesViolation&& value) { SetNetworkFirewallMissingExpectedRoutesViolation(std::move(value)); return *this;} /** *

Violation detail for a DNS Firewall policy that indicates that a rule group * that Firewall Manager tried to associate with a VPC has the same priority as a * rule group that's already associated.

*/ inline const DnsRuleGroupPriorityConflictViolation& GetDnsRuleGroupPriorityConflictViolation() const{ return m_dnsRuleGroupPriorityConflictViolation; } /** *

Violation detail for a DNS Firewall policy that indicates that a rule group * that Firewall Manager tried to associate with a VPC has the same priority as a * rule group that's already associated.

*/ inline bool DnsRuleGroupPriorityConflictViolationHasBeenSet() const { return m_dnsRuleGroupPriorityConflictViolationHasBeenSet; } /** *

Violation detail for a DNS Firewall policy that indicates that a rule group * that Firewall Manager tried to associate with a VPC has the same priority as a * rule group that's already associated.

*/ inline void SetDnsRuleGroupPriorityConflictViolation(const DnsRuleGroupPriorityConflictViolation& value) { m_dnsRuleGroupPriorityConflictViolationHasBeenSet = true; m_dnsRuleGroupPriorityConflictViolation = value; } /** *

Violation detail for a DNS Firewall policy that indicates that a rule group * that Firewall Manager tried to associate with a VPC has the same priority as a * rule group that's already associated.

*/ inline void SetDnsRuleGroupPriorityConflictViolation(DnsRuleGroupPriorityConflictViolation&& value) { m_dnsRuleGroupPriorityConflictViolationHasBeenSet = true; m_dnsRuleGroupPriorityConflictViolation = std::move(value); } /** *

Violation detail for a DNS Firewall policy that indicates that a rule group * that Firewall Manager tried to associate with a VPC has the same priority as a * rule group that's already associated.

*/ inline ResourceViolation& WithDnsRuleGroupPriorityConflictViolation(const DnsRuleGroupPriorityConflictViolation& value) { SetDnsRuleGroupPriorityConflictViolation(value); return *this;} /** *

Violation detail for a DNS Firewall policy that indicates that a rule group * that Firewall Manager tried to associate with a VPC has the same priority as a * rule group that's already associated.

*/ inline ResourceViolation& WithDnsRuleGroupPriorityConflictViolation(DnsRuleGroupPriorityConflictViolation&& value) { SetDnsRuleGroupPriorityConflictViolation(std::move(value)); return *this;} /** *

Violation detail for a DNS Firewall policy that indicates that a rule group * that Firewall Manager tried to associate with a VPC is already associated with * the VPC and can't be associated again.

*/ inline const DnsDuplicateRuleGroupViolation& GetDnsDuplicateRuleGroupViolation() const{ return m_dnsDuplicateRuleGroupViolation; } /** *

Violation detail for a DNS Firewall policy that indicates that a rule group * that Firewall Manager tried to associate with a VPC is already associated with * the VPC and can't be associated again.

*/ inline bool DnsDuplicateRuleGroupViolationHasBeenSet() const { return m_dnsDuplicateRuleGroupViolationHasBeenSet; } /** *

Violation detail for a DNS Firewall policy that indicates that a rule group * that Firewall Manager tried to associate with a VPC is already associated with * the VPC and can't be associated again.

*/ inline void SetDnsDuplicateRuleGroupViolation(const DnsDuplicateRuleGroupViolation& value) { m_dnsDuplicateRuleGroupViolationHasBeenSet = true; m_dnsDuplicateRuleGroupViolation = value; } /** *

Violation detail for a DNS Firewall policy that indicates that a rule group * that Firewall Manager tried to associate with a VPC is already associated with * the VPC and can't be associated again.

*/ inline void SetDnsDuplicateRuleGroupViolation(DnsDuplicateRuleGroupViolation&& value) { m_dnsDuplicateRuleGroupViolationHasBeenSet = true; m_dnsDuplicateRuleGroupViolation = std::move(value); } /** *

Violation detail for a DNS Firewall policy that indicates that a rule group * that Firewall Manager tried to associate with a VPC is already associated with * the VPC and can't be associated again.

*/ inline ResourceViolation& WithDnsDuplicateRuleGroupViolation(const DnsDuplicateRuleGroupViolation& value) { SetDnsDuplicateRuleGroupViolation(value); return *this;} /** *

Violation detail for a DNS Firewall policy that indicates that a rule group * that Firewall Manager tried to associate with a VPC is already associated with * the VPC and can't be associated again.

*/ inline ResourceViolation& WithDnsDuplicateRuleGroupViolation(DnsDuplicateRuleGroupViolation&& value) { SetDnsDuplicateRuleGroupViolation(std::move(value)); return *this;} /** *

Violation detail for a DNS Firewall policy that indicates that the VPC * reached the limit for associated DNS Firewall rule groups. Firewall Manager * tried to associate another rule group with the VPC and failed.

*/ inline const DnsRuleGroupLimitExceededViolation& GetDnsRuleGroupLimitExceededViolation() const{ return m_dnsRuleGroupLimitExceededViolation; } /** *

Violation detail for a DNS Firewall policy that indicates that the VPC * reached the limit for associated DNS Firewall rule groups. Firewall Manager * tried to associate another rule group with the VPC and failed.

*/ inline bool DnsRuleGroupLimitExceededViolationHasBeenSet() const { return m_dnsRuleGroupLimitExceededViolationHasBeenSet; } /** *

Violation detail for a DNS Firewall policy that indicates that the VPC * reached the limit for associated DNS Firewall rule groups. Firewall Manager * tried to associate another rule group with the VPC and failed.

*/ inline void SetDnsRuleGroupLimitExceededViolation(const DnsRuleGroupLimitExceededViolation& value) { m_dnsRuleGroupLimitExceededViolationHasBeenSet = true; m_dnsRuleGroupLimitExceededViolation = value; } /** *

Violation detail for a DNS Firewall policy that indicates that the VPC * reached the limit for associated DNS Firewall rule groups. Firewall Manager * tried to associate another rule group with the VPC and failed.

*/ inline void SetDnsRuleGroupLimitExceededViolation(DnsRuleGroupLimitExceededViolation&& value) { m_dnsRuleGroupLimitExceededViolationHasBeenSet = true; m_dnsRuleGroupLimitExceededViolation = std::move(value); } /** *

Violation detail for a DNS Firewall policy that indicates that the VPC * reached the limit for associated DNS Firewall rule groups. Firewall Manager * tried to associate another rule group with the VPC and failed.

*/ inline ResourceViolation& WithDnsRuleGroupLimitExceededViolation(const DnsRuleGroupLimitExceededViolation& value) { SetDnsRuleGroupLimitExceededViolation(value); return *this;} /** *

Violation detail for a DNS Firewall policy that indicates that the VPC * reached the limit for associated DNS Firewall rule groups. Firewall Manager * tried to associate another rule group with the VPC and failed.

*/ inline ResourceViolation& WithDnsRuleGroupLimitExceededViolation(DnsRuleGroupLimitExceededViolation&& value) { SetDnsRuleGroupLimitExceededViolation(std::move(value)); return *this;} /** *

A list of possible remediation action lists. Each individual possible * remediation action is a list of individual remediation actions.

*/ inline const PossibleRemediationActions& GetPossibleRemediationActions() const{ return m_possibleRemediationActions; } /** *

A list of possible remediation action lists. Each individual possible * remediation action is a list of individual remediation actions.

*/ inline bool PossibleRemediationActionsHasBeenSet() const { return m_possibleRemediationActionsHasBeenSet; } /** *

A list of possible remediation action lists. Each individual possible * remediation action is a list of individual remediation actions.

*/ inline void SetPossibleRemediationActions(const PossibleRemediationActions& value) { m_possibleRemediationActionsHasBeenSet = true; m_possibleRemediationActions = value; } /** *

A list of possible remediation action lists. Each individual possible * remediation action is a list of individual remediation actions.

*/ inline void SetPossibleRemediationActions(PossibleRemediationActions&& value) { m_possibleRemediationActionsHasBeenSet = true; m_possibleRemediationActions = std::move(value); } /** *

A list of possible remediation action lists. Each individual possible * remediation action is a list of individual remediation actions.

*/ inline ResourceViolation& WithPossibleRemediationActions(const PossibleRemediationActions& value) { SetPossibleRemediationActions(value); return *this;} /** *

A list of possible remediation action lists. Each individual possible * remediation action is a list of individual remediation actions.

*/ inline ResourceViolation& WithPossibleRemediationActions(PossibleRemediationActions&& value) { SetPossibleRemediationActions(std::move(value)); return *this;} /** *

Contains details about the firewall subnet that violates the policy * scope.

*/ inline const FirewallSubnetIsOutOfScopeViolation& GetFirewallSubnetIsOutOfScopeViolation() const{ return m_firewallSubnetIsOutOfScopeViolation; } /** *

Contains details about the firewall subnet that violates the policy * scope.

*/ inline bool FirewallSubnetIsOutOfScopeViolationHasBeenSet() const { return m_firewallSubnetIsOutOfScopeViolationHasBeenSet; } /** *

Contains details about the firewall subnet that violates the policy * scope.

*/ inline void SetFirewallSubnetIsOutOfScopeViolation(const FirewallSubnetIsOutOfScopeViolation& value) { m_firewallSubnetIsOutOfScopeViolationHasBeenSet = true; m_firewallSubnetIsOutOfScopeViolation = value; } /** *

Contains details about the firewall subnet that violates the policy * scope.

*/ inline void SetFirewallSubnetIsOutOfScopeViolation(FirewallSubnetIsOutOfScopeViolation&& value) { m_firewallSubnetIsOutOfScopeViolationHasBeenSet = true; m_firewallSubnetIsOutOfScopeViolation = std::move(value); } /** *

Contains details about the firewall subnet that violates the policy * scope.

*/ inline ResourceViolation& WithFirewallSubnetIsOutOfScopeViolation(const FirewallSubnetIsOutOfScopeViolation& value) { SetFirewallSubnetIsOutOfScopeViolation(value); return *this;} /** *

Contains details about the firewall subnet that violates the policy * scope.

*/ inline ResourceViolation& WithFirewallSubnetIsOutOfScopeViolation(FirewallSubnetIsOutOfScopeViolation&& value) { SetFirewallSubnetIsOutOfScopeViolation(std::move(value)); return *this;} /** *

Contains details about the route endpoint that violates the policy scope.

*/ inline const RouteHasOutOfScopeEndpointViolation& GetRouteHasOutOfScopeEndpointViolation() const{ return m_routeHasOutOfScopeEndpointViolation; } /** *

Contains details about the route endpoint that violates the policy scope.

*/ inline bool RouteHasOutOfScopeEndpointViolationHasBeenSet() const { return m_routeHasOutOfScopeEndpointViolationHasBeenSet; } /** *

Contains details about the route endpoint that violates the policy scope.

*/ inline void SetRouteHasOutOfScopeEndpointViolation(const RouteHasOutOfScopeEndpointViolation& value) { m_routeHasOutOfScopeEndpointViolationHasBeenSet = true; m_routeHasOutOfScopeEndpointViolation = value; } /** *

Contains details about the route endpoint that violates the policy scope.

*/ inline void SetRouteHasOutOfScopeEndpointViolation(RouteHasOutOfScopeEndpointViolation&& value) { m_routeHasOutOfScopeEndpointViolationHasBeenSet = true; m_routeHasOutOfScopeEndpointViolation = std::move(value); } /** *

Contains details about the route endpoint that violates the policy scope.

*/ inline ResourceViolation& WithRouteHasOutOfScopeEndpointViolation(const RouteHasOutOfScopeEndpointViolation& value) { SetRouteHasOutOfScopeEndpointViolation(value); return *this;} /** *

Contains details about the route endpoint that violates the policy scope.

*/ inline ResourceViolation& WithRouteHasOutOfScopeEndpointViolation(RouteHasOutOfScopeEndpointViolation&& value) { SetRouteHasOutOfScopeEndpointViolation(std::move(value)); return *this;} /** *

The violation details for a third-party firewall that's been deleted.

*/ inline const ThirdPartyFirewallMissingFirewallViolation& GetThirdPartyFirewallMissingFirewallViolation() const{ return m_thirdPartyFirewallMissingFirewallViolation; } /** *

The violation details for a third-party firewall that's been deleted.

*/ inline bool ThirdPartyFirewallMissingFirewallViolationHasBeenSet() const { return m_thirdPartyFirewallMissingFirewallViolationHasBeenSet; } /** *

The violation details for a third-party firewall that's been deleted.

*/ inline void SetThirdPartyFirewallMissingFirewallViolation(const ThirdPartyFirewallMissingFirewallViolation& value) { m_thirdPartyFirewallMissingFirewallViolationHasBeenSet = true; m_thirdPartyFirewallMissingFirewallViolation = value; } /** *

The violation details for a third-party firewall that's been deleted.

*/ inline void SetThirdPartyFirewallMissingFirewallViolation(ThirdPartyFirewallMissingFirewallViolation&& value) { m_thirdPartyFirewallMissingFirewallViolationHasBeenSet = true; m_thirdPartyFirewallMissingFirewallViolation = std::move(value); } /** *

The violation details for a third-party firewall that's been deleted.

*/ inline ResourceViolation& WithThirdPartyFirewallMissingFirewallViolation(const ThirdPartyFirewallMissingFirewallViolation& value) { SetThirdPartyFirewallMissingFirewallViolation(value); return *this;} /** *

The violation details for a third-party firewall that's been deleted.

*/ inline ResourceViolation& WithThirdPartyFirewallMissingFirewallViolation(ThirdPartyFirewallMissingFirewallViolation&& value) { SetThirdPartyFirewallMissingFirewallViolation(std::move(value)); return *this;} /** *

The violation details for a third-party firewall's subnet that's been * deleted.

*/ inline const ThirdPartyFirewallMissingSubnetViolation& GetThirdPartyFirewallMissingSubnetViolation() const{ return m_thirdPartyFirewallMissingSubnetViolation; } /** *

The violation details for a third-party firewall's subnet that's been * deleted.

*/ inline bool ThirdPartyFirewallMissingSubnetViolationHasBeenSet() const { return m_thirdPartyFirewallMissingSubnetViolationHasBeenSet; } /** *

The violation details for a third-party firewall's subnet that's been * deleted.

*/ inline void SetThirdPartyFirewallMissingSubnetViolation(const ThirdPartyFirewallMissingSubnetViolation& value) { m_thirdPartyFirewallMissingSubnetViolationHasBeenSet = true; m_thirdPartyFirewallMissingSubnetViolation = value; } /** *

The violation details for a third-party firewall's subnet that's been * deleted.

*/ inline void SetThirdPartyFirewallMissingSubnetViolation(ThirdPartyFirewallMissingSubnetViolation&& value) { m_thirdPartyFirewallMissingSubnetViolationHasBeenSet = true; m_thirdPartyFirewallMissingSubnetViolation = std::move(value); } /** *

The violation details for a third-party firewall's subnet that's been * deleted.

*/ inline ResourceViolation& WithThirdPartyFirewallMissingSubnetViolation(const ThirdPartyFirewallMissingSubnetViolation& value) { SetThirdPartyFirewallMissingSubnetViolation(value); return *this;} /** *

The violation details for a third-party firewall's subnet that's been * deleted.

*/ inline ResourceViolation& WithThirdPartyFirewallMissingSubnetViolation(ThirdPartyFirewallMissingSubnetViolation&& value) { SetThirdPartyFirewallMissingSubnetViolation(std::move(value)); return *this;} /** *

The violation details for a third-party firewall that has the Firewall * Manager managed route table that was associated with the third-party firewall * has been deleted.

*/ inline const ThirdPartyFirewallMissingExpectedRouteTableViolation& GetThirdPartyFirewallMissingExpectedRouteTableViolation() const{ return m_thirdPartyFirewallMissingExpectedRouteTableViolation; } /** *

The violation details for a third-party firewall that has the Firewall * Manager managed route table that was associated with the third-party firewall * has been deleted.

*/ inline bool ThirdPartyFirewallMissingExpectedRouteTableViolationHasBeenSet() const { return m_thirdPartyFirewallMissingExpectedRouteTableViolationHasBeenSet; } /** *

The violation details for a third-party firewall that has the Firewall * Manager managed route table that was associated with the third-party firewall * has been deleted.

*/ inline void SetThirdPartyFirewallMissingExpectedRouteTableViolation(const ThirdPartyFirewallMissingExpectedRouteTableViolation& value) { m_thirdPartyFirewallMissingExpectedRouteTableViolationHasBeenSet = true; m_thirdPartyFirewallMissingExpectedRouteTableViolation = value; } /** *

The violation details for a third-party firewall that has the Firewall * Manager managed route table that was associated with the third-party firewall * has been deleted.

*/ inline void SetThirdPartyFirewallMissingExpectedRouteTableViolation(ThirdPartyFirewallMissingExpectedRouteTableViolation&& value) { m_thirdPartyFirewallMissingExpectedRouteTableViolationHasBeenSet = true; m_thirdPartyFirewallMissingExpectedRouteTableViolation = std::move(value); } /** *

The violation details for a third-party firewall that has the Firewall * Manager managed route table that was associated with the third-party firewall * has been deleted.

*/ inline ResourceViolation& WithThirdPartyFirewallMissingExpectedRouteTableViolation(const ThirdPartyFirewallMissingExpectedRouteTableViolation& value) { SetThirdPartyFirewallMissingExpectedRouteTableViolation(value); return *this;} /** *

The violation details for a third-party firewall that has the Firewall * Manager managed route table that was associated with the third-party firewall * has been deleted.

*/ inline ResourceViolation& WithThirdPartyFirewallMissingExpectedRouteTableViolation(ThirdPartyFirewallMissingExpectedRouteTableViolation&& value) { SetThirdPartyFirewallMissingExpectedRouteTableViolation(std::move(value)); return *this;} /** *

The violation details for a third-party firewall's VPC endpoint subnet that * was deleted.

*/ inline const FirewallSubnetMissingVPCEndpointViolation& GetFirewallSubnetMissingVPCEndpointViolation() const{ return m_firewallSubnetMissingVPCEndpointViolation; } /** *

The violation details for a third-party firewall's VPC endpoint subnet that * was deleted.

*/ inline bool FirewallSubnetMissingVPCEndpointViolationHasBeenSet() const { return m_firewallSubnetMissingVPCEndpointViolationHasBeenSet; } /** *

The violation details for a third-party firewall's VPC endpoint subnet that * was deleted.

*/ inline void SetFirewallSubnetMissingVPCEndpointViolation(const FirewallSubnetMissingVPCEndpointViolation& value) { m_firewallSubnetMissingVPCEndpointViolationHasBeenSet = true; m_firewallSubnetMissingVPCEndpointViolation = value; } /** *

The violation details for a third-party firewall's VPC endpoint subnet that * was deleted.

*/ inline void SetFirewallSubnetMissingVPCEndpointViolation(FirewallSubnetMissingVPCEndpointViolation&& value) { m_firewallSubnetMissingVPCEndpointViolationHasBeenSet = true; m_firewallSubnetMissingVPCEndpointViolation = std::move(value); } /** *

The violation details for a third-party firewall's VPC endpoint subnet that * was deleted.

*/ inline ResourceViolation& WithFirewallSubnetMissingVPCEndpointViolation(const FirewallSubnetMissingVPCEndpointViolation& value) { SetFirewallSubnetMissingVPCEndpointViolation(value); return *this;} /** *

The violation details for a third-party firewall's VPC endpoint subnet that * was deleted.

*/ inline ResourceViolation& WithFirewallSubnetMissingVPCEndpointViolation(FirewallSubnetMissingVPCEndpointViolation&& value) { SetFirewallSubnetMissingVPCEndpointViolation(std::move(value)); return *this;} private: AwsVPCSecurityGroupViolation m_awsVPCSecurityGroupViolation; bool m_awsVPCSecurityGroupViolationHasBeenSet = false; AwsEc2NetworkInterfaceViolation m_awsEc2NetworkInterfaceViolation; bool m_awsEc2NetworkInterfaceViolationHasBeenSet = false; AwsEc2InstanceViolation m_awsEc2InstanceViolation; bool m_awsEc2InstanceViolationHasBeenSet = false; NetworkFirewallMissingFirewallViolation m_networkFirewallMissingFirewallViolation; bool m_networkFirewallMissingFirewallViolationHasBeenSet = false; NetworkFirewallMissingSubnetViolation m_networkFirewallMissingSubnetViolation; bool m_networkFirewallMissingSubnetViolationHasBeenSet = false; NetworkFirewallMissingExpectedRTViolation m_networkFirewallMissingExpectedRTViolation; bool m_networkFirewallMissingExpectedRTViolationHasBeenSet = false; NetworkFirewallPolicyModifiedViolation m_networkFirewallPolicyModifiedViolation; bool m_networkFirewallPolicyModifiedViolationHasBeenSet = false; NetworkFirewallInternetTrafficNotInspectedViolation m_networkFirewallInternetTrafficNotInspectedViolation; bool m_networkFirewallInternetTrafficNotInspectedViolationHasBeenSet = false; NetworkFirewallInvalidRouteConfigurationViolation m_networkFirewallInvalidRouteConfigurationViolation; bool m_networkFirewallInvalidRouteConfigurationViolationHasBeenSet = false; NetworkFirewallBlackHoleRouteDetectedViolation m_networkFirewallBlackHoleRouteDetectedViolation; bool m_networkFirewallBlackHoleRouteDetectedViolationHasBeenSet = false; NetworkFirewallUnexpectedFirewallRoutesViolation m_networkFirewallUnexpectedFirewallRoutesViolation; bool m_networkFirewallUnexpectedFirewallRoutesViolationHasBeenSet = false; NetworkFirewallUnexpectedGatewayRoutesViolation m_networkFirewallUnexpectedGatewayRoutesViolation; bool m_networkFirewallUnexpectedGatewayRoutesViolationHasBeenSet = false; NetworkFirewallMissingExpectedRoutesViolation m_networkFirewallMissingExpectedRoutesViolation; bool m_networkFirewallMissingExpectedRoutesViolationHasBeenSet = false; DnsRuleGroupPriorityConflictViolation m_dnsRuleGroupPriorityConflictViolation; bool m_dnsRuleGroupPriorityConflictViolationHasBeenSet = false; DnsDuplicateRuleGroupViolation m_dnsDuplicateRuleGroupViolation; bool m_dnsDuplicateRuleGroupViolationHasBeenSet = false; DnsRuleGroupLimitExceededViolation m_dnsRuleGroupLimitExceededViolation; bool m_dnsRuleGroupLimitExceededViolationHasBeenSet = false; PossibleRemediationActions m_possibleRemediationActions; bool m_possibleRemediationActionsHasBeenSet = false; FirewallSubnetIsOutOfScopeViolation m_firewallSubnetIsOutOfScopeViolation; bool m_firewallSubnetIsOutOfScopeViolationHasBeenSet = false; RouteHasOutOfScopeEndpointViolation m_routeHasOutOfScopeEndpointViolation; bool m_routeHasOutOfScopeEndpointViolationHasBeenSet = false; ThirdPartyFirewallMissingFirewallViolation m_thirdPartyFirewallMissingFirewallViolation; bool m_thirdPartyFirewallMissingFirewallViolationHasBeenSet = false; ThirdPartyFirewallMissingSubnetViolation m_thirdPartyFirewallMissingSubnetViolation; bool m_thirdPartyFirewallMissingSubnetViolationHasBeenSet = false; ThirdPartyFirewallMissingExpectedRouteTableViolation m_thirdPartyFirewallMissingExpectedRouteTableViolation; bool m_thirdPartyFirewallMissingExpectedRouteTableViolationHasBeenSet = false; FirewallSubnetMissingVPCEndpointViolation m_firewallSubnetMissingVPCEndpointViolation; bool m_firewallSubnetMissingVPCEndpointViolationHasBeenSet = false; }; } // namespace Model } // namespace FMS } // namespace Aws