/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { namespace SecurityHub { namespace Model { /** */ class UpdateFindingAggregatorRequest : public SecurityHubRequest { public: AWS_SECURITYHUB_API UpdateFindingAggregatorRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "UpdateFindingAggregator"; } AWS_SECURITYHUB_API Aws::String SerializePayload() const override; /** *

The ARN of the finding aggregator. To obtain the ARN, use * ListFindingAggregators.

*/ inline const Aws::String& GetFindingAggregatorArn() const{ return m_findingAggregatorArn; } /** *

The ARN of the finding aggregator. To obtain the ARN, use * ListFindingAggregators.

*/ inline bool FindingAggregatorArnHasBeenSet() const { return m_findingAggregatorArnHasBeenSet; } /** *

The ARN of the finding aggregator. To obtain the ARN, use * ListFindingAggregators.

*/ inline void SetFindingAggregatorArn(const Aws::String& value) { m_findingAggregatorArnHasBeenSet = true; m_findingAggregatorArn = value; } /** *

The ARN of the finding aggregator. To obtain the ARN, use * ListFindingAggregators.

*/ inline void SetFindingAggregatorArn(Aws::String&& value) { m_findingAggregatorArnHasBeenSet = true; m_findingAggregatorArn = std::move(value); } /** *

The ARN of the finding aggregator. To obtain the ARN, use * ListFindingAggregators.

*/ inline void SetFindingAggregatorArn(const char* value) { m_findingAggregatorArnHasBeenSet = true; m_findingAggregatorArn.assign(value); } /** *

The ARN of the finding aggregator. To obtain the ARN, use * ListFindingAggregators.

*/ inline UpdateFindingAggregatorRequest& WithFindingAggregatorArn(const Aws::String& value) { SetFindingAggregatorArn(value); return *this;} /** *

The ARN of the finding aggregator. To obtain the ARN, use * ListFindingAggregators.

*/ inline UpdateFindingAggregatorRequest& WithFindingAggregatorArn(Aws::String&& value) { SetFindingAggregatorArn(std::move(value)); return *this;} /** *

The ARN of the finding aggregator. To obtain the ARN, use * ListFindingAggregators.

*/ inline UpdateFindingAggregatorRequest& WithFindingAggregatorArn(const char* value) { SetFindingAggregatorArn(value); return *this;} /** *

Indicates whether to aggregate findings from all of the available Regions in * the current partition. Also determines whether to automatically aggregate * findings from new Regions as Security Hub supports them and you opt into * them.

The selected option also determines how to use the Regions provided * in the Regions list.

The options are as follows:

  • * ALL_REGIONS - Indicates to aggregate findings from all of the * Regions where Security Hub is enabled. When you choose this option, Security Hub * also automatically aggregates findings from new Regions as Security Hub supports * them and you opt into them.

  • * ALL_REGIONS_EXCEPT_SPECIFIED - Indicates to aggregate findings from * all of the Regions where Security Hub is enabled, except for the Regions listed * in the Regions parameter. When you choose this option, Security Hub * also automatically aggregates findings from new Regions as Security Hub supports * them and you opt into them.

  • SPECIFIED_REGIONS - * Indicates to aggregate findings only from the Regions listed in the * Regions parameter. Security Hub does not automatically aggregate * findings from new Regions.

*/ inline const Aws::String& GetRegionLinkingMode() const{ return m_regionLinkingMode; } /** *

Indicates whether to aggregate findings from all of the available Regions in * the current partition. Also determines whether to automatically aggregate * findings from new Regions as Security Hub supports them and you opt into * them.

The selected option also determines how to use the Regions provided * in the Regions list.

The options are as follows:

  • * ALL_REGIONS - Indicates to aggregate findings from all of the * Regions where Security Hub is enabled. When you choose this option, Security Hub * also automatically aggregates findings from new Regions as Security Hub supports * them and you opt into them.

  • * ALL_REGIONS_EXCEPT_SPECIFIED - Indicates to aggregate findings from * all of the Regions where Security Hub is enabled, except for the Regions listed * in the Regions parameter. When you choose this option, Security Hub * also automatically aggregates findings from new Regions as Security Hub supports * them and you opt into them.

  • SPECIFIED_REGIONS - * Indicates to aggregate findings only from the Regions listed in the * Regions parameter. Security Hub does not automatically aggregate * findings from new Regions.

*/ inline bool RegionLinkingModeHasBeenSet() const { return m_regionLinkingModeHasBeenSet; } /** *

Indicates whether to aggregate findings from all of the available Regions in * the current partition. Also determines whether to automatically aggregate * findings from new Regions as Security Hub supports them and you opt into * them.

The selected option also determines how to use the Regions provided * in the Regions list.

The options are as follows:

  • * ALL_REGIONS - Indicates to aggregate findings from all of the * Regions where Security Hub is enabled. When you choose this option, Security Hub * also automatically aggregates findings from new Regions as Security Hub supports * them and you opt into them.

  • * ALL_REGIONS_EXCEPT_SPECIFIED - Indicates to aggregate findings from * all of the Regions where Security Hub is enabled, except for the Regions listed * in the Regions parameter. When you choose this option, Security Hub * also automatically aggregates findings from new Regions as Security Hub supports * them and you opt into them.

  • SPECIFIED_REGIONS - * Indicates to aggregate findings only from the Regions listed in the * Regions parameter. Security Hub does not automatically aggregate * findings from new Regions.

*/ inline void SetRegionLinkingMode(const Aws::String& value) { m_regionLinkingModeHasBeenSet = true; m_regionLinkingMode = value; } /** *

Indicates whether to aggregate findings from all of the available Regions in * the current partition. Also determines whether to automatically aggregate * findings from new Regions as Security Hub supports them and you opt into * them.

The selected option also determines how to use the Regions provided * in the Regions list.

The options are as follows:

  • * ALL_REGIONS - Indicates to aggregate findings from all of the * Regions where Security Hub is enabled. When you choose this option, Security Hub * also automatically aggregates findings from new Regions as Security Hub supports * them and you opt into them.

  • * ALL_REGIONS_EXCEPT_SPECIFIED - Indicates to aggregate findings from * all of the Regions where Security Hub is enabled, except for the Regions listed * in the Regions parameter. When you choose this option, Security Hub * also automatically aggregates findings from new Regions as Security Hub supports * them and you opt into them.

  • SPECIFIED_REGIONS - * Indicates to aggregate findings only from the Regions listed in the * Regions parameter. Security Hub does not automatically aggregate * findings from new Regions.

*/ inline void SetRegionLinkingMode(Aws::String&& value) { m_regionLinkingModeHasBeenSet = true; m_regionLinkingMode = std::move(value); } /** *

Indicates whether to aggregate findings from all of the available Regions in * the current partition. Also determines whether to automatically aggregate * findings from new Regions as Security Hub supports them and you opt into * them.

The selected option also determines how to use the Regions provided * in the Regions list.

The options are as follows:

  • * ALL_REGIONS - Indicates to aggregate findings from all of the * Regions where Security Hub is enabled. When you choose this option, Security Hub * also automatically aggregates findings from new Regions as Security Hub supports * them and you opt into them.

  • * ALL_REGIONS_EXCEPT_SPECIFIED - Indicates to aggregate findings from * all of the Regions where Security Hub is enabled, except for the Regions listed * in the Regions parameter. When you choose this option, Security Hub * also automatically aggregates findings from new Regions as Security Hub supports * them and you opt into them.

  • SPECIFIED_REGIONS - * Indicates to aggregate findings only from the Regions listed in the * Regions parameter. Security Hub does not automatically aggregate * findings from new Regions.

*/ inline void SetRegionLinkingMode(const char* value) { m_regionLinkingModeHasBeenSet = true; m_regionLinkingMode.assign(value); } /** *

Indicates whether to aggregate findings from all of the available Regions in * the current partition. Also determines whether to automatically aggregate * findings from new Regions as Security Hub supports them and you opt into * them.

The selected option also determines how to use the Regions provided * in the Regions list.

The options are as follows:

  • * ALL_REGIONS - Indicates to aggregate findings from all of the * Regions where Security Hub is enabled. When you choose this option, Security Hub * also automatically aggregates findings from new Regions as Security Hub supports * them and you opt into them.

  • * ALL_REGIONS_EXCEPT_SPECIFIED - Indicates to aggregate findings from * all of the Regions where Security Hub is enabled, except for the Regions listed * in the Regions parameter. When you choose this option, Security Hub * also automatically aggregates findings from new Regions as Security Hub supports * them and you opt into them.

  • SPECIFIED_REGIONS - * Indicates to aggregate findings only from the Regions listed in the * Regions parameter. Security Hub does not automatically aggregate * findings from new Regions.

*/ inline UpdateFindingAggregatorRequest& WithRegionLinkingMode(const Aws::String& value) { SetRegionLinkingMode(value); return *this;} /** *

Indicates whether to aggregate findings from all of the available Regions in * the current partition. Also determines whether to automatically aggregate * findings from new Regions as Security Hub supports them and you opt into * them.

The selected option also determines how to use the Regions provided * in the Regions list.

The options are as follows:

  • * ALL_REGIONS - Indicates to aggregate findings from all of the * Regions where Security Hub is enabled. When you choose this option, Security Hub * also automatically aggregates findings from new Regions as Security Hub supports * them and you opt into them.

  • * ALL_REGIONS_EXCEPT_SPECIFIED - Indicates to aggregate findings from * all of the Regions where Security Hub is enabled, except for the Regions listed * in the Regions parameter. When you choose this option, Security Hub * also automatically aggregates findings from new Regions as Security Hub supports * them and you opt into them.

  • SPECIFIED_REGIONS - * Indicates to aggregate findings only from the Regions listed in the * Regions parameter. Security Hub does not automatically aggregate * findings from new Regions.

*/ inline UpdateFindingAggregatorRequest& WithRegionLinkingMode(Aws::String&& value) { SetRegionLinkingMode(std::move(value)); return *this;} /** *

Indicates whether to aggregate findings from all of the available Regions in * the current partition. Also determines whether to automatically aggregate * findings from new Regions as Security Hub supports them and you opt into * them.

The selected option also determines how to use the Regions provided * in the Regions list.

The options are as follows:

  • * ALL_REGIONS - Indicates to aggregate findings from all of the * Regions where Security Hub is enabled. When you choose this option, Security Hub * also automatically aggregates findings from new Regions as Security Hub supports * them and you opt into them.

  • * ALL_REGIONS_EXCEPT_SPECIFIED - Indicates to aggregate findings from * all of the Regions where Security Hub is enabled, except for the Regions listed * in the Regions parameter. When you choose this option, Security Hub * also automatically aggregates findings from new Regions as Security Hub supports * them and you opt into them.

  • SPECIFIED_REGIONS - * Indicates to aggregate findings only from the Regions listed in the * Regions parameter. Security Hub does not automatically aggregate * findings from new Regions.

*/ inline UpdateFindingAggregatorRequest& WithRegionLinkingMode(const char* value) { SetRegionLinkingMode(value); return *this;} /** *

If RegionLinkingMode is * ALL_REGIONS_EXCEPT_SPECIFIED, then this is a space-separated list * of Regions that do not aggregate findings to the aggregation Region.

If * RegionLinkingMode is SPECIFIED_REGIONS, then this is a * space-separated list of Regions that do aggregate findings to the aggregation * Region.

*/ inline const Aws::Vector& GetRegions() const{ return m_regions; } /** *

If RegionLinkingMode is * ALL_REGIONS_EXCEPT_SPECIFIED, then this is a space-separated list * of Regions that do not aggregate findings to the aggregation Region.

If * RegionLinkingMode is SPECIFIED_REGIONS, then this is a * space-separated list of Regions that do aggregate findings to the aggregation * Region.

*/ inline bool RegionsHasBeenSet() const { return m_regionsHasBeenSet; } /** *

If RegionLinkingMode is * ALL_REGIONS_EXCEPT_SPECIFIED, then this is a space-separated list * of Regions that do not aggregate findings to the aggregation Region.

If * RegionLinkingMode is SPECIFIED_REGIONS, then this is a * space-separated list of Regions that do aggregate findings to the aggregation * Region.

*/ inline void SetRegions(const Aws::Vector& value) { m_regionsHasBeenSet = true; m_regions = value; } /** *

If RegionLinkingMode is * ALL_REGIONS_EXCEPT_SPECIFIED, then this is a space-separated list * of Regions that do not aggregate findings to the aggregation Region.

If * RegionLinkingMode is SPECIFIED_REGIONS, then this is a * space-separated list of Regions that do aggregate findings to the aggregation * Region.

*/ inline void SetRegions(Aws::Vector&& value) { m_regionsHasBeenSet = true; m_regions = std::move(value); } /** *

If RegionLinkingMode is * ALL_REGIONS_EXCEPT_SPECIFIED, then this is a space-separated list * of Regions that do not aggregate findings to the aggregation Region.

If * RegionLinkingMode is SPECIFIED_REGIONS, then this is a * space-separated list of Regions that do aggregate findings to the aggregation * Region.

*/ inline UpdateFindingAggregatorRequest& WithRegions(const Aws::Vector& value) { SetRegions(value); return *this;} /** *

If RegionLinkingMode is * ALL_REGIONS_EXCEPT_SPECIFIED, then this is a space-separated list * of Regions that do not aggregate findings to the aggregation Region.

If * RegionLinkingMode is SPECIFIED_REGIONS, then this is a * space-separated list of Regions that do aggregate findings to the aggregation * Region.

*/ inline UpdateFindingAggregatorRequest& WithRegions(Aws::Vector&& value) { SetRegions(std::move(value)); return *this;} /** *

If RegionLinkingMode is * ALL_REGIONS_EXCEPT_SPECIFIED, then this is a space-separated list * of Regions that do not aggregate findings to the aggregation Region.

If * RegionLinkingMode is SPECIFIED_REGIONS, then this is a * space-separated list of Regions that do aggregate findings to the aggregation * Region.

*/ inline UpdateFindingAggregatorRequest& AddRegions(const Aws::String& value) { m_regionsHasBeenSet = true; m_regions.push_back(value); return *this; } /** *

If RegionLinkingMode is * ALL_REGIONS_EXCEPT_SPECIFIED, then this is a space-separated list * of Regions that do not aggregate findings to the aggregation Region.

If * RegionLinkingMode is SPECIFIED_REGIONS, then this is a * space-separated list of Regions that do aggregate findings to the aggregation * Region.

*/ inline UpdateFindingAggregatorRequest& AddRegions(Aws::String&& value) { m_regionsHasBeenSet = true; m_regions.push_back(std::move(value)); return *this; } /** *

If RegionLinkingMode is * ALL_REGIONS_EXCEPT_SPECIFIED, then this is a space-separated list * of Regions that do not aggregate findings to the aggregation Region.

If * RegionLinkingMode is SPECIFIED_REGIONS, then this is a * space-separated list of Regions that do aggregate findings to the aggregation * Region.

*/ inline UpdateFindingAggregatorRequest& AddRegions(const char* value) { m_regionsHasBeenSet = true; m_regions.push_back(value); return *this; } private: Aws::String m_findingAggregatorArn; bool m_findingAggregatorArnHasBeenSet = false; Aws::String m_regionLinkingMode; bool m_regionLinkingModeHasBeenSet = false; Aws::Vector m_regions; bool m_regionsHasBeenSet = false; }; } // namespace Model } // namespace SecurityHub } // namespace Aws