aws-sdk-securityhub 1.165.0 → 1.167.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -22565,6 +22565,36 @@ module Aws::SecurityHub
22565
22565
  include Aws::Structure
22566
22566
  end
22567
22567
 
22568
+ # @!attribute [rw] export_job_id
22569
+ # The unique identifier of the export job to cancel. This is the value
22570
+ # returned by `StartExportJobV2`.
22571
+ # @return [String]
22572
+ #
22573
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/CancelExportJobV2Request AWS API Documentation
22574
+ #
22575
+ class CancelExportJobV2Request < Struct.new(
22576
+ :export_job_id)
22577
+ SENSITIVE = []
22578
+ include Aws::Structure
22579
+ end
22580
+
22581
+ # @!attribute [rw] export_job_id
22582
+ # The unique identifier of the export job.
22583
+ # @return [String]
22584
+ #
22585
+ # @!attribute [rw] status
22586
+ # The state of the export job after the cancel request.
22587
+ # @return [String]
22588
+ #
22589
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/CancelExportJobV2Response AWS API Documentation
22590
+ #
22591
+ class CancelExportJobV2Response < Struct.new(
22592
+ :export_job_id,
22593
+ :status)
22594
+ SENSITIVE = []
22595
+ include Aws::Structure
22596
+ end
22597
+
22568
22598
  # An occurrence of sensitive data detected in a Microsoft Excel
22569
22599
  # workbook, comma-separated value (CSV) file, or tab-separated value
22570
22600
  # (TSV) file.
@@ -25300,6 +25330,235 @@ module Aws::SecurityHub
25300
25330
  include Aws::Structure
25301
25331
  end
25302
25332
 
25333
+ # Specifies where Security Hub writes the export output. This is a
25334
+ # union: you must specify exactly one member. Currently, the only
25335
+ # supported member is `S3`.
25336
+ #
25337
+ # @note ExportDestination is a union - when making an API calls you must set exactly one of the members.
25338
+ #
25339
+ # @note ExportDestination is a union - when returned from an API call exactly one value will be set and the returned type will be a subclass of ExportDestination corresponding to the set member.
25340
+ #
25341
+ # @!attribute [rw] s3
25342
+ # The Amazon Simple Storage Service (Amazon S3) bucket and Amazon Web
25343
+ # Services Key Management Service (Amazon Web Services KMS) key that
25344
+ # Security Hub uses to write the export.
25345
+ # @return [Types::S3ExportDestination]
25346
+ #
25347
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ExportDestination AWS API Documentation
25348
+ #
25349
+ class ExportDestination < Struct.new(
25350
+ :s3,
25351
+ :unknown)
25352
+ SENSITIVE = []
25353
+ include Aws::Structure
25354
+ include Aws::Structure::Union
25355
+
25356
+ class S3 < ExportDestination; end
25357
+ class Unknown < ExportDestination; end
25358
+ end
25359
+
25360
+ # Specifies what data to export and how to format it. This is a union:
25361
+ # you must specify exactly one member. Currently, the only supported
25362
+ # member is `Findings`.
25363
+ #
25364
+ # @note ExportOutput is a union - when making an API calls you must set exactly one of the members.
25365
+ #
25366
+ # @note ExportOutput is a union - when returned from an API call exactly one value will be set and the returned type will be a subclass of ExportOutput corresponding to the set member.
25367
+ #
25368
+ # @!attribute [rw] findings
25369
+ # Configures an export of Security Hub findings, including the output
25370
+ # format and any filters or selected fields.
25371
+ # @return [Types::FindingsOutput]
25372
+ #
25373
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ExportOutput AWS API Documentation
25374
+ #
25375
+ class ExportOutput < Struct.new(
25376
+ :findings,
25377
+ :unknown)
25378
+ SENSITIVE = []
25379
+ include Aws::Structure
25380
+ include Aws::Structure::Union
25381
+
25382
+ class Findings < ExportOutput; end
25383
+ class Unknown < ExportOutput; end
25384
+ end
25385
+
25386
+ # A summary of the output configuration for an export job. The populated
25387
+ # member corresponds to the data type that was exported.
25388
+ #
25389
+ # @note ExportOutputSummary is a union - when returned from an API call exactly one value will be set and the returned type will be a subclass of ExportOutputSummary corresponding to the set member.
25390
+ #
25391
+ # @!attribute [rw] findings
25392
+ # The output configuration summary for a findings export.
25393
+ # @return [Types::FindingsOutputSummary]
25394
+ #
25395
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ExportOutputSummary AWS API Documentation
25396
+ #
25397
+ class ExportOutputSummary < Struct.new(
25398
+ :findings,
25399
+ :unknown)
25400
+ SENSITIVE = []
25401
+ include Aws::Structure
25402
+ include Aws::Structure::Union
25403
+
25404
+ class Findings < ExportOutputSummary; end
25405
+ class Unknown < ExportOutputSummary; end
25406
+ end
25407
+
25408
+ # Defines the data boundary for a findings export. Scopes determine
25409
+ # which organizational units or organizations to retrieve data from.
25410
+ #
25411
+ # Only a delegated administrator can use this structure. If a delegated
25412
+ # administrator omits it, the export covers the entire organization; any
25413
+ # other caller exports only findings from its own account.
25414
+ #
25415
+ # @!attribute [rw] aws_organizations
25416
+ # A list of Organizations scopes to include in the export. Each entry
25417
+ # in the list specifies an organization or organizational unit to
25418
+ # include for the delegated administrator's account. If the list
25419
+ # specifies multiple entries, the entries are combined using OR logic.
25420
+ # @return [Array<Types::AwsOrganizationScope>]
25421
+ #
25422
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ExportScopes AWS API Documentation
25423
+ #
25424
+ class ExportScopes < Struct.new(
25425
+ :aws_organizations)
25426
+ SENSITIVE = []
25427
+ include Aws::Structure
25428
+ end
25429
+
25430
+ # A summary of an export job, as returned by `ListExportJobsV2`.
25431
+ #
25432
+ # @!attribute [rw] export_job_id
25433
+ # The unique identifier of the export job.
25434
+ # @return [String]
25435
+ #
25436
+ # @!attribute [rw] name
25437
+ # The user-provided name of the export job, if one was specified.
25438
+ # @return [String]
25439
+ #
25440
+ # @!attribute [rw] status
25441
+ # The current state of the export job.
25442
+ # @return [String]
25443
+ #
25444
+ # @!attribute [rw] data_type
25445
+ # The category of data that the export job produces.
25446
+ # @return [String]
25447
+ #
25448
+ # @!attribute [rw] output_configuration
25449
+ # The output configuration of the export job. For findings exports,
25450
+ # this reports the output format. Present only for findings exports;
25451
+ # absent for other data types.
25452
+ # @return [Types::ExportOutputSummary]
25453
+ #
25454
+ # @!attribute [rw] scopes
25455
+ # The organization scopes that the export job was started with, echoed
25456
+ # verbatim. Absent if the caller didn't supply `Scopes`.
25457
+ # @return [Types::ExportScopes]
25458
+ #
25459
+ # @!attribute [rw] destination
25460
+ # The destination that the export job writes to.
25461
+ # @return [Types::ExportDestination]
25462
+ #
25463
+ # @!attribute [rw] failure_code
25464
+ # A code that classifies why the export job failed. Present only when
25465
+ # `Status` is `FAILED`.
25466
+ # @return [String]
25467
+ #
25468
+ # @!attribute [rw] failure_message
25469
+ # A human-readable message about why the export job failed. Present
25470
+ # only when `Status` is `FAILED`.
25471
+ # @return [String]
25472
+ #
25473
+ # @!attribute [rw] started_at
25474
+ # The time when the export job was created.
25475
+ #
25476
+ # For more information about the validation and formatting of
25477
+ # timestamp fields in Security Hub, see [Timestamps][1].
25478
+ #
25479
+ #
25480
+ #
25481
+ # [1]: https://docs.aws.amazon.com/securityhub/1.0/APIReference/Welcome.html#timestamps
25482
+ # @return [Time]
25483
+ #
25484
+ # @!attribute [rw] ended_at
25485
+ # The time when the export job reached a terminal state. Absent while
25486
+ # the job is `RUNNING`.
25487
+ #
25488
+ # For more information about the validation and formatting of
25489
+ # timestamp fields in Security Hub, see [Timestamps][1].
25490
+ #
25491
+ #
25492
+ #
25493
+ # [1]: https://docs.aws.amazon.com/securityhub/1.0/APIReference/Welcome.html#timestamps
25494
+ # @return [Time]
25495
+ #
25496
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ExportSummary AWS API Documentation
25497
+ #
25498
+ class ExportSummary < Struct.new(
25499
+ :export_job_id,
25500
+ :name,
25501
+ :status,
25502
+ :data_type,
25503
+ :output_configuration,
25504
+ :scopes,
25505
+ :destination,
25506
+ :failure_code,
25507
+ :failure_message,
25508
+ :started_at,
25509
+ :ended_at)
25510
+ SENSITIVE = []
25511
+ include Aws::Structure
25512
+ end
25513
+
25514
+ # Provides details about an exposure finding and the effect the specific
25515
+ # remediation target has on it.
25516
+ #
25517
+ # @!attribute [rw] metadata_uid
25518
+ # The unique identifier (ID) of the Security Hub exposure finding,
25519
+ # found under the `metadata.uid` field of the finding.
25520
+ # @return [String]
25521
+ #
25522
+ # @!attribute [rw] title
25523
+ # The title of the exposure finding.
25524
+ # @return [String]
25525
+ #
25526
+ # @!attribute [rw] previous_severity
25527
+ # The severity of the exposure finding before the remediation target
25528
+ # is resolved.
25529
+ # @return [String]
25530
+ #
25531
+ # @!attribute [rw] projected_severity
25532
+ # The severity of the exposure finding after the remediation target is
25533
+ # resolved.
25534
+ # @return [String]
25535
+ #
25536
+ # @!attribute [rw] impact
25537
+ # The impact resolving a remediation target has on the exposure
25538
+ # finding.
25539
+ #
25540
+ # * `Reduces` specifies that resolving the remediation target lowers
25541
+ # the severity of the exposure finding, but does not resolve it.
25542
+ #
25543
+ # * `Resolves` specifies that resolving the remediation target
25544
+ # resolves the exposure finding.
25545
+ #
25546
+ # * `Unchanged` specifies that resolving the remediation target does
25547
+ # not change the severity of the exposure finding.
25548
+ # @return [String]
25549
+ #
25550
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ExposureFinding AWS API Documentation
25551
+ #
25552
+ class ExposureFinding < Struct.new(
25553
+ :metadata_uid,
25554
+ :title,
25555
+ :previous_severity,
25556
+ :projected_severity,
25557
+ :impact)
25558
+ SENSITIVE = []
25559
+ include Aws::Structure
25560
+ end
25561
+
25303
25562
  # Defines the settings and parameters required for integrating external
25304
25563
  # security tools and services.
25305
25564
  #
@@ -25683,6 +25942,69 @@ module Aws::SecurityHub
25683
25942
  include Aws::Structure
25684
25943
  end
25685
25944
 
25945
+ # The configuration for a findings export: the output format, an
25946
+ # optional set of filters, and the fields to include.
25947
+ #
25948
+ # @!attribute [rw] format
25949
+ # The output format of the export. `CSV` produces comma-separated rows
25950
+ # that are suitable for spreadsheets and analysis tools. `OCSF_JSON`
25951
+ # produces newline-delimited JSON records in the Open Cybersecurity
25952
+ # Schema Framework (OCSF) format used elsewhere in Security Hub.
25953
+ # @return [String]
25954
+ #
25955
+ # @!attribute [rw] filters
25956
+ # An optional set of OCSF finding filters that restrict which findings
25957
+ # are exported. The filter structure is the same as the one used by
25958
+ # `GetFindingsV2`. If you omit this member, Security Hub exports all
25959
+ # findings available to the caller. When echoed by `GetExportJobV2`,
25960
+ # relative date ranges are returned unresolved.
25961
+ # @return [Types::OcsfFindingFilters]
25962
+ #
25963
+ # @!attribute [rw] selected_fields
25964
+ # The OCSF finding fields to include in the export, specified as OCSF
25965
+ # field paths (for example, `finding_info.title` or `severity`). You
25966
+ # can specify from 1 to 50 fields.
25967
+ #
25968
+ # Whether this parameter is required depends on the value of `Format`:
25969
+ #
25970
+ # * `CSV` – Required. The field paths that you specify become the
25971
+ # columns of the output, in the order that you provide them. If you
25972
+ # omit this parameter, the request returns a `ValidationException`.
25973
+ #
25974
+ # * `OCSF_JSON` – Not supported. This format includes each finding in
25975
+ # full, so field selection doesn't apply. If you specify this
25976
+ # parameter, the request returns a `ValidationException`.
25977
+ # @return [Array<String>]
25978
+ #
25979
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/FindingsOutput AWS API Documentation
25980
+ #
25981
+ class FindingsOutput < Struct.new(
25982
+ :format,
25983
+ :filters,
25984
+ :selected_fields)
25985
+ SENSITIVE = []
25986
+ include Aws::Structure
25987
+ end
25988
+
25989
+ # A summary of the output configuration for a findings export, returned
25990
+ # by `ListExportJobsV2`. Unlike the configuration returned by
25991
+ # `GetExportJobV2`, it reports only the output format.
25992
+ #
25993
+ # @!attribute [rw] format
25994
+ # The output format of the export. `CSV` produces comma-separated rows
25995
+ # that are suitable for spreadsheets and analysis tools. `OCSF_JSON`
25996
+ # produces newline-delimited JSON records in the Open Cybersecurity
25997
+ # Schema Framework (OCSF) format used elsewhere in Security Hub.
25998
+ # @return [String]
25999
+ #
26000
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/FindingsOutputSummary AWS API Documentation
26001
+ #
26002
+ class FindingsOutputSummary < Struct.new(
26003
+ :format)
26004
+ SENSITIVE = []
26005
+ include Aws::Structure
26006
+ end
26007
+
25686
26008
  # A filter structure that contains a logical combination of string
25687
26009
  # filters and nested composite filters for findings trend data.
25688
26010
  #
@@ -25908,7 +26230,8 @@ module Aws::SecurityHub
25908
26230
  # @return [String]
25909
26231
  #
25910
26232
  # @!attribute [rw] status
25911
- # Whether the free trial period is currently active. Valid values:
26233
+ # Specifies whether the free trial period is currently active. Valid
26234
+ # values:
25912
26235
  #
25913
26236
  # * `ACTIVE` specifies that the free trial period is ongoing.
25914
26237
  #
@@ -26463,6 +26786,105 @@ module Aws::SecurityHub
26463
26786
  include Aws::Structure
26464
26787
  end
26465
26788
 
26789
+ # @!attribute [rw] export_job_id
26790
+ # The unique identifier of the export job to retrieve. This is the
26791
+ # value returned by `StartExportJobV2`.
26792
+ # @return [String]
26793
+ #
26794
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetExportJobV2Request AWS API Documentation
26795
+ #
26796
+ class GetExportJobV2Request < Struct.new(
26797
+ :export_job_id)
26798
+ SENSITIVE = []
26799
+ include Aws::Structure
26800
+ end
26801
+
26802
+ # @!attribute [rw] export_job_id
26803
+ # The unique identifier of the export job.
26804
+ # @return [String]
26805
+ #
26806
+ # @!attribute [rw] name
26807
+ # The user-provided name of the export job, if one was specified when
26808
+ # the job was started.
26809
+ # @return [String]
26810
+ #
26811
+ # @!attribute [rw] status
26812
+ # The current state of the export job.
26813
+ # @return [String]
26814
+ #
26815
+ # @!attribute [rw] data_type
26816
+ # The category of data that the export job produces.
26817
+ # @return [String]
26818
+ #
26819
+ # @!attribute [rw] output_configuration
26820
+ # The output configuration that the export job was started with,
26821
+ # including the format and any filters or selected fields.
26822
+ # @return [Types::ExportOutput]
26823
+ #
26824
+ # @!attribute [rw] scopes
26825
+ # The organization scopes that the export job was started with, echoed
26826
+ # verbatim. This parameter is absent if the caller didn't supply
26827
+ # `Scopes`. It contains only the organization or organizational unit
26828
+ # (OU) identifiers that the caller submitted; it never contains
26829
+ # resolved member-account identifiers.
26830
+ # @return [Types::ExportScopes]
26831
+ #
26832
+ # @!attribute [rw] destination
26833
+ # The destination that the export job writes to.
26834
+ # @return [Types::ExportDestination]
26835
+ #
26836
+ # @!attribute [rw] failure_code
26837
+ # A code that classifies why the export job failed. Present only when
26838
+ # `Status` is `FAILED`.
26839
+ # @return [String]
26840
+ #
26841
+ # @!attribute [rw] failure_message
26842
+ # A human-readable message that provides more detail about why the
26843
+ # export job failed. Present only when `Status` is `FAILED`.
26844
+ # @return [String]
26845
+ #
26846
+ # @!attribute [rw] started_at
26847
+ # The time when the export job was created.
26848
+ #
26849
+ # For more information about the validation and formatting of
26850
+ # timestamp fields in Security Hub, see [Timestamps][1].
26851
+ #
26852
+ #
26853
+ #
26854
+ # [1]: https://docs.aws.amazon.com/securityhub/1.0/APIReference/Welcome.html#timestamps
26855
+ # @return [Time]
26856
+ #
26857
+ # @!attribute [rw] ended_at
26858
+ # The time when the export job reached a terminal state (`SUCCEEDED`,
26859
+ # `FAILED`, or `CANCELLED`). This parameter is absent while the job is
26860
+ # `RUNNING`.
26861
+ #
26862
+ # For more information about the validation and formatting of
26863
+ # timestamp fields in Security Hub, see [Timestamps][1].
26864
+ #
26865
+ #
26866
+ #
26867
+ # [1]: https://docs.aws.amazon.com/securityhub/1.0/APIReference/Welcome.html#timestamps
26868
+ # @return [Time]
26869
+ #
26870
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetExportJobV2Response AWS API Documentation
26871
+ #
26872
+ class GetExportJobV2Response < Struct.new(
26873
+ :export_job_id,
26874
+ :name,
26875
+ :status,
26876
+ :data_type,
26877
+ :output_configuration,
26878
+ :scopes,
26879
+ :destination,
26880
+ :failure_code,
26881
+ :failure_message,
26882
+ :started_at,
26883
+ :ended_at)
26884
+ SENSITIVE = []
26885
+ include Aws::Structure
26886
+ end
26887
+
26466
26888
  # @!attribute [rw] finding_aggregator_arn
26467
26889
  # The ARN of the finding aggregator to return details for. To obtain
26468
26890
  # the ARN, use `ListFindingAggregators`.
@@ -27049,36 +27471,111 @@ module Aws::SecurityHub
27049
27471
  include Aws::Structure
27050
27472
  end
27051
27473
 
27052
- # @!attribute [rw] group_by_rules
27053
- # How resource statistics should be aggregated and organized in the
27054
- # response.
27055
- # @return [Array<Types::ResourceGroupByRule>]
27474
+ # @!attribute [rw] target_uid
27475
+ # The unique identifier (ID) of an existing remediation target to
27476
+ # return. Returns the single matching target. You can't use
27477
+ # `TargetUid` together with `MetadataUid` or `Filters`.
27478
+ # @return [String]
27056
27479
  #
27057
- # @!attribute [rw] scopes
27058
- # Limits the results to resources from specific organizational units
27059
- # or from the delegated administrator's organization. Only the
27060
- # delegated administrator account can use this parameter. Other
27061
- # accounts receive an `AccessDeniedException`.
27480
+ # @!attribute [rw] metadata_uid
27481
+ # The unique identifier (ID) of the Security Hub exposure finding,
27482
+ # found under the `metadata.uid` field of the finding. Returns the
27483
+ # remediation targets associated with that finding. You can't use
27484
+ # `MetadataUid` together with `TargetUid` or `Filters`.
27485
+ # @return [String]
27062
27486
  #
27063
- # This parameter is optional. If you omit it, the delegated
27064
- # administrator sees statistics from all accounts across the entire
27065
- # organization. Other accounts see only statistics for their own
27066
- # resources.
27487
+ # @!attribute [rw] filters
27488
+ # Filters remediation targets based on a set of criteria. You can't
27489
+ # use `Filters` together with `TargetUid` or `MetadataUid`.
27490
+ # @return [Types::RemediationFilters]
27067
27491
  #
27068
- # You can specify up to 10 entries in `Scopes.AwsOrganizations`. If
27069
- # multiple entries are specified, the entries are combined using OR
27070
- # logic.
27071
- # @return [Types::ResourceScopes]
27492
+ # @!attribute [rw] show_guidance
27493
+ # Specifies whether to show remediation target guidance.
27494
+ # @return [Boolean]
27072
27495
  #
27073
- # @!attribute [rw] sort_order
27074
- # Sorts aggregated statistics.
27496
+ # @!attribute [rw] guidance_format
27497
+ # The format of the remediation guidance examples to return. Valid
27498
+ # values are `All`, `AwsCli`, `Cli`, `Python`, `Terraform`, `Cdk`,
27499
+ # `CloudFormation`, `IaC`, and `Template`. If you don't specify a
27500
+ # value, all formats are returned. Applies only when `ShowGuidance` is
27501
+ # `true`.
27075
27502
  # @return [String]
27076
27503
  #
27077
- # @!attribute [rw] max_statistic_results
27078
- # The maximum number of results to be returned.
27504
+ # @!attribute [rw] max_results
27505
+ # The maximum number of results to return. Valid range is 1-100. If
27506
+ # you don't specify a value, the operation returns up to 25 results.
27079
27507
  # @return [Integer]
27080
27508
  #
27081
- # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetResourcesStatisticsV2Request AWS API Documentation
27509
+ # @!attribute [rw] next_token
27510
+ # The token used to paginate the remediations target list returned. On
27511
+ # your first call to `GetRemediationsV2`, omit this parameter or set
27512
+ # it to `NULL`. For subsequent calls, use the `NextToken` value
27513
+ # returned in the previous response to retrieve the next page of
27514
+ # results.
27515
+ # @return [String]
27516
+ #
27517
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetRemediationsV2Request AWS API Documentation
27518
+ #
27519
+ class GetRemediationsV2Request < Struct.new(
27520
+ :target_uid,
27521
+ :metadata_uid,
27522
+ :filters,
27523
+ :show_guidance,
27524
+ :guidance_format,
27525
+ :max_results,
27526
+ :next_token)
27527
+ SENSITIVE = []
27528
+ include Aws::Structure
27529
+ end
27530
+
27531
+ # @!attribute [rw] items
27532
+ # An array of remediation targets returned by the operation.
27533
+ # @return [Array<Types::RemediationV2Item>]
27534
+ #
27535
+ # @!attribute [rw] next_token
27536
+ # The pagination token to use to request the next page of results.
27537
+ # Otherwise, this parameter is null.
27538
+ # @return [String]
27539
+ #
27540
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetRemediationsV2Response AWS API Documentation
27541
+ #
27542
+ class GetRemediationsV2Response < Struct.new(
27543
+ :items,
27544
+ :next_token)
27545
+ SENSITIVE = []
27546
+ include Aws::Structure
27547
+ end
27548
+
27549
+ # @!attribute [rw] group_by_rules
27550
+ # How resource statistics should be aggregated and organized in the
27551
+ # response.
27552
+ # @return [Array<Types::ResourceGroupByRule>]
27553
+ #
27554
+ # @!attribute [rw] scopes
27555
+ # Limits the results to resources from specific organizational units
27556
+ # or from the delegated administrator's organization. Only the
27557
+ # delegated administrator account can use this parameter. Other
27558
+ # accounts receive an `AccessDeniedException`.
27559
+ #
27560
+ # This parameter is optional. If you omit it, the delegated
27561
+ # administrator sees statistics from all accounts across the entire
27562
+ # organization. Other accounts see only statistics for their own
27563
+ # resources.
27564
+ #
27565
+ # You can specify up to 10 entries in `Scopes.AwsOrganizations`. If
27566
+ # multiple entries are specified, the entries are combined using OR
27567
+ # logic.
27568
+ # @return [Types::ResourceScopes]
27569
+ #
27570
+ # @!attribute [rw] sort_order
27571
+ # Sorts aggregated statistics.
27572
+ # @return [String]
27573
+ #
27574
+ # @!attribute [rw] max_statistic_results
27575
+ # The maximum number of results to be returned.
27576
+ # @return [Integer]
27577
+ #
27578
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetResourcesStatisticsV2Request AWS API Documentation
27082
27579
  #
27083
27580
  class GetResourcesStatisticsV2Request < Struct.new(
27084
27581
  :group_by_rules,
@@ -27875,6 +28372,26 @@ module Aws::SecurityHub
27875
28372
  include Aws::Structure
27876
28373
  end
27877
28374
 
28375
+ # A knowledge base article that provides additional guidance related to
28376
+ # the remediation target.
28377
+ #
28378
+ # @!attribute [rw] title
28379
+ # The title of the `KbArticle`.
28380
+ # @return [String]
28381
+ #
28382
+ # @!attribute [rw] url
28383
+ # The URL of the `KbArticle`.
28384
+ # @return [String]
28385
+ #
28386
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/KbArticle AWS API Documentation
28387
+ #
28388
+ class KbArticle < Struct.new(
28389
+ :title,
28390
+ :url)
28391
+ SENSITIVE = []
28392
+ include Aws::Structure
28393
+ end
28394
+
27878
28395
  # A keyword filter for querying findings.
27879
28396
  #
27880
28397
  # @!attribute [rw] value
@@ -28275,6 +28792,124 @@ module Aws::SecurityHub
28275
28792
  include Aws::Structure
28276
28793
  end
28277
28794
 
28795
+ # @!attribute [rw] status
28796
+ # Filters the results to export jobs that have the specified status.
28797
+ # @return [String]
28798
+ #
28799
+ # @!attribute [rw] data_type
28800
+ # Filters the results to export jobs that produce the specified data
28801
+ # type.
28802
+ # @return [String]
28803
+ #
28804
+ # @!attribute [rw] max_results
28805
+ # The maximum number of results to return in a single call. Valid
28806
+ # range is 1–20.
28807
+ # @return [Integer]
28808
+ #
28809
+ # @!attribute [rw] next_token
28810
+ # The token required for pagination. On your first call, set the value
28811
+ # of this parameter to `NULL`. For subsequent calls, to continue
28812
+ # listing data, set the value of this parameter to the value returned
28813
+ # in the previous response.
28814
+ # @return [String]
28815
+ #
28816
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ListExportJobsV2Request AWS API Documentation
28817
+ #
28818
+ class ListExportJobsV2Request < Struct.new(
28819
+ :status,
28820
+ :data_type,
28821
+ :max_results,
28822
+ :next_token)
28823
+ SENSITIVE = []
28824
+ include Aws::Structure
28825
+ end
28826
+
28827
+ # @!attribute [rw] items
28828
+ # The export jobs that match the request, as `ExportSummary` objects.
28829
+ # @return [Array<Types::ExportSummary>]
28830
+ #
28831
+ # @!attribute [rw] next_token
28832
+ # The pagination token to use to request the next page of results.
28833
+ # Otherwise, this parameter is null.
28834
+ # @return [String]
28835
+ #
28836
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ListExportJobsV2Response AWS API Documentation
28837
+ #
28838
+ class ListExportJobsV2Response < Struct.new(
28839
+ :items,
28840
+ :next_token)
28841
+ SENSITIVE = []
28842
+ include Aws::Structure
28843
+ end
28844
+
28845
+ # @!attribute [rw] target_uid
28846
+ # The unique identifier (ID) of an existing remediation target to list
28847
+ # exposure findings for.
28848
+ # @return [String]
28849
+ #
28850
+ # @!attribute [rw] max_results
28851
+ # The maximum number of results to return. Valid range is 1-100. If
28852
+ # you don't specify a value, the operation returns up to 25 results.
28853
+ # @return [Integer]
28854
+ #
28855
+ # @!attribute [rw] next_token
28856
+ # The token used to paginate the exposures list returned. On your
28857
+ # first call to `ListExposuresByRemediationV2`, omit this parameter or
28858
+ # set it to `NULL`. For subsequent calls, use the `NextToken` value
28859
+ # returned in the previous response to retrieve the next page of
28860
+ # results.
28861
+ # @return [String]
28862
+ #
28863
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ListExposuresByRemediationV2Request AWS API Documentation
28864
+ #
28865
+ class ListExposuresByRemediationV2Request < Struct.new(
28866
+ :target_uid,
28867
+ :max_results,
28868
+ :next_token)
28869
+ SENSITIVE = []
28870
+ include Aws::Structure
28871
+ end
28872
+
28873
+ # @!attribute [rw] items
28874
+ # An array of exposure findings returned by the operation.
28875
+ # @return [Array<Types::ExposureFinding>]
28876
+ #
28877
+ # @!attribute [rw] target_uid
28878
+ # The unique identifier (ID) of the remediation target that the
28879
+ # exposure findings are associated with.
28880
+ # @return [String]
28881
+ #
28882
+ # @!attribute [rw] resource
28883
+ # Provides comprehensive details about a resource.
28884
+ # @return [Types::RemediationResource]
28885
+ #
28886
+ # @!attribute [rw] total_count
28887
+ # The total count of exposure findings associated with the remediation
28888
+ # target.
28889
+ # @return [Integer]
28890
+ #
28891
+ # @!attribute [rw] trait
28892
+ # The specific trait associated with the remediation target.
28893
+ # @return [Types::RemediationTrait]
28894
+ #
28895
+ # @!attribute [rw] next_token
28896
+ # The pagination token to use to request the next page of results.
28897
+ # Otherwise, this parameter is null.
28898
+ # @return [String]
28899
+ #
28900
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ListExposuresByRemediationV2Response AWS API Documentation
28901
+ #
28902
+ class ListExposuresByRemediationV2Response < Struct.new(
28903
+ :items,
28904
+ :target_uid,
28905
+ :resource,
28906
+ :total_count,
28907
+ :trait,
28908
+ :next_token)
28909
+ SENSITIVE = []
28910
+ include Aws::Structure
28911
+ end
28912
+
28278
28913
  # @!attribute [rw] next_token
28279
28914
  # The token returned with the previous set of results. Identifies the
28280
28915
  # next set of results to return.
@@ -30491,123 +31126,715 @@ module Aws::SecurityHub
30491
31126
  include Aws::Structure
30492
31127
  end
30493
31128
 
30494
- # A resource related to a finding.
31129
+ # Enables the creation of criteria for remediation targets.
30495
31130
  #
30496
- # @!attribute [rw] type
30497
- # The type of the resource that details are provided for. If possible,
30498
- # set `Type` to one of the supported resource types. For example, if
30499
- # the resource is an EC2 instance, then set `Type` to
30500
- # `AwsEc2Instance`.
31131
+ # @!attribute [rw] string_filters
31132
+ # Enables filtering based on string field values.
31133
+ # @return [Array<Types::RemediationStringFilter>]
30501
31134
  #
30502
- # If the resource does not match any of the provided types, then set
30503
- # `Type` to `Other`.
31135
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/RemediationCompositeFilter AWS API Documentation
30504
31136
  #
30505
- # Length Constraints: Minimum length of 1. Maximum length of 256.
30506
- # @return [String]
31137
+ class RemediationCompositeFilter < Struct.new(
31138
+ :string_filters)
31139
+ SENSITIVE = []
31140
+ include Aws::Structure
31141
+ end
31142
+
31143
+ # Contains the criteria used to filter remediation targets, such as
31144
+ # resource type, priority, or status.
30507
31145
  #
30508
- # @!attribute [rw] id
30509
- # The canonical identifier for the given resource type.
30510
- # @return [String]
31146
+ # @!attribute [rw] composite_filters
31147
+ # A collection of complex filtering conditions that can be applied to
31148
+ # remediation target data.
31149
+ # @return [Array<Types::RemediationCompositeFilter>]
30511
31150
  #
30512
- # @!attribute [rw] partition
30513
- # The canonical Amazon Web Services partition name that the Region is
30514
- # assigned to.
30515
- # @return [String]
31151
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/RemediationFilters AWS API Documentation
30516
31152
  #
30517
- # @!attribute [rw] region
30518
- # The canonical Amazon Web Services external Region name where this
30519
- # resource is located.
31153
+ class RemediationFilters < Struct.new(
31154
+ :composite_filters)
31155
+ SENSITIVE = []
31156
+ include Aws::Structure
31157
+ end
31158
+
31159
+ # A remediation guidebook outlining guidance in resolving the
31160
+ # remediation target.
30520
31161
  #
30521
- # Length Constraints: Minimum length of 1. Maximum length of 16.
31162
+ # @!attribute [rw] target_type_name
31163
+ # The name of the remediation target type.
30522
31164
  # @return [String]
30523
31165
  #
30524
- # @!attribute [rw] provider
30525
- # The cloud provider that the resource belongs to. Valid values are
30526
- # `AWS` and `Azure`.
31166
+ # @!attribute [rw] pattern
31167
+ # The remediation pattern of the remediation target.
30527
31168
  # @return [String]
30528
31169
  #
30529
- # @!attribute [rw] owner
30530
- # Information about the account and organization that own the
30531
- # resource.
30532
- # @return [Types::ResourceOwner]
30533
- #
30534
- # @!attribute [rw] resource_role
30535
- # Identifies the role of the resource in the finding. A resource is
30536
- # either the actor or target of the finding activity,
31170
+ # @!attribute [rw] version
31171
+ # The guidance version.
30537
31172
  # @return [String]
30538
31173
  #
30539
- # @!attribute [rw] tags
30540
- # A list of Amazon Web Services tags associated with a resource at the
30541
- # time the finding was processed. Tags must follow [Amazon Web
30542
- # Services tag naming limits and requirements][1].
31174
+ # @!attribute [rw] context
31175
+ # The context behind the remediation target's existence and guidance.
31176
+ # @return [Types::RemediationGuidanceContext]
30543
31177
  #
31178
+ # @!attribute [rw] specification
31179
+ # The specification of the remediation target guidance. This outlines
31180
+ # required resource parameters and permissions, remediation steps, and
31181
+ # the end state.
31182
+ # @return [Types::RemediationGuidanceSpecification]
30544
31183
  #
31184
+ # @!attribute [rw] examples
31185
+ # Provided remediation guidance examples in different formats that can
31186
+ # be run for remediating the target.
31187
+ # @return [Types::RemediationGuidanceExamples]
30545
31188
  #
30546
- # [1]: https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html#tag-conventions
30547
- # @return [Hash<String,String>]
31189
+ # @!attribute [rw] metadata
31190
+ # The metadata of the remediation guidance.
31191
+ # @return [Types::RemediationGuidanceMetadata]
30548
31192
  #
30549
- # @!attribute [rw] data_classification
30550
- # Contains information about sensitive data that was detected on the
30551
- # resource.
30552
- # @return [Types::DataClassificationDetails]
31193
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/RemediationGuidance AWS API Documentation
30553
31194
  #
30554
- # @!attribute [rw] details
30555
- # Additional details about the resource related to a finding.
30556
- # @return [Types::ResourceDetails]
31195
+ class RemediationGuidance < Struct.new(
31196
+ :target_type_name,
31197
+ :pattern,
31198
+ :version,
31199
+ :context,
31200
+ :specification,
31201
+ :examples,
31202
+ :metadata)
31203
+ SENSITIVE = []
31204
+ include Aws::Structure
31205
+ end
31206
+
31207
+ # The context behind the remediation target's existence and guidance.
30557
31208
  #
30558
- # @!attribute [rw] application_name
30559
- # The name of the application that is related to a finding.
31209
+ # @!attribute [rw] problem_statement
31210
+ # Explains the cause which directly created the remediation target.
30560
31211
  # @return [String]
30561
31212
  #
30562
- # @!attribute [rw] application_arn
30563
- # The Amazon Resource Name (ARN) of the application that is related to
30564
- # a finding.
31213
+ # @!attribute [rw] risk_assessment
31214
+ # An assessment of the existing risk the remediation target creates.
30565
31215
  # @return [String]
30566
31216
  #
30567
- # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/Resource AWS API Documentation
31217
+ # @!attribute [rw] affected_scope
31218
+ # The scope of the resources affected by the resolution of the
31219
+ # remediation target.
31220
+ # @return [String]
30568
31221
  #
30569
- class Resource < Struct.new(
30570
- :type,
30571
- :id,
30572
- :partition,
30573
- :region,
30574
- :provider,
30575
- :owner,
30576
- :resource_role,
30577
- :tags,
30578
- :data_classification,
30579
- :details,
30580
- :application_name,
30581
- :application_arn)
31222
+ # @!attribute [rw] prerequisites
31223
+ # An array of prerequisite steps in resolving the remediation target.
31224
+ # @return [Array<String>]
31225
+ #
31226
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/RemediationGuidanceContext AWS API Documentation
31227
+ #
31228
+ class RemediationGuidanceContext < Struct.new(
31229
+ :problem_statement,
31230
+ :risk_assessment,
31231
+ :affected_scope,
31232
+ :prerequisites)
30582
31233
  SENSITIVE = []
30583
31234
  include Aws::Structure
30584
31235
  end
30585
31236
 
30586
- # The resource specified in the request conflicts with an existing
30587
- # resource.
31237
+ # Provided remediation guidance examples in different formats that can
31238
+ # be run for remediating the target.
30588
31239
  #
30589
- # @!attribute [rw] message
31240
+ # @!attribute [rw] aws_cli
31241
+ # An CLI snippet version of the example.
30590
31242
  # @return [String]
30591
31243
  #
30592
- # @!attribute [rw] code
31244
+ # @!attribute [rw] cli
31245
+ # A CLI snippet version of the example.
30593
31246
  # @return [String]
30594
31247
  #
30595
- # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ResourceConflictException AWS API Documentation
31248
+ # @!attribute [rw] python
31249
+ # A Python snippet version of the example.
31250
+ # @return [String]
30596
31251
  #
30597
- class ResourceConflictException < Struct.new(
30598
- :message,
30599
- :code)
31252
+ # @!attribute [rw] terraform
31253
+ # A Terraform snippet version of the example.
31254
+ # @return [String]
31255
+ #
31256
+ # @!attribute [rw] cdk
31257
+ # A CDK snippet version of the example.
31258
+ # @return [String]
31259
+ #
31260
+ # @!attribute [rw] cloud_formation
31261
+ # A CloudFormation snippet version of the example.
31262
+ # @return [String]
31263
+ #
31264
+ # @!attribute [rw] ia_c
31265
+ # An IaC snippet version of the example.
31266
+ # @return [String]
31267
+ #
31268
+ # @!attribute [rw] template
31269
+ # A Template snippet version of the example.
31270
+ # @return [String]
31271
+ #
31272
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/RemediationGuidanceExamples AWS API Documentation
31273
+ #
31274
+ class RemediationGuidanceExamples < Struct.new(
31275
+ :aws_cli,
31276
+ :cli,
31277
+ :python,
31278
+ :terraform,
31279
+ :cdk,
31280
+ :cloud_formation,
31281
+ :ia_c,
31282
+ :template)
30600
31283
  SENSITIVE = []
30601
31284
  include Aws::Structure
30602
31285
  end
30603
31286
 
30604
- # Additional details about a resource related to a finding.
31287
+ # The metadata of the remediation guidance.
30605
31288
  #
30606
- # To provide the details, use the object that corresponds to the
30607
- # resource type. For example, if the resource type is `AwsEc2Instance`,
30608
- # then you use the `AwsEc2Instance` object to provide the details.
31289
+ # @!attribute [rw] resource_type
31290
+ # The resource type of the remediation target.
31291
+ # @return [String]
30609
31292
  #
30610
- # If the type-specific object does not contain all of the fields you
31293
+ # @!attribute [rw] exposure_type
31294
+ # The exposure type of the related exposure findings.
31295
+ # @return [String]
31296
+ #
31297
+ # @!attribute [rw] trait_titles
31298
+ # The titles of traits this guidance applies to.
31299
+ # @return [Array<String>]
31300
+ #
31301
+ # @!attribute [rw] reversibility
31302
+ # The extent to which changes made in accordance with the guidance can
31303
+ # be reversed, for example `Fully reversible`.
31304
+ # @return [String]
31305
+ #
31306
+ # @!attribute [rw] fix_effect
31307
+ # When the fix takes effect, for example `Immediate` or `Deferred`.
31308
+ # @return [String]
31309
+ #
31310
+ # @!attribute [rw] risk_level
31311
+ # The risk when implementing the guidance provided.
31312
+ # @return [String]
31313
+ #
31314
+ # @!attribute [rw] automation_level
31315
+ # The extent to which the guidance can be automated, for example
31316
+ # `Full`.
31317
+ # @return [String]
31318
+ #
31319
+ # @!attribute [rw] human_review_required
31320
+ # Specifies whether human review is required.
31321
+ # @return [Boolean]
31322
+ #
31323
+ # @!attribute [rw] generated_at
31324
+ # Timestamp of when the guidance was generated.
31325
+ #
31326
+ # For more information about the validation and formatting of
31327
+ # timestamp fields in Security Hub CSPM, see [Timestamps][1].
31328
+ #
31329
+ #
31330
+ #
31331
+ # [1]: https://docs.aws.amazon.com/securityhub/1.0/APIReference/Welcome.html#timestamps
31332
+ # @return [Time]
31333
+ #
31334
+ # @!attribute [rw] verification_status
31335
+ # Verification status of the guidance.
31336
+ # @return [String]
31337
+ #
31338
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/RemediationGuidanceMetadata AWS API Documentation
31339
+ #
31340
+ class RemediationGuidanceMetadata < Struct.new(
31341
+ :resource_type,
31342
+ :exposure_type,
31343
+ :trait_titles,
31344
+ :reversibility,
31345
+ :fix_effect,
31346
+ :risk_level,
31347
+ :automation_level,
31348
+ :human_review_required,
31349
+ :generated_at,
31350
+ :verification_status)
31351
+ SENSITIVE = []
31352
+ include Aws::Structure
31353
+ end
31354
+
31355
+ # The specification of the remediation target guidance. This outlines
31356
+ # required resource parameters and permissions, remediation steps, and
31357
+ # the end state.
31358
+ #
31359
+ # @!attribute [rw] parameters
31360
+ # An array of the parameters used in running the steps provided.
31361
+ # @return [Array<Types::RemediationParameter>]
31362
+ #
31363
+ # @!attribute [rw] steps
31364
+ # An array of ordered steps for resolving the remediation targets.
31365
+ # @return [Array<Types::RemediationStep>]
31366
+ #
31367
+ # @!attribute [rw] expected_end_state
31368
+ # The expected end state of the associated resources after completion
31369
+ # of the steps.
31370
+ # @return [String]
31371
+ #
31372
+ # @!attribute [rw] required_permissions
31373
+ # An array of required permissions to run the steps.
31374
+ # @return [Array<String>]
31375
+ #
31376
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/RemediationGuidanceSpecification AWS API Documentation
31377
+ #
31378
+ class RemediationGuidanceSpecification < Struct.new(
31379
+ :parameters,
31380
+ :steps,
31381
+ :expected_end_state,
31382
+ :required_permissions)
31383
+ SENSITIVE = []
31384
+ include Aws::Structure
31385
+ end
31386
+
31387
+ # The outcome from resolving the remediation target.
31388
+ #
31389
+ # @!attribute [rw] resolved_findings_count
31390
+ # The number of associated exposure findings that are resolved by
31391
+ # remediating the target.
31392
+ # @return [Integer]
31393
+ #
31394
+ # @!attribute [rw] severity_reduction_findings_count
31395
+ # The number of associated exposure findings whose severity is reduced
31396
+ # by remediating the target.
31397
+ # @return [Integer]
31398
+ #
31399
+ # @!attribute [rw] severity_unchanged_count
31400
+ # The number of associated exposure findings whose severity is
31401
+ # unchanged by remediating the target.
31402
+ # @return [Integer]
31403
+ #
31404
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/RemediationOutcome AWS API Documentation
31405
+ #
31406
+ class RemediationOutcome < Struct.new(
31407
+ :resolved_findings_count,
31408
+ :severity_reduction_findings_count,
31409
+ :severity_unchanged_count)
31410
+ SENSITIVE = []
31411
+ include Aws::Structure
31412
+ end
31413
+
31414
+ # A parameter used in running the guidance steps.
31415
+ #
31416
+ # @!attribute [rw] name
31417
+ # The name of the parameter.
31418
+ # @return [String]
31419
+ #
31420
+ # @!attribute [rw] type
31421
+ # The type of the parameter.
31422
+ # @return [String]
31423
+ #
31424
+ # @!attribute [rw] description
31425
+ # A description of the parameter.
31426
+ # @return [String]
31427
+ #
31428
+ # @!attribute [rw] required
31429
+ # Specifies whether the parameter is required for running the guidance
31430
+ # steps.
31431
+ # @return [Boolean]
31432
+ #
31433
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/RemediationParameter AWS API Documentation
31434
+ #
31435
+ class RemediationParameter < Struct.new(
31436
+ :name,
31437
+ :type,
31438
+ :description,
31439
+ :required)
31440
+ SENSITIVE = []
31441
+ include Aws::Structure
31442
+ end
31443
+
31444
+ # Provides comprehensive details about a resource.
31445
+ #
31446
+ # @!attribute [rw] account_id
31447
+ # The Amazon Web Services account that recorded the resource data in
31448
+ # Security Hub.
31449
+ # @return [String]
31450
+ #
31451
+ # @!attribute [rw] region
31452
+ # The Amazon Web Services Region in which Security Hub recorded the
31453
+ # resource data.
31454
+ # @return [String]
31455
+ #
31456
+ # @!attribute [rw] resource_owner_account_id
31457
+ # The identifier of the cloud account that owns the resource. For
31458
+ # Amazon Web Services resources, this is the Amazon Web Services
31459
+ # account ID. For Azure resources, this is the Azure subscription ID.
31460
+ # @return [String]
31461
+ #
31462
+ # @!attribute [rw] resource_owner_org_id
31463
+ # The identifier of the cloud organization that owns the resource. For
31464
+ # Amazon Web Services resources, this is the Organizations ID. For
31465
+ # Azure resources, this is the Azure tenant ID.
31466
+ # @return [String]
31467
+ #
31468
+ # @!attribute [rw] type
31469
+ # The type of the resource.
31470
+ # @return [String]
31471
+ #
31472
+ # @!attribute [rw] name
31473
+ # The name of the resource.
31474
+ # @return [String]
31475
+ #
31476
+ # @!attribute [rw] id
31477
+ # The unique identifier for a resource.
31478
+ # @return [String]
31479
+ #
31480
+ # @!attribute [rw] resource_guid
31481
+ # The global identifier used to identify a resource.
31482
+ # @return [String]
31483
+ #
31484
+ # @!attribute [rw] resource_region
31485
+ # The native cloud region where the resource is located. For Amazon
31486
+ # Web Services, this is an Amazon Web Services Region (for example,
31487
+ # `us-east-1`). For Azure resources, this is the Azure region (for
31488
+ # example, `westus2`). This field is always included.
31489
+ # @return [String]
31490
+ #
31491
+ # @!attribute [rw] cloud_provider
31492
+ # The cloud provider where the resource exists.
31493
+ #
31494
+ # * `AWS` specifies that the resource exists in Amazon Web Services.
31495
+ #
31496
+ # * `Azure` specifies that the resource exists in Microsoft Azure.
31497
+ # @return [String]
31498
+ #
31499
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/RemediationResource AWS API Documentation
31500
+ #
31501
+ class RemediationResource < Struct.new(
31502
+ :account_id,
31503
+ :region,
31504
+ :resource_owner_account_id,
31505
+ :resource_owner_org_id,
31506
+ :type,
31507
+ :name,
31508
+ :id,
31509
+ :resource_guid,
31510
+ :resource_region,
31511
+ :cloud_provider)
31512
+ SENSITIVE = []
31513
+ include Aws::Structure
31514
+ end
31515
+
31516
+ # A step in the remediation guidance.
31517
+ #
31518
+ # @!attribute [rw] phase
31519
+ # The phase of the remediation plan that this step belongs to (for
31520
+ # example, `FIX`).
31521
+ # @return [String]
31522
+ #
31523
+ # @!attribute [rw] description
31524
+ # A description of what the step does.
31525
+ # @return [String]
31526
+ #
31527
+ # @!attribute [rw] service
31528
+ # Which service this step is performed in.
31529
+ # @return [String]
31530
+ #
31531
+ # @!attribute [rw] action
31532
+ # The action to be taken for this step.
31533
+ # @return [String]
31534
+ #
31535
+ # @!attribute [rw] logic
31536
+ # The logic behind the existence of this step.
31537
+ # @return [String]
31538
+ #
31539
+ # @!attribute [rw] inverse
31540
+ # The inverse of the step, to be used if the step needs to be rolled
31541
+ # back.
31542
+ # @return [String]
31543
+ #
31544
+ # @!attribute [rw] verify_after
31545
+ # The action to take after the step to verify its success.
31546
+ # @return [String]
31547
+ #
31548
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/RemediationStep AWS API Documentation
31549
+ #
31550
+ class RemediationStep < Struct.new(
31551
+ :phase,
31552
+ :description,
31553
+ :service,
31554
+ :action,
31555
+ :logic,
31556
+ :inverse,
31557
+ :verify_after)
31558
+ SENSITIVE = []
31559
+ include Aws::Structure
31560
+ end
31561
+
31562
+ # A string filter for filtering remediation targets.
31563
+ #
31564
+ # @!attribute [rw] field_name
31565
+ # The name of the filter field. Valid values are `Resource.Type`,
31566
+ # `Priority`, `Status`, `Resource.Id`,
31567
+ # `Resource.ResourceOwnerAccountId`, and `Resource.CloudProvider`.
31568
+ # @return [String]
31569
+ #
31570
+ # @!attribute [rw] filter
31571
+ # The string filter definition.
31572
+ # @return [Types::RemediationStringFilterCondition]
31573
+ #
31574
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/RemediationStringFilter AWS API Documentation
31575
+ #
31576
+ class RemediationStringFilter < Struct.new(
31577
+ :field_name,
31578
+ :filter)
31579
+ SENSITIVE = []
31580
+ include Aws::Structure
31581
+ end
31582
+
31583
+ # The condition to apply to the string filter.
31584
+ #
31585
+ # @!attribute [rw] value
31586
+ # The value the string filter is comparing against.
31587
+ # @return [String]
31588
+ #
31589
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/RemediationStringFilterCondition AWS API Documentation
31590
+ #
31591
+ class RemediationStringFilterCondition < Struct.new(
31592
+ :value)
31593
+ SENSITIVE = []
31594
+ include Aws::Structure
31595
+ end
31596
+
31597
+ # A summary of the remediation target.
31598
+ #
31599
+ # @!attribute [rw] action
31600
+ # A summarized action to take for the remediation target.
31601
+ # @return [String]
31602
+ #
31603
+ # @!attribute [rw] description
31604
+ # A description of the remediation target.
31605
+ # @return [String]
31606
+ #
31607
+ # @!attribute [rw] is_immediate
31608
+ # Specifies whether the effect of this target is immediate.
31609
+ # @return [Boolean]
31610
+ #
31611
+ # @!attribute [rw] post_remediation_steps
31612
+ # An array of steps to be taken after remediation.
31613
+ # @return [Array<String>]
31614
+ #
31615
+ # @!attribute [rw] kb_articles
31616
+ # An array of `KbArticle` objects.
31617
+ # @return [Array<Types::KbArticle>]
31618
+ #
31619
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/RemediationSummaryDetail AWS API Documentation
31620
+ #
31621
+ class RemediationSummaryDetail < Struct.new(
31622
+ :action,
31623
+ :description,
31624
+ :is_immediate,
31625
+ :post_remediation_steps,
31626
+ :kb_articles)
31627
+ SENSITIVE = []
31628
+ include Aws::Structure
31629
+ end
31630
+
31631
+ # The trait associated with the remediation target.
31632
+ #
31633
+ # @!attribute [rw] type
31634
+ # The trait type.
31635
+ # @return [String]
31636
+ #
31637
+ # @!attribute [rw] title
31638
+ # The trait title.
31639
+ # @return [String]
31640
+ #
31641
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/RemediationTrait AWS API Documentation
31642
+ #
31643
+ class RemediationTrait < Struct.new(
31644
+ :type,
31645
+ :title)
31646
+ SENSITIVE = []
31647
+ include Aws::Structure
31648
+ end
31649
+
31650
+ # A remediation target.
31651
+ #
31652
+ # @!attribute [rw] target_uid
31653
+ # The unique identifier (ID) of the remediation target.
31654
+ # @return [String]
31655
+ #
31656
+ # @!attribute [rw] outcome
31657
+ # The outcome of the remediation target's resolution.
31658
+ # @return [Types::RemediationOutcome]
31659
+ #
31660
+ # @!attribute [rw] priority
31661
+ # The remediation target's priority. Valid values are `Critical`,
31662
+ # `High`, `Medium`, and `Low`.
31663
+ # @return [String]
31664
+ #
31665
+ # @!attribute [rw] remediation_summary
31666
+ # A summary of the remediation target.
31667
+ # @return [Types::RemediationSummaryDetail]
31668
+ #
31669
+ # @!attribute [rw] resource
31670
+ # The remediation target's associated resource.
31671
+ # @return [Types::RemediationResource]
31672
+ #
31673
+ # @!attribute [rw] status
31674
+ # The current status of the remediation target.
31675
+ #
31676
+ # * `New` specifies that the remediation target was newly identified.
31677
+ #
31678
+ # * `Updated` specifies that the remediation target changed after it
31679
+ # was identified.
31680
+ #
31681
+ # * `Resolved` specifies that the remediation target is no longer
31682
+ # present.
31683
+ # @return [String]
31684
+ #
31685
+ # @!attribute [rw] trait
31686
+ # The trait associated with the remediation target.
31687
+ # @return [Types::RemediationTrait]
31688
+ #
31689
+ # @!attribute [rw] guidance
31690
+ # The remediation target's guidance. Returned only when
31691
+ # `ShowGuidance` is `true` in the request.
31692
+ # @return [Types::RemediationGuidance]
31693
+ #
31694
+ # @!attribute [rw] updated_at
31695
+ # The remediation target's last updated timestamp.
31696
+ #
31697
+ # For more information about the validation and formatting of
31698
+ # timestamp fields in Security Hub CSPM, see [Timestamps][1].
31699
+ #
31700
+ #
31701
+ #
31702
+ # [1]: https://docs.aws.amazon.com/securityhub/1.0/APIReference/Welcome.html#timestamps
31703
+ # @return [Time]
31704
+ #
31705
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/RemediationV2Item AWS API Documentation
31706
+ #
31707
+ class RemediationV2Item < Struct.new(
31708
+ :target_uid,
31709
+ :outcome,
31710
+ :priority,
31711
+ :remediation_summary,
31712
+ :resource,
31713
+ :status,
31714
+ :trait,
31715
+ :guidance,
31716
+ :updated_at)
31717
+ SENSITIVE = []
31718
+ include Aws::Structure
31719
+ end
31720
+
31721
+ # A resource related to a finding.
31722
+ #
31723
+ # @!attribute [rw] type
31724
+ # The type of the resource that details are provided for. If possible,
31725
+ # set `Type` to one of the supported resource types. For example, if
31726
+ # the resource is an EC2 instance, then set `Type` to
31727
+ # `AwsEc2Instance`.
31728
+ #
31729
+ # If the resource does not match any of the provided types, then set
31730
+ # `Type` to `Other`.
31731
+ #
31732
+ # Length Constraints: Minimum length of 1. Maximum length of 256.
31733
+ # @return [String]
31734
+ #
31735
+ # @!attribute [rw] id
31736
+ # The canonical identifier for the given resource type.
31737
+ # @return [String]
31738
+ #
31739
+ # @!attribute [rw] partition
31740
+ # The canonical Amazon Web Services partition name that the Region is
31741
+ # assigned to.
31742
+ # @return [String]
31743
+ #
31744
+ # @!attribute [rw] region
31745
+ # The canonical Amazon Web Services external Region name where this
31746
+ # resource is located.
31747
+ #
31748
+ # Length Constraints: Minimum length of 1. Maximum length of 16.
31749
+ # @return [String]
31750
+ #
31751
+ # @!attribute [rw] provider
31752
+ # The cloud provider that the resource belongs to. Valid values are
31753
+ # `AWS` and `Azure`.
31754
+ # @return [String]
31755
+ #
31756
+ # @!attribute [rw] owner
31757
+ # Information about the account and organization that own the
31758
+ # resource.
31759
+ # @return [Types::ResourceOwner]
31760
+ #
31761
+ # @!attribute [rw] resource_role
31762
+ # Identifies the role of the resource in the finding. A resource is
31763
+ # either the actor or target of the finding activity,
31764
+ # @return [String]
31765
+ #
31766
+ # @!attribute [rw] tags
31767
+ # A list of Amazon Web Services tags associated with a resource at the
31768
+ # time the finding was processed. Tags must follow [Amazon Web
31769
+ # Services tag naming limits and requirements][1].
31770
+ #
31771
+ #
31772
+ #
31773
+ # [1]: https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html#tag-conventions
31774
+ # @return [Hash<String,String>]
31775
+ #
31776
+ # @!attribute [rw] data_classification
31777
+ # Contains information about sensitive data that was detected on the
31778
+ # resource.
31779
+ # @return [Types::DataClassificationDetails]
31780
+ #
31781
+ # @!attribute [rw] details
31782
+ # Additional details about the resource related to a finding.
31783
+ # @return [Types::ResourceDetails]
31784
+ #
31785
+ # @!attribute [rw] application_name
31786
+ # The name of the application that is related to a finding.
31787
+ # @return [String]
31788
+ #
31789
+ # @!attribute [rw] application_arn
31790
+ # The Amazon Resource Name (ARN) of the application that is related to
31791
+ # a finding.
31792
+ # @return [String]
31793
+ #
31794
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/Resource AWS API Documentation
31795
+ #
31796
+ class Resource < Struct.new(
31797
+ :type,
31798
+ :id,
31799
+ :partition,
31800
+ :region,
31801
+ :provider,
31802
+ :owner,
31803
+ :resource_role,
31804
+ :tags,
31805
+ :data_classification,
31806
+ :details,
31807
+ :application_name,
31808
+ :application_arn)
31809
+ SENSITIVE = []
31810
+ include Aws::Structure
31811
+ end
31812
+
31813
+ # The resource specified in the request conflicts with an existing
31814
+ # resource.
31815
+ #
31816
+ # @!attribute [rw] message
31817
+ # @return [String]
31818
+ #
31819
+ # @!attribute [rw] code
31820
+ # @return [String]
31821
+ #
31822
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ResourceConflictException AWS API Documentation
31823
+ #
31824
+ class ResourceConflictException < Struct.new(
31825
+ :message,
31826
+ :code)
31827
+ SENSITIVE = []
31828
+ include Aws::Structure
31829
+ end
31830
+
31831
+ # Additional details about a resource related to a finding.
31832
+ #
31833
+ # To provide the details, use the object that corresponds to the
31834
+ # resource type. For example, if the resource type is `AwsEc2Instance`,
31835
+ # then you use the `AwsEc2Instance` object to provide the details.
31836
+ #
31837
+ # If the type-specific object does not contain all of the fields you
30611
31838
  # want to populate, then you use the `Other` object to populate those
30612
31839
  # additional fields.
30613
31840
  #
@@ -32416,6 +33643,62 @@ module Aws::SecurityHub
32416
33643
  include Aws::Structure
32417
33644
  end
32418
33645
 
33646
+ # The Amazon S3 destination for an export, including the bucket, the
33647
+ # Amazon Web Services KMS key used for encryption, and an optional
33648
+ # object key prefix.
33649
+ #
33650
+ # @!attribute [rw] bucket_arn
33651
+ # The Amazon Resource Name (ARN) of the Amazon S3 bucket that Security
33652
+ # Hub writes the export to. You must own the bucket, and its bucket
33653
+ # policy must grant the Security Hub service principal
33654
+ # (`exportv2.securityhub.amazonaws.com`) permission to write objects.
33655
+ # For the required bucket policy, see the Examples section of
33656
+ # `StartExportJobV2`.
33657
+ # @return [String]
33658
+ #
33659
+ # @!attribute [rw] kms_key_arn
33660
+ # The ARN of the Amazon Web Services KMS key that Security Hub uses to
33661
+ # encrypt the export objects with server-side encryption. The key
33662
+ # policy must allow the Security Hub service principal
33663
+ # (`exportv2.securityhub.amazonaws.com`) to use the key through Amazon
33664
+ # S3. For the required key policy, see the Examples section of
33665
+ # `StartExportJobV2`.
33666
+ #
33667
+ # The key must meet all of the following requirements:
33668
+ #
33669
+ # * It must be a symmetric key with a key usage of `ENCRYPT_DECRYPT`.
33670
+ #
33671
+ # * It must be a single-Region key. Multi-Region keys, whose key IDs
33672
+ # begin with `mrk-`, are rejected.
33673
+ #
33674
+ # * You must specify the full key ARN. Key IDs and aliases are
33675
+ # rejected.
33676
+ #
33677
+ # * The key must be in the same Amazon Web Services account as the
33678
+ # export job.
33679
+ #
33680
+ # * The key must be in the same Amazon Web Services Region as the
33681
+ # export job.
33682
+ #
33683
+ # * The key must be in the `aws`, `aws-cn`, or `aws-us-gov` partition.
33684
+ # @return [String]
33685
+ #
33686
+ # @!attribute [rw] object_prefix
33687
+ # An optional key prefix that Security Hub prepends to the Amazon S3
33688
+ # object keys of the export output. Use a prefix to organize exports
33689
+ # within the bucket. The value can be up to 512 characters.
33690
+ # @return [String]
33691
+ #
33692
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/S3ExportDestination AWS API Documentation
33693
+ #
33694
+ class S3ExportDestination < Struct.new(
33695
+ :bucket_arn,
33696
+ :kms_key_arn,
33697
+ :object_prefix)
33698
+ SENSITIVE = []
33699
+ include Aws::Structure
33700
+ end
33701
+
32419
33702
  # A security control in Security Hub CSPM describes a security best
32420
33703
  # practice related to a specific resource.
32421
33704
  #
@@ -33848,6 +35131,72 @@ module Aws::SecurityHub
33848
35131
  #
33849
35132
  class StartConfigurationPolicyDisassociationResponse < Aws::EmptyStructure; end
33850
35133
 
35134
+ # @!attribute [rw] name
35135
+ # An optional, user-provided name for the export job that helps you
35136
+ # identify it in `ListExportJobsV2` results. The value can be 1–256
35137
+ # characters. Alphanumeric characters, spaces, and the following ASCII
35138
+ # characters are permitted: `. _ , : ( ) / + -`.
35139
+ # @return [String]
35140
+ #
35141
+ # @!attribute [rw] destination
35142
+ # The destination that Security Hub writes the export to. You must
35143
+ # specify exactly one destination type. Currently, the only supported
35144
+ # type is Amazon S3.
35145
+ # @return [Types::ExportDestination]
35146
+ #
35147
+ # @!attribute [rw] output_configuration
35148
+ # Specifies what data to export and how to format it. You must specify
35149
+ # exactly one output type. Currently, the only supported type is
35150
+ # `Findings`.
35151
+ # @return [Types::ExportOutput]
35152
+ #
35153
+ # @!attribute [rw] scopes
35154
+ # Limits the export to findings from specific organizational units
35155
+ # (OUs) or from the delegated administrator's organization. Only the
35156
+ # delegated administrator account can use this parameter; other
35157
+ # accounts that specify it receive an `AccessDeniedException`.
35158
+ #
35159
+ # This parameter is optional. If you omit it, the delegated
35160
+ # administrator exports findings from all accounts across the entire
35161
+ # organization, and other accounts export only their own findings.
35162
+ #
35163
+ # You can specify up to 10 entries in `Scopes.AwsOrganizations`. If
35164
+ # you specify multiple entries, Security Hub combines them using OR
35165
+ # logic.
35166
+ # @return [Types::ExportScopes]
35167
+ #
35168
+ # @!attribute [rw] client_token
35169
+ # A unique identifier used to ensure idempotency.
35170
+ #
35171
+ # **A suitable default value is auto-generated.** You should normally
35172
+ # not need to pass this option.
35173
+ # @return [String]
35174
+ #
35175
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/StartExportJobV2Request AWS API Documentation
35176
+ #
35177
+ class StartExportJobV2Request < Struct.new(
35178
+ :name,
35179
+ :destination,
35180
+ :output_configuration,
35181
+ :scopes,
35182
+ :client_token)
35183
+ SENSITIVE = []
35184
+ include Aws::Structure
35185
+ end
35186
+
35187
+ # @!attribute [rw] export_job_id
35188
+ # The unique identifier of the export job that Security Hub started.
35189
+ # Use this value with `GetExportJobV2` or `CancelExportJobV2`.
35190
+ # @return [String]
35191
+ #
35192
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/StartExportJobV2Response AWS API Documentation
35193
+ #
35194
+ class StartExportJobV2Response < Struct.new(
35195
+ :export_job_id)
35196
+ SENSITIVE = []
35197
+ include Aws::Structure
35198
+ end
35199
+
33851
35200
  # The definition of a custom action that can be used for stateless
33852
35201
  # packet handling.
33853
35202
  #
@@ -33962,7 +35311,14 @@ module Aws::SecurityHub
33962
35311
  # * To search for values that include the filter value, use
33963
35312
  # `CONTAINS`. For example, the filter `Title CONTAINS CloudFront`
33964
35313
  # matches findings that have a `Title` that includes the string
33965
- # CloudFront.
35314
+ # `CloudFront`.
35315
+ #
35316
+ # * To search for values that contain a word matching the filter
35317
+ # value, regardless of case, use `CONTAINS_WORD`. For example, the
35318
+ # filter `Title CONTAINS_WORD lambda` matches a finding whose
35319
+ # `Title` is `GuardDuty Lambda Protection`, because the `Title`
35320
+ # contains the word Lambda. Including special characters in the
35321
+ # filter value might produce unexpected search results.
33966
35322
  #
33967
35323
  # * To search for values that exactly match the filter value, use
33968
35324
  # `EQUALS`. For example, the filter `AwsAccountId EQUALS