/** * 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 namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace FMS { namespace Model { /** *

Describes the noncompliant resources in a member account for a specific * Firewall Manager policy. A maximum of 100 entries are displayed. If more than * 100 resources are noncompliant, EvaluationLimitExceeded is set to * True.

See Also:

AWS * API Reference

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

The Amazon Web Services account that created the Firewall Manager policy.

*/ inline const Aws::String& GetPolicyOwner() const{ return m_policyOwner; } /** *

The Amazon Web Services account that created the Firewall Manager policy.

*/ inline bool PolicyOwnerHasBeenSet() const { return m_policyOwnerHasBeenSet; } /** *

The Amazon Web Services account that created the Firewall Manager policy.

*/ inline void SetPolicyOwner(const Aws::String& value) { m_policyOwnerHasBeenSet = true; m_policyOwner = value; } /** *

The Amazon Web Services account that created the Firewall Manager policy.

*/ inline void SetPolicyOwner(Aws::String&& value) { m_policyOwnerHasBeenSet = true; m_policyOwner = std::move(value); } /** *

The Amazon Web Services account that created the Firewall Manager policy.

*/ inline void SetPolicyOwner(const char* value) { m_policyOwnerHasBeenSet = true; m_policyOwner.assign(value); } /** *

The Amazon Web Services account that created the Firewall Manager policy.

*/ inline PolicyComplianceDetail& WithPolicyOwner(const Aws::String& value) { SetPolicyOwner(value); return *this;} /** *

The Amazon Web Services account that created the Firewall Manager policy.

*/ inline PolicyComplianceDetail& WithPolicyOwner(Aws::String&& value) { SetPolicyOwner(std::move(value)); return *this;} /** *

The Amazon Web Services account that created the Firewall Manager policy.

*/ inline PolicyComplianceDetail& WithPolicyOwner(const char* value) { SetPolicyOwner(value); return *this;} /** *

The ID of the Firewall Manager policy.

*/ inline const Aws::String& GetPolicyId() const{ return m_policyId; } /** *

The ID of the Firewall Manager policy.

*/ inline bool PolicyIdHasBeenSet() const { return m_policyIdHasBeenSet; } /** *

The ID of the Firewall Manager policy.

*/ inline void SetPolicyId(const Aws::String& value) { m_policyIdHasBeenSet = true; m_policyId = value; } /** *

The ID of the Firewall Manager policy.

*/ inline void SetPolicyId(Aws::String&& value) { m_policyIdHasBeenSet = true; m_policyId = std::move(value); } /** *

The ID of the Firewall Manager policy.

*/ inline void SetPolicyId(const char* value) { m_policyIdHasBeenSet = true; m_policyId.assign(value); } /** *

The ID of the Firewall Manager policy.

*/ inline PolicyComplianceDetail& WithPolicyId(const Aws::String& value) { SetPolicyId(value); return *this;} /** *

The ID of the Firewall Manager policy.

*/ inline PolicyComplianceDetail& WithPolicyId(Aws::String&& value) { SetPolicyId(std::move(value)); return *this;} /** *

The ID of the Firewall Manager policy.

*/ inline PolicyComplianceDetail& WithPolicyId(const char* value) { SetPolicyId(value); return *this;} /** *

The Amazon Web Services account ID.

*/ inline const Aws::String& GetMemberAccount() const{ return m_memberAccount; } /** *

The Amazon Web Services account ID.

*/ inline bool MemberAccountHasBeenSet() const { return m_memberAccountHasBeenSet; } /** *

The Amazon Web Services account ID.

*/ inline void SetMemberAccount(const Aws::String& value) { m_memberAccountHasBeenSet = true; m_memberAccount = value; } /** *

The Amazon Web Services account ID.

*/ inline void SetMemberAccount(Aws::String&& value) { m_memberAccountHasBeenSet = true; m_memberAccount = std::move(value); } /** *

The Amazon Web Services account ID.

*/ inline void SetMemberAccount(const char* value) { m_memberAccountHasBeenSet = true; m_memberAccount.assign(value); } /** *

The Amazon Web Services account ID.

*/ inline PolicyComplianceDetail& WithMemberAccount(const Aws::String& value) { SetMemberAccount(value); return *this;} /** *

The Amazon Web Services account ID.

*/ inline PolicyComplianceDetail& WithMemberAccount(Aws::String&& value) { SetMemberAccount(std::move(value)); return *this;} /** *

The Amazon Web Services account ID.

*/ inline PolicyComplianceDetail& WithMemberAccount(const char* value) { SetMemberAccount(value); return *this;} /** *

An array of resources that aren't protected by the WAF or Shield Advanced * policy or that aren't in compliance with the security group policy.

*/ inline const Aws::Vector& GetViolators() const{ return m_violators; } /** *

An array of resources that aren't protected by the WAF or Shield Advanced * policy or that aren't in compliance with the security group policy.

*/ inline bool ViolatorsHasBeenSet() const { return m_violatorsHasBeenSet; } /** *

An array of resources that aren't protected by the WAF or Shield Advanced * policy or that aren't in compliance with the security group policy.

*/ inline void SetViolators(const Aws::Vector& value) { m_violatorsHasBeenSet = true; m_violators = value; } /** *

An array of resources that aren't protected by the WAF or Shield Advanced * policy or that aren't in compliance with the security group policy.

*/ inline void SetViolators(Aws::Vector&& value) { m_violatorsHasBeenSet = true; m_violators = std::move(value); } /** *

An array of resources that aren't protected by the WAF or Shield Advanced * policy or that aren't in compliance with the security group policy.

*/ inline PolicyComplianceDetail& WithViolators(const Aws::Vector& value) { SetViolators(value); return *this;} /** *

An array of resources that aren't protected by the WAF or Shield Advanced * policy or that aren't in compliance with the security group policy.

*/ inline PolicyComplianceDetail& WithViolators(Aws::Vector&& value) { SetViolators(std::move(value)); return *this;} /** *

An array of resources that aren't protected by the WAF or Shield Advanced * policy or that aren't in compliance with the security group policy.

*/ inline PolicyComplianceDetail& AddViolators(const ComplianceViolator& value) { m_violatorsHasBeenSet = true; m_violators.push_back(value); return *this; } /** *

An array of resources that aren't protected by the WAF or Shield Advanced * policy or that aren't in compliance with the security group policy.

*/ inline PolicyComplianceDetail& AddViolators(ComplianceViolator&& value) { m_violatorsHasBeenSet = true; m_violators.push_back(std::move(value)); return *this; } /** *

Indicates if over 100 resources are noncompliant with the Firewall Manager * policy.

*/ inline bool GetEvaluationLimitExceeded() const{ return m_evaluationLimitExceeded; } /** *

Indicates if over 100 resources are noncompliant with the Firewall Manager * policy.

*/ inline bool EvaluationLimitExceededHasBeenSet() const { return m_evaluationLimitExceededHasBeenSet; } /** *

Indicates if over 100 resources are noncompliant with the Firewall Manager * policy.

*/ inline void SetEvaluationLimitExceeded(bool value) { m_evaluationLimitExceededHasBeenSet = true; m_evaluationLimitExceeded = value; } /** *

Indicates if over 100 resources are noncompliant with the Firewall Manager * policy.

*/ inline PolicyComplianceDetail& WithEvaluationLimitExceeded(bool value) { SetEvaluationLimitExceeded(value); return *this;} /** *

A timestamp that indicates when the returned information should be considered * out of date.

*/ inline const Aws::Utils::DateTime& GetExpiredAt() const{ return m_expiredAt; } /** *

A timestamp that indicates when the returned information should be considered * out of date.

*/ inline bool ExpiredAtHasBeenSet() const { return m_expiredAtHasBeenSet; } /** *

A timestamp that indicates when the returned information should be considered * out of date.

*/ inline void SetExpiredAt(const Aws::Utils::DateTime& value) { m_expiredAtHasBeenSet = true; m_expiredAt = value; } /** *

A timestamp that indicates when the returned information should be considered * out of date.

*/ inline void SetExpiredAt(Aws::Utils::DateTime&& value) { m_expiredAtHasBeenSet = true; m_expiredAt = std::move(value); } /** *

A timestamp that indicates when the returned information should be considered * out of date.

*/ inline PolicyComplianceDetail& WithExpiredAt(const Aws::Utils::DateTime& value) { SetExpiredAt(value); return *this;} /** *

A timestamp that indicates when the returned information should be considered * out of date.

*/ inline PolicyComplianceDetail& WithExpiredAt(Aws::Utils::DateTime&& value) { SetExpiredAt(std::move(value)); return *this;} /** *

Details about problems with dependent services, such as WAF or Config, and * the error message received that indicates the problem with the service.

*/ inline const Aws::Map& GetIssueInfoMap() const{ return m_issueInfoMap; } /** *

Details about problems with dependent services, such as WAF or Config, and * the error message received that indicates the problem with the service.

*/ inline bool IssueInfoMapHasBeenSet() const { return m_issueInfoMapHasBeenSet; } /** *

Details about problems with dependent services, such as WAF or Config, and * the error message received that indicates the problem with the service.

*/ inline void SetIssueInfoMap(const Aws::Map& value) { m_issueInfoMapHasBeenSet = true; m_issueInfoMap = value; } /** *

Details about problems with dependent services, such as WAF or Config, and * the error message received that indicates the problem with the service.

*/ inline void SetIssueInfoMap(Aws::Map&& value) { m_issueInfoMapHasBeenSet = true; m_issueInfoMap = std::move(value); } /** *

Details about problems with dependent services, such as WAF or Config, and * the error message received that indicates the problem with the service.

*/ inline PolicyComplianceDetail& WithIssueInfoMap(const Aws::Map& value) { SetIssueInfoMap(value); return *this;} /** *

Details about problems with dependent services, such as WAF or Config, and * the error message received that indicates the problem with the service.

*/ inline PolicyComplianceDetail& WithIssueInfoMap(Aws::Map&& value) { SetIssueInfoMap(std::move(value)); return *this;} /** *

Details about problems with dependent services, such as WAF or Config, and * the error message received that indicates the problem with the service.

*/ inline PolicyComplianceDetail& AddIssueInfoMap(const DependentServiceName& key, const Aws::String& value) { m_issueInfoMapHasBeenSet = true; m_issueInfoMap.emplace(key, value); return *this; } /** *

Details about problems with dependent services, such as WAF or Config, and * the error message received that indicates the problem with the service.

*/ inline PolicyComplianceDetail& AddIssueInfoMap(DependentServiceName&& key, const Aws::String& value) { m_issueInfoMapHasBeenSet = true; m_issueInfoMap.emplace(std::move(key), value); return *this; } /** *

Details about problems with dependent services, such as WAF or Config, and * the error message received that indicates the problem with the service.

*/ inline PolicyComplianceDetail& AddIssueInfoMap(const DependentServiceName& key, Aws::String&& value) { m_issueInfoMapHasBeenSet = true; m_issueInfoMap.emplace(key, std::move(value)); return *this; } /** *

Details about problems with dependent services, such as WAF or Config, and * the error message received that indicates the problem with the service.

*/ inline PolicyComplianceDetail& AddIssueInfoMap(DependentServiceName&& key, Aws::String&& value) { m_issueInfoMapHasBeenSet = true; m_issueInfoMap.emplace(std::move(key), std::move(value)); return *this; } /** *

Details about problems with dependent services, such as WAF or Config, and * the error message received that indicates the problem with the service.

*/ inline PolicyComplianceDetail& AddIssueInfoMap(DependentServiceName&& key, const char* value) { m_issueInfoMapHasBeenSet = true; m_issueInfoMap.emplace(std::move(key), value); return *this; } /** *

Details about problems with dependent services, such as WAF or Config, and * the error message received that indicates the problem with the service.

*/ inline PolicyComplianceDetail& AddIssueInfoMap(const DependentServiceName& key, const char* value) { m_issueInfoMapHasBeenSet = true; m_issueInfoMap.emplace(key, value); return *this; } private: Aws::String m_policyOwner; bool m_policyOwnerHasBeenSet = false; Aws::String m_policyId; bool m_policyIdHasBeenSet = false; Aws::String m_memberAccount; bool m_memberAccountHasBeenSet = false; Aws::Vector m_violators; bool m_violatorsHasBeenSet = false; bool m_evaluationLimitExceeded; bool m_evaluationLimitExceededHasBeenSet = false; Aws::Utils::DateTime m_expiredAt; bool m_expiredAtHasBeenSet = false; Aws::Map m_issueInfoMap; bool m_issueInfoMapHasBeenSet = false; }; } // namespace Model } // namespace FMS } // namespace Aws