aws-sdk-guardduty 1.37.0 → 1.38.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: e16a488eb4196364c76eb70fb1f1d123ab6deda470c4453e4dce1cac0f8c3f82
4
+ data.tar.gz: bbf3e047f93c47a207135af6ea51c12eebcfe434f511235bd925fd2b38a784cb
5
5
  SHA512:
6
- metadata.gz: 2f6b94345f3bdcc3c7c91ea721d9c816de6d90312f47af329fa51fd99c533c0ad62a3a38f0aca21b1c4fb6bb647857d5e541a35b959d2a41053196b88df55662
7
- data.tar.gz: c2c0dc8c3d46ad6784f2299ae887a9abbeba5d9e0ddc0448a07a4f8490964f539bb5e69fffdbf060c88e2c813906a05735461ecc9b604982a9ec93eda0a6f6ad
6
+ metadata.gz: 34df1ac32e164b8e8b1b8c5aceae176c23f2640110a409a964de0602a9c9c9730a6f9b1a7191dfcd88b678b34c5d8e2f05ddddb43b69c8ffaef932b81e33e453
7
+ data.tar.gz: f94617eb995e5d49c949003aa0d82e4dcee24243affb9d97a43806ccf3a4d6050c7604d5dfce9ba3f407cf0a30fb05b1e819d9bfb8cca98fa4b5f7268c6e4026
@@ -47,6 +47,6 @@ require_relative 'aws-sdk-guardduty/customizations'
47
47
  # @service
48
48
  module Aws::GuardDuty
49
49
 
50
- GEM_VERSION = '1.37.0'
50
+ GEM_VERSION = '1.38.0'
51
51
 
52
52
  end
@@ -380,7 +380,8 @@ module Aws::GuardDuty
380
380
  # Creates a single Amazon GuardDuty detector. A detector is a resource
381
381
  # that represents the GuardDuty service. To start using GuardDuty, you
382
382
  # must create a detector in each Region where you enable the service.
383
- # You can have only one detector per account per Region.
383
+ # You can have only one detector per account per Region. All data
384
+ # sources are enabled in a new detector by default.
384
385
  #
385
386
  # @option params [required, Boolean] :enable
386
387
  # A Boolean value that specifies whether the detector is to be enabled.
@@ -650,7 +651,8 @@ module Aws::GuardDuty
650
651
  # The format of the file that contains the IPSet.
651
652
  #
652
653
  # @option params [required, String] :location
653
- # The URI of the file that contains the IPSet.
654
+ # The URI of the file that contains the IPSet. For example:
655
+ # https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key.
654
656
  #
655
657
  # @option params [required, Boolean] :activate
656
658
  # A Boolean value that indicates whether GuardDuty is to start using the
@@ -697,8 +699,22 @@ module Aws::GuardDuty
697
699
  end
698
700
 
699
701
  # 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.
702
+ # list of AWS account IDs. This step is a prerequisite for managing the
703
+ # associated member accounts either by invitation or through an
704
+ # organization.
705
+ #
706
+ # When using `Create Members` as an organizations delegated
707
+ # administrator this action will enable GuardDuty in the added member
708
+ # accounts, with the exception of the organization master account, which
709
+ # must enable GuardDuty prior to being added as a member.
710
+ #
711
+ # If you are adding accounts by invitation use this action after
712
+ # GuardDuty has been enabled in potential member accounts and before
713
+ # using [ `Invite Members` ][1].
714
+ #
715
+ #
716
+ #
717
+ # [1]: https://docs.aws.amazon.com/guardduty/latest/APIReference/API_InviteMembers.html
702
718
  #
703
719
  # @option params [required, String] :detector_id
704
720
  # The unique ID of the detector of the GuardDuty account that you want
@@ -835,7 +851,8 @@ module Aws::GuardDuty
835
851
  # The format of the file that contains the ThreatIntelSet.
836
852
  #
837
853
  # @option params [required, String] :location
838
- # The URI of the file that contains the ThreatIntelSet.
854
+ # The URI of the file that contains the ThreatIntelSet. For example:
855
+ # https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key.
839
856
  #
840
857
  # @option params [required, Boolean] :activate
841
858
  # A Boolean value that indicates whether GuardDuty is to start using the
@@ -1857,6 +1874,92 @@ module Aws::GuardDuty
1857
1874
  req.send_request(options)
1858
1875
  end
1859
1876
 
1877
+ # Lists Amazon GuardDuty usage statistics over the last 30 days for the
1878
+ # specified detector ID. For newly enabled detectors or data sources the
1879
+ # cost returned will include only the usage so far under 30 days, this
1880
+ # may differ from the cost metrics in the console, which projects usage
1881
+ # over 30 days to provide a monthly cost estimate. For more information
1882
+ # see [Understanding How Usage Costs are Calculated][1].
1883
+ #
1884
+ #
1885
+ #
1886
+ # [1]: https://docs.aws.amazon.com/guardduty/latest/ug/monitoring_costs.html#usage-calculations
1887
+ #
1888
+ # @option params [required, String] :detector_id
1889
+ # The ID of the detector that specifies the GuardDuty service whose
1890
+ # usage statistics you want to retrieve.
1891
+ #
1892
+ # @option params [required, String] :usage_statistic_type
1893
+ # The type of usage statistics to retrieve.
1894
+ #
1895
+ # @option params [required, Types::UsageCriteria] :usage_criteria
1896
+ # Represents the criteria used for querying usage.
1897
+ #
1898
+ # @option params [String] :unit
1899
+ # The currency unit you would like to view your usage statistics in.
1900
+ # Current valid values are USD.
1901
+ #
1902
+ # @option params [Integer] :max_results
1903
+ # The maximum number of results to return in the response.
1904
+ #
1905
+ # @option params [String] :next_token
1906
+ # A token to use for paginating results that are returned in the
1907
+ # response. Set the value of this parameter to null for the first
1908
+ # request to a list action. For subsequent calls, use the NextToken
1909
+ # value returned from the previous request to continue listing results
1910
+ # after the first page.
1911
+ #
1912
+ # @return [Types::GetUsageStatisticsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1913
+ #
1914
+ # * {Types::GetUsageStatisticsResponse#usage_statistics #usage_statistics} => Types::UsageStatistics
1915
+ # * {Types::GetUsageStatisticsResponse#next_token #next_token} => String
1916
+ #
1917
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1918
+ #
1919
+ # @example Request syntax with placeholder values
1920
+ #
1921
+ # resp = client.get_usage_statistics({
1922
+ # detector_id: "DetectorId", # required
1923
+ # usage_statistic_type: "SUM_BY_ACCOUNT", # required, accepts SUM_BY_ACCOUNT, SUM_BY_DATA_SOURCE, SUM_BY_RESOURCE, TOP_RESOURCES
1924
+ # usage_criteria: { # required
1925
+ # account_ids: ["AccountId"],
1926
+ # data_sources: ["FLOW_LOGS"], # required, accepts FLOW_LOGS, CLOUD_TRAIL, DNS_LOGS, S3_LOGS
1927
+ # resources: ["String"],
1928
+ # },
1929
+ # unit: "String",
1930
+ # max_results: 1,
1931
+ # next_token: "String",
1932
+ # })
1933
+ #
1934
+ # @example Response structure
1935
+ #
1936
+ # resp.usage_statistics.sum_by_account #=> Array
1937
+ # resp.usage_statistics.sum_by_account[0].account_id #=> String
1938
+ # resp.usage_statistics.sum_by_account[0].total.amount #=> String
1939
+ # resp.usage_statistics.sum_by_account[0].total.unit #=> String
1940
+ # resp.usage_statistics.sum_by_data_source #=> Array
1941
+ # resp.usage_statistics.sum_by_data_source[0].data_source #=> String, one of "FLOW_LOGS", "CLOUD_TRAIL", "DNS_LOGS", "S3_LOGS"
1942
+ # resp.usage_statistics.sum_by_data_source[0].total.amount #=> String
1943
+ # resp.usage_statistics.sum_by_data_source[0].total.unit #=> String
1944
+ # resp.usage_statistics.sum_by_resource #=> Array
1945
+ # resp.usage_statistics.sum_by_resource[0].resource #=> String
1946
+ # resp.usage_statistics.sum_by_resource[0].total.amount #=> String
1947
+ # resp.usage_statistics.sum_by_resource[0].total.unit #=> String
1948
+ # resp.usage_statistics.top_resources #=> Array
1949
+ # resp.usage_statistics.top_resources[0].resource #=> String
1950
+ # resp.usage_statistics.top_resources[0].total.amount #=> String
1951
+ # resp.usage_statistics.top_resources[0].total.unit #=> String
1952
+ # resp.next_token #=> String
1953
+ #
1954
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetUsageStatistics AWS API Documentation
1955
+ #
1956
+ # @overload get_usage_statistics(params = {})
1957
+ # @param [Hash] params ({})
1958
+ def get_usage_statistics(params = {}, options = {})
1959
+ req = build_request(:get_usage_statistics, params)
1960
+ req.send_request(options)
1961
+ end
1962
+
1860
1963
  # Invites other AWS accounts (created as members of the current AWS
1861
1964
  # account by CreateMembers) to enable GuardDuty, and allow the current
1862
1965
  # AWS account to view and manage these accounts' GuardDuty findings on
@@ -1872,12 +1975,12 @@ module Aws::GuardDuty
1872
1975
  #
1873
1976
  # @option params [Boolean] :disable_email_notification
1874
1977
  # A Boolean value that specifies whether you want to disable email
1875
- # notification to the accounts that you’re inviting to GuardDuty as
1978
+ # notification to the accounts that you are inviting to GuardDuty as
1876
1979
  # members.
1877
1980
  #
1878
1981
  # @option params [String] :message
1879
1982
  # The invitation message that you want to send to the accounts that
1880
- # youre inviting to GuardDuty as members.
1983
+ # you're inviting to GuardDuty as members.
1881
1984
  #
1882
1985
  # @return [Types::InviteMembersResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1883
1986
  #
@@ -2032,8 +2135,6 @@ module Aws::GuardDuty
2032
2135
  #
2033
2136
  # * resource.instanceDetails.instanceId
2034
2137
  #
2035
- # * resource.instanceDetails.outpostArn
2036
- #
2037
2138
  # * resource.instanceDetails.networkInterfaces.ipv6Addresses
2038
2139
  #
2039
2140
  # * resource.instanceDetails.networkInterfaces.privateIpAddresses.privateIpAddress
@@ -2084,8 +2185,6 @@ module Aws::GuardDuty
2084
2185
  #
2085
2186
  # * service.action.networkConnectionAction.protocol
2086
2187
  #
2087
- # * service.action.networkConnectionAction.localIpDetails.ipAddressV4
2088
- #
2089
2188
  # * service.action.networkConnectionAction.remoteIpDetails.city.cityName
2090
2189
  #
2091
2190
  # * service.action.networkConnectionAction.remoteIpDetails.country.countryName
@@ -2280,8 +2379,8 @@ module Aws::GuardDuty
2280
2379
  req.send_request(options)
2281
2380
  end
2282
2381
 
2283
- # Lists details about associated member accounts for the current
2284
- # GuardDuty master account.
2382
+ # Lists details about all member accounts for the current GuardDuty
2383
+ # master account.
2285
2384
  #
2286
2385
  # @option params [required, String] :detector_id
2287
2386
  # The unique ID of the detector the member is associated with.
@@ -2299,11 +2398,9 @@ module Aws::GuardDuty
2299
2398
  # data.
2300
2399
  #
2301
2400
  # @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).
2401
+ # Specifies whether to only return associated members or to return all
2402
+ # members (including members who haven't been invited yet or have been
2403
+ # disassociated).
2307
2404
  #
2308
2405
  # @return [Types::ListMembersResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2309
2406
  #
@@ -2827,7 +2924,8 @@ module Aws::GuardDuty
2827
2924
  # The unique ID that specifies the IPSet that you want to update.
2828
2925
  #
2829
2926
  # @option params [String] :location
2830
- # The updated URI of the file that contains the IPSet.
2927
+ # The updated URI of the file that contains the IPSet. For example:
2928
+ # https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key.
2831
2929
  #
2832
2930
  # @option params [Boolean] :activate
2833
2931
  # The updated Boolean value that specifies whether the IPSet is active
@@ -2982,7 +3080,8 @@ module Aws::GuardDuty
2982
3080
  # update.
2983
3081
  #
2984
3082
  # @option params [String] :location
2985
- # The updated URI of the file that contains the ThreateIntelSet.
3083
+ # The updated URI of the file that contains the ThreateIntelSet. For
3084
+ # example: https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key.
2986
3085
  #
2987
3086
  # @option params [Boolean] :activate
2988
3087
  # The updated Boolean value that specifies whether the ThreateIntelSet
@@ -3022,7 +3121,7 @@ module Aws::GuardDuty
3022
3121
  params: params,
3023
3122
  config: config)
3024
3123
  context[:gem_name] = 'aws-sdk-guardduty'
3025
- context[:gem_version] = '1.37.0'
3124
+ context[:gem_version] = '1.38.0'
3026
3125
  Seahorse::Client::Request.new(handlers, context)
3027
3126
  end
3028
3127
 
@@ -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"))
@@ -445,6 +460,8 @@ module Aws::GuardDuty
445
460
  DataSourceConfigurationsResult.add_member(:s3_logs, Shapes::ShapeRef.new(shape: S3LogsConfigurationResult, required: true, location_name: "s3Logs"))
446
461
  DataSourceConfigurationsResult.struct_class = Types::DataSourceConfigurationsResult
447
462
 
463
+ DataSourceList.member = Shapes::ShapeRef.new(shape: DataSource)
464
+
448
465
  DeclineInvitationsRequest.add_member(:account_ids, Shapes::ShapeRef.new(shape: AccountIds, required: true, location_name: "accountIds"))
449
466
  DeclineInvitationsRequest.struct_class = Types::DeclineInvitationsRequest
450
467
 
@@ -693,6 +710,18 @@ module Aws::GuardDuty
693
710
  GetThreatIntelSetResponse.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "tags"))
694
711
  GetThreatIntelSetResponse.struct_class = Types::GetThreatIntelSetResponse
695
712
 
713
+ GetUsageStatisticsRequest.add_member(:detector_id, Shapes::ShapeRef.new(shape: DetectorId, required: true, location: "uri", location_name: "detectorId"))
714
+ GetUsageStatisticsRequest.add_member(:usage_statistic_type, Shapes::ShapeRef.new(shape: UsageStatisticType, required: true, location_name: "usageStatisticsType"))
715
+ GetUsageStatisticsRequest.add_member(:usage_criteria, Shapes::ShapeRef.new(shape: UsageCriteria, required: true, location_name: "usageCriteria"))
716
+ GetUsageStatisticsRequest.add_member(:unit, Shapes::ShapeRef.new(shape: String, location_name: "unit"))
717
+ GetUsageStatisticsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location_name: "maxResults"))
718
+ GetUsageStatisticsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "nextToken"))
719
+ GetUsageStatisticsRequest.struct_class = Types::GetUsageStatisticsRequest
720
+
721
+ GetUsageStatisticsResponse.add_member(:usage_statistics, Shapes::ShapeRef.new(shape: UsageStatistics, location_name: "usageStatistics"))
722
+ GetUsageStatisticsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "nextToken"))
723
+ GetUsageStatisticsResponse.struct_class = Types::GetUsageStatisticsResponse
724
+
696
725
  IamInstanceProfile.add_member(:arn, Shapes::ShapeRef.new(shape: String, location_name: "arn"))
697
726
  IamInstanceProfile.add_member(:id, Shapes::ShapeRef.new(shape: String, location_name: "id"))
698
727
  IamInstanceProfile.struct_class = Types::IamInstanceProfile
@@ -950,6 +979,8 @@ module Aws::GuardDuty
950
979
  Resource.add_member(:resource_type, Shapes::ShapeRef.new(shape: String, location_name: "resourceType"))
951
980
  Resource.struct_class = Types::Resource
952
981
 
982
+ ResourceList.member = Shapes::ShapeRef.new(shape: String)
983
+
953
984
  S3BucketDetail.add_member(:arn, Shapes::ShapeRef.new(shape: String, location_name: "arn"))
954
985
  S3BucketDetail.add_member(:name, Shapes::ShapeRef.new(shape: String, location_name: "name"))
955
986
  S3BucketDetail.add_member(:type, Shapes::ShapeRef.new(shape: String, location_name: "type"))
@@ -1031,6 +1062,10 @@ module Aws::GuardDuty
1031
1062
 
1032
1063
  ThreatNames.member = Shapes::ShapeRef.new(shape: String)
1033
1064
 
1065
+ Total.add_member(:amount, Shapes::ShapeRef.new(shape: String, location_name: "amount"))
1066
+ Total.add_member(:unit, Shapes::ShapeRef.new(shape: String, location_name: "unit"))
1067
+ Total.struct_class = Types::Total
1068
+
1034
1069
  UnarchiveFindingsRequest.add_member(:detector_id, Shapes::ShapeRef.new(shape: DetectorId, required: true, location: "uri", location_name: "detectorId"))
1035
1070
  UnarchiveFindingsRequest.add_member(:finding_ids, Shapes::ShapeRef.new(shape: FindingIds, required: true, location_name: "findingIds"))
1036
1071
  UnarchiveFindingsRequest.struct_class = Types::UnarchiveFindingsRequest
@@ -1116,6 +1151,35 @@ module Aws::GuardDuty
1116
1151
 
1117
1152
  UpdateThreatIntelSetResponse.struct_class = Types::UpdateThreatIntelSetResponse
1118
1153
 
1154
+ UsageAccountResult.add_member(:account_id, Shapes::ShapeRef.new(shape: AccountId, location_name: "accountId"))
1155
+ UsageAccountResult.add_member(:total, Shapes::ShapeRef.new(shape: Total, location_name: "total"))
1156
+ UsageAccountResult.struct_class = Types::UsageAccountResult
1157
+
1158
+ UsageAccountResultList.member = Shapes::ShapeRef.new(shape: UsageAccountResult)
1159
+
1160
+ UsageCriteria.add_member(:account_ids, Shapes::ShapeRef.new(shape: AccountIds, location_name: "accountIds"))
1161
+ UsageCriteria.add_member(:data_sources, Shapes::ShapeRef.new(shape: DataSourceList, required: true, location_name: "dataSources"))
1162
+ UsageCriteria.add_member(:resources, Shapes::ShapeRef.new(shape: ResourceList, location_name: "resources"))
1163
+ UsageCriteria.struct_class = Types::UsageCriteria
1164
+
1165
+ UsageDataSourceResult.add_member(:data_source, Shapes::ShapeRef.new(shape: DataSource, location_name: "dataSource"))
1166
+ UsageDataSourceResult.add_member(:total, Shapes::ShapeRef.new(shape: Total, location_name: "total"))
1167
+ UsageDataSourceResult.struct_class = Types::UsageDataSourceResult
1168
+
1169
+ UsageDataSourceResultList.member = Shapes::ShapeRef.new(shape: UsageDataSourceResult)
1170
+
1171
+ UsageResourceResult.add_member(:resource, Shapes::ShapeRef.new(shape: String, location_name: "resource"))
1172
+ UsageResourceResult.add_member(:total, Shapes::ShapeRef.new(shape: Total, location_name: "total"))
1173
+ UsageResourceResult.struct_class = Types::UsageResourceResult
1174
+
1175
+ UsageResourceResultList.member = Shapes::ShapeRef.new(shape: UsageResourceResult)
1176
+
1177
+ UsageStatistics.add_member(:sum_by_account, Shapes::ShapeRef.new(shape: UsageAccountResultList, location_name: "sumByAccount"))
1178
+ UsageStatistics.add_member(:sum_by_data_source, Shapes::ShapeRef.new(shape: UsageDataSourceResultList, location_name: "sumByDataSource"))
1179
+ UsageStatistics.add_member(:sum_by_resource, Shapes::ShapeRef.new(shape: UsageResourceResultList, location_name: "sumByResource"))
1180
+ UsageStatistics.add_member(:top_resources, Shapes::ShapeRef.new(shape: UsageResourceResultList, location_name: "topResources"))
1181
+ UsageStatistics.struct_class = Types::UsageStatistics
1182
+
1119
1183
 
1120
1184
  # @api private
1121
1185
  API = Seahorse::Model::Api.new.tap do |api|
@@ -1464,6 +1528,22 @@ module Aws::GuardDuty
1464
1528
  o.errors << Shapes::ShapeRef.new(shape: InternalServerErrorException)
1465
1529
  end)
1466
1530
 
1531
+ api.add_operation(:get_usage_statistics, Seahorse::Model::Operation.new.tap do |o|
1532
+ o.name = "GetUsageStatistics"
1533
+ o.http_method = "POST"
1534
+ o.http_request_uri = "/detector/{detectorId}/usage/statistics"
1535
+ o.input = Shapes::ShapeRef.new(shape: GetUsageStatisticsRequest)
1536
+ o.output = Shapes::ShapeRef.new(shape: GetUsageStatisticsResponse)
1537
+ o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
1538
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerErrorException)
1539
+ o[:pager] = Aws::Pager.new(
1540
+ limit_key: "max_results",
1541
+ tokens: {
1542
+ "next_token" => "next_token"
1543
+ }
1544
+ )
1545
+ end)
1546
+
1467
1547
  api.add_operation(:invite_members, Seahorse::Model::Operation.new.tap do |o|
1468
1548
  o.name = "InviteMembers"
1469
1549
  o.http_method = "POST"
@@ -824,7 +824,8 @@ module Aws::GuardDuty
824
824
  # @return [String]
825
825
  #
826
826
  # @!attribute [rw] location
827
- # The URI of the file that contains the IPSet.
827
+ # The URI of the file that contains the IPSet. For example:
828
+ # https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key.
828
829
  # @return [String]
829
830
  #
830
831
  # @!attribute [rw] activate
@@ -1032,7 +1033,8 @@ module Aws::GuardDuty
1032
1033
  # @return [String]
1033
1034
  #
1034
1035
  # @!attribute [rw] location
1035
- # The URI of the file that contains the ThreatIntelSet.
1036
+ # The URI of the file that contains the ThreatIntelSet. For example:
1037
+ # https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key.
1036
1038
  # @return [String]
1037
1039
  #
1038
1040
  # @!attribute [rw] activate
@@ -2175,7 +2177,8 @@ module Aws::GuardDuty
2175
2177
  # @return [String]
2176
2178
  #
2177
2179
  # @!attribute [rw] location
2178
- # The URI of the file that contains the IPSet.
2180
+ # The URI of the file that contains the IPSet. For example:
2181
+ # https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key.
2179
2182
  # @return [String]
2180
2183
  #
2181
2184
  # @!attribute [rw] status
@@ -2373,7 +2376,8 @@ module Aws::GuardDuty
2373
2376
  # @return [String]
2374
2377
  #
2375
2378
  # @!attribute [rw] location
2376
- # The URI of the file that contains the ThreatIntelSet.
2379
+ # The URI of the file that contains the ThreatIntelSet. For example:
2380
+ # https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key.
2377
2381
  # @return [String]
2378
2382
  #
2379
2383
  # @!attribute [rw] status
@@ -2396,6 +2400,84 @@ module Aws::GuardDuty
2396
2400
  include Aws::Structure
2397
2401
  end
2398
2402
 
2403
+ # @note When making an API call, you may pass GetUsageStatisticsRequest
2404
+ # data as a hash:
2405
+ #
2406
+ # {
2407
+ # detector_id: "DetectorId", # required
2408
+ # usage_statistic_type: "SUM_BY_ACCOUNT", # required, accepts SUM_BY_ACCOUNT, SUM_BY_DATA_SOURCE, SUM_BY_RESOURCE, TOP_RESOURCES
2409
+ # usage_criteria: { # required
2410
+ # account_ids: ["AccountId"],
2411
+ # data_sources: ["FLOW_LOGS"], # required, accepts FLOW_LOGS, CLOUD_TRAIL, DNS_LOGS, S3_LOGS
2412
+ # resources: ["String"],
2413
+ # },
2414
+ # unit: "String",
2415
+ # max_results: 1,
2416
+ # next_token: "String",
2417
+ # }
2418
+ #
2419
+ # @!attribute [rw] detector_id
2420
+ # The ID of the detector that specifies the GuardDuty service whose
2421
+ # usage statistics you want to retrieve.
2422
+ # @return [String]
2423
+ #
2424
+ # @!attribute [rw] usage_statistic_type
2425
+ # The type of usage statistics to retrieve.
2426
+ # @return [String]
2427
+ #
2428
+ # @!attribute [rw] usage_criteria
2429
+ # Represents the criteria used for querying usage.
2430
+ # @return [Types::UsageCriteria]
2431
+ #
2432
+ # @!attribute [rw] unit
2433
+ # The currency unit you would like to view your usage statistics in.
2434
+ # Current valid values are USD.
2435
+ # @return [String]
2436
+ #
2437
+ # @!attribute [rw] max_results
2438
+ # The maximum number of results to return in the response.
2439
+ # @return [Integer]
2440
+ #
2441
+ # @!attribute [rw] next_token
2442
+ # A token to use for paginating results that are returned in the
2443
+ # response. Set the value of this parameter to null for the first
2444
+ # request to a list action. For subsequent calls, use the NextToken
2445
+ # value returned from the previous request to continue listing results
2446
+ # after the first page.
2447
+ # @return [String]
2448
+ #
2449
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetUsageStatisticsRequest AWS API Documentation
2450
+ #
2451
+ class GetUsageStatisticsRequest < Struct.new(
2452
+ :detector_id,
2453
+ :usage_statistic_type,
2454
+ :usage_criteria,
2455
+ :unit,
2456
+ :max_results,
2457
+ :next_token)
2458
+ SENSITIVE = []
2459
+ include Aws::Structure
2460
+ end
2461
+
2462
+ # @!attribute [rw] usage_statistics
2463
+ # The usage statistics object. If a UsageStatisticType was provided,
2464
+ # the objects representing other types will be null.
2465
+ # @return [Types::UsageStatistics]
2466
+ #
2467
+ # @!attribute [rw] next_token
2468
+ # The pagination parameter to be used on the next list operation to
2469
+ # retrieve more items.
2470
+ # @return [String]
2471
+ #
2472
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetUsageStatisticsResponse AWS API Documentation
2473
+ #
2474
+ class GetUsageStatisticsResponse < Struct.new(
2475
+ :usage_statistics,
2476
+ :next_token)
2477
+ SENSITIVE = []
2478
+ include Aws::Structure
2479
+ end
2480
+
2399
2481
  # Contains information about the EC2 instance profile.
2400
2482
  #
2401
2483
  # @!attribute [rw] arn
@@ -2562,13 +2644,13 @@ module Aws::GuardDuty
2562
2644
  #
2563
2645
  # @!attribute [rw] disable_email_notification
2564
2646
  # A Boolean value that specifies whether you want to disable email
2565
- # notification to the accounts that you’re inviting to GuardDuty as
2647
+ # notification to the accounts that you are inviting to GuardDuty as
2566
2648
  # members.
2567
2649
  # @return [Boolean]
2568
2650
  #
2569
2651
  # @!attribute [rw] message
2570
2652
  # The invitation message that you want to send to the accounts that
2571
- # youre inviting to GuardDuty as members.
2653
+ # you're inviting to GuardDuty as members.
2572
2654
  # @return [String]
2573
2655
  #
2574
2656
  # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/InviteMembersRequest AWS API Documentation
@@ -2763,8 +2845,6 @@ module Aws::GuardDuty
2763
2845
  #
2764
2846
  # * resource.instanceDetails.instanceId
2765
2847
  #
2766
- # * resource.instanceDetails.outpostArn
2767
- #
2768
2848
  # * resource.instanceDetails.networkInterfaces.ipv6Addresses
2769
2849
  #
2770
2850
  # * resource.instanceDetails.networkInterfaces.privateIpAddresses.privateIpAddress
@@ -2815,8 +2895,6 @@ module Aws::GuardDuty
2815
2895
  #
2816
2896
  # * service.action.networkConnectionAction.protocol
2817
2897
  #
2818
- # * service.action.networkConnectionAction.localIpDetails.ipAddressV4
2819
- #
2820
2898
  # * service.action.networkConnectionAction.remoteIpDetails.city.cityName
2821
2899
  #
2822
2900
  # * service.action.networkConnectionAction.remoteIpDetails.country.countryName
@@ -3030,11 +3108,9 @@ module Aws::GuardDuty
3030
3108
  # @return [String]
3031
3109
  #
3032
3110
  # @!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).
3111
+ # Specifies whether to only return associated members or to return all
3112
+ # members (including members who haven't been invited yet or have
3113
+ # been disassociated).
3038
3114
  # @return [String]
3039
3115
  #
3040
3116
  # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ListMembersRequest AWS API Documentation
@@ -4180,6 +4256,26 @@ module Aws::GuardDuty
4180
4256
  include Aws::Structure
4181
4257
  end
4182
4258
 
4259
+ # Contains the total usage with the corresponding currency unit for that
4260
+ # value.
4261
+ #
4262
+ # @!attribute [rw] amount
4263
+ # The total usage.
4264
+ # @return [String]
4265
+ #
4266
+ # @!attribute [rw] unit
4267
+ # The currency unit that the amount is given in.
4268
+ # @return [String]
4269
+ #
4270
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/Total AWS API Documentation
4271
+ #
4272
+ class Total < Struct.new(
4273
+ :amount,
4274
+ :unit)
4275
+ SENSITIVE = []
4276
+ include Aws::Structure
4277
+ end
4278
+
4183
4279
  # @note When making an API call, you may pass UnarchiveFindingsRequest
4184
4280
  # data as a hash:
4185
4281
  #
@@ -4454,7 +4550,8 @@ module Aws::GuardDuty
4454
4550
  # @return [String]
4455
4551
  #
4456
4552
  # @!attribute [rw] location
4457
- # The updated URI of the file that contains the IPSet.
4553
+ # The updated URI of the file that contains the IPSet. For example:
4554
+ # https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key.
4458
4555
  # @return [String]
4459
4556
  #
4460
4557
  # @!attribute [rw] activate
@@ -4633,7 +4730,8 @@ module Aws::GuardDuty
4633
4730
  # @return [String]
4634
4731
  #
4635
4732
  # @!attribute [rw] location
4636
- # The updated URI of the file that contains the ThreateIntelSet.
4733
+ # The updated URI of the file that contains the ThreateIntelSet. For
4734
+ # example: https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key.
4637
4735
  # @return [String]
4638
4736
  #
4639
4737
  # @!attribute [rw] activate
@@ -4657,5 +4755,128 @@ module Aws::GuardDuty
4657
4755
  #
4658
4756
  class UpdateThreatIntelSetResponse < Aws::EmptyStructure; end
4659
4757
 
4758
+ # Contains information on the total of usage based on account IDs.
4759
+ #
4760
+ # @!attribute [rw] account_id
4761
+ # The Account ID that generated usage.
4762
+ # @return [String]
4763
+ #
4764
+ # @!attribute [rw] total
4765
+ # Represents the total of usage for the Account ID.
4766
+ # @return [Types::Total]
4767
+ #
4768
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UsageAccountResult AWS API Documentation
4769
+ #
4770
+ class UsageAccountResult < Struct.new(
4771
+ :account_id,
4772
+ :total)
4773
+ SENSITIVE = []
4774
+ include Aws::Structure
4775
+ end
4776
+
4777
+ # Contains information about the criteria used to query usage
4778
+ # statistics.
4779
+ #
4780
+ # @note When making an API call, you may pass UsageCriteria
4781
+ # data as a hash:
4782
+ #
4783
+ # {
4784
+ # account_ids: ["AccountId"],
4785
+ # data_sources: ["FLOW_LOGS"], # required, accepts FLOW_LOGS, CLOUD_TRAIL, DNS_LOGS, S3_LOGS
4786
+ # resources: ["String"],
4787
+ # }
4788
+ #
4789
+ # @!attribute [rw] account_ids
4790
+ # The account IDs to aggregate usage statistics from.
4791
+ # @return [Array<String>]
4792
+ #
4793
+ # @!attribute [rw] data_sources
4794
+ # The data sources to aggregate usage statistics from.
4795
+ # @return [Array<String>]
4796
+ #
4797
+ # @!attribute [rw] resources
4798
+ # The resources to aggregate usage statistics from. Only accepts exact
4799
+ # resource names.
4800
+ # @return [Array<String>]
4801
+ #
4802
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UsageCriteria AWS API Documentation
4803
+ #
4804
+ class UsageCriteria < Struct.new(
4805
+ :account_ids,
4806
+ :data_sources,
4807
+ :resources)
4808
+ SENSITIVE = []
4809
+ include Aws::Structure
4810
+ end
4811
+
4812
+ # Contains information on the result of usage based on data source type.
4813
+ #
4814
+ # @!attribute [rw] data_source
4815
+ # The data source type that generated usage.
4816
+ # @return [String]
4817
+ #
4818
+ # @!attribute [rw] total
4819
+ # Represents the total of usage for the specified data source.
4820
+ # @return [Types::Total]
4821
+ #
4822
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UsageDataSourceResult AWS API Documentation
4823
+ #
4824
+ class UsageDataSourceResult < Struct.new(
4825
+ :data_source,
4826
+ :total)
4827
+ SENSITIVE = []
4828
+ include Aws::Structure
4829
+ end
4830
+
4831
+ # Contains information on the sum of usage based on an AWS resource.
4832
+ #
4833
+ # @!attribute [rw] resource
4834
+ # The AWS resource that generated usage.
4835
+ # @return [String]
4836
+ #
4837
+ # @!attribute [rw] total
4838
+ # Represents the sum total of usage for the specified resource type.
4839
+ # @return [Types::Total]
4840
+ #
4841
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UsageResourceResult AWS API Documentation
4842
+ #
4843
+ class UsageResourceResult < Struct.new(
4844
+ :resource,
4845
+ :total)
4846
+ SENSITIVE = []
4847
+ include Aws::Structure
4848
+ end
4849
+
4850
+ # Contains the result of GuardDuty usage. If a UsageStatisticType is
4851
+ # provided the result for other types will be null.
4852
+ #
4853
+ # @!attribute [rw] sum_by_account
4854
+ # The usage statistic sum organized by account ID.
4855
+ # @return [Array<Types::UsageAccountResult>]
4856
+ #
4857
+ # @!attribute [rw] sum_by_data_source
4858
+ # The usage statistic sum organized by on data source.
4859
+ # @return [Array<Types::UsageDataSourceResult>]
4860
+ #
4861
+ # @!attribute [rw] sum_by_resource
4862
+ # The usage statistic sum organized by resource.
4863
+ # @return [Array<Types::UsageResourceResult>]
4864
+ #
4865
+ # @!attribute [rw] top_resources
4866
+ # Lists the top 50 resources that have generated the most GuardDuty
4867
+ # usage, in order from most to least expensive.
4868
+ # @return [Array<Types::UsageResourceResult>]
4869
+ #
4870
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UsageStatistics AWS API Documentation
4871
+ #
4872
+ class UsageStatistics < Struct.new(
4873
+ :sum_by_account,
4874
+ :sum_by_data_source,
4875
+ :sum_by_resource,
4876
+ :top_resources)
4877
+ SENSITIVE = []
4878
+ include Aws::Structure
4879
+ end
4880
+
4660
4881
  end
4661
4882
  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.38.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-07-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core