aws-sdk-securityhub 1.54.0 → 1.55.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5e4fa900f7692aaa7f0a1937fc6166fa08ccd60ed996a3f32a81e1b94fbfb3bc
4
- data.tar.gz: 4e98837b0744a597608c89f8885aceb1a62cbd02b5e41af0fb69f128f469cf04
3
+ metadata.gz: c0244a3b2d9711dcabb3626e254137872d085f194394249104ef3609329caad1
4
+ data.tar.gz: 6276dc69a93362dac4a62924aac1b941a6ccbcb628afed13acf1a32bb908cc69
5
5
  SHA512:
6
- metadata.gz: 290ea6cf913e437bd321c7f284df10da7032303d2b7d424dddde04c41e9570676266686afb159742037ac9817eb676d28b9dd4d089f434425782367bf123e86f
7
- data.tar.gz: 825021c17c379860a28646ae0d4afdb07b31100e0d9ee58449a58dd1c49f993c2f846a80d2f0c56b9d2ad797460e6c0ac086dba43ad1d77df86f5aa244811724
6
+ metadata.gz: 299eafa227885502a179801deed102a6f1a5dc90346b3a84e762908e1339f56590ee3de04cfb2b2a868569bad8a929c4792fe8056e39054e26a6bf1c0cc855df
7
+ data.tar.gz: 208b24bb8be7c8f9b248338039aa121f6ec1e37554cd418391f622aa74804dd4307e1cedd7fb0b4eb79f2a6a47067865adf94d3df0669285d466fe3ad78cb80f
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.55.0 (2021-10-20)
5
+ ------------------
6
+
7
+ * Feature - Added support for cross-Region finding aggregation, which replicates findings from linked Regions to a single aggregation Region. Added operations to view, enable, update, and delete the finding aggregation.
8
+
4
9
  1.54.0 (2021-10-18)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.54.0
1
+ 1.55.0
@@ -3454,6 +3454,80 @@ module Aws::SecurityHub
3454
3454
  req.send_request(options)
3455
3455
  end
3456
3456
 
3457
+ # Used to enable finding aggregation. Must be called from the
3458
+ # aggregation Region.
3459
+ #
3460
+ # For more details about cross-Region replication, see [Configuring
3461
+ # finding
3462
+ # aggregation](securityhub/latest/userguide/finding-aggregation.html) in
3463
+ # the *Security Hub User Guide*.
3464
+ #
3465
+ # @option params [required, String] :region_linking_mode
3466
+ # Indicates whether to aggregate findings from all of the available
3467
+ # Regions in the current partition. Also determines whether to
3468
+ # automatically aggregate findings from new Regions as Security Hub
3469
+ # supports them and you opt into them.
3470
+ #
3471
+ # The selected option also determines how to use the Regions provided in
3472
+ # the Regions list.
3473
+ #
3474
+ # The options are as follows:
3475
+ #
3476
+ # * `ALL_REGIONS` - Indicates to aggregate findings from all of the
3477
+ # Regions where Security Hub is enabled. When you choose this option,
3478
+ # Security Hub also automatically aggregates findings from new Regions
3479
+ # as Security Hub supports them and you opt into them.
3480
+ #
3481
+ # * `ALL_REGIONS_EXCEPT_SPECIFIED` - Indicates to aggregate findings
3482
+ # from all of the Regions where Security Hub is enabled, except for
3483
+ # the Regions listed in the `Regions` parameter. When you choose this
3484
+ # option, Security Hub also automatically aggregates findings from new
3485
+ # Regions as Security Hub supports them and you opt into them.
3486
+ #
3487
+ # * `SPECIFIED_REGIONS` - Indicates to aggregate findings only from the
3488
+ # Regions listed in the `Regions` parameter. Security Hub does not
3489
+ # automatically aggregate findings from new Regions.
3490
+ #
3491
+ # @option params [Array<String>] :regions
3492
+ # If `RegionLinkingMode` is `ALL_REGIONS_EXCEPT_SPECIFIED`, then this is
3493
+ # a comma-separated list of Regions that do not aggregate findings to
3494
+ # the aggregation Region.
3495
+ #
3496
+ # If `RegionLinkingMode` is `SPECIFIED_REGIONS`, then this is a
3497
+ # comma-separated list of Regions that do aggregate findings to the
3498
+ # aggregation Region.
3499
+ #
3500
+ # @return [Types::CreateFindingAggregatorResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3501
+ #
3502
+ # * {Types::CreateFindingAggregatorResponse#finding_aggregator_arn #finding_aggregator_arn} => String
3503
+ # * {Types::CreateFindingAggregatorResponse#finding_aggregation_region #finding_aggregation_region} => String
3504
+ # * {Types::CreateFindingAggregatorResponse#region_linking_mode #region_linking_mode} => String
3505
+ # * {Types::CreateFindingAggregatorResponse#regions #regions} => Array&lt;String&gt;
3506
+ #
3507
+ # @example Request syntax with placeholder values
3508
+ #
3509
+ # resp = client.create_finding_aggregator({
3510
+ # region_linking_mode: "NonEmptyString", # required
3511
+ # regions: ["NonEmptyString"],
3512
+ # })
3513
+ #
3514
+ # @example Response structure
3515
+ #
3516
+ # resp.finding_aggregator_arn #=> String
3517
+ # resp.finding_aggregation_region #=> String
3518
+ # resp.region_linking_mode #=> String
3519
+ # resp.regions #=> Array
3520
+ # resp.regions[0] #=> String
3521
+ #
3522
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/CreateFindingAggregator AWS API Documentation
3523
+ #
3524
+ # @overload create_finding_aggregator(params = {})
3525
+ # @param [Hash] params ({})
3526
+ def create_finding_aggregator(params = {}, options = {})
3527
+ req = build_request(:create_finding_aggregator, params)
3528
+ req.send_request(options)
3529
+ end
3530
+
3457
3531
  # Creates a custom insight in Security Hub. An insight is a
3458
3532
  # consolidation of findings that relate to a security issue that
3459
3533
  # requires attention or remediation.
@@ -4266,6 +4340,35 @@ module Aws::SecurityHub
4266
4340
  req.send_request(options)
4267
4341
  end
4268
4342
 
4343
+ # Deletes a finding aggregator. When you delete the finding aggregator,
4344
+ # you stop finding aggregation.
4345
+ #
4346
+ # When you stop finding aggregation, findings that were already
4347
+ # aggregated to the aggregation Region are still visible from the
4348
+ # aggregation Region. New findings and finding updates are not
4349
+ # aggregated.
4350
+ #
4351
+ # @option params [required, String] :finding_aggregator_arn
4352
+ # The ARN of the finding aggregator to delete. To obtain the ARN, use
4353
+ # `ListFindingAggregators`.
4354
+ #
4355
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
4356
+ #
4357
+ # @example Request syntax with placeholder values
4358
+ #
4359
+ # resp = client.delete_finding_aggregator({
4360
+ # finding_aggregator_arn: "NonEmptyString", # required
4361
+ # })
4362
+ #
4363
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DeleteFindingAggregator AWS API Documentation
4364
+ #
4365
+ # @overload delete_finding_aggregator(params = {})
4366
+ # @param [Hash] params ({})
4367
+ def delete_finding_aggregator(params = {}, options = {})
4368
+ req = build_request(:delete_finding_aggregator, params)
4369
+ req.send_request(options)
4370
+ end
4371
+
4269
4372
  # Deletes the insight specified by the `InsightArn`.
4270
4373
  #
4271
4374
  # @option params [required, String] :insight_arn
@@ -4987,8 +5090,48 @@ module Aws::SecurityHub
4987
5090
  req.send_request(options)
4988
5091
  end
4989
5092
 
5093
+ # Returns the current finding aggregation configuration.
5094
+ #
5095
+ # @option params [required, String] :finding_aggregator_arn
5096
+ # The ARN of the finding aggregator to return details for. To obtain the
5097
+ # ARN, use `ListFindingAggregators`.
5098
+ #
5099
+ # @return [Types::GetFindingAggregatorResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5100
+ #
5101
+ # * {Types::GetFindingAggregatorResponse#finding_aggregator_arn #finding_aggregator_arn} => String
5102
+ # * {Types::GetFindingAggregatorResponse#finding_aggregation_region #finding_aggregation_region} => String
5103
+ # * {Types::GetFindingAggregatorResponse#region_linking_mode #region_linking_mode} => String
5104
+ # * {Types::GetFindingAggregatorResponse#regions #regions} => Array&lt;String&gt;
5105
+ #
5106
+ # @example Request syntax with placeholder values
5107
+ #
5108
+ # resp = client.get_finding_aggregator({
5109
+ # finding_aggregator_arn: "NonEmptyString", # required
5110
+ # })
5111
+ #
5112
+ # @example Response structure
5113
+ #
5114
+ # resp.finding_aggregator_arn #=> String
5115
+ # resp.finding_aggregation_region #=> String
5116
+ # resp.region_linking_mode #=> String
5117
+ # resp.regions #=> Array
5118
+ # resp.regions[0] #=> String
5119
+ #
5120
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetFindingAggregator AWS API Documentation
5121
+ #
5122
+ # @overload get_finding_aggregator(params = {})
5123
+ # @param [Hash] params ({})
5124
+ def get_finding_aggregator(params = {}, options = {})
5125
+ req = build_request(:get_finding_aggregator, params)
5126
+ req.send_request(options)
5127
+ end
5128
+
4990
5129
  # Returns a list of findings that match the specified criteria.
4991
5130
  #
5131
+ # If finding aggregation is enabled, then when you call `GetFindings`
5132
+ # from the aggregation Region, the results include all of the matching
5133
+ # findings from both the aggregation Region and the linked Regions.
5134
+ #
4992
5135
  # @option params [Types::AwsSecurityFindingFilters] :filters
4993
5136
  # The finding attributes used to define a condition to filter the
4994
5137
  # returned findings.
@@ -8016,6 +8159,47 @@ module Aws::SecurityHub
8016
8159
  req.send_request(options)
8017
8160
  end
8018
8161
 
8162
+ # If finding aggregation is enabled, then `ListFindingAggregators`
8163
+ # returns the ARN of the finding aggregator. You can run this operation
8164
+ # from any Region.
8165
+ #
8166
+ # @option params [String] :next_token
8167
+ # The token returned with the previous set of results. Identifies the
8168
+ # next set of results to return.
8169
+ #
8170
+ # @option params [Integer] :max_results
8171
+ # The maximum number of results to return. This operation currently only
8172
+ # returns a single result.
8173
+ #
8174
+ # @return [Types::ListFindingAggregatorsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
8175
+ #
8176
+ # * {Types::ListFindingAggregatorsResponse#finding_aggregators #finding_aggregators} => Array&lt;Types::FindingAggregator&gt;
8177
+ # * {Types::ListFindingAggregatorsResponse#next_token #next_token} => String
8178
+ #
8179
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
8180
+ #
8181
+ # @example Request syntax with placeholder values
8182
+ #
8183
+ # resp = client.list_finding_aggregators({
8184
+ # next_token: "NextToken",
8185
+ # max_results: 1,
8186
+ # })
8187
+ #
8188
+ # @example Response structure
8189
+ #
8190
+ # resp.finding_aggregators #=> Array
8191
+ # resp.finding_aggregators[0].finding_aggregator_arn #=> String
8192
+ # resp.next_token #=> String
8193
+ #
8194
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ListFindingAggregators AWS API Documentation
8195
+ #
8196
+ # @overload list_finding_aggregators(params = {})
8197
+ # @param [Hash] params ({})
8198
+ def list_finding_aggregators(params = {}, options = {})
8199
+ req = build_request(:list_finding_aggregators, params)
8200
+ req.send_request(options)
8201
+ end
8202
+
8019
8203
  # Lists all Security Hub membership invitations that were sent to the
8020
8204
  # current Amazon Web Services account.
8021
8205
  #
@@ -8292,6 +8476,84 @@ module Aws::SecurityHub
8292
8476
  req.send_request(options)
8293
8477
  end
8294
8478
 
8479
+ # Updates the finding aggregation configuration. Used to update the
8480
+ # Region linking mode and the list of included or excluded Regions. You
8481
+ # cannot use `UpdateFindingAggregator` to change the aggregation Region.
8482
+ #
8483
+ # You must run `UpdateFindingAggregator` from the current aggregation
8484
+ # Region.
8485
+ #
8486
+ # @option params [required, String] :finding_aggregator_arn
8487
+ # The ARN of the finding aggregator. To obtain the ARN, use
8488
+ # `ListFindingAggregators`.
8489
+ #
8490
+ # @option params [required, String] :region_linking_mode
8491
+ # Indicates whether to aggregate findings from all of the available
8492
+ # Regions in the current partition. Also determines whether to
8493
+ # automatically aggregate findings from new Regions as Security Hub
8494
+ # supports them and you opt into them.
8495
+ #
8496
+ # The selected option also determines how to use the Regions provided in
8497
+ # the Regions list.
8498
+ #
8499
+ # The options are as follows:
8500
+ #
8501
+ # * `ALL_REGIONS` - Indicates to aggregate findings from all of the
8502
+ # Regions where Security Hub is enabled. When you choose this option,
8503
+ # Security Hub also automatically aggregates findings from new Regions
8504
+ # as Security Hub supports them and you opt into them.
8505
+ #
8506
+ # * `ALL_REGIONS_EXCEPT_SPECIFIED` - Indicates to aggregate findings
8507
+ # from all of the Regions where Security Hub is enabled, except for
8508
+ # the Regions listed in the `Regions` parameter. When you choose this
8509
+ # option, Security Hub also automatically aggregates findings from new
8510
+ # Regions as Security Hub supports them and you opt into them.
8511
+ #
8512
+ # * `SPECIFIED_REGIONS` - Indicates to aggregate findings only from the
8513
+ # Regions listed in the `Regions` parameter. Security Hub does not
8514
+ # automatically aggregate findings from new Regions.
8515
+ #
8516
+ # @option params [Array<String>] :regions
8517
+ # If `RegionLinkingMode` is `ALL_REGIONS_EXCEPT_SPECIFIED`, then this is
8518
+ # a comma-separated list of Regions that do not aggregate findings to
8519
+ # the aggregation Region.
8520
+ #
8521
+ # If `RegionLinkingMode` is `SPECIFIED_REGIONS`, then this is a
8522
+ # comma-separated list of Regions that do aggregate findings to the
8523
+ # aggregation Region.
8524
+ #
8525
+ # @return [Types::UpdateFindingAggregatorResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
8526
+ #
8527
+ # * {Types::UpdateFindingAggregatorResponse#finding_aggregator_arn #finding_aggregator_arn} => String
8528
+ # * {Types::UpdateFindingAggregatorResponse#finding_aggregation_region #finding_aggregation_region} => String
8529
+ # * {Types::UpdateFindingAggregatorResponse#region_linking_mode #region_linking_mode} => String
8530
+ # * {Types::UpdateFindingAggregatorResponse#regions #regions} => Array&lt;String&gt;
8531
+ #
8532
+ # @example Request syntax with placeholder values
8533
+ #
8534
+ # resp = client.update_finding_aggregator({
8535
+ # finding_aggregator_arn: "NonEmptyString", # required
8536
+ # region_linking_mode: "NonEmptyString", # required
8537
+ # regions: ["NonEmptyString"],
8538
+ # })
8539
+ #
8540
+ # @example Response structure
8541
+ #
8542
+ # resp.finding_aggregator_arn #=> String
8543
+ # resp.finding_aggregation_region #=> String
8544
+ # resp.region_linking_mode #=> String
8545
+ # resp.regions #=> Array
8546
+ # resp.regions[0] #=> String
8547
+ #
8548
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateFindingAggregator AWS API Documentation
8549
+ #
8550
+ # @overload update_finding_aggregator(params = {})
8551
+ # @param [Hash] params ({})
8552
+ def update_finding_aggregator(params = {}, options = {})
8553
+ req = build_request(:update_finding_aggregator, params)
8554
+ req.send_request(options)
8555
+ end
8556
+
8295
8557
  # `UpdateFindings` is deprecated. Instead of `UpdateFindings`, use
8296
8558
  # `BatchUpdateFindings`.
8297
8559
  #
@@ -9700,7 +9962,7 @@ module Aws::SecurityHub
9700
9962
  params: params,
9701
9963
  config: config)
9702
9964
  context[:gem_name] = 'aws-sdk-securityhub'
9703
- context[:gem_version] = '1.54.0'
9965
+ context[:gem_version] = '1.55.0'
9704
9966
  Seahorse::Client::Request.new(handlers, context)
9705
9967
  end
9706
9968
 
@@ -472,6 +472,8 @@ module Aws::SecurityHub
472
472
  Country = Shapes::StructureShape.new(name: 'Country')
473
473
  CreateActionTargetRequest = Shapes::StructureShape.new(name: 'CreateActionTargetRequest')
474
474
  CreateActionTargetResponse = Shapes::StructureShape.new(name: 'CreateActionTargetResponse')
475
+ CreateFindingAggregatorRequest = Shapes::StructureShape.new(name: 'CreateFindingAggregatorRequest')
476
+ CreateFindingAggregatorResponse = Shapes::StructureShape.new(name: 'CreateFindingAggregatorResponse')
475
477
  CreateInsightRequest = Shapes::StructureShape.new(name: 'CreateInsightRequest')
476
478
  CreateInsightResponse = Shapes::StructureShape.new(name: 'CreateInsightResponse')
477
479
  CreateMembersRequest = Shapes::StructureShape.new(name: 'CreateMembersRequest')
@@ -491,6 +493,8 @@ module Aws::SecurityHub
491
493
  DeclineInvitationsResponse = Shapes::StructureShape.new(name: 'DeclineInvitationsResponse')
492
494
  DeleteActionTargetRequest = Shapes::StructureShape.new(name: 'DeleteActionTargetRequest')
493
495
  DeleteActionTargetResponse = Shapes::StructureShape.new(name: 'DeleteActionTargetResponse')
496
+ DeleteFindingAggregatorRequest = Shapes::StructureShape.new(name: 'DeleteFindingAggregatorRequest')
497
+ DeleteFindingAggregatorResponse = Shapes::StructureShape.new(name: 'DeleteFindingAggregatorResponse')
494
498
  DeleteInsightRequest = Shapes::StructureShape.new(name: 'DeleteInsightRequest')
495
499
  DeleteInsightResponse = Shapes::StructureShape.new(name: 'DeleteInsightResponse')
496
500
  DeleteInvitationsRequest = Shapes::StructureShape.new(name: 'DeleteInvitationsRequest')
@@ -530,6 +534,8 @@ module Aws::SecurityHub
530
534
  EnableSecurityHubRequest = Shapes::StructureShape.new(name: 'EnableSecurityHubRequest')
531
535
  EnableSecurityHubResponse = Shapes::StructureShape.new(name: 'EnableSecurityHubResponse')
532
536
  FieldMap = Shapes::MapShape.new(name: 'FieldMap')
537
+ FindingAggregator = Shapes::StructureShape.new(name: 'FindingAggregator')
538
+ FindingAggregatorList = Shapes::ListShape.new(name: 'FindingAggregatorList')
533
539
  FindingProviderFields = Shapes::StructureShape.new(name: 'FindingProviderFields')
534
540
  FindingProviderSeverity = Shapes::StructureShape.new(name: 'FindingProviderSeverity')
535
541
  GeoLocation = Shapes::StructureShape.new(name: 'GeoLocation')
@@ -537,6 +543,8 @@ module Aws::SecurityHub
537
543
  GetAdministratorAccountResponse = Shapes::StructureShape.new(name: 'GetAdministratorAccountResponse')
538
544
  GetEnabledStandardsRequest = Shapes::StructureShape.new(name: 'GetEnabledStandardsRequest')
539
545
  GetEnabledStandardsResponse = Shapes::StructureShape.new(name: 'GetEnabledStandardsResponse')
546
+ GetFindingAggregatorRequest = Shapes::StructureShape.new(name: 'GetFindingAggregatorRequest')
547
+ GetFindingAggregatorResponse = Shapes::StructureShape.new(name: 'GetFindingAggregatorResponse')
540
548
  GetFindingsRequest = Shapes::StructureShape.new(name: 'GetFindingsRequest')
541
549
  GetFindingsResponse = Shapes::StructureShape.new(name: 'GetFindingsResponse')
542
550
  GetInsightResultsRequest = Shapes::StructureShape.new(name: 'GetInsightResultsRequest')
@@ -578,6 +586,8 @@ module Aws::SecurityHub
578
586
  LimitExceededException = Shapes::StructureShape.new(name: 'LimitExceededException')
579
587
  ListEnabledProductsForImportRequest = Shapes::StructureShape.new(name: 'ListEnabledProductsForImportRequest')
580
588
  ListEnabledProductsForImportResponse = Shapes::StructureShape.new(name: 'ListEnabledProductsForImportResponse')
589
+ ListFindingAggregatorsRequest = Shapes::StructureShape.new(name: 'ListFindingAggregatorsRequest')
590
+ ListFindingAggregatorsResponse = Shapes::StructureShape.new(name: 'ListFindingAggregatorsResponse')
581
591
  ListInvitationsRequest = Shapes::StructureShape.new(name: 'ListInvitationsRequest')
582
592
  ListInvitationsResponse = Shapes::StructureShape.new(name: 'ListInvitationsResponse')
583
593
  ListMembersRequest = Shapes::StructureShape.new(name: 'ListMembersRequest')
@@ -694,6 +704,8 @@ module Aws::SecurityHub
694
704
  UntagResourceResponse = Shapes::StructureShape.new(name: 'UntagResourceResponse')
695
705
  UpdateActionTargetRequest = Shapes::StructureShape.new(name: 'UpdateActionTargetRequest')
696
706
  UpdateActionTargetResponse = Shapes::StructureShape.new(name: 'UpdateActionTargetResponse')
707
+ UpdateFindingAggregatorRequest = Shapes::StructureShape.new(name: 'UpdateFindingAggregatorRequest')
708
+ UpdateFindingAggregatorResponse = Shapes::StructureShape.new(name: 'UpdateFindingAggregatorResponse')
697
709
  UpdateFindingsRequest = Shapes::StructureShape.new(name: 'UpdateFindingsRequest')
698
710
  UpdateFindingsResponse = Shapes::StructureShape.new(name: 'UpdateFindingsResponse')
699
711
  UpdateInsightRequest = Shapes::StructureShape.new(name: 'UpdateInsightRequest')
@@ -3285,6 +3297,16 @@ module Aws::SecurityHub
3285
3297
  CreateActionTargetResponse.add_member(:action_target_arn, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "ActionTargetArn"))
3286
3298
  CreateActionTargetResponse.struct_class = Types::CreateActionTargetResponse
3287
3299
 
3300
+ CreateFindingAggregatorRequest.add_member(:region_linking_mode, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "RegionLinkingMode"))
3301
+ CreateFindingAggregatorRequest.add_member(:regions, Shapes::ShapeRef.new(shape: StringList, location_name: "Regions"))
3302
+ CreateFindingAggregatorRequest.struct_class = Types::CreateFindingAggregatorRequest
3303
+
3304
+ CreateFindingAggregatorResponse.add_member(:finding_aggregator_arn, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "FindingAggregatorArn"))
3305
+ CreateFindingAggregatorResponse.add_member(:finding_aggregation_region, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "FindingAggregationRegion"))
3306
+ CreateFindingAggregatorResponse.add_member(:region_linking_mode, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "RegionLinkingMode"))
3307
+ CreateFindingAggregatorResponse.add_member(:regions, Shapes::ShapeRef.new(shape: StringList, location_name: "Regions"))
3308
+ CreateFindingAggregatorResponse.struct_class = Types::CreateFindingAggregatorResponse
3309
+
3288
3310
  CreateInsightRequest.add_member(:name, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "Name"))
3289
3311
  CreateInsightRequest.add_member(:filters, Shapes::ShapeRef.new(shape: AwsSecurityFindingFilters, required: true, location_name: "Filters"))
3290
3312
  CreateInsightRequest.add_member(:group_by_attribute, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "GroupByAttribute"))
@@ -3347,6 +3369,11 @@ module Aws::SecurityHub
3347
3369
  DeleteActionTargetResponse.add_member(:action_target_arn, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "ActionTargetArn"))
3348
3370
  DeleteActionTargetResponse.struct_class = Types::DeleteActionTargetResponse
3349
3371
 
3372
+ DeleteFindingAggregatorRequest.add_member(:finding_aggregator_arn, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location: "uri", location_name: "FindingAggregatorArn"))
3373
+ DeleteFindingAggregatorRequest.struct_class = Types::DeleteFindingAggregatorRequest
3374
+
3375
+ DeleteFindingAggregatorResponse.struct_class = Types::DeleteFindingAggregatorResponse
3376
+
3350
3377
  DeleteInsightRequest.add_member(:insight_arn, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location: "uri", location_name: "InsightArn"))
3351
3378
  DeleteInsightRequest.struct_class = Types::DeleteInsightRequest
3352
3379
 
@@ -3466,6 +3493,11 @@ module Aws::SecurityHub
3466
3493
  FieldMap.key = Shapes::ShapeRef.new(shape: NonEmptyString)
3467
3494
  FieldMap.value = Shapes::ShapeRef.new(shape: NonEmptyString)
3468
3495
 
3496
+ FindingAggregator.add_member(:finding_aggregator_arn, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "FindingAggregatorArn"))
3497
+ FindingAggregator.struct_class = Types::FindingAggregator
3498
+
3499
+ FindingAggregatorList.member = Shapes::ShapeRef.new(shape: FindingAggregator)
3500
+
3469
3501
  FindingProviderFields.add_member(:confidence, Shapes::ShapeRef.new(shape: RatioScale, location_name: "Confidence"))
3470
3502
  FindingProviderFields.add_member(:criticality, Shapes::ShapeRef.new(shape: RatioScale, location_name: "Criticality"))
3471
3503
  FindingProviderFields.add_member(:related_findings, Shapes::ShapeRef.new(shape: RelatedFindingList, location_name: "RelatedFindings"))
@@ -3495,6 +3527,15 @@ module Aws::SecurityHub
3495
3527
  GetEnabledStandardsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
3496
3528
  GetEnabledStandardsResponse.struct_class = Types::GetEnabledStandardsResponse
3497
3529
 
3530
+ GetFindingAggregatorRequest.add_member(:finding_aggregator_arn, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location: "uri", location_name: "FindingAggregatorArn"))
3531
+ GetFindingAggregatorRequest.struct_class = Types::GetFindingAggregatorRequest
3532
+
3533
+ GetFindingAggregatorResponse.add_member(:finding_aggregator_arn, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "FindingAggregatorArn"))
3534
+ GetFindingAggregatorResponse.add_member(:finding_aggregation_region, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "FindingAggregationRegion"))
3535
+ GetFindingAggregatorResponse.add_member(:region_linking_mode, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "RegionLinkingMode"))
3536
+ GetFindingAggregatorResponse.add_member(:regions, Shapes::ShapeRef.new(shape: StringList, location_name: "Regions"))
3537
+ GetFindingAggregatorResponse.struct_class = Types::GetFindingAggregatorResponse
3538
+
3498
3539
  GetFindingsRequest.add_member(:filters, Shapes::ShapeRef.new(shape: AwsSecurityFindingFilters, location_name: "Filters"))
3499
3540
  GetFindingsRequest.add_member(:sort_criteria, Shapes::ShapeRef.new(shape: SortCriteria, location_name: "SortCriteria"))
3500
3541
  GetFindingsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
@@ -3632,6 +3673,14 @@ module Aws::SecurityHub
3632
3673
  ListEnabledProductsForImportResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
3633
3674
  ListEnabledProductsForImportResponse.struct_class = Types::ListEnabledProductsForImportResponse
3634
3675
 
3676
+ ListFindingAggregatorsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location: "querystring", location_name: "NextToken"))
3677
+ ListFindingAggregatorsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location: "querystring", location_name: "MaxResults"))
3678
+ ListFindingAggregatorsRequest.struct_class = Types::ListFindingAggregatorsRequest
3679
+
3680
+ ListFindingAggregatorsResponse.add_member(:finding_aggregators, Shapes::ShapeRef.new(shape: FindingAggregatorList, location_name: "FindingAggregators"))
3681
+ ListFindingAggregatorsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
3682
+ ListFindingAggregatorsResponse.struct_class = Types::ListFindingAggregatorsResponse
3683
+
3635
3684
  ListInvitationsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: CrossAccountMaxResults, location: "querystring", location_name: "MaxResults"))
3636
3685
  ListInvitationsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location: "querystring", location_name: "NextToken"))
3637
3686
  ListInvitationsRequest.struct_class = Types::ListInvitationsRequest
@@ -4071,6 +4120,17 @@ module Aws::SecurityHub
4071
4120
 
4072
4121
  UpdateActionTargetResponse.struct_class = Types::UpdateActionTargetResponse
4073
4122
 
4123
+ UpdateFindingAggregatorRequest.add_member(:finding_aggregator_arn, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "FindingAggregatorArn"))
4124
+ UpdateFindingAggregatorRequest.add_member(:region_linking_mode, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "RegionLinkingMode"))
4125
+ UpdateFindingAggregatorRequest.add_member(:regions, Shapes::ShapeRef.new(shape: StringList, location_name: "Regions"))
4126
+ UpdateFindingAggregatorRequest.struct_class = Types::UpdateFindingAggregatorRequest
4127
+
4128
+ UpdateFindingAggregatorResponse.add_member(:finding_aggregator_arn, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "FindingAggregatorArn"))
4129
+ UpdateFindingAggregatorResponse.add_member(:finding_aggregation_region, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "FindingAggregationRegion"))
4130
+ UpdateFindingAggregatorResponse.add_member(:region_linking_mode, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "RegionLinkingMode"))
4131
+ UpdateFindingAggregatorResponse.add_member(:regions, Shapes::ShapeRef.new(shape: StringList, location_name: "Regions"))
4132
+ UpdateFindingAggregatorResponse.struct_class = Types::UpdateFindingAggregatorResponse
4133
+
4074
4134
  UpdateFindingsRequest.add_member(:filters, Shapes::ShapeRef.new(shape: AwsSecurityFindingFilters, required: true, location_name: "Filters"))
4075
4135
  UpdateFindingsRequest.add_member(:note, Shapes::ShapeRef.new(shape: NoteUpdate, location_name: "Note"))
4076
4136
  UpdateFindingsRequest.add_member(:record_state, Shapes::ShapeRef.new(shape: RecordState, location_name: "RecordState"))
@@ -4243,6 +4303,19 @@ module Aws::SecurityHub
4243
4303
  o.errors << Shapes::ShapeRef.new(shape: ResourceConflictException)
4244
4304
  end)
4245
4305
 
4306
+ api.add_operation(:create_finding_aggregator, Seahorse::Model::Operation.new.tap do |o|
4307
+ o.name = "CreateFindingAggregator"
4308
+ o.http_method = "POST"
4309
+ o.http_request_uri = "/findingAggregator/create"
4310
+ o.input = Shapes::ShapeRef.new(shape: CreateFindingAggregatorRequest)
4311
+ o.output = Shapes::ShapeRef.new(shape: CreateFindingAggregatorResponse)
4312
+ o.errors << Shapes::ShapeRef.new(shape: InternalException)
4313
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
4314
+ o.errors << Shapes::ShapeRef.new(shape: InvalidAccessException)
4315
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
4316
+ o.errors << Shapes::ShapeRef.new(shape: InvalidInputException)
4317
+ end)
4318
+
4246
4319
  api.add_operation(:create_insight, Seahorse::Model::Operation.new.tap do |o|
4247
4320
  o.name = "CreateInsight"
4248
4321
  o.http_method = "POST"
@@ -4293,6 +4366,20 @@ module Aws::SecurityHub
4293
4366
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
4294
4367
  end)
4295
4368
 
4369
+ api.add_operation(:delete_finding_aggregator, Seahorse::Model::Operation.new.tap do |o|
4370
+ o.name = "DeleteFindingAggregator"
4371
+ o.http_method = "DELETE"
4372
+ o.http_request_uri = "/findingAggregator/delete/{FindingAggregatorArn+}"
4373
+ o.input = Shapes::ShapeRef.new(shape: DeleteFindingAggregatorRequest)
4374
+ o.output = Shapes::ShapeRef.new(shape: DeleteFindingAggregatorResponse)
4375
+ o.errors << Shapes::ShapeRef.new(shape: InternalException)
4376
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
4377
+ o.errors << Shapes::ShapeRef.new(shape: InvalidAccessException)
4378
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
4379
+ o.errors << Shapes::ShapeRef.new(shape: InvalidInputException)
4380
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
4381
+ end)
4382
+
4296
4383
  api.add_operation(:delete_insight, Seahorse::Model::Operation.new.tap do |o|
4297
4384
  o.name = "DeleteInsight"
4298
4385
  o.http_method = "DELETE"
@@ -4574,6 +4661,20 @@ module Aws::SecurityHub
4574
4661
  )
4575
4662
  end)
4576
4663
 
4664
+ api.add_operation(:get_finding_aggregator, Seahorse::Model::Operation.new.tap do |o|
4665
+ o.name = "GetFindingAggregator"
4666
+ o.http_method = "GET"
4667
+ o.http_request_uri = "/findingAggregator/get/{FindingAggregatorArn+}"
4668
+ o.input = Shapes::ShapeRef.new(shape: GetFindingAggregatorRequest)
4669
+ o.output = Shapes::ShapeRef.new(shape: GetFindingAggregatorResponse)
4670
+ o.errors << Shapes::ShapeRef.new(shape: InternalException)
4671
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
4672
+ o.errors << Shapes::ShapeRef.new(shape: InvalidAccessException)
4673
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
4674
+ o.errors << Shapes::ShapeRef.new(shape: InvalidInputException)
4675
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
4676
+ end)
4677
+
4577
4678
  api.add_operation(:get_findings, Seahorse::Model::Operation.new.tap do |o|
4578
4679
  o.name = "GetFindings"
4579
4680
  o.http_method = "POST"
@@ -4693,6 +4794,25 @@ module Aws::SecurityHub
4693
4794
  )
4694
4795
  end)
4695
4796
 
4797
+ api.add_operation(:list_finding_aggregators, Seahorse::Model::Operation.new.tap do |o|
4798
+ o.name = "ListFindingAggregators"
4799
+ o.http_method = "GET"
4800
+ o.http_request_uri = "/findingAggregator/list"
4801
+ o.input = Shapes::ShapeRef.new(shape: ListFindingAggregatorsRequest)
4802
+ o.output = Shapes::ShapeRef.new(shape: ListFindingAggregatorsResponse)
4803
+ o.errors << Shapes::ShapeRef.new(shape: InternalException)
4804
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
4805
+ o.errors << Shapes::ShapeRef.new(shape: InvalidAccessException)
4806
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
4807
+ o.errors << Shapes::ShapeRef.new(shape: InvalidInputException)
4808
+ o[:pager] = Aws::Pager.new(
4809
+ limit_key: "max_results",
4810
+ tokens: {
4811
+ "next_token" => "next_token"
4812
+ }
4813
+ )
4814
+ end)
4815
+
4696
4816
  api.add_operation(:list_invitations, Seahorse::Model::Operation.new.tap do |o|
4697
4817
  o.name = "ListInvitations"
4698
4818
  o.http_method = "GET"
@@ -4793,6 +4913,20 @@ module Aws::SecurityHub
4793
4913
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
4794
4914
  end)
4795
4915
 
4916
+ api.add_operation(:update_finding_aggregator, Seahorse::Model::Operation.new.tap do |o|
4917
+ o.name = "UpdateFindingAggregator"
4918
+ o.http_method = "PATCH"
4919
+ o.http_request_uri = "/findingAggregator/update"
4920
+ o.input = Shapes::ShapeRef.new(shape: UpdateFindingAggregatorRequest)
4921
+ o.output = Shapes::ShapeRef.new(shape: UpdateFindingAggregatorResponse)
4922
+ o.errors << Shapes::ShapeRef.new(shape: InternalException)
4923
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
4924
+ o.errors << Shapes::ShapeRef.new(shape: InvalidAccessException)
4925
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
4926
+ o.errors << Shapes::ShapeRef.new(shape: InvalidInputException)
4927
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
4928
+ end)
4929
+
4796
4930
  api.add_operation(:update_findings, Seahorse::Model::Operation.new.tap do |o|
4797
4931
  o.name = "UpdateFindings"
4798
4932
  o.http_method = "PATCH"
@@ -25203,6 +25203,90 @@ module Aws::SecurityHub
25203
25203
  include Aws::Structure
25204
25204
  end
25205
25205
 
25206
+ # @note When making an API call, you may pass CreateFindingAggregatorRequest
25207
+ # data as a hash:
25208
+ #
25209
+ # {
25210
+ # region_linking_mode: "NonEmptyString", # required
25211
+ # regions: ["NonEmptyString"],
25212
+ # }
25213
+ #
25214
+ # @!attribute [rw] region_linking_mode
25215
+ # Indicates whether to aggregate findings from all of the available
25216
+ # Regions in the current partition. Also determines whether to
25217
+ # automatically aggregate findings from new Regions as Security Hub
25218
+ # supports them and you opt into them.
25219
+ #
25220
+ # The selected option also determines how to use the Regions provided
25221
+ # in the Regions list.
25222
+ #
25223
+ # The options are as follows:
25224
+ #
25225
+ # * `ALL_REGIONS` - Indicates to aggregate findings from all of the
25226
+ # Regions where Security Hub is enabled. When you choose this
25227
+ # option, Security Hub also automatically aggregates findings from
25228
+ # new Regions as Security Hub supports them and you opt into them.
25229
+ #
25230
+ # * `ALL_REGIONS_EXCEPT_SPECIFIED` - Indicates to aggregate findings
25231
+ # from all of the Regions where Security Hub is enabled, except for
25232
+ # the Regions listed in the `Regions` parameter. When you choose
25233
+ # this option, Security Hub also automatically aggregates findings
25234
+ # from new Regions as Security Hub supports them and you opt into
25235
+ # them.
25236
+ #
25237
+ # * `SPECIFIED_REGIONS` - Indicates to aggregate findings only from
25238
+ # the Regions listed in the `Regions` parameter. Security Hub does
25239
+ # not automatically aggregate findings from new Regions.
25240
+ # @return [String]
25241
+ #
25242
+ # @!attribute [rw] regions
25243
+ # If `RegionLinkingMode` is `ALL_REGIONS_EXCEPT_SPECIFIED`, then this
25244
+ # is a comma-separated list of Regions that do not aggregate findings
25245
+ # to the aggregation Region.
25246
+ #
25247
+ # If `RegionLinkingMode` is `SPECIFIED_REGIONS`, then this is a
25248
+ # comma-separated list of Regions that do aggregate findings to the
25249
+ # aggregation Region.
25250
+ # @return [Array<String>]
25251
+ #
25252
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/CreateFindingAggregatorRequest AWS API Documentation
25253
+ #
25254
+ class CreateFindingAggregatorRequest < Struct.new(
25255
+ :region_linking_mode,
25256
+ :regions)
25257
+ SENSITIVE = []
25258
+ include Aws::Structure
25259
+ end
25260
+
25261
+ # @!attribute [rw] finding_aggregator_arn
25262
+ # The ARN of the finding aggregator. You use the finding aggregator
25263
+ # ARN to retrieve details for, update, and stop finding aggregation.
25264
+ # @return [String]
25265
+ #
25266
+ # @!attribute [rw] finding_aggregation_region
25267
+ # The aggregation Region.
25268
+ # @return [String]
25269
+ #
25270
+ # @!attribute [rw] region_linking_mode
25271
+ # Indicates whether to link all Regions, all Regions except for a list
25272
+ # of excluded Regions, or a list of included Regions.
25273
+ # @return [String]
25274
+ #
25275
+ # @!attribute [rw] regions
25276
+ # The list of excluded Regions or included Regions.
25277
+ # @return [Array<String>]
25278
+ #
25279
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/CreateFindingAggregatorResponse AWS API Documentation
25280
+ #
25281
+ class CreateFindingAggregatorResponse < Struct.new(
25282
+ :finding_aggregator_arn,
25283
+ :finding_aggregation_region,
25284
+ :region_linking_mode,
25285
+ :regions)
25286
+ SENSITIVE = []
25287
+ include Aws::Structure
25288
+ end
25289
+
25206
25290
  # @note When making an API call, you may pass CreateInsightRequest
25207
25291
  # data as a hash:
25208
25292
  #
@@ -26398,6 +26482,30 @@ module Aws::SecurityHub
26398
26482
  include Aws::Structure
26399
26483
  end
26400
26484
 
26485
+ # @note When making an API call, you may pass DeleteFindingAggregatorRequest
26486
+ # data as a hash:
26487
+ #
26488
+ # {
26489
+ # finding_aggregator_arn: "NonEmptyString", # required
26490
+ # }
26491
+ #
26492
+ # @!attribute [rw] finding_aggregator_arn
26493
+ # The ARN of the finding aggregator to delete. To obtain the ARN, use
26494
+ # `ListFindingAggregators`.
26495
+ # @return [String]
26496
+ #
26497
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DeleteFindingAggregatorRequest AWS API Documentation
26498
+ #
26499
+ class DeleteFindingAggregatorRequest < Struct.new(
26500
+ :finding_aggregator_arn)
26501
+ SENSITIVE = []
26502
+ include Aws::Structure
26503
+ end
26504
+
26505
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DeleteFindingAggregatorResponse AWS API Documentation
26506
+ #
26507
+ class DeleteFindingAggregatorResponse < Aws::EmptyStructure; end
26508
+
26401
26509
  # @note When making an API call, you may pass DeleteInsightRequest
26402
26510
  # data as a hash:
26403
26511
  #
@@ -27010,6 +27118,23 @@ module Aws::SecurityHub
27010
27118
  #
27011
27119
  class EnableSecurityHubResponse < Aws::EmptyStructure; end
27012
27120
 
27121
+ # A finding aggregator. A finding aggregator contains the configuration
27122
+ # for finding aggregation.
27123
+ #
27124
+ # @!attribute [rw] finding_aggregator_arn
27125
+ # The ARN of the finding aggregator. You use the finding aggregator
27126
+ # ARN to retrieve details for, update, and delete the finding
27127
+ # aggregator.
27128
+ # @return [String]
27129
+ #
27130
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/FindingAggregator AWS API Documentation
27131
+ #
27132
+ class FindingAggregator < Struct.new(
27133
+ :finding_aggregator_arn)
27134
+ SENSITIVE = []
27135
+ include Aws::Structure
27136
+ end
27137
+
27013
27138
  # In a `BatchImportFindings` request, finding providers use
27014
27139
  # `FindingProviderFields` to provide and update values for confidence,
27015
27140
  # criticality, related findings, severity, and types.
@@ -27208,6 +27333,54 @@ module Aws::SecurityHub
27208
27333
  include Aws::Structure
27209
27334
  end
27210
27335
 
27336
+ # @note When making an API call, you may pass GetFindingAggregatorRequest
27337
+ # data as a hash:
27338
+ #
27339
+ # {
27340
+ # finding_aggregator_arn: "NonEmptyString", # required
27341
+ # }
27342
+ #
27343
+ # @!attribute [rw] finding_aggregator_arn
27344
+ # The ARN of the finding aggregator to return details for. To obtain
27345
+ # the ARN, use `ListFindingAggregators`.
27346
+ # @return [String]
27347
+ #
27348
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetFindingAggregatorRequest AWS API Documentation
27349
+ #
27350
+ class GetFindingAggregatorRequest < Struct.new(
27351
+ :finding_aggregator_arn)
27352
+ SENSITIVE = []
27353
+ include Aws::Structure
27354
+ end
27355
+
27356
+ # @!attribute [rw] finding_aggregator_arn
27357
+ # The ARN of the finding aggregator.
27358
+ # @return [String]
27359
+ #
27360
+ # @!attribute [rw] finding_aggregation_region
27361
+ # The aggregation Region.
27362
+ # @return [String]
27363
+ #
27364
+ # @!attribute [rw] region_linking_mode
27365
+ # Indicates whether to link all Regions, all Regions except for a list
27366
+ # of excluded Regions, or a list of included Regions.
27367
+ # @return [String]
27368
+ #
27369
+ # @!attribute [rw] regions
27370
+ # The list of excluded Regions or included Regions.
27371
+ # @return [Array<String>]
27372
+ #
27373
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetFindingAggregatorResponse AWS API Documentation
27374
+ #
27375
+ class GetFindingAggregatorResponse < Struct.new(
27376
+ :finding_aggregator_arn,
27377
+ :finding_aggregation_region,
27378
+ :region_linking_mode,
27379
+ :regions)
27380
+ SENSITIVE = []
27381
+ include Aws::Structure
27382
+ end
27383
+
27211
27384
  # @note When making an API call, you may pass GetFindingsRequest
27212
27385
  # data as a hash:
27213
27386
  #
@@ -28500,6 +28673,54 @@ module Aws::SecurityHub
28500
28673
  include Aws::Structure
28501
28674
  end
28502
28675
 
28676
+ # @note When making an API call, you may pass ListFindingAggregatorsRequest
28677
+ # data as a hash:
28678
+ #
28679
+ # {
28680
+ # next_token: "NextToken",
28681
+ # max_results: 1,
28682
+ # }
28683
+ #
28684
+ # @!attribute [rw] next_token
28685
+ # The token returned with the previous set of results. Identifies the
28686
+ # next set of results to return.
28687
+ # @return [String]
28688
+ #
28689
+ # @!attribute [rw] max_results
28690
+ # The maximum number of results to return. This operation currently
28691
+ # only returns a single result.
28692
+ # @return [Integer]
28693
+ #
28694
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ListFindingAggregatorsRequest AWS API Documentation
28695
+ #
28696
+ class ListFindingAggregatorsRequest < Struct.new(
28697
+ :next_token,
28698
+ :max_results)
28699
+ SENSITIVE = []
28700
+ include Aws::Structure
28701
+ end
28702
+
28703
+ # @!attribute [rw] finding_aggregators
28704
+ # The list of finding aggregators. This operation currently only
28705
+ # returns a single result.
28706
+ # @return [Array<Types::FindingAggregator>]
28707
+ #
28708
+ # @!attribute [rw] next_token
28709
+ # If there are more results, this is the token to provide in the next
28710
+ # call to `ListFindingAggregators`.
28711
+ #
28712
+ # This operation currently only returns a single result.
28713
+ # @return [String]
28714
+ #
28715
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ListFindingAggregatorsResponse AWS API Documentation
28716
+ #
28717
+ class ListFindingAggregatorsResponse < Struct.new(
28718
+ :finding_aggregators,
28719
+ :next_token)
28720
+ SENSITIVE = []
28721
+ include Aws::Structure
28722
+ end
28723
+
28503
28724
  # @note When making an API call, you may pass ListInvitationsRequest
28504
28725
  # data as a hash:
28505
28726
  #
@@ -35903,6 +36124,96 @@ module Aws::SecurityHub
35903
36124
  #
35904
36125
  class UpdateActionTargetResponse < Aws::EmptyStructure; end
35905
36126
 
36127
+ # @note When making an API call, you may pass UpdateFindingAggregatorRequest
36128
+ # data as a hash:
36129
+ #
36130
+ # {
36131
+ # finding_aggregator_arn: "NonEmptyString", # required
36132
+ # region_linking_mode: "NonEmptyString", # required
36133
+ # regions: ["NonEmptyString"],
36134
+ # }
36135
+ #
36136
+ # @!attribute [rw] finding_aggregator_arn
36137
+ # The ARN of the finding aggregator. To obtain the ARN, use
36138
+ # `ListFindingAggregators`.
36139
+ # @return [String]
36140
+ #
36141
+ # @!attribute [rw] region_linking_mode
36142
+ # Indicates whether to aggregate findings from all of the available
36143
+ # Regions in the current partition. Also determines whether to
36144
+ # automatically aggregate findings from new Regions as Security Hub
36145
+ # supports them and you opt into them.
36146
+ #
36147
+ # The selected option also determines how to use the Regions provided
36148
+ # in the Regions list.
36149
+ #
36150
+ # The options are as follows:
36151
+ #
36152
+ # * `ALL_REGIONS` - Indicates to aggregate findings from all of the
36153
+ # Regions where Security Hub is enabled. When you choose this
36154
+ # option, Security Hub also automatically aggregates findings from
36155
+ # new Regions as Security Hub supports them and you opt into them.
36156
+ #
36157
+ # * `ALL_REGIONS_EXCEPT_SPECIFIED` - Indicates to aggregate findings
36158
+ # from all of the Regions where Security Hub is enabled, except for
36159
+ # the Regions listed in the `Regions` parameter. When you choose
36160
+ # this option, Security Hub also automatically aggregates findings
36161
+ # from new Regions as Security Hub supports them and you opt into
36162
+ # them.
36163
+ #
36164
+ # * `SPECIFIED_REGIONS` - Indicates to aggregate findings only from
36165
+ # the Regions listed in the `Regions` parameter. Security Hub does
36166
+ # not automatically aggregate findings from new Regions.
36167
+ # @return [String]
36168
+ #
36169
+ # @!attribute [rw] regions
36170
+ # If `RegionLinkingMode` is `ALL_REGIONS_EXCEPT_SPECIFIED`, then this
36171
+ # is a comma-separated list of Regions that do not aggregate findings
36172
+ # to the aggregation Region.
36173
+ #
36174
+ # If `RegionLinkingMode` is `SPECIFIED_REGIONS`, then this is a
36175
+ # comma-separated list of Regions that do aggregate findings to the
36176
+ # aggregation Region.
36177
+ # @return [Array<String>]
36178
+ #
36179
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateFindingAggregatorRequest AWS API Documentation
36180
+ #
36181
+ class UpdateFindingAggregatorRequest < Struct.new(
36182
+ :finding_aggregator_arn,
36183
+ :region_linking_mode,
36184
+ :regions)
36185
+ SENSITIVE = []
36186
+ include Aws::Structure
36187
+ end
36188
+
36189
+ # @!attribute [rw] finding_aggregator_arn
36190
+ # The ARN of the finding aggregator.
36191
+ # @return [String]
36192
+ #
36193
+ # @!attribute [rw] finding_aggregation_region
36194
+ # The aggregation Region.
36195
+ # @return [String]
36196
+ #
36197
+ # @!attribute [rw] region_linking_mode
36198
+ # Indicates whether to link all Regions, all Regions except for a list
36199
+ # of excluded Regions, or a list of included Regions.
36200
+ # @return [String]
36201
+ #
36202
+ # @!attribute [rw] regions
36203
+ # The list of excluded Regions or included Regions.
36204
+ # @return [Array<String>]
36205
+ #
36206
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateFindingAggregatorResponse AWS API Documentation
36207
+ #
36208
+ class UpdateFindingAggregatorResponse < Struct.new(
36209
+ :finding_aggregator_arn,
36210
+ :finding_aggregation_region,
36211
+ :region_linking_mode,
36212
+ :regions)
36213
+ SENSITIVE = []
36214
+ include Aws::Structure
36215
+ end
36216
+
35906
36217
  # @note When making an API call, you may pass UpdateFindingsRequest
35907
36218
  # data as a hash:
35908
36219
  #
@@ -48,6 +48,6 @@ require_relative 'aws-sdk-securityhub/customizations'
48
48
  # @!group service
49
49
  module Aws::SecurityHub
50
50
 
51
- GEM_VERSION = '1.54.0'
51
+ GEM_VERSION = '1.55.0'
52
52
 
53
53
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-securityhub
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.54.0
4
+ version: 1.55.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-10-18 00:00:00.000000000 Z
11
+ date: 2021-10-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core