aws-sdk-guardduty 1.34.0 → 1.39.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: 3a333c6baf705d8536f84ad5136f7d64f9e495792fe1164bef8acafaf31dddcd
4
- data.tar.gz: 50b5d7378c910efa29c5542cd9d858f57fedf5d884031afb753381901a79545c
3
+ metadata.gz: a68ed780da1c0f6bb5b79739d86856ccd6406d7f5e4a430d8120ace8ada52f53
4
+ data.tar.gz: 668cc380d150e679e7bca8453c8d026185f6c285b04dcde1565f770be9266d64
5
5
  SHA512:
6
- metadata.gz: 4d6aaecee89faae6e63f8a05dd0c279f7408a70951b6cf69752c3f5204dbfb85e21755ed941b8f7cd309e2edf5c2edc6175094fd8a0a8f20b1e91b906964bcd0
7
- data.tar.gz: '09d0983289499979e531740a2c39fb31793ab66640eb850b12c23e4f6b0c614af9a26403601a1289e8016bfbd0577e9524d70792559d7287953d8eb46f4b970b'
6
+ metadata.gz: 9004a71e17f5a24bbe96ef1169f54616dde02a609031df3ae44b248884e7006d8f490d5a408881d80d016f7f23d4ede95277535375b28390c9f0e76c93bae015
7
+ data.tar.gz: 13f084096cccddcf5984634a57bf41454cae409f21b750fef293eac392159bc7f468251fe823452fb2dffef5e163f4bec20d70614dda6931c41db519596119f2
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # WARNING ABOUT GENERATED CODE
2
4
  #
3
5
  # This file is generated. See the contributing guide for more information:
@@ -42,9 +44,9 @@ require_relative 'aws-sdk-guardduty/customizations'
42
44
  #
43
45
  # See {Errors} for more information.
44
46
  #
45
- # @service
47
+ # @!group service
46
48
  module Aws::GuardDuty
47
49
 
48
- GEM_VERSION = '1.34.0'
50
+ GEM_VERSION = '1.39.0'
49
51
 
50
52
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # WARNING ABOUT GENERATED CODE
2
4
  #
3
5
  # This file is generated. See the contributing guide for more information:
@@ -24,6 +26,7 @@ require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
24
26
  require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
25
27
  require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
26
28
  require 'aws-sdk-core/plugins/transfer_encoding.rb'
29
+ require 'aws-sdk-core/plugins/http_checksum.rb'
27
30
  require 'aws-sdk-core/plugins/signature_v4.rb'
28
31
  require 'aws-sdk-core/plugins/protocols/rest_json.rb'
29
32
 
@@ -69,6 +72,7 @@ module Aws::GuardDuty
69
72
  add_plugin(Aws::Plugins::ClientMetricsPlugin)
70
73
  add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
71
74
  add_plugin(Aws::Plugins::TransferEncoding)
75
+ add_plugin(Aws::Plugins::HttpChecksum)
72
76
  add_plugin(Aws::Plugins::SignatureV4)
73
77
  add_plugin(Aws::Plugins::Protocols::RestJson)
74
78
 
@@ -81,13 +85,28 @@ module Aws::GuardDuty
81
85
  # * `Aws::Credentials` - Used for configuring static, non-refreshing
82
86
  # credentials.
83
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
+ #
84
102
  # * `Aws::InstanceProfileCredentials` - Used for loading credentials
85
103
  # from an EC2 IMDS on an EC2 instance.
86
104
  #
87
- # * `Aws::SharedCredentials` - Used for loading credentials from a
88
- # shared file, such as `~/.aws/config`.
105
+ # * `Aws::ECSCredentials` - Used for loading credentials from
106
+ # instances running in ECS.
89
107
  #
90
- # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
108
+ # * `Aws::CognitoIdentityCredentials` - Used for loading credentials
109
+ # from the Cognito Identity service.
91
110
  #
92
111
  # When `:credentials` are not configured directly, the following
93
112
  # locations will be searched for credentials:
@@ -97,10 +116,10 @@ module Aws::GuardDuty
97
116
  # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
98
117
  # * `~/.aws/credentials`
99
118
  # * `~/.aws/config`
100
- # * EC2 IMDS instance profile - When used by default, the timeouts are
101
- # very aggressive. Construct and pass an instance of
102
- # `Aws::InstanceProfileCredentails` to enable retries and extended
103
- # 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.
104
123
  #
105
124
  # @option options [required, String] :region
106
125
  # The AWS region to connect to. The configured `:region` is
@@ -161,7 +180,7 @@ module Aws::GuardDuty
161
180
  # @option options [String] :endpoint
162
181
  # The client endpoint is normally constructed from the `:region`
163
182
  # option. You should only configure an `:endpoint` when connecting
164
- # to test endpoints. This should be a valid HTTP(S) URI.
183
+ # to test or custom endpoints. This should be a valid HTTP(S) URI.
165
184
  #
166
185
  # @option options [Integer] :endpoint_cache_max_entries (1000)
167
186
  # Used for the maximum size limit of the LRU cache storing endpoints data
@@ -376,7 +395,8 @@ module Aws::GuardDuty
376
395
  # Creates a single Amazon GuardDuty detector. A detector is a resource
377
396
  # that represents the GuardDuty service. To start using GuardDuty, you
378
397
  # must create a detector in each Region where you enable the service.
379
- # 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.
380
400
  #
381
401
  # @option params [required, Boolean] :enable
382
402
  # A Boolean value that specifies whether the detector is to be enabled.
@@ -391,6 +411,10 @@ module Aws::GuardDuty
391
411
  # An enum value that specifies how frequently updated findings are
392
412
  # exported.
393
413
  #
414
+ # @option params [Types::DataSourceConfigurations] :data_sources
415
+ # An object that describes which data sources will be enabled for the
416
+ # detector.
417
+ #
394
418
  # @option params [Hash<String,String>] :tags
395
419
  # The tags to be added to a new detector resource.
396
420
  #
@@ -404,6 +428,11 @@ module Aws::GuardDuty
404
428
  # enable: false, # required
405
429
  # client_token: "ClientToken",
406
430
  # finding_publishing_frequency: "FIFTEEN_MINUTES", # accepts FIFTEEN_MINUTES, ONE_HOUR, SIX_HOURS
431
+ # data_sources: {
432
+ # s3_logs: {
433
+ # enable: false, # required
434
+ # },
435
+ # },
407
436
  # tags: {
408
437
  # "TagKey" => "TagValue",
409
438
  # },
@@ -685,8 +714,22 @@ module Aws::GuardDuty
685
714
  end
686
715
 
687
716
  # Creates member accounts of the current AWS account by specifying a
688
- # list of AWS account IDs. The current AWS account can then invite these
689
- # 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
690
733
  #
691
734
  # @option params [required, String] :detector_id
692
735
  # The unique ID of the detector of the GuardDuty account that you want
@@ -1112,6 +1155,7 @@ module Aws::GuardDuty
1112
1155
  #
1113
1156
  # * {Types::DescribeOrganizationConfigurationResponse#auto_enable #auto_enable} => Boolean
1114
1157
  # * {Types::DescribeOrganizationConfigurationResponse#member_account_limit_reached #member_account_limit_reached} => Boolean
1158
+ # * {Types::DescribeOrganizationConfigurationResponse#data_sources #data_sources} => Types::OrganizationDataSourceConfigurationsResult
1115
1159
  #
1116
1160
  # @example Request syntax with placeholder values
1117
1161
  #
@@ -1123,6 +1167,7 @@ module Aws::GuardDuty
1123
1167
  #
1124
1168
  # resp.auto_enable #=> Boolean
1125
1169
  # resp.member_account_limit_reached #=> Boolean
1170
+ # resp.data_sources.s3_logs.auto_enable #=> Boolean
1126
1171
  #
1127
1172
  # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DescribeOrganizationConfiguration AWS API Documentation
1128
1173
  #
@@ -1296,6 +1341,7 @@ module Aws::GuardDuty
1296
1341
  # * {Types::GetDetectorResponse#service_role #service_role} => String
1297
1342
  # * {Types::GetDetectorResponse#status #status} => String
1298
1343
  # * {Types::GetDetectorResponse#updated_at #updated_at} => String
1344
+ # * {Types::GetDetectorResponse#data_sources #data_sources} => Types::DataSourceConfigurationsResult
1299
1345
  # * {Types::GetDetectorResponse#tags #tags} => Hash&lt;String,String&gt;
1300
1346
  #
1301
1347
  # @example Request syntax with placeholder values
@@ -1311,6 +1357,10 @@ module Aws::GuardDuty
1311
1357
  # resp.service_role #=> String
1312
1358
  # resp.status #=> String, one of "ENABLED", "DISABLED"
1313
1359
  # resp.updated_at #=> String
1360
+ # resp.data_sources.cloud_trail.status #=> String, one of "ENABLED", "DISABLED"
1361
+ # resp.data_sources.dns_logs.status #=> String, one of "ENABLED", "DISABLED"
1362
+ # resp.data_sources.flow_logs.status #=> String, one of "ENABLED", "DISABLED"
1363
+ # resp.data_sources.s3_logs.status #=> String, one of "ENABLED", "DISABLED"
1314
1364
  # resp.tags #=> Hash
1315
1365
  # resp.tags["TagKey"] #=> String
1316
1366
  #
@@ -1708,6 +1758,48 @@ module Aws::GuardDuty
1708
1758
  req.send_request(options)
1709
1759
  end
1710
1760
 
1761
+ # Describes which data sources are enabled for the member account's
1762
+ # detector.
1763
+ #
1764
+ # @option params [required, String] :detector_id
1765
+ # The detector ID for the master account.
1766
+ #
1767
+ # @option params [required, Array<String>] :account_ids
1768
+ # The account ID of the member account.
1769
+ #
1770
+ # @return [Types::GetMemberDetectorsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1771
+ #
1772
+ # * {Types::GetMemberDetectorsResponse#member_data_source_configurations #member_data_source_configurations} => Array&lt;Types::MemberDataSourceConfiguration&gt;
1773
+ # * {Types::GetMemberDetectorsResponse#unprocessed_accounts #unprocessed_accounts} => Array&lt;Types::UnprocessedAccount&gt;
1774
+ #
1775
+ # @example Request syntax with placeholder values
1776
+ #
1777
+ # resp = client.get_member_detectors({
1778
+ # detector_id: "DetectorId", # required
1779
+ # account_ids: ["AccountId"], # required
1780
+ # })
1781
+ #
1782
+ # @example Response structure
1783
+ #
1784
+ # resp.member_data_source_configurations #=> Array
1785
+ # resp.member_data_source_configurations[0].account_id #=> String
1786
+ # resp.member_data_source_configurations[0].data_sources.cloud_trail.status #=> String, one of "ENABLED", "DISABLED"
1787
+ # resp.member_data_source_configurations[0].data_sources.dns_logs.status #=> String, one of "ENABLED", "DISABLED"
1788
+ # resp.member_data_source_configurations[0].data_sources.flow_logs.status #=> String, one of "ENABLED", "DISABLED"
1789
+ # resp.member_data_source_configurations[0].data_sources.s3_logs.status #=> String, one of "ENABLED", "DISABLED"
1790
+ # resp.unprocessed_accounts #=> Array
1791
+ # resp.unprocessed_accounts[0].account_id #=> String
1792
+ # resp.unprocessed_accounts[0].result #=> String
1793
+ #
1794
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetMemberDetectors AWS API Documentation
1795
+ #
1796
+ # @overload get_member_detectors(params = {})
1797
+ # @param [Hash] params ({})
1798
+ def get_member_detectors(params = {}, options = {})
1799
+ req = build_request(:get_member_detectors, params)
1800
+ req.send_request(options)
1801
+ end
1802
+
1711
1803
  # Retrieves GuardDuty member accounts (to the current GuardDuty master
1712
1804
  # account) specified by the account IDs.
1713
1805
  #
@@ -1797,6 +1889,92 @@ module Aws::GuardDuty
1797
1889
  req.send_request(options)
1798
1890
  end
1799
1891
 
1892
+ # Lists Amazon GuardDuty usage statistics over the last 30 days for the
1893
+ # specified detector ID. For newly enabled detectors or data sources the
1894
+ # cost returned will include only the usage so far under 30 days, this
1895
+ # may differ from the cost metrics in the console, which projects usage
1896
+ # over 30 days to provide a monthly cost estimate. For more information
1897
+ # see [Understanding How Usage Costs are Calculated][1].
1898
+ #
1899
+ #
1900
+ #
1901
+ # [1]: https://docs.aws.amazon.com/guardduty/latest/ug/monitoring_costs.html#usage-calculations
1902
+ #
1903
+ # @option params [required, String] :detector_id
1904
+ # The ID of the detector that specifies the GuardDuty service whose
1905
+ # usage statistics you want to retrieve.
1906
+ #
1907
+ # @option params [required, String] :usage_statistic_type
1908
+ # The type of usage statistics to retrieve.
1909
+ #
1910
+ # @option params [required, Types::UsageCriteria] :usage_criteria
1911
+ # Represents the criteria used for querying usage.
1912
+ #
1913
+ # @option params [String] :unit
1914
+ # The currency unit you would like to view your usage statistics in.
1915
+ # Current valid values are USD.
1916
+ #
1917
+ # @option params [Integer] :max_results
1918
+ # The maximum number of results to return in the response.
1919
+ #
1920
+ # @option params [String] :next_token
1921
+ # A token to use for paginating results that are returned in the
1922
+ # response. Set the value of this parameter to null for the first
1923
+ # request to a list action. For subsequent calls, use the NextToken
1924
+ # value returned from the previous request to continue listing results
1925
+ # after the first page.
1926
+ #
1927
+ # @return [Types::GetUsageStatisticsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1928
+ #
1929
+ # * {Types::GetUsageStatisticsResponse#usage_statistics #usage_statistics} => Types::UsageStatistics
1930
+ # * {Types::GetUsageStatisticsResponse#next_token #next_token} => String
1931
+ #
1932
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1933
+ #
1934
+ # @example Request syntax with placeholder values
1935
+ #
1936
+ # resp = client.get_usage_statistics({
1937
+ # detector_id: "DetectorId", # required
1938
+ # usage_statistic_type: "SUM_BY_ACCOUNT", # required, accepts SUM_BY_ACCOUNT, SUM_BY_DATA_SOURCE, SUM_BY_RESOURCE, TOP_RESOURCES
1939
+ # usage_criteria: { # required
1940
+ # account_ids: ["AccountId"],
1941
+ # data_sources: ["FLOW_LOGS"], # required, accepts FLOW_LOGS, CLOUD_TRAIL, DNS_LOGS, S3_LOGS
1942
+ # resources: ["String"],
1943
+ # },
1944
+ # unit: "String",
1945
+ # max_results: 1,
1946
+ # next_token: "String",
1947
+ # })
1948
+ #
1949
+ # @example Response structure
1950
+ #
1951
+ # resp.usage_statistics.sum_by_account #=> Array
1952
+ # resp.usage_statistics.sum_by_account[0].account_id #=> String
1953
+ # resp.usage_statistics.sum_by_account[0].total.amount #=> String
1954
+ # resp.usage_statistics.sum_by_account[0].total.unit #=> String
1955
+ # resp.usage_statistics.sum_by_data_source #=> Array
1956
+ # resp.usage_statistics.sum_by_data_source[0].data_source #=> String, one of "FLOW_LOGS", "CLOUD_TRAIL", "DNS_LOGS", "S3_LOGS"
1957
+ # resp.usage_statistics.sum_by_data_source[0].total.amount #=> String
1958
+ # resp.usage_statistics.sum_by_data_source[0].total.unit #=> String
1959
+ # resp.usage_statistics.sum_by_resource #=> Array
1960
+ # resp.usage_statistics.sum_by_resource[0].resource #=> String
1961
+ # resp.usage_statistics.sum_by_resource[0].total.amount #=> String
1962
+ # resp.usage_statistics.sum_by_resource[0].total.unit #=> String
1963
+ # resp.usage_statistics.top_resources #=> Array
1964
+ # resp.usage_statistics.top_resources[0].resource #=> String
1965
+ # resp.usage_statistics.top_resources[0].total.amount #=> String
1966
+ # resp.usage_statistics.top_resources[0].total.unit #=> String
1967
+ # resp.next_token #=> String
1968
+ #
1969
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetUsageStatistics AWS API Documentation
1970
+ #
1971
+ # @overload get_usage_statistics(params = {})
1972
+ # @param [Hash] params ({})
1973
+ def get_usage_statistics(params = {}, options = {})
1974
+ req = build_request(:get_usage_statistics, params)
1975
+ req.send_request(options)
1976
+ end
1977
+
1800
1978
  # Invites other AWS accounts (created as members of the current AWS
1801
1979
  # account by CreateMembers) to enable GuardDuty, and allow the current
1802
1980
  # AWS account to view and manage these accounts' GuardDuty findings on
@@ -1812,12 +1990,12 @@ module Aws::GuardDuty
1812
1990
  #
1813
1991
  # @option params [Boolean] :disable_email_notification
1814
1992
  # A Boolean value that specifies whether you want to disable email
1815
- # notification to the accounts that you’re inviting to GuardDuty as
1993
+ # notification to the accounts that you are inviting to GuardDuty as
1816
1994
  # members.
1817
1995
  #
1818
1996
  # @option params [String] :message
1819
1997
  # The invitation message that you want to send to the accounts that
1820
- # youre inviting to GuardDuty as members.
1998
+ # you're inviting to GuardDuty as members.
1821
1999
  #
1822
2000
  # @return [Types::InviteMembersResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1823
2001
  #
@@ -2616,6 +2794,9 @@ module Aws::GuardDuty
2616
2794
  # An enum value that specifies how frequently findings are exported,
2617
2795
  # such as to CloudWatch Events.
2618
2796
  #
2797
+ # @option params [Types::DataSourceConfigurations] :data_sources
2798
+ # An object that describes which data sources will be updated.
2799
+ #
2619
2800
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2620
2801
  #
2621
2802
  # @example Request syntax with placeholder values
@@ -2624,6 +2805,11 @@ module Aws::GuardDuty
2624
2805
  # detector_id: "DetectorId", # required
2625
2806
  # enable: false,
2626
2807
  # finding_publishing_frequency: "FIFTEEN_MINUTES", # accepts FIFTEEN_MINUTES, ONE_HOUR, SIX_HOURS
2808
+ # data_sources: {
2809
+ # s3_logs: {
2810
+ # enable: false, # required
2811
+ # },
2812
+ # },
2627
2813
  # })
2628
2814
  #
2629
2815
  # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UpdateDetector AWS API Documentation
@@ -2781,6 +2967,48 @@ module Aws::GuardDuty
2781
2967
  req.send_request(options)
2782
2968
  end
2783
2969
 
2970
+ # Contains information on member accounts to be updated.
2971
+ #
2972
+ # @option params [required, String] :detector_id
2973
+ # The detector ID of the master account.
2974
+ #
2975
+ # @option params [required, Array<String>] :account_ids
2976
+ # A list of member account IDs to be updated.
2977
+ #
2978
+ # @option params [Types::DataSourceConfigurations] :data_sources
2979
+ # An object describes which data sources will be updated.
2980
+ #
2981
+ # @return [Types::UpdateMemberDetectorsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2982
+ #
2983
+ # * {Types::UpdateMemberDetectorsResponse#unprocessed_accounts #unprocessed_accounts} => Array&lt;Types::UnprocessedAccount&gt;
2984
+ #
2985
+ # @example Request syntax with placeholder values
2986
+ #
2987
+ # resp = client.update_member_detectors({
2988
+ # detector_id: "DetectorId", # required
2989
+ # account_ids: ["AccountId"], # required
2990
+ # data_sources: {
2991
+ # s3_logs: {
2992
+ # enable: false, # required
2993
+ # },
2994
+ # },
2995
+ # })
2996
+ #
2997
+ # @example Response structure
2998
+ #
2999
+ # resp.unprocessed_accounts #=> Array
3000
+ # resp.unprocessed_accounts[0].account_id #=> String
3001
+ # resp.unprocessed_accounts[0].result #=> String
3002
+ #
3003
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UpdateMemberDetectors AWS API Documentation
3004
+ #
3005
+ # @overload update_member_detectors(params = {})
3006
+ # @param [Hash] params ({})
3007
+ def update_member_detectors(params = {}, options = {})
3008
+ req = build_request(:update_member_detectors, params)
3009
+ req.send_request(options)
3010
+ end
3011
+
2784
3012
  # Updates the delegated administrator account with the values provided.
2785
3013
  #
2786
3014
  # @option params [required, String] :detector_id
@@ -2790,6 +3018,9 @@ module Aws::GuardDuty
2790
3018
  # Indicates whether to automatically enable member accounts in the
2791
3019
  # organization.
2792
3020
  #
3021
+ # @option params [Types::OrganizationDataSourceConfigurations] :data_sources
3022
+ # An object describes which data sources will be updated.
3023
+ #
2793
3024
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2794
3025
  #
2795
3026
  # @example Request syntax with placeholder values
@@ -2797,6 +3028,11 @@ module Aws::GuardDuty
2797
3028
  # resp = client.update_organization_configuration({
2798
3029
  # detector_id: "DetectorId", # required
2799
3030
  # auto_enable: false, # required
3031
+ # data_sources: {
3032
+ # s3_logs: {
3033
+ # auto_enable: false, # required
3034
+ # },
3035
+ # },
2800
3036
  # })
2801
3037
  #
2802
3038
  # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UpdateOrganizationConfiguration AWS API Documentation
@@ -2900,7 +3136,7 @@ module Aws::GuardDuty
2900
3136
  params: params,
2901
3137
  config: config)
2902
3138
  context[:gem_name] = 'aws-sdk-guardduty'
2903
- context[:gem_version] = '1.34.0'
3139
+ context[:gem_version] = '1.39.0'
2904
3140
  Seahorse::Client::Request.new(handlers, context)
2905
3141
  end
2906
3142
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # WARNING ABOUT GENERATED CODE
2
4
  #
3
5
  # This file is generated. See the contributing guide for more information:
@@ -34,6 +36,7 @@ module Aws::GuardDuty
34
36
  BucketPolicy = Shapes::StructureShape.new(name: 'BucketPolicy')
35
37
  City = Shapes::StructureShape.new(name: 'City')
36
38
  ClientToken = Shapes::StringShape.new(name: 'ClientToken')
39
+ CloudTrailConfigurationResult = Shapes::StructureShape.new(name: 'CloudTrailConfigurationResult')
37
40
  Condition = Shapes::StructureShape.new(name: 'Condition')
38
41
  CountBySeverity = Shapes::MapShape.new(name: 'CountBySeverity')
39
42
  Country = Shapes::StructureShape.new(name: 'Country')
@@ -52,6 +55,12 @@ module Aws::GuardDuty
52
55
  CreateThreatIntelSetRequest = Shapes::StructureShape.new(name: 'CreateThreatIntelSetRequest')
53
56
  CreateThreatIntelSetResponse = Shapes::StructureShape.new(name: 'CreateThreatIntelSetResponse')
54
57
  Criterion = Shapes::MapShape.new(name: 'Criterion')
58
+ DNSLogsConfigurationResult = Shapes::StructureShape.new(name: 'DNSLogsConfigurationResult')
59
+ DataSource = Shapes::StringShape.new(name: 'DataSource')
60
+ DataSourceConfigurations = Shapes::StructureShape.new(name: 'DataSourceConfigurations')
61
+ DataSourceConfigurationsResult = Shapes::StructureShape.new(name: 'DataSourceConfigurationsResult')
62
+ DataSourceList = Shapes::ListShape.new(name: 'DataSourceList')
63
+ DataSourceStatus = Shapes::StringShape.new(name: 'DataSourceStatus')
55
64
  DeclineInvitationsRequest = Shapes::StructureShape.new(name: 'DeclineInvitationsRequest')
56
65
  DeclineInvitationsResponse = Shapes::StructureShape.new(name: 'DeclineInvitationsResponse')
57
66
  DefaultServerSideEncryption = Shapes::StructureShape.new(name: 'DefaultServerSideEncryption')
@@ -112,6 +121,7 @@ module Aws::GuardDuty
112
121
  FindingType = Shapes::StringShape.new(name: 'FindingType')
113
122
  FindingTypes = Shapes::ListShape.new(name: 'FindingTypes')
114
123
  Findings = Shapes::ListShape.new(name: 'Findings')
124
+ FlowLogsConfigurationResult = Shapes::StructureShape.new(name: 'FlowLogsConfigurationResult')
115
125
  GeoLocation = Shapes::StructureShape.new(name: 'GeoLocation')
116
126
  GetDetectorRequest = Shapes::StructureShape.new(name: 'GetDetectorRequest')
117
127
  GetDetectorResponse = Shapes::StructureShape.new(name: 'GetDetectorResponse')
@@ -127,10 +137,14 @@ module Aws::GuardDuty
127
137
  GetInvitationsCountResponse = Shapes::StructureShape.new(name: 'GetInvitationsCountResponse')
128
138
  GetMasterAccountRequest = Shapes::StructureShape.new(name: 'GetMasterAccountRequest')
129
139
  GetMasterAccountResponse = Shapes::StructureShape.new(name: 'GetMasterAccountResponse')
140
+ GetMemberDetectorsRequest = Shapes::StructureShape.new(name: 'GetMemberDetectorsRequest')
141
+ GetMemberDetectorsResponse = Shapes::StructureShape.new(name: 'GetMemberDetectorsResponse')
130
142
  GetMembersRequest = Shapes::StructureShape.new(name: 'GetMembersRequest')
131
143
  GetMembersResponse = Shapes::StructureShape.new(name: 'GetMembersResponse')
132
144
  GetThreatIntelSetRequest = Shapes::StructureShape.new(name: 'GetThreatIntelSetRequest')
133
145
  GetThreatIntelSetResponse = Shapes::StructureShape.new(name: 'GetThreatIntelSetResponse')
146
+ GetUsageStatisticsRequest = Shapes::StructureShape.new(name: 'GetUsageStatisticsRequest')
147
+ GetUsageStatisticsResponse = Shapes::StructureShape.new(name: 'GetUsageStatisticsResponse')
134
148
  GuardDutyArn = Shapes::StringShape.new(name: 'GuardDutyArn')
135
149
  IamInstanceProfile = Shapes::StructureShape.new(name: 'IamInstanceProfile')
136
150
  InstanceDetails = Shapes::StructureShape.new(name: 'InstanceDetails')
@@ -171,6 +185,8 @@ module Aws::GuardDuty
171
185
  Master = Shapes::StructureShape.new(name: 'Master')
172
186
  MaxResults = Shapes::IntegerShape.new(name: 'MaxResults')
173
187
  Member = Shapes::StructureShape.new(name: 'Member')
188
+ MemberDataSourceConfiguration = Shapes::StructureShape.new(name: 'MemberDataSourceConfiguration')
189
+ MemberDataSourceConfigurations = Shapes::ListShape.new(name: 'MemberDataSourceConfigurations')
174
190
  Members = Shapes::ListShape.new(name: 'Members')
175
191
  Name = Shapes::StringShape.new(name: 'Name')
176
192
  Neq = Shapes::ListShape.new(name: 'Neq')
@@ -180,6 +196,10 @@ module Aws::GuardDuty
180
196
  NotEquals = Shapes::ListShape.new(name: 'NotEquals')
181
197
  OrderBy = Shapes::StringShape.new(name: 'OrderBy')
182
198
  Organization = Shapes::StructureShape.new(name: 'Organization')
199
+ OrganizationDataSourceConfigurations = Shapes::StructureShape.new(name: 'OrganizationDataSourceConfigurations')
200
+ OrganizationDataSourceConfigurationsResult = Shapes::StructureShape.new(name: 'OrganizationDataSourceConfigurationsResult')
201
+ OrganizationS3LogsConfiguration = Shapes::StructureShape.new(name: 'OrganizationS3LogsConfiguration')
202
+ OrganizationS3LogsConfigurationResult = Shapes::StructureShape.new(name: 'OrganizationS3LogsConfigurationResult')
183
203
  Owner = Shapes::StructureShape.new(name: 'Owner')
184
204
  PermissionConfiguration = Shapes::StructureShape.new(name: 'PermissionConfiguration')
185
205
  PortProbeAction = Shapes::StructureShape.new(name: 'PortProbeAction')
@@ -194,8 +214,11 @@ module Aws::GuardDuty
194
214
  RemoteIpDetails = Shapes::StructureShape.new(name: 'RemoteIpDetails')
195
215
  RemotePortDetails = Shapes::StructureShape.new(name: 'RemotePortDetails')
196
216
  Resource = Shapes::StructureShape.new(name: 'Resource')
217
+ ResourceList = Shapes::ListShape.new(name: 'ResourceList')
197
218
  S3BucketDetail = Shapes::StructureShape.new(name: 'S3BucketDetail')
198
219
  S3BucketDetails = Shapes::ListShape.new(name: 'S3BucketDetails')
220
+ S3LogsConfiguration = Shapes::StructureShape.new(name: 'S3LogsConfiguration')
221
+ S3LogsConfigurationResult = Shapes::StructureShape.new(name: 'S3LogsConfigurationResult')
199
222
  SecurityGroup = Shapes::StructureShape.new(name: 'SecurityGroup')
200
223
  SecurityGroups = Shapes::ListShape.new(name: 'SecurityGroups')
201
224
  Service = Shapes::StructureShape.new(name: 'Service')
@@ -220,6 +243,7 @@ module Aws::GuardDuty
220
243
  ThreatIntelligenceDetails = Shapes::ListShape.new(name: 'ThreatIntelligenceDetails')
221
244
  ThreatNames = Shapes::ListShape.new(name: 'ThreatNames')
222
245
  Timestamp = Shapes::TimestampShape.new(name: 'Timestamp')
246
+ Total = Shapes::StructureShape.new(name: 'Total')
223
247
  UnarchiveFindingsRequest = Shapes::StructureShape.new(name: 'UnarchiveFindingsRequest')
224
248
  UnarchiveFindingsResponse = Shapes::StructureShape.new(name: 'UnarchiveFindingsResponse')
225
249
  UnprocessedAccount = Shapes::StructureShape.new(name: 'UnprocessedAccount')
@@ -234,12 +258,23 @@ module Aws::GuardDuty
234
258
  UpdateFindingsFeedbackResponse = Shapes::StructureShape.new(name: 'UpdateFindingsFeedbackResponse')
235
259
  UpdateIPSetRequest = Shapes::StructureShape.new(name: 'UpdateIPSetRequest')
236
260
  UpdateIPSetResponse = Shapes::StructureShape.new(name: 'UpdateIPSetResponse')
261
+ UpdateMemberDetectorsRequest = Shapes::StructureShape.new(name: 'UpdateMemberDetectorsRequest')
262
+ UpdateMemberDetectorsResponse = Shapes::StructureShape.new(name: 'UpdateMemberDetectorsResponse')
237
263
  UpdateOrganizationConfigurationRequest = Shapes::StructureShape.new(name: 'UpdateOrganizationConfigurationRequest')
238
264
  UpdateOrganizationConfigurationResponse = Shapes::StructureShape.new(name: 'UpdateOrganizationConfigurationResponse')
239
265
  UpdatePublishingDestinationRequest = Shapes::StructureShape.new(name: 'UpdatePublishingDestinationRequest')
240
266
  UpdatePublishingDestinationResponse = Shapes::StructureShape.new(name: 'UpdatePublishingDestinationResponse')
241
267
  UpdateThreatIntelSetRequest = Shapes::StructureShape.new(name: 'UpdateThreatIntelSetRequest')
242
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')
243
278
 
244
279
  AcceptInvitationRequest.add_member(:detector_id, Shapes::ShapeRef.new(shape: DetectorId, required: true, location: "uri", location_name: "detectorId"))
245
280
  AcceptInvitationRequest.add_member(:master_id, Shapes::ShapeRef.new(shape: String, required: true, location_name: "masterId"))
@@ -317,6 +352,9 @@ module Aws::GuardDuty
317
352
  City.add_member(:city_name, Shapes::ShapeRef.new(shape: String, location_name: "cityName"))
318
353
  City.struct_class = Types::City
319
354
 
355
+ CloudTrailConfigurationResult.add_member(:status, Shapes::ShapeRef.new(shape: DataSourceStatus, required: true, location_name: "status"))
356
+ CloudTrailConfigurationResult.struct_class = Types::CloudTrailConfigurationResult
357
+
320
358
  Condition.add_member(:eq, Shapes::ShapeRef.new(shape: Eq, deprecated: true, location_name: "eq"))
321
359
  Condition.add_member(:neq, Shapes::ShapeRef.new(shape: Neq, deprecated: true, location_name: "neq"))
322
360
  Condition.add_member(:gt, Shapes::ShapeRef.new(shape: Integer, deprecated: true, location_name: "gt"))
@@ -341,6 +379,7 @@ module Aws::GuardDuty
341
379
  CreateDetectorRequest.add_member(:enable, Shapes::ShapeRef.new(shape: Boolean, required: true, location_name: "enable"))
342
380
  CreateDetectorRequest.add_member(:client_token, Shapes::ShapeRef.new(shape: ClientToken, location_name: "clientToken", metadata: {"idempotencyToken"=>true}))
343
381
  CreateDetectorRequest.add_member(:finding_publishing_frequency, Shapes::ShapeRef.new(shape: FindingPublishingFrequency, location_name: "findingPublishingFrequency"))
382
+ CreateDetectorRequest.add_member(:data_sources, Shapes::ShapeRef.new(shape: DataSourceConfigurations, location_name: "dataSources"))
344
383
  CreateDetectorRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "tags"))
345
384
  CreateDetectorRequest.struct_class = Types::CreateDetectorRequest
346
385
 
@@ -409,6 +448,20 @@ module Aws::GuardDuty
409
448
  Criterion.key = Shapes::ShapeRef.new(shape: String)
410
449
  Criterion.value = Shapes::ShapeRef.new(shape: Condition)
411
450
 
451
+ DNSLogsConfigurationResult.add_member(:status, Shapes::ShapeRef.new(shape: DataSourceStatus, required: true, location_name: "status"))
452
+ DNSLogsConfigurationResult.struct_class = Types::DNSLogsConfigurationResult
453
+
454
+ DataSourceConfigurations.add_member(:s3_logs, Shapes::ShapeRef.new(shape: S3LogsConfiguration, location_name: "s3Logs"))
455
+ DataSourceConfigurations.struct_class = Types::DataSourceConfigurations
456
+
457
+ DataSourceConfigurationsResult.add_member(:cloud_trail, Shapes::ShapeRef.new(shape: CloudTrailConfigurationResult, required: true, location_name: "cloudTrail"))
458
+ DataSourceConfigurationsResult.add_member(:dns_logs, Shapes::ShapeRef.new(shape: DNSLogsConfigurationResult, required: true, location_name: "dnsLogs"))
459
+ DataSourceConfigurationsResult.add_member(:flow_logs, Shapes::ShapeRef.new(shape: FlowLogsConfigurationResult, required: true, location_name: "flowLogs"))
460
+ DataSourceConfigurationsResult.add_member(:s3_logs, Shapes::ShapeRef.new(shape: S3LogsConfigurationResult, required: true, location_name: "s3Logs"))
461
+ DataSourceConfigurationsResult.struct_class = Types::DataSourceConfigurationsResult
462
+
463
+ DataSourceList.member = Shapes::ShapeRef.new(shape: DataSource)
464
+
412
465
  DeclineInvitationsRequest.add_member(:account_ids, Shapes::ShapeRef.new(shape: AccountIds, required: true, location_name: "accountIds"))
413
466
  DeclineInvitationsRequest.struct_class = Types::DeclineInvitationsRequest
414
467
 
@@ -466,6 +519,7 @@ module Aws::GuardDuty
466
519
 
467
520
  DescribeOrganizationConfigurationResponse.add_member(:auto_enable, Shapes::ShapeRef.new(shape: Boolean, required: true, location_name: "autoEnable"))
468
521
  DescribeOrganizationConfigurationResponse.add_member(:member_account_limit_reached, Shapes::ShapeRef.new(shape: Boolean, required: true, location_name: "memberAccountLimitReached"))
522
+ DescribeOrganizationConfigurationResponse.add_member(:data_sources, Shapes::ShapeRef.new(shape: OrganizationDataSourceConfigurationsResult, location_name: "dataSources"))
469
523
  DescribeOrganizationConfigurationResponse.struct_class = Types::DescribeOrganizationConfigurationResponse
470
524
 
471
525
  DescribePublishingDestinationRequest.add_member(:detector_id, Shapes::ShapeRef.new(shape: DetectorId, required: true, location: "uri", location_name: "detectorId"))
@@ -560,6 +614,9 @@ module Aws::GuardDuty
560
614
 
561
615
  Findings.member = Shapes::ShapeRef.new(shape: Finding)
562
616
 
617
+ FlowLogsConfigurationResult.add_member(:status, Shapes::ShapeRef.new(shape: DataSourceStatus, required: true, location_name: "status"))
618
+ FlowLogsConfigurationResult.struct_class = Types::FlowLogsConfigurationResult
619
+
563
620
  GeoLocation.add_member(:lat, Shapes::ShapeRef.new(shape: Double, location_name: "lat"))
564
621
  GeoLocation.add_member(:lon, Shapes::ShapeRef.new(shape: Double, location_name: "lon"))
565
622
  GeoLocation.struct_class = Types::GeoLocation
@@ -572,6 +629,7 @@ module Aws::GuardDuty
572
629
  GetDetectorResponse.add_member(:service_role, Shapes::ShapeRef.new(shape: String, required: true, location_name: "serviceRole"))
573
630
  GetDetectorResponse.add_member(:status, Shapes::ShapeRef.new(shape: DetectorStatus, required: true, location_name: "status"))
574
631
  GetDetectorResponse.add_member(:updated_at, Shapes::ShapeRef.new(shape: String, location_name: "updatedAt"))
632
+ GetDetectorResponse.add_member(:data_sources, Shapes::ShapeRef.new(shape: DataSourceConfigurationsResult, location_name: "dataSources"))
575
633
  GetDetectorResponse.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "tags"))
576
634
  GetDetectorResponse.struct_class = Types::GetDetectorResponse
577
635
 
@@ -625,6 +683,14 @@ module Aws::GuardDuty
625
683
  GetMasterAccountResponse.add_member(:master, Shapes::ShapeRef.new(shape: Master, required: true, location_name: "master"))
626
684
  GetMasterAccountResponse.struct_class = Types::GetMasterAccountResponse
627
685
 
686
+ GetMemberDetectorsRequest.add_member(:detector_id, Shapes::ShapeRef.new(shape: DetectorId, required: true, location: "uri", location_name: "detectorId"))
687
+ GetMemberDetectorsRequest.add_member(:account_ids, Shapes::ShapeRef.new(shape: AccountIds, required: true, location_name: "accountIds"))
688
+ GetMemberDetectorsRequest.struct_class = Types::GetMemberDetectorsRequest
689
+
690
+ GetMemberDetectorsResponse.add_member(:member_data_source_configurations, Shapes::ShapeRef.new(shape: MemberDataSourceConfigurations, required: true, location_name: "members"))
691
+ GetMemberDetectorsResponse.add_member(:unprocessed_accounts, Shapes::ShapeRef.new(shape: UnprocessedAccounts, required: true, location_name: "unprocessedAccounts"))
692
+ GetMemberDetectorsResponse.struct_class = Types::GetMemberDetectorsResponse
693
+
628
694
  GetMembersRequest.add_member(:detector_id, Shapes::ShapeRef.new(shape: DetectorId, required: true, location: "uri", location_name: "detectorId"))
629
695
  GetMembersRequest.add_member(:account_ids, Shapes::ShapeRef.new(shape: AccountIds, required: true, location_name: "accountIds"))
630
696
  GetMembersRequest.struct_class = Types::GetMembersRequest
@@ -644,6 +710,18 @@ module Aws::GuardDuty
644
710
  GetThreatIntelSetResponse.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "tags"))
645
711
  GetThreatIntelSetResponse.struct_class = Types::GetThreatIntelSetResponse
646
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
+
647
725
  IamInstanceProfile.add_member(:arn, Shapes::ShapeRef.new(shape: String, location_name: "arn"))
648
726
  IamInstanceProfile.add_member(:id, Shapes::ShapeRef.new(shape: String, location_name: "id"))
649
727
  IamInstanceProfile.struct_class = Types::IamInstanceProfile
@@ -797,6 +875,12 @@ module Aws::GuardDuty
797
875
  Member.add_member(:updated_at, Shapes::ShapeRef.new(shape: String, required: true, location_name: "updatedAt"))
798
876
  Member.struct_class = Types::Member
799
877
 
878
+ MemberDataSourceConfiguration.add_member(:account_id, Shapes::ShapeRef.new(shape: AccountId, required: true, location_name: "accountId"))
879
+ MemberDataSourceConfiguration.add_member(:data_sources, Shapes::ShapeRef.new(shape: DataSourceConfigurationsResult, required: true, location_name: "dataSources"))
880
+ MemberDataSourceConfiguration.struct_class = Types::MemberDataSourceConfiguration
881
+
882
+ MemberDataSourceConfigurations.member = Shapes::ShapeRef.new(shape: MemberDataSourceConfiguration)
883
+
800
884
  Members.member = Shapes::ShapeRef.new(shape: Member)
801
885
 
802
886
  Neq.member = Shapes::ShapeRef.new(shape: String)
@@ -832,6 +916,18 @@ module Aws::GuardDuty
832
916
  Organization.add_member(:org, Shapes::ShapeRef.new(shape: String, location_name: "org"))
833
917
  Organization.struct_class = Types::Organization
834
918
 
919
+ OrganizationDataSourceConfigurations.add_member(:s3_logs, Shapes::ShapeRef.new(shape: OrganizationS3LogsConfiguration, location_name: "s3Logs"))
920
+ OrganizationDataSourceConfigurations.struct_class = Types::OrganizationDataSourceConfigurations
921
+
922
+ OrganizationDataSourceConfigurationsResult.add_member(:s3_logs, Shapes::ShapeRef.new(shape: OrganizationS3LogsConfigurationResult, required: true, location_name: "s3Logs"))
923
+ OrganizationDataSourceConfigurationsResult.struct_class = Types::OrganizationDataSourceConfigurationsResult
924
+
925
+ OrganizationS3LogsConfiguration.add_member(:auto_enable, Shapes::ShapeRef.new(shape: Boolean, required: true, location_name: "autoEnable"))
926
+ OrganizationS3LogsConfiguration.struct_class = Types::OrganizationS3LogsConfiguration
927
+
928
+ OrganizationS3LogsConfigurationResult.add_member(:auto_enable, Shapes::ShapeRef.new(shape: Boolean, required: true, location_name: "autoEnable"))
929
+ OrganizationS3LogsConfigurationResult.struct_class = Types::OrganizationS3LogsConfigurationResult
930
+
835
931
  Owner.add_member(:id, Shapes::ShapeRef.new(shape: String, location_name: "id"))
836
932
  Owner.struct_class = Types::Owner
837
933
 
@@ -883,6 +979,8 @@ module Aws::GuardDuty
883
979
  Resource.add_member(:resource_type, Shapes::ShapeRef.new(shape: String, location_name: "resourceType"))
884
980
  Resource.struct_class = Types::Resource
885
981
 
982
+ ResourceList.member = Shapes::ShapeRef.new(shape: String)
983
+
886
984
  S3BucketDetail.add_member(:arn, Shapes::ShapeRef.new(shape: String, location_name: "arn"))
887
985
  S3BucketDetail.add_member(:name, Shapes::ShapeRef.new(shape: String, location_name: "name"))
888
986
  S3BucketDetail.add_member(:type, Shapes::ShapeRef.new(shape: String, location_name: "type"))
@@ -895,6 +993,12 @@ module Aws::GuardDuty
895
993
 
896
994
  S3BucketDetails.member = Shapes::ShapeRef.new(shape: S3BucketDetail)
897
995
 
996
+ S3LogsConfiguration.add_member(:enable, Shapes::ShapeRef.new(shape: Boolean, required: true, location_name: "enable"))
997
+ S3LogsConfiguration.struct_class = Types::S3LogsConfiguration
998
+
999
+ S3LogsConfigurationResult.add_member(:status, Shapes::ShapeRef.new(shape: DataSourceStatus, required: true, location_name: "status"))
1000
+ S3LogsConfigurationResult.struct_class = Types::S3LogsConfigurationResult
1001
+
898
1002
  SecurityGroup.add_member(:group_id, Shapes::ShapeRef.new(shape: String, location_name: "groupId"))
899
1003
  SecurityGroup.add_member(:group_name, Shapes::ShapeRef.new(shape: String, location_name: "groupName"))
900
1004
  SecurityGroup.struct_class = Types::SecurityGroup
@@ -958,6 +1062,10 @@ module Aws::GuardDuty
958
1062
 
959
1063
  ThreatNames.member = Shapes::ShapeRef.new(shape: String)
960
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
+
961
1069
  UnarchiveFindingsRequest.add_member(:detector_id, Shapes::ShapeRef.new(shape: DetectorId, required: true, location: "uri", location_name: "detectorId"))
962
1070
  UnarchiveFindingsRequest.add_member(:finding_ids, Shapes::ShapeRef.new(shape: FindingIds, required: true, location_name: "findingIds"))
963
1071
  UnarchiveFindingsRequest.struct_class = Types::UnarchiveFindingsRequest
@@ -979,6 +1087,7 @@ module Aws::GuardDuty
979
1087
  UpdateDetectorRequest.add_member(:detector_id, Shapes::ShapeRef.new(shape: DetectorId, required: true, location: "uri", location_name: "detectorId"))
980
1088
  UpdateDetectorRequest.add_member(:enable, Shapes::ShapeRef.new(shape: Boolean, location_name: "enable"))
981
1089
  UpdateDetectorRequest.add_member(:finding_publishing_frequency, Shapes::ShapeRef.new(shape: FindingPublishingFrequency, location_name: "findingPublishingFrequency"))
1090
+ UpdateDetectorRequest.add_member(:data_sources, Shapes::ShapeRef.new(shape: DataSourceConfigurations, location_name: "dataSources"))
982
1091
  UpdateDetectorRequest.struct_class = Types::UpdateDetectorRequest
983
1092
 
984
1093
  UpdateDetectorResponse.struct_class = Types::UpdateDetectorResponse
@@ -1011,8 +1120,17 @@ module Aws::GuardDuty
1011
1120
 
1012
1121
  UpdateIPSetResponse.struct_class = Types::UpdateIPSetResponse
1013
1122
 
1123
+ UpdateMemberDetectorsRequest.add_member(:detector_id, Shapes::ShapeRef.new(shape: DetectorId, required: true, location: "uri", location_name: "detectorId"))
1124
+ UpdateMemberDetectorsRequest.add_member(:account_ids, Shapes::ShapeRef.new(shape: AccountIds, required: true, location_name: "accountIds"))
1125
+ UpdateMemberDetectorsRequest.add_member(:data_sources, Shapes::ShapeRef.new(shape: DataSourceConfigurations, location_name: "dataSources"))
1126
+ UpdateMemberDetectorsRequest.struct_class = Types::UpdateMemberDetectorsRequest
1127
+
1128
+ UpdateMemberDetectorsResponse.add_member(:unprocessed_accounts, Shapes::ShapeRef.new(shape: UnprocessedAccounts, required: true, location_name: "unprocessedAccounts"))
1129
+ UpdateMemberDetectorsResponse.struct_class = Types::UpdateMemberDetectorsResponse
1130
+
1014
1131
  UpdateOrganizationConfigurationRequest.add_member(:detector_id, Shapes::ShapeRef.new(shape: DetectorId, required: true, location: "uri", location_name: "detectorId"))
1015
1132
  UpdateOrganizationConfigurationRequest.add_member(:auto_enable, Shapes::ShapeRef.new(shape: Boolean, required: true, location_name: "autoEnable"))
1133
+ UpdateOrganizationConfigurationRequest.add_member(:data_sources, Shapes::ShapeRef.new(shape: OrganizationDataSourceConfigurations, location_name: "dataSources"))
1016
1134
  UpdateOrganizationConfigurationRequest.struct_class = Types::UpdateOrganizationConfigurationRequest
1017
1135
 
1018
1136
  UpdateOrganizationConfigurationResponse.struct_class = Types::UpdateOrganizationConfigurationResponse
@@ -1033,6 +1151,35 @@ module Aws::GuardDuty
1033
1151
 
1034
1152
  UpdateThreatIntelSetResponse.struct_class = Types::UpdateThreatIntelSetResponse
1035
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
+
1036
1183
 
1037
1184
  # @api private
1038
1185
  API = Seahorse::Model::Api.new.tap do |api|
@@ -1351,6 +1498,16 @@ module Aws::GuardDuty
1351
1498
  o.errors << Shapes::ShapeRef.new(shape: InternalServerErrorException)
1352
1499
  end)
1353
1500
 
1501
+ api.add_operation(:get_member_detectors, Seahorse::Model::Operation.new.tap do |o|
1502
+ o.name = "GetMemberDetectors"
1503
+ o.http_method = "POST"
1504
+ o.http_request_uri = "/detector/{detectorId}/member/detector/get"
1505
+ o.input = Shapes::ShapeRef.new(shape: GetMemberDetectorsRequest)
1506
+ o.output = Shapes::ShapeRef.new(shape: GetMemberDetectorsResponse)
1507
+ o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
1508
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerErrorException)
1509
+ end)
1510
+
1354
1511
  api.add_operation(:get_members, Seahorse::Model::Operation.new.tap do |o|
1355
1512
  o.name = "GetMembers"
1356
1513
  o.http_method = "POST"
@@ -1371,6 +1528,22 @@ module Aws::GuardDuty
1371
1528
  o.errors << Shapes::ShapeRef.new(shape: InternalServerErrorException)
1372
1529
  end)
1373
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
+
1374
1547
  api.add_operation(:invite_members, Seahorse::Model::Operation.new.tap do |o|
1375
1548
  o.name = "InviteMembers"
1376
1549
  o.http_method = "POST"
@@ -1625,6 +1798,16 @@ module Aws::GuardDuty
1625
1798
  o.errors << Shapes::ShapeRef.new(shape: InternalServerErrorException)
1626
1799
  end)
1627
1800
 
1801
+ api.add_operation(:update_member_detectors, Seahorse::Model::Operation.new.tap do |o|
1802
+ o.name = "UpdateMemberDetectors"
1803
+ o.http_method = "POST"
1804
+ o.http_request_uri = "/detector/{detectorId}/member/detector/update"
1805
+ o.input = Shapes::ShapeRef.new(shape: UpdateMemberDetectorsRequest)
1806
+ o.output = Shapes::ShapeRef.new(shape: UpdateMemberDetectorsResponse)
1807
+ o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
1808
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerErrorException)
1809
+ end)
1810
+
1628
1811
  api.add_operation(:update_organization_configuration, Seahorse::Model::Operation.new.tap do |o|
1629
1812
  o.name = "UpdateOrganizationConfiguration"
1630
1813
  o.http_method = "POST"