aws-sdk-guardduty 1.37.0 → 1.42.0

Sign up to get free protection for your applications and to get access to all the features.
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