aws-sdk-securityhub 1.54.0 → 1.58.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -119,7 +119,9 @@ module Aws::SecurityHub
119
119
  # * EC2/ECS IMDS instance profile - When used by default, the timeouts
120
120
  # are very aggressive. Construct and pass an instance of
121
121
  # `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
122
- # enable retries and extended timeouts.
122
+ # enable retries and extended timeouts. Instance profile credential
123
+ # fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED']
124
+ # to true.
123
125
  #
124
126
  # @option options [required, String] :region
125
127
  # The AWS region to connect to. The configured `:region` is
@@ -275,6 +277,15 @@ module Aws::SecurityHub
275
277
  # ** Please note ** When response stubbing is enabled, no HTTP
276
278
  # requests are made, and retries are disabled.
277
279
  #
280
+ # @option options [Boolean] :use_dualstack_endpoint
281
+ # When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
282
+ # will be used if available.
283
+ #
284
+ # @option options [Boolean] :use_fips_endpoint
285
+ # When set to `true`, fips compatible endpoints will be used if available.
286
+ # When a `fips` region is used, the region is normalized and this config
287
+ # is set to `true`.
288
+ #
278
289
  # @option options [Boolean] :validate_params (true)
279
290
  # When `true`, request parameters are validated before
280
291
  # sending the request.
@@ -441,6 +452,7 @@ module Aws::SecurityHub
441
452
  # resp.standards_subscriptions[0].standards_input #=> Hash
442
453
  # resp.standards_subscriptions[0].standards_input["NonEmptyString"] #=> String
443
454
  # resp.standards_subscriptions[0].standards_status #=> String, one of "PENDING", "READY", "FAILED", "DELETING", "INCOMPLETE"
455
+ # resp.standards_subscriptions[0].standards_status_reason.status_reason_code #=> String, one of "NO_AVAILABLE_CONFIGURATION_RECORDER", "INTERNAL_ERROR"
444
456
  #
445
457
  # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/BatchDisableStandards AWS API Documentation
446
458
  #
@@ -489,6 +501,7 @@ module Aws::SecurityHub
489
501
  # resp.standards_subscriptions[0].standards_input #=> Hash
490
502
  # resp.standards_subscriptions[0].standards_input["NonEmptyString"] #=> String
491
503
  # resp.standards_subscriptions[0].standards_status #=> String, one of "PENDING", "READY", "FAILED", "DELETING", "INCOMPLETE"
504
+ # resp.standards_subscriptions[0].standards_status_reason.status_reason_code #=> String, one of "NO_AVAILABLE_CONFIGURATION_RECORDER", "INTERNAL_ERROR"
492
505
  #
493
506
  # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/BatchEnableStandards AWS API Documentation
494
507
  #
@@ -499,10 +512,19 @@ module Aws::SecurityHub
499
512
  req.send_request(options)
500
513
  end
501
514
 
502
- # Imports security findings generated from an integrated product into
503
- # Security Hub. This action is requested by the integrated product to
515
+ # Imports security findings generated by a finding provider into
516
+ # Security Hub. This action is requested by the finding provider to
504
517
  # import its findings into Security Hub.
505
518
  #
519
+ # `BatchImportFindings` must be called by one of the following:
520
+ #
521
+ # * The account that is associated with the findings. The identifier of
522
+ # the associated account is the value of the `AwsAccountId` attribute
523
+ # for the finding.
524
+ #
525
+ # * An account that is allow-listed for an official Security Hub partner
526
+ # integration.
527
+ #
506
528
  # The maximum allowed size for a finding is 240 Kb. An error is returned
507
529
  # for any finding larger than 240 Kb.
508
530
  #
@@ -822,6 +844,34 @@ module Aws::SecurityHub
822
844
  # health_check_type: "NonEmptyString",
823
845
  # health_check_grace_period: 1,
824
846
  # created_time: "NonEmptyString",
847
+ # mixed_instances_policy: {
848
+ # instances_distribution: {
849
+ # on_demand_allocation_strategy: "NonEmptyString",
850
+ # on_demand_base_capacity: 1,
851
+ # on_demand_percentage_above_base_capacity: 1,
852
+ # spot_allocation_strategy: "NonEmptyString",
853
+ # spot_instance_pools: 1,
854
+ # spot_max_price: "NonEmptyString",
855
+ # },
856
+ # launch_template: {
857
+ # launch_template_specification: {
858
+ # launch_template_id: "NonEmptyString",
859
+ # launch_template_name: "NonEmptyString",
860
+ # version: "NonEmptyString",
861
+ # },
862
+ # overrides: [
863
+ # {
864
+ # instance_type: "NonEmptyString",
865
+ # weighted_capacity: "NonEmptyString",
866
+ # },
867
+ # ],
868
+ # },
869
+ # },
870
+ # availability_zones: [
871
+ # {
872
+ # value: "NonEmptyString",
873
+ # },
874
+ # ],
825
875
  # },
826
876
  # aws_code_build_project: {
827
877
  # encryption_key: "NonEmptyString",
@@ -1392,6 +1442,10 @@ module Aws::SecurityHub
1392
1442
  # },
1393
1443
  # ],
1394
1444
  # },
1445
+ # bucket_versioning_configuration: {
1446
+ # is_mfa_delete_enabled: false,
1447
+ # status: "NonEmptyString",
1448
+ # },
1395
1449
  # },
1396
1450
  # aws_s3_account_public_access_block: {
1397
1451
  # block_public_acls: false,
@@ -2806,6 +2860,11 @@ module Aws::SecurityHub
2806
2860
  # security_groups: ["NonEmptyString"],
2807
2861
  # spot_price: "NonEmptyString",
2808
2862
  # user_data: "NonEmptyString",
2863
+ # metadata_options: {
2864
+ # http_endpoint: "NonEmptyString",
2865
+ # http_put_response_hop_limit: 1,
2866
+ # http_tokens: "NonEmptyString",
2867
+ # },
2809
2868
  # },
2810
2869
  # aws_ec2_vpn_connection: {
2811
2870
  # vpn_connection_id: "NonEmptyString",
@@ -3015,6 +3074,157 @@ module Aws::SecurityHub
3015
3074
  # ],
3016
3075
  # },
3017
3076
  # },
3077
+ # aws_network_firewall_firewall_policy: {
3078
+ # firewall_policy: {
3079
+ # stateful_rule_group_references: [
3080
+ # {
3081
+ # resource_arn: "NonEmptyString",
3082
+ # },
3083
+ # ],
3084
+ # stateless_custom_actions: [
3085
+ # {
3086
+ # action_definition: {
3087
+ # publish_metric_action: {
3088
+ # dimensions: [
3089
+ # {
3090
+ # value: "NonEmptyString",
3091
+ # },
3092
+ # ],
3093
+ # },
3094
+ # },
3095
+ # action_name: "NonEmptyString",
3096
+ # },
3097
+ # ],
3098
+ # stateless_default_actions: ["NonEmptyString"],
3099
+ # stateless_fragment_default_actions: ["NonEmptyString"],
3100
+ # stateless_rule_group_references: [
3101
+ # {
3102
+ # priority: 1,
3103
+ # resource_arn: "NonEmptyString",
3104
+ # },
3105
+ # ],
3106
+ # },
3107
+ # firewall_policy_arn: "NonEmptyString",
3108
+ # firewall_policy_id: "NonEmptyString",
3109
+ # firewall_policy_name: "NonEmptyString",
3110
+ # description: "NonEmptyString",
3111
+ # },
3112
+ # aws_network_firewall_firewall: {
3113
+ # delete_protection: false,
3114
+ # description: "NonEmptyString",
3115
+ # firewall_arn: "NonEmptyString",
3116
+ # firewall_id: "NonEmptyString",
3117
+ # firewall_name: "NonEmptyString",
3118
+ # firewall_policy_arn: "NonEmptyString",
3119
+ # firewall_policy_change_protection: false,
3120
+ # subnet_change_protection: false,
3121
+ # subnet_mappings: [
3122
+ # {
3123
+ # subnet_id: "NonEmptyString",
3124
+ # },
3125
+ # ],
3126
+ # vpc_id: "NonEmptyString",
3127
+ # },
3128
+ # aws_network_firewall_rule_group: {
3129
+ # capacity: 1,
3130
+ # description: "NonEmptyString",
3131
+ # rule_group: {
3132
+ # rule_variables: {
3133
+ # ip_sets: {
3134
+ # definition: ["NonEmptyString"],
3135
+ # },
3136
+ # port_sets: {
3137
+ # definition: ["NonEmptyString"],
3138
+ # },
3139
+ # },
3140
+ # rules_source: {
3141
+ # rules_source_list: {
3142
+ # generated_rules_type: "NonEmptyString",
3143
+ # target_types: ["NonEmptyString"],
3144
+ # targets: ["NonEmptyString"],
3145
+ # },
3146
+ # rules_string: "NonEmptyString",
3147
+ # stateful_rules: [
3148
+ # {
3149
+ # action: "NonEmptyString",
3150
+ # header: {
3151
+ # destination: "NonEmptyString",
3152
+ # destination_port: "NonEmptyString",
3153
+ # direction: "NonEmptyString",
3154
+ # protocol: "NonEmptyString",
3155
+ # source: "NonEmptyString",
3156
+ # source_port: "NonEmptyString",
3157
+ # },
3158
+ # rule_options: [
3159
+ # {
3160
+ # keyword: "NonEmptyString",
3161
+ # settings: ["NonEmptyString"],
3162
+ # },
3163
+ # ],
3164
+ # },
3165
+ # ],
3166
+ # stateless_rules_and_custom_actions: {
3167
+ # custom_actions: [
3168
+ # {
3169
+ # action_definition: {
3170
+ # publish_metric_action: {
3171
+ # dimensions: [
3172
+ # {
3173
+ # value: "NonEmptyString",
3174
+ # },
3175
+ # ],
3176
+ # },
3177
+ # },
3178
+ # action_name: "NonEmptyString",
3179
+ # },
3180
+ # ],
3181
+ # stateless_rules: [
3182
+ # {
3183
+ # priority: 1,
3184
+ # rule_definition: {
3185
+ # actions: ["NonEmptyString"],
3186
+ # match_attributes: {
3187
+ # destination_ports: [
3188
+ # {
3189
+ # from_port: 1,
3190
+ # to_port: 1,
3191
+ # },
3192
+ # ],
3193
+ # destinations: [
3194
+ # {
3195
+ # address_definition: "NonEmptyString",
3196
+ # },
3197
+ # ],
3198
+ # protocols: [1],
3199
+ # source_ports: [
3200
+ # {
3201
+ # from_port: 1,
3202
+ # to_port: 1,
3203
+ # },
3204
+ # ],
3205
+ # sources: [
3206
+ # {
3207
+ # address_definition: "NonEmptyString",
3208
+ # },
3209
+ # ],
3210
+ # tcp_flags: [
3211
+ # {
3212
+ # flags: ["NonEmptyString"],
3213
+ # masks: ["NonEmptyString"],
3214
+ # },
3215
+ # ],
3216
+ # },
3217
+ # },
3218
+ # },
3219
+ # ],
3220
+ # },
3221
+ # },
3222
+ # },
3223
+ # rule_group_arn: "NonEmptyString",
3224
+ # rule_group_id: "NonEmptyString",
3225
+ # rule_group_name: "NonEmptyString",
3226
+ # type: "NonEmptyString",
3227
+ # },
3018
3228
  # },
3019
3229
  # },
3020
3230
  # ],
@@ -3454,6 +3664,80 @@ module Aws::SecurityHub
3454
3664
  req.send_request(options)
3455
3665
  end
3456
3666
 
3667
+ # Used to enable finding aggregation. Must be called from the
3668
+ # aggregation Region.
3669
+ #
3670
+ # For more details about cross-Region replication, see [Configuring
3671
+ # finding
3672
+ # aggregation](securityhub/latest/userguide/finding-aggregation.html) in
3673
+ # the *Security Hub User Guide*.
3674
+ #
3675
+ # @option params [required, String] :region_linking_mode
3676
+ # Indicates whether to aggregate findings from all of the available
3677
+ # Regions in the current partition. Also determines whether to
3678
+ # automatically aggregate findings from new Regions as Security Hub
3679
+ # supports them and you opt into them.
3680
+ #
3681
+ # The selected option also determines how to use the Regions provided in
3682
+ # the Regions list.
3683
+ #
3684
+ # The options are as follows:
3685
+ #
3686
+ # * `ALL_REGIONS` - Indicates to aggregate findings from all of the
3687
+ # Regions where Security Hub is enabled. When you choose this option,
3688
+ # Security Hub also automatically aggregates findings from new Regions
3689
+ # as Security Hub supports them and you opt into them.
3690
+ #
3691
+ # * `ALL_REGIONS_EXCEPT_SPECIFIED` - Indicates to aggregate findings
3692
+ # from all of the Regions where Security Hub is enabled, except for
3693
+ # the Regions listed in the `Regions` parameter. When you choose this
3694
+ # option, Security Hub also automatically aggregates findings from new
3695
+ # Regions as Security Hub supports them and you opt into them.
3696
+ #
3697
+ # * `SPECIFIED_REGIONS` - Indicates to aggregate findings only from the
3698
+ # Regions listed in the `Regions` parameter. Security Hub does not
3699
+ # automatically aggregate findings from new Regions.
3700
+ #
3701
+ # @option params [Array<String>] :regions
3702
+ # If `RegionLinkingMode` is `ALL_REGIONS_EXCEPT_SPECIFIED`, then this is
3703
+ # a comma-separated list of Regions that do not aggregate findings to
3704
+ # the aggregation Region.
3705
+ #
3706
+ # If `RegionLinkingMode` is `SPECIFIED_REGIONS`, then this is a
3707
+ # comma-separated list of Regions that do aggregate findings to the
3708
+ # aggregation Region.
3709
+ #
3710
+ # @return [Types::CreateFindingAggregatorResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3711
+ #
3712
+ # * {Types::CreateFindingAggregatorResponse#finding_aggregator_arn #finding_aggregator_arn} => String
3713
+ # * {Types::CreateFindingAggregatorResponse#finding_aggregation_region #finding_aggregation_region} => String
3714
+ # * {Types::CreateFindingAggregatorResponse#region_linking_mode #region_linking_mode} => String
3715
+ # * {Types::CreateFindingAggregatorResponse#regions #regions} => Array&lt;String&gt;
3716
+ #
3717
+ # @example Request syntax with placeholder values
3718
+ #
3719
+ # resp = client.create_finding_aggregator({
3720
+ # region_linking_mode: "NonEmptyString", # required
3721
+ # regions: ["NonEmptyString"],
3722
+ # })
3723
+ #
3724
+ # @example Response structure
3725
+ #
3726
+ # resp.finding_aggregator_arn #=> String
3727
+ # resp.finding_aggregation_region #=> String
3728
+ # resp.region_linking_mode #=> String
3729
+ # resp.regions #=> Array
3730
+ # resp.regions[0] #=> String
3731
+ #
3732
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/CreateFindingAggregator AWS API Documentation
3733
+ #
3734
+ # @overload create_finding_aggregator(params = {})
3735
+ # @param [Hash] params ({})
3736
+ def create_finding_aggregator(params = {}, options = {})
3737
+ req = build_request(:create_finding_aggregator, params)
3738
+ req.send_request(options)
3739
+ end
3740
+
3457
3741
  # Creates a custom insight in Security Hub. An insight is a
3458
3742
  # consolidation of findings that relate to a security issue that
3459
3743
  # requires attention or remediation.
@@ -4266,6 +4550,35 @@ module Aws::SecurityHub
4266
4550
  req.send_request(options)
4267
4551
  end
4268
4552
 
4553
+ # Deletes a finding aggregator. When you delete the finding aggregator,
4554
+ # you stop finding aggregation.
4555
+ #
4556
+ # When you stop finding aggregation, findings that were already
4557
+ # aggregated to the aggregation Region are still visible from the
4558
+ # aggregation Region. New findings and finding updates are not
4559
+ # aggregated.
4560
+ #
4561
+ # @option params [required, String] :finding_aggregator_arn
4562
+ # The ARN of the finding aggregator to delete. To obtain the ARN, use
4563
+ # `ListFindingAggregators`.
4564
+ #
4565
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
4566
+ #
4567
+ # @example Request syntax with placeholder values
4568
+ #
4569
+ # resp = client.delete_finding_aggregator({
4570
+ # finding_aggregator_arn: "NonEmptyString", # required
4571
+ # })
4572
+ #
4573
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DeleteFindingAggregator AWS API Documentation
4574
+ #
4575
+ # @overload delete_finding_aggregator(params = {})
4576
+ # @param [Hash] params ({})
4577
+ def delete_finding_aggregator(params = {}, options = {})
4578
+ req = build_request(:delete_finding_aggregator, params)
4579
+ req.send_request(options)
4580
+ end
4581
+
4269
4582
  # Deletes the insight specified by the `InsightArn`.
4270
4583
  #
4271
4584
  # @option params [required, String] :insight_arn
@@ -4976,6 +5289,7 @@ module Aws::SecurityHub
4976
5289
  # resp.standards_subscriptions[0].standards_input #=> Hash
4977
5290
  # resp.standards_subscriptions[0].standards_input["NonEmptyString"] #=> String
4978
5291
  # resp.standards_subscriptions[0].standards_status #=> String, one of "PENDING", "READY", "FAILED", "DELETING", "INCOMPLETE"
5292
+ # resp.standards_subscriptions[0].standards_status_reason.status_reason_code #=> String, one of "NO_AVAILABLE_CONFIGURATION_RECORDER", "INTERNAL_ERROR"
4979
5293
  # resp.next_token #=> String
4980
5294
  #
4981
5295
  # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetEnabledStandards AWS API Documentation
@@ -4987,8 +5301,48 @@ module Aws::SecurityHub
4987
5301
  req.send_request(options)
4988
5302
  end
4989
5303
 
5304
+ # Returns the current finding aggregation configuration.
5305
+ #
5306
+ # @option params [required, String] :finding_aggregator_arn
5307
+ # The ARN of the finding aggregator to return details for. To obtain the
5308
+ # ARN, use `ListFindingAggregators`.
5309
+ #
5310
+ # @return [Types::GetFindingAggregatorResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5311
+ #
5312
+ # * {Types::GetFindingAggregatorResponse#finding_aggregator_arn #finding_aggregator_arn} => String
5313
+ # * {Types::GetFindingAggregatorResponse#finding_aggregation_region #finding_aggregation_region} => String
5314
+ # * {Types::GetFindingAggregatorResponse#region_linking_mode #region_linking_mode} => String
5315
+ # * {Types::GetFindingAggregatorResponse#regions #regions} => Array&lt;String&gt;
5316
+ #
5317
+ # @example Request syntax with placeholder values
5318
+ #
5319
+ # resp = client.get_finding_aggregator({
5320
+ # finding_aggregator_arn: "NonEmptyString", # required
5321
+ # })
5322
+ #
5323
+ # @example Response structure
5324
+ #
5325
+ # resp.finding_aggregator_arn #=> String
5326
+ # resp.finding_aggregation_region #=> String
5327
+ # resp.region_linking_mode #=> String
5328
+ # resp.regions #=> Array
5329
+ # resp.regions[0] #=> String
5330
+ #
5331
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetFindingAggregator AWS API Documentation
5332
+ #
5333
+ # @overload get_finding_aggregator(params = {})
5334
+ # @param [Hash] params ({})
5335
+ def get_finding_aggregator(params = {}, options = {})
5336
+ req = build_request(:get_finding_aggregator, params)
5337
+ req.send_request(options)
5338
+ end
5339
+
4990
5340
  # Returns a list of findings that match the specified criteria.
4991
5341
  #
5342
+ # If finding aggregation is enabled, then when you call `GetFindings`
5343
+ # from the aggregation Region, the results include all of the matching
5344
+ # findings from both the aggregation Region and the linked Regions.
5345
+ #
4992
5346
  # @option params [Types::AwsSecurityFindingFilters] :filters
4993
5347
  # The finding attributes used to define a condition to filter the
4994
5348
  # returned findings.
@@ -5818,6 +6172,20 @@ module Aws::SecurityHub
5818
6172
  # resp.findings[0].resources[0].details.aws_auto_scaling_auto_scaling_group.health_check_type #=> String
5819
6173
  # resp.findings[0].resources[0].details.aws_auto_scaling_auto_scaling_group.health_check_grace_period #=> Integer
5820
6174
  # resp.findings[0].resources[0].details.aws_auto_scaling_auto_scaling_group.created_time #=> String
6175
+ # resp.findings[0].resources[0].details.aws_auto_scaling_auto_scaling_group.mixed_instances_policy.instances_distribution.on_demand_allocation_strategy #=> String
6176
+ # resp.findings[0].resources[0].details.aws_auto_scaling_auto_scaling_group.mixed_instances_policy.instances_distribution.on_demand_base_capacity #=> Integer
6177
+ # resp.findings[0].resources[0].details.aws_auto_scaling_auto_scaling_group.mixed_instances_policy.instances_distribution.on_demand_percentage_above_base_capacity #=> Integer
6178
+ # resp.findings[0].resources[0].details.aws_auto_scaling_auto_scaling_group.mixed_instances_policy.instances_distribution.spot_allocation_strategy #=> String
6179
+ # resp.findings[0].resources[0].details.aws_auto_scaling_auto_scaling_group.mixed_instances_policy.instances_distribution.spot_instance_pools #=> Integer
6180
+ # resp.findings[0].resources[0].details.aws_auto_scaling_auto_scaling_group.mixed_instances_policy.instances_distribution.spot_max_price #=> String
6181
+ # resp.findings[0].resources[0].details.aws_auto_scaling_auto_scaling_group.mixed_instances_policy.launch_template.launch_template_specification.launch_template_id #=> String
6182
+ # resp.findings[0].resources[0].details.aws_auto_scaling_auto_scaling_group.mixed_instances_policy.launch_template.launch_template_specification.launch_template_name #=> String
6183
+ # resp.findings[0].resources[0].details.aws_auto_scaling_auto_scaling_group.mixed_instances_policy.launch_template.launch_template_specification.version #=> String
6184
+ # resp.findings[0].resources[0].details.aws_auto_scaling_auto_scaling_group.mixed_instances_policy.launch_template.overrides #=> Array
6185
+ # resp.findings[0].resources[0].details.aws_auto_scaling_auto_scaling_group.mixed_instances_policy.launch_template.overrides[0].instance_type #=> String
6186
+ # resp.findings[0].resources[0].details.aws_auto_scaling_auto_scaling_group.mixed_instances_policy.launch_template.overrides[0].weighted_capacity #=> String
6187
+ # resp.findings[0].resources[0].details.aws_auto_scaling_auto_scaling_group.availability_zones #=> Array
6188
+ # resp.findings[0].resources[0].details.aws_auto_scaling_auto_scaling_group.availability_zones[0].value #=> String
5821
6189
  # resp.findings[0].resources[0].details.aws_code_build_project.encryption_key #=> String
5822
6190
  # resp.findings[0].resources[0].details.aws_code_build_project.artifacts #=> Array
5823
6191
  # resp.findings[0].resources[0].details.aws_code_build_project.artifacts[0].artifact_identifier #=> String
@@ -6160,6 +6528,8 @@ module Aws::SecurityHub
6160
6528
  # resp.findings[0].resources[0].details.aws_s3_bucket.bucket_notification_configuration.configurations[0].filter.s3_key_filter.filter_rules[0].value #=> String
6161
6529
  # resp.findings[0].resources[0].details.aws_s3_bucket.bucket_notification_configuration.configurations[0].destination #=> String
6162
6530
  # resp.findings[0].resources[0].details.aws_s3_bucket.bucket_notification_configuration.configurations[0].type #=> String
6531
+ # resp.findings[0].resources[0].details.aws_s3_bucket.bucket_versioning_configuration.is_mfa_delete_enabled #=> Boolean
6532
+ # resp.findings[0].resources[0].details.aws_s3_bucket.bucket_versioning_configuration.status #=> String
6163
6533
  # resp.findings[0].resources[0].details.aws_s3_account_public_access_block.block_public_acls #=> Boolean
6164
6534
  # resp.findings[0].resources[0].details.aws_s3_account_public_access_block.block_public_policy #=> Boolean
6165
6535
  # resp.findings[0].resources[0].details.aws_s3_account_public_access_block.ignore_public_acls #=> Boolean
@@ -7149,6 +7519,9 @@ module Aws::SecurityHub
7149
7519
  # resp.findings[0].resources[0].details.aws_auto_scaling_launch_configuration.security_groups[0] #=> String
7150
7520
  # resp.findings[0].resources[0].details.aws_auto_scaling_launch_configuration.spot_price #=> String
7151
7521
  # resp.findings[0].resources[0].details.aws_auto_scaling_launch_configuration.user_data #=> String
7522
+ # resp.findings[0].resources[0].details.aws_auto_scaling_launch_configuration.metadata_options.http_endpoint #=> String
7523
+ # resp.findings[0].resources[0].details.aws_auto_scaling_launch_configuration.metadata_options.http_put_response_hop_limit #=> Integer
7524
+ # resp.findings[0].resources[0].details.aws_auto_scaling_launch_configuration.metadata_options.http_tokens #=> String
7152
7525
  # resp.findings[0].resources[0].details.aws_ec2_vpn_connection.vpn_connection_id #=> String
7153
7526
  # resp.findings[0].resources[0].details.aws_ec2_vpn_connection.state #=> String
7154
7527
  # resp.findings[0].resources[0].details.aws_ec2_vpn_connection.customer_gateway_id #=> String
@@ -7302,6 +7675,87 @@ module Aws::SecurityHub
7302
7675
  # resp.findings[0].resources[0].details.aws_eks_cluster.logging.cluster_logging[0].enabled #=> Boolean
7303
7676
  # resp.findings[0].resources[0].details.aws_eks_cluster.logging.cluster_logging[0].types #=> Array
7304
7677
  # resp.findings[0].resources[0].details.aws_eks_cluster.logging.cluster_logging[0].types[0] #=> String
7678
+ # resp.findings[0].resources[0].details.aws_network_firewall_firewall_policy.firewall_policy.stateful_rule_group_references #=> Array
7679
+ # resp.findings[0].resources[0].details.aws_network_firewall_firewall_policy.firewall_policy.stateful_rule_group_references[0].resource_arn #=> String
7680
+ # resp.findings[0].resources[0].details.aws_network_firewall_firewall_policy.firewall_policy.stateless_custom_actions #=> Array
7681
+ # resp.findings[0].resources[0].details.aws_network_firewall_firewall_policy.firewall_policy.stateless_custom_actions[0].action_definition.publish_metric_action.dimensions #=> Array
7682
+ # resp.findings[0].resources[0].details.aws_network_firewall_firewall_policy.firewall_policy.stateless_custom_actions[0].action_definition.publish_metric_action.dimensions[0].value #=> String
7683
+ # resp.findings[0].resources[0].details.aws_network_firewall_firewall_policy.firewall_policy.stateless_custom_actions[0].action_name #=> String
7684
+ # resp.findings[0].resources[0].details.aws_network_firewall_firewall_policy.firewall_policy.stateless_default_actions #=> Array
7685
+ # resp.findings[0].resources[0].details.aws_network_firewall_firewall_policy.firewall_policy.stateless_default_actions[0] #=> String
7686
+ # resp.findings[0].resources[0].details.aws_network_firewall_firewall_policy.firewall_policy.stateless_fragment_default_actions #=> Array
7687
+ # resp.findings[0].resources[0].details.aws_network_firewall_firewall_policy.firewall_policy.stateless_fragment_default_actions[0] #=> String
7688
+ # resp.findings[0].resources[0].details.aws_network_firewall_firewall_policy.firewall_policy.stateless_rule_group_references #=> Array
7689
+ # resp.findings[0].resources[0].details.aws_network_firewall_firewall_policy.firewall_policy.stateless_rule_group_references[0].priority #=> Integer
7690
+ # resp.findings[0].resources[0].details.aws_network_firewall_firewall_policy.firewall_policy.stateless_rule_group_references[0].resource_arn #=> String
7691
+ # resp.findings[0].resources[0].details.aws_network_firewall_firewall_policy.firewall_policy_arn #=> String
7692
+ # resp.findings[0].resources[0].details.aws_network_firewall_firewall_policy.firewall_policy_id #=> String
7693
+ # resp.findings[0].resources[0].details.aws_network_firewall_firewall_policy.firewall_policy_name #=> String
7694
+ # resp.findings[0].resources[0].details.aws_network_firewall_firewall_policy.description #=> String
7695
+ # resp.findings[0].resources[0].details.aws_network_firewall_firewall.delete_protection #=> Boolean
7696
+ # resp.findings[0].resources[0].details.aws_network_firewall_firewall.description #=> String
7697
+ # resp.findings[0].resources[0].details.aws_network_firewall_firewall.firewall_arn #=> String
7698
+ # resp.findings[0].resources[0].details.aws_network_firewall_firewall.firewall_id #=> String
7699
+ # resp.findings[0].resources[0].details.aws_network_firewall_firewall.firewall_name #=> String
7700
+ # resp.findings[0].resources[0].details.aws_network_firewall_firewall.firewall_policy_arn #=> String
7701
+ # resp.findings[0].resources[0].details.aws_network_firewall_firewall.firewall_policy_change_protection #=> Boolean
7702
+ # resp.findings[0].resources[0].details.aws_network_firewall_firewall.subnet_change_protection #=> Boolean
7703
+ # resp.findings[0].resources[0].details.aws_network_firewall_firewall.subnet_mappings #=> Array
7704
+ # resp.findings[0].resources[0].details.aws_network_firewall_firewall.subnet_mappings[0].subnet_id #=> String
7705
+ # resp.findings[0].resources[0].details.aws_network_firewall_firewall.vpc_id #=> String
7706
+ # resp.findings[0].resources[0].details.aws_network_firewall_rule_group.capacity #=> Integer
7707
+ # resp.findings[0].resources[0].details.aws_network_firewall_rule_group.description #=> String
7708
+ # resp.findings[0].resources[0].details.aws_network_firewall_rule_group.rule_group.rule_variables.ip_sets.definition #=> Array
7709
+ # resp.findings[0].resources[0].details.aws_network_firewall_rule_group.rule_group.rule_variables.ip_sets.definition[0] #=> String
7710
+ # resp.findings[0].resources[0].details.aws_network_firewall_rule_group.rule_group.rule_variables.port_sets.definition #=> Array
7711
+ # resp.findings[0].resources[0].details.aws_network_firewall_rule_group.rule_group.rule_variables.port_sets.definition[0] #=> String
7712
+ # resp.findings[0].resources[0].details.aws_network_firewall_rule_group.rule_group.rules_source.rules_source_list.generated_rules_type #=> String
7713
+ # resp.findings[0].resources[0].details.aws_network_firewall_rule_group.rule_group.rules_source.rules_source_list.target_types #=> Array
7714
+ # resp.findings[0].resources[0].details.aws_network_firewall_rule_group.rule_group.rules_source.rules_source_list.target_types[0] #=> String
7715
+ # resp.findings[0].resources[0].details.aws_network_firewall_rule_group.rule_group.rules_source.rules_source_list.targets #=> Array
7716
+ # resp.findings[0].resources[0].details.aws_network_firewall_rule_group.rule_group.rules_source.rules_source_list.targets[0] #=> String
7717
+ # resp.findings[0].resources[0].details.aws_network_firewall_rule_group.rule_group.rules_source.rules_string #=> String
7718
+ # resp.findings[0].resources[0].details.aws_network_firewall_rule_group.rule_group.rules_source.stateful_rules #=> Array
7719
+ # resp.findings[0].resources[0].details.aws_network_firewall_rule_group.rule_group.rules_source.stateful_rules[0].action #=> String
7720
+ # resp.findings[0].resources[0].details.aws_network_firewall_rule_group.rule_group.rules_source.stateful_rules[0].header.destination #=> String
7721
+ # resp.findings[0].resources[0].details.aws_network_firewall_rule_group.rule_group.rules_source.stateful_rules[0].header.destination_port #=> String
7722
+ # resp.findings[0].resources[0].details.aws_network_firewall_rule_group.rule_group.rules_source.stateful_rules[0].header.direction #=> String
7723
+ # resp.findings[0].resources[0].details.aws_network_firewall_rule_group.rule_group.rules_source.stateful_rules[0].header.protocol #=> String
7724
+ # resp.findings[0].resources[0].details.aws_network_firewall_rule_group.rule_group.rules_source.stateful_rules[0].header.source #=> String
7725
+ # resp.findings[0].resources[0].details.aws_network_firewall_rule_group.rule_group.rules_source.stateful_rules[0].header.source_port #=> String
7726
+ # resp.findings[0].resources[0].details.aws_network_firewall_rule_group.rule_group.rules_source.stateful_rules[0].rule_options #=> Array
7727
+ # resp.findings[0].resources[0].details.aws_network_firewall_rule_group.rule_group.rules_source.stateful_rules[0].rule_options[0].keyword #=> String
7728
+ # resp.findings[0].resources[0].details.aws_network_firewall_rule_group.rule_group.rules_source.stateful_rules[0].rule_options[0].settings #=> Array
7729
+ # resp.findings[0].resources[0].details.aws_network_firewall_rule_group.rule_group.rules_source.stateful_rules[0].rule_options[0].settings[0] #=> String
7730
+ # resp.findings[0].resources[0].details.aws_network_firewall_rule_group.rule_group.rules_source.stateless_rules_and_custom_actions.custom_actions #=> Array
7731
+ # resp.findings[0].resources[0].details.aws_network_firewall_rule_group.rule_group.rules_source.stateless_rules_and_custom_actions.custom_actions[0].action_definition.publish_metric_action.dimensions #=> Array
7732
+ # resp.findings[0].resources[0].details.aws_network_firewall_rule_group.rule_group.rules_source.stateless_rules_and_custom_actions.custom_actions[0].action_definition.publish_metric_action.dimensions[0].value #=> String
7733
+ # resp.findings[0].resources[0].details.aws_network_firewall_rule_group.rule_group.rules_source.stateless_rules_and_custom_actions.custom_actions[0].action_name #=> String
7734
+ # resp.findings[0].resources[0].details.aws_network_firewall_rule_group.rule_group.rules_source.stateless_rules_and_custom_actions.stateless_rules #=> Array
7735
+ # resp.findings[0].resources[0].details.aws_network_firewall_rule_group.rule_group.rules_source.stateless_rules_and_custom_actions.stateless_rules[0].priority #=> Integer
7736
+ # resp.findings[0].resources[0].details.aws_network_firewall_rule_group.rule_group.rules_source.stateless_rules_and_custom_actions.stateless_rules[0].rule_definition.actions #=> Array
7737
+ # resp.findings[0].resources[0].details.aws_network_firewall_rule_group.rule_group.rules_source.stateless_rules_and_custom_actions.stateless_rules[0].rule_definition.actions[0] #=> String
7738
+ # resp.findings[0].resources[0].details.aws_network_firewall_rule_group.rule_group.rules_source.stateless_rules_and_custom_actions.stateless_rules[0].rule_definition.match_attributes.destination_ports #=> Array
7739
+ # resp.findings[0].resources[0].details.aws_network_firewall_rule_group.rule_group.rules_source.stateless_rules_and_custom_actions.stateless_rules[0].rule_definition.match_attributes.destination_ports[0].from_port #=> Integer
7740
+ # resp.findings[0].resources[0].details.aws_network_firewall_rule_group.rule_group.rules_source.stateless_rules_and_custom_actions.stateless_rules[0].rule_definition.match_attributes.destination_ports[0].to_port #=> Integer
7741
+ # resp.findings[0].resources[0].details.aws_network_firewall_rule_group.rule_group.rules_source.stateless_rules_and_custom_actions.stateless_rules[0].rule_definition.match_attributes.destinations #=> Array
7742
+ # resp.findings[0].resources[0].details.aws_network_firewall_rule_group.rule_group.rules_source.stateless_rules_and_custom_actions.stateless_rules[0].rule_definition.match_attributes.destinations[0].address_definition #=> String
7743
+ # resp.findings[0].resources[0].details.aws_network_firewall_rule_group.rule_group.rules_source.stateless_rules_and_custom_actions.stateless_rules[0].rule_definition.match_attributes.protocols #=> Array
7744
+ # resp.findings[0].resources[0].details.aws_network_firewall_rule_group.rule_group.rules_source.stateless_rules_and_custom_actions.stateless_rules[0].rule_definition.match_attributes.protocols[0] #=> Integer
7745
+ # resp.findings[0].resources[0].details.aws_network_firewall_rule_group.rule_group.rules_source.stateless_rules_and_custom_actions.stateless_rules[0].rule_definition.match_attributes.source_ports #=> Array
7746
+ # resp.findings[0].resources[0].details.aws_network_firewall_rule_group.rule_group.rules_source.stateless_rules_and_custom_actions.stateless_rules[0].rule_definition.match_attributes.source_ports[0].from_port #=> Integer
7747
+ # resp.findings[0].resources[0].details.aws_network_firewall_rule_group.rule_group.rules_source.stateless_rules_and_custom_actions.stateless_rules[0].rule_definition.match_attributes.source_ports[0].to_port #=> Integer
7748
+ # resp.findings[0].resources[0].details.aws_network_firewall_rule_group.rule_group.rules_source.stateless_rules_and_custom_actions.stateless_rules[0].rule_definition.match_attributes.sources #=> Array
7749
+ # resp.findings[0].resources[0].details.aws_network_firewall_rule_group.rule_group.rules_source.stateless_rules_and_custom_actions.stateless_rules[0].rule_definition.match_attributes.sources[0].address_definition #=> String
7750
+ # resp.findings[0].resources[0].details.aws_network_firewall_rule_group.rule_group.rules_source.stateless_rules_and_custom_actions.stateless_rules[0].rule_definition.match_attributes.tcp_flags #=> Array
7751
+ # resp.findings[0].resources[0].details.aws_network_firewall_rule_group.rule_group.rules_source.stateless_rules_and_custom_actions.stateless_rules[0].rule_definition.match_attributes.tcp_flags[0].flags #=> Array
7752
+ # resp.findings[0].resources[0].details.aws_network_firewall_rule_group.rule_group.rules_source.stateless_rules_and_custom_actions.stateless_rules[0].rule_definition.match_attributes.tcp_flags[0].flags[0] #=> String
7753
+ # resp.findings[0].resources[0].details.aws_network_firewall_rule_group.rule_group.rules_source.stateless_rules_and_custom_actions.stateless_rules[0].rule_definition.match_attributes.tcp_flags[0].masks #=> Array
7754
+ # resp.findings[0].resources[0].details.aws_network_firewall_rule_group.rule_group.rules_source.stateless_rules_and_custom_actions.stateless_rules[0].rule_definition.match_attributes.tcp_flags[0].masks[0] #=> String
7755
+ # resp.findings[0].resources[0].details.aws_network_firewall_rule_group.rule_group_arn #=> String
7756
+ # resp.findings[0].resources[0].details.aws_network_firewall_rule_group.rule_group_id #=> String
7757
+ # resp.findings[0].resources[0].details.aws_network_firewall_rule_group.rule_group_name #=> String
7758
+ # resp.findings[0].resources[0].details.aws_network_firewall_rule_group.type #=> String
7305
7759
  # resp.findings[0].compliance.status #=> String, one of "PASSED", "WARNING", "FAILED", "NOT_AVAILABLE"
7306
7760
  # resp.findings[0].compliance.related_requirements #=> Array
7307
7761
  # resp.findings[0].compliance.related_requirements[0] #=> String
@@ -8016,6 +8470,47 @@ module Aws::SecurityHub
8016
8470
  req.send_request(options)
8017
8471
  end
8018
8472
 
8473
+ # If finding aggregation is enabled, then `ListFindingAggregators`
8474
+ # returns the ARN of the finding aggregator. You can run this operation
8475
+ # from any Region.
8476
+ #
8477
+ # @option params [String] :next_token
8478
+ # The token returned with the previous set of results. Identifies the
8479
+ # next set of results to return.
8480
+ #
8481
+ # @option params [Integer] :max_results
8482
+ # The maximum number of results to return. This operation currently only
8483
+ # returns a single result.
8484
+ #
8485
+ # @return [Types::ListFindingAggregatorsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
8486
+ #
8487
+ # * {Types::ListFindingAggregatorsResponse#finding_aggregators #finding_aggregators} => Array&lt;Types::FindingAggregator&gt;
8488
+ # * {Types::ListFindingAggregatorsResponse#next_token #next_token} => String
8489
+ #
8490
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
8491
+ #
8492
+ # @example Request syntax with placeholder values
8493
+ #
8494
+ # resp = client.list_finding_aggregators({
8495
+ # next_token: "NextToken",
8496
+ # max_results: 1,
8497
+ # })
8498
+ #
8499
+ # @example Response structure
8500
+ #
8501
+ # resp.finding_aggregators #=> Array
8502
+ # resp.finding_aggregators[0].finding_aggregator_arn #=> String
8503
+ # resp.next_token #=> String
8504
+ #
8505
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ListFindingAggregators AWS API Documentation
8506
+ #
8507
+ # @overload list_finding_aggregators(params = {})
8508
+ # @param [Hash] params ({})
8509
+ def list_finding_aggregators(params = {}, options = {})
8510
+ req = build_request(:list_finding_aggregators, params)
8511
+ req.send_request(options)
8512
+ end
8513
+
8019
8514
  # Lists all Security Hub membership invitations that were sent to the
8020
8515
  # current Amazon Web Services account.
8021
8516
  #
@@ -8292,6 +8787,84 @@ module Aws::SecurityHub
8292
8787
  req.send_request(options)
8293
8788
  end
8294
8789
 
8790
+ # Updates the finding aggregation configuration. Used to update the
8791
+ # Region linking mode and the list of included or excluded Regions. You
8792
+ # cannot use `UpdateFindingAggregator` to change the aggregation Region.
8793
+ #
8794
+ # You must run `UpdateFindingAggregator` from the current aggregation
8795
+ # Region.
8796
+ #
8797
+ # @option params [required, String] :finding_aggregator_arn
8798
+ # The ARN of the finding aggregator. To obtain the ARN, use
8799
+ # `ListFindingAggregators`.
8800
+ #
8801
+ # @option params [required, String] :region_linking_mode
8802
+ # Indicates whether to aggregate findings from all of the available
8803
+ # Regions in the current partition. Also determines whether to
8804
+ # automatically aggregate findings from new Regions as Security Hub
8805
+ # supports them and you opt into them.
8806
+ #
8807
+ # The selected option also determines how to use the Regions provided in
8808
+ # the Regions list.
8809
+ #
8810
+ # The options are as follows:
8811
+ #
8812
+ # * `ALL_REGIONS` - Indicates to aggregate findings from all of the
8813
+ # Regions where Security Hub is enabled. When you choose this option,
8814
+ # Security Hub also automatically aggregates findings from new Regions
8815
+ # as Security Hub supports them and you opt into them.
8816
+ #
8817
+ # * `ALL_REGIONS_EXCEPT_SPECIFIED` - Indicates to aggregate findings
8818
+ # from all of the Regions where Security Hub is enabled, except for
8819
+ # the Regions listed in the `Regions` parameter. When you choose this
8820
+ # option, Security Hub also automatically aggregates findings from new
8821
+ # Regions as Security Hub supports them and you opt into them.
8822
+ #
8823
+ # * `SPECIFIED_REGIONS` - Indicates to aggregate findings only from the
8824
+ # Regions listed in the `Regions` parameter. Security Hub does not
8825
+ # automatically aggregate findings from new Regions.
8826
+ #
8827
+ # @option params [Array<String>] :regions
8828
+ # If `RegionLinkingMode` is `ALL_REGIONS_EXCEPT_SPECIFIED`, then this is
8829
+ # a comma-separated list of Regions that do not aggregate findings to
8830
+ # the aggregation Region.
8831
+ #
8832
+ # If `RegionLinkingMode` is `SPECIFIED_REGIONS`, then this is a
8833
+ # comma-separated list of Regions that do aggregate findings to the
8834
+ # aggregation Region.
8835
+ #
8836
+ # @return [Types::UpdateFindingAggregatorResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
8837
+ #
8838
+ # * {Types::UpdateFindingAggregatorResponse#finding_aggregator_arn #finding_aggregator_arn} => String
8839
+ # * {Types::UpdateFindingAggregatorResponse#finding_aggregation_region #finding_aggregation_region} => String
8840
+ # * {Types::UpdateFindingAggregatorResponse#region_linking_mode #region_linking_mode} => String
8841
+ # * {Types::UpdateFindingAggregatorResponse#regions #regions} => Array&lt;String&gt;
8842
+ #
8843
+ # @example Request syntax with placeholder values
8844
+ #
8845
+ # resp = client.update_finding_aggregator({
8846
+ # finding_aggregator_arn: "NonEmptyString", # required
8847
+ # region_linking_mode: "NonEmptyString", # required
8848
+ # regions: ["NonEmptyString"],
8849
+ # })
8850
+ #
8851
+ # @example Response structure
8852
+ #
8853
+ # resp.finding_aggregator_arn #=> String
8854
+ # resp.finding_aggregation_region #=> String
8855
+ # resp.region_linking_mode #=> String
8856
+ # resp.regions #=> Array
8857
+ # resp.regions[0] #=> String
8858
+ #
8859
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateFindingAggregator AWS API Documentation
8860
+ #
8861
+ # @overload update_finding_aggregator(params = {})
8862
+ # @param [Hash] params ({})
8863
+ def update_finding_aggregator(params = {}, options = {})
8864
+ req = build_request(:update_finding_aggregator, params)
8865
+ req.send_request(options)
8866
+ end
8867
+
8295
8868
  # `UpdateFindings` is deprecated. Instead of `UpdateFindings`, use
8296
8869
  # `BatchUpdateFindings`.
8297
8870
  #
@@ -9700,7 +10273,7 @@ module Aws::SecurityHub
9700
10273
  params: params,
9701
10274
  config: config)
9702
10275
  context[:gem_name] = 'aws-sdk-securityhub'
9703
- context[:gem_version] = '1.54.0'
10276
+ context[:gem_version] = '1.58.0'
9704
10277
  Seahorse::Client::Request.new(handlers, context)
9705
10278
  end
9706
10279