1 /**
2  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3  * SPDX-License-Identifier: Apache-2.0.
4  */
5 
6 #pragma once
7 #include <aws/config/ConfigService_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSString.h>
9 #include <aws/config/model/ConformancePackComplianceType.h>
10 #include <utility>
11 
12 namespace Aws
13 {
14 namespace Utils
15 {
16 namespace Json
17 {
18   class JsonValue;
19   class JsonView;
20 } // namespace Json
21 } // namespace Utils
22 namespace ConfigService
23 {
24 namespace Model
25 {
26 
27   /**
28    * <p>Filters the conformance packs based on an account ID, region, compliance
29    * type, and the name of the conformance pack.</p><p><h3>See Also:</h3>   <a
30    * href="http://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/AggregateConformancePackComplianceFilters">AWS
31    * API Reference</a></p>
32    */
33   class AWS_CONFIGSERVICE_API AggregateConformancePackComplianceFilters
34   {
35   public:
36     AggregateConformancePackComplianceFilters();
37     AggregateConformancePackComplianceFilters(Aws::Utils::Json::JsonView jsonValue);
38     AggregateConformancePackComplianceFilters& operator=(Aws::Utils::Json::JsonView jsonValue);
39     Aws::Utils::Json::JsonValue Jsonize() const;
40 
41 
42     /**
43      * <p>The name of the conformance pack.</p>
44      */
GetConformancePackName()45     inline const Aws::String& GetConformancePackName() const{ return m_conformancePackName; }
46 
47     /**
48      * <p>The name of the conformance pack.</p>
49      */
ConformancePackNameHasBeenSet()50     inline bool ConformancePackNameHasBeenSet() const { return m_conformancePackNameHasBeenSet; }
51 
52     /**
53      * <p>The name of the conformance pack.</p>
54      */
SetConformancePackName(const Aws::String & value)55     inline void SetConformancePackName(const Aws::String& value) { m_conformancePackNameHasBeenSet = true; m_conformancePackName = value; }
56 
57     /**
58      * <p>The name of the conformance pack.</p>
59      */
SetConformancePackName(Aws::String && value)60     inline void SetConformancePackName(Aws::String&& value) { m_conformancePackNameHasBeenSet = true; m_conformancePackName = std::move(value); }
61 
62     /**
63      * <p>The name of the conformance pack.</p>
64      */
SetConformancePackName(const char * value)65     inline void SetConformancePackName(const char* value) { m_conformancePackNameHasBeenSet = true; m_conformancePackName.assign(value); }
66 
67     /**
68      * <p>The name of the conformance pack.</p>
69      */
WithConformancePackName(const Aws::String & value)70     inline AggregateConformancePackComplianceFilters& WithConformancePackName(const Aws::String& value) { SetConformancePackName(value); return *this;}
71 
72     /**
73      * <p>The name of the conformance pack.</p>
74      */
WithConformancePackName(Aws::String && value)75     inline AggregateConformancePackComplianceFilters& WithConformancePackName(Aws::String&& value) { SetConformancePackName(std::move(value)); return *this;}
76 
77     /**
78      * <p>The name of the conformance pack.</p>
79      */
WithConformancePackName(const char * value)80     inline AggregateConformancePackComplianceFilters& WithConformancePackName(const char* value) { SetConformancePackName(value); return *this;}
81 
82 
83     /**
84      * <p>The compliance status of the conformance pack.</p>
85      */
GetComplianceType()86     inline const ConformancePackComplianceType& GetComplianceType() const{ return m_complianceType; }
87 
88     /**
89      * <p>The compliance status of the conformance pack.</p>
90      */
ComplianceTypeHasBeenSet()91     inline bool ComplianceTypeHasBeenSet() const { return m_complianceTypeHasBeenSet; }
92 
93     /**
94      * <p>The compliance status of the conformance pack.</p>
95      */
SetComplianceType(const ConformancePackComplianceType & value)96     inline void SetComplianceType(const ConformancePackComplianceType& value) { m_complianceTypeHasBeenSet = true; m_complianceType = value; }
97 
98     /**
99      * <p>The compliance status of the conformance pack.</p>
100      */
SetComplianceType(ConformancePackComplianceType && value)101     inline void SetComplianceType(ConformancePackComplianceType&& value) { m_complianceTypeHasBeenSet = true; m_complianceType = std::move(value); }
102 
103     /**
104      * <p>The compliance status of the conformance pack.</p>
105      */
WithComplianceType(const ConformancePackComplianceType & value)106     inline AggregateConformancePackComplianceFilters& WithComplianceType(const ConformancePackComplianceType& value) { SetComplianceType(value); return *this;}
107 
108     /**
109      * <p>The compliance status of the conformance pack.</p>
110      */
WithComplianceType(ConformancePackComplianceType && value)111     inline AggregateConformancePackComplianceFilters& WithComplianceType(ConformancePackComplianceType&& value) { SetComplianceType(std::move(value)); return *this;}
112 
113 
114     /**
115      * <p>The 12-digit Amazon Web Services account ID of the source account.</p>
116      */
GetAccountId()117     inline const Aws::String& GetAccountId() const{ return m_accountId; }
118 
119     /**
120      * <p>The 12-digit Amazon Web Services account ID of the source account.</p>
121      */
AccountIdHasBeenSet()122     inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; }
123 
124     /**
125      * <p>The 12-digit Amazon Web Services account ID of the source account.</p>
126      */
SetAccountId(const Aws::String & value)127     inline void SetAccountId(const Aws::String& value) { m_accountIdHasBeenSet = true; m_accountId = value; }
128 
129     /**
130      * <p>The 12-digit Amazon Web Services account ID of the source account.</p>
131      */
SetAccountId(Aws::String && value)132     inline void SetAccountId(Aws::String&& value) { m_accountIdHasBeenSet = true; m_accountId = std::move(value); }
133 
134     /**
135      * <p>The 12-digit Amazon Web Services account ID of the source account.</p>
136      */
SetAccountId(const char * value)137     inline void SetAccountId(const char* value) { m_accountIdHasBeenSet = true; m_accountId.assign(value); }
138 
139     /**
140      * <p>The 12-digit Amazon Web Services account ID of the source account.</p>
141      */
WithAccountId(const Aws::String & value)142     inline AggregateConformancePackComplianceFilters& WithAccountId(const Aws::String& value) { SetAccountId(value); return *this;}
143 
144     /**
145      * <p>The 12-digit Amazon Web Services account ID of the source account.</p>
146      */
WithAccountId(Aws::String && value)147     inline AggregateConformancePackComplianceFilters& WithAccountId(Aws::String&& value) { SetAccountId(std::move(value)); return *this;}
148 
149     /**
150      * <p>The 12-digit Amazon Web Services account ID of the source account.</p>
151      */
WithAccountId(const char * value)152     inline AggregateConformancePackComplianceFilters& WithAccountId(const char* value) { SetAccountId(value); return *this;}
153 
154 
155     /**
156      * <p>The source Amazon Web Services Region from where the data is aggregated.</p>
157      */
GetAwsRegion()158     inline const Aws::String& GetAwsRegion() const{ return m_awsRegion; }
159 
160     /**
161      * <p>The source Amazon Web Services Region from where the data is aggregated.</p>
162      */
AwsRegionHasBeenSet()163     inline bool AwsRegionHasBeenSet() const { return m_awsRegionHasBeenSet; }
164 
165     /**
166      * <p>The source Amazon Web Services Region from where the data is aggregated.</p>
167      */
SetAwsRegion(const Aws::String & value)168     inline void SetAwsRegion(const Aws::String& value) { m_awsRegionHasBeenSet = true; m_awsRegion = value; }
169 
170     /**
171      * <p>The source Amazon Web Services Region from where the data is aggregated.</p>
172      */
SetAwsRegion(Aws::String && value)173     inline void SetAwsRegion(Aws::String&& value) { m_awsRegionHasBeenSet = true; m_awsRegion = std::move(value); }
174 
175     /**
176      * <p>The source Amazon Web Services Region from where the data is aggregated.</p>
177      */
SetAwsRegion(const char * value)178     inline void SetAwsRegion(const char* value) { m_awsRegionHasBeenSet = true; m_awsRegion.assign(value); }
179 
180     /**
181      * <p>The source Amazon Web Services Region from where the data is aggregated.</p>
182      */
WithAwsRegion(const Aws::String & value)183     inline AggregateConformancePackComplianceFilters& WithAwsRegion(const Aws::String& value) { SetAwsRegion(value); return *this;}
184 
185     /**
186      * <p>The source Amazon Web Services Region from where the data is aggregated.</p>
187      */
WithAwsRegion(Aws::String && value)188     inline AggregateConformancePackComplianceFilters& WithAwsRegion(Aws::String&& value) { SetAwsRegion(std::move(value)); return *this;}
189 
190     /**
191      * <p>The source Amazon Web Services Region from where the data is aggregated.</p>
192      */
WithAwsRegion(const char * value)193     inline AggregateConformancePackComplianceFilters& WithAwsRegion(const char* value) { SetAwsRegion(value); return *this;}
194 
195   private:
196 
197     Aws::String m_conformancePackName;
198     bool m_conformancePackNameHasBeenSet;
199 
200     ConformancePackComplianceType m_complianceType;
201     bool m_complianceTypeHasBeenSet;
202 
203     Aws::String m_accountId;
204     bool m_accountIdHasBeenSet;
205 
206     Aws::String m_awsRegion;
207     bool m_awsRegionHasBeenSet;
208   };
209 
210 } // namespace Model
211 } // namespace ConfigService
212 } // namespace Aws
213