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

Indicates whether the account is compliant with the specified policy. An * account is considered noncompliant if it includes resources that are not * protected by the policy, for WAF and Shield Advanced policies, or that are * noncompliant with the policy, for security group policies.

See * Also:

AWS * API Reference

*/ class PolicyComplianceStatus { public: AWS_FMS_API PolicyComplianceStatus(); AWS_FMS_API PolicyComplianceStatus(Aws::Utils::Json::JsonView jsonValue); AWS_FMS_API PolicyComplianceStatus& 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 PolicyComplianceStatus& WithPolicyOwner(const Aws::String& value) { SetPolicyOwner(value); return *this;} /** *

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

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

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

*/ inline PolicyComplianceStatus& 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 PolicyComplianceStatus& WithPolicyId(const Aws::String& value) { SetPolicyId(value); return *this;} /** *

The ID of the Firewall Manager policy.

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

The ID of the Firewall Manager policy.

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

The name of the Firewall Manager policy.

*/ inline const Aws::String& GetPolicyName() const{ return m_policyName; } /** *

The name of the Firewall Manager policy.

*/ inline bool PolicyNameHasBeenSet() const { return m_policyNameHasBeenSet; } /** *

The name of the Firewall Manager policy.

*/ inline void SetPolicyName(const Aws::String& value) { m_policyNameHasBeenSet = true; m_policyName = value; } /** *

The name of the Firewall Manager policy.

*/ inline void SetPolicyName(Aws::String&& value) { m_policyNameHasBeenSet = true; m_policyName = std::move(value); } /** *

The name of the Firewall Manager policy.

*/ inline void SetPolicyName(const char* value) { m_policyNameHasBeenSet = true; m_policyName.assign(value); } /** *

The name of the Firewall Manager policy.

*/ inline PolicyComplianceStatus& WithPolicyName(const Aws::String& value) { SetPolicyName(value); return *this;} /** *

The name of the Firewall Manager policy.

*/ inline PolicyComplianceStatus& WithPolicyName(Aws::String&& value) { SetPolicyName(std::move(value)); return *this;} /** *

The name of the Firewall Manager policy.

*/ inline PolicyComplianceStatus& WithPolicyName(const char* value) { SetPolicyName(value); return *this;} /** *

The member account ID.

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

The member account ID.

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

The member account ID.

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

The member account ID.

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

The member account ID.

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

The member account ID.

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

The member account ID.

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

The member account ID.

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

An array of EvaluationResult objects.

*/ inline const Aws::Vector& GetEvaluationResults() const{ return m_evaluationResults; } /** *

An array of EvaluationResult objects.

*/ inline bool EvaluationResultsHasBeenSet() const { return m_evaluationResultsHasBeenSet; } /** *

An array of EvaluationResult objects.

*/ inline void SetEvaluationResults(const Aws::Vector& value) { m_evaluationResultsHasBeenSet = true; m_evaluationResults = value; } /** *

An array of EvaluationResult objects.

*/ inline void SetEvaluationResults(Aws::Vector&& value) { m_evaluationResultsHasBeenSet = true; m_evaluationResults = std::move(value); } /** *

An array of EvaluationResult objects.

*/ inline PolicyComplianceStatus& WithEvaluationResults(const Aws::Vector& value) { SetEvaluationResults(value); return *this;} /** *

An array of EvaluationResult objects.

*/ inline PolicyComplianceStatus& WithEvaluationResults(Aws::Vector&& value) { SetEvaluationResults(std::move(value)); return *this;} /** *

An array of EvaluationResult objects.

*/ inline PolicyComplianceStatus& AddEvaluationResults(const EvaluationResult& value) { m_evaluationResultsHasBeenSet = true; m_evaluationResults.push_back(value); return *this; } /** *

An array of EvaluationResult objects.

*/ inline PolicyComplianceStatus& AddEvaluationResults(EvaluationResult&& value) { m_evaluationResultsHasBeenSet = true; m_evaluationResults.push_back(std::move(value)); return *this; } /** *

Timestamp of the last update to the EvaluationResult * objects.

*/ inline const Aws::Utils::DateTime& GetLastUpdated() const{ return m_lastUpdated; } /** *

Timestamp of the last update to the EvaluationResult * objects.

*/ inline bool LastUpdatedHasBeenSet() const { return m_lastUpdatedHasBeenSet; } /** *

Timestamp of the last update to the EvaluationResult * objects.

*/ inline void SetLastUpdated(const Aws::Utils::DateTime& value) { m_lastUpdatedHasBeenSet = true; m_lastUpdated = value; } /** *

Timestamp of the last update to the EvaluationResult * objects.

*/ inline void SetLastUpdated(Aws::Utils::DateTime&& value) { m_lastUpdatedHasBeenSet = true; m_lastUpdated = std::move(value); } /** *

Timestamp of the last update to the EvaluationResult * objects.

*/ inline PolicyComplianceStatus& WithLastUpdated(const Aws::Utils::DateTime& value) { SetLastUpdated(value); return *this;} /** *

Timestamp of the last update to the EvaluationResult * objects.

*/ inline PolicyComplianceStatus& WithLastUpdated(Aws::Utils::DateTime&& value) { SetLastUpdated(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 PolicyComplianceStatus& 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 PolicyComplianceStatus& 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 PolicyComplianceStatus& 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 PolicyComplianceStatus& 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 PolicyComplianceStatus& 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 PolicyComplianceStatus& 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 PolicyComplianceStatus& 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 PolicyComplianceStatus& 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_policyName; bool m_policyNameHasBeenSet = false; Aws::String m_memberAccount; bool m_memberAccountHasBeenSet = false; Aws::Vector m_evaluationResults; bool m_evaluationResultsHasBeenSet = false; Aws::Utils::DateTime m_lastUpdated; bool m_lastUpdatedHasBeenSet = false; Aws::Map m_issueInfoMap; bool m_issueInfoMapHasBeenSet = false; }; } // namespace Model } // namespace FMS } // namespace Aws