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

Indicates whether an Config rule is compliant based on account ID, region, * compliance, and rule name.

A rule is compliant if all of the resources * that the rule evaluated comply with it. It is noncompliant if any of these * resources do not comply.

See Also:

AWS * API Reference

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

The name of the Config rule.

*/ inline const Aws::String& GetConfigRuleName() const{ return m_configRuleName; } /** *

The name of the Config rule.

*/ inline bool ConfigRuleNameHasBeenSet() const { return m_configRuleNameHasBeenSet; } /** *

The name of the Config rule.

*/ inline void SetConfigRuleName(const Aws::String& value) { m_configRuleNameHasBeenSet = true; m_configRuleName = value; } /** *

The name of the Config rule.

*/ inline void SetConfigRuleName(Aws::String&& value) { m_configRuleNameHasBeenSet = true; m_configRuleName = std::move(value); } /** *

The name of the Config rule.

*/ inline void SetConfigRuleName(const char* value) { m_configRuleNameHasBeenSet = true; m_configRuleName.assign(value); } /** *

The name of the Config rule.

*/ inline AggregateComplianceByConfigRule& WithConfigRuleName(const Aws::String& value) { SetConfigRuleName(value); return *this;} /** *

The name of the Config rule.

*/ inline AggregateComplianceByConfigRule& WithConfigRuleName(Aws::String&& value) { SetConfigRuleName(std::move(value)); return *this;} /** *

The name of the Config rule.

*/ inline AggregateComplianceByConfigRule& WithConfigRuleName(const char* value) { SetConfigRuleName(value); return *this;} /** *

Indicates whether an Amazon Web Services resource or Config rule is compliant * and provides the number of contributors that affect the compliance.

*/ inline const Compliance& GetCompliance() const{ return m_compliance; } /** *

Indicates whether an Amazon Web Services resource or Config rule is compliant * and provides the number of contributors that affect the compliance.

*/ inline bool ComplianceHasBeenSet() const { return m_complianceHasBeenSet; } /** *

Indicates whether an Amazon Web Services resource or Config rule is compliant * and provides the number of contributors that affect the compliance.

*/ inline void SetCompliance(const Compliance& value) { m_complianceHasBeenSet = true; m_compliance = value; } /** *

Indicates whether an Amazon Web Services resource or Config rule is compliant * and provides the number of contributors that affect the compliance.

*/ inline void SetCompliance(Compliance&& value) { m_complianceHasBeenSet = true; m_compliance = std::move(value); } /** *

Indicates whether an Amazon Web Services resource or Config rule is compliant * and provides the number of contributors that affect the compliance.

*/ inline AggregateComplianceByConfigRule& WithCompliance(const Compliance& value) { SetCompliance(value); return *this;} /** *

Indicates whether an Amazon Web Services resource or Config rule is compliant * and provides the number of contributors that affect the compliance.

*/ inline AggregateComplianceByConfigRule& WithCompliance(Compliance&& value) { SetCompliance(std::move(value)); return *this;} /** *

The 12-digit account ID of the source account.

*/ inline const Aws::String& GetAccountId() const{ return m_accountId; } /** *

The 12-digit account ID of the source account.

*/ inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; } /** *

The 12-digit account ID of the source account.

*/ inline void SetAccountId(const Aws::String& value) { m_accountIdHasBeenSet = true; m_accountId = value; } /** *

The 12-digit account ID of the source account.

*/ inline void SetAccountId(Aws::String&& value) { m_accountIdHasBeenSet = true; m_accountId = std::move(value); } /** *

The 12-digit account ID of the source account.

*/ inline void SetAccountId(const char* value) { m_accountIdHasBeenSet = true; m_accountId.assign(value); } /** *

The 12-digit account ID of the source account.

*/ inline AggregateComplianceByConfigRule& WithAccountId(const Aws::String& value) { SetAccountId(value); return *this;} /** *

The 12-digit account ID of the source account.

*/ inline AggregateComplianceByConfigRule& WithAccountId(Aws::String&& value) { SetAccountId(std::move(value)); return *this;} /** *

The 12-digit account ID of the source account.

*/ inline AggregateComplianceByConfigRule& WithAccountId(const char* value) { SetAccountId(value); return *this;} /** *

The source region from where the data is aggregated.

*/ inline const Aws::String& GetAwsRegion() const{ return m_awsRegion; } /** *

The source region from where the data is aggregated.

*/ inline bool AwsRegionHasBeenSet() const { return m_awsRegionHasBeenSet; } /** *

The source region from where the data is aggregated.

*/ inline void SetAwsRegion(const Aws::String& value) { m_awsRegionHasBeenSet = true; m_awsRegion = value; } /** *

The source region from where the data is aggregated.

*/ inline void SetAwsRegion(Aws::String&& value) { m_awsRegionHasBeenSet = true; m_awsRegion = std::move(value); } /** *

The source region from where the data is aggregated.

*/ inline void SetAwsRegion(const char* value) { m_awsRegionHasBeenSet = true; m_awsRegion.assign(value); } /** *

The source region from where the data is aggregated.

*/ inline AggregateComplianceByConfigRule& WithAwsRegion(const Aws::String& value) { SetAwsRegion(value); return *this;} /** *

The source region from where the data is aggregated.

*/ inline AggregateComplianceByConfigRule& WithAwsRegion(Aws::String&& value) { SetAwsRegion(std::move(value)); return *this;} /** *

The source region from where the data is aggregated.

*/ inline AggregateComplianceByConfigRule& WithAwsRegion(const char* value) { SetAwsRegion(value); return *this;} private: Aws::String m_configRuleName; bool m_configRuleNameHasBeenSet = false; Compliance m_compliance; bool m_complianceHasBeenSet = false; Aws::String m_accountId; bool m_accountIdHasBeenSet = false; Aws::String m_awsRegion; bool m_awsRegionHasBeenSet = false; }; } // namespace Model } // namespace ConfigService } // namespace Aws