aws-sdk-securityhub 1.166.0 → 1.168.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.
@@ -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
@@ -2969,7 +3029,7 @@ module Aws::SecurityHub
2969
3029
  # {
2970
3030
  # string_filters: [
2971
3031
  # {
2972
- # 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
3032
+ # 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, impact, likelihood, metadata.product.name, metadata.product.uid, metadata.product.vendor_name, remediation.desc, remediation.references, resources.cloud_partition, resources.criticality, 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
2973
3033
  # filter: {
2974
3034
  # value: "NonEmptyString",
2975
3035
  # comparison: "EQUALS", # accepts EQUALS, PREFIX, NOT_EQUALS, PREFIX_NOT_EQUALS, CONTAINS, NOT_CONTAINS, CONTAINS_WORD
@@ -3036,10 +3096,66 @@ module Aws::SecurityHub
3036
3096
  # ],
3037
3097
  # composite_operator: "AND", # accepts AND, OR
3038
3098
  # },
3099
+ # resource_criteria: {
3100
+ # composite_filters: [
3101
+ # {
3102
+ # string_filters: [
3103
+ # {
3104
+ # field_name: "ResourceGuid", # accepts ResourceGuid, ResourceId, AccountId, AccountName, Region, ResourceProvider, ResourceOwnerAccountId, ResourceOwnerOrgId, ResourceCloudPartition, ResourceRegion, ResourceCategory, ResourceType, ResourceName, FindingsSummary.FindingType, FindingsSummary.ProductName, ResourceSubCategory, DiscoveryType, ResourceInfo.AIDetails.HostResourceGuid, ResourceInfo.AIDetails.HostResourceType, ResourceInfo.AIDetails.CanonicalId, ResourceCriticality
3105
+ # filter: {
3106
+ # value: "NonEmptyString",
3107
+ # comparison: "EQUALS", # accepts EQUALS, PREFIX, NOT_EQUALS, PREFIX_NOT_EQUALS, CONTAINS, NOT_CONTAINS, CONTAINS_WORD
3108
+ # },
3109
+ # },
3110
+ # ],
3111
+ # date_filters: [
3112
+ # {
3113
+ # field_name: "ResourceDetailCaptureTime", # accepts ResourceDetailCaptureTime, ResourceCreationTime
3114
+ # filter: {
3115
+ # start: "NonEmptyString",
3116
+ # end: "NonEmptyString",
3117
+ # date_range: {
3118
+ # value: 1,
3119
+ # unit: "DAYS", # accepts DAYS
3120
+ # comparison: "WITHIN", # accepts WITHIN, OLDER_THAN
3121
+ # },
3122
+ # },
3123
+ # },
3124
+ # ],
3125
+ # number_filters: [
3126
+ # {
3127
+ # field_name: "FindingsSummary.TotalFindings", # accepts FindingsSummary.TotalFindings, FindingsSummary.Severities.Other, FindingsSummary.Severities.Fatal, FindingsSummary.Severities.Critical, FindingsSummary.Severities.High, FindingsSummary.Severities.Medium, FindingsSummary.Severities.Low, FindingsSummary.Severities.Informational, FindingsSummary.Severities.Unknown, ResourceInfo.AIDetails.SelfHostedAIModelResourceCount, ResourceInfo.AIDetails.SelfHostedAIAgentResourceCount, ResourceInfo.AIDetails.SelfHostedAIModelServingResourceCount, ResourceInfo.AIDetails.SelfHostedAIExternalEndpointResourceCount, ResourceInfo.AIDetails.SelfHostedAIDevelopmentResourceCount, ResourceInfo.AIDetails.SelfHostedAIAgentFrameworkResourceCount, ResourceInfo.AIDetails.SelfHostedAIAgentToolsAndIdentityResourceCount, ResourceInfo.AIDetails.SelfHostedTotalAIResourceCount
3128
+ # filter: {
3129
+ # gte: 1.0,
3130
+ # lte: 1.0,
3131
+ # eq: 1.0,
3132
+ # gt: 1.0,
3133
+ # lt: 1.0,
3134
+ # },
3135
+ # },
3136
+ # ],
3137
+ # map_filters: [
3138
+ # {
3139
+ # field_name: "ResourceTags", # accepts ResourceTags
3140
+ # filter: {
3141
+ # key: "NonEmptyString",
3142
+ # value: "NonEmptyString",
3143
+ # comparison: "EQUALS", # accepts EQUALS, NOT_EQUALS, CONTAINS, NOT_CONTAINS
3144
+ # },
3145
+ # },
3146
+ # ],
3147
+ # nested_composite_filters: {
3148
+ # # recursive ResourcesCompositeFilterList
3149
+ # },
3150
+ # operator: "AND", # accepts AND, OR
3151
+ # },
3152
+ # ],
3153
+ # composite_operator: "AND", # accepts AND, OR
3154
+ # },
3039
3155
  # },
3040
3156
  # actions: [ # required
3041
3157
  # {
3042
- # type: "FINDING_FIELDS_UPDATE", # required, accepts FINDING_FIELDS_UPDATE, EXTERNAL_INTEGRATION
3158
+ # type: "FINDING_FIELDS_UPDATE", # required, accepts FINDING_FIELDS_UPDATE, EXTERNAL_INTEGRATION, RESOURCE_FIELDS_UPDATE
3043
3159
  # finding_fields_update: {
3044
3160
  # severity_id: 1,
3045
3161
  # comment: "NonEmptyString",
@@ -3048,6 +3164,9 @@ module Aws::SecurityHub
3048
3164
  # external_integration_configuration: {
3049
3165
  # connector_arn: "NonEmptyString",
3050
3166
  # },
3167
+ # resource_fields_update: {
3168
+ # criticality: "Very High", # required, accepts Very High, High, Medium, Low, Unknown
3169
+ # },
3051
3170
  # },
3052
3171
  # ],
3053
3172
  # tags: {
@@ -6227,7 +6346,7 @@ module Aws::SecurityHub
6227
6346
  # resp.description #=> String
6228
6347
  # resp.criteria.ocsf_finding_criteria.composite_filters #=> Array
6229
6348
  # resp.criteria.ocsf_finding_criteria.composite_filters[0].string_filters #=> Array
6230
- # resp.criteria.ocsf_finding_criteria.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"
6349
+ # resp.criteria.ocsf_finding_criteria.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", "impact", "likelihood", "metadata.product.name", "metadata.product.uid", "metadata.product.vendor_name", "remediation.desc", "remediation.references", "resources.cloud_partition", "resources.criticality", "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"
6231
6350
  # resp.criteria.ocsf_finding_criteria.composite_filters[0].string_filters[0].filter.value #=> String
6232
6351
  # resp.criteria.ocsf_finding_criteria.composite_filters[0].string_filters[0].filter.comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS", "PREFIX_NOT_EQUALS", "CONTAINS", "NOT_CONTAINS", "CONTAINS_WORD"
6233
6352
  # resp.criteria.ocsf_finding_criteria.composite_filters[0].date_filters #=> Array
@@ -6258,12 +6377,40 @@ module Aws::SecurityHub
6258
6377
  # resp.criteria.ocsf_finding_criteria.composite_filters[0].nested_composite_filters #=> Types::CompositeFilterList
6259
6378
  # resp.criteria.ocsf_finding_criteria.composite_filters[0].operator #=> String, one of "AND", "OR"
6260
6379
  # resp.criteria.ocsf_finding_criteria.composite_operator #=> String, one of "AND", "OR"
6380
+ # resp.criteria.resource_criteria.composite_filters #=> Array
6381
+ # resp.criteria.resource_criteria.composite_filters[0].string_filters #=> Array
6382
+ # resp.criteria.resource_criteria.composite_filters[0].string_filters[0].field_name #=> String, one of "ResourceGuid", "ResourceId", "AccountId", "AccountName", "Region", "ResourceProvider", "ResourceOwnerAccountId", "ResourceOwnerOrgId", "ResourceCloudPartition", "ResourceRegion", "ResourceCategory", "ResourceType", "ResourceName", "FindingsSummary.FindingType", "FindingsSummary.ProductName", "ResourceSubCategory", "DiscoveryType", "ResourceInfo.AIDetails.HostResourceGuid", "ResourceInfo.AIDetails.HostResourceType", "ResourceInfo.AIDetails.CanonicalId", "ResourceCriticality"
6383
+ # resp.criteria.resource_criteria.composite_filters[0].string_filters[0].filter.value #=> String
6384
+ # resp.criteria.resource_criteria.composite_filters[0].string_filters[0].filter.comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS", "PREFIX_NOT_EQUALS", "CONTAINS", "NOT_CONTAINS", "CONTAINS_WORD"
6385
+ # resp.criteria.resource_criteria.composite_filters[0].date_filters #=> Array
6386
+ # resp.criteria.resource_criteria.composite_filters[0].date_filters[0].field_name #=> String, one of "ResourceDetailCaptureTime", "ResourceCreationTime"
6387
+ # resp.criteria.resource_criteria.composite_filters[0].date_filters[0].filter.start #=> String
6388
+ # resp.criteria.resource_criteria.composite_filters[0].date_filters[0].filter.end #=> String
6389
+ # resp.criteria.resource_criteria.composite_filters[0].date_filters[0].filter.date_range.value #=> Integer
6390
+ # resp.criteria.resource_criteria.composite_filters[0].date_filters[0].filter.date_range.unit #=> String, one of "DAYS"
6391
+ # resp.criteria.resource_criteria.composite_filters[0].date_filters[0].filter.date_range.comparison #=> String, one of "WITHIN", "OLDER_THAN"
6392
+ # resp.criteria.resource_criteria.composite_filters[0].number_filters #=> Array
6393
+ # resp.criteria.resource_criteria.composite_filters[0].number_filters[0].field_name #=> String, one of "FindingsSummary.TotalFindings", "FindingsSummary.Severities.Other", "FindingsSummary.Severities.Fatal", "FindingsSummary.Severities.Critical", "FindingsSummary.Severities.High", "FindingsSummary.Severities.Medium", "FindingsSummary.Severities.Low", "FindingsSummary.Severities.Informational", "FindingsSummary.Severities.Unknown", "ResourceInfo.AIDetails.SelfHostedAIModelResourceCount", "ResourceInfo.AIDetails.SelfHostedAIAgentResourceCount", "ResourceInfo.AIDetails.SelfHostedAIModelServingResourceCount", "ResourceInfo.AIDetails.SelfHostedAIExternalEndpointResourceCount", "ResourceInfo.AIDetails.SelfHostedAIDevelopmentResourceCount", "ResourceInfo.AIDetails.SelfHostedAIAgentFrameworkResourceCount", "ResourceInfo.AIDetails.SelfHostedAIAgentToolsAndIdentityResourceCount", "ResourceInfo.AIDetails.SelfHostedTotalAIResourceCount"
6394
+ # resp.criteria.resource_criteria.composite_filters[0].number_filters[0].filter.gte #=> Float
6395
+ # resp.criteria.resource_criteria.composite_filters[0].number_filters[0].filter.lte #=> Float
6396
+ # resp.criteria.resource_criteria.composite_filters[0].number_filters[0].filter.eq #=> Float
6397
+ # resp.criteria.resource_criteria.composite_filters[0].number_filters[0].filter.gt #=> Float
6398
+ # resp.criteria.resource_criteria.composite_filters[0].number_filters[0].filter.lt #=> Float
6399
+ # resp.criteria.resource_criteria.composite_filters[0].map_filters #=> Array
6400
+ # resp.criteria.resource_criteria.composite_filters[0].map_filters[0].field_name #=> String, one of "ResourceTags"
6401
+ # resp.criteria.resource_criteria.composite_filters[0].map_filters[0].filter.key #=> String
6402
+ # resp.criteria.resource_criteria.composite_filters[0].map_filters[0].filter.value #=> String
6403
+ # resp.criteria.resource_criteria.composite_filters[0].map_filters[0].filter.comparison #=> String, one of "EQUALS", "NOT_EQUALS", "CONTAINS", "NOT_CONTAINS"
6404
+ # resp.criteria.resource_criteria.composite_filters[0].nested_composite_filters #=> Types::ResourcesCompositeFilterList
6405
+ # resp.criteria.resource_criteria.composite_filters[0].operator #=> String, one of "AND", "OR"
6406
+ # resp.criteria.resource_criteria.composite_operator #=> String, one of "AND", "OR"
6261
6407
  # resp.actions #=> Array
6262
- # resp.actions[0].type #=> String, one of "FINDING_FIELDS_UPDATE", "EXTERNAL_INTEGRATION"
6408
+ # resp.actions[0].type #=> String, one of "FINDING_FIELDS_UPDATE", "EXTERNAL_INTEGRATION", "RESOURCE_FIELDS_UPDATE"
6263
6409
  # resp.actions[0].finding_fields_update.severity_id #=> Integer
6264
6410
  # resp.actions[0].finding_fields_update.comment #=> String
6265
6411
  # resp.actions[0].finding_fields_update.status_id #=> Integer
6266
6412
  # resp.actions[0].external_integration_configuration.connector_arn #=> String
6413
+ # resp.actions[0].resource_fields_update.criticality #=> String, one of "Very High", "High", "Medium", "Low", "Unknown"
6267
6414
  # resp.created_at #=> Time
6268
6415
  # resp.updated_at #=> Time
6269
6416
  #
@@ -6703,6 +6850,227 @@ module Aws::SecurityHub
6703
6850
  req.send_request(options)
6704
6851
  end
6705
6852
 
6853
+ # Returns the details of a single findings export job, including its
6854
+ # current `Status`, the `Destination` it writes to, the
6855
+ # `OutputConfiguration` it was started with, and its `StartedAt` and
6856
+ # `EndedAt` timestamps. Use this operation to poll an export job that
6857
+ # you started with `StartExportJobV2` until it reaches a terminal state
6858
+ # (`SUCCEEDED`, `FAILED`, or `CANCELLED`).
6859
+ #
6860
+ # If the job failed, the response includes a `FailureCode` and
6861
+ # `FailureMessage` that describe the reason. Input values such as
6862
+ # `Scopes` and `Filters` are echoed back as they were submitted, with
6863
+ # relative date ranges returned unresolved. If no export job matches the
6864
+ # `ExportJobId` that you provide, this operation returns a
6865
+ # `ResourceNotFoundException`.
6866
+ #
6867
+ # @option params [required, String] :export_job_id
6868
+ # The unique identifier of the export job to retrieve. This is the value
6869
+ # returned by `StartExportJobV2`.
6870
+ #
6871
+ # @return [Types::GetExportJobV2Response] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6872
+ #
6873
+ # * {Types::GetExportJobV2Response#export_job_id #export_job_id} => String
6874
+ # * {Types::GetExportJobV2Response#name #name} => String
6875
+ # * {Types::GetExportJobV2Response#status #status} => String
6876
+ # * {Types::GetExportJobV2Response#data_type #data_type} => String
6877
+ # * {Types::GetExportJobV2Response#output_configuration #output_configuration} => Types::ExportOutput
6878
+ # * {Types::GetExportJobV2Response#scopes #scopes} => Types::ExportScopes
6879
+ # * {Types::GetExportJobV2Response#destination #destination} => Types::ExportDestination
6880
+ # * {Types::GetExportJobV2Response#failure_code #failure_code} => String
6881
+ # * {Types::GetExportJobV2Response#failure_message #failure_message} => String
6882
+ # * {Types::GetExportJobV2Response#started_at #started_at} => Time
6883
+ # * {Types::GetExportJobV2Response#ended_at #ended_at} => Time
6884
+ #
6885
+ #
6886
+ # @example Example: Example – Getting the details of a completed export job
6887
+ #
6888
+ # # The following example retrieves an export job that has finished successfully. The output is available in the destination
6889
+ # # bucket.
6890
+ #
6891
+ # resp = client.get_export_job_v2({
6892
+ # export_job_id: "a1b2c3d4e5f6",
6893
+ # })
6894
+ #
6895
+ # resp.to_h outputs the following:
6896
+ # {
6897
+ # data_type: "FINDINGS",
6898
+ # destination: {
6899
+ # s3: {
6900
+ # bucket_arn: "arn:aws:s3:::amzn-s3-demo-bucket",
6901
+ # kms_key_arn: "arn:aws:kms:aa-example-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab",
6902
+ # object_prefix: "security-hub-exports/2026-Q1",
6903
+ # },
6904
+ # },
6905
+ # ended_at: Time.parse("2026-03-27T18:09:52Z"),
6906
+ # export_job_id: "a1b2c3d4e5f6",
6907
+ # name: "quarterly-critical-findings",
6908
+ # output_configuration: {
6909
+ # findings: {
6910
+ # filters: {
6911
+ # composite_filters: [
6912
+ # {
6913
+ # operator: "AND",
6914
+ # string_filters: [
6915
+ # {
6916
+ # field_name: "severity",
6917
+ # filter: {
6918
+ # comparison: "EQUALS",
6919
+ # value: "Critical",
6920
+ # },
6921
+ # },
6922
+ # {
6923
+ # field_name: "status",
6924
+ # filter: {
6925
+ # comparison: "EQUALS",
6926
+ # value: "New",
6927
+ # },
6928
+ # },
6929
+ # ],
6930
+ # },
6931
+ # ],
6932
+ # composite_operator: "AND",
6933
+ # },
6934
+ # format: "CSV",
6935
+ # selected_fields: [
6936
+ # "finding_info.title",
6937
+ # "severity",
6938
+ # "status",
6939
+ # "cloud.account.uid",
6940
+ # "resources.uid",
6941
+ # ],
6942
+ # },
6943
+ # },
6944
+ # started_at: Time.parse("2026-03-27T18:04:11Z"),
6945
+ # status: "SUCCEEDED",
6946
+ # }
6947
+ #
6948
+ # @example Example: Example – Getting the details of a failed export job
6949
+ #
6950
+ # # The following example retrieves an export job that failed because Security Hub couldn't write to the destination. The
6951
+ # # FailureCode and FailureMessage explain the cause.
6952
+ #
6953
+ # resp = client.get_export_job_v2({
6954
+ # export_job_id: "f6e5d4c3b2a1",
6955
+ # })
6956
+ #
6957
+ # resp.to_h outputs the following:
6958
+ # {
6959
+ # data_type: "FINDINGS",
6960
+ # destination: {
6961
+ # s3: {
6962
+ # bucket_arn: "arn:aws:s3:::amzn-s3-demo-bucket",
6963
+ # kms_key_arn: "arn:aws:kms:aa-example-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab",
6964
+ # },
6965
+ # },
6966
+ # ended_at: Time.parse("2026-03-27T18:05:03Z"),
6967
+ # export_job_id: "f6e5d4c3b2a1",
6968
+ # failure_code: "ACCESS_DENIED",
6969
+ # failure_message: "Security Hub could not write to the destination bucket. Verify the bucket policy and KMS key policy.",
6970
+ # output_configuration: {
6971
+ # findings: {
6972
+ # filters: {
6973
+ # composite_filters: [
6974
+ # {
6975
+ # date_filters: [
6976
+ # {
6977
+ # field_name: "finding_info.last_seen_time_dt",
6978
+ # filter: {
6979
+ # date_range: {
6980
+ # comparison: "WITHIN",
6981
+ # unit: "DAYS",
6982
+ # value: 30,
6983
+ # },
6984
+ # },
6985
+ # },
6986
+ # ],
6987
+ # operator: "AND",
6988
+ # },
6989
+ # ],
6990
+ # composite_operator: "AND",
6991
+ # },
6992
+ # format: "OCSF_JSON",
6993
+ # },
6994
+ # },
6995
+ # scopes: {
6996
+ # aws_organizations: [
6997
+ # {
6998
+ # organizational_unit_id: "ou-1234-a1b2c3d4",
6999
+ # },
7000
+ # ],
7001
+ # },
7002
+ # started_at: Time.parse("2026-03-27T18:04:11Z"),
7003
+ # status: "FAILED",
7004
+ # }
7005
+ #
7006
+ # @example Request syntax with placeholder values
7007
+ #
7008
+ # resp = client.get_export_job_v2({
7009
+ # export_job_id: "ExportJobId", # required
7010
+ # })
7011
+ #
7012
+ # @example Response structure
7013
+ #
7014
+ # resp.export_job_id #=> String
7015
+ # resp.name #=> String
7016
+ # resp.status #=> String, one of "RUNNING", "SUCCEEDED", "FAILED", "CANCELLED"
7017
+ # resp.data_type #=> String, one of "FINDINGS"
7018
+ # resp.output_configuration.findings.format #=> String, one of "CSV", "OCSF_JSON"
7019
+ # resp.output_configuration.findings.filters.composite_filters #=> Array
7020
+ # resp.output_configuration.findings.filters.composite_filters[0].string_filters #=> Array
7021
+ # 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", "impact", "likelihood", "metadata.product.name", "metadata.product.uid", "metadata.product.vendor_name", "remediation.desc", "remediation.references", "resources.cloud_partition", "resources.criticality", "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"
7022
+ # resp.output_configuration.findings.filters.composite_filters[0].string_filters[0].filter.value #=> String
7023
+ # 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"
7024
+ # resp.output_configuration.findings.filters.composite_filters[0].date_filters #=> Array
7025
+ # 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"
7026
+ # resp.output_configuration.findings.filters.composite_filters[0].date_filters[0].filter.start #=> String
7027
+ # resp.output_configuration.findings.filters.composite_filters[0].date_filters[0].filter.end #=> String
7028
+ # resp.output_configuration.findings.filters.composite_filters[0].date_filters[0].filter.date_range.value #=> Integer
7029
+ # resp.output_configuration.findings.filters.composite_filters[0].date_filters[0].filter.date_range.unit #=> String, one of "DAYS"
7030
+ # resp.output_configuration.findings.filters.composite_filters[0].date_filters[0].filter.date_range.comparison #=> String, one of "WITHIN", "OLDER_THAN"
7031
+ # resp.output_configuration.findings.filters.composite_filters[0].boolean_filters #=> Array
7032
+ # 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"
7033
+ # resp.output_configuration.findings.filters.composite_filters[0].boolean_filters[0].filter.value #=> Boolean
7034
+ # resp.output_configuration.findings.filters.composite_filters[0].number_filters #=> Array
7035
+ # 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"
7036
+ # resp.output_configuration.findings.filters.composite_filters[0].number_filters[0].filter.gte #=> Float
7037
+ # resp.output_configuration.findings.filters.composite_filters[0].number_filters[0].filter.lte #=> Float
7038
+ # resp.output_configuration.findings.filters.composite_filters[0].number_filters[0].filter.eq #=> Float
7039
+ # resp.output_configuration.findings.filters.composite_filters[0].number_filters[0].filter.gt #=> Float
7040
+ # resp.output_configuration.findings.filters.composite_filters[0].number_filters[0].filter.lt #=> Float
7041
+ # resp.output_configuration.findings.filters.composite_filters[0].map_filters #=> Array
7042
+ # 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"
7043
+ # resp.output_configuration.findings.filters.composite_filters[0].map_filters[0].filter.key #=> String
7044
+ # resp.output_configuration.findings.filters.composite_filters[0].map_filters[0].filter.value #=> String
7045
+ # resp.output_configuration.findings.filters.composite_filters[0].map_filters[0].filter.comparison #=> String, one of "EQUALS", "NOT_EQUALS", "CONTAINS", "NOT_CONTAINS"
7046
+ # resp.output_configuration.findings.filters.composite_filters[0].ip_filters #=> Array
7047
+ # resp.output_configuration.findings.filters.composite_filters[0].ip_filters[0].field_name #=> String, one of "evidences.dst_endpoint.ip", "evidences.src_endpoint.ip"
7048
+ # resp.output_configuration.findings.filters.composite_filters[0].ip_filters[0].filter.cidr #=> String
7049
+ # resp.output_configuration.findings.filters.composite_filters[0].nested_composite_filters #=> Types::CompositeFilterList
7050
+ # resp.output_configuration.findings.filters.composite_filters[0].operator #=> String, one of "AND", "OR"
7051
+ # resp.output_configuration.findings.filters.composite_operator #=> String, one of "AND", "OR"
7052
+ # resp.output_configuration.findings.selected_fields #=> Array
7053
+ # 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"
7054
+ # resp.scopes.aws_organizations #=> Array
7055
+ # resp.scopes.aws_organizations[0].organization_id #=> String
7056
+ # resp.scopes.aws_organizations[0].organizational_unit_id #=> String
7057
+ # resp.destination.s3.bucket_arn #=> String
7058
+ # resp.destination.s3.kms_key_arn #=> String
7059
+ # resp.destination.s3.object_prefix #=> String
7060
+ # resp.failure_code #=> String, one of "ACCESS_DENIED", "RESOURCE_NOT_FOUND", "INTERNAL_ERROR"
7061
+ # resp.failure_message #=> String
7062
+ # resp.started_at #=> Time
7063
+ # resp.ended_at #=> Time
7064
+ #
7065
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetExportJobV2 AWS API Documentation
7066
+ #
7067
+ # @overload get_export_job_v2(params = {})
7068
+ # @param [Hash] params ({})
7069
+ def get_export_job_v2(params = {}, options = {})
7070
+ req = build_request(:get_export_job_v2, params)
7071
+ req.send_request(options)
7072
+ end
7073
+
6706
7074
  # <note markdown="1"> The *aggregation Region* is now called the *home Region*.
6707
7075
  #
6708
7076
  # </note>
@@ -6980,7 +7348,7 @@ module Aws::SecurityHub
6980
7348
  # {
6981
7349
  # string_filters: [
6982
7350
  # {
6983
- # 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
7351
+ # 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, impact, likelihood, metadata.product.name, metadata.product.uid, metadata.product.vendor_name, remediation.desc, remediation.references, resources.cloud_partition, resources.criticality, 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
6984
7352
  # filter: {
6985
7353
  # value: "NonEmptyString",
6986
7354
  # comparison: "EQUALS", # accepts EQUALS, PREFIX, NOT_EQUALS, PREFIX_NOT_EQUALS, CONTAINS, NOT_CONTAINS, CONTAINS_WORD
@@ -7047,7 +7415,7 @@ module Aws::SecurityHub
7047
7415
  # ],
7048
7416
  # composite_operator: "AND", # accepts AND, OR
7049
7417
  # },
7050
- # group_by_field: "activity_name", # required, accepts activity_name, cloud.account.uid, cloud.provider, cloud.region, compliance.assessments.name, compliance.status, compliance.control, finding_info.title, finding_info.related_events.traits.category, finding_info.types, metadata.product.name, metadata.product.uid, resources.type, resources.cloud_partition, resources.name, resources.owner.account.uid, resources.owner.org.uid, resources.owner.account.name, resources.provider, resources.region, resources.uid, severity, status, vulnerabilities.fix_coverage, class_name, vulnerabilities.affected_packages.name, finding_info.analytic.name, compliance.standards, cloud.account.name, vendor_attributes.severity, metadata.product.vendor_name
7418
+ # group_by_field: "activity_name", # required, accepts activity_name, cloud.account.uid, cloud.provider, cloud.region, compliance.assessments.name, compliance.status, compliance.control, finding_info.title, finding_info.related_events.traits.category, finding_info.types, impact, likelihood, metadata.product.name, metadata.product.uid, resources.type, resources.cloud_partition, resources.criticality, resources.name, resources.owner.account.uid, resources.owner.org.uid, resources.owner.account.name, resources.provider, resources.region, resources.uid, severity, status, vulnerabilities.fix_coverage, class_name, vulnerabilities.affected_packages.name, finding_info.analytic.name, compliance.standards, cloud.account.name, vendor_attributes.severity, metadata.product.vendor_name
7051
7419
  # },
7052
7420
  # ],
7053
7421
  # scopes: {
@@ -8121,7 +8489,7 @@ module Aws::SecurityHub
8121
8489
  # {
8122
8490
  # string_filters: [
8123
8491
  # {
8124
- # 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
8492
+ # 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, impact, likelihood, metadata.product.name, metadata.product.uid, metadata.product.vendor_name, remediation.desc, remediation.references, resources.cloud_partition, resources.criticality, 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
8125
8493
  # filter: {
8126
8494
  # value: "NonEmptyString",
8127
8495
  # comparison: "EQUALS", # accepts EQUALS, PREFIX, NOT_EQUALS, PREFIX_NOT_EQUALS, CONTAINS, NOT_CONTAINS, CONTAINS_WORD
@@ -9180,13 +9548,13 @@ module Aws::SecurityHub
9180
9548
  # resp = client.get_resources_statistics_v2({
9181
9549
  # group_by_rules: [ # required
9182
9550
  # {
9183
- # group_by_field: "AccountId", # required, accepts AccountId, AccountName, Region, ResourceProvider, ResourceOwnerAccountId, ResourceOwnerOrgId, ResourceCloudPartition, ResourceRegion, ResourceCategory, ResourceType, ResourceName, FindingsSummary.FindingType, ResourceSubCategory, DiscoveryType, ResourceInfo.AIDetails.HostResourceType, ResourceInfo.AIDetails.CanonicalId
9551
+ # group_by_field: "AccountId", # required, accepts AccountId, AccountName, Region, ResourceProvider, ResourceOwnerAccountId, ResourceOwnerOrgId, ResourceCloudPartition, ResourceRegion, ResourceCategory, ResourceType, ResourceName, FindingsSummary.FindingType, ResourceSubCategory, DiscoveryType, ResourceInfo.AIDetails.HostResourceType, ResourceInfo.AIDetails.CanonicalId, ResourceCriticality
9184
9552
  # filters: {
9185
9553
  # composite_filters: [
9186
9554
  # {
9187
9555
  # string_filters: [
9188
9556
  # {
9189
- # field_name: "ResourceGuid", # accepts ResourceGuid, ResourceId, AccountId, AccountName, Region, ResourceProvider, ResourceOwnerAccountId, ResourceOwnerOrgId, ResourceCloudPartition, ResourceRegion, ResourceCategory, ResourceType, ResourceName, FindingsSummary.FindingType, FindingsSummary.ProductName, ResourceSubCategory, DiscoveryType, ResourceInfo.AIDetails.HostResourceGuid, ResourceInfo.AIDetails.HostResourceType, ResourceInfo.AIDetails.CanonicalId
9557
+ # field_name: "ResourceGuid", # accepts ResourceGuid, ResourceId, AccountId, AccountName, Region, ResourceProvider, ResourceOwnerAccountId, ResourceOwnerOrgId, ResourceCloudPartition, ResourceRegion, ResourceCategory, ResourceType, ResourceName, FindingsSummary.FindingType, FindingsSummary.ProductName, ResourceSubCategory, DiscoveryType, ResourceInfo.AIDetails.HostResourceGuid, ResourceInfo.AIDetails.HostResourceType, ResourceInfo.AIDetails.CanonicalId, ResourceCriticality
9190
9558
  # filter: {
9191
9559
  # value: "NonEmptyString",
9192
9560
  # comparison: "EQUALS", # accepts EQUALS, PREFIX, NOT_EQUALS, PREFIX_NOT_EQUALS, CONTAINS, NOT_CONTAINS, CONTAINS_WORD
@@ -9414,7 +9782,7 @@ module Aws::SecurityHub
9414
9782
  # {
9415
9783
  # string_filters: [
9416
9784
  # {
9417
- # field_name: "ResourceGuid", # accepts ResourceGuid, ResourceId, AccountId, AccountName, Region, ResourceProvider, ResourceOwnerAccountId, ResourceOwnerOrgId, ResourceCloudPartition, ResourceRegion, ResourceCategory, ResourceType, ResourceName, FindingsSummary.FindingType, FindingsSummary.ProductName, ResourceSubCategory, DiscoveryType, ResourceInfo.AIDetails.HostResourceGuid, ResourceInfo.AIDetails.HostResourceType, ResourceInfo.AIDetails.CanonicalId
9785
+ # field_name: "ResourceGuid", # accepts ResourceGuid, ResourceId, AccountId, AccountName, Region, ResourceProvider, ResourceOwnerAccountId, ResourceOwnerOrgId, ResourceCloudPartition, ResourceRegion, ResourceCategory, ResourceType, ResourceName, FindingsSummary.FindingType, FindingsSummary.ProductName, ResourceSubCategory, DiscoveryType, ResourceInfo.AIDetails.HostResourceGuid, ResourceInfo.AIDetails.HostResourceType, ResourceInfo.AIDetails.CanonicalId, ResourceCriticality
9418
9786
  # filter: {
9419
9787
  # value: "NonEmptyString",
9420
9788
  # comparison: "EQUALS", # accepts EQUALS, PREFIX, NOT_EQUALS, PREFIX_NOT_EQUALS, CONTAINS, NOT_CONTAINS, CONTAINS_WORD
@@ -9529,6 +9897,10 @@ module Aws::SecurityHub
9529
9897
  # resp.resources[0].resource_info.ai_details.self_hosted_ai_agent_framework_resource_count #=> Integer
9530
9898
  # resp.resources[0].resource_info.ai_details.self_hosted_ai_agent_tools_and_identity_resource_count #=> Integer
9531
9899
  # resp.resources[0].resource_info.ai_details.self_hosted_total_ai_resource_count #=> Integer
9900
+ # resp.resources[0].resource_criticality #=> String, one of "Very High", "High", "Medium", "Low", "Unknown"
9901
+ # resp.resources[0].criticality_sources #=> Array
9902
+ # resp.resources[0].criticality_sources[0].source #=> String, one of "AutomationRule", "ResourceName", "TagInference"
9903
+ # resp.resources[0].criticality_sources[0].reason #=> String
9532
9904
  # resp.next_token #=> String
9533
9905
  #
9534
9906
  # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetResourcesV2 AWS API Documentation
@@ -9877,7 +10249,7 @@ module Aws::SecurityHub
9877
10249
  # resp.rules[0].rule_status #=> String, one of "ENABLED", "DISABLED"
9878
10250
  # resp.rules[0].description #=> String
9879
10251
  # resp.rules[0].actions #=> Array
9880
- # resp.rules[0].actions[0].type #=> String, one of "FINDING_FIELDS_UPDATE", "EXTERNAL_INTEGRATION"
10252
+ # resp.rules[0].actions[0].type #=> String, one of "FINDING_FIELDS_UPDATE", "EXTERNAL_INTEGRATION", "RESOURCE_FIELDS_UPDATE"
9881
10253
  # resp.rules[0].created_at #=> Time
9882
10254
  # resp.rules[0].updated_at #=> Time
9883
10255
  # resp.next_token #=> String
@@ -10288,6 +10660,119 @@ module Aws::SecurityHub
10288
10660
  req.send_request(options)
10289
10661
  end
10290
10662
 
10663
+ # Returns the findings export jobs in your account as a paginated list
10664
+ # of `ExportSummary` objects. You can filter the results by job `Status`
10665
+ # or `DataType`.
10666
+ #
10667
+ # To page through the results, use the `MaxResults` and `NextToken`
10668
+ # parameters. If the response includes a `NextToken` value, pass it in a
10669
+ # subsequent request to retrieve the next page of results.
10670
+ #
10671
+ # Each `ExportSummary` reports the output `Format` of the job but not
10672
+ # its full `OutputConfiguration`. To retrieve the filters and selected
10673
+ # fields that a job was started with, call `GetExportJobV2`.
10674
+ #
10675
+ # @option params [String] :status
10676
+ # Filters the results to export jobs that have the specified status.
10677
+ #
10678
+ # @option params [String] :data_type
10679
+ # Filters the results to export jobs that produce the specified data
10680
+ # type.
10681
+ #
10682
+ # @option params [Integer] :max_results
10683
+ # The maximum number of results to return in a single call. Valid range
10684
+ # is 1–20.
10685
+ #
10686
+ # @option params [String] :next_token
10687
+ # The token required for pagination. On your first call, set the value
10688
+ # of this parameter to `NULL`. For subsequent calls, to continue listing
10689
+ # data, set the value of this parameter to the value returned in the
10690
+ # previous response.
10691
+ #
10692
+ # @return [Types::ListExportJobsV2Response] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
10693
+ #
10694
+ # * {Types::ListExportJobsV2Response#items #items} => Array&lt;Types::ExportSummary&gt;
10695
+ # * {Types::ListExportJobsV2Response#next_token #next_token} => String
10696
+ #
10697
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
10698
+ #
10699
+ #
10700
+ # @example Example: Example – Listing successful findings export jobs
10701
+ #
10702
+ # # The following example lists the findings export jobs in the account that have succeeded, returning up to 10 results per
10703
+ # # page.
10704
+ #
10705
+ # resp = client.list_export_jobs_v2({
10706
+ # data_type: "FINDINGS",
10707
+ # max_results: 10,
10708
+ # status: "SUCCEEDED",
10709
+ # })
10710
+ #
10711
+ # resp.to_h outputs the following:
10712
+ # {
10713
+ # items: [
10714
+ # {
10715
+ # data_type: "FINDINGS",
10716
+ # destination: {
10717
+ # s3: {
10718
+ # bucket_arn: "arn:aws:s3:::amzn-s3-demo-bucket",
10719
+ # kms_key_arn: "arn:aws:kms:aa-example-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab",
10720
+ # object_prefix: "security-hub-exports/2026-Q1",
10721
+ # },
10722
+ # },
10723
+ # ended_at: Time.parse("2026-03-27T18:09:52Z"),
10724
+ # export_job_id: "a1b2c3d4e5f6",
10725
+ # name: "quarterly-critical-findings",
10726
+ # output_configuration: {
10727
+ # findings: {
10728
+ # format: "CSV",
10729
+ # },
10730
+ # },
10731
+ # started_at: Time.parse("2026-03-27T18:04:11Z"),
10732
+ # status: "SUCCEEDED",
10733
+ # },
10734
+ # ],
10735
+ # next_token: "U2VjdXJpdHlIdWJFeGFtcGxlUGFnaW5hdGlvblRva2Vu",
10736
+ # }
10737
+ #
10738
+ # @example Request syntax with placeholder values
10739
+ #
10740
+ # resp = client.list_export_jobs_v2({
10741
+ # status: "RUNNING", # accepts RUNNING, SUCCEEDED, FAILED, CANCELLED
10742
+ # data_type: "FINDINGS", # accepts FINDINGS
10743
+ # max_results: 1,
10744
+ # next_token: "NextToken",
10745
+ # })
10746
+ #
10747
+ # @example Response structure
10748
+ #
10749
+ # resp.items #=> Array
10750
+ # resp.items[0].export_job_id #=> String
10751
+ # resp.items[0].name #=> String
10752
+ # resp.items[0].status #=> String, one of "RUNNING", "SUCCEEDED", "FAILED", "CANCELLED"
10753
+ # resp.items[0].data_type #=> String, one of "FINDINGS"
10754
+ # resp.items[0].output_configuration.findings.format #=> String, one of "CSV", "OCSF_JSON"
10755
+ # resp.items[0].scopes.aws_organizations #=> Array
10756
+ # resp.items[0].scopes.aws_organizations[0].organization_id #=> String
10757
+ # resp.items[0].scopes.aws_organizations[0].organizational_unit_id #=> String
10758
+ # resp.items[0].destination.s3.bucket_arn #=> String
10759
+ # resp.items[0].destination.s3.kms_key_arn #=> String
10760
+ # resp.items[0].destination.s3.object_prefix #=> String
10761
+ # resp.items[0].failure_code #=> String, one of "ACCESS_DENIED", "RESOURCE_NOT_FOUND", "INTERNAL_ERROR"
10762
+ # resp.items[0].failure_message #=> String
10763
+ # resp.items[0].started_at #=> Time
10764
+ # resp.items[0].ended_at #=> Time
10765
+ # resp.next_token #=> String
10766
+ #
10767
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ListExportJobsV2 AWS API Documentation
10768
+ #
10769
+ # @overload list_export_jobs_v2(params = {})
10770
+ # @param [Hash] params ({})
10771
+ def list_export_jobs_v2(params = {}, options = {})
10772
+ req = build_request(:list_export_jobs_v2, params)
10773
+ req.send_request(options)
10774
+ end
10775
+
10291
10776
  # Retrieves the exposure findings tied to a specific remediation target.
10292
10777
  # Results are sorted by previous severity, highest first, and are
10293
10778
  # paginated.
@@ -11257,6 +11742,307 @@ module Aws::SecurityHub
11257
11742
  req.send_request(options)
11258
11743
  end
11259
11744
 
11745
+ # Starts an ad hoc export job that writes Security Hub findings to an
11746
+ # Amazon Simple Storage Service (Amazon S3) bucket that you own. Because
11747
+ # the export runs asynchronously, this operation returns only the
11748
+ # `ExportJobId` of the new job; it doesn't wait for the export to
11749
+ # finish. Use `GetExportJobV2` to poll the job, and `ListExportJobsV2`
11750
+ # to view the export jobs in your account.
11751
+ #
11752
+ # Security Hub allows only one export job in the `RUNNING` state per
11753
+ # account at a time. If an export job is already running, this operation
11754
+ # returns a `ServiceQuotaExceededException`. Wait for the running job to
11755
+ # finish, or cancel it with `CancelExportJobV2`, before you start a new
11756
+ # one.
11757
+ #
11758
+ # Specify the destination bucket and Amazon Web Services Key Management
11759
+ # Service (Amazon Web Services KMS) key in the `Destination` parameter,
11760
+ # and the output format (`CSV` or `OCSF_JSON`), optional filters, and
11761
+ # field selection in the `OutputConfiguration` parameter. Before you
11762
+ # call this operation, you must grant Security Hub permission to write
11763
+ # to your bucket and use your Amazon Web Services KMS key by adding the
11764
+ # bucket policy and key policy statements shown in the Examples section.
11765
+ #
11766
+ # Two identities use your Amazon Web Services KMS key, and each needs
11767
+ # its own permission. Security Hub uses the key when it writes the
11768
+ # export objects to your bucket. The IAM principal that calls
11769
+ # `StartExportJobV2` must also have `kms:GenerateDataKey` and
11770
+ # `kms:Decrypt` permissions on the key. The Examples section shows both
11771
+ # grants.
11772
+ #
11773
+ # A delegated administrator can use the optional `Scopes` parameter to
11774
+ # export findings for specific organizations or organizational units
11775
+ # (OUs).
11776
+ #
11777
+ # To make the request idempotent, provide a `ClientToken`. If you retry
11778
+ # a `StartExportJobV2` request with the same `ClientToken` and the same
11779
+ # request parameters, Security Hub returns the `ExportJobId` of the
11780
+ # original job instead of starting a new one. If you reuse a
11781
+ # `ClientToken` with different request parameters, this operation
11782
+ # returns a `ConflictException`.
11783
+ #
11784
+ # @option params [String] :name
11785
+ # An optional, user-provided name for the export job that helps you
11786
+ # identify it in `ListExportJobsV2` results. The value can be 1–256
11787
+ # characters. Alphanumeric characters, spaces, and the following ASCII
11788
+ # characters are permitted: `. _ , : ( ) / + -`.
11789
+ #
11790
+ # @option params [required, Types::ExportDestination] :destination
11791
+ # The destination that Security Hub writes the export to. You must
11792
+ # specify exactly one destination type. Currently, the only supported
11793
+ # type is Amazon S3.
11794
+ #
11795
+ # @option params [required, Types::ExportOutput] :output_configuration
11796
+ # Specifies what data to export and how to format it. You must specify
11797
+ # exactly one output type. Currently, the only supported type is
11798
+ # `Findings`.
11799
+ #
11800
+ # @option params [Types::ExportScopes] :scopes
11801
+ # Limits the export to findings from specific organizational units (OUs)
11802
+ # or from the delegated administrator's organization. Only the
11803
+ # delegated administrator account can use this parameter; other accounts
11804
+ # that specify it receive an `AccessDeniedException`.
11805
+ #
11806
+ # This parameter is optional. If you omit it, the delegated
11807
+ # administrator exports findings from all accounts across the entire
11808
+ # organization, and other accounts export only their own findings.
11809
+ #
11810
+ # You can specify up to 10 entries in `Scopes.AwsOrganizations`. If you
11811
+ # specify multiple entries, Security Hub combines them using OR logic.
11812
+ #
11813
+ # @option params [String] :client_token
11814
+ # A unique identifier used to ensure idempotency.
11815
+ #
11816
+ # **A suitable default value is auto-generated.** You should normally
11817
+ # not need to pass this option.**
11818
+ #
11819
+ # @return [Types::StartExportJobV2Response] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
11820
+ #
11821
+ # * {Types::StartExportJobV2Response#export_job_id #export_job_id} => String
11822
+ #
11823
+ #
11824
+ # @example Example: Example – Starting a CSV export of critical findings
11825
+ #
11826
+ # # The following example starts an export that writes selected fields of new, critical findings to an Amazon S3 bucket in
11827
+ # # CSV format.
11828
+ #
11829
+ # resp = client.start_export_job_v2({
11830
+ # client_token: "b3d1f9a2-1c4e-4b9a-9f2e-EXAMPLE11111",
11831
+ # destination: {
11832
+ # s3: {
11833
+ # bucket_arn: "arn:aws:s3:::amzn-s3-demo-bucket",
11834
+ # kms_key_arn: "arn:aws:kms:aa-example-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab",
11835
+ # object_prefix: "security-hub-exports/2026-Q1",
11836
+ # },
11837
+ # },
11838
+ # name: "quarterly-critical-findings",
11839
+ # output_configuration: {
11840
+ # findings: {
11841
+ # filters: {
11842
+ # composite_filters: [
11843
+ # {
11844
+ # operator: "AND",
11845
+ # string_filters: [
11846
+ # {
11847
+ # field_name: "severity",
11848
+ # filter: {
11849
+ # comparison: "EQUALS",
11850
+ # value: "Critical",
11851
+ # },
11852
+ # },
11853
+ # {
11854
+ # field_name: "status",
11855
+ # filter: {
11856
+ # comparison: "EQUALS",
11857
+ # value: "New",
11858
+ # },
11859
+ # },
11860
+ # ],
11861
+ # },
11862
+ # ],
11863
+ # composite_operator: "AND",
11864
+ # },
11865
+ # format: "CSV",
11866
+ # selected_fields: [
11867
+ # "finding_info.title",
11868
+ # "severity",
11869
+ # "status",
11870
+ # "cloud.account.uid",
11871
+ # "resources.uid",
11872
+ # ],
11873
+ # },
11874
+ # },
11875
+ # })
11876
+ #
11877
+ # resp.to_h outputs the following:
11878
+ # {
11879
+ # export_job_id: "a1b2c3d4e5f6",
11880
+ # }
11881
+ #
11882
+ # @example Example: Example – Starting an OCSF JSON export scoped to an organizational unit
11883
+ #
11884
+ # # The following example, run by a delegated administrator, starts an export of the last 30 days of findings for a specific
11885
+ # # organizational unit (OU) in OCSF JSON format.
11886
+ #
11887
+ # resp = client.start_export_job_v2({
11888
+ # destination: {
11889
+ # s3: {
11890
+ # bucket_arn: "arn:aws:s3:::amzn-s3-demo-bucket",
11891
+ # kms_key_arn: "arn:aws:kms:aa-example-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab",
11892
+ # },
11893
+ # },
11894
+ # output_configuration: {
11895
+ # findings: {
11896
+ # filters: {
11897
+ # composite_filters: [
11898
+ # {
11899
+ # date_filters: [
11900
+ # {
11901
+ # field_name: "finding_info.last_seen_time_dt",
11902
+ # filter: {
11903
+ # date_range: {
11904
+ # comparison: "WITHIN",
11905
+ # unit: "DAYS",
11906
+ # value: 30,
11907
+ # },
11908
+ # },
11909
+ # },
11910
+ # ],
11911
+ # operator: "AND",
11912
+ # },
11913
+ # ],
11914
+ # composite_operator: "AND",
11915
+ # },
11916
+ # format: "OCSF_JSON",
11917
+ # },
11918
+ # },
11919
+ # scopes: {
11920
+ # aws_organizations: [
11921
+ # {
11922
+ # organizational_unit_id: "ou-1234-a1b2c3d4",
11923
+ # },
11924
+ # ],
11925
+ # },
11926
+ # })
11927
+ #
11928
+ # resp.to_h outputs the following:
11929
+ # {
11930
+ # export_job_id: "f6e5d4c3b2a1",
11931
+ # }
11932
+ #
11933
+ # @example Request syntax with placeholder values
11934
+ #
11935
+ # resp = client.start_export_job_v2({
11936
+ # name: "ExportName",
11937
+ # destination: { # required
11938
+ # s3: {
11939
+ # bucket_arn: "NonEmptyString", # required
11940
+ # kms_key_arn: "NonEmptyString", # required
11941
+ # object_prefix: "S3ObjectPrefix",
11942
+ # },
11943
+ # },
11944
+ # output_configuration: { # required
11945
+ # findings: {
11946
+ # format: "CSV", # required, accepts CSV, OCSF_JSON
11947
+ # filters: {
11948
+ # composite_filters: [
11949
+ # {
11950
+ # string_filters: [
11951
+ # {
11952
+ # 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, impact, likelihood, metadata.product.name, metadata.product.uid, metadata.product.vendor_name, remediation.desc, remediation.references, resources.cloud_partition, resources.criticality, 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
11953
+ # filter: {
11954
+ # value: "NonEmptyString",
11955
+ # comparison: "EQUALS", # accepts EQUALS, PREFIX, NOT_EQUALS, PREFIX_NOT_EQUALS, CONTAINS, NOT_CONTAINS, CONTAINS_WORD
11956
+ # },
11957
+ # },
11958
+ # ],
11959
+ # date_filters: [
11960
+ # {
11961
+ # 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
11962
+ # filter: {
11963
+ # start: "NonEmptyString",
11964
+ # end: "NonEmptyString",
11965
+ # date_range: {
11966
+ # value: 1,
11967
+ # unit: "DAYS", # accepts DAYS
11968
+ # comparison: "WITHIN", # accepts WITHIN, OLDER_THAN
11969
+ # },
11970
+ # },
11971
+ # },
11972
+ # ],
11973
+ # boolean_filters: [
11974
+ # {
11975
+ # field_name: "compliance.assessments.meets_criteria", # accepts compliance.assessments.meets_criteria, vulnerabilities.is_exploit_available, vulnerabilities.is_fix_available
11976
+ # filter: {
11977
+ # value: false,
11978
+ # },
11979
+ # },
11980
+ # ],
11981
+ # number_filters: [
11982
+ # {
11983
+ # 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
11984
+ # filter: {
11985
+ # gte: 1.0,
11986
+ # lte: 1.0,
11987
+ # eq: 1.0,
11988
+ # gt: 1.0,
11989
+ # lt: 1.0,
11990
+ # },
11991
+ # },
11992
+ # ],
11993
+ # map_filters: [
11994
+ # {
11995
+ # field_name: "resources.tags", # accepts resources.tags, compliance.control_parameters, databucket.tags, finding_info.tags
11996
+ # filter: {
11997
+ # key: "NonEmptyString",
11998
+ # value: "NonEmptyString",
11999
+ # comparison: "EQUALS", # accepts EQUALS, NOT_EQUALS, CONTAINS, NOT_CONTAINS
12000
+ # },
12001
+ # },
12002
+ # ],
12003
+ # ip_filters: [
12004
+ # {
12005
+ # field_name: "evidences.dst_endpoint.ip", # accepts evidences.dst_endpoint.ip, evidences.src_endpoint.ip
12006
+ # filter: {
12007
+ # cidr: "NonEmptyString",
12008
+ # },
12009
+ # },
12010
+ # ],
12011
+ # nested_composite_filters: {
12012
+ # # recursive CompositeFilterList
12013
+ # },
12014
+ # operator: "AND", # accepts AND, OR
12015
+ # },
12016
+ # ],
12017
+ # composite_operator: "AND", # accepts AND, OR
12018
+ # },
12019
+ # 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
12020
+ # },
12021
+ # },
12022
+ # scopes: {
12023
+ # aws_organizations: [
12024
+ # {
12025
+ # organization_id: "NonEmptyString",
12026
+ # organizational_unit_id: "NonEmptyString",
12027
+ # },
12028
+ # ],
12029
+ # },
12030
+ # client_token: "ClientToken",
12031
+ # })
12032
+ #
12033
+ # @example Response structure
12034
+ #
12035
+ # resp.export_job_id #=> String
12036
+ #
12037
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/StartExportJobV2 AWS API Documentation
12038
+ #
12039
+ # @overload start_export_job_v2(params = {})
12040
+ # @param [Hash] params ({})
12041
+ def start_export_job_v2(params = {}, options = {})
12042
+ req = build_request(:start_export_job_v2, params)
12043
+ req.send_request(options)
12044
+ end
12045
+
11260
12046
  # Adds one or more tags to a resource.
11261
12047
  #
11262
12048
  # @option params [required, String] :resource_arn
@@ -11465,7 +12251,7 @@ module Aws::SecurityHub
11465
12251
  # {
11466
12252
  # string_filters: [
11467
12253
  # {
11468
- # 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
12254
+ # 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, impact, likelihood, metadata.product.name, metadata.product.uid, metadata.product.vendor_name, remediation.desc, remediation.references, resources.cloud_partition, resources.criticality, 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
11469
12255
  # filter: {
11470
12256
  # value: "NonEmptyString",
11471
12257
  # comparison: "EQUALS", # accepts EQUALS, PREFIX, NOT_EQUALS, PREFIX_NOT_EQUALS, CONTAINS, NOT_CONTAINS, CONTAINS_WORD
@@ -11532,10 +12318,66 @@ module Aws::SecurityHub
11532
12318
  # ],
11533
12319
  # composite_operator: "AND", # accepts AND, OR
11534
12320
  # },
12321
+ # resource_criteria: {
12322
+ # composite_filters: [
12323
+ # {
12324
+ # string_filters: [
12325
+ # {
12326
+ # field_name: "ResourceGuid", # accepts ResourceGuid, ResourceId, AccountId, AccountName, Region, ResourceProvider, ResourceOwnerAccountId, ResourceOwnerOrgId, ResourceCloudPartition, ResourceRegion, ResourceCategory, ResourceType, ResourceName, FindingsSummary.FindingType, FindingsSummary.ProductName, ResourceSubCategory, DiscoveryType, ResourceInfo.AIDetails.HostResourceGuid, ResourceInfo.AIDetails.HostResourceType, ResourceInfo.AIDetails.CanonicalId, ResourceCriticality
12327
+ # filter: {
12328
+ # value: "NonEmptyString",
12329
+ # comparison: "EQUALS", # accepts EQUALS, PREFIX, NOT_EQUALS, PREFIX_NOT_EQUALS, CONTAINS, NOT_CONTAINS, CONTAINS_WORD
12330
+ # },
12331
+ # },
12332
+ # ],
12333
+ # date_filters: [
12334
+ # {
12335
+ # field_name: "ResourceDetailCaptureTime", # accepts ResourceDetailCaptureTime, ResourceCreationTime
12336
+ # filter: {
12337
+ # start: "NonEmptyString",
12338
+ # end: "NonEmptyString",
12339
+ # date_range: {
12340
+ # value: 1,
12341
+ # unit: "DAYS", # accepts DAYS
12342
+ # comparison: "WITHIN", # accepts WITHIN, OLDER_THAN
12343
+ # },
12344
+ # },
12345
+ # },
12346
+ # ],
12347
+ # number_filters: [
12348
+ # {
12349
+ # field_name: "FindingsSummary.TotalFindings", # accepts FindingsSummary.TotalFindings, FindingsSummary.Severities.Other, FindingsSummary.Severities.Fatal, FindingsSummary.Severities.Critical, FindingsSummary.Severities.High, FindingsSummary.Severities.Medium, FindingsSummary.Severities.Low, FindingsSummary.Severities.Informational, FindingsSummary.Severities.Unknown, ResourceInfo.AIDetails.SelfHostedAIModelResourceCount, ResourceInfo.AIDetails.SelfHostedAIAgentResourceCount, ResourceInfo.AIDetails.SelfHostedAIModelServingResourceCount, ResourceInfo.AIDetails.SelfHostedAIExternalEndpointResourceCount, ResourceInfo.AIDetails.SelfHostedAIDevelopmentResourceCount, ResourceInfo.AIDetails.SelfHostedAIAgentFrameworkResourceCount, ResourceInfo.AIDetails.SelfHostedAIAgentToolsAndIdentityResourceCount, ResourceInfo.AIDetails.SelfHostedTotalAIResourceCount
12350
+ # filter: {
12351
+ # gte: 1.0,
12352
+ # lte: 1.0,
12353
+ # eq: 1.0,
12354
+ # gt: 1.0,
12355
+ # lt: 1.0,
12356
+ # },
12357
+ # },
12358
+ # ],
12359
+ # map_filters: [
12360
+ # {
12361
+ # field_name: "ResourceTags", # accepts ResourceTags
12362
+ # filter: {
12363
+ # key: "NonEmptyString",
12364
+ # value: "NonEmptyString",
12365
+ # comparison: "EQUALS", # accepts EQUALS, NOT_EQUALS, CONTAINS, NOT_CONTAINS
12366
+ # },
12367
+ # },
12368
+ # ],
12369
+ # nested_composite_filters: {
12370
+ # # recursive ResourcesCompositeFilterList
12371
+ # },
12372
+ # operator: "AND", # accepts AND, OR
12373
+ # },
12374
+ # ],
12375
+ # composite_operator: "AND", # accepts AND, OR
12376
+ # },
11535
12377
  # },
11536
12378
  # actions: [
11537
12379
  # {
11538
- # type: "FINDING_FIELDS_UPDATE", # required, accepts FINDING_FIELDS_UPDATE, EXTERNAL_INTEGRATION
12380
+ # type: "FINDING_FIELDS_UPDATE", # required, accepts FINDING_FIELDS_UPDATE, EXTERNAL_INTEGRATION, RESOURCE_FIELDS_UPDATE
11539
12381
  # finding_fields_update: {
11540
12382
  # severity_id: 1,
11541
12383
  # comment: "NonEmptyString",
@@ -11544,6 +12386,9 @@ module Aws::SecurityHub
11544
12386
  # external_integration_configuration: {
11545
12387
  # connector_arn: "NonEmptyString",
11546
12388
  # },
12389
+ # resource_fields_update: {
12390
+ # criticality: "Very High", # required, accepts Very High, High, Medium, Low, Unknown
12391
+ # },
11547
12392
  # },
11548
12393
  # ],
11549
12394
  # })
@@ -13835,7 +14680,7 @@ module Aws::SecurityHub
13835
14680
  tracer: tracer
13836
14681
  )
13837
14682
  context[:gem_name] = 'aws-sdk-securityhub'
13838
- context[:gem_version] = '1.166.0'
14683
+ context[:gem_version] = '1.168.0'
13839
14684
  Seahorse::Client::Request.new(handlers, context)
13840
14685
  end
13841
14686