aws-sdk-guardduty 1.85.0 → 1.86.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: 0127ffee286d134a03e62ae968b8210d28fa50372e74145c798c05b4573b225e
4
- data.tar.gz: fb1bf98faaf6bb7c9eeff60d7eaffbd008bf5cf5a781588894d9b7fb041f5a87
3
+ metadata.gz: 71e132b3fd29f5b9a317c73d560f28728ec006e1768881e44cbcdd1db378ddcc
4
+ data.tar.gz: f047f6bdde39f530020f4b5fe2488a792a63f579407261b2c646c8838b62387e
5
5
  SHA512:
6
- metadata.gz: '078533a2c05c970133b4a0a4c0640ea32ffcb1ef668d91bb6219848c0edb3a676fe38b9ed0961fd06ca9805633cb4c697fc314ead1fd30bf231c8c16c99e1cbb'
7
- data.tar.gz: 7dd2d22dafcf3f58c381d800d83a89778327188318b9966396c1fcf2e214ddddc5c3daca06d6b38989dcf86d359d866c26285fca7089bb1b4b2ec085fb1e9a44
6
+ metadata.gz: cb96d3223a6bf1ab7e0be73e0d43fc713b01dbe325b80d51a795888cad106514edcb01832d8d90c7f11a64f3ef9378cb2002885c271a098c8982f411b2166c27
7
+ data.tar.gz: 800a099087206222d84f1389cd39e9839c6e9040ff1ac16ac290c857ae32cbfeb1a198a56708b7bfb47ff97bd25020b9b02b1abaf44afdfabdeb3ef8ec05a393
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.86.0 (2023-12-20)
5
+ ------------------
6
+
7
+ * Feature - This release 1) introduces a new API: GetOrganizationStatistics , and 2) adds a new UsageStatisticType TOP_ACCOUNTS_BY_FEATURE for GetUsageStatistics API
8
+
4
9
  1.85.0 (2023-11-28)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.85.0
1
+ 1.86.0
@@ -968,22 +968,30 @@ module Aws::GuardDuty
968
968
  # organization delegated administrator account. A delegated
969
969
  # administrator must enable GuardDuty prior to being added as a member.
970
970
  #
971
+ # When you use CreateMembers as an Organizations delegated
972
+ # administrator, GuardDuty applies your organization's auto-enable
973
+ # settings to the member accounts in this request, irrespective of the
974
+ # accounts being new or existing members. For more information about the
975
+ # existing auto-enable settings for your organization, see
976
+ # [DescribeOrganizationConfiguration][1].
977
+ #
971
978
  # If you are adding accounts by invitation, before using
972
- # [InviteMembers][1], use `CreateMembers` after GuardDuty has been
979
+ # [InviteMembers][2], use `CreateMembers` after GuardDuty has been
973
980
  # enabled in potential member accounts.
974
981
  #
975
982
  # If you disassociate a member from a GuardDuty delegated administrator,
976
983
  # the member account details obtained from this API, including the
977
984
  # associated email addresses, will be retained. This is done so that the
978
- # delegated administrator can invoke the [InviteMembers][1] API without
985
+ # delegated administrator can invoke the [InviteMembers][2] API without
979
986
  # the need to invoke the CreateMembers API again. To remove the details
980
987
  # associated with a member account, the delegated administrator must
981
- # invoke the [DeleteMembers][2] API.
988
+ # invoke the [DeleteMembers][3] API.
982
989
  #
983
990
  #
984
991
  #
985
- # [1]: https://docs.aws.amazon.com/guardduty/latest/APIReference/API_InviteMembers.html
986
- # [2]: https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DeleteMembers.html
992
+ # [1]: https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DescribeOrganizationConfiguration.html
993
+ # [2]: https://docs.aws.amazon.com/guardduty/latest/APIReference/API_InviteMembers.html
994
+ # [3]: https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DeleteMembers.html
987
995
  #
988
996
  # @option params [required, String] :detector_id
989
997
  # The unique ID of the detector of the GuardDuty account that you want
@@ -1852,8 +1860,8 @@ module Aws::GuardDuty
1852
1860
  # Retrieves aggregated statistics for your account. If you are a
1853
1861
  # GuardDuty administrator, you can retrieve the statistics for all the
1854
1862
  # resources associated with the active member accounts in your
1855
- # organization who have enabled EKS Runtime Monitoring and have the
1856
- # GuardDuty agent running on their EKS nodes.
1863
+ # organization who have enabled Runtime Monitoring and have the
1864
+ # GuardDuty security agent running on their resources.
1857
1865
  #
1858
1866
  # @option params [required, String] :detector_id
1859
1867
  # The unique ID of the GuardDuty detector associated to the coverage
@@ -2823,6 +2831,40 @@ module Aws::GuardDuty
2823
2831
  req.send_request(options)
2824
2832
  end
2825
2833
 
2834
+ # Retrieves how many active member accounts in your Amazon Web Services
2835
+ # organization have each feature enabled within GuardDuty. Only a
2836
+ # delegated GuardDuty administrator of an organization can run this API.
2837
+ #
2838
+ # When you create a new Amazon Web Services organization, it might take
2839
+ # up to 24 hours to generate the statistics for the entire organization.
2840
+ #
2841
+ # @return [Types::GetOrganizationStatisticsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2842
+ #
2843
+ # * {Types::GetOrganizationStatisticsResponse#organization_details #organization_details} => Types::OrganizationDetails
2844
+ #
2845
+ # @example Response structure
2846
+ #
2847
+ # resp.organization_details.updated_at #=> Time
2848
+ # resp.organization_details.organization_statistics.total_accounts_count #=> Integer
2849
+ # resp.organization_details.organization_statistics.member_accounts_count #=> Integer
2850
+ # resp.organization_details.organization_statistics.active_accounts_count #=> Integer
2851
+ # resp.organization_details.organization_statistics.enabled_accounts_count #=> Integer
2852
+ # resp.organization_details.organization_statistics.count_by_feature #=> Array
2853
+ # resp.organization_details.organization_statistics.count_by_feature[0].name #=> String, one of "S3_DATA_EVENTS", "EKS_AUDIT_LOGS", "EBS_MALWARE_PROTECTION", "RDS_LOGIN_EVENTS", "EKS_RUNTIME_MONITORING", "LAMBDA_NETWORK_LOGS", "RUNTIME_MONITORING"
2854
+ # resp.organization_details.organization_statistics.count_by_feature[0].enabled_accounts_count #=> Integer
2855
+ # resp.organization_details.organization_statistics.count_by_feature[0].additional_configuration #=> Array
2856
+ # resp.organization_details.organization_statistics.count_by_feature[0].additional_configuration[0].name #=> String, one of "EKS_ADDON_MANAGEMENT", "ECS_FARGATE_AGENT_MANAGEMENT"
2857
+ # resp.organization_details.organization_statistics.count_by_feature[0].additional_configuration[0].enabled_accounts_count #=> Integer
2858
+ #
2859
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetOrganizationStatistics AWS API Documentation
2860
+ #
2861
+ # @overload get_organization_statistics(params = {})
2862
+ # @param [Hash] params ({})
2863
+ def get_organization_statistics(params = {}, options = {})
2864
+ req = build_request(:get_organization_statistics, params)
2865
+ req.send_request(options)
2866
+ end
2867
+
2826
2868
  # Provides the number of days left for each data source used in the free
2827
2869
  # trial period.
2828
2870
  #
@@ -2959,7 +3001,7 @@ module Aws::GuardDuty
2959
3001
  #
2960
3002
  # resp = client.get_usage_statistics({
2961
3003
  # detector_id: "DetectorId", # required
2962
- # usage_statistic_type: "SUM_BY_ACCOUNT", # required, accepts SUM_BY_ACCOUNT, SUM_BY_DATA_SOURCE, SUM_BY_RESOURCE, TOP_RESOURCES, SUM_BY_FEATURES
3004
+ # usage_statistic_type: "SUM_BY_ACCOUNT", # required, accepts SUM_BY_ACCOUNT, SUM_BY_DATA_SOURCE, SUM_BY_RESOURCE, TOP_RESOURCES, SUM_BY_FEATURES, TOP_ACCOUNTS_BY_FEATURE
2963
3005
  # usage_criteria: { # required
2964
3006
  # account_ids: ["AccountId"],
2965
3007
  # data_sources: ["FLOW_LOGS"], # accepts FLOW_LOGS, CLOUD_TRAIL, DNS_LOGS, S3_LOGS, KUBERNETES_AUDIT_LOGS, EC2_MALWARE_SCAN
@@ -2977,6 +3019,12 @@ module Aws::GuardDuty
2977
3019
  # resp.usage_statistics.sum_by_account[0].account_id #=> String
2978
3020
  # resp.usage_statistics.sum_by_account[0].total.amount #=> String
2979
3021
  # resp.usage_statistics.sum_by_account[0].total.unit #=> String
3022
+ # resp.usage_statistics.top_accounts_by_feature #=> Array
3023
+ # resp.usage_statistics.top_accounts_by_feature[0].feature #=> String, one of "FLOW_LOGS", "CLOUD_TRAIL", "DNS_LOGS", "S3_DATA_EVENTS", "EKS_AUDIT_LOGS", "EBS_MALWARE_PROTECTION", "RDS_LOGIN_EVENTS", "LAMBDA_NETWORK_LOGS", "EKS_RUNTIME_MONITORING", "FARGATE_RUNTIME_MONITORING", "EC2_RUNTIME_MONITORING"
3024
+ # resp.usage_statistics.top_accounts_by_feature[0].accounts #=> Array
3025
+ # resp.usage_statistics.top_accounts_by_feature[0].accounts[0].account_id #=> String
3026
+ # resp.usage_statistics.top_accounts_by_feature[0].accounts[0].total.amount #=> String
3027
+ # resp.usage_statistics.top_accounts_by_feature[0].accounts[0].total.unit #=> String
2980
3028
  # resp.usage_statistics.sum_by_data_source #=> Array
2981
3029
  # resp.usage_statistics.sum_by_data_source[0].data_source #=> String, one of "FLOW_LOGS", "CLOUD_TRAIL", "DNS_LOGS", "S3_LOGS", "KUBERNETES_AUDIT_LOGS", "EC2_MALWARE_SCAN"
2982
3030
  # resp.usage_statistics.sum_by_data_source[0].total.amount #=> String
@@ -3085,8 +3133,8 @@ module Aws::GuardDuty
3085
3133
  # GuardDuty administrator, you can retrieve all resources associated
3086
3134
  # with the active member accounts in your organization.
3087
3135
  #
3088
- # Make sure the accounts have EKS Runtime Monitoring enabled and
3089
- # GuardDuty agent running on their EKS nodes.
3136
+ # Make sure the accounts have Runtime Monitoring enabled and GuardDuty
3137
+ # agent running on their resources.
3090
3138
  #
3091
3139
  # @option params [required, String] :detector_id
3092
3140
  # The unique ID of the detector whose coverage details you want to
@@ -4548,7 +4596,7 @@ module Aws::GuardDuty
4548
4596
  params: params,
4549
4597
  config: config)
4550
4598
  context[:gem_name] = 'aws-sdk-guardduty'
4551
- context[:gem_version] = '1.85.0'
4599
+ context[:gem_version] = '1.86.0'
4552
4600
  Seahorse::Client::Request.new(handlers, context)
4553
4601
  end
4554
4602
 
@@ -225,6 +225,7 @@ module Aws::GuardDuty
225
225
  GetMemberDetectorsResponse = Shapes::StructureShape.new(name: 'GetMemberDetectorsResponse')
226
226
  GetMembersRequest = Shapes::StructureShape.new(name: 'GetMembersRequest')
227
227
  GetMembersResponse = Shapes::StructureShape.new(name: 'GetMembersResponse')
228
+ GetOrganizationStatisticsResponse = Shapes::StructureShape.new(name: 'GetOrganizationStatisticsResponse')
228
229
  GetRemainingFreeTrialDaysRequest = Shapes::StructureShape.new(name: 'GetRemainingFreeTrialDaysRequest')
229
230
  GetRemainingFreeTrialDaysResponse = Shapes::StructureShape.new(name: 'GetRemainingFreeTrialDaysResponse')
230
231
  GetThreatIntelSetRequest = Shapes::StructureShape.new(name: 'GetThreatIntelSetRequest')
@@ -335,10 +336,15 @@ module Aws::GuardDuty
335
336
  OrganizationAdditionalConfigurations = Shapes::ListShape.new(name: 'OrganizationAdditionalConfigurations')
336
337
  OrganizationDataSourceConfigurations = Shapes::StructureShape.new(name: 'OrganizationDataSourceConfigurations')
337
338
  OrganizationDataSourceConfigurationsResult = Shapes::StructureShape.new(name: 'OrganizationDataSourceConfigurationsResult')
339
+ OrganizationDetails = Shapes::StructureShape.new(name: 'OrganizationDetails')
338
340
  OrganizationEbsVolumes = Shapes::StructureShape.new(name: 'OrganizationEbsVolumes')
339
341
  OrganizationEbsVolumesResult = Shapes::StructureShape.new(name: 'OrganizationEbsVolumesResult')
340
342
  OrganizationFeatureConfiguration = Shapes::StructureShape.new(name: 'OrganizationFeatureConfiguration')
341
343
  OrganizationFeatureConfigurationResult = Shapes::StructureShape.new(name: 'OrganizationFeatureConfigurationResult')
344
+ OrganizationFeatureStatistics = Shapes::StructureShape.new(name: 'OrganizationFeatureStatistics')
345
+ OrganizationFeatureStatisticsAdditionalConfiguration = Shapes::StructureShape.new(name: 'OrganizationFeatureStatisticsAdditionalConfiguration')
346
+ OrganizationFeatureStatisticsAdditionalConfigurations = Shapes::ListShape.new(name: 'OrganizationFeatureStatisticsAdditionalConfigurations')
347
+ OrganizationFeatureStatisticsResults = Shapes::ListShape.new(name: 'OrganizationFeatureStatisticsResults')
342
348
  OrganizationFeaturesConfigurations = Shapes::ListShape.new(name: 'OrganizationFeaturesConfigurations')
343
349
  OrganizationFeaturesConfigurationsResults = Shapes::ListShape.new(name: 'OrganizationFeaturesConfigurationsResults')
344
350
  OrganizationKubernetesAuditLogsConfiguration = Shapes::StructureShape.new(name: 'OrganizationKubernetesAuditLogsConfiguration')
@@ -351,6 +357,7 @@ module Aws::GuardDuty
351
357
  OrganizationS3LogsConfigurationResult = Shapes::StructureShape.new(name: 'OrganizationS3LogsConfigurationResult')
352
358
  OrganizationScanEc2InstanceWithFindings = Shapes::StructureShape.new(name: 'OrganizationScanEc2InstanceWithFindings')
353
359
  OrganizationScanEc2InstanceWithFindingsResult = Shapes::StructureShape.new(name: 'OrganizationScanEc2InstanceWithFindingsResult')
360
+ OrganizationStatistics = Shapes::StructureShape.new(name: 'OrganizationStatistics')
354
361
  Owner = Shapes::StructureShape.new(name: 'Owner')
355
362
  PermissionConfiguration = Shapes::StructureShape.new(name: 'PermissionConfiguration')
356
363
  PortProbeAction = Shapes::StructureShape.new(name: 'PortProbeAction')
@@ -475,6 +482,10 @@ module Aws::GuardDuty
475
482
  UsageResourceResultList = Shapes::ListShape.new(name: 'UsageResourceResultList')
476
483
  UsageStatisticType = Shapes::StringShape.new(name: 'UsageStatisticType')
477
484
  UsageStatistics = Shapes::StructureShape.new(name: 'UsageStatistics')
485
+ UsageTopAccountResult = Shapes::StructureShape.new(name: 'UsageTopAccountResult')
486
+ UsageTopAccountsByFeatureList = Shapes::ListShape.new(name: 'UsageTopAccountsByFeatureList')
487
+ UsageTopAccountsResult = Shapes::StructureShape.new(name: 'UsageTopAccountsResult')
488
+ UsageTopAccountsResultList = Shapes::ListShape.new(name: 'UsageTopAccountsResultList')
478
489
  Volume = Shapes::StructureShape.new(name: 'Volume')
479
490
  VolumeDetail = Shapes::StructureShape.new(name: 'VolumeDetail')
480
491
  VolumeDetails = Shapes::ListShape.new(name: 'VolumeDetails')
@@ -1228,6 +1239,9 @@ module Aws::GuardDuty
1228
1239
  GetMembersResponse.add_member(:unprocessed_accounts, Shapes::ShapeRef.new(shape: UnprocessedAccounts, required: true, location_name: "unprocessedAccounts"))
1229
1240
  GetMembersResponse.struct_class = Types::GetMembersResponse
1230
1241
 
1242
+ GetOrganizationStatisticsResponse.add_member(:organization_details, Shapes::ShapeRef.new(shape: OrganizationDetails, location_name: "organizationDetails"))
1243
+ GetOrganizationStatisticsResponse.struct_class = Types::GetOrganizationStatisticsResponse
1244
+
1231
1245
  GetRemainingFreeTrialDaysRequest.add_member(:detector_id, Shapes::ShapeRef.new(shape: DetectorId, required: true, location: "uri", location_name: "detectorId"))
1232
1246
  GetRemainingFreeTrialDaysRequest.add_member(:account_ids, Shapes::ShapeRef.new(shape: AccountIds, location_name: "accountIds"))
1233
1247
  GetRemainingFreeTrialDaysRequest.struct_class = Types::GetRemainingFreeTrialDaysRequest
@@ -1652,6 +1666,10 @@ module Aws::GuardDuty
1652
1666
  OrganizationDataSourceConfigurationsResult.add_member(:malware_protection, Shapes::ShapeRef.new(shape: OrganizationMalwareProtectionConfigurationResult, location_name: "malwareProtection"))
1653
1667
  OrganizationDataSourceConfigurationsResult.struct_class = Types::OrganizationDataSourceConfigurationsResult
1654
1668
 
1669
+ OrganizationDetails.add_member(:updated_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "updatedAt"))
1670
+ OrganizationDetails.add_member(:organization_statistics, Shapes::ShapeRef.new(shape: OrganizationStatistics, location_name: "organizationStatistics"))
1671
+ OrganizationDetails.struct_class = Types::OrganizationDetails
1672
+
1655
1673
  OrganizationEbsVolumes.add_member(:auto_enable, Shapes::ShapeRef.new(shape: Boolean, location_name: "autoEnable"))
1656
1674
  OrganizationEbsVolumes.struct_class = Types::OrganizationEbsVolumes
1657
1675
 
@@ -1668,6 +1686,19 @@ module Aws::GuardDuty
1668
1686
  OrganizationFeatureConfigurationResult.add_member(:additional_configuration, Shapes::ShapeRef.new(shape: OrganizationAdditionalConfigurationResults, location_name: "additionalConfiguration"))
1669
1687
  OrganizationFeatureConfigurationResult.struct_class = Types::OrganizationFeatureConfigurationResult
1670
1688
 
1689
+ OrganizationFeatureStatistics.add_member(:name, Shapes::ShapeRef.new(shape: OrgFeature, location_name: "name"))
1690
+ OrganizationFeatureStatistics.add_member(:enabled_accounts_count, Shapes::ShapeRef.new(shape: Integer, location_name: "enabledAccountsCount"))
1691
+ OrganizationFeatureStatistics.add_member(:additional_configuration, Shapes::ShapeRef.new(shape: OrganizationFeatureStatisticsAdditionalConfigurations, location_name: "additionalConfiguration"))
1692
+ OrganizationFeatureStatistics.struct_class = Types::OrganizationFeatureStatistics
1693
+
1694
+ OrganizationFeatureStatisticsAdditionalConfiguration.add_member(:name, Shapes::ShapeRef.new(shape: OrgFeatureAdditionalConfiguration, location_name: "name"))
1695
+ OrganizationFeatureStatisticsAdditionalConfiguration.add_member(:enabled_accounts_count, Shapes::ShapeRef.new(shape: Integer, location_name: "enabledAccountsCount"))
1696
+ OrganizationFeatureStatisticsAdditionalConfiguration.struct_class = Types::OrganizationFeatureStatisticsAdditionalConfiguration
1697
+
1698
+ OrganizationFeatureStatisticsAdditionalConfigurations.member = Shapes::ShapeRef.new(shape: OrganizationFeatureStatisticsAdditionalConfiguration)
1699
+
1700
+ OrganizationFeatureStatisticsResults.member = Shapes::ShapeRef.new(shape: OrganizationFeatureStatistics)
1701
+
1671
1702
  OrganizationFeaturesConfigurations.member = Shapes::ShapeRef.new(shape: OrganizationFeatureConfiguration)
1672
1703
 
1673
1704
  OrganizationFeaturesConfigurationsResults.member = Shapes::ShapeRef.new(shape: OrganizationFeatureConfigurationResult)
@@ -1702,6 +1733,13 @@ module Aws::GuardDuty
1702
1733
  OrganizationScanEc2InstanceWithFindingsResult.add_member(:ebs_volumes, Shapes::ShapeRef.new(shape: OrganizationEbsVolumesResult, location_name: "ebsVolumes"))
1703
1734
  OrganizationScanEc2InstanceWithFindingsResult.struct_class = Types::OrganizationScanEc2InstanceWithFindingsResult
1704
1735
 
1736
+ OrganizationStatistics.add_member(:total_accounts_count, Shapes::ShapeRef.new(shape: Integer, location_name: "totalAccountsCount"))
1737
+ OrganizationStatistics.add_member(:member_accounts_count, Shapes::ShapeRef.new(shape: Integer, location_name: "memberAccountsCount"))
1738
+ OrganizationStatistics.add_member(:active_accounts_count, Shapes::ShapeRef.new(shape: Integer, location_name: "activeAccountsCount"))
1739
+ OrganizationStatistics.add_member(:enabled_accounts_count, Shapes::ShapeRef.new(shape: Integer, location_name: "enabledAccountsCount"))
1740
+ OrganizationStatistics.add_member(:count_by_feature, Shapes::ShapeRef.new(shape: OrganizationFeatureStatisticsResults, location_name: "countByFeature"))
1741
+ OrganizationStatistics.struct_class = Types::OrganizationStatistics
1742
+
1705
1743
  Owner.add_member(:id, Shapes::ShapeRef.new(shape: String, location_name: "id"))
1706
1744
  Owner.struct_class = Types::Owner
1707
1745
 
@@ -2154,12 +2192,25 @@ module Aws::GuardDuty
2154
2192
  UsageResourceResultList.member = Shapes::ShapeRef.new(shape: UsageResourceResult)
2155
2193
 
2156
2194
  UsageStatistics.add_member(:sum_by_account, Shapes::ShapeRef.new(shape: UsageAccountResultList, location_name: "sumByAccount"))
2195
+ UsageStatistics.add_member(:top_accounts_by_feature, Shapes::ShapeRef.new(shape: UsageTopAccountsResultList, location_name: "topAccountsByFeature"))
2157
2196
  UsageStatistics.add_member(:sum_by_data_source, Shapes::ShapeRef.new(shape: UsageDataSourceResultList, location_name: "sumByDataSource"))
2158
2197
  UsageStatistics.add_member(:sum_by_resource, Shapes::ShapeRef.new(shape: UsageResourceResultList, location_name: "sumByResource"))
2159
2198
  UsageStatistics.add_member(:top_resources, Shapes::ShapeRef.new(shape: UsageResourceResultList, location_name: "topResources"))
2160
2199
  UsageStatistics.add_member(:sum_by_feature, Shapes::ShapeRef.new(shape: UsageFeatureResultList, location_name: "sumByFeature"))
2161
2200
  UsageStatistics.struct_class = Types::UsageStatistics
2162
2201
 
2202
+ UsageTopAccountResult.add_member(:account_id, Shapes::ShapeRef.new(shape: AccountId, location_name: "accountId"))
2203
+ UsageTopAccountResult.add_member(:total, Shapes::ShapeRef.new(shape: Total, location_name: "total"))
2204
+ UsageTopAccountResult.struct_class = Types::UsageTopAccountResult
2205
+
2206
+ UsageTopAccountsByFeatureList.member = Shapes::ShapeRef.new(shape: UsageTopAccountResult)
2207
+
2208
+ UsageTopAccountsResult.add_member(:feature, Shapes::ShapeRef.new(shape: UsageFeature, location_name: "feature"))
2209
+ UsageTopAccountsResult.add_member(:accounts, Shapes::ShapeRef.new(shape: UsageTopAccountsByFeatureList, location_name: "accounts"))
2210
+ UsageTopAccountsResult.struct_class = Types::UsageTopAccountsResult
2211
+
2212
+ UsageTopAccountsResultList.member = Shapes::ShapeRef.new(shape: UsageTopAccountsResult)
2213
+
2163
2214
  Volume.add_member(:name, Shapes::ShapeRef.new(shape: String, location_name: "name"))
2164
2215
  Volume.add_member(:host_path, Shapes::ShapeRef.new(shape: HostPath, location_name: "hostPath"))
2165
2216
  Volume.struct_class = Types::Volume
@@ -2601,6 +2652,16 @@ module Aws::GuardDuty
2601
2652
  o.errors << Shapes::ShapeRef.new(shape: InternalServerErrorException)
2602
2653
  end)
2603
2654
 
2655
+ api.add_operation(:get_organization_statistics, Seahorse::Model::Operation.new.tap do |o|
2656
+ o.name = "GetOrganizationStatistics"
2657
+ o.http_method = "GET"
2658
+ o.http_request_uri = "/organization/statistics"
2659
+ o.input = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2660
+ o.output = Shapes::ShapeRef.new(shape: GetOrganizationStatisticsResponse)
2661
+ o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
2662
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerErrorException)
2663
+ end)
2664
+
2604
2665
  api.add_operation(:get_remaining_free_trial_days, Seahorse::Model::Operation.new.tap do |o|
2605
2666
  o.name = "GetRemainingFreeTrialDays"
2606
2667
  o.http_method = "POST"
@@ -544,6 +544,20 @@ module Aws::GuardDuty
544
544
  end
545
545
  end
546
546
 
547
+ class GetOrganizationStatistics
548
+ def self.build(context)
549
+ unless context.config.regional_endpoint
550
+ endpoint = context.config.endpoint.to_s
551
+ end
552
+ Aws::GuardDuty::EndpointParameters.new(
553
+ region: context.config.region,
554
+ use_dual_stack: context.config.use_dualstack_endpoint,
555
+ use_fips: context.config.use_fips_endpoint,
556
+ endpoint: endpoint,
557
+ )
558
+ end
559
+ end
560
+
547
561
  class GetRemainingFreeTrialDays
548
562
  def self.build(context)
549
563
  unless context.config.regional_endpoint
@@ -133,6 +133,8 @@ module Aws::GuardDuty
133
133
  Aws::GuardDuty::Endpoints::GetMemberDetectors.build(context)
134
134
  when :get_members
135
135
  Aws::GuardDuty::Endpoints::GetMembers.build(context)
136
+ when :get_organization_statistics
137
+ Aws::GuardDuty::Endpoints::GetOrganizationStatistics.build(context)
136
138
  when :get_remaining_free_trial_days
137
139
  Aws::GuardDuty::Endpoints::GetRemainingFreeTrialDays.build(context)
138
140
  when :get_threat_intel_set
@@ -810,13 +810,18 @@ module Aws::GuardDuty
810
810
 
811
811
  # <note markdown="1"> This API is also used when you use GuardDuty Runtime Monitoring for
812
812
  # your Amazon EC2 instances (currently in preview release) and is
813
- # subject to change.
813
+ # subject to change. The use of this API is subject to Section 2 of the
814
+ # [Amazon Web Services Service Terms][1] ("Betas and Previews").
814
815
  #
815
816
  # </note>
816
817
  #
817
818
  # Contains information about the Amazon EC2 instance runtime coverage
818
819
  # details.
819
820
  #
821
+ #
822
+ #
823
+ # [1]: http://aws.amazon.com/service-terms/
824
+ #
820
825
  # @!attribute [rw] instance_id
821
826
  # The Amazon EC2 instance ID.
822
827
  # @return [String]
@@ -845,7 +850,7 @@ module Aws::GuardDuty
845
850
  # manage the GuardDuty security agent updates for this resource.
846
851
  #
847
852
  # <note markdown="1"> The `DISABLED` status doesn't apply to Amazon EC2 instances and
848
- # Amazon EKS clusters that run on Amazon EC2 instances.
853
+ # Amazon EKS clusters.
849
854
  #
850
855
  # </note>
851
856
  # @return [String]
@@ -1059,12 +1064,17 @@ module Aws::GuardDuty
1059
1064
  # @!attribute [rw] ec2_instance_details
1060
1065
  # <note markdown="1"> This API is also used when you use GuardDuty Runtime Monitoring for
1061
1066
  # your Amazon EC2 instances (currently in preview release) and is
1062
- # subject to change.
1067
+ # subject to change. The use of this API is subject to Section 2 of
1068
+ # the [Amazon Web Services Service Terms][1] ("Betas and Previews").
1063
1069
  #
1064
1070
  # </note>
1065
1071
  #
1066
1072
  # Information about the Amazon EC2 instance assessed for runtime
1067
1073
  # coverage.
1074
+ #
1075
+ #
1076
+ #
1077
+ # [1]: http://aws.amazon.com/service-terms/
1068
1078
  # @return [Types::CoverageEc2InstanceDetails]
1069
1079
  #
1070
1080
  # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/CoverageResourceDetails AWS API Documentation
@@ -2798,12 +2808,12 @@ module Aws::GuardDuty
2798
2808
  include Aws::Structure
2799
2809
  end
2800
2810
 
2801
- # Contains information about AWS Fargate details associated with an
2802
- # Amazon ECS cluster.
2811
+ # Contains information about Amazon Web Services Fargate details
2812
+ # associated with an Amazon ECS cluster.
2803
2813
  #
2804
2814
  # @!attribute [rw] issues
2805
- # Runtime coverage issues identified for the resource running on AWS
2806
- # Fargate.
2815
+ # Runtime coverage issues identified for the resource running on
2816
+ # Amazon Web Services Fargate.
2807
2817
  # @return [Array<String>]
2808
2818
  #
2809
2819
  # @!attribute [rw] management_type
@@ -2813,11 +2823,13 @@ module Aws::GuardDuty
2813
2823
  # * `AUTO_MANAGED` indicates that GuardDuty deploys and manages
2814
2824
  # updates for this resource.
2815
2825
  #
2816
- # * `MANUAL` indicates that you are responsible to deploy, update, and
2817
- # manage the GuardDuty security agent updates for this resource.
2818
- #
2819
2826
  # * `DISABLED` indicates that the deployment of the GuardDuty security
2820
2827
  # agent is disabled for this resource.
2828
+ #
2829
+ # <note markdown="1"> The `MANUAL` status doesn't apply to the Amazon Web Services
2830
+ # Fargate (Amazon ECS only) woprkloads.
2831
+ #
2832
+ # </note>
2821
2833
  # @return [String]
2822
2834
  #
2823
2835
  # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/FargateDetails AWS API Documentation
@@ -3513,6 +3525,18 @@ module Aws::GuardDuty
3513
3525
  include Aws::Structure
3514
3526
  end
3515
3527
 
3528
+ # @!attribute [rw] organization_details
3529
+ # Information about the statistics report for your organization.
3530
+ # @return [Types::OrganizationDetails]
3531
+ #
3532
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetOrganizationStatisticsResponse AWS API Documentation
3533
+ #
3534
+ class GetOrganizationStatisticsResponse < Struct.new(
3535
+ :organization_details)
3536
+ SENSITIVE = []
3537
+ include Aws::Structure
3538
+ end
3539
+
3516
3540
  # @!attribute [rw] detector_id
3517
3541
  # The unique ID of the detector of the GuardDuty member account.
3518
3542
  # @return [String]
@@ -5603,6 +5627,28 @@ module Aws::GuardDuty
5603
5627
  include Aws::Structure
5604
5628
  end
5605
5629
 
5630
+ # Information about GuardDuty coverage statistics for members in your
5631
+ # Amazon Web Services organization.
5632
+ #
5633
+ # @!attribute [rw] updated_at
5634
+ # The timestamp at which the organization statistics was last updated.
5635
+ # This is in UTC format.
5636
+ # @return [Time]
5637
+ #
5638
+ # @!attribute [rw] organization_statistics
5639
+ # Information about the GuardDuty coverage statistics for members in
5640
+ # your Amazon Web Services organization.
5641
+ # @return [Types::OrganizationStatistics]
5642
+ #
5643
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/OrganizationDetails AWS API Documentation
5644
+ #
5645
+ class OrganizationDetails < Struct.new(
5646
+ :updated_at,
5647
+ :organization_statistics)
5648
+ SENSITIVE = []
5649
+ include Aws::Structure
5650
+ end
5651
+
5606
5652
  # Organization-wide EBS volumes scan configuration.
5607
5653
  #
5608
5654
  # @!attribute [rw] auto_enable
@@ -5716,6 +5762,52 @@ module Aws::GuardDuty
5716
5762
  include Aws::Structure
5717
5763
  end
5718
5764
 
5765
+ # Information about the number of accounts that have enabled a specific
5766
+ # feature.
5767
+ #
5768
+ # @!attribute [rw] name
5769
+ # Name of the feature.
5770
+ # @return [String]
5771
+ #
5772
+ # @!attribute [rw] enabled_accounts_count
5773
+ # Total number of accounts that have enabled a specific feature.
5774
+ # @return [Integer]
5775
+ #
5776
+ # @!attribute [rw] additional_configuration
5777
+ # Name of the additional configuration.
5778
+ # @return [Array<Types::OrganizationFeatureStatisticsAdditionalConfiguration>]
5779
+ #
5780
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/OrganizationFeatureStatistics AWS API Documentation
5781
+ #
5782
+ class OrganizationFeatureStatistics < Struct.new(
5783
+ :name,
5784
+ :enabled_accounts_count,
5785
+ :additional_configuration)
5786
+ SENSITIVE = []
5787
+ include Aws::Structure
5788
+ end
5789
+
5790
+ # Information about the coverage statistic for the additional
5791
+ # configuration of the feature.
5792
+ #
5793
+ # @!attribute [rw] name
5794
+ # Name of the additional configuration within a feature.
5795
+ # @return [String]
5796
+ #
5797
+ # @!attribute [rw] enabled_accounts_count
5798
+ # Total number of accounts that have enabled the additional
5799
+ # configuration.
5800
+ # @return [Integer]
5801
+ #
5802
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/OrganizationFeatureStatisticsAdditionalConfiguration AWS API Documentation
5803
+ #
5804
+ class OrganizationFeatureStatisticsAdditionalConfiguration < Struct.new(
5805
+ :name,
5806
+ :enabled_accounts_count)
5807
+ SENSITIVE = []
5808
+ include Aws::Structure
5809
+ end
5810
+
5719
5811
  # Organization-wide Kubernetes audit logs configuration.
5720
5812
  #
5721
5813
  # @!attribute [rw] auto_enable
@@ -5873,6 +5965,47 @@ module Aws::GuardDuty
5873
5965
  include Aws::Structure
5874
5966
  end
5875
5967
 
5968
+ # Information about the coverage statistics of the features for the
5969
+ # entire Amazon Web Services organization.
5970
+ #
5971
+ # When you create a new Amazon Web Services organization, it might take
5972
+ # up to 24 hours to generate the statistics summary for this
5973
+ # organization.
5974
+ #
5975
+ # @!attribute [rw] total_accounts_count
5976
+ # Total number of accounts in your Amazon Web Services organization.
5977
+ # @return [Integer]
5978
+ #
5979
+ # @!attribute [rw] member_accounts_count
5980
+ # Total number of accounts in your Amazon Web Services organization
5981
+ # that are associated with GuardDuty.
5982
+ # @return [Integer]
5983
+ #
5984
+ # @!attribute [rw] active_accounts_count
5985
+ # Total number of active accounts in your Amazon Web Services
5986
+ # organization that are associated with GuardDuty.
5987
+ # @return [Integer]
5988
+ #
5989
+ # @!attribute [rw] enabled_accounts_count
5990
+ # Total number of accounts that have enabled GuardDuty.
5991
+ # @return [Integer]
5992
+ #
5993
+ # @!attribute [rw] count_by_feature
5994
+ # Retrieves the coverage statistics for each feature.
5995
+ # @return [Array<Types::OrganizationFeatureStatistics>]
5996
+ #
5997
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/OrganizationStatistics AWS API Documentation
5998
+ #
5999
+ class OrganizationStatistics < Struct.new(
6000
+ :total_accounts_count,
6001
+ :member_accounts_count,
6002
+ :active_accounts_count,
6003
+ :enabled_accounts_count,
6004
+ :count_by_feature)
6005
+ SENSITIVE = []
6006
+ include Aws::Structure
6007
+ end
6008
+
5876
6009
  # Contains information on the owner of the bucket.
5877
6010
  #
5878
6011
  # @!attribute [rw] id
@@ -7853,6 +7986,13 @@ module Aws::GuardDuty
7853
7986
  # The usage statistic sum organized by account ID.
7854
7987
  # @return [Array<Types::UsageAccountResult>]
7855
7988
  #
7989
+ # @!attribute [rw] top_accounts_by_feature
7990
+ # Lists the top 50 accounts by feature that have generated the most
7991
+ # GuardDuty usage, in the order from most to least expensive.
7992
+ #
7993
+ # Currently, this doesn't support `RDS_LOGIN_EVENTS`.
7994
+ # @return [Array<Types::UsageTopAccountsResult>]
7995
+ #
7856
7996
  # @!attribute [rw] sum_by_data_source
7857
7997
  # The usage statistic sum organized by on data source.
7858
7998
  # @return [Array<Types::UsageDataSourceResult>]
@@ -7874,6 +8014,7 @@ module Aws::GuardDuty
7874
8014
  #
7875
8015
  class UsageStatistics < Struct.new(
7876
8016
  :sum_by_account,
8017
+ :top_accounts_by_feature,
7877
8018
  :sum_by_data_source,
7878
8019
  :sum_by_resource,
7879
8020
  :top_resources,
@@ -7882,6 +8023,50 @@ module Aws::GuardDuty
7882
8023
  include Aws::Structure
7883
8024
  end
7884
8025
 
8026
+ # Contains information on the total of usage based on the topmost 50
8027
+ # account IDs.
8028
+ #
8029
+ # @!attribute [rw] account_id
8030
+ # The unique account ID.
8031
+ # @return [String]
8032
+ #
8033
+ # @!attribute [rw] total
8034
+ # Contains the total usage with the corresponding currency unit for
8035
+ # that value.
8036
+ # @return [Types::Total]
8037
+ #
8038
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UsageTopAccountResult AWS API Documentation
8039
+ #
8040
+ class UsageTopAccountResult < Struct.new(
8041
+ :account_id,
8042
+ :total)
8043
+ SENSITIVE = []
8044
+ include Aws::Structure
8045
+ end
8046
+
8047
+ # Information about the usage statistics, calculated by top accounts by
8048
+ # feature.
8049
+ #
8050
+ # @!attribute [rw] feature
8051
+ # Features by which you can generate the usage statistics.
8052
+ #
8053
+ # `RDS_LOGIN_EVENTS` is currently not supported with
8054
+ # `topAccountsByFeature`.
8055
+ # @return [String]
8056
+ #
8057
+ # @!attribute [rw] accounts
8058
+ # The accounts that contributed to the total usage cost.
8059
+ # @return [Array<Types::UsageTopAccountResult>]
8060
+ #
8061
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UsageTopAccountsResult AWS API Documentation
8062
+ #
8063
+ class UsageTopAccountsResult < Struct.new(
8064
+ :feature,
8065
+ :accounts)
8066
+ SENSITIVE = []
8067
+ include Aws::Structure
8068
+ end
8069
+
7885
8070
  # Volume used by the Kubernetes workload.
7886
8071
  #
7887
8072
  # @!attribute [rw] name
@@ -52,6 +52,6 @@ require_relative 'aws-sdk-guardduty/customizations'
52
52
  # @!group service
53
53
  module Aws::GuardDuty
54
54
 
55
- GEM_VERSION = '1.85.0'
55
+ GEM_VERSION = '1.86.0'
56
56
 
57
57
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-guardduty
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.85.0
4
+ version: 1.86.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-11-28 00:00:00.000000000 Z
11
+ date: 2023-12-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core