aws-sdk-securityhub 1.160.0 → 1.161.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a174fc1dc33225a2b71d85d52eb89e92130541c68e353b3f71daf83a157dfd86
4
- data.tar.gz: 0bb9da97a70bb8377449c8d2838a7d9d1556861afa8aa6281065c29167a8fdfa
3
+ metadata.gz: 953e0f1e343b94e6c9b62c34d5c68ecf4312d76ec8f15fe2b059f0bbfab26d30
4
+ data.tar.gz: '02359b710ee00d1e47d59f92ec351fce92b139b1ce955031a395341070aa0b0b'
5
5
  SHA512:
6
- metadata.gz: '008da0d51e8344a1e039e6a71319c48652379a9dcca80f7079ec9b76fb46ad45eab7898ec23c3b39545c7accd22713fbf5b1a31c3c5e3eb7c4aef7b11282e48c'
7
- data.tar.gz: cf068e0df7c76d90bcfc150e69db73fb9c858f2e44a84c95965801c9c77d5d2f142f97060b83b098f070a948f99fc0525baa793a6193178b6aeec0ca9c28c397
6
+ metadata.gz: 70b2700e4d3935fed1a4ae515dc2b451d74b0e084df64a980e646ed1c0a626e4a0a115dbf0a211c5324fbc47c25581ce5499b0fe4992160124e78b3b66230c7a
7
+ data.tar.gz: d9245af4bb859244ab25953694fe2a1937f4a0ff7957549d68009ef42cc59e01e8bbf79831d4fbeb888ecfe4aaba235db5de1a326189c38fa705107301f755a2
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.161.0 (2026-07-14)
5
+ ------------------
6
+
7
+ * Feature - AWS Security Hub now provides an AI inventory, giving central security teams a continuously updated, organization-wide view of AI assets and their security posture
8
+
4
9
  1.160.0 (2026-07-09)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.160.0
1
+ 1.161.0
@@ -3260,11 +3260,10 @@ module Aws::SecurityHub
3260
3260
  req.send_request(options)
3261
3261
  end
3262
3262
 
3263
- # Creates a cloud service provider management (CSPM) connector in
3264
- # Security Hub CSPM. A connector establishes a connection between
3265
- # Security Hub CSPM and a third-party cloud provider, enabling Security
3266
- # Hub CSPM to ingest security findings and resource data from the
3267
- # connected environment.
3263
+ # Creates a connector to a third-party cloud provider in Security Hub
3264
+ # CSPM. A connector establishes a connection between Security Hub CSPM
3265
+ # and a third-party cloud provider, enabling Security Hub CSPM to ingest
3266
+ # security findings and resource data from the connected environment.
3268
3267
  #
3269
3268
  # @option params [required, String] :name
3270
3269
  # The name of the connector. Must be unique within the account.
@@ -8920,6 +8919,12 @@ module Aws::SecurityHub
8920
8919
  # organizational units. Only the delegated administrator account can use
8921
8920
  # `Scopes`.
8922
8921
  #
8922
+ # If you set `GroupByField` to `ResourceSubCategory`,
8923
+ # `ResourceInfo.AIDetails.HostResourceType`, or
8924
+ # `ResourceInfo.AIDetails.CanonicalId`, you must include a
8925
+ # `ResourceCategory` string filter with comparison set to `EQUALS` and
8926
+ # value `AI/ML` in the corresponding `ResourceGroupByRule`.
8927
+ #
8923
8928
  # @option params [required, Array<Types::ResourceGroupByRule>] :group_by_rules
8924
8929
  # How resource statistics should be aggregated and organized in the
8925
8930
  # response.
@@ -8954,13 +8959,13 @@ module Aws::SecurityHub
8954
8959
  # resp = client.get_resources_statistics_v2({
8955
8960
  # group_by_rules: [ # required
8956
8961
  # {
8957
- # group_by_field: "AccountId", # required, accepts AccountId, AccountName, Region, ResourceProvider, ResourceOwnerAccountId, ResourceOwnerOrgId, ResourceCloudPartition, ResourceRegion, ResourceCategory, ResourceType, ResourceName, FindingsSummary.FindingType
8962
+ # 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
8958
8963
  # filters: {
8959
8964
  # composite_filters: [
8960
8965
  # {
8961
8966
  # string_filters: [
8962
8967
  # {
8963
- # field_name: "ResourceGuid", # accepts ResourceGuid, ResourceId, AccountId, AccountName, Region, ResourceProvider, ResourceOwnerAccountId, ResourceOwnerOrgId, ResourceCloudPartition, ResourceRegion, ResourceCategory, ResourceType, ResourceName, FindingsSummary.FindingType, FindingsSummary.ProductName
8968
+ # 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
8964
8969
  # filter: {
8965
8970
  # value: "NonEmptyString",
8966
8971
  # comparison: "EQUALS", # accepts EQUALS, PREFIX, NOT_EQUALS, PREFIX_NOT_EQUALS, CONTAINS, NOT_CONTAINS, CONTAINS_WORD
@@ -8983,7 +8988,7 @@ module Aws::SecurityHub
8983
8988
  # ],
8984
8989
  # number_filters: [
8985
8990
  # {
8986
- # 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
8991
+ # 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
8987
8992
  # filter: {
8988
8993
  # gte: 1.0,
8989
8994
  # lte: 1.0,
@@ -9132,6 +9137,18 @@ module Aws::SecurityHub
9132
9137
  # or together. When both are provided, `Scopes` narrows the data set
9133
9138
  # first, and then `Filters` refines results within that scoped data set.
9134
9139
  #
9140
+ # For AI/ML resources, the response includes the `ResourceSubCategory`
9141
+ # field. For self-hosted AI resources and their host resources, the
9142
+ # response also includes `ResourceInfo` with AI-specific details.
9143
+ # Self-hosted AI resources use a `ResourceType` with the
9144
+ # `SelfHosted::AI::` prefix, such as `SelfHosted::AI::Model`,
9145
+ # `SelfHosted::AI::Agent`, `SelfHosted::AI::InferenceEndpoint`, and
9146
+ # `SelfHosted::AI::ExternalEndpoint`.
9147
+ #
9148
+ # If you filter by `ResourceSubCategory`, you must also include a
9149
+ # `ResourceCategory` string filter with comparison set to `EQUALS` and
9150
+ # value `AI/ML` in the same request.
9151
+ #
9135
9152
  # @option params [Types::ResourcesFilters] :filters
9136
9153
  # Filters resources based on a set of criteria.
9137
9154
  #
@@ -9176,7 +9193,7 @@ module Aws::SecurityHub
9176
9193
  # {
9177
9194
  # string_filters: [
9178
9195
  # {
9179
- # field_name: "ResourceGuid", # accepts ResourceGuid, ResourceId, AccountId, AccountName, Region, ResourceProvider, ResourceOwnerAccountId, ResourceOwnerOrgId, ResourceCloudPartition, ResourceRegion, ResourceCategory, ResourceType, ResourceName, FindingsSummary.FindingType, FindingsSummary.ProductName
9196
+ # 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
9180
9197
  # filter: {
9181
9198
  # value: "NonEmptyString",
9182
9199
  # comparison: "EQUALS", # accepts EQUALS, PREFIX, NOT_EQUALS, PREFIX_NOT_EQUALS, CONTAINS, NOT_CONTAINS, CONTAINS_WORD
@@ -9199,7 +9216,7 @@ module Aws::SecurityHub
9199
9216
  # ],
9200
9217
  # number_filters: [
9201
9218
  # {
9202
- # 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
9219
+ # 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
9203
9220
  # filter: {
9204
9221
  # gte: 1.0,
9205
9222
  # lte: 1.0,
@@ -9278,6 +9295,19 @@ module Aws::SecurityHub
9278
9295
  # resp.resources[0].resource_tags #=> Array
9279
9296
  # resp.resources[0].resource_tags[0].key #=> String
9280
9297
  # resp.resources[0].resource_tags[0].value #=> String
9298
+ # resp.resources[0].resource_sub_category #=> String, one of "Model", "ModelServing", "Agent", "AgentFramework", "AgentToolsAndIdentity", "SafetyAndGuardrail", "KnowledgeAndData", "OrchestrationAndPipeline", "ExternalEndpoint", "Development", "Other"
9299
+ # resp.resources[0].discovery_type #=> String, one of "Managed", "SelfHosted"
9300
+ # resp.resources[0].resource_info.ai_details.host_resource_guid #=> String
9301
+ # resp.resources[0].resource_info.ai_details.host_resource_type #=> String
9302
+ # resp.resources[0].resource_info.ai_details.canonical_id #=> String
9303
+ # resp.resources[0].resource_info.ai_details.self_hosted_ai_model_resource_count #=> Integer
9304
+ # resp.resources[0].resource_info.ai_details.self_hosted_ai_agent_resource_count #=> Integer
9305
+ # resp.resources[0].resource_info.ai_details.self_hosted_ai_model_serving_resource_count #=> Integer
9306
+ # resp.resources[0].resource_info.ai_details.self_hosted_ai_external_endpoint_resource_count #=> Integer
9307
+ # resp.resources[0].resource_info.ai_details.self_hosted_ai_development_resource_count #=> Integer
9308
+ # resp.resources[0].resource_info.ai_details.self_hosted_ai_agent_framework_resource_count #=> Integer
9309
+ # resp.resources[0].resource_info.ai_details.self_hosted_ai_agent_tools_and_identity_resource_count #=> Integer
9310
+ # resp.resources[0].resource_info.ai_details.self_hosted_total_ai_resource_count #=> Integer
9281
9311
  # resp.next_token #=> String
9282
9312
  #
9283
9313
  # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetResourcesV2 AWS API Documentation
@@ -13386,7 +13416,7 @@ module Aws::SecurityHub
13386
13416
  tracer: tracer
13387
13417
  )
13388
13418
  context[:gem_name] = 'aws-sdk-securityhub'
13389
- context[:gem_version] = '1.160.0'
13419
+ context[:gem_version] = '1.161.0'
13390
13420
  Seahorse::Client::Request.new(handlers, context)
13391
13421
  end
13392
13422
 
@@ -14,6 +14,7 @@ module Aws::SecurityHub
14
14
 
15
15
  include Seahorse::Model
16
16
 
17
+ AIDetails = Shapes::StructureShape.new(name: 'AIDetails')
17
18
  AcceptAdministratorInvitationRequest = Shapes::StructureShape.new(name: 'AcceptAdministratorInvitationRequest')
18
19
  AcceptAdministratorInvitationResponse = Shapes::StructureShape.new(name: 'AcceptAdministratorInvitationResponse')
19
20
  AcceptInvitationRequest = Shapes::StructureShape.new(name: 'AcceptInvitationRequest')
@@ -907,6 +908,7 @@ module Aws::SecurityHub
907
908
  DisassociateFromMasterAccountResponse = Shapes::StructureShape.new(name: 'DisassociateFromMasterAccountResponse')
908
909
  DisassociateMembersRequest = Shapes::StructureShape.new(name: 'DisassociateMembersRequest')
909
910
  DisassociateMembersResponse = Shapes::StructureShape.new(name: 'DisassociateMembersResponse')
911
+ DiscoveryType = Shapes::StringShape.new(name: 'DiscoveryType')
910
912
  DnsRequestAction = Shapes::StructureShape.new(name: 'DnsRequestAction')
911
913
  Double = Shapes::FloatShape.new(name: 'Double')
912
914
  DoubleConfigurationOptions = Shapes::StructureShape.new(name: 'DoubleConfigurationOptions')
@@ -1212,6 +1214,7 @@ module Aws::SecurityHub
1212
1214
  ResourceGroupByRule = Shapes::StructureShape.new(name: 'ResourceGroupByRule')
1213
1215
  ResourceGroupByRules = Shapes::ListShape.new(name: 'ResourceGroupByRules')
1214
1216
  ResourceInUseException = Shapes::StructureShape.new(name: 'ResourceInUseException')
1217
+ ResourceInfo = Shapes::StructureShape.new(name: 'ResourceInfo')
1215
1218
  ResourceList = Shapes::ListShape.new(name: 'ResourceList')
1216
1219
  ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException')
1217
1220
  ResourceOwner = Shapes::StructureShape.new(name: 'ResourceOwner')
@@ -1220,6 +1223,7 @@ module Aws::SecurityHub
1220
1223
  ResourceResult = Shapes::StructureShape.new(name: 'ResourceResult')
1221
1224
  ResourceScopes = Shapes::StructureShape.new(name: 'ResourceScopes')
1222
1225
  ResourceSeverityBreakdown = Shapes::StructureShape.new(name: 'ResourceSeverityBreakdown')
1226
+ ResourceSubCategory = Shapes::StringShape.new(name: 'ResourceSubCategory')
1223
1227
  ResourceTag = Shapes::StructureShape.new(name: 'ResourceTag')
1224
1228
  ResourceTagList = Shapes::ListShape.new(name: 'ResourceTagList')
1225
1229
  Resources = Shapes::ListShape.new(name: 'Resources')
@@ -1458,6 +1462,19 @@ module Aws::SecurityHub
1458
1462
  WorkflowStatus = Shapes::StringShape.new(name: 'WorkflowStatus')
1459
1463
  WorkflowUpdate = Shapes::StructureShape.new(name: 'WorkflowUpdate')
1460
1464
 
1465
+ AIDetails.add_member(:host_resource_guid, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "HostResourceGuid"))
1466
+ AIDetails.add_member(:host_resource_type, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "HostResourceType"))
1467
+ AIDetails.add_member(:canonical_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "CanonicalId"))
1468
+ AIDetails.add_member(:self_hosted_ai_model_resource_count, Shapes::ShapeRef.new(shape: Integer, location_name: "SelfHostedAIModelResourceCount"))
1469
+ AIDetails.add_member(:self_hosted_ai_agent_resource_count, Shapes::ShapeRef.new(shape: Integer, location_name: "SelfHostedAIAgentResourceCount"))
1470
+ AIDetails.add_member(:self_hosted_ai_model_serving_resource_count, Shapes::ShapeRef.new(shape: Integer, location_name: "SelfHostedAIModelServingResourceCount"))
1471
+ AIDetails.add_member(:self_hosted_ai_external_endpoint_resource_count, Shapes::ShapeRef.new(shape: Integer, location_name: "SelfHostedAIExternalEndpointResourceCount"))
1472
+ AIDetails.add_member(:self_hosted_ai_development_resource_count, Shapes::ShapeRef.new(shape: Integer, location_name: "SelfHostedAIDevelopmentResourceCount"))
1473
+ AIDetails.add_member(:self_hosted_ai_agent_framework_resource_count, Shapes::ShapeRef.new(shape: Integer, location_name: "SelfHostedAIAgentFrameworkResourceCount"))
1474
+ AIDetails.add_member(:self_hosted_ai_agent_tools_and_identity_resource_count, Shapes::ShapeRef.new(shape: Integer, location_name: "SelfHostedAIAgentToolsAndIdentityResourceCount"))
1475
+ AIDetails.add_member(:self_hosted_total_ai_resource_count, Shapes::ShapeRef.new(shape: Integer, location_name: "SelfHostedTotalAIResourceCount"))
1476
+ AIDetails.struct_class = Types::AIDetails
1477
+
1461
1478
  AcceptAdministratorInvitationRequest.add_member(:administrator_id, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "AdministratorId"))
1462
1479
  AcceptAdministratorInvitationRequest.add_member(:invitation_id, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "InvitationId"))
1463
1480
  AcceptAdministratorInvitationRequest.struct_class = Types::AcceptAdministratorInvitationRequest
@@ -7321,6 +7338,9 @@ module Aws::SecurityHub
7321
7338
  ResourceInUseException.add_member(:code, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Code"))
7322
7339
  ResourceInUseException.struct_class = Types::ResourceInUseException
7323
7340
 
7341
+ ResourceInfo.add_member(:ai_details, Shapes::ShapeRef.new(shape: AIDetails, location_name: "AIDetails"))
7342
+ ResourceInfo.struct_class = Types::ResourceInfo
7343
+
7324
7344
  ResourceList.member = Shapes::ShapeRef.new(shape: Resource)
7325
7345
 
7326
7346
  ResourceNotFoundException.add_member(:message, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Message"))
@@ -7355,6 +7375,9 @@ module Aws::SecurityHub
7355
7375
  ResourceResult.add_member(:findings_summary, Shapes::ShapeRef.new(shape: ResourceFindingsSummaryList, location_name: "FindingsSummary"))
7356
7376
  ResourceResult.add_member(:resource_tags, Shapes::ShapeRef.new(shape: ResourceTagList, location_name: "ResourceTags"))
7357
7377
  ResourceResult.add_member(:resource_config, Shapes::ShapeRef.new(shape: ResourceConfig, required: true, location_name: "ResourceConfig"))
7378
+ ResourceResult.add_member(:resource_sub_category, Shapes::ShapeRef.new(shape: ResourceSubCategory, location_name: "ResourceSubCategory"))
7379
+ ResourceResult.add_member(:discovery_type, Shapes::ShapeRef.new(shape: DiscoveryType, location_name: "DiscoveryType"))
7380
+ ResourceResult.add_member(:resource_info, Shapes::ShapeRef.new(shape: ResourceInfo, location_name: "ResourceInfo"))
7358
7381
  ResourceResult.struct_class = Types::ResourceResult
7359
7382
 
7360
7383
  ResourceScopes.add_member(:aws_organizations, Shapes::ShapeRef.new(shape: AwsOrganizationScopeList, location_name: "AwsOrganizations"))
@@ -10,6 +10,107 @@
10
10
  module Aws::SecurityHub
11
11
  module Types
12
12
 
13
+ # Contains information about self-hosted AI resources and their host
14
+ # resources. The fields that are present depend on the role of the
15
+ # resource.
16
+ #
17
+ # On a self-hosted AI resource (a resource with a `SelfHosted::AI::`
18
+ # resource type, such as `SelfHosted::AI::Model` or
19
+ # `SelfHosted::AI::Agent`), the `HostResourceGuid` and
20
+ # `HostResourceType` fields link the resource to its host. The
21
+ # `CanonicalId` field identifies what the resource is, enabling
22
+ # aggregation of identical resources across multiple hosts.
23
+ #
24
+ # On a host resource (such as an Amazon EC2 instance), the
25
+ # `SelfHostedAI*ResourceCount` fields contain the count for each
26
+ # `ResourceSubCategory` and the total count of self-hosted AI resources
27
+ # detected on the host.
28
+ #
29
+ # @!attribute [rw] host_resource_guid
30
+ # The identifier of the host resource that hosts the self-hosted AI
31
+ # resource. Present only on self-hosted AI resources.
32
+ # @return [String]
33
+ #
34
+ # @!attribute [rw] host_resource_type
35
+ # The `ResourceType` of the host resource that hosts the self-hosted
36
+ # AI resource, such as `AWS::EC2::Instance`. Present only on
37
+ # self-hosted AI resources.
38
+ # @return [String]
39
+ #
40
+ # @!attribute [rw] canonical_id
41
+ # The canonical identifier for the AI resource, independent of where
42
+ # it is deployed. Multiple occurrences of the same resource on
43
+ # different hosts share the same `CanonicalId`. For model resources,
44
+ # the value follows the format `model/<purl>`, such as
45
+ # `model/pkg:huggingface/meta-llama/llama-3-8b`. Present only on
46
+ # self-hosted AI resources.
47
+ # @return [String]
48
+ #
49
+ # @!attribute [rw] self_hosted_ai_model_resource_count
50
+ # The number of self-hosted AI resources of `ResourceSubCategory`
51
+ # `Model` detected on the host resource. Present only on host
52
+ # resources.
53
+ # @return [Integer]
54
+ #
55
+ # @!attribute [rw] self_hosted_ai_agent_resource_count
56
+ # The number of self-hosted AI resources of `ResourceSubCategory`
57
+ # `Agent` detected on the host resource. Present only on host
58
+ # resources.
59
+ # @return [Integer]
60
+ #
61
+ # @!attribute [rw] self_hosted_ai_model_serving_resource_count
62
+ # The number of self-hosted AI resources of `ResourceSubCategory`
63
+ # `ModelServing` detected on the host resource. Present only on host
64
+ # resources.
65
+ # @return [Integer]
66
+ #
67
+ # @!attribute [rw] self_hosted_ai_external_endpoint_resource_count
68
+ # The number of self-hosted AI resources of `ResourceSubCategory`
69
+ # `ExternalEndpoint` detected on the host resource. Present only on
70
+ # host resources.
71
+ # @return [Integer]
72
+ #
73
+ # @!attribute [rw] self_hosted_ai_development_resource_count
74
+ # The number of self-hosted AI resources of `ResourceSubCategory`
75
+ # `Development` detected on the host resource. Present only on host
76
+ # resources.
77
+ # @return [Integer]
78
+ #
79
+ # @!attribute [rw] self_hosted_ai_agent_framework_resource_count
80
+ # The number of self-hosted AI resources of `ResourceSubCategory`
81
+ # `AgentFramework` detected on the host resource. Present only on host
82
+ # resources.
83
+ # @return [Integer]
84
+ #
85
+ # @!attribute [rw] self_hosted_ai_agent_tools_and_identity_resource_count
86
+ # The number of self-hosted AI resources of `ResourceSubCategory`
87
+ # `AgentToolsAndIdentity` detected on the host resource. Present only
88
+ # on host resources.
89
+ # @return [Integer]
90
+ #
91
+ # @!attribute [rw] self_hosted_total_ai_resource_count
92
+ # The total number of all self-hosted AI resources detected on the
93
+ # host resource. Present only on host resources.
94
+ # @return [Integer]
95
+ #
96
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/AIDetails AWS API Documentation
97
+ #
98
+ class AIDetails < Struct.new(
99
+ :host_resource_guid,
100
+ :host_resource_type,
101
+ :canonical_id,
102
+ :self_hosted_ai_model_resource_count,
103
+ :self_hosted_ai_agent_resource_count,
104
+ :self_hosted_ai_model_serving_resource_count,
105
+ :self_hosted_ai_external_endpoint_resource_count,
106
+ :self_hosted_ai_development_resource_count,
107
+ :self_hosted_ai_agent_framework_resource_count,
108
+ :self_hosted_ai_agent_tools_and_identity_resource_count,
109
+ :self_hosted_total_ai_resource_count)
110
+ SENSITIVE = []
111
+ include Aws::Structure
112
+ end
113
+
13
114
  # @!attribute [rw] administrator_id
14
115
  # The account ID of the Security Hub CSPM administrator account that
15
116
  # sent the invitation.
@@ -21704,8 +21805,8 @@ module Aws::SecurityHub
21704
21805
  # The detailed Azure configuration for a connector.
21705
21806
  #
21706
21807
  # @!attribute [rw] aws_config_connector_arn
21707
- # The ARN of the AWS Config connector used to establish the connection
21708
- # to Azure.
21808
+ # The ARN of the multi-cloud configuration connector used to establish
21809
+ # the connection to Azure.
21709
21810
  # @return [String]
21710
21811
  #
21711
21812
  # @!attribute [rw] scope_configuration
@@ -21730,8 +21831,8 @@ module Aws::SecurityHub
21730
21831
  # The configuration for connecting to an Azure environment.
21731
21832
  #
21732
21833
  # @!attribute [rw] aws_config_connector_arn
21733
- # The ARN of the AWS Config connector used to establish the connection
21734
- # to Azure.
21834
+ # The ARN of the multi-cloud configuration connector used to establish
21835
+ # the connection to Azure.
21735
21836
  # @return [String]
21736
21837
  #
21737
21838
  # @!attribute [rw] scope_configuration
@@ -31033,6 +31134,23 @@ module Aws::SecurityHub
31033
31134
  include Aws::Structure
31034
31135
  end
31035
31136
 
31137
+ # Additional details about a resource that are specific to its category.
31138
+ # For AI/ML resources and their host resources, this structure contains
31139
+ # `AIDetails`.
31140
+ #
31141
+ # @!attribute [rw] ai_details
31142
+ # Details that are specific to self-hosted AI resources and their host
31143
+ # resources.
31144
+ # @return [Types::AIDetails]
31145
+ #
31146
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ResourceInfo AWS API Documentation
31147
+ #
31148
+ class ResourceInfo < Struct.new(
31149
+ :ai_details)
31150
+ SENSITIVE = []
31151
+ include Aws::Structure
31152
+ end
31153
+
31036
31154
  # The request was rejected because we can't find the specified
31037
31155
  # resource.
31038
31156
  #
@@ -31194,6 +31312,25 @@ module Aws::SecurityHub
31194
31312
  # The configuration details of a resource.
31195
31313
  # @return [Hash,Array,String,Numeric,Boolean]
31196
31314
  #
31315
+ # @!attribute [rw] resource_sub_category
31316
+ # The AI/ML sub-grouping of the resource. Present only when
31317
+ # `ResourceCategory` is `AI/ML`.
31318
+ # @return [String]
31319
+ #
31320
+ # @!attribute [rw] discovery_type
31321
+ # Specifies how the resource was discovered. If the value is
31322
+ # `Managed`, the resource is natively provided by a cloud service
31323
+ # provider. If the value is `SelfHosted`, the resource is hosted on
31324
+ # customer-managed infrastructure, such as a compute instance or
31325
+ # container image.
31326
+ # @return [String]
31327
+ #
31328
+ # @!attribute [rw] resource_info
31329
+ # Additional resource-type-specific details. For self-hosted AI
31330
+ # resources and their host resources, contains an `AIDetails`
31331
+ # structure.
31332
+ # @return [Types::ResourceInfo]
31333
+ #
31197
31334
  # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ResourceResult AWS API Documentation
31198
31335
  #
31199
31336
  class ResourceResult < Struct.new(
@@ -31214,7 +31351,10 @@ module Aws::SecurityHub
31214
31351
  :resource_detail_capture_time_dt,
31215
31352
  :findings_summary,
31216
31353
  :resource_tags,
31217
- :resource_config)
31354
+ :resource_config,
31355
+ :resource_sub_category,
31356
+ :discovery_type,
31357
+ :resource_info)
31218
31358
  SENSITIVE = []
31219
31359
  include Aws::Structure
31220
31360
  end
@@ -54,7 +54,7 @@ module Aws::SecurityHub
54
54
  autoload :EndpointProvider, 'aws-sdk-securityhub/endpoint_provider'
55
55
  autoload :Endpoints, 'aws-sdk-securityhub/endpoints'
56
56
 
57
- GEM_VERSION = '1.160.0'
57
+ GEM_VERSION = '1.161.0'
58
58
 
59
59
  end
60
60
 
data/sig/client.rbs CHANGED
@@ -4962,7 +4962,7 @@ module Aws
4962
4962
  def get_resources_statistics_v2: (
4963
4963
  group_by_rules: Array[
4964
4964
  {
4965
- group_by_field: ("AccountId" | "AccountName" | "Region" | "ResourceProvider" | "ResourceOwnerAccountId" | "ResourceOwnerOrgId" | "ResourceCloudPartition" | "ResourceRegion" | "ResourceCategory" | "ResourceType" | "ResourceName" | "FindingsSummary.FindingType"),
4965
+ group_by_field: ("AccountId" | "AccountName" | "Region" | "ResourceProvider" | "ResourceOwnerAccountId" | "ResourceOwnerOrgId" | "ResourceCloudPartition" | "ResourceRegion" | "ResourceCategory" | "ResourceType" | "ResourceName" | "FindingsSummary.FindingType" | "ResourceSubCategory" | "DiscoveryType" | "ResourceInfo.AIDetails.HostResourceType" | "ResourceInfo.AIDetails.CanonicalId"),
4966
4966
  filters: Params::resources_filters?
4967
4967
  }
4968
4968
  ],
data/sig/params.rbs CHANGED
@@ -1392,7 +1392,7 @@ module Aws
1392
1392
  type resources_composite_filter = {
1393
1393
  string_filters: Array[
1394
1394
  {
1395
- field_name: ("ResourceGuid" | "ResourceId" | "AccountId" | "AccountName" | "Region" | "ResourceProvider" | "ResourceOwnerAccountId" | "ResourceOwnerOrgId" | "ResourceCloudPartition" | "ResourceRegion" | "ResourceCategory" | "ResourceType" | "ResourceName" | "FindingsSummary.FindingType" | "FindingsSummary.ProductName")?,
1395
+ field_name: ("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")?,
1396
1396
  filter: {
1397
1397
  value: ::String?,
1398
1398
  comparison: ("EQUALS" | "PREFIX" | "NOT_EQUALS" | "PREFIX_NOT_EQUALS" | "CONTAINS" | "NOT_CONTAINS" | "CONTAINS_WORD")?
@@ -1412,7 +1412,7 @@ module Aws
1412
1412
  {
1413
1413
  string_filters: Array[
1414
1414
  {
1415
- field_name: ("ResourceGuid" | "ResourceId" | "AccountId" | "AccountName" | "Region" | "ResourceProvider" | "ResourceOwnerAccountId" | "ResourceOwnerOrgId" | "ResourceCloudPartition" | "ResourceRegion" | "ResourceCategory" | "ResourceType" | "ResourceName" | "FindingsSummary.FindingType" | "FindingsSummary.ProductName")?,
1415
+ field_name: ("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")?,
1416
1416
  filter: {
1417
1417
  value: ::String?,
1418
1418
  comparison: ("EQUALS" | "PREFIX" | "NOT_EQUALS" | "PREFIX_NOT_EQUALS" | "CONTAINS" | "NOT_CONTAINS" | "CONTAINS_WORD")?
@@ -1441,7 +1441,7 @@ module Aws
1441
1441
  }
1442
1442
 
1443
1443
  type resources_number_filter = {
1444
- field_name: ("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")?,
1444
+ field_name: ("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")?,
1445
1445
  filter: {
1446
1446
  gte: ::Float?,
1447
1447
  lte: ::Float?,
data/sig/types.rbs CHANGED
@@ -8,6 +8,21 @@
8
8
  module Aws::SecurityHub
9
9
  module Types
10
10
 
11
+ class AIDetails
12
+ attr_accessor host_resource_guid: ::String
13
+ attr_accessor host_resource_type: ::String
14
+ attr_accessor canonical_id: ::String
15
+ attr_accessor self_hosted_ai_model_resource_count: ::Integer
16
+ attr_accessor self_hosted_ai_agent_resource_count: ::Integer
17
+ attr_accessor self_hosted_ai_model_serving_resource_count: ::Integer
18
+ attr_accessor self_hosted_ai_external_endpoint_resource_count: ::Integer
19
+ attr_accessor self_hosted_ai_development_resource_count: ::Integer
20
+ attr_accessor self_hosted_ai_agent_framework_resource_count: ::Integer
21
+ attr_accessor self_hosted_ai_agent_tools_and_identity_resource_count: ::Integer
22
+ attr_accessor self_hosted_total_ai_resource_count: ::Integer
23
+ SENSITIVE: []
24
+ end
25
+
11
26
  class AcceptAdministratorInvitationRequest
12
27
  attr_accessor administrator_id: ::String
13
28
  attr_accessor invitation_id: ::String
@@ -7129,7 +7144,7 @@ module Aws::SecurityHub
7129
7144
  end
7130
7145
 
7131
7146
  class ResourceGroupByRule
7132
- attr_accessor group_by_field: ("AccountId" | "AccountName" | "Region" | "ResourceProvider" | "ResourceOwnerAccountId" | "ResourceOwnerOrgId" | "ResourceCloudPartition" | "ResourceRegion" | "ResourceCategory" | "ResourceType" | "ResourceName" | "FindingsSummary.FindingType")
7147
+ attr_accessor group_by_field: ("AccountId" | "AccountName" | "Region" | "ResourceProvider" | "ResourceOwnerAccountId" | "ResourceOwnerOrgId" | "ResourceCloudPartition" | "ResourceRegion" | "ResourceCategory" | "ResourceType" | "ResourceName" | "FindingsSummary.FindingType" | "ResourceSubCategory" | "DiscoveryType" | "ResourceInfo.AIDetails.HostResourceType" | "ResourceInfo.AIDetails.CanonicalId")
7133
7148
  attr_accessor filters: Types::ResourcesFilters
7134
7149
  SENSITIVE: []
7135
7150
  end
@@ -7140,6 +7155,11 @@ module Aws::SecurityHub
7140
7155
  SENSITIVE: []
7141
7156
  end
7142
7157
 
7158
+ class ResourceInfo
7159
+ attr_accessor ai_details: Types::AIDetails
7160
+ SENSITIVE: []
7161
+ end
7162
+
7143
7163
  class ResourceNotFoundException
7144
7164
  attr_accessor message: ::String
7145
7165
  attr_accessor code: ::String
@@ -7181,6 +7201,9 @@ module Aws::SecurityHub
7181
7201
  attr_accessor findings_summary: ::Array[Types::ResourceFindingsSummary]
7182
7202
  attr_accessor resource_tags: ::Array[Types::ResourceTag]
7183
7203
  attr_accessor resource_config: untyped
7204
+ attr_accessor resource_sub_category: ("Model" | "ModelServing" | "Agent" | "AgentFramework" | "AgentToolsAndIdentity" | "SafetyAndGuardrail" | "KnowledgeAndData" | "OrchestrationAndPipeline" | "ExternalEndpoint" | "Development" | "Other")
7205
+ attr_accessor discovery_type: ("Managed" | "SelfHosted")
7206
+ attr_accessor resource_info: Types::ResourceInfo
7184
7207
  SENSITIVE: []
7185
7208
  end
7186
7209
 
@@ -7241,13 +7264,13 @@ module Aws::SecurityHub
7241
7264
  end
7242
7265
 
7243
7266
  class ResourcesNumberFilter
7244
- attr_accessor field_name: ("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")
7267
+ attr_accessor field_name: ("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")
7245
7268
  attr_accessor filter: Types::NumberFilter
7246
7269
  SENSITIVE: []
7247
7270
  end
7248
7271
 
7249
7272
  class ResourcesStringFilter
7250
- attr_accessor field_name: ("ResourceGuid" | "ResourceId" | "AccountId" | "AccountName" | "Region" | "ResourceProvider" | "ResourceOwnerAccountId" | "ResourceOwnerOrgId" | "ResourceCloudPartition" | "ResourceRegion" | "ResourceCategory" | "ResourceType" | "ResourceName" | "FindingsSummary.FindingType" | "FindingsSummary.ProductName")
7273
+ attr_accessor field_name: ("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")
7251
7274
  attr_accessor filter: Types::StringFilter
7252
7275
  SENSITIVE: []
7253
7276
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-securityhub
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.160.0
4
+ version: 1.161.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services