aws-sdk-guardduty 1.37.0 → 1.38.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: 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