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/securityhub/SecurityHub_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSString.h>
9 #include <aws/core/utils/memory/stl/AWSVector.h>
10 #include <utility>
11 
12 namespace Aws
13 {
14 template<typename RESULT_TYPE>
15 class AmazonWebServiceResult;
16 
17 namespace Utils
18 {
19 namespace Json
20 {
21   class JsonValue;
22 } // namespace Json
23 } // namespace Utils
24 namespace SecurityHub
25 {
26 namespace Model
27 {
28   class AWS_SECURITYHUB_API CreateFindingAggregatorResult
29   {
30   public:
31     CreateFindingAggregatorResult();
32     CreateFindingAggregatorResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
33     CreateFindingAggregatorResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
34 
35 
36     /**
37      * <p>The ARN of the finding aggregator. You use the finding aggregator ARN to
38      * retrieve details for, update, and stop finding aggregation.</p>
39      */
GetFindingAggregatorArn()40     inline const Aws::String& GetFindingAggregatorArn() const{ return m_findingAggregatorArn; }
41 
42     /**
43      * <p>The ARN of the finding aggregator. You use the finding aggregator ARN to
44      * retrieve details for, update, and stop finding aggregation.</p>
45      */
SetFindingAggregatorArn(const Aws::String & value)46     inline void SetFindingAggregatorArn(const Aws::String& value) { m_findingAggregatorArn = value; }
47 
48     /**
49      * <p>The ARN of the finding aggregator. You use the finding aggregator ARN to
50      * retrieve details for, update, and stop finding aggregation.</p>
51      */
SetFindingAggregatorArn(Aws::String && value)52     inline void SetFindingAggregatorArn(Aws::String&& value) { m_findingAggregatorArn = std::move(value); }
53 
54     /**
55      * <p>The ARN of the finding aggregator. You use the finding aggregator ARN to
56      * retrieve details for, update, and stop finding aggregation.</p>
57      */
SetFindingAggregatorArn(const char * value)58     inline void SetFindingAggregatorArn(const char* value) { m_findingAggregatorArn.assign(value); }
59 
60     /**
61      * <p>The ARN of the finding aggregator. You use the finding aggregator ARN to
62      * retrieve details for, update, and stop finding aggregation.</p>
63      */
WithFindingAggregatorArn(const Aws::String & value)64     inline CreateFindingAggregatorResult& WithFindingAggregatorArn(const Aws::String& value) { SetFindingAggregatorArn(value); return *this;}
65 
66     /**
67      * <p>The ARN of the finding aggregator. You use the finding aggregator ARN to
68      * retrieve details for, update, and stop finding aggregation.</p>
69      */
WithFindingAggregatorArn(Aws::String && value)70     inline CreateFindingAggregatorResult& WithFindingAggregatorArn(Aws::String&& value) { SetFindingAggregatorArn(std::move(value)); return *this;}
71 
72     /**
73      * <p>The ARN of the finding aggregator. You use the finding aggregator ARN to
74      * retrieve details for, update, and stop finding aggregation.</p>
75      */
WithFindingAggregatorArn(const char * value)76     inline CreateFindingAggregatorResult& WithFindingAggregatorArn(const char* value) { SetFindingAggregatorArn(value); return *this;}
77 
78 
79     /**
80      * <p>The aggregation Region.</p>
81      */
GetFindingAggregationRegion()82     inline const Aws::String& GetFindingAggregationRegion() const{ return m_findingAggregationRegion; }
83 
84     /**
85      * <p>The aggregation Region.</p>
86      */
SetFindingAggregationRegion(const Aws::String & value)87     inline void SetFindingAggregationRegion(const Aws::String& value) { m_findingAggregationRegion = value; }
88 
89     /**
90      * <p>The aggregation Region.</p>
91      */
SetFindingAggregationRegion(Aws::String && value)92     inline void SetFindingAggregationRegion(Aws::String&& value) { m_findingAggregationRegion = std::move(value); }
93 
94     /**
95      * <p>The aggregation Region.</p>
96      */
SetFindingAggregationRegion(const char * value)97     inline void SetFindingAggregationRegion(const char* value) { m_findingAggregationRegion.assign(value); }
98 
99     /**
100      * <p>The aggregation Region.</p>
101      */
WithFindingAggregationRegion(const Aws::String & value)102     inline CreateFindingAggregatorResult& WithFindingAggregationRegion(const Aws::String& value) { SetFindingAggregationRegion(value); return *this;}
103 
104     /**
105      * <p>The aggregation Region.</p>
106      */
WithFindingAggregationRegion(Aws::String && value)107     inline CreateFindingAggregatorResult& WithFindingAggregationRegion(Aws::String&& value) { SetFindingAggregationRegion(std::move(value)); return *this;}
108 
109     /**
110      * <p>The aggregation Region.</p>
111      */
WithFindingAggregationRegion(const char * value)112     inline CreateFindingAggregatorResult& WithFindingAggregationRegion(const char* value) { SetFindingAggregationRegion(value); return *this;}
113 
114 
115     /**
116      * <p>Indicates whether to link all Regions, all Regions except for a list of
117      * excluded Regions, or a list of included Regions.</p>
118      */
GetRegionLinkingMode()119     inline const Aws::String& GetRegionLinkingMode() const{ return m_regionLinkingMode; }
120 
121     /**
122      * <p>Indicates whether to link all Regions, all Regions except for a list of
123      * excluded Regions, or a list of included Regions.</p>
124      */
SetRegionLinkingMode(const Aws::String & value)125     inline void SetRegionLinkingMode(const Aws::String& value) { m_regionLinkingMode = value; }
126 
127     /**
128      * <p>Indicates whether to link all Regions, all Regions except for a list of
129      * excluded Regions, or a list of included Regions.</p>
130      */
SetRegionLinkingMode(Aws::String && value)131     inline void SetRegionLinkingMode(Aws::String&& value) { m_regionLinkingMode = std::move(value); }
132 
133     /**
134      * <p>Indicates whether to link all Regions, all Regions except for a list of
135      * excluded Regions, or a list of included Regions.</p>
136      */
SetRegionLinkingMode(const char * value)137     inline void SetRegionLinkingMode(const char* value) { m_regionLinkingMode.assign(value); }
138 
139     /**
140      * <p>Indicates whether to link all Regions, all Regions except for a list of
141      * excluded Regions, or a list of included Regions.</p>
142      */
WithRegionLinkingMode(const Aws::String & value)143     inline CreateFindingAggregatorResult& WithRegionLinkingMode(const Aws::String& value) { SetRegionLinkingMode(value); return *this;}
144 
145     /**
146      * <p>Indicates whether to link all Regions, all Regions except for a list of
147      * excluded Regions, or a list of included Regions.</p>
148      */
WithRegionLinkingMode(Aws::String && value)149     inline CreateFindingAggregatorResult& WithRegionLinkingMode(Aws::String&& value) { SetRegionLinkingMode(std::move(value)); return *this;}
150 
151     /**
152      * <p>Indicates whether to link all Regions, all Regions except for a list of
153      * excluded Regions, or a list of included Regions.</p>
154      */
WithRegionLinkingMode(const char * value)155     inline CreateFindingAggregatorResult& WithRegionLinkingMode(const char* value) { SetRegionLinkingMode(value); return *this;}
156 
157 
158     /**
159      * <p>The list of excluded Regions or included Regions.</p>
160      */
GetRegions()161     inline const Aws::Vector<Aws::String>& GetRegions() const{ return m_regions; }
162 
163     /**
164      * <p>The list of excluded Regions or included Regions.</p>
165      */
SetRegions(const Aws::Vector<Aws::String> & value)166     inline void SetRegions(const Aws::Vector<Aws::String>& value) { m_regions = value; }
167 
168     /**
169      * <p>The list of excluded Regions or included Regions.</p>
170      */
SetRegions(Aws::Vector<Aws::String> && value)171     inline void SetRegions(Aws::Vector<Aws::String>&& value) { m_regions = std::move(value); }
172 
173     /**
174      * <p>The list of excluded Regions or included Regions.</p>
175      */
WithRegions(const Aws::Vector<Aws::String> & value)176     inline CreateFindingAggregatorResult& WithRegions(const Aws::Vector<Aws::String>& value) { SetRegions(value); return *this;}
177 
178     /**
179      * <p>The list of excluded Regions or included Regions.</p>
180      */
WithRegions(Aws::Vector<Aws::String> && value)181     inline CreateFindingAggregatorResult& WithRegions(Aws::Vector<Aws::String>&& value) { SetRegions(std::move(value)); return *this;}
182 
183     /**
184      * <p>The list of excluded Regions or included Regions.</p>
185      */
AddRegions(const Aws::String & value)186     inline CreateFindingAggregatorResult& AddRegions(const Aws::String& value) { m_regions.push_back(value); return *this; }
187 
188     /**
189      * <p>The list of excluded Regions or included Regions.</p>
190      */
AddRegions(Aws::String && value)191     inline CreateFindingAggregatorResult& AddRegions(Aws::String&& value) { m_regions.push_back(std::move(value)); return *this; }
192 
193     /**
194      * <p>The list of excluded Regions or included Regions.</p>
195      */
AddRegions(const char * value)196     inline CreateFindingAggregatorResult& AddRegions(const char* value) { m_regions.push_back(value); return *this; }
197 
198   private:
199 
200     Aws::String m_findingAggregatorArn;
201 
202     Aws::String m_findingAggregationRegion;
203 
204     Aws::String m_regionLinkingMode;
205 
206     Aws::Vector<Aws::String> m_regions;
207   };
208 
209 } // namespace Model
210 } // namespace SecurityHub
211 } // namespace Aws
212