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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +10 -0
- data/VERSION +1 -1
- data/lib/aws-sdk-securityhub/client.rb +922 -1
- data/lib/aws-sdk-securityhub/client_api.rb +420 -0
- data/lib/aws-sdk-securityhub/types.rb +1457 -101
- data/lib/aws-sdk-securityhub.rb +1 -1
- data/sig/client.rbs +125 -0
- data/sig/types.rbs +322 -0
- metadata +1 -1
|
@@ -2356,6 +2356,66 @@ module Aws::SecurityHub
|
|
|
2356
2356
|
req.send_request(options)
|
|
2357
2357
|
end
|
|
2358
2358
|
|
|
2359
|
+
# Cancels a findings export job that is in progress. Security Hub
|
|
2360
|
+
# transitions a running job to the `CANCELLED` state and returns the
|
|
2361
|
+
# `ExportJobId` and its new `Status`. Canceling a job that is already in
|
|
2362
|
+
# the `CANCELLED` state succeeds and returns the same result, so you can
|
|
2363
|
+
# safely retry a cancel request.
|
|
2364
|
+
#
|
|
2365
|
+
# You can't cancel an export job that has already reached a terminal
|
|
2366
|
+
# `SUCCEEDED` or `FAILED` state; in that case, this operation returns a
|
|
2367
|
+
# `ConflictException`. If no export job matches the `ExportJobId` that
|
|
2368
|
+
# you provide, this operation returns a `ResourceNotFoundException`.
|
|
2369
|
+
#
|
|
2370
|
+
# The `Status` value returned by this operation reflects the
|
|
2371
|
+
# cancellation immediately, even though the job can take a short time to
|
|
2372
|
+
# stop completely.
|
|
2373
|
+
#
|
|
2374
|
+
# @option params [required, String] :export_job_id
|
|
2375
|
+
# The unique identifier of the export job to cancel. This is the value
|
|
2376
|
+
# returned by `StartExportJobV2`.
|
|
2377
|
+
#
|
|
2378
|
+
# @return [Types::CancelExportJobV2Response] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
|
2379
|
+
#
|
|
2380
|
+
# * {Types::CancelExportJobV2Response#export_job_id #export_job_id} => String
|
|
2381
|
+
# * {Types::CancelExportJobV2Response#status #status} => String
|
|
2382
|
+
#
|
|
2383
|
+
#
|
|
2384
|
+
# @example Example: Example – Canceling a running export job
|
|
2385
|
+
#
|
|
2386
|
+
# # The following example cancels an export job that is in progress. Security Hub transitions the job to the CANCELLED state
|
|
2387
|
+
# # and returns its new status.
|
|
2388
|
+
#
|
|
2389
|
+
# resp = client.cancel_export_job_v2({
|
|
2390
|
+
# export_job_id: "a1b2c3d4e5f6",
|
|
2391
|
+
# })
|
|
2392
|
+
#
|
|
2393
|
+
# resp.to_h outputs the following:
|
|
2394
|
+
# {
|
|
2395
|
+
# export_job_id: "a1b2c3d4e5f6",
|
|
2396
|
+
# status: "CANCELLED",
|
|
2397
|
+
# }
|
|
2398
|
+
#
|
|
2399
|
+
# @example Request syntax with placeholder values
|
|
2400
|
+
#
|
|
2401
|
+
# resp = client.cancel_export_job_v2({
|
|
2402
|
+
# export_job_id: "ExportJobId", # required
|
|
2403
|
+
# })
|
|
2404
|
+
#
|
|
2405
|
+
# @example Response structure
|
|
2406
|
+
#
|
|
2407
|
+
# resp.export_job_id #=> String
|
|
2408
|
+
# resp.status #=> String, one of "RUNNING", "SUCCEEDED", "FAILED", "CANCELLED"
|
|
2409
|
+
#
|
|
2410
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/CancelExportJobV2 AWS API Documentation
|
|
2411
|
+
#
|
|
2412
|
+
# @overload cancel_export_job_v2(params = {})
|
|
2413
|
+
# @param [Hash] params ({})
|
|
2414
|
+
def cancel_export_job_v2(params = {}, options = {})
|
|
2415
|
+
req = build_request(:cancel_export_job_v2, params)
|
|
2416
|
+
req.send_request(options)
|
|
2417
|
+
end
|
|
2418
|
+
|
|
2359
2419
|
# Creates a custom action target in Security Hub CSPM.
|
|
2360
2420
|
#
|
|
2361
2421
|
# You can use custom actions on findings and insights in Security Hub
|
|
@@ -6703,6 +6763,227 @@ module Aws::SecurityHub
|
|
|
6703
6763
|
req.send_request(options)
|
|
6704
6764
|
end
|
|
6705
6765
|
|
|
6766
|
+
# Returns the details of a single findings export job, including its
|
|
6767
|
+
# current `Status`, the `Destination` it writes to, the
|
|
6768
|
+
# `OutputConfiguration` it was started with, and its `StartedAt` and
|
|
6769
|
+
# `EndedAt` timestamps. Use this operation to poll an export job that
|
|
6770
|
+
# you started with `StartExportJobV2` until it reaches a terminal state
|
|
6771
|
+
# (`SUCCEEDED`, `FAILED`, or `CANCELLED`).
|
|
6772
|
+
#
|
|
6773
|
+
# If the job failed, the response includes a `FailureCode` and
|
|
6774
|
+
# `FailureMessage` that describe the reason. Input values such as
|
|
6775
|
+
# `Scopes` and `Filters` are echoed back as they were submitted, with
|
|
6776
|
+
# relative date ranges returned unresolved. If no export job matches the
|
|
6777
|
+
# `ExportJobId` that you provide, this operation returns a
|
|
6778
|
+
# `ResourceNotFoundException`.
|
|
6779
|
+
#
|
|
6780
|
+
# @option params [required, String] :export_job_id
|
|
6781
|
+
# The unique identifier of the export job to retrieve. This is the value
|
|
6782
|
+
# returned by `StartExportJobV2`.
|
|
6783
|
+
#
|
|
6784
|
+
# @return [Types::GetExportJobV2Response] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
|
6785
|
+
#
|
|
6786
|
+
# * {Types::GetExportJobV2Response#export_job_id #export_job_id} => String
|
|
6787
|
+
# * {Types::GetExportJobV2Response#name #name} => String
|
|
6788
|
+
# * {Types::GetExportJobV2Response#status #status} => String
|
|
6789
|
+
# * {Types::GetExportJobV2Response#data_type #data_type} => String
|
|
6790
|
+
# * {Types::GetExportJobV2Response#output_configuration #output_configuration} => Types::ExportOutput
|
|
6791
|
+
# * {Types::GetExportJobV2Response#scopes #scopes} => Types::ExportScopes
|
|
6792
|
+
# * {Types::GetExportJobV2Response#destination #destination} => Types::ExportDestination
|
|
6793
|
+
# * {Types::GetExportJobV2Response#failure_code #failure_code} => String
|
|
6794
|
+
# * {Types::GetExportJobV2Response#failure_message #failure_message} => String
|
|
6795
|
+
# * {Types::GetExportJobV2Response#started_at #started_at} => Time
|
|
6796
|
+
# * {Types::GetExportJobV2Response#ended_at #ended_at} => Time
|
|
6797
|
+
#
|
|
6798
|
+
#
|
|
6799
|
+
# @example Example: Example – Getting the details of a completed export job
|
|
6800
|
+
#
|
|
6801
|
+
# # The following example retrieves an export job that has finished successfully. The output is available in the destination
|
|
6802
|
+
# # bucket.
|
|
6803
|
+
#
|
|
6804
|
+
# resp = client.get_export_job_v2({
|
|
6805
|
+
# export_job_id: "a1b2c3d4e5f6",
|
|
6806
|
+
# })
|
|
6807
|
+
#
|
|
6808
|
+
# resp.to_h outputs the following:
|
|
6809
|
+
# {
|
|
6810
|
+
# data_type: "FINDINGS",
|
|
6811
|
+
# destination: {
|
|
6812
|
+
# s3: {
|
|
6813
|
+
# bucket_arn: "arn:aws:s3:::amzn-s3-demo-bucket",
|
|
6814
|
+
# kms_key_arn: "arn:aws:kms:aa-example-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab",
|
|
6815
|
+
# object_prefix: "security-hub-exports/2026-Q1",
|
|
6816
|
+
# },
|
|
6817
|
+
# },
|
|
6818
|
+
# ended_at: Time.parse("2026-03-27T18:09:52Z"),
|
|
6819
|
+
# export_job_id: "a1b2c3d4e5f6",
|
|
6820
|
+
# name: "quarterly-critical-findings",
|
|
6821
|
+
# output_configuration: {
|
|
6822
|
+
# findings: {
|
|
6823
|
+
# filters: {
|
|
6824
|
+
# composite_filters: [
|
|
6825
|
+
# {
|
|
6826
|
+
# operator: "AND",
|
|
6827
|
+
# string_filters: [
|
|
6828
|
+
# {
|
|
6829
|
+
# field_name: "severity",
|
|
6830
|
+
# filter: {
|
|
6831
|
+
# comparison: "EQUALS",
|
|
6832
|
+
# value: "Critical",
|
|
6833
|
+
# },
|
|
6834
|
+
# },
|
|
6835
|
+
# {
|
|
6836
|
+
# field_name: "status",
|
|
6837
|
+
# filter: {
|
|
6838
|
+
# comparison: "EQUALS",
|
|
6839
|
+
# value: "New",
|
|
6840
|
+
# },
|
|
6841
|
+
# },
|
|
6842
|
+
# ],
|
|
6843
|
+
# },
|
|
6844
|
+
# ],
|
|
6845
|
+
# composite_operator: "AND",
|
|
6846
|
+
# },
|
|
6847
|
+
# format: "CSV",
|
|
6848
|
+
# selected_fields: [
|
|
6849
|
+
# "finding_info.title",
|
|
6850
|
+
# "severity",
|
|
6851
|
+
# "status",
|
|
6852
|
+
# "cloud.account.uid",
|
|
6853
|
+
# "resources.uid",
|
|
6854
|
+
# ],
|
|
6855
|
+
# },
|
|
6856
|
+
# },
|
|
6857
|
+
# started_at: Time.parse("2026-03-27T18:04:11Z"),
|
|
6858
|
+
# status: "SUCCEEDED",
|
|
6859
|
+
# }
|
|
6860
|
+
#
|
|
6861
|
+
# @example Example: Example – Getting the details of a failed export job
|
|
6862
|
+
#
|
|
6863
|
+
# # The following example retrieves an export job that failed because Security Hub couldn't write to the destination. The
|
|
6864
|
+
# # FailureCode and FailureMessage explain the cause.
|
|
6865
|
+
#
|
|
6866
|
+
# resp = client.get_export_job_v2({
|
|
6867
|
+
# export_job_id: "f6e5d4c3b2a1",
|
|
6868
|
+
# })
|
|
6869
|
+
#
|
|
6870
|
+
# resp.to_h outputs the following:
|
|
6871
|
+
# {
|
|
6872
|
+
# data_type: "FINDINGS",
|
|
6873
|
+
# destination: {
|
|
6874
|
+
# s3: {
|
|
6875
|
+
# bucket_arn: "arn:aws:s3:::amzn-s3-demo-bucket",
|
|
6876
|
+
# kms_key_arn: "arn:aws:kms:aa-example-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab",
|
|
6877
|
+
# },
|
|
6878
|
+
# },
|
|
6879
|
+
# ended_at: Time.parse("2026-03-27T18:05:03Z"),
|
|
6880
|
+
# export_job_id: "f6e5d4c3b2a1",
|
|
6881
|
+
# failure_code: "ACCESS_DENIED",
|
|
6882
|
+
# failure_message: "Security Hub could not write to the destination bucket. Verify the bucket policy and KMS key policy.",
|
|
6883
|
+
# output_configuration: {
|
|
6884
|
+
# findings: {
|
|
6885
|
+
# filters: {
|
|
6886
|
+
# composite_filters: [
|
|
6887
|
+
# {
|
|
6888
|
+
# date_filters: [
|
|
6889
|
+
# {
|
|
6890
|
+
# field_name: "finding_info.last_seen_time_dt",
|
|
6891
|
+
# filter: {
|
|
6892
|
+
# date_range: {
|
|
6893
|
+
# comparison: "WITHIN",
|
|
6894
|
+
# unit: "DAYS",
|
|
6895
|
+
# value: 30,
|
|
6896
|
+
# },
|
|
6897
|
+
# },
|
|
6898
|
+
# },
|
|
6899
|
+
# ],
|
|
6900
|
+
# operator: "AND",
|
|
6901
|
+
# },
|
|
6902
|
+
# ],
|
|
6903
|
+
# composite_operator: "AND",
|
|
6904
|
+
# },
|
|
6905
|
+
# format: "OCSF_JSON",
|
|
6906
|
+
# },
|
|
6907
|
+
# },
|
|
6908
|
+
# scopes: {
|
|
6909
|
+
# aws_organizations: [
|
|
6910
|
+
# {
|
|
6911
|
+
# organizational_unit_id: "ou-1234-a1b2c3d4",
|
|
6912
|
+
# },
|
|
6913
|
+
# ],
|
|
6914
|
+
# },
|
|
6915
|
+
# started_at: Time.parse("2026-03-27T18:04:11Z"),
|
|
6916
|
+
# status: "FAILED",
|
|
6917
|
+
# }
|
|
6918
|
+
#
|
|
6919
|
+
# @example Request syntax with placeholder values
|
|
6920
|
+
#
|
|
6921
|
+
# resp = client.get_export_job_v2({
|
|
6922
|
+
# export_job_id: "ExportJobId", # required
|
|
6923
|
+
# })
|
|
6924
|
+
#
|
|
6925
|
+
# @example Response structure
|
|
6926
|
+
#
|
|
6927
|
+
# resp.export_job_id #=> String
|
|
6928
|
+
# resp.name #=> String
|
|
6929
|
+
# resp.status #=> String, one of "RUNNING", "SUCCEEDED", "FAILED", "CANCELLED"
|
|
6930
|
+
# resp.data_type #=> String, one of "FINDINGS"
|
|
6931
|
+
# resp.output_configuration.findings.format #=> String, one of "CSV", "OCSF_JSON"
|
|
6932
|
+
# resp.output_configuration.findings.filters.composite_filters #=> Array
|
|
6933
|
+
# resp.output_configuration.findings.filters.composite_filters[0].string_filters #=> Array
|
|
6934
|
+
# resp.output_configuration.findings.filters.composite_filters[0].string_filters[0].field_name #=> String, one of "metadata.uid", "activity_name", "cloud.account.uid", "cloud.provider", "cloud.region", "compliance.assessments.category", "compliance.assessments.name", "compliance.control", "compliance.status", "compliance.standards", "finding_info.desc", "finding_info.src_url", "finding_info.title", "finding_info.types", "finding_info.uid", "finding_info.related_events.traits.category", "finding_info.related_events.uid", "finding_info.related_events.product.uid", "finding_info.related_events.title", "metadata.product.name", "metadata.product.uid", "metadata.product.vendor_name", "remediation.desc", "remediation.references", "resources.cloud_partition", "resources.name", "resources.owner.account.uid", "resources.owner.org.uid", "resources.owner.account.name", "resources.provider", "resources.region", "resources.type", "resources.uid", "severity", "status", "comment", "vulnerabilities.fix_coverage", "class_name", "databucket.encryption_details.algorithm", "databucket.encryption_details.key_uid", "databucket.file.data_classifications.classifier_details.type", "evidences.actor.user.account.uid", "evidences.api.operation", "evidences.api.response.error_message", "evidences.api.service.name", "evidences.connection_info.direction", "evidences.connection_info.protocol_name", "evidences.dst_endpoint.autonomous_system.name", "evidences.dst_endpoint.location.city", "evidences.dst_endpoint.location.country", "evidences.src_endpoint.autonomous_system.name", "evidences.src_endpoint.hostname", "evidences.src_endpoint.location.city", "evidences.src_endpoint.location.country", "finding_info.analytic.name", "malware.name", "malware_scan_info.uid", "malware.severity", "resources.cloud_function.layers.uid_alt", "resources.cloud_function.runtime", "resources.cloud_function.user.uid", "resources.device.encryption_details.key_uid", "resources.device.image.uid", "resources.image.architecture", "resources.image.registry_uid", "resources.image.repository_name", "resources.image.uid", "resources.subnet_info.uid", "resources.vpc_uid", "vulnerabilities.affected_code.file.path", "vulnerabilities.affected_packages.name", "vulnerabilities.cve.epss.score", "vulnerabilities.cve.uid", "vulnerabilities.related_vulnerabilities", "cloud.account.name", "vendor_attributes.severity"
|
|
6935
|
+
# resp.output_configuration.findings.filters.composite_filters[0].string_filters[0].filter.value #=> String
|
|
6936
|
+
# resp.output_configuration.findings.filters.composite_filters[0].string_filters[0].filter.comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS", "PREFIX_NOT_EQUALS", "CONTAINS", "NOT_CONTAINS", "CONTAINS_WORD"
|
|
6937
|
+
# resp.output_configuration.findings.filters.composite_filters[0].date_filters #=> Array
|
|
6938
|
+
# resp.output_configuration.findings.filters.composite_filters[0].date_filters[0].field_name #=> String, one of "finding_info.created_time_dt", "finding_info.first_seen_time_dt", "finding_info.last_seen_time_dt", "finding_info.modified_time_dt", "resources.image.created_time_dt", "resources.image.last_used_time_dt", "resources.modified_time_dt"
|
|
6939
|
+
# resp.output_configuration.findings.filters.composite_filters[0].date_filters[0].filter.start #=> String
|
|
6940
|
+
# resp.output_configuration.findings.filters.composite_filters[0].date_filters[0].filter.end #=> String
|
|
6941
|
+
# resp.output_configuration.findings.filters.composite_filters[0].date_filters[0].filter.date_range.value #=> Integer
|
|
6942
|
+
# resp.output_configuration.findings.filters.composite_filters[0].date_filters[0].filter.date_range.unit #=> String, one of "DAYS"
|
|
6943
|
+
# resp.output_configuration.findings.filters.composite_filters[0].date_filters[0].filter.date_range.comparison #=> String, one of "WITHIN", "OLDER_THAN"
|
|
6944
|
+
# resp.output_configuration.findings.filters.composite_filters[0].boolean_filters #=> Array
|
|
6945
|
+
# resp.output_configuration.findings.filters.composite_filters[0].boolean_filters[0].field_name #=> String, one of "compliance.assessments.meets_criteria", "vulnerabilities.is_exploit_available", "vulnerabilities.is_fix_available"
|
|
6946
|
+
# resp.output_configuration.findings.filters.composite_filters[0].boolean_filters[0].filter.value #=> Boolean
|
|
6947
|
+
# resp.output_configuration.findings.filters.composite_filters[0].number_filters #=> Array
|
|
6948
|
+
# resp.output_configuration.findings.filters.composite_filters[0].number_filters[0].field_name #=> String, one of "activity_id", "compliance.status_id", "confidence_score", "severity_id", "status_id", "finding_info.related_events_count", "evidences.api.response.code", "evidences.dst_endpoint.autonomous_system.number", "evidences.dst_endpoint.port", "evidences.src_endpoint.autonomous_system.number", "evidences.src_endpoint.port", "resources.image.in_use_count", "vulnerabilities.cve.cvss.base_score", "vendor_attributes.severity_id"
|
|
6949
|
+
# resp.output_configuration.findings.filters.composite_filters[0].number_filters[0].filter.gte #=> Float
|
|
6950
|
+
# resp.output_configuration.findings.filters.composite_filters[0].number_filters[0].filter.lte #=> Float
|
|
6951
|
+
# resp.output_configuration.findings.filters.composite_filters[0].number_filters[0].filter.eq #=> Float
|
|
6952
|
+
# resp.output_configuration.findings.filters.composite_filters[0].number_filters[0].filter.gt #=> Float
|
|
6953
|
+
# resp.output_configuration.findings.filters.composite_filters[0].number_filters[0].filter.lt #=> Float
|
|
6954
|
+
# resp.output_configuration.findings.filters.composite_filters[0].map_filters #=> Array
|
|
6955
|
+
# resp.output_configuration.findings.filters.composite_filters[0].map_filters[0].field_name #=> String, one of "resources.tags", "compliance.control_parameters", "databucket.tags", "finding_info.tags"
|
|
6956
|
+
# resp.output_configuration.findings.filters.composite_filters[0].map_filters[0].filter.key #=> String
|
|
6957
|
+
# resp.output_configuration.findings.filters.composite_filters[0].map_filters[0].filter.value #=> String
|
|
6958
|
+
# resp.output_configuration.findings.filters.composite_filters[0].map_filters[0].filter.comparison #=> String, one of "EQUALS", "NOT_EQUALS", "CONTAINS", "NOT_CONTAINS"
|
|
6959
|
+
# resp.output_configuration.findings.filters.composite_filters[0].ip_filters #=> Array
|
|
6960
|
+
# resp.output_configuration.findings.filters.composite_filters[0].ip_filters[0].field_name #=> String, one of "evidences.dst_endpoint.ip", "evidences.src_endpoint.ip"
|
|
6961
|
+
# resp.output_configuration.findings.filters.composite_filters[0].ip_filters[0].filter.cidr #=> String
|
|
6962
|
+
# resp.output_configuration.findings.filters.composite_filters[0].nested_composite_filters #=> Types::CompositeFilterList
|
|
6963
|
+
# resp.output_configuration.findings.filters.composite_filters[0].operator #=> String, one of "AND", "OR"
|
|
6964
|
+
# resp.output_configuration.findings.filters.composite_operator #=> String, one of "AND", "OR"
|
|
6965
|
+
# resp.output_configuration.findings.selected_fields #=> Array
|
|
6966
|
+
# resp.output_configuration.findings.selected_fields[0] #=> String, one of "metadata.uid", "activity_name", "cloud.account.name", "cloud.account.uid", "cloud.provider", "cloud.region", "compliance.assessments.category", "compliance.assessments.name", "compliance.control", "compliance.status", "compliance.standards", "finding_info.desc", "finding_info.src_url", "finding_info.title", "finding_info.types", "finding_info.uid", "finding_info.related_events.traits.category", "finding_info.related_events.uid", "finding_info.related_events.product.uid", "finding_info.related_events.title", "metadata.product.feature.uid", "metadata.product.name", "metadata.product.uid", "metadata.product.vendor_name", "remediation.desc", "remediation.references", "resources.cloud_partition", "resources.name", "resources.owner.account.uid", "resources.owner.org.uid", "resources.owner.account.name", "resources.provider", "resources.region", "resources.type", "resources.uid", "severity", "status", "comment", "vulnerabilities.fix_coverage", "class_name", "databucket.encryption_details.algorithm", "databucket.encryption_details.key_uid", "databucket.file.data_classifications.classifier_details.type", "evidences.actor.user.account.uid", "evidences.api.operation", "evidences.api.response.error_message", "evidences.api.service.name", "evidences.connection_info.direction", "evidences.connection_info.protocol_name", "evidences.dst_endpoint.autonomous_system.name", "evidences.dst_endpoint.location.city", "evidences.dst_endpoint.location.country", "evidences.src_endpoint.autonomous_system.name", "evidences.src_endpoint.hostname", "evidences.src_endpoint.location.city", "evidences.src_endpoint.location.country", "finding_info.analytic.name", "malware.name", "malware_scan_info.uid", "malware.severity", "resources.cloud_function.layers.uid_alt", "resources.cloud_function.runtime", "resources.cloud_function.user.uid", "resources.device.encryption_details.key_uid", "resources.device.image.uid", "resources.image.architecture", "resources.image.registry_uid", "resources.image.repository_name", "resources.image.uid", "resources.subnet_info.uid", "resources.vpc_uid", "vulnerabilities.affected_code.file.path", "vulnerabilities.affected_packages.name", "vulnerabilities.cve.cvss.vendor_name", "vulnerabilities.cve.cvss.version", "vulnerabilities.cve.epss.score", "vulnerabilities.cve.uid", "vulnerabilities.related_vulnerabilities", "vendor_attributes.severity", "activity_id", "compliance.status_id", "confidence_score", "severity_id", "status_id", "finding_info.related_events_count", "evidences.api.response.code", "evidences.dst_endpoint.autonomous_system.number", "evidences.dst_endpoint.port", "evidences.src_endpoint.autonomous_system.number", "evidences.src_endpoint.port", "resources.image.in_use_count", "vulnerabilities.cve.cvss.base_score", "vendor_attributes.severity_id", "finding_info.created_time_dt", "finding_info.first_seen_time_dt", "finding_info.last_seen_time_dt", "finding_info.modified_time_dt", "resources.image.created_time_dt", "resources.image.last_used_time_dt", "resources.modified_time_dt", "compliance.assessments.meets_criteria", "vulnerabilities.is_exploit_available", "vulnerabilities.is_fix_available", "resources.tags", "compliance.control_parameters", "databucket.tags", "finding_info.tags", "evidences.dst_endpoint.ip", "evidences.src_endpoint.ip"
|
|
6967
|
+
# resp.scopes.aws_organizations #=> Array
|
|
6968
|
+
# resp.scopes.aws_organizations[0].organization_id #=> String
|
|
6969
|
+
# resp.scopes.aws_organizations[0].organizational_unit_id #=> String
|
|
6970
|
+
# resp.destination.s3.bucket_arn #=> String
|
|
6971
|
+
# resp.destination.s3.kms_key_arn #=> String
|
|
6972
|
+
# resp.destination.s3.object_prefix #=> String
|
|
6973
|
+
# resp.failure_code #=> String, one of "ACCESS_DENIED", "RESOURCE_NOT_FOUND", "INTERNAL_ERROR"
|
|
6974
|
+
# resp.failure_message #=> String
|
|
6975
|
+
# resp.started_at #=> Time
|
|
6976
|
+
# resp.ended_at #=> Time
|
|
6977
|
+
#
|
|
6978
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetExportJobV2 AWS API Documentation
|
|
6979
|
+
#
|
|
6980
|
+
# @overload get_export_job_v2(params = {})
|
|
6981
|
+
# @param [Hash] params ({})
|
|
6982
|
+
def get_export_job_v2(params = {}, options = {})
|
|
6983
|
+
req = build_request(:get_export_job_v2, params)
|
|
6984
|
+
req.send_request(options)
|
|
6985
|
+
end
|
|
6986
|
+
|
|
6706
6987
|
# <note markdown="1"> The *aggregation Region* is now called the *home Region*.
|
|
6707
6988
|
#
|
|
6708
6989
|
# </note>
|
|
@@ -8975,6 +9256,162 @@ module Aws::SecurityHub
|
|
|
8975
9256
|
req.send_request(options)
|
|
8976
9257
|
end
|
|
8977
9258
|
|
|
9259
|
+
# Retrieves remediation targets for the account, or for all member
|
|
9260
|
+
# accounts if the caller is the delegated administrator. Results are
|
|
9261
|
+
# sorted by priority, highest first, and are paginated. Use `TargetUid`
|
|
9262
|
+
# or `MetadataUid` to scope the request to a single target or finding.
|
|
9263
|
+
#
|
|
9264
|
+
# @option params [String] :target_uid
|
|
9265
|
+
# The unique identifier (ID) of an existing remediation target to
|
|
9266
|
+
# return. Returns the single matching target. You can't use `TargetUid`
|
|
9267
|
+
# together with `MetadataUid` or `Filters`.
|
|
9268
|
+
#
|
|
9269
|
+
# @option params [String] :metadata_uid
|
|
9270
|
+
# The unique identifier (ID) of the Security Hub exposure finding, found
|
|
9271
|
+
# under the `metadata.uid` field of the finding. Returns the remediation
|
|
9272
|
+
# targets associated with that finding. You can't use `MetadataUid`
|
|
9273
|
+
# together with `TargetUid` or `Filters`.
|
|
9274
|
+
#
|
|
9275
|
+
# @option params [Types::RemediationFilters] :filters
|
|
9276
|
+
# Filters remediation targets based on a set of criteria. You can't use
|
|
9277
|
+
# `Filters` together with `TargetUid` or `MetadataUid`.
|
|
9278
|
+
#
|
|
9279
|
+
# @option params [Boolean] :show_guidance
|
|
9280
|
+
# Specifies whether to show remediation target guidance.
|
|
9281
|
+
#
|
|
9282
|
+
# @option params [String] :guidance_format
|
|
9283
|
+
# The format of the remediation guidance examples to return. Valid
|
|
9284
|
+
# values are `All`, `AwsCli`, `Cli`, `Python`, `Terraform`, `Cdk`,
|
|
9285
|
+
# `CloudFormation`, `IaC`, and `Template`. If you don't specify a
|
|
9286
|
+
# value, all formats are returned. Applies only when `ShowGuidance` is
|
|
9287
|
+
# `true`.
|
|
9288
|
+
#
|
|
9289
|
+
# @option params [Integer] :max_results
|
|
9290
|
+
# The maximum number of results to return. Valid range is 1-100. If you
|
|
9291
|
+
# don't specify a value, the operation returns up to 25 results.
|
|
9292
|
+
#
|
|
9293
|
+
# @option params [String] :next_token
|
|
9294
|
+
# The token used to paginate the remediations target list returned. On
|
|
9295
|
+
# your first call to `GetRemediationsV2`, omit this parameter or set it
|
|
9296
|
+
# to `NULL`. For subsequent calls, use the `NextToken` value returned in
|
|
9297
|
+
# the previous response to retrieve the next page of results.
|
|
9298
|
+
#
|
|
9299
|
+
# @return [Types::GetRemediationsV2Response] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
|
9300
|
+
#
|
|
9301
|
+
# * {Types::GetRemediationsV2Response#items #items} => Array<Types::RemediationV2Item>
|
|
9302
|
+
# * {Types::GetRemediationsV2Response#next_token #next_token} => String
|
|
9303
|
+
#
|
|
9304
|
+
# The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
|
|
9305
|
+
#
|
|
9306
|
+
# @example Request syntax with placeholder values
|
|
9307
|
+
#
|
|
9308
|
+
# resp = client.get_remediations_v2({
|
|
9309
|
+
# target_uid: "RemediationStringUid",
|
|
9310
|
+
# metadata_uid: "RemediationStringUid",
|
|
9311
|
+
# filters: {
|
|
9312
|
+
# composite_filters: [
|
|
9313
|
+
# {
|
|
9314
|
+
# string_filters: [
|
|
9315
|
+
# {
|
|
9316
|
+
# field_name: "Resource.Type", # required, accepts Resource.Type, Priority, Status, Resource.Id, Resource.ResourceOwnerAccountId, Resource.CloudProvider
|
|
9317
|
+
# filter: { # required
|
|
9318
|
+
# value: "NonEmptyString", # required
|
|
9319
|
+
# },
|
|
9320
|
+
# },
|
|
9321
|
+
# ],
|
|
9322
|
+
# },
|
|
9323
|
+
# ],
|
|
9324
|
+
# },
|
|
9325
|
+
# show_guidance: false,
|
|
9326
|
+
# guidance_format: "All", # accepts All, AwsCli, Cli, Python, Terraform, Cdk, CloudFormation, IaC, Template
|
|
9327
|
+
# max_results: 1,
|
|
9328
|
+
# next_token: "NextToken",
|
|
9329
|
+
# })
|
|
9330
|
+
#
|
|
9331
|
+
# @example Response structure
|
|
9332
|
+
#
|
|
9333
|
+
# resp.items #=> Array
|
|
9334
|
+
# resp.items[0].target_uid #=> String
|
|
9335
|
+
# resp.items[0].outcome.resolved_findings_count #=> Integer
|
|
9336
|
+
# resp.items[0].outcome.severity_reduction_findings_count #=> Integer
|
|
9337
|
+
# resp.items[0].outcome.severity_unchanged_count #=> Integer
|
|
9338
|
+
# resp.items[0].priority #=> String, one of "Critical", "High", "Medium", "Low"
|
|
9339
|
+
# resp.items[0].remediation_summary.action #=> String
|
|
9340
|
+
# resp.items[0].remediation_summary.description #=> String
|
|
9341
|
+
# resp.items[0].remediation_summary.is_immediate #=> Boolean
|
|
9342
|
+
# resp.items[0].remediation_summary.post_remediation_steps #=> Array
|
|
9343
|
+
# resp.items[0].remediation_summary.post_remediation_steps[0] #=> String
|
|
9344
|
+
# resp.items[0].remediation_summary.kb_articles #=> Array
|
|
9345
|
+
# resp.items[0].remediation_summary.kb_articles[0].title #=> String
|
|
9346
|
+
# resp.items[0].remediation_summary.kb_articles[0].url #=> String
|
|
9347
|
+
# resp.items[0].resource.account_id #=> String
|
|
9348
|
+
# resp.items[0].resource.region #=> String
|
|
9349
|
+
# resp.items[0].resource.resource_owner_account_id #=> String
|
|
9350
|
+
# resp.items[0].resource.resource_owner_org_id #=> String
|
|
9351
|
+
# resp.items[0].resource.type #=> String
|
|
9352
|
+
# resp.items[0].resource.name #=> String
|
|
9353
|
+
# resp.items[0].resource.id #=> String
|
|
9354
|
+
# resp.items[0].resource.resource_guid #=> String
|
|
9355
|
+
# resp.items[0].resource.resource_region #=> String
|
|
9356
|
+
# resp.items[0].resource.cloud_provider #=> String, one of "Azure", "AWS"
|
|
9357
|
+
# resp.items[0].status #=> String, one of "New", "Updated", "Resolved"
|
|
9358
|
+
# resp.items[0].trait.type #=> String
|
|
9359
|
+
# resp.items[0].trait.title #=> String
|
|
9360
|
+
# resp.items[0].guidance.target_type_name #=> String
|
|
9361
|
+
# resp.items[0].guidance.pattern #=> String
|
|
9362
|
+
# resp.items[0].guidance.version #=> String
|
|
9363
|
+
# resp.items[0].guidance.context.problem_statement #=> String
|
|
9364
|
+
# resp.items[0].guidance.context.risk_assessment #=> String
|
|
9365
|
+
# resp.items[0].guidance.context.affected_scope #=> String
|
|
9366
|
+
# resp.items[0].guidance.context.prerequisites #=> Array
|
|
9367
|
+
# resp.items[0].guidance.context.prerequisites[0] #=> String
|
|
9368
|
+
# resp.items[0].guidance.specification.parameters #=> Array
|
|
9369
|
+
# resp.items[0].guidance.specification.parameters[0].name #=> String
|
|
9370
|
+
# resp.items[0].guidance.specification.parameters[0].type #=> String
|
|
9371
|
+
# resp.items[0].guidance.specification.parameters[0].description #=> String
|
|
9372
|
+
# resp.items[0].guidance.specification.parameters[0].required #=> Boolean
|
|
9373
|
+
# resp.items[0].guidance.specification.steps #=> Array
|
|
9374
|
+
# resp.items[0].guidance.specification.steps[0].phase #=> String
|
|
9375
|
+
# resp.items[0].guidance.specification.steps[0].description #=> String
|
|
9376
|
+
# resp.items[0].guidance.specification.steps[0].service #=> String
|
|
9377
|
+
# resp.items[0].guidance.specification.steps[0].action #=> String
|
|
9378
|
+
# resp.items[0].guidance.specification.steps[0].logic #=> String
|
|
9379
|
+
# resp.items[0].guidance.specification.steps[0].inverse #=> String
|
|
9380
|
+
# resp.items[0].guidance.specification.steps[0].verify_after #=> String
|
|
9381
|
+
# resp.items[0].guidance.specification.expected_end_state #=> String
|
|
9382
|
+
# resp.items[0].guidance.specification.required_permissions #=> Array
|
|
9383
|
+
# resp.items[0].guidance.specification.required_permissions[0] #=> String
|
|
9384
|
+
# resp.items[0].guidance.examples.aws_cli #=> String
|
|
9385
|
+
# resp.items[0].guidance.examples.cli #=> String
|
|
9386
|
+
# resp.items[0].guidance.examples.python #=> String
|
|
9387
|
+
# resp.items[0].guidance.examples.terraform #=> String
|
|
9388
|
+
# resp.items[0].guidance.examples.cdk #=> String
|
|
9389
|
+
# resp.items[0].guidance.examples.cloud_formation #=> String
|
|
9390
|
+
# resp.items[0].guidance.examples.ia_c #=> String
|
|
9391
|
+
# resp.items[0].guidance.examples.template #=> String
|
|
9392
|
+
# resp.items[0].guidance.metadata.resource_type #=> String
|
|
9393
|
+
# resp.items[0].guidance.metadata.exposure_type #=> String
|
|
9394
|
+
# resp.items[0].guidance.metadata.trait_titles #=> Array
|
|
9395
|
+
# resp.items[0].guidance.metadata.trait_titles[0] #=> String
|
|
9396
|
+
# resp.items[0].guidance.metadata.reversibility #=> String
|
|
9397
|
+
# resp.items[0].guidance.metadata.fix_effect #=> String
|
|
9398
|
+
# resp.items[0].guidance.metadata.risk_level #=> String
|
|
9399
|
+
# resp.items[0].guidance.metadata.automation_level #=> String
|
|
9400
|
+
# resp.items[0].guidance.metadata.human_review_required #=> Boolean
|
|
9401
|
+
# resp.items[0].guidance.metadata.generated_at #=> Time
|
|
9402
|
+
# resp.items[0].guidance.metadata.verification_status #=> String
|
|
9403
|
+
# resp.items[0].updated_at #=> Time
|
|
9404
|
+
# resp.next_token #=> String
|
|
9405
|
+
#
|
|
9406
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetRemediationsV2 AWS API Documentation
|
|
9407
|
+
#
|
|
9408
|
+
# @overload get_remediations_v2(params = {})
|
|
9409
|
+
# @param [Hash] params ({})
|
|
9410
|
+
def get_remediations_v2(params = {}, options = {})
|
|
9411
|
+
req = build_request(:get_remediations_v2, params)
|
|
9412
|
+
req.send_request(options)
|
|
9413
|
+
end
|
|
9414
|
+
|
|
8978
9415
|
# Retrieves statistical information about Amazon Web Services resources
|
|
8979
9416
|
# and their associated security findings.
|
|
8980
9417
|
#
|
|
@@ -10132,6 +10569,189 @@ module Aws::SecurityHub
|
|
|
10132
10569
|
req.send_request(options)
|
|
10133
10570
|
end
|
|
10134
10571
|
|
|
10572
|
+
# Returns the findings export jobs in your account as a paginated list
|
|
10573
|
+
# of `ExportSummary` objects. You can filter the results by job `Status`
|
|
10574
|
+
# or `DataType`.
|
|
10575
|
+
#
|
|
10576
|
+
# To page through the results, use the `MaxResults` and `NextToken`
|
|
10577
|
+
# parameters. If the response includes a `NextToken` value, pass it in a
|
|
10578
|
+
# subsequent request to retrieve the next page of results.
|
|
10579
|
+
#
|
|
10580
|
+
# Each `ExportSummary` reports the output `Format` of the job but not
|
|
10581
|
+
# its full `OutputConfiguration`. To retrieve the filters and selected
|
|
10582
|
+
# fields that a job was started with, call `GetExportJobV2`.
|
|
10583
|
+
#
|
|
10584
|
+
# @option params [String] :status
|
|
10585
|
+
# Filters the results to export jobs that have the specified status.
|
|
10586
|
+
#
|
|
10587
|
+
# @option params [String] :data_type
|
|
10588
|
+
# Filters the results to export jobs that produce the specified data
|
|
10589
|
+
# type.
|
|
10590
|
+
#
|
|
10591
|
+
# @option params [Integer] :max_results
|
|
10592
|
+
# The maximum number of results to return in a single call. Valid range
|
|
10593
|
+
# is 1–20.
|
|
10594
|
+
#
|
|
10595
|
+
# @option params [String] :next_token
|
|
10596
|
+
# The token required for pagination. On your first call, set the value
|
|
10597
|
+
# of this parameter to `NULL`. For subsequent calls, to continue listing
|
|
10598
|
+
# data, set the value of this parameter to the value returned in the
|
|
10599
|
+
# previous response.
|
|
10600
|
+
#
|
|
10601
|
+
# @return [Types::ListExportJobsV2Response] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
|
10602
|
+
#
|
|
10603
|
+
# * {Types::ListExportJobsV2Response#items #items} => Array<Types::ExportSummary>
|
|
10604
|
+
# * {Types::ListExportJobsV2Response#next_token #next_token} => String
|
|
10605
|
+
#
|
|
10606
|
+
# The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
|
|
10607
|
+
#
|
|
10608
|
+
#
|
|
10609
|
+
# @example Example: Example – Listing successful findings export jobs
|
|
10610
|
+
#
|
|
10611
|
+
# # The following example lists the findings export jobs in the account that have succeeded, returning up to 10 results per
|
|
10612
|
+
# # page.
|
|
10613
|
+
#
|
|
10614
|
+
# resp = client.list_export_jobs_v2({
|
|
10615
|
+
# data_type: "FINDINGS",
|
|
10616
|
+
# max_results: 10,
|
|
10617
|
+
# status: "SUCCEEDED",
|
|
10618
|
+
# })
|
|
10619
|
+
#
|
|
10620
|
+
# resp.to_h outputs the following:
|
|
10621
|
+
# {
|
|
10622
|
+
# items: [
|
|
10623
|
+
# {
|
|
10624
|
+
# data_type: "FINDINGS",
|
|
10625
|
+
# destination: {
|
|
10626
|
+
# s3: {
|
|
10627
|
+
# bucket_arn: "arn:aws:s3:::amzn-s3-demo-bucket",
|
|
10628
|
+
# kms_key_arn: "arn:aws:kms:aa-example-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab",
|
|
10629
|
+
# object_prefix: "security-hub-exports/2026-Q1",
|
|
10630
|
+
# },
|
|
10631
|
+
# },
|
|
10632
|
+
# ended_at: Time.parse("2026-03-27T18:09:52Z"),
|
|
10633
|
+
# export_job_id: "a1b2c3d4e5f6",
|
|
10634
|
+
# name: "quarterly-critical-findings",
|
|
10635
|
+
# output_configuration: {
|
|
10636
|
+
# findings: {
|
|
10637
|
+
# format: "CSV",
|
|
10638
|
+
# },
|
|
10639
|
+
# },
|
|
10640
|
+
# started_at: Time.parse("2026-03-27T18:04:11Z"),
|
|
10641
|
+
# status: "SUCCEEDED",
|
|
10642
|
+
# },
|
|
10643
|
+
# ],
|
|
10644
|
+
# next_token: "U2VjdXJpdHlIdWJFeGFtcGxlUGFnaW5hdGlvblRva2Vu",
|
|
10645
|
+
# }
|
|
10646
|
+
#
|
|
10647
|
+
# @example Request syntax with placeholder values
|
|
10648
|
+
#
|
|
10649
|
+
# resp = client.list_export_jobs_v2({
|
|
10650
|
+
# status: "RUNNING", # accepts RUNNING, SUCCEEDED, FAILED, CANCELLED
|
|
10651
|
+
# data_type: "FINDINGS", # accepts FINDINGS
|
|
10652
|
+
# max_results: 1,
|
|
10653
|
+
# next_token: "NextToken",
|
|
10654
|
+
# })
|
|
10655
|
+
#
|
|
10656
|
+
# @example Response structure
|
|
10657
|
+
#
|
|
10658
|
+
# resp.items #=> Array
|
|
10659
|
+
# resp.items[0].export_job_id #=> String
|
|
10660
|
+
# resp.items[0].name #=> String
|
|
10661
|
+
# resp.items[0].status #=> String, one of "RUNNING", "SUCCEEDED", "FAILED", "CANCELLED"
|
|
10662
|
+
# resp.items[0].data_type #=> String, one of "FINDINGS"
|
|
10663
|
+
# resp.items[0].output_configuration.findings.format #=> String, one of "CSV", "OCSF_JSON"
|
|
10664
|
+
# resp.items[0].scopes.aws_organizations #=> Array
|
|
10665
|
+
# resp.items[0].scopes.aws_organizations[0].organization_id #=> String
|
|
10666
|
+
# resp.items[0].scopes.aws_organizations[0].organizational_unit_id #=> String
|
|
10667
|
+
# resp.items[0].destination.s3.bucket_arn #=> String
|
|
10668
|
+
# resp.items[0].destination.s3.kms_key_arn #=> String
|
|
10669
|
+
# resp.items[0].destination.s3.object_prefix #=> String
|
|
10670
|
+
# resp.items[0].failure_code #=> String, one of "ACCESS_DENIED", "RESOURCE_NOT_FOUND", "INTERNAL_ERROR"
|
|
10671
|
+
# resp.items[0].failure_message #=> String
|
|
10672
|
+
# resp.items[0].started_at #=> Time
|
|
10673
|
+
# resp.items[0].ended_at #=> Time
|
|
10674
|
+
# resp.next_token #=> String
|
|
10675
|
+
#
|
|
10676
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ListExportJobsV2 AWS API Documentation
|
|
10677
|
+
#
|
|
10678
|
+
# @overload list_export_jobs_v2(params = {})
|
|
10679
|
+
# @param [Hash] params ({})
|
|
10680
|
+
def list_export_jobs_v2(params = {}, options = {})
|
|
10681
|
+
req = build_request(:list_export_jobs_v2, params)
|
|
10682
|
+
req.send_request(options)
|
|
10683
|
+
end
|
|
10684
|
+
|
|
10685
|
+
# Retrieves the exposure findings tied to a specific remediation target.
|
|
10686
|
+
# Results are sorted by previous severity, highest first, and are
|
|
10687
|
+
# paginated.
|
|
10688
|
+
#
|
|
10689
|
+
# @option params [required, String] :target_uid
|
|
10690
|
+
# The unique identifier (ID) of an existing remediation target to list
|
|
10691
|
+
# exposure findings for.
|
|
10692
|
+
#
|
|
10693
|
+
# @option params [Integer] :max_results
|
|
10694
|
+
# The maximum number of results to return. Valid range is 1-100. If you
|
|
10695
|
+
# don't specify a value, the operation returns up to 25 results.
|
|
10696
|
+
#
|
|
10697
|
+
# @option params [String] :next_token
|
|
10698
|
+
# The token used to paginate the exposures list returned. On your first
|
|
10699
|
+
# call to `ListExposuresByRemediationV2`, omit this parameter or set it
|
|
10700
|
+
# to `NULL`. For subsequent calls, use the `NextToken` value returned in
|
|
10701
|
+
# the previous response to retrieve the next page of results.
|
|
10702
|
+
#
|
|
10703
|
+
# @return [Types::ListExposuresByRemediationV2Response] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
|
10704
|
+
#
|
|
10705
|
+
# * {Types::ListExposuresByRemediationV2Response#items #items} => Array<Types::ExposureFinding>
|
|
10706
|
+
# * {Types::ListExposuresByRemediationV2Response#target_uid #target_uid} => String
|
|
10707
|
+
# * {Types::ListExposuresByRemediationV2Response#resource #resource} => Types::RemediationResource
|
|
10708
|
+
# * {Types::ListExposuresByRemediationV2Response#total_count #total_count} => Integer
|
|
10709
|
+
# * {Types::ListExposuresByRemediationV2Response#trait #trait} => Types::RemediationTrait
|
|
10710
|
+
# * {Types::ListExposuresByRemediationV2Response#next_token #next_token} => String
|
|
10711
|
+
#
|
|
10712
|
+
# The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
|
|
10713
|
+
#
|
|
10714
|
+
# @example Request syntax with placeholder values
|
|
10715
|
+
#
|
|
10716
|
+
# resp = client.list_exposures_by_remediation_v2({
|
|
10717
|
+
# target_uid: "RemediationStringUid", # required
|
|
10718
|
+
# max_results: 1,
|
|
10719
|
+
# next_token: "NextToken",
|
|
10720
|
+
# })
|
|
10721
|
+
#
|
|
10722
|
+
# @example Response structure
|
|
10723
|
+
#
|
|
10724
|
+
# resp.items #=> Array
|
|
10725
|
+
# resp.items[0].metadata_uid #=> String
|
|
10726
|
+
# resp.items[0].title #=> String
|
|
10727
|
+
# resp.items[0].previous_severity #=> String, one of "Informational", "Low", "Medium", "High", "Critical"
|
|
10728
|
+
# resp.items[0].projected_severity #=> String, one of "Informational", "Low", "Medium", "High", "Critical"
|
|
10729
|
+
# resp.items[0].impact #=> String, one of "Reduces", "Resolves", "Unchanged"
|
|
10730
|
+
# resp.target_uid #=> String
|
|
10731
|
+
# resp.resource.account_id #=> String
|
|
10732
|
+
# resp.resource.region #=> String
|
|
10733
|
+
# resp.resource.resource_owner_account_id #=> String
|
|
10734
|
+
# resp.resource.resource_owner_org_id #=> String
|
|
10735
|
+
# resp.resource.type #=> String
|
|
10736
|
+
# resp.resource.name #=> String
|
|
10737
|
+
# resp.resource.id #=> String
|
|
10738
|
+
# resp.resource.resource_guid #=> String
|
|
10739
|
+
# resp.resource.resource_region #=> String
|
|
10740
|
+
# resp.resource.cloud_provider #=> String, one of "Azure", "AWS"
|
|
10741
|
+
# resp.total_count #=> Integer
|
|
10742
|
+
# resp.trait.type #=> String
|
|
10743
|
+
# resp.trait.title #=> String
|
|
10744
|
+
# resp.next_token #=> String
|
|
10745
|
+
#
|
|
10746
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ListExposuresByRemediationV2 AWS API Documentation
|
|
10747
|
+
#
|
|
10748
|
+
# @overload list_exposures_by_remediation_v2(params = {})
|
|
10749
|
+
# @param [Hash] params ({})
|
|
10750
|
+
def list_exposures_by_remediation_v2(params = {}, options = {})
|
|
10751
|
+
req = build_request(:list_exposures_by_remediation_v2, params)
|
|
10752
|
+
req.send_request(options)
|
|
10753
|
+
end
|
|
10754
|
+
|
|
10135
10755
|
# If cross-Region aggregation is enabled, then `ListFindingAggregators`
|
|
10136
10756
|
# returns the Amazon Resource Name (ARN) of the finding aggregator. You
|
|
10137
10757
|
# can run this operation from any Amazon Web Services Region.
|
|
@@ -11031,6 +11651,307 @@ module Aws::SecurityHub
|
|
|
11031
11651
|
req.send_request(options)
|
|
11032
11652
|
end
|
|
11033
11653
|
|
|
11654
|
+
# Starts an ad hoc export job that writes Security Hub findings to an
|
|
11655
|
+
# Amazon Simple Storage Service (Amazon S3) bucket that you own. Because
|
|
11656
|
+
# the export runs asynchronously, this operation returns only the
|
|
11657
|
+
# `ExportJobId` of the new job; it doesn't wait for the export to
|
|
11658
|
+
# finish. Use `GetExportJobV2` to poll the job, and `ListExportJobsV2`
|
|
11659
|
+
# to view the export jobs in your account.
|
|
11660
|
+
#
|
|
11661
|
+
# Security Hub allows only one export job in the `RUNNING` state per
|
|
11662
|
+
# account at a time. If an export job is already running, this operation
|
|
11663
|
+
# returns a `ServiceQuotaExceededException`. Wait for the running job to
|
|
11664
|
+
# finish, or cancel it with `CancelExportJobV2`, before you start a new
|
|
11665
|
+
# one.
|
|
11666
|
+
#
|
|
11667
|
+
# Specify the destination bucket and Amazon Web Services Key Management
|
|
11668
|
+
# Service (Amazon Web Services KMS) key in the `Destination` parameter,
|
|
11669
|
+
# and the output format (`CSV` or `OCSF_JSON`), optional filters, and
|
|
11670
|
+
# field selection in the `OutputConfiguration` parameter. Before you
|
|
11671
|
+
# call this operation, you must grant Security Hub permission to write
|
|
11672
|
+
# to your bucket and use your Amazon Web Services KMS key by adding the
|
|
11673
|
+
# bucket policy and key policy statements shown in the Examples section.
|
|
11674
|
+
#
|
|
11675
|
+
# Two identities use your Amazon Web Services KMS key, and each needs
|
|
11676
|
+
# its own permission. Security Hub uses the key when it writes the
|
|
11677
|
+
# export objects to your bucket. The IAM principal that calls
|
|
11678
|
+
# `StartExportJobV2` must also have `kms:GenerateDataKey` and
|
|
11679
|
+
# `kms:Decrypt` permissions on the key. The Examples section shows both
|
|
11680
|
+
# grants.
|
|
11681
|
+
#
|
|
11682
|
+
# A delegated administrator can use the optional `Scopes` parameter to
|
|
11683
|
+
# export findings for specific organizations or organizational units
|
|
11684
|
+
# (OUs).
|
|
11685
|
+
#
|
|
11686
|
+
# To make the request idempotent, provide a `ClientToken`. If you retry
|
|
11687
|
+
# a `StartExportJobV2` request with the same `ClientToken` and the same
|
|
11688
|
+
# request parameters, Security Hub returns the `ExportJobId` of the
|
|
11689
|
+
# original job instead of starting a new one. If you reuse a
|
|
11690
|
+
# `ClientToken` with different request parameters, this operation
|
|
11691
|
+
# returns a `ConflictException`.
|
|
11692
|
+
#
|
|
11693
|
+
# @option params [String] :name
|
|
11694
|
+
# An optional, user-provided name for the export job that helps you
|
|
11695
|
+
# identify it in `ListExportJobsV2` results. The value can be 1–256
|
|
11696
|
+
# characters. Alphanumeric characters, spaces, and the following ASCII
|
|
11697
|
+
# characters are permitted: `. _ , : ( ) / + -`.
|
|
11698
|
+
#
|
|
11699
|
+
# @option params [required, Types::ExportDestination] :destination
|
|
11700
|
+
# The destination that Security Hub writes the export to. You must
|
|
11701
|
+
# specify exactly one destination type. Currently, the only supported
|
|
11702
|
+
# type is Amazon S3.
|
|
11703
|
+
#
|
|
11704
|
+
# @option params [required, Types::ExportOutput] :output_configuration
|
|
11705
|
+
# Specifies what data to export and how to format it. You must specify
|
|
11706
|
+
# exactly one output type. Currently, the only supported type is
|
|
11707
|
+
# `Findings`.
|
|
11708
|
+
#
|
|
11709
|
+
# @option params [Types::ExportScopes] :scopes
|
|
11710
|
+
# Limits the export to findings from specific organizational units (OUs)
|
|
11711
|
+
# or from the delegated administrator's organization. Only the
|
|
11712
|
+
# delegated administrator account can use this parameter; other accounts
|
|
11713
|
+
# that specify it receive an `AccessDeniedException`.
|
|
11714
|
+
#
|
|
11715
|
+
# This parameter is optional. If you omit it, the delegated
|
|
11716
|
+
# administrator exports findings from all accounts across the entire
|
|
11717
|
+
# organization, and other accounts export only their own findings.
|
|
11718
|
+
#
|
|
11719
|
+
# You can specify up to 10 entries in `Scopes.AwsOrganizations`. If you
|
|
11720
|
+
# specify multiple entries, Security Hub combines them using OR logic.
|
|
11721
|
+
#
|
|
11722
|
+
# @option params [String] :client_token
|
|
11723
|
+
# A unique identifier used to ensure idempotency.
|
|
11724
|
+
#
|
|
11725
|
+
# **A suitable default value is auto-generated.** You should normally
|
|
11726
|
+
# not need to pass this option.**
|
|
11727
|
+
#
|
|
11728
|
+
# @return [Types::StartExportJobV2Response] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
|
11729
|
+
#
|
|
11730
|
+
# * {Types::StartExportJobV2Response#export_job_id #export_job_id} => String
|
|
11731
|
+
#
|
|
11732
|
+
#
|
|
11733
|
+
# @example Example: Example – Starting a CSV export of critical findings
|
|
11734
|
+
#
|
|
11735
|
+
# # The following example starts an export that writes selected fields of new, critical findings to an Amazon S3 bucket in
|
|
11736
|
+
# # CSV format.
|
|
11737
|
+
#
|
|
11738
|
+
# resp = client.start_export_job_v2({
|
|
11739
|
+
# client_token: "b3d1f9a2-1c4e-4b9a-9f2e-EXAMPLE11111",
|
|
11740
|
+
# destination: {
|
|
11741
|
+
# s3: {
|
|
11742
|
+
# bucket_arn: "arn:aws:s3:::amzn-s3-demo-bucket",
|
|
11743
|
+
# kms_key_arn: "arn:aws:kms:aa-example-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab",
|
|
11744
|
+
# object_prefix: "security-hub-exports/2026-Q1",
|
|
11745
|
+
# },
|
|
11746
|
+
# },
|
|
11747
|
+
# name: "quarterly-critical-findings",
|
|
11748
|
+
# output_configuration: {
|
|
11749
|
+
# findings: {
|
|
11750
|
+
# filters: {
|
|
11751
|
+
# composite_filters: [
|
|
11752
|
+
# {
|
|
11753
|
+
# operator: "AND",
|
|
11754
|
+
# string_filters: [
|
|
11755
|
+
# {
|
|
11756
|
+
# field_name: "severity",
|
|
11757
|
+
# filter: {
|
|
11758
|
+
# comparison: "EQUALS",
|
|
11759
|
+
# value: "Critical",
|
|
11760
|
+
# },
|
|
11761
|
+
# },
|
|
11762
|
+
# {
|
|
11763
|
+
# field_name: "status",
|
|
11764
|
+
# filter: {
|
|
11765
|
+
# comparison: "EQUALS",
|
|
11766
|
+
# value: "New",
|
|
11767
|
+
# },
|
|
11768
|
+
# },
|
|
11769
|
+
# ],
|
|
11770
|
+
# },
|
|
11771
|
+
# ],
|
|
11772
|
+
# composite_operator: "AND",
|
|
11773
|
+
# },
|
|
11774
|
+
# format: "CSV",
|
|
11775
|
+
# selected_fields: [
|
|
11776
|
+
# "finding_info.title",
|
|
11777
|
+
# "severity",
|
|
11778
|
+
# "status",
|
|
11779
|
+
# "cloud.account.uid",
|
|
11780
|
+
# "resources.uid",
|
|
11781
|
+
# ],
|
|
11782
|
+
# },
|
|
11783
|
+
# },
|
|
11784
|
+
# })
|
|
11785
|
+
#
|
|
11786
|
+
# resp.to_h outputs the following:
|
|
11787
|
+
# {
|
|
11788
|
+
# export_job_id: "a1b2c3d4e5f6",
|
|
11789
|
+
# }
|
|
11790
|
+
#
|
|
11791
|
+
# @example Example: Example – Starting an OCSF JSON export scoped to an organizational unit
|
|
11792
|
+
#
|
|
11793
|
+
# # The following example, run by a delegated administrator, starts an export of the last 30 days of findings for a specific
|
|
11794
|
+
# # organizational unit (OU) in OCSF JSON format.
|
|
11795
|
+
#
|
|
11796
|
+
# resp = client.start_export_job_v2({
|
|
11797
|
+
# destination: {
|
|
11798
|
+
# s3: {
|
|
11799
|
+
# bucket_arn: "arn:aws:s3:::amzn-s3-demo-bucket",
|
|
11800
|
+
# kms_key_arn: "arn:aws:kms:aa-example-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab",
|
|
11801
|
+
# },
|
|
11802
|
+
# },
|
|
11803
|
+
# output_configuration: {
|
|
11804
|
+
# findings: {
|
|
11805
|
+
# filters: {
|
|
11806
|
+
# composite_filters: [
|
|
11807
|
+
# {
|
|
11808
|
+
# date_filters: [
|
|
11809
|
+
# {
|
|
11810
|
+
# field_name: "finding_info.last_seen_time_dt",
|
|
11811
|
+
# filter: {
|
|
11812
|
+
# date_range: {
|
|
11813
|
+
# comparison: "WITHIN",
|
|
11814
|
+
# unit: "DAYS",
|
|
11815
|
+
# value: 30,
|
|
11816
|
+
# },
|
|
11817
|
+
# },
|
|
11818
|
+
# },
|
|
11819
|
+
# ],
|
|
11820
|
+
# operator: "AND",
|
|
11821
|
+
# },
|
|
11822
|
+
# ],
|
|
11823
|
+
# composite_operator: "AND",
|
|
11824
|
+
# },
|
|
11825
|
+
# format: "OCSF_JSON",
|
|
11826
|
+
# },
|
|
11827
|
+
# },
|
|
11828
|
+
# scopes: {
|
|
11829
|
+
# aws_organizations: [
|
|
11830
|
+
# {
|
|
11831
|
+
# organizational_unit_id: "ou-1234-a1b2c3d4",
|
|
11832
|
+
# },
|
|
11833
|
+
# ],
|
|
11834
|
+
# },
|
|
11835
|
+
# })
|
|
11836
|
+
#
|
|
11837
|
+
# resp.to_h outputs the following:
|
|
11838
|
+
# {
|
|
11839
|
+
# export_job_id: "f6e5d4c3b2a1",
|
|
11840
|
+
# }
|
|
11841
|
+
#
|
|
11842
|
+
# @example Request syntax with placeholder values
|
|
11843
|
+
#
|
|
11844
|
+
# resp = client.start_export_job_v2({
|
|
11845
|
+
# name: "ExportName",
|
|
11846
|
+
# destination: { # required
|
|
11847
|
+
# s3: {
|
|
11848
|
+
# bucket_arn: "NonEmptyString", # required
|
|
11849
|
+
# kms_key_arn: "NonEmptyString", # required
|
|
11850
|
+
# object_prefix: "S3ObjectPrefix",
|
|
11851
|
+
# },
|
|
11852
|
+
# },
|
|
11853
|
+
# output_configuration: { # required
|
|
11854
|
+
# findings: {
|
|
11855
|
+
# format: "CSV", # required, accepts CSV, OCSF_JSON
|
|
11856
|
+
# filters: {
|
|
11857
|
+
# composite_filters: [
|
|
11858
|
+
# {
|
|
11859
|
+
# string_filters: [
|
|
11860
|
+
# {
|
|
11861
|
+
# field_name: "metadata.uid", # accepts metadata.uid, activity_name, cloud.account.uid, cloud.provider, cloud.region, compliance.assessments.category, compliance.assessments.name, compliance.control, compliance.status, compliance.standards, finding_info.desc, finding_info.src_url, finding_info.title, finding_info.types, finding_info.uid, finding_info.related_events.traits.category, finding_info.related_events.uid, finding_info.related_events.product.uid, finding_info.related_events.title, metadata.product.name, metadata.product.uid, metadata.product.vendor_name, remediation.desc, remediation.references, resources.cloud_partition, resources.name, resources.owner.account.uid, resources.owner.org.uid, resources.owner.account.name, resources.provider, resources.region, resources.type, resources.uid, severity, status, comment, vulnerabilities.fix_coverage, class_name, databucket.encryption_details.algorithm, databucket.encryption_details.key_uid, databucket.file.data_classifications.classifier_details.type, evidences.actor.user.account.uid, evidences.api.operation, evidences.api.response.error_message, evidences.api.service.name, evidences.connection_info.direction, evidences.connection_info.protocol_name, evidences.dst_endpoint.autonomous_system.name, evidences.dst_endpoint.location.city, evidences.dst_endpoint.location.country, evidences.src_endpoint.autonomous_system.name, evidences.src_endpoint.hostname, evidences.src_endpoint.location.city, evidences.src_endpoint.location.country, finding_info.analytic.name, malware.name, malware_scan_info.uid, malware.severity, resources.cloud_function.layers.uid_alt, resources.cloud_function.runtime, resources.cloud_function.user.uid, resources.device.encryption_details.key_uid, resources.device.image.uid, resources.image.architecture, resources.image.registry_uid, resources.image.repository_name, resources.image.uid, resources.subnet_info.uid, resources.vpc_uid, vulnerabilities.affected_code.file.path, vulnerabilities.affected_packages.name, vulnerabilities.cve.epss.score, vulnerabilities.cve.uid, vulnerabilities.related_vulnerabilities, cloud.account.name, vendor_attributes.severity
|
|
11862
|
+
# filter: {
|
|
11863
|
+
# value: "NonEmptyString",
|
|
11864
|
+
# comparison: "EQUALS", # accepts EQUALS, PREFIX, NOT_EQUALS, PREFIX_NOT_EQUALS, CONTAINS, NOT_CONTAINS, CONTAINS_WORD
|
|
11865
|
+
# },
|
|
11866
|
+
# },
|
|
11867
|
+
# ],
|
|
11868
|
+
# date_filters: [
|
|
11869
|
+
# {
|
|
11870
|
+
# field_name: "finding_info.created_time_dt", # accepts finding_info.created_time_dt, finding_info.first_seen_time_dt, finding_info.last_seen_time_dt, finding_info.modified_time_dt, resources.image.created_time_dt, resources.image.last_used_time_dt, resources.modified_time_dt
|
|
11871
|
+
# filter: {
|
|
11872
|
+
# start: "NonEmptyString",
|
|
11873
|
+
# end: "NonEmptyString",
|
|
11874
|
+
# date_range: {
|
|
11875
|
+
# value: 1,
|
|
11876
|
+
# unit: "DAYS", # accepts DAYS
|
|
11877
|
+
# comparison: "WITHIN", # accepts WITHIN, OLDER_THAN
|
|
11878
|
+
# },
|
|
11879
|
+
# },
|
|
11880
|
+
# },
|
|
11881
|
+
# ],
|
|
11882
|
+
# boolean_filters: [
|
|
11883
|
+
# {
|
|
11884
|
+
# field_name: "compliance.assessments.meets_criteria", # accepts compliance.assessments.meets_criteria, vulnerabilities.is_exploit_available, vulnerabilities.is_fix_available
|
|
11885
|
+
# filter: {
|
|
11886
|
+
# value: false,
|
|
11887
|
+
# },
|
|
11888
|
+
# },
|
|
11889
|
+
# ],
|
|
11890
|
+
# number_filters: [
|
|
11891
|
+
# {
|
|
11892
|
+
# field_name: "activity_id", # accepts activity_id, compliance.status_id, confidence_score, severity_id, status_id, finding_info.related_events_count, evidences.api.response.code, evidences.dst_endpoint.autonomous_system.number, evidences.dst_endpoint.port, evidences.src_endpoint.autonomous_system.number, evidences.src_endpoint.port, resources.image.in_use_count, vulnerabilities.cve.cvss.base_score, vendor_attributes.severity_id
|
|
11893
|
+
# filter: {
|
|
11894
|
+
# gte: 1.0,
|
|
11895
|
+
# lte: 1.0,
|
|
11896
|
+
# eq: 1.0,
|
|
11897
|
+
# gt: 1.0,
|
|
11898
|
+
# lt: 1.0,
|
|
11899
|
+
# },
|
|
11900
|
+
# },
|
|
11901
|
+
# ],
|
|
11902
|
+
# map_filters: [
|
|
11903
|
+
# {
|
|
11904
|
+
# field_name: "resources.tags", # accepts resources.tags, compliance.control_parameters, databucket.tags, finding_info.tags
|
|
11905
|
+
# filter: {
|
|
11906
|
+
# key: "NonEmptyString",
|
|
11907
|
+
# value: "NonEmptyString",
|
|
11908
|
+
# comparison: "EQUALS", # accepts EQUALS, NOT_EQUALS, CONTAINS, NOT_CONTAINS
|
|
11909
|
+
# },
|
|
11910
|
+
# },
|
|
11911
|
+
# ],
|
|
11912
|
+
# ip_filters: [
|
|
11913
|
+
# {
|
|
11914
|
+
# field_name: "evidences.dst_endpoint.ip", # accepts evidences.dst_endpoint.ip, evidences.src_endpoint.ip
|
|
11915
|
+
# filter: {
|
|
11916
|
+
# cidr: "NonEmptyString",
|
|
11917
|
+
# },
|
|
11918
|
+
# },
|
|
11919
|
+
# ],
|
|
11920
|
+
# nested_composite_filters: {
|
|
11921
|
+
# # recursive CompositeFilterList
|
|
11922
|
+
# },
|
|
11923
|
+
# operator: "AND", # accepts AND, OR
|
|
11924
|
+
# },
|
|
11925
|
+
# ],
|
|
11926
|
+
# composite_operator: "AND", # accepts AND, OR
|
|
11927
|
+
# },
|
|
11928
|
+
# selected_fields: ["metadata.uid"], # accepts metadata.uid, activity_name, cloud.account.name, cloud.account.uid, cloud.provider, cloud.region, compliance.assessments.category, compliance.assessments.name, compliance.control, compliance.status, compliance.standards, finding_info.desc, finding_info.src_url, finding_info.title, finding_info.types, finding_info.uid, finding_info.related_events.traits.category, finding_info.related_events.uid, finding_info.related_events.product.uid, finding_info.related_events.title, metadata.product.feature.uid, metadata.product.name, metadata.product.uid, metadata.product.vendor_name, remediation.desc, remediation.references, resources.cloud_partition, resources.name, resources.owner.account.uid, resources.owner.org.uid, resources.owner.account.name, resources.provider, resources.region, resources.type, resources.uid, severity, status, comment, vulnerabilities.fix_coverage, class_name, databucket.encryption_details.algorithm, databucket.encryption_details.key_uid, databucket.file.data_classifications.classifier_details.type, evidences.actor.user.account.uid, evidences.api.operation, evidences.api.response.error_message, evidences.api.service.name, evidences.connection_info.direction, evidences.connection_info.protocol_name, evidences.dst_endpoint.autonomous_system.name, evidences.dst_endpoint.location.city, evidences.dst_endpoint.location.country, evidences.src_endpoint.autonomous_system.name, evidences.src_endpoint.hostname, evidences.src_endpoint.location.city, evidences.src_endpoint.location.country, finding_info.analytic.name, malware.name, malware_scan_info.uid, malware.severity, resources.cloud_function.layers.uid_alt, resources.cloud_function.runtime, resources.cloud_function.user.uid, resources.device.encryption_details.key_uid, resources.device.image.uid, resources.image.architecture, resources.image.registry_uid, resources.image.repository_name, resources.image.uid, resources.subnet_info.uid, resources.vpc_uid, vulnerabilities.affected_code.file.path, vulnerabilities.affected_packages.name, vulnerabilities.cve.cvss.vendor_name, vulnerabilities.cve.cvss.version, vulnerabilities.cve.epss.score, vulnerabilities.cve.uid, vulnerabilities.related_vulnerabilities, vendor_attributes.severity, activity_id, compliance.status_id, confidence_score, severity_id, status_id, finding_info.related_events_count, evidences.api.response.code, evidences.dst_endpoint.autonomous_system.number, evidences.dst_endpoint.port, evidences.src_endpoint.autonomous_system.number, evidences.src_endpoint.port, resources.image.in_use_count, vulnerabilities.cve.cvss.base_score, vendor_attributes.severity_id, finding_info.created_time_dt, finding_info.first_seen_time_dt, finding_info.last_seen_time_dt, finding_info.modified_time_dt, resources.image.created_time_dt, resources.image.last_used_time_dt, resources.modified_time_dt, compliance.assessments.meets_criteria, vulnerabilities.is_exploit_available, vulnerabilities.is_fix_available, resources.tags, compliance.control_parameters, databucket.tags, finding_info.tags, evidences.dst_endpoint.ip, evidences.src_endpoint.ip
|
|
11929
|
+
# },
|
|
11930
|
+
# },
|
|
11931
|
+
# scopes: {
|
|
11932
|
+
# aws_organizations: [
|
|
11933
|
+
# {
|
|
11934
|
+
# organization_id: "NonEmptyString",
|
|
11935
|
+
# organizational_unit_id: "NonEmptyString",
|
|
11936
|
+
# },
|
|
11937
|
+
# ],
|
|
11938
|
+
# },
|
|
11939
|
+
# client_token: "ClientToken",
|
|
11940
|
+
# })
|
|
11941
|
+
#
|
|
11942
|
+
# @example Response structure
|
|
11943
|
+
#
|
|
11944
|
+
# resp.export_job_id #=> String
|
|
11945
|
+
#
|
|
11946
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/StartExportJobV2 AWS API Documentation
|
|
11947
|
+
#
|
|
11948
|
+
# @overload start_export_job_v2(params = {})
|
|
11949
|
+
# @param [Hash] params ({})
|
|
11950
|
+
def start_export_job_v2(params = {}, options = {})
|
|
11951
|
+
req = build_request(:start_export_job_v2, params)
|
|
11952
|
+
req.send_request(options)
|
|
11953
|
+
end
|
|
11954
|
+
|
|
11034
11955
|
# Adds one or more tags to a resource.
|
|
11035
11956
|
#
|
|
11036
11957
|
# @option params [required, String] :resource_arn
|
|
@@ -13609,7 +14530,7 @@ module Aws::SecurityHub
|
|
|
13609
14530
|
tracer: tracer
|
|
13610
14531
|
)
|
|
13611
14532
|
context[:gem_name] = 'aws-sdk-securityhub'
|
|
13612
|
-
context[:gem_version] = '1.
|
|
14533
|
+
context[:gem_version] = '1.167.0'
|
|
13613
14534
|
Seahorse::Client::Request.new(handlers, context)
|
|
13614
14535
|
end
|
|
13615
14536
|
|