aws-sdk-securityhub 1.54.0 → 1.55.0

Sign up to get free protection for your applications and to get access to all the features.
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