aws-sdk-guardduty 1.37.0 → 1.42.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: f76294e737e82177c93c2dbc5727860d1ab902652d16cd2b33eafb75b28d773f
4
- data.tar.gz: f255983aa415d0a00307f525982e85e4b6a69137c8c1302f8b5d9d027279700f
3
+ metadata.gz: 0007b20377809ea8fb504cee7f6d3b26040f4b8590736569ce8b90a1349dc296
4
+ data.tar.gz: b85694297543a5fb33077088d035da8ec9aa1ccc51f93fa27eae186b0fc3542f
5
5
  SHA512:
6
- metadata.gz: 2f6b94345f3bdcc3c7c91ea721d9c816de6d90312f47af329fa51fd99c533c0ad62a3a38f0aca21b1c4fb6bb647857d5e541a35b959d2a41053196b88df55662
7
- data.tar.gz: c2c0dc8c3d46ad6784f2299ae887a9abbeba5d9e0ddc0448a07a4f8490964f539bb5e69fffdbf060c88e2c813906a05735461ecc9b604982a9ec93eda0a6f6ad
6
+ metadata.gz: 7f857b899ee5b02a5af1b8399fcf008ba0263cbf1ffccec109f487cd728050045fd2fe9ecdcb133f4d922caa8c022a08135e72c924513816baa4d97c7a0446d9
7
+ data.tar.gz: 424e56a8afdd9a255c7634208a6736d43864e4de1ba7d6e8578cd02edeb9fb258352fe659ae8bf07b08dfadab21f8f1da1c00af569d6395b729f090476b4fd22
@@ -7,6 +7,7 @@
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
10
+
10
11
  require 'aws-sdk-core'
11
12
  require 'aws-sigv4'
12
13
 
@@ -44,9 +45,9 @@ require_relative 'aws-sdk-guardduty/customizations'
44
45
  #
45
46
  # See {Errors} for more information.
46
47
  #
47
- # @service
48
+ # @!group service
48
49
  module Aws::GuardDuty
49
50
 
50
- GEM_VERSION = '1.37.0'
51
+ GEM_VERSION = '1.42.0'
51
52
 
52
53
  end
@@ -85,13 +85,28 @@ module Aws::GuardDuty
85
85
  # * `Aws::Credentials` - Used for configuring static, non-refreshing
86
86
  # credentials.
87
87
  #
88
+ # * `Aws::SharedCredentials` - Used for loading static credentials from a
89
+ # shared file, such as `~/.aws/config`.
90
+ #
91
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
92
+ #
93
+ # * `Aws::AssumeRoleWebIdentityCredentials` - Used when you need to
94
+ # assume a role after providing credentials via the web.
95
+ #
96
+ # * `Aws::SSOCredentials` - Used for loading credentials from AWS SSO using an
97
+ # access token generated from `aws login`.
98
+ #
99
+ # * `Aws::ProcessCredentials` - Used for loading credentials from a
100
+ # process that outputs to stdout.
101
+ #
88
102
  # * `Aws::InstanceProfileCredentials` - Used for loading credentials
89
103
  # from an EC2 IMDS on an EC2 instance.
90
104
  #
91
- # * `Aws::SharedCredentials` - Used for loading credentials from a
92
- # shared file, such as `~/.aws/config`.
105
+ # * `Aws::ECSCredentials` - Used for loading credentials from
106
+ # instances running in ECS.
93
107
  #
94
- # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
108
+ # * `Aws::CognitoIdentityCredentials` - Used for loading credentials
109
+ # from the Cognito Identity service.
95
110
  #
96
111
  # When `:credentials` are not configured directly, the following
97
112
  # locations will be searched for credentials:
@@ -101,10 +116,10 @@ module Aws::GuardDuty
101
116
  # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
102
117
  # * `~/.aws/credentials`
103
118
  # * `~/.aws/config`
104
- # * EC2 IMDS instance profile - When used by default, the timeouts are
105
- # very aggressive. Construct and pass an instance of
106
- # `Aws::InstanceProfileCredentails` to enable retries and extended
107
- # timeouts.
119
+ # * EC2/ECS IMDS instance profile - When used by default, the timeouts
120
+ # are very aggressive. Construct and pass an instance of
121
+ # `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
122
+ # enable retries and extended timeouts.
108
123
  #
109
124
  # @option options [required, String] :region
110
125
  # The AWS region to connect to. The configured `:region` is
@@ -380,7 +395,8 @@ module Aws::GuardDuty
380
395
  # Creates a single Amazon GuardDuty detector. A detector is a resource
381
396
  # that represents the GuardDuty service. To start using GuardDuty, you
382
397
  # must create a detector in each Region where you enable the service.
383
- # You can have only one detector per account per Region.
398
+ # You can have only one detector per account per Region. All data
399
+ # sources are enabled in a new detector by default.
384
400
  #
385
401
  # @option params [required, Boolean] :enable
386
402
  # A Boolean value that specifies whether the detector is to be enabled.
@@ -650,7 +666,8 @@ module Aws::GuardDuty
650
666
  # The format of the file that contains the IPSet.
651
667
  #
652
668
  # @option params [required, String] :location
653
- # The URI of the file that contains the IPSet.
669
+ # The URI of the file that contains the IPSet. For example:
670
+ # https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key.
654
671
  #
655
672
  # @option params [required, Boolean] :activate
656
673
  # A Boolean value that indicates whether GuardDuty is to start using the
@@ -697,8 +714,22 @@ module Aws::GuardDuty
697
714
  end
698
715
 
699
716
  # Creates member accounts of the current AWS account by specifying a
700
- # list of AWS account IDs. The current AWS account can then invite these
701
- # members to manage GuardDuty in their accounts.
717
+ # list of AWS account IDs. This step is a prerequisite for managing the
718
+ # associated member accounts either by invitation or through an
719
+ # organization.
720
+ #
721
+ # When using `Create Members` as an organizations delegated
722
+ # administrator this action will enable GuardDuty in the added member
723
+ # accounts, with the exception of the organization master account, which
724
+ # must enable GuardDuty prior to being added as a member.
725
+ #
726
+ # If you are adding accounts by invitation use this action after
727
+ # GuardDuty has been enabled in potential member accounts and before
728
+ # using [ `Invite Members` ][1].
729
+ #
730
+ #
731
+ #
732
+ # [1]: https://docs.aws.amazon.com/guardduty/latest/APIReference/API_InviteMembers.html
702
733
  #
703
734
  # @option params [required, String] :detector_id
704
735
  # The unique ID of the detector of the GuardDuty account that you want
@@ -835,7 +866,8 @@ module Aws::GuardDuty
835
866
  # The format of the file that contains the ThreatIntelSet.
836
867
  #
837
868
  # @option params [required, String] :location
838
- # The URI of the file that contains the ThreatIntelSet.
869
+ # The URI of the file that contains the ThreatIntelSet. For example:
870
+ # https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key.
839
871
  #
840
872
  # @option params [required, Boolean] :activate
841
873
  # A Boolean value that indicates whether GuardDuty is to start using the
@@ -1505,6 +1537,7 @@ module Aws::GuardDuty
1505
1537
  # resp.findings[0].service.action.aws_api_call_action.api #=> String
1506
1538
  # resp.findings[0].service.action.aws_api_call_action.caller_type #=> String
1507
1539
  # resp.findings[0].service.action.aws_api_call_action.domain_details.domain #=> String
1540
+ # resp.findings[0].service.action.aws_api_call_action.error_code #=> String
1508
1541
  # resp.findings[0].service.action.aws_api_call_action.remote_ip_details.city.city_name #=> String
1509
1542
  # resp.findings[0].service.action.aws_api_call_action.remote_ip_details.country.country_code #=> String
1510
1543
  # resp.findings[0].service.action.aws_api_call_action.remote_ip_details.country.country_name #=> String
@@ -1857,6 +1890,92 @@ module Aws::GuardDuty
1857
1890
  req.send_request(options)
1858
1891
  end
1859
1892
 
1893
+ # Lists Amazon GuardDuty usage statistics over the last 30 days for the
1894
+ # specified detector ID. For newly enabled detectors or data sources the
1895
+ # cost returned will include only the usage so far under 30 days, this
1896
+ # may differ from the cost metrics in the console, which projects usage
1897
+ # over 30 days to provide a monthly cost estimate. For more information
1898
+ # see [Understanding How Usage Costs are Calculated][1].
1899
+ #
1900
+ #
1901
+ #
1902
+ # [1]: https://docs.aws.amazon.com/guardduty/latest/ug/monitoring_costs.html#usage-calculations
1903
+ #
1904
+ # @option params [required, String] :detector_id
1905
+ # The ID of the detector that specifies the GuardDuty service whose
1906
+ # usage statistics you want to retrieve.
1907
+ #
1908
+ # @option params [required, String] :usage_statistic_type
1909
+ # The type of usage statistics to retrieve.
1910
+ #
1911
+ # @option params [required, Types::UsageCriteria] :usage_criteria
1912
+ # Represents the criteria used for querying usage.
1913
+ #
1914
+ # @option params [String] :unit
1915
+ # The currency unit you would like to view your usage statistics in.
1916
+ # Current valid values are USD.
1917
+ #
1918
+ # @option params [Integer] :max_results
1919
+ # The maximum number of results to return in the response.
1920
+ #
1921
+ # @option params [String] :next_token
1922
+ # A token to use for paginating results that are returned in the
1923
+ # response. Set the value of this parameter to null for the first
1924
+ # request to a list action. For subsequent calls, use the NextToken
1925
+ # value returned from the previous request to continue listing results
1926
+ # after the first page.
1927
+ #
1928
+ # @return [Types::GetUsageStatisticsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1929
+ #
1930
+ # * {Types::GetUsageStatisticsResponse#usage_statistics #usage_statistics} => Types::UsageStatistics
1931
+ # * {Types::GetUsageStatisticsResponse#next_token #next_token} => String
1932
+ #
1933
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1934
+ #
1935
+ # @example Request syntax with placeholder values
1936
+ #
1937
+ # resp = client.get_usage_statistics({
1938
+ # detector_id: "DetectorId", # required
1939
+ # usage_statistic_type: "SUM_BY_ACCOUNT", # required, accepts SUM_BY_ACCOUNT, SUM_BY_DATA_SOURCE, SUM_BY_RESOURCE, TOP_RESOURCES
1940
+ # usage_criteria: { # required
1941
+ # account_ids: ["AccountId"],
1942
+ # data_sources: ["FLOW_LOGS"], # required, accepts FLOW_LOGS, CLOUD_TRAIL, DNS_LOGS, S3_LOGS
1943
+ # resources: ["String"],
1944
+ # },
1945
+ # unit: "String",
1946
+ # max_results: 1,
1947
+ # next_token: "String",
1948
+ # })
1949
+ #
1950
+ # @example Response structure
1951
+ #
1952
+ # resp.usage_statistics.sum_by_account #=> Array
1953
+ # resp.usage_statistics.sum_by_account[0].account_id #=> String
1954
+ # resp.usage_statistics.sum_by_account[0].total.amount #=> String
1955
+ # resp.usage_statistics.sum_by_account[0].total.unit #=> String
1956
+ # resp.usage_statistics.sum_by_data_source #=> Array
1957
+ # resp.usage_statistics.sum_by_data_source[0].data_source #=> String, one of "FLOW_LOGS", "CLOUD_TRAIL", "DNS_LOGS", "S3_LOGS"
1958
+ # resp.usage_statistics.sum_by_data_source[0].total.amount #=> String
1959
+ # resp.usage_statistics.sum_by_data_source[0].total.unit #=> String
1960
+ # resp.usage_statistics.sum_by_resource #=> Array
1961
+ # resp.usage_statistics.sum_by_resource[0].resource #=> String
1962
+ # resp.usage_statistics.sum_by_resource[0].total.amount #=> String
1963
+ # resp.usage_statistics.sum_by_resource[0].total.unit #=> String
1964
+ # resp.usage_statistics.top_resources #=> Array
1965
+ # resp.usage_statistics.top_resources[0].resource #=> String
1966
+ # resp.usage_statistics.top_resources[0].total.amount #=> String
1967
+ # resp.usage_statistics.top_resources[0].total.unit #=> String
1968
+ # resp.next_token #=> String
1969
+ #
1970
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetUsageStatistics AWS API Documentation
1971
+ #
1972
+ # @overload get_usage_statistics(params = {})
1973
+ # @param [Hash] params ({})
1974
+ def get_usage_statistics(params = {}, options = {})
1975
+ req = build_request(:get_usage_statistics, params)
1976
+ req.send_request(options)
1977
+ end
1978
+
1860
1979
  # Invites other AWS accounts (created as members of the current AWS
1861
1980
  # account by CreateMembers) to enable GuardDuty, and allow the current
1862
1981
  # AWS account to view and manage these accounts' GuardDuty findings on
@@ -1872,12 +1991,12 @@ module Aws::GuardDuty
1872
1991
  #
1873
1992
  # @option params [Boolean] :disable_email_notification
1874
1993
  # A Boolean value that specifies whether you want to disable email
1875
- # notification to the accounts that you’re inviting to GuardDuty as
1994
+ # notification to the accounts that you are inviting to GuardDuty as
1876
1995
  # members.
1877
1996
  #
1878
1997
  # @option params [String] :message
1879
1998
  # The invitation message that you want to send to the accounts that
1880
- # youre inviting to GuardDuty as members.
1999
+ # you're inviting to GuardDuty as members.
1881
2000
  #
1882
2001
  # @return [Types::InviteMembersResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1883
2002
  #
@@ -2032,8 +2151,6 @@ module Aws::GuardDuty
2032
2151
  #
2033
2152
  # * resource.instanceDetails.instanceId
2034
2153
  #
2035
- # * resource.instanceDetails.outpostArn
2036
- #
2037
2154
  # * resource.instanceDetails.networkInterfaces.ipv6Addresses
2038
2155
  #
2039
2156
  # * resource.instanceDetails.networkInterfaces.privateIpAddresses.privateIpAddress
@@ -2084,8 +2201,6 @@ module Aws::GuardDuty
2084
2201
  #
2085
2202
  # * service.action.networkConnectionAction.protocol
2086
2203
  #
2087
- # * service.action.networkConnectionAction.localIpDetails.ipAddressV4
2088
- #
2089
2204
  # * service.action.networkConnectionAction.remoteIpDetails.city.cityName
2090
2205
  #
2091
2206
  # * service.action.networkConnectionAction.remoteIpDetails.country.countryName
@@ -2280,8 +2395,8 @@ module Aws::GuardDuty
2280
2395
  req.send_request(options)
2281
2396
  end
2282
2397
 
2283
- # Lists details about associated member accounts for the current
2284
- # GuardDuty master account.
2398
+ # Lists details about all member accounts for the current GuardDuty
2399
+ # master account.
2285
2400
  #
2286
2401
  # @option params [required, String] :detector_id
2287
2402
  # The unique ID of the detector the member is associated with.
@@ -2299,11 +2414,9 @@ module Aws::GuardDuty
2299
2414
  # data.
2300
2415
  #
2301
2416
  # @option params [String] :only_associated
2302
- # Specifies what member accounts the response includes based on their
2303
- # relationship status with the master account. The default value is
2304
- # "true". If set to "false" the response includes all existing
2305
- # member accounts (including members who haven't been invited yet or
2306
- # have been disassociated).
2417
+ # Specifies whether to only return associated members or to return all
2418
+ # members (including members who haven't been invited yet or have been
2419
+ # disassociated).
2307
2420
  #
2308
2421
  # @return [Types::ListMembersResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2309
2422
  #
@@ -2827,7 +2940,8 @@ module Aws::GuardDuty
2827
2940
  # The unique ID that specifies the IPSet that you want to update.
2828
2941
  #
2829
2942
  # @option params [String] :location
2830
- # The updated URI of the file that contains the IPSet.
2943
+ # The updated URI of the file that contains the IPSet. For example:
2944
+ # https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key.
2831
2945
  #
2832
2946
  # @option params [Boolean] :activate
2833
2947
  # The updated Boolean value that specifies whether the IPSet is active
@@ -2982,7 +3096,8 @@ module Aws::GuardDuty
2982
3096
  # update.
2983
3097
  #
2984
3098
  # @option params [String] :location
2985
- # The updated URI of the file that contains the ThreateIntelSet.
3099
+ # The updated URI of the file that contains the ThreateIntelSet. For
3100
+ # example: https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key.
2986
3101
  #
2987
3102
  # @option params [Boolean] :activate
2988
3103
  # The updated Boolean value that specifies whether the ThreateIntelSet
@@ -3022,7 +3137,7 @@ module Aws::GuardDuty
3022
3137
  params: params,
3023
3138
  config: config)
3024
3139
  context[:gem_name] = 'aws-sdk-guardduty'
3025
- context[:gem_version] = '1.37.0'
3140
+ context[:gem_version] = '1.42.0'
3026
3141
  Seahorse::Client::Request.new(handlers, context)
3027
3142
  end
3028
3143
 
@@ -56,8 +56,10 @@ module Aws::GuardDuty
56
56
  CreateThreatIntelSetResponse = Shapes::StructureShape.new(name: 'CreateThreatIntelSetResponse')
57
57
  Criterion = Shapes::MapShape.new(name: 'Criterion')
58
58
  DNSLogsConfigurationResult = Shapes::StructureShape.new(name: 'DNSLogsConfigurationResult')
59
+ DataSource = Shapes::StringShape.new(name: 'DataSource')
59
60
  DataSourceConfigurations = Shapes::StructureShape.new(name: 'DataSourceConfigurations')
60
61
  DataSourceConfigurationsResult = Shapes::StructureShape.new(name: 'DataSourceConfigurationsResult')
62
+ DataSourceList = Shapes::ListShape.new(name: 'DataSourceList')
61
63
  DataSourceStatus = Shapes::StringShape.new(name: 'DataSourceStatus')
62
64
  DeclineInvitationsRequest = Shapes::StructureShape.new(name: 'DeclineInvitationsRequest')
63
65
  DeclineInvitationsResponse = Shapes::StructureShape.new(name: 'DeclineInvitationsResponse')
@@ -141,6 +143,8 @@ module Aws::GuardDuty
141
143
  GetMembersResponse = Shapes::StructureShape.new(name: 'GetMembersResponse')
142
144
  GetThreatIntelSetRequest = Shapes::StructureShape.new(name: 'GetThreatIntelSetRequest')
143
145
  GetThreatIntelSetResponse = Shapes::StructureShape.new(name: 'GetThreatIntelSetResponse')
146
+ GetUsageStatisticsRequest = Shapes::StructureShape.new(name: 'GetUsageStatisticsRequest')
147
+ GetUsageStatisticsResponse = Shapes::StructureShape.new(name: 'GetUsageStatisticsResponse')
144
148
  GuardDutyArn = Shapes::StringShape.new(name: 'GuardDutyArn')
145
149
  IamInstanceProfile = Shapes::StructureShape.new(name: 'IamInstanceProfile')
146
150
  InstanceDetails = Shapes::StructureShape.new(name: 'InstanceDetails')
@@ -210,6 +214,7 @@ module Aws::GuardDuty
210
214
  RemoteIpDetails = Shapes::StructureShape.new(name: 'RemoteIpDetails')
211
215
  RemotePortDetails = Shapes::StructureShape.new(name: 'RemotePortDetails')
212
216
  Resource = Shapes::StructureShape.new(name: 'Resource')
217
+ ResourceList = Shapes::ListShape.new(name: 'ResourceList')
213
218
  S3BucketDetail = Shapes::StructureShape.new(name: 'S3BucketDetail')
214
219
  S3BucketDetails = Shapes::ListShape.new(name: 'S3BucketDetails')
215
220
  S3LogsConfiguration = Shapes::StructureShape.new(name: 'S3LogsConfiguration')
@@ -238,6 +243,7 @@ module Aws::GuardDuty
238
243
  ThreatIntelligenceDetails = Shapes::ListShape.new(name: 'ThreatIntelligenceDetails')
239
244
  ThreatNames = Shapes::ListShape.new(name: 'ThreatNames')
240
245
  Timestamp = Shapes::TimestampShape.new(name: 'Timestamp')
246
+ Total = Shapes::StructureShape.new(name: 'Total')
241
247
  UnarchiveFindingsRequest = Shapes::StructureShape.new(name: 'UnarchiveFindingsRequest')
242
248
  UnarchiveFindingsResponse = Shapes::StructureShape.new(name: 'UnarchiveFindingsResponse')
243
249
  UnprocessedAccount = Shapes::StructureShape.new(name: 'UnprocessedAccount')
@@ -260,6 +266,15 @@ module Aws::GuardDuty
260
266
  UpdatePublishingDestinationResponse = Shapes::StructureShape.new(name: 'UpdatePublishingDestinationResponse')
261
267
  UpdateThreatIntelSetRequest = Shapes::StructureShape.new(name: 'UpdateThreatIntelSetRequest')
262
268
  UpdateThreatIntelSetResponse = Shapes::StructureShape.new(name: 'UpdateThreatIntelSetResponse')
269
+ UsageAccountResult = Shapes::StructureShape.new(name: 'UsageAccountResult')
270
+ UsageAccountResultList = Shapes::ListShape.new(name: 'UsageAccountResultList')
271
+ UsageCriteria = Shapes::StructureShape.new(name: 'UsageCriteria')
272
+ UsageDataSourceResult = Shapes::StructureShape.new(name: 'UsageDataSourceResult')
273
+ UsageDataSourceResultList = Shapes::ListShape.new(name: 'UsageDataSourceResultList')
274
+ UsageResourceResult = Shapes::StructureShape.new(name: 'UsageResourceResult')
275
+ UsageResourceResultList = Shapes::ListShape.new(name: 'UsageResourceResultList')
276
+ UsageStatisticType = Shapes::StringShape.new(name: 'UsageStatisticType')
277
+ UsageStatistics = Shapes::StructureShape.new(name: 'UsageStatistics')
263
278
 
264
279
  AcceptInvitationRequest.add_member(:detector_id, Shapes::ShapeRef.new(shape: DetectorId, required: true, location: "uri", location_name: "detectorId"))
265
280
  AcceptInvitationRequest.add_member(:master_id, Shapes::ShapeRef.new(shape: String, required: true, location_name: "masterId"))
@@ -311,6 +326,7 @@ module Aws::GuardDuty
311
326
  AwsApiCallAction.add_member(:api, Shapes::ShapeRef.new(shape: String, location_name: "api"))
312
327
  AwsApiCallAction.add_member(:caller_type, Shapes::ShapeRef.new(shape: String, location_name: "callerType"))
313
328
  AwsApiCallAction.add_member(:domain_details, Shapes::ShapeRef.new(shape: DomainDetails, location_name: "domainDetails"))
329
+ AwsApiCallAction.add_member(:error_code, Shapes::ShapeRef.new(shape: String, location_name: "errorCode"))
314
330
  AwsApiCallAction.add_member(:remote_ip_details, Shapes::ShapeRef.new(shape: RemoteIpDetails, location_name: "remoteIpDetails"))
315
331
  AwsApiCallAction.add_member(:service_name, Shapes::ShapeRef.new(shape: String, location_name: "serviceName"))
316
332
  AwsApiCallAction.struct_class = Types::AwsApiCallAction
@@ -445,6 +461,8 @@ module Aws::GuardDuty
445
461
  DataSourceConfigurationsResult.add_member(:s3_logs, Shapes::ShapeRef.new(shape: S3LogsConfigurationResult, required: true, location_name: "s3Logs"))
446
462
  DataSourceConfigurationsResult.struct_class = Types::DataSourceConfigurationsResult
447
463
 
464
+ DataSourceList.member = Shapes::ShapeRef.new(shape: DataSource)
465
+
448
466
  DeclineInvitationsRequest.add_member(:account_ids, Shapes::ShapeRef.new(shape: AccountIds, required: true, location_name: "accountIds"))
449
467
  DeclineInvitationsRequest.struct_class = Types::DeclineInvitationsRequest
450
468
 
@@ -693,6 +711,18 @@ module Aws::GuardDuty
693
711
  GetThreatIntelSetResponse.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "tags"))
694
712
  GetThreatIntelSetResponse.struct_class = Types::GetThreatIntelSetResponse
695
713
 
714
+ GetUsageStatisticsRequest.add_member(:detector_id, Shapes::ShapeRef.new(shape: DetectorId, required: true, location: "uri", location_name: "detectorId"))
715
+ GetUsageStatisticsRequest.add_member(:usage_statistic_type, Shapes::ShapeRef.new(shape: UsageStatisticType, required: true, location_name: "usageStatisticsType"))
716
+ GetUsageStatisticsRequest.add_member(:usage_criteria, Shapes::ShapeRef.new(shape: UsageCriteria, required: true, location_name: "usageCriteria"))
717
+ GetUsageStatisticsRequest.add_member(:unit, Shapes::ShapeRef.new(shape: String, location_name: "unit"))
718
+ GetUsageStatisticsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location_name: "maxResults"))
719
+ GetUsageStatisticsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "nextToken"))
720
+ GetUsageStatisticsRequest.struct_class = Types::GetUsageStatisticsRequest
721
+
722
+ GetUsageStatisticsResponse.add_member(:usage_statistics, Shapes::ShapeRef.new(shape: UsageStatistics, location_name: "usageStatistics"))
723
+ GetUsageStatisticsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "nextToken"))
724
+ GetUsageStatisticsResponse.struct_class = Types::GetUsageStatisticsResponse
725
+
696
726
  IamInstanceProfile.add_member(:arn, Shapes::ShapeRef.new(shape: String, location_name: "arn"))
697
727
  IamInstanceProfile.add_member(:id, Shapes::ShapeRef.new(shape: String, location_name: "id"))
698
728
  IamInstanceProfile.struct_class = Types::IamInstanceProfile
@@ -950,6 +980,8 @@ module Aws::GuardDuty
950
980
  Resource.add_member(:resource_type, Shapes::ShapeRef.new(shape: String, location_name: "resourceType"))
951
981
  Resource.struct_class = Types::Resource
952
982
 
983
+ ResourceList.member = Shapes::ShapeRef.new(shape: String)
984
+
953
985
  S3BucketDetail.add_member(:arn, Shapes::ShapeRef.new(shape: String, location_name: "arn"))
954
986
  S3BucketDetail.add_member(:name, Shapes::ShapeRef.new(shape: String, location_name: "name"))
955
987
  S3BucketDetail.add_member(:type, Shapes::ShapeRef.new(shape: String, location_name: "type"))
@@ -1031,6 +1063,10 @@ module Aws::GuardDuty
1031
1063
 
1032
1064
  ThreatNames.member = Shapes::ShapeRef.new(shape: String)
1033
1065
 
1066
+ Total.add_member(:amount, Shapes::ShapeRef.new(shape: String, location_name: "amount"))
1067
+ Total.add_member(:unit, Shapes::ShapeRef.new(shape: String, location_name: "unit"))
1068
+ Total.struct_class = Types::Total
1069
+
1034
1070
  UnarchiveFindingsRequest.add_member(:detector_id, Shapes::ShapeRef.new(shape: DetectorId, required: true, location: "uri", location_name: "detectorId"))
1035
1071
  UnarchiveFindingsRequest.add_member(:finding_ids, Shapes::ShapeRef.new(shape: FindingIds, required: true, location_name: "findingIds"))
1036
1072
  UnarchiveFindingsRequest.struct_class = Types::UnarchiveFindingsRequest
@@ -1116,6 +1152,35 @@ module Aws::GuardDuty
1116
1152
 
1117
1153
  UpdateThreatIntelSetResponse.struct_class = Types::UpdateThreatIntelSetResponse
1118
1154
 
1155
+ UsageAccountResult.add_member(:account_id, Shapes::ShapeRef.new(shape: AccountId, location_name: "accountId"))
1156
+ UsageAccountResult.add_member(:total, Shapes::ShapeRef.new(shape: Total, location_name: "total"))
1157
+ UsageAccountResult.struct_class = Types::UsageAccountResult
1158
+
1159
+ UsageAccountResultList.member = Shapes::ShapeRef.new(shape: UsageAccountResult)
1160
+
1161
+ UsageCriteria.add_member(:account_ids, Shapes::ShapeRef.new(shape: AccountIds, location_name: "accountIds"))
1162
+ UsageCriteria.add_member(:data_sources, Shapes::ShapeRef.new(shape: DataSourceList, required: true, location_name: "dataSources"))
1163
+ UsageCriteria.add_member(:resources, Shapes::ShapeRef.new(shape: ResourceList, location_name: "resources"))
1164
+ UsageCriteria.struct_class = Types::UsageCriteria
1165
+
1166
+ UsageDataSourceResult.add_member(:data_source, Shapes::ShapeRef.new(shape: DataSource, location_name: "dataSource"))
1167
+ UsageDataSourceResult.add_member(:total, Shapes::ShapeRef.new(shape: Total, location_name: "total"))
1168
+ UsageDataSourceResult.struct_class = Types::UsageDataSourceResult
1169
+
1170
+ UsageDataSourceResultList.member = Shapes::ShapeRef.new(shape: UsageDataSourceResult)
1171
+
1172
+ UsageResourceResult.add_member(:resource, Shapes::ShapeRef.new(shape: String, location_name: "resource"))
1173
+ UsageResourceResult.add_member(:total, Shapes::ShapeRef.new(shape: Total, location_name: "total"))
1174
+ UsageResourceResult.struct_class = Types::UsageResourceResult
1175
+
1176
+ UsageResourceResultList.member = Shapes::ShapeRef.new(shape: UsageResourceResult)
1177
+
1178
+ UsageStatistics.add_member(:sum_by_account, Shapes::ShapeRef.new(shape: UsageAccountResultList, location_name: "sumByAccount"))
1179
+ UsageStatistics.add_member(:sum_by_data_source, Shapes::ShapeRef.new(shape: UsageDataSourceResultList, location_name: "sumByDataSource"))
1180
+ UsageStatistics.add_member(:sum_by_resource, Shapes::ShapeRef.new(shape: UsageResourceResultList, location_name: "sumByResource"))
1181
+ UsageStatistics.add_member(:top_resources, Shapes::ShapeRef.new(shape: UsageResourceResultList, location_name: "topResources"))
1182
+ UsageStatistics.struct_class = Types::UsageStatistics
1183
+
1119
1184
 
1120
1185
  # @api private
1121
1186
  API = Seahorse::Model::Api.new.tap do |api|
@@ -1464,6 +1529,22 @@ module Aws::GuardDuty
1464
1529
  o.errors << Shapes::ShapeRef.new(shape: InternalServerErrorException)
1465
1530
  end)
1466
1531
 
1532
+ api.add_operation(:get_usage_statistics, Seahorse::Model::Operation.new.tap do |o|
1533
+ o.name = "GetUsageStatistics"
1534
+ o.http_method = "POST"
1535
+ o.http_request_uri = "/detector/{detectorId}/usage/statistics"
1536
+ o.input = Shapes::ShapeRef.new(shape: GetUsageStatisticsRequest)
1537
+ o.output = Shapes::ShapeRef.new(shape: GetUsageStatisticsResponse)
1538
+ o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
1539
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerErrorException)
1540
+ o[:pager] = Aws::Pager.new(
1541
+ limit_key: "max_results",
1542
+ tokens: {
1543
+ "next_token" => "next_token"
1544
+ }
1545
+ )
1546
+ end)
1547
+
1467
1548
  api.add_operation(:invite_members, Seahorse::Model::Operation.new.tap do |o|
1468
1549
  o.name = "InviteMembers"
1469
1550
  o.http_method = "POST"
@@ -228,7 +228,7 @@ module Aws::GuardDuty
228
228
  #
229
229
  class ArchiveFindingsResponse < Aws::EmptyStructure; end
230
230
 
231
- # Contains information about the API operation.
231
+ # Contains information about the API action.
232
232
  #
233
233
  # @!attribute [rw] api
234
234
  # The AWS API name.
@@ -242,8 +242,13 @@ module Aws::GuardDuty
242
242
  # The domain information for the AWS API call.
243
243
  # @return [Types::DomainDetails]
244
244
  #
245
+ # @!attribute [rw] error_code
246
+ # The error code of the failed AWS API action.
247
+ # @return [String]
248
+ #
245
249
  # @!attribute [rw] remote_ip_details
246
- # The remote IP information of the connection.
250
+ # The remote IP information of the connection that initiated the AWS
251
+ # API call.
247
252
  # @return [Types::RemoteIpDetails]
248
253
  #
249
254
  # @!attribute [rw] service_name
@@ -256,6 +261,7 @@ module Aws::GuardDuty
256
261
  :api,
257
262
  :caller_type,
258
263
  :domain_details,
264
+ :error_code,
259
265
  :remote_ip_details,
260
266
  :service_name)
261
267
  SENSITIVE = []
@@ -824,7 +830,8 @@ module Aws::GuardDuty
824
830
  # @return [String]
825
831
  #
826
832
  # @!attribute [rw] location
827
- # The URI of the file that contains the IPSet.
833
+ # The URI of the file that contains the IPSet. For example:
834
+ # https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key.
828
835
  # @return [String]
829
836
  #
830
837
  # @!attribute [rw] activate
@@ -1032,7 +1039,8 @@ module Aws::GuardDuty
1032
1039
  # @return [String]
1033
1040
  #
1034
1041
  # @!attribute [rw] location
1035
- # The URI of the file that contains the ThreatIntelSet.
1042
+ # The URI of the file that contains the ThreatIntelSet. For example:
1043
+ # https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key.
1036
1044
  # @return [String]
1037
1045
  #
1038
1046
  # @!attribute [rw] activate
@@ -1186,7 +1194,7 @@ module Aws::GuardDuty
1186
1194
  #
1187
1195
  #
1188
1196
  #
1189
- # [1]: https://docs.aws.amazon.com/AmazonS3/atest/dev/serv-side-encryption.html
1197
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html
1190
1198
  #
1191
1199
  # @!attribute [rw] encryption_type
1192
1200
  # The type of encryption used for objects within the S3 bucket.
@@ -2175,7 +2183,8 @@ module Aws::GuardDuty
2175
2183
  # @return [String]
2176
2184
  #
2177
2185
  # @!attribute [rw] location
2178
- # The URI of the file that contains the IPSet.
2186
+ # The URI of the file that contains the IPSet. For example:
2187
+ # https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key.
2179
2188
  # @return [String]
2180
2189
  #
2181
2190
  # @!attribute [rw] status
@@ -2373,7 +2382,8 @@ module Aws::GuardDuty
2373
2382
  # @return [String]
2374
2383
  #
2375
2384
  # @!attribute [rw] location
2376
- # The URI of the file that contains the ThreatIntelSet.
2385
+ # The URI of the file that contains the ThreatIntelSet. For example:
2386
+ # https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key.
2377
2387
  # @return [String]
2378
2388
  #
2379
2389
  # @!attribute [rw] status
@@ -2396,6 +2406,84 @@ module Aws::GuardDuty
2396
2406
  include Aws::Structure
2397
2407
  end
2398
2408
 
2409
+ # @note When making an API call, you may pass GetUsageStatisticsRequest
2410
+ # data as a hash:
2411
+ #
2412
+ # {
2413
+ # detector_id: "DetectorId", # required
2414
+ # usage_statistic_type: "SUM_BY_ACCOUNT", # required, accepts SUM_BY_ACCOUNT, SUM_BY_DATA_SOURCE, SUM_BY_RESOURCE, TOP_RESOURCES
2415
+ # usage_criteria: { # required
2416
+ # account_ids: ["AccountId"],
2417
+ # data_sources: ["FLOW_LOGS"], # required, accepts FLOW_LOGS, CLOUD_TRAIL, DNS_LOGS, S3_LOGS
2418
+ # resources: ["String"],
2419
+ # },
2420
+ # unit: "String",
2421
+ # max_results: 1,
2422
+ # next_token: "String",
2423
+ # }
2424
+ #
2425
+ # @!attribute [rw] detector_id
2426
+ # The ID of the detector that specifies the GuardDuty service whose
2427
+ # usage statistics you want to retrieve.
2428
+ # @return [String]
2429
+ #
2430
+ # @!attribute [rw] usage_statistic_type
2431
+ # The type of usage statistics to retrieve.
2432
+ # @return [String]
2433
+ #
2434
+ # @!attribute [rw] usage_criteria
2435
+ # Represents the criteria used for querying usage.
2436
+ # @return [Types::UsageCriteria]
2437
+ #
2438
+ # @!attribute [rw] unit
2439
+ # The currency unit you would like to view your usage statistics in.
2440
+ # Current valid values are USD.
2441
+ # @return [String]
2442
+ #
2443
+ # @!attribute [rw] max_results
2444
+ # The maximum number of results to return in the response.
2445
+ # @return [Integer]
2446
+ #
2447
+ # @!attribute [rw] next_token
2448
+ # A token to use for paginating results that are returned in the
2449
+ # response. Set the value of this parameter to null for the first
2450
+ # request to a list action. For subsequent calls, use the NextToken
2451
+ # value returned from the previous request to continue listing results
2452
+ # after the first page.
2453
+ # @return [String]
2454
+ #
2455
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetUsageStatisticsRequest AWS API Documentation
2456
+ #
2457
+ class GetUsageStatisticsRequest < Struct.new(
2458
+ :detector_id,
2459
+ :usage_statistic_type,
2460
+ :usage_criteria,
2461
+ :unit,
2462
+ :max_results,
2463
+ :next_token)
2464
+ SENSITIVE = []
2465
+ include Aws::Structure
2466
+ end
2467
+
2468
+ # @!attribute [rw] usage_statistics
2469
+ # The usage statistics object. If a UsageStatisticType was provided,
2470
+ # the objects representing other types will be null.
2471
+ # @return [Types::UsageStatistics]
2472
+ #
2473
+ # @!attribute [rw] next_token
2474
+ # The pagination parameter to be used on the next list operation to
2475
+ # retrieve more items.
2476
+ # @return [String]
2477
+ #
2478
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetUsageStatisticsResponse AWS API Documentation
2479
+ #
2480
+ class GetUsageStatisticsResponse < Struct.new(
2481
+ :usage_statistics,
2482
+ :next_token)
2483
+ SENSITIVE = []
2484
+ include Aws::Structure
2485
+ end
2486
+
2399
2487
  # Contains information about the EC2 instance profile.
2400
2488
  #
2401
2489
  # @!attribute [rw] arn
@@ -2562,13 +2650,13 @@ module Aws::GuardDuty
2562
2650
  #
2563
2651
  # @!attribute [rw] disable_email_notification
2564
2652
  # A Boolean value that specifies whether you want to disable email
2565
- # notification to the accounts that you’re inviting to GuardDuty as
2653
+ # notification to the accounts that you are inviting to GuardDuty as
2566
2654
  # members.
2567
2655
  # @return [Boolean]
2568
2656
  #
2569
2657
  # @!attribute [rw] message
2570
2658
  # The invitation message that you want to send to the accounts that
2571
- # youre inviting to GuardDuty as members.
2659
+ # you're inviting to GuardDuty as members.
2572
2660
  # @return [String]
2573
2661
  #
2574
2662
  # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/InviteMembersRequest AWS API Documentation
@@ -2763,8 +2851,6 @@ module Aws::GuardDuty
2763
2851
  #
2764
2852
  # * resource.instanceDetails.instanceId
2765
2853
  #
2766
- # * resource.instanceDetails.outpostArn
2767
- #
2768
2854
  # * resource.instanceDetails.networkInterfaces.ipv6Addresses
2769
2855
  #
2770
2856
  # * resource.instanceDetails.networkInterfaces.privateIpAddresses.privateIpAddress
@@ -2815,8 +2901,6 @@ module Aws::GuardDuty
2815
2901
  #
2816
2902
  # * service.action.networkConnectionAction.protocol
2817
2903
  #
2818
- # * service.action.networkConnectionAction.localIpDetails.ipAddressV4
2819
- #
2820
2904
  # * service.action.networkConnectionAction.remoteIpDetails.city.cityName
2821
2905
  #
2822
2906
  # * service.action.networkConnectionAction.remoteIpDetails.country.countryName
@@ -3030,11 +3114,9 @@ module Aws::GuardDuty
3030
3114
  # @return [String]
3031
3115
  #
3032
3116
  # @!attribute [rw] only_associated
3033
- # Specifies what member accounts the response includes based on their
3034
- # relationship status with the master account. The default value is
3035
- # "true". If set to "false" the response includes all existing
3036
- # member accounts (including members who haven't been invited yet or
3037
- # have been disassociated).
3117
+ # Specifies whether to only return associated members or to return all
3118
+ # members (including members who haven't been invited yet or have
3119
+ # been disassociated).
3038
3120
  # @return [String]
3039
3121
  #
3040
3122
  # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ListMembersRequest AWS API Documentation
@@ -4180,6 +4262,26 @@ module Aws::GuardDuty
4180
4262
  include Aws::Structure
4181
4263
  end
4182
4264
 
4265
+ # Contains the total usage with the corresponding currency unit for that
4266
+ # value.
4267
+ #
4268
+ # @!attribute [rw] amount
4269
+ # The total usage.
4270
+ # @return [String]
4271
+ #
4272
+ # @!attribute [rw] unit
4273
+ # The currency unit that the amount is given in.
4274
+ # @return [String]
4275
+ #
4276
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/Total AWS API Documentation
4277
+ #
4278
+ class Total < Struct.new(
4279
+ :amount,
4280
+ :unit)
4281
+ SENSITIVE = []
4282
+ include Aws::Structure
4283
+ end
4284
+
4183
4285
  # @note When making an API call, you may pass UnarchiveFindingsRequest
4184
4286
  # data as a hash:
4185
4287
  #
@@ -4454,7 +4556,8 @@ module Aws::GuardDuty
4454
4556
  # @return [String]
4455
4557
  #
4456
4558
  # @!attribute [rw] location
4457
- # The updated URI of the file that contains the IPSet.
4559
+ # The updated URI of the file that contains the IPSet. For example:
4560
+ # https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key.
4458
4561
  # @return [String]
4459
4562
  #
4460
4563
  # @!attribute [rw] activate
@@ -4633,7 +4736,8 @@ module Aws::GuardDuty
4633
4736
  # @return [String]
4634
4737
  #
4635
4738
  # @!attribute [rw] location
4636
- # The updated URI of the file that contains the ThreateIntelSet.
4739
+ # The updated URI of the file that contains the ThreateIntelSet. For
4740
+ # example: https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key.
4637
4741
  # @return [String]
4638
4742
  #
4639
4743
  # @!attribute [rw] activate
@@ -4657,5 +4761,128 @@ module Aws::GuardDuty
4657
4761
  #
4658
4762
  class UpdateThreatIntelSetResponse < Aws::EmptyStructure; end
4659
4763
 
4764
+ # Contains information on the total of usage based on account IDs.
4765
+ #
4766
+ # @!attribute [rw] account_id
4767
+ # The Account ID that generated usage.
4768
+ # @return [String]
4769
+ #
4770
+ # @!attribute [rw] total
4771
+ # Represents the total of usage for the Account ID.
4772
+ # @return [Types::Total]
4773
+ #
4774
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UsageAccountResult AWS API Documentation
4775
+ #
4776
+ class UsageAccountResult < Struct.new(
4777
+ :account_id,
4778
+ :total)
4779
+ SENSITIVE = []
4780
+ include Aws::Structure
4781
+ end
4782
+
4783
+ # Contains information about the criteria used to query usage
4784
+ # statistics.
4785
+ #
4786
+ # @note When making an API call, you may pass UsageCriteria
4787
+ # data as a hash:
4788
+ #
4789
+ # {
4790
+ # account_ids: ["AccountId"],
4791
+ # data_sources: ["FLOW_LOGS"], # required, accepts FLOW_LOGS, CLOUD_TRAIL, DNS_LOGS, S3_LOGS
4792
+ # resources: ["String"],
4793
+ # }
4794
+ #
4795
+ # @!attribute [rw] account_ids
4796
+ # The account IDs to aggregate usage statistics from.
4797
+ # @return [Array<String>]
4798
+ #
4799
+ # @!attribute [rw] data_sources
4800
+ # The data sources to aggregate usage statistics from.
4801
+ # @return [Array<String>]
4802
+ #
4803
+ # @!attribute [rw] resources
4804
+ # The resources to aggregate usage statistics from. Only accepts exact
4805
+ # resource names.
4806
+ # @return [Array<String>]
4807
+ #
4808
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UsageCriteria AWS API Documentation
4809
+ #
4810
+ class UsageCriteria < Struct.new(
4811
+ :account_ids,
4812
+ :data_sources,
4813
+ :resources)
4814
+ SENSITIVE = []
4815
+ include Aws::Structure
4816
+ end
4817
+
4818
+ # Contains information on the result of usage based on data source type.
4819
+ #
4820
+ # @!attribute [rw] data_source
4821
+ # The data source type that generated usage.
4822
+ # @return [String]
4823
+ #
4824
+ # @!attribute [rw] total
4825
+ # Represents the total of usage for the specified data source.
4826
+ # @return [Types::Total]
4827
+ #
4828
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UsageDataSourceResult AWS API Documentation
4829
+ #
4830
+ class UsageDataSourceResult < Struct.new(
4831
+ :data_source,
4832
+ :total)
4833
+ SENSITIVE = []
4834
+ include Aws::Structure
4835
+ end
4836
+
4837
+ # Contains information on the sum of usage based on an AWS resource.
4838
+ #
4839
+ # @!attribute [rw] resource
4840
+ # The AWS resource that generated usage.
4841
+ # @return [String]
4842
+ #
4843
+ # @!attribute [rw] total
4844
+ # Represents the sum total of usage for the specified resource type.
4845
+ # @return [Types::Total]
4846
+ #
4847
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UsageResourceResult AWS API Documentation
4848
+ #
4849
+ class UsageResourceResult < Struct.new(
4850
+ :resource,
4851
+ :total)
4852
+ SENSITIVE = []
4853
+ include Aws::Structure
4854
+ end
4855
+
4856
+ # Contains the result of GuardDuty usage. If a UsageStatisticType is
4857
+ # provided the result for other types will be null.
4858
+ #
4859
+ # @!attribute [rw] sum_by_account
4860
+ # The usage statistic sum organized by account ID.
4861
+ # @return [Array<Types::UsageAccountResult>]
4862
+ #
4863
+ # @!attribute [rw] sum_by_data_source
4864
+ # The usage statistic sum organized by on data source.
4865
+ # @return [Array<Types::UsageDataSourceResult>]
4866
+ #
4867
+ # @!attribute [rw] sum_by_resource
4868
+ # The usage statistic sum organized by resource.
4869
+ # @return [Array<Types::UsageResourceResult>]
4870
+ #
4871
+ # @!attribute [rw] top_resources
4872
+ # Lists the top 50 resources that have generated the most GuardDuty
4873
+ # usage, in order from most to least expensive.
4874
+ # @return [Array<Types::UsageResourceResult>]
4875
+ #
4876
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UsageStatistics AWS API Documentation
4877
+ #
4878
+ class UsageStatistics < Struct.new(
4879
+ :sum_by_account,
4880
+ :sum_by_data_source,
4881
+ :sum_by_resource,
4882
+ :top_resources)
4883
+ SENSITIVE = []
4884
+ include Aws::Structure
4885
+ end
4886
+
4660
4887
  end
4661
4888
  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.37.0
4
+ version: 1.42.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: 2020-07-29 00:00:00.000000000 Z
11
+ date: 2020-09-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core
@@ -19,7 +19,7 @@ dependencies:
19
19
  version: '3'
20
20
  - - ">="
21
21
  - !ruby/object:Gem::Version
22
- version: 3.99.0
22
+ version: 3.109.0
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -29,7 +29,7 @@ dependencies:
29
29
  version: '3'
30
30
  - - ">="
31
31
  - !ruby/object:Gem::Version
32
- version: 3.99.0
32
+ version: 3.109.0
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: aws-sigv4
35
35
  requirement: !ruby/object:Gem::Requirement