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/securityhub/SecurityHubRequest.h> 9 #include <aws/core/utils/memory/stl/AWSString.h> 10 #include <aws/core/utils/memory/stl/AWSVector.h> 11 #include <utility> 12 13 namespace Aws 14 { 15 namespace SecurityHub 16 { 17 namespace Model 18 { 19 20 /** 21 */ 22 class AWS_SECURITYHUB_API UpdateFindingAggregatorRequest : public SecurityHubRequest 23 { 24 public: 25 UpdateFindingAggregatorRequest(); 26 27 // Service request name is the Operation name which will send this request out, 28 // each operation should has unique request name, so that we can get operation's name from this request. 29 // Note: this is not true for response, multiple operations may have the same response name, 30 // so we can not get operation's name from response. GetServiceRequestName()31 inline virtual const char* GetServiceRequestName() const override { return "UpdateFindingAggregator"; } 32 33 Aws::String SerializePayload() const override; 34 35 36 /** 37 * <p>The ARN of the finding aggregator. To obtain the ARN, use 38 * <code>ListFindingAggregators</code>.</p> 39 */ GetFindingAggregatorArn()40 inline const Aws::String& GetFindingAggregatorArn() const{ return m_findingAggregatorArn; } 41 42 /** 43 * <p>The ARN of the finding aggregator. To obtain the ARN, use 44 * <code>ListFindingAggregators</code>.</p> 45 */ FindingAggregatorArnHasBeenSet()46 inline bool FindingAggregatorArnHasBeenSet() const { return m_findingAggregatorArnHasBeenSet; } 47 48 /** 49 * <p>The ARN of the finding aggregator. To obtain the ARN, use 50 * <code>ListFindingAggregators</code>.</p> 51 */ SetFindingAggregatorArn(const Aws::String & value)52 inline void SetFindingAggregatorArn(const Aws::String& value) { m_findingAggregatorArnHasBeenSet = true; m_findingAggregatorArn = value; } 53 54 /** 55 * <p>The ARN of the finding aggregator. To obtain the ARN, use 56 * <code>ListFindingAggregators</code>.</p> 57 */ SetFindingAggregatorArn(Aws::String && value)58 inline void SetFindingAggregatorArn(Aws::String&& value) { m_findingAggregatorArnHasBeenSet = true; m_findingAggregatorArn = std::move(value); } 59 60 /** 61 * <p>The ARN of the finding aggregator. To obtain the ARN, use 62 * <code>ListFindingAggregators</code>.</p> 63 */ SetFindingAggregatorArn(const char * value)64 inline void SetFindingAggregatorArn(const char* value) { m_findingAggregatorArnHasBeenSet = true; m_findingAggregatorArn.assign(value); } 65 66 /** 67 * <p>The ARN of the finding aggregator. To obtain the ARN, use 68 * <code>ListFindingAggregators</code>.</p> 69 */ WithFindingAggregatorArn(const Aws::String & value)70 inline UpdateFindingAggregatorRequest& WithFindingAggregatorArn(const Aws::String& value) { SetFindingAggregatorArn(value); return *this;} 71 72 /** 73 * <p>The ARN of the finding aggregator. To obtain the ARN, use 74 * <code>ListFindingAggregators</code>.</p> 75 */ WithFindingAggregatorArn(Aws::String && value)76 inline UpdateFindingAggregatorRequest& WithFindingAggregatorArn(Aws::String&& value) { SetFindingAggregatorArn(std::move(value)); return *this;} 77 78 /** 79 * <p>The ARN of the finding aggregator. To obtain the ARN, use 80 * <code>ListFindingAggregators</code>.</p> 81 */ WithFindingAggregatorArn(const char * value)82 inline UpdateFindingAggregatorRequest& WithFindingAggregatorArn(const char* value) { SetFindingAggregatorArn(value); return *this;} 83 84 85 /** 86 * <p>Indicates whether to aggregate findings from all of the available Regions in 87 * the current partition. Also determines whether to automatically aggregate 88 * findings from new Regions as Security Hub supports them and you opt into 89 * them.</p> <p>The selected option also determines how to use the Regions provided 90 * in the Regions list.</p> <p>The options are as follows:</p> <ul> <li> <p> 91 * <code>ALL_REGIONS</code> - Indicates to aggregate findings from all of the 92 * Regions where Security Hub is enabled. When you choose this option, Security Hub 93 * also automatically aggregates findings from new Regions as Security Hub supports 94 * them and you opt into them. </p> </li> <li> <p> 95 * <code>ALL_REGIONS_EXCEPT_SPECIFIED</code> - Indicates to aggregate findings from 96 * all of the Regions where Security Hub is enabled, except for the Regions listed 97 * in the <code>Regions</code> parameter. When you choose this option, Security Hub 98 * also automatically aggregates findings from new Regions as Security Hub supports 99 * them and you opt into them. </p> </li> <li> <p> <code>SPECIFIED_REGIONS</code> - 100 * Indicates to aggregate findings only from the Regions listed in the 101 * <code>Regions</code> parameter. Security Hub does not automatically aggregate 102 * findings from new Regions. </p> </li> </ul> 103 */ GetRegionLinkingMode()104 inline const Aws::String& GetRegionLinkingMode() const{ return m_regionLinkingMode; } 105 106 /** 107 * <p>Indicates whether to aggregate findings from all of the available Regions in 108 * the current partition. Also determines whether to automatically aggregate 109 * findings from new Regions as Security Hub supports them and you opt into 110 * them.</p> <p>The selected option also determines how to use the Regions provided 111 * in the Regions list.</p> <p>The options are as follows:</p> <ul> <li> <p> 112 * <code>ALL_REGIONS</code> - Indicates to aggregate findings from all of the 113 * Regions where Security Hub is enabled. When you choose this option, Security Hub 114 * also automatically aggregates findings from new Regions as Security Hub supports 115 * them and you opt into them. </p> </li> <li> <p> 116 * <code>ALL_REGIONS_EXCEPT_SPECIFIED</code> - Indicates to aggregate findings from 117 * all of the Regions where Security Hub is enabled, except for the Regions listed 118 * in the <code>Regions</code> parameter. When you choose this option, Security Hub 119 * also automatically aggregates findings from new Regions as Security Hub supports 120 * them and you opt into them. </p> </li> <li> <p> <code>SPECIFIED_REGIONS</code> - 121 * Indicates to aggregate findings only from the Regions listed in the 122 * <code>Regions</code> parameter. Security Hub does not automatically aggregate 123 * findings from new Regions. </p> </li> </ul> 124 */ RegionLinkingModeHasBeenSet()125 inline bool RegionLinkingModeHasBeenSet() const { return m_regionLinkingModeHasBeenSet; } 126 127 /** 128 * <p>Indicates whether to aggregate findings from all of the available Regions in 129 * the current partition. Also determines whether to automatically aggregate 130 * findings from new Regions as Security Hub supports them and you opt into 131 * them.</p> <p>The selected option also determines how to use the Regions provided 132 * in the Regions list.</p> <p>The options are as follows:</p> <ul> <li> <p> 133 * <code>ALL_REGIONS</code> - Indicates to aggregate findings from all of the 134 * Regions where Security Hub is enabled. When you choose this option, Security Hub 135 * also automatically aggregates findings from new Regions as Security Hub supports 136 * them and you opt into them. </p> </li> <li> <p> 137 * <code>ALL_REGIONS_EXCEPT_SPECIFIED</code> - Indicates to aggregate findings from 138 * all of the Regions where Security Hub is enabled, except for the Regions listed 139 * in the <code>Regions</code> parameter. When you choose this option, Security Hub 140 * also automatically aggregates findings from new Regions as Security Hub supports 141 * them and you opt into them. </p> </li> <li> <p> <code>SPECIFIED_REGIONS</code> - 142 * Indicates to aggregate findings only from the Regions listed in the 143 * <code>Regions</code> parameter. Security Hub does not automatically aggregate 144 * findings from new Regions. </p> </li> </ul> 145 */ SetRegionLinkingMode(const Aws::String & value)146 inline void SetRegionLinkingMode(const Aws::String& value) { m_regionLinkingModeHasBeenSet = true; m_regionLinkingMode = value; } 147 148 /** 149 * <p>Indicates whether to aggregate findings from all of the available Regions in 150 * the current partition. Also determines whether to automatically aggregate 151 * findings from new Regions as Security Hub supports them and you opt into 152 * them.</p> <p>The selected option also determines how to use the Regions provided 153 * in the Regions list.</p> <p>The options are as follows:</p> <ul> <li> <p> 154 * <code>ALL_REGIONS</code> - Indicates to aggregate findings from all of the 155 * Regions where Security Hub is enabled. When you choose this option, Security Hub 156 * also automatically aggregates findings from new Regions as Security Hub supports 157 * them and you opt into them. </p> </li> <li> <p> 158 * <code>ALL_REGIONS_EXCEPT_SPECIFIED</code> - Indicates to aggregate findings from 159 * all of the Regions where Security Hub is enabled, except for the Regions listed 160 * in the <code>Regions</code> parameter. When you choose this option, Security Hub 161 * also automatically aggregates findings from new Regions as Security Hub supports 162 * them and you opt into them. </p> </li> <li> <p> <code>SPECIFIED_REGIONS</code> - 163 * Indicates to aggregate findings only from the Regions listed in the 164 * <code>Regions</code> parameter. Security Hub does not automatically aggregate 165 * findings from new Regions. </p> </li> </ul> 166 */ SetRegionLinkingMode(Aws::String && value)167 inline void SetRegionLinkingMode(Aws::String&& value) { m_regionLinkingModeHasBeenSet = true; m_regionLinkingMode = std::move(value); } 168 169 /** 170 * <p>Indicates whether to aggregate findings from all of the available Regions in 171 * the current partition. Also determines whether to automatically aggregate 172 * findings from new Regions as Security Hub supports them and you opt into 173 * them.</p> <p>The selected option also determines how to use the Regions provided 174 * in the Regions list.</p> <p>The options are as follows:</p> <ul> <li> <p> 175 * <code>ALL_REGIONS</code> - Indicates to aggregate findings from all of the 176 * Regions where Security Hub is enabled. When you choose this option, Security Hub 177 * also automatically aggregates findings from new Regions as Security Hub supports 178 * them and you opt into them. </p> </li> <li> <p> 179 * <code>ALL_REGIONS_EXCEPT_SPECIFIED</code> - Indicates to aggregate findings from 180 * all of the Regions where Security Hub is enabled, except for the Regions listed 181 * in the <code>Regions</code> parameter. When you choose this option, Security Hub 182 * also automatically aggregates findings from new Regions as Security Hub supports 183 * them and you opt into them. </p> </li> <li> <p> <code>SPECIFIED_REGIONS</code> - 184 * Indicates to aggregate findings only from the Regions listed in the 185 * <code>Regions</code> parameter. Security Hub does not automatically aggregate 186 * findings from new Regions. </p> </li> </ul> 187 */ SetRegionLinkingMode(const char * value)188 inline void SetRegionLinkingMode(const char* value) { m_regionLinkingModeHasBeenSet = true; m_regionLinkingMode.assign(value); } 189 190 /** 191 * <p>Indicates whether to aggregate findings from all of the available Regions in 192 * the current partition. Also determines whether to automatically aggregate 193 * findings from new Regions as Security Hub supports them and you opt into 194 * them.</p> <p>The selected option also determines how to use the Regions provided 195 * in the Regions list.</p> <p>The options are as follows:</p> <ul> <li> <p> 196 * <code>ALL_REGIONS</code> - Indicates to aggregate findings from all of the 197 * Regions where Security Hub is enabled. When you choose this option, Security Hub 198 * also automatically aggregates findings from new Regions as Security Hub supports 199 * them and you opt into them. </p> </li> <li> <p> 200 * <code>ALL_REGIONS_EXCEPT_SPECIFIED</code> - Indicates to aggregate findings from 201 * all of the Regions where Security Hub is enabled, except for the Regions listed 202 * in the <code>Regions</code> parameter. When you choose this option, Security Hub 203 * also automatically aggregates findings from new Regions as Security Hub supports 204 * them and you opt into them. </p> </li> <li> <p> <code>SPECIFIED_REGIONS</code> - 205 * Indicates to aggregate findings only from the Regions listed in the 206 * <code>Regions</code> parameter. Security Hub does not automatically aggregate 207 * findings from new Regions. </p> </li> </ul> 208 */ WithRegionLinkingMode(const Aws::String & value)209 inline UpdateFindingAggregatorRequest& WithRegionLinkingMode(const Aws::String& value) { SetRegionLinkingMode(value); return *this;} 210 211 /** 212 * <p>Indicates whether to aggregate findings from all of the available Regions in 213 * the current partition. Also determines whether to automatically aggregate 214 * findings from new Regions as Security Hub supports them and you opt into 215 * them.</p> <p>The selected option also determines how to use the Regions provided 216 * in the Regions list.</p> <p>The options are as follows:</p> <ul> <li> <p> 217 * <code>ALL_REGIONS</code> - Indicates to aggregate findings from all of the 218 * Regions where Security Hub is enabled. When you choose this option, Security Hub 219 * also automatically aggregates findings from new Regions as Security Hub supports 220 * them and you opt into them. </p> </li> <li> <p> 221 * <code>ALL_REGIONS_EXCEPT_SPECIFIED</code> - Indicates to aggregate findings from 222 * all of the Regions where Security Hub is enabled, except for the Regions listed 223 * in the <code>Regions</code> parameter. When you choose this option, Security Hub 224 * also automatically aggregates findings from new Regions as Security Hub supports 225 * them and you opt into them. </p> </li> <li> <p> <code>SPECIFIED_REGIONS</code> - 226 * Indicates to aggregate findings only from the Regions listed in the 227 * <code>Regions</code> parameter. Security Hub does not automatically aggregate 228 * findings from new Regions. </p> </li> </ul> 229 */ WithRegionLinkingMode(Aws::String && value)230 inline UpdateFindingAggregatorRequest& WithRegionLinkingMode(Aws::String&& value) { SetRegionLinkingMode(std::move(value)); return *this;} 231 232 /** 233 * <p>Indicates whether to aggregate findings from all of the available Regions in 234 * the current partition. Also determines whether to automatically aggregate 235 * findings from new Regions as Security Hub supports them and you opt into 236 * them.</p> <p>The selected option also determines how to use the Regions provided 237 * in the Regions list.</p> <p>The options are as follows:</p> <ul> <li> <p> 238 * <code>ALL_REGIONS</code> - Indicates to aggregate findings from all of the 239 * Regions where Security Hub is enabled. When you choose this option, Security Hub 240 * also automatically aggregates findings from new Regions as Security Hub supports 241 * them and you opt into them. </p> </li> <li> <p> 242 * <code>ALL_REGIONS_EXCEPT_SPECIFIED</code> - Indicates to aggregate findings from 243 * all of the Regions where Security Hub is enabled, except for the Regions listed 244 * in the <code>Regions</code> parameter. When you choose this option, Security Hub 245 * also automatically aggregates findings from new Regions as Security Hub supports 246 * them and you opt into them. </p> </li> <li> <p> <code>SPECIFIED_REGIONS</code> - 247 * Indicates to aggregate findings only from the Regions listed in the 248 * <code>Regions</code> parameter. Security Hub does not automatically aggregate 249 * findings from new Regions. </p> </li> </ul> 250 */ WithRegionLinkingMode(const char * value)251 inline UpdateFindingAggregatorRequest& WithRegionLinkingMode(const char* value) { SetRegionLinkingMode(value); return *this;} 252 253 254 /** 255 * <p>If <code>RegionLinkingMode</code> is 256 * <code>ALL_REGIONS_EXCEPT_SPECIFIED</code>, then this is a comma-separated list 257 * of Regions that do not aggregate findings to the aggregation Region.</p> <p>If 258 * <code>RegionLinkingMode</code> is <code>SPECIFIED_REGIONS</code>, then this is a 259 * comma-separated list of Regions that do aggregate findings to the aggregation 260 * Region.</p> 261 */ GetRegions()262 inline const Aws::Vector<Aws::String>& GetRegions() const{ return m_regions; } 263 264 /** 265 * <p>If <code>RegionLinkingMode</code> is 266 * <code>ALL_REGIONS_EXCEPT_SPECIFIED</code>, then this is a comma-separated list 267 * of Regions that do not aggregate findings to the aggregation Region.</p> <p>If 268 * <code>RegionLinkingMode</code> is <code>SPECIFIED_REGIONS</code>, then this is a 269 * comma-separated list of Regions that do aggregate findings to the aggregation 270 * Region.</p> 271 */ RegionsHasBeenSet()272 inline bool RegionsHasBeenSet() const { return m_regionsHasBeenSet; } 273 274 /** 275 * <p>If <code>RegionLinkingMode</code> is 276 * <code>ALL_REGIONS_EXCEPT_SPECIFIED</code>, then this is a comma-separated list 277 * of Regions that do not aggregate findings to the aggregation Region.</p> <p>If 278 * <code>RegionLinkingMode</code> is <code>SPECIFIED_REGIONS</code>, then this is a 279 * comma-separated list of Regions that do aggregate findings to the aggregation 280 * Region.</p> 281 */ SetRegions(const Aws::Vector<Aws::String> & value)282 inline void SetRegions(const Aws::Vector<Aws::String>& value) { m_regionsHasBeenSet = true; m_regions = value; } 283 284 /** 285 * <p>If <code>RegionLinkingMode</code> is 286 * <code>ALL_REGIONS_EXCEPT_SPECIFIED</code>, then this is a comma-separated list 287 * of Regions that do not aggregate findings to the aggregation Region.</p> <p>If 288 * <code>RegionLinkingMode</code> is <code>SPECIFIED_REGIONS</code>, then this is a 289 * comma-separated list of Regions that do aggregate findings to the aggregation 290 * Region.</p> 291 */ SetRegions(Aws::Vector<Aws::String> && value)292 inline void SetRegions(Aws::Vector<Aws::String>&& value) { m_regionsHasBeenSet = true; m_regions = std::move(value); } 293 294 /** 295 * <p>If <code>RegionLinkingMode</code> is 296 * <code>ALL_REGIONS_EXCEPT_SPECIFIED</code>, then this is a comma-separated list 297 * of Regions that do not aggregate findings to the aggregation Region.</p> <p>If 298 * <code>RegionLinkingMode</code> is <code>SPECIFIED_REGIONS</code>, then this is a 299 * comma-separated list of Regions that do aggregate findings to the aggregation 300 * Region.</p> 301 */ WithRegions(const Aws::Vector<Aws::String> & value)302 inline UpdateFindingAggregatorRequest& WithRegions(const Aws::Vector<Aws::String>& value) { SetRegions(value); return *this;} 303 304 /** 305 * <p>If <code>RegionLinkingMode</code> is 306 * <code>ALL_REGIONS_EXCEPT_SPECIFIED</code>, then this is a comma-separated list 307 * of Regions that do not aggregate findings to the aggregation Region.</p> <p>If 308 * <code>RegionLinkingMode</code> is <code>SPECIFIED_REGIONS</code>, then this is a 309 * comma-separated list of Regions that do aggregate findings to the aggregation 310 * Region.</p> 311 */ WithRegions(Aws::Vector<Aws::String> && value)312 inline UpdateFindingAggregatorRequest& WithRegions(Aws::Vector<Aws::String>&& value) { SetRegions(std::move(value)); return *this;} 313 314 /** 315 * <p>If <code>RegionLinkingMode</code> is 316 * <code>ALL_REGIONS_EXCEPT_SPECIFIED</code>, then this is a comma-separated list 317 * of Regions that do not aggregate findings to the aggregation Region.</p> <p>If 318 * <code>RegionLinkingMode</code> is <code>SPECIFIED_REGIONS</code>, then this is a 319 * comma-separated list of Regions that do aggregate findings to the aggregation 320 * Region.</p> 321 */ AddRegions(const Aws::String & value)322 inline UpdateFindingAggregatorRequest& AddRegions(const Aws::String& value) { m_regionsHasBeenSet = true; m_regions.push_back(value); return *this; } 323 324 /** 325 * <p>If <code>RegionLinkingMode</code> is 326 * <code>ALL_REGIONS_EXCEPT_SPECIFIED</code>, then this is a comma-separated list 327 * of Regions that do not aggregate findings to the aggregation Region.</p> <p>If 328 * <code>RegionLinkingMode</code> is <code>SPECIFIED_REGIONS</code>, then this is a 329 * comma-separated list of Regions that do aggregate findings to the aggregation 330 * Region.</p> 331 */ AddRegions(Aws::String && value)332 inline UpdateFindingAggregatorRequest& AddRegions(Aws::String&& value) { m_regionsHasBeenSet = true; m_regions.push_back(std::move(value)); return *this; } 333 334 /** 335 * <p>If <code>RegionLinkingMode</code> is 336 * <code>ALL_REGIONS_EXCEPT_SPECIFIED</code>, then this is a comma-separated list 337 * of Regions that do not aggregate findings to the aggregation Region.</p> <p>If 338 * <code>RegionLinkingMode</code> is <code>SPECIFIED_REGIONS</code>, then this is a 339 * comma-separated list of Regions that do aggregate findings to the aggregation 340 * Region.</p> 341 */ AddRegions(const char * value)342 inline UpdateFindingAggregatorRequest& AddRegions(const char* value) { m_regionsHasBeenSet = true; m_regions.push_back(value); return *this; } 343 344 private: 345 346 Aws::String m_findingAggregatorArn; 347 bool m_findingAggregatorArnHasBeenSet; 348 349 Aws::String m_regionLinkingMode; 350 bool m_regionLinkingModeHasBeenSet; 351 352 Aws::Vector<Aws::String> m_regions; 353 bool m_regionsHasBeenSet; 354 }; 355 356 } // namespace Model 357 } // namespace SecurityHub 358 } // namespace Aws 359