aws-sdk-guardduty 1.35.1 → 1.40.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: 8eff2859a16e01960d8fc96ff79bf0708654a4acffef3d614779f67ace8524c1
4
- data.tar.gz: '039e5deba9bc98a62e2cb6cc1b8d05a11c66ef33e78802aa5adf3b011e8ee5ad'
3
+ metadata.gz: 425dc70d854ceb12718b2d40a6837f94f1c338690796813915ce9fc89855113a
4
+ data.tar.gz: 8059e9f22e06c76bc38de1a3ff67780563f618623f6669dec2fddba6112a1ea2
5
5
  SHA512:
6
- metadata.gz: 6695fe0941cefc0c9d86d00cb21c8bc46922ec959be36a4e9e6397f8a959fc31e37e55c688f580208f2dfe677de4a7bb42a7e3ce6f7da31201d14765a5975dfb
7
- data.tar.gz: 583b6e76f3182210ec1e6d7243a8a87138a5a07e7992aab97c6755453ff371063c28d6966a5dfa49afa9d123717c2f44523299ead6a4c63786020e062c001ce2
6
+ metadata.gz: d7ed9bb5d82948973e48d38d429f64d7cbc67528360722b8311b97cc8bf10a9087038fdab7ab60c65c17ea4b8195aa0209d5cb1f6045f2fb66b471cb110079b5
7
+ data.tar.gz: 6239acd12842d9d6fc8fcddefd83f396a255eb88623a4a11f377ac099d8784274b50a239cac6b0eff2657bba81e7ef279183a127be04b49e2a1767e25abca1fa
@@ -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.35.1'
50
+ GEM_VERSION = '1.40.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:
@@ -83,13 +85,28 @@ module Aws::GuardDuty
83
85
  # * `Aws::Credentials` - Used for configuring static, non-refreshing
84
86
  # credentials.
85
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
+ #
86
102
  # * `Aws::InstanceProfileCredentials` - Used for loading credentials
87
103
  # from an EC2 IMDS on an EC2 instance.
88
104
  #
89
- # * `Aws::SharedCredentials` - Used for loading credentials from a
90
- # shared file, such as `~/.aws/config`.
105
+ # * `Aws::ECSCredentials` - Used for loading credentials from
106
+ # instances running in ECS.
91
107
  #
92
- # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
108
+ # * `Aws::CognitoIdentityCredentials` - Used for loading credentials
109
+ # from the Cognito Identity service.
93
110
  #
94
111
  # When `:credentials` are not configured directly, the following
95
112
  # locations will be searched for credentials:
@@ -99,10 +116,10 @@ module Aws::GuardDuty
99
116
  # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
100
117
  # * `~/.aws/credentials`
101
118
  # * `~/.aws/config`
102
- # * EC2 IMDS instance profile - When used by default, the timeouts are
103
- # very aggressive. Construct and pass an instance of
104
- # `Aws::InstanceProfileCredentails` to enable retries and extended
105
- # 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.
106
123
  #
107
124
  # @option options [required, String] :region
108
125
  # The AWS region to connect to. The configured `:region` is
@@ -378,7 +395,8 @@ module Aws::GuardDuty
378
395
  # Creates a single Amazon GuardDuty detector. A detector is a resource
379
396
  # that represents the GuardDuty service. To start using GuardDuty, you
380
397
  # must create a detector in each Region where you enable the service.
381
- # 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.
382
400
  #
383
401
  # @option params [required, Boolean] :enable
384
402
  # A Boolean value that specifies whether the detector is to be enabled.
@@ -393,6 +411,10 @@ module Aws::GuardDuty
393
411
  # An enum value that specifies how frequently updated findings are
394
412
  # exported.
395
413
  #
414
+ # @option params [Types::DataSourceConfigurations] :data_sources
415
+ # An object that describes which data sources will be enabled for the
416
+ # detector.
417
+ #
396
418
  # @option params [Hash<String,String>] :tags
397
419
  # The tags to be added to a new detector resource.
398
420
  #
@@ -406,6 +428,11 @@ module Aws::GuardDuty
406
428
  # enable: false, # required
407
429
  # client_token: "ClientToken",
408
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
+ # },
409
436
  # tags: {
410
437
  # "TagKey" => "TagValue",
411
438
  # },
@@ -687,8 +714,22 @@ module Aws::GuardDuty
687
714
  end
688
715
 
689
716
  # Creates member accounts of the current AWS account by specifying a
690
- # list of AWS account IDs. The current AWS account can then invite these
691
- # 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
692
733
  #
693
734
  # @option params [required, String] :detector_id
694
735
  # The unique ID of the detector of the GuardDuty account that you want
@@ -1114,6 +1155,7 @@ module Aws::GuardDuty
1114
1155
  #
1115
1156
  # * {Types::DescribeOrganizationConfigurationResponse#auto_enable #auto_enable} => Boolean
1116
1157
  # * {Types::DescribeOrganizationConfigurationResponse#member_account_limit_reached #member_account_limit_reached} => Boolean
1158
+ # * {Types::DescribeOrganizationConfigurationResponse#data_sources #data_sources} => Types::OrganizationDataSourceConfigurationsResult
1117
1159
  #
1118
1160
  # @example Request syntax with placeholder values
1119
1161
  #
@@ -1125,6 +1167,7 @@ module Aws::GuardDuty
1125
1167
  #
1126
1168
  # resp.auto_enable #=> Boolean
1127
1169
  # resp.member_account_limit_reached #=> Boolean
1170
+ # resp.data_sources.s3_logs.auto_enable #=> Boolean
1128
1171
  #
1129
1172
  # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DescribeOrganizationConfiguration AWS API Documentation
1130
1173
  #
@@ -1298,6 +1341,7 @@ module Aws::GuardDuty
1298
1341
  # * {Types::GetDetectorResponse#service_role #service_role} => String
1299
1342
  # * {Types::GetDetectorResponse#status #status} => String
1300
1343
  # * {Types::GetDetectorResponse#updated_at #updated_at} => String
1344
+ # * {Types::GetDetectorResponse#data_sources #data_sources} => Types::DataSourceConfigurationsResult
1301
1345
  # * {Types::GetDetectorResponse#tags #tags} => Hash&lt;String,String&gt;
1302
1346
  #
1303
1347
  # @example Request syntax with placeholder values
@@ -1313,6 +1357,10 @@ module Aws::GuardDuty
1313
1357
  # resp.service_role #=> String
1314
1358
  # resp.status #=> String, one of "ENABLED", "DISABLED"
1315
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"
1316
1364
  # resp.tags #=> Hash
1317
1365
  # resp.tags["TagKey"] #=> String
1318
1366
  #
@@ -1489,6 +1537,7 @@ module Aws::GuardDuty
1489
1537
  # resp.findings[0].service.action.aws_api_call_action.api #=> String
1490
1538
  # resp.findings[0].service.action.aws_api_call_action.caller_type #=> String
1491
1539
  # resp.findings[0].service.action.aws_api_call_action.domain_details.domain #=> String
1540
+ # resp.findings[0].service.action.aws_api_call_action.error_code #=> String
1492
1541
  # resp.findings[0].service.action.aws_api_call_action.remote_ip_details.city.city_name #=> String
1493
1542
  # resp.findings[0].service.action.aws_api_call_action.remote_ip_details.country.country_code #=> String
1494
1543
  # resp.findings[0].service.action.aws_api_call_action.remote_ip_details.country.country_name #=> String
@@ -1710,6 +1759,48 @@ module Aws::GuardDuty
1710
1759
  req.send_request(options)
1711
1760
  end
1712
1761
 
1762
+ # Describes which data sources are enabled for the member account's
1763
+ # detector.
1764
+ #
1765
+ # @option params [required, String] :detector_id
1766
+ # The detector ID for the master account.
1767
+ #
1768
+ # @option params [required, Array<String>] :account_ids
1769
+ # The account ID of the member account.
1770
+ #
1771
+ # @return [Types::GetMemberDetectorsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1772
+ #
1773
+ # * {Types::GetMemberDetectorsResponse#member_data_source_configurations #member_data_source_configurations} => Array&lt;Types::MemberDataSourceConfiguration&gt;
1774
+ # * {Types::GetMemberDetectorsResponse#unprocessed_accounts #unprocessed_accounts} => Array&lt;Types::UnprocessedAccount&gt;
1775
+ #
1776
+ # @example Request syntax with placeholder values
1777
+ #
1778
+ # resp = client.get_member_detectors({
1779
+ # detector_id: "DetectorId", # required
1780
+ # account_ids: ["AccountId"], # required
1781
+ # })
1782
+ #
1783
+ # @example Response structure
1784
+ #
1785
+ # resp.member_data_source_configurations #=> Array
1786
+ # resp.member_data_source_configurations[0].account_id #=> String
1787
+ # resp.member_data_source_configurations[0].data_sources.cloud_trail.status #=> String, one of "ENABLED", "DISABLED"
1788
+ # resp.member_data_source_configurations[0].data_sources.dns_logs.status #=> String, one of "ENABLED", "DISABLED"
1789
+ # resp.member_data_source_configurations[0].data_sources.flow_logs.status #=> String, one of "ENABLED", "DISABLED"
1790
+ # resp.member_data_source_configurations[0].data_sources.s3_logs.status #=> String, one of "ENABLED", "DISABLED"
1791
+ # resp.unprocessed_accounts #=> Array
1792
+ # resp.unprocessed_accounts[0].account_id #=> String
1793
+ # resp.unprocessed_accounts[0].result #=> String
1794
+ #
1795
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetMemberDetectors AWS API Documentation
1796
+ #
1797
+ # @overload get_member_detectors(params = {})
1798
+ # @param [Hash] params ({})
1799
+ def get_member_detectors(params = {}, options = {})
1800
+ req = build_request(:get_member_detectors, params)
1801
+ req.send_request(options)
1802
+ end
1803
+
1713
1804
  # Retrieves GuardDuty member accounts (to the current GuardDuty master
1714
1805
  # account) specified by the account IDs.
1715
1806
  #
@@ -1799,6 +1890,92 @@ module Aws::GuardDuty
1799
1890
  req.send_request(options)
1800
1891
  end
1801
1892
 
1893
+ # Lists Amazon GuardDuty usage statistics over the last 30 days for the
1894
+ # specified detector ID. For newly enabled detectors or data sources the
1895
+ # cost returned will include only the usage so far under 30 days, this
1896
+ # may differ from the cost metrics in the console, which projects usage
1897
+ # over 30 days to provide a monthly cost estimate. For more information
1898
+ # see [Understanding How Usage Costs are Calculated][1].
1899
+ #
1900
+ #
1901
+ #
1902
+ # [1]: https://docs.aws.amazon.com/guardduty/latest/ug/monitoring_costs.html#usage-calculations
1903
+ #
1904
+ # @option params [required, String] :detector_id
1905
+ # The ID of the detector that specifies the GuardDuty service whose
1906
+ # usage statistics you want to retrieve.
1907
+ #
1908
+ # @option params [required, String] :usage_statistic_type
1909
+ # The type of usage statistics to retrieve.
1910
+ #
1911
+ # @option params [required, Types::UsageCriteria] :usage_criteria
1912
+ # Represents the criteria used for querying usage.
1913
+ #
1914
+ # @option params [String] :unit
1915
+ # The currency unit you would like to view your usage statistics in.
1916
+ # Current valid values are USD.
1917
+ #
1918
+ # @option params [Integer] :max_results
1919
+ # The maximum number of results to return in the response.
1920
+ #
1921
+ # @option params [String] :next_token
1922
+ # A token to use for paginating results that are returned in the
1923
+ # response. Set the value of this parameter to null for the first
1924
+ # request to a list action. For subsequent calls, use the NextToken
1925
+ # value returned from the previous request to continue listing results
1926
+ # after the first page.
1927
+ #
1928
+ # @return [Types::GetUsageStatisticsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1929
+ #
1930
+ # * {Types::GetUsageStatisticsResponse#usage_statistics #usage_statistics} => Types::UsageStatistics
1931
+ # * {Types::GetUsageStatisticsResponse#next_token #next_token} => String
1932
+ #
1933
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1934
+ #
1935
+ # @example Request syntax with placeholder values
1936
+ #
1937
+ # resp = client.get_usage_statistics({
1938
+ # detector_id: "DetectorId", # required
1939
+ # usage_statistic_type: "SUM_BY_ACCOUNT", # required, accepts SUM_BY_ACCOUNT, SUM_BY_DATA_SOURCE, SUM_BY_RESOURCE, TOP_RESOURCES
1940
+ # usage_criteria: { # required
1941
+ # account_ids: ["AccountId"],
1942
+ # data_sources: ["FLOW_LOGS"], # required, accepts FLOW_LOGS, CLOUD_TRAIL, DNS_LOGS, S3_LOGS
1943
+ # resources: ["String"],
1944
+ # },
1945
+ # unit: "String",
1946
+ # max_results: 1,
1947
+ # next_token: "String",
1948
+ # })
1949
+ #
1950
+ # @example Response structure
1951
+ #
1952
+ # resp.usage_statistics.sum_by_account #=> Array
1953
+ # resp.usage_statistics.sum_by_account[0].account_id #=> String
1954
+ # resp.usage_statistics.sum_by_account[0].total.amount #=> String
1955
+ # resp.usage_statistics.sum_by_account[0].total.unit #=> String
1956
+ # resp.usage_statistics.sum_by_data_source #=> Array
1957
+ # resp.usage_statistics.sum_by_data_source[0].data_source #=> String, one of "FLOW_LOGS", "CLOUD_TRAIL", "DNS_LOGS", "S3_LOGS"
1958
+ # resp.usage_statistics.sum_by_data_source[0].total.amount #=> String
1959
+ # resp.usage_statistics.sum_by_data_source[0].total.unit #=> String
1960
+ # resp.usage_statistics.sum_by_resource #=> Array
1961
+ # resp.usage_statistics.sum_by_resource[0].resource #=> String
1962
+ # resp.usage_statistics.sum_by_resource[0].total.amount #=> String
1963
+ # resp.usage_statistics.sum_by_resource[0].total.unit #=> String
1964
+ # resp.usage_statistics.top_resources #=> Array
1965
+ # resp.usage_statistics.top_resources[0].resource #=> String
1966
+ # resp.usage_statistics.top_resources[0].total.amount #=> String
1967
+ # resp.usage_statistics.top_resources[0].total.unit #=> String
1968
+ # resp.next_token #=> String
1969
+ #
1970
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetUsageStatistics AWS API Documentation
1971
+ #
1972
+ # @overload get_usage_statistics(params = {})
1973
+ # @param [Hash] params ({})
1974
+ def get_usage_statistics(params = {}, options = {})
1975
+ req = build_request(:get_usage_statistics, params)
1976
+ req.send_request(options)
1977
+ end
1978
+
1802
1979
  # Invites other AWS accounts (created as members of the current AWS
1803
1980
  # account by CreateMembers) to enable GuardDuty, and allow the current
1804
1981
  # AWS account to view and manage these accounts' GuardDuty findings on
@@ -1814,12 +1991,12 @@ module Aws::GuardDuty
1814
1991
  #
1815
1992
  # @option params [Boolean] :disable_email_notification
1816
1993
  # A Boolean value that specifies whether you want to disable email
1817
- # notification to the accounts that you’re inviting to GuardDuty as
1994
+ # notification to the accounts that you are inviting to GuardDuty as
1818
1995
  # members.
1819
1996
  #
1820
1997
  # @option params [String] :message
1821
1998
  # The invitation message that you want to send to the accounts that
1822
- # youre inviting to GuardDuty as members.
1999
+ # you're inviting to GuardDuty as members.
1823
2000
  #
1824
2001
  # @return [Types::InviteMembersResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1825
2002
  #
@@ -2618,6 +2795,9 @@ module Aws::GuardDuty
2618
2795
  # An enum value that specifies how frequently findings are exported,
2619
2796
  # such as to CloudWatch Events.
2620
2797
  #
2798
+ # @option params [Types::DataSourceConfigurations] :data_sources
2799
+ # An object that describes which data sources will be updated.
2800
+ #
2621
2801
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2622
2802
  #
2623
2803
  # @example Request syntax with placeholder values
@@ -2626,6 +2806,11 @@ module Aws::GuardDuty
2626
2806
  # detector_id: "DetectorId", # required
2627
2807
  # enable: false,
2628
2808
  # finding_publishing_frequency: "FIFTEEN_MINUTES", # accepts FIFTEEN_MINUTES, ONE_HOUR, SIX_HOURS
2809
+ # data_sources: {
2810
+ # s3_logs: {
2811
+ # enable: false, # required
2812
+ # },
2813
+ # },
2629
2814
  # })
2630
2815
  #
2631
2816
  # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UpdateDetector AWS API Documentation
@@ -2783,6 +2968,48 @@ module Aws::GuardDuty
2783
2968
  req.send_request(options)
2784
2969
  end
2785
2970
 
2971
+ # Contains information on member accounts to be updated.
2972
+ #
2973
+ # @option params [required, String] :detector_id
2974
+ # The detector ID of the master account.
2975
+ #
2976
+ # @option params [required, Array<String>] :account_ids
2977
+ # A list of member account IDs to be updated.
2978
+ #
2979
+ # @option params [Types::DataSourceConfigurations] :data_sources
2980
+ # An object describes which data sources will be updated.
2981
+ #
2982
+ # @return [Types::UpdateMemberDetectorsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2983
+ #
2984
+ # * {Types::UpdateMemberDetectorsResponse#unprocessed_accounts #unprocessed_accounts} => Array&lt;Types::UnprocessedAccount&gt;
2985
+ #
2986
+ # @example Request syntax with placeholder values
2987
+ #
2988
+ # resp = client.update_member_detectors({
2989
+ # detector_id: "DetectorId", # required
2990
+ # account_ids: ["AccountId"], # required
2991
+ # data_sources: {
2992
+ # s3_logs: {
2993
+ # enable: false, # required
2994
+ # },
2995
+ # },
2996
+ # })
2997
+ #
2998
+ # @example Response structure
2999
+ #
3000
+ # resp.unprocessed_accounts #=> Array
3001
+ # resp.unprocessed_accounts[0].account_id #=> String
3002
+ # resp.unprocessed_accounts[0].result #=> String
3003
+ #
3004
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UpdateMemberDetectors AWS API Documentation
3005
+ #
3006
+ # @overload update_member_detectors(params = {})
3007
+ # @param [Hash] params ({})
3008
+ def update_member_detectors(params = {}, options = {})
3009
+ req = build_request(:update_member_detectors, params)
3010
+ req.send_request(options)
3011
+ end
3012
+
2786
3013
  # Updates the delegated administrator account with the values provided.
2787
3014
  #
2788
3015
  # @option params [required, String] :detector_id
@@ -2792,6 +3019,9 @@ module Aws::GuardDuty
2792
3019
  # Indicates whether to automatically enable member accounts in the
2793
3020
  # organization.
2794
3021
  #
3022
+ # @option params [Types::OrganizationDataSourceConfigurations] :data_sources
3023
+ # An object describes which data sources will be updated.
3024
+ #
2795
3025
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2796
3026
  #
2797
3027
  # @example Request syntax with placeholder values
@@ -2799,6 +3029,11 @@ module Aws::GuardDuty
2799
3029
  # resp = client.update_organization_configuration({
2800
3030
  # detector_id: "DetectorId", # required
2801
3031
  # auto_enable: false, # required
3032
+ # data_sources: {
3033
+ # s3_logs: {
3034
+ # auto_enable: false, # required
3035
+ # },
3036
+ # },
2802
3037
  # })
2803
3038
  #
2804
3039
  # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UpdateOrganizationConfiguration AWS API Documentation
@@ -2902,7 +3137,7 @@ module Aws::GuardDuty
2902
3137
  params: params,
2903
3138
  config: config)
2904
3139
  context[:gem_name] = 'aws-sdk-guardduty'
2905
- context[:gem_version] = '1.35.1'
3140
+ context[:gem_version] = '1.40.0'
2906
3141
  Seahorse::Client::Request.new(handlers, context)
2907
3142
  end
2908
3143
 
@@ -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"))
@@ -291,6 +326,7 @@ module Aws::GuardDuty
291
326
  AwsApiCallAction.add_member(:api, Shapes::ShapeRef.new(shape: String, location_name: "api"))
292
327
  AwsApiCallAction.add_member(:caller_type, Shapes::ShapeRef.new(shape: String, location_name: "callerType"))
293
328
  AwsApiCallAction.add_member(:domain_details, Shapes::ShapeRef.new(shape: DomainDetails, location_name: "domainDetails"))
329
+ AwsApiCallAction.add_member(:error_code, Shapes::ShapeRef.new(shape: String, location_name: "errorCode"))
294
330
  AwsApiCallAction.add_member(:remote_ip_details, Shapes::ShapeRef.new(shape: RemoteIpDetails, location_name: "remoteIpDetails"))
295
331
  AwsApiCallAction.add_member(:service_name, Shapes::ShapeRef.new(shape: String, location_name: "serviceName"))
296
332
  AwsApiCallAction.struct_class = Types::AwsApiCallAction
@@ -317,6 +353,9 @@ module Aws::GuardDuty
317
353
  City.add_member(:city_name, Shapes::ShapeRef.new(shape: String, location_name: "cityName"))
318
354
  City.struct_class = Types::City
319
355
 
356
+ CloudTrailConfigurationResult.add_member(:status, Shapes::ShapeRef.new(shape: DataSourceStatus, required: true, location_name: "status"))
357
+ CloudTrailConfigurationResult.struct_class = Types::CloudTrailConfigurationResult
358
+
320
359
  Condition.add_member(:eq, Shapes::ShapeRef.new(shape: Eq, deprecated: true, location_name: "eq"))
321
360
  Condition.add_member(:neq, Shapes::ShapeRef.new(shape: Neq, deprecated: true, location_name: "neq"))
322
361
  Condition.add_member(:gt, Shapes::ShapeRef.new(shape: Integer, deprecated: true, location_name: "gt"))
@@ -341,6 +380,7 @@ module Aws::GuardDuty
341
380
  CreateDetectorRequest.add_member(:enable, Shapes::ShapeRef.new(shape: Boolean, required: true, location_name: "enable"))
342
381
  CreateDetectorRequest.add_member(:client_token, Shapes::ShapeRef.new(shape: ClientToken, location_name: "clientToken", metadata: {"idempotencyToken"=>true}))
343
382
  CreateDetectorRequest.add_member(:finding_publishing_frequency, Shapes::ShapeRef.new(shape: FindingPublishingFrequency, location_name: "findingPublishingFrequency"))
383
+ CreateDetectorRequest.add_member(:data_sources, Shapes::ShapeRef.new(shape: DataSourceConfigurations, location_name: "dataSources"))
344
384
  CreateDetectorRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "tags"))
345
385
  CreateDetectorRequest.struct_class = Types::CreateDetectorRequest
346
386
 
@@ -409,6 +449,20 @@ module Aws::GuardDuty
409
449
  Criterion.key = Shapes::ShapeRef.new(shape: String)
410
450
  Criterion.value = Shapes::ShapeRef.new(shape: Condition)
411
451
 
452
+ DNSLogsConfigurationResult.add_member(:status, Shapes::ShapeRef.new(shape: DataSourceStatus, required: true, location_name: "status"))
453
+ DNSLogsConfigurationResult.struct_class = Types::DNSLogsConfigurationResult
454
+
455
+ DataSourceConfigurations.add_member(:s3_logs, Shapes::ShapeRef.new(shape: S3LogsConfiguration, location_name: "s3Logs"))
456
+ DataSourceConfigurations.struct_class = Types::DataSourceConfigurations
457
+
458
+ DataSourceConfigurationsResult.add_member(:cloud_trail, Shapes::ShapeRef.new(shape: CloudTrailConfigurationResult, required: true, location_name: "cloudTrail"))
459
+ DataSourceConfigurationsResult.add_member(:dns_logs, Shapes::ShapeRef.new(shape: DNSLogsConfigurationResult, required: true, location_name: "dnsLogs"))
460
+ DataSourceConfigurationsResult.add_member(:flow_logs, Shapes::ShapeRef.new(shape: FlowLogsConfigurationResult, required: true, location_name: "flowLogs"))
461
+ DataSourceConfigurationsResult.add_member(:s3_logs, Shapes::ShapeRef.new(shape: S3LogsConfigurationResult, required: true, location_name: "s3Logs"))
462
+ DataSourceConfigurationsResult.struct_class = Types::DataSourceConfigurationsResult
463
+
464
+ DataSourceList.member = Shapes::ShapeRef.new(shape: DataSource)
465
+
412
466
  DeclineInvitationsRequest.add_member(:account_ids, Shapes::ShapeRef.new(shape: AccountIds, required: true, location_name: "accountIds"))
413
467
  DeclineInvitationsRequest.struct_class = Types::DeclineInvitationsRequest
414
468
 
@@ -466,6 +520,7 @@ module Aws::GuardDuty
466
520
 
467
521
  DescribeOrganizationConfigurationResponse.add_member(:auto_enable, Shapes::ShapeRef.new(shape: Boolean, required: true, location_name: "autoEnable"))
468
522
  DescribeOrganizationConfigurationResponse.add_member(:member_account_limit_reached, Shapes::ShapeRef.new(shape: Boolean, required: true, location_name: "memberAccountLimitReached"))
523
+ DescribeOrganizationConfigurationResponse.add_member(:data_sources, Shapes::ShapeRef.new(shape: OrganizationDataSourceConfigurationsResult, location_name: "dataSources"))
469
524
  DescribeOrganizationConfigurationResponse.struct_class = Types::DescribeOrganizationConfigurationResponse
470
525
 
471
526
  DescribePublishingDestinationRequest.add_member(:detector_id, Shapes::ShapeRef.new(shape: DetectorId, required: true, location: "uri", location_name: "detectorId"))
@@ -560,6 +615,9 @@ module Aws::GuardDuty
560
615
 
561
616
  Findings.member = Shapes::ShapeRef.new(shape: Finding)
562
617
 
618
+ FlowLogsConfigurationResult.add_member(:status, Shapes::ShapeRef.new(shape: DataSourceStatus, required: true, location_name: "status"))
619
+ FlowLogsConfigurationResult.struct_class = Types::FlowLogsConfigurationResult
620
+
563
621
  GeoLocation.add_member(:lat, Shapes::ShapeRef.new(shape: Double, location_name: "lat"))
564
622
  GeoLocation.add_member(:lon, Shapes::ShapeRef.new(shape: Double, location_name: "lon"))
565
623
  GeoLocation.struct_class = Types::GeoLocation
@@ -572,6 +630,7 @@ module Aws::GuardDuty
572
630
  GetDetectorResponse.add_member(:service_role, Shapes::ShapeRef.new(shape: String, required: true, location_name: "serviceRole"))
573
631
  GetDetectorResponse.add_member(:status, Shapes::ShapeRef.new(shape: DetectorStatus, required: true, location_name: "status"))
574
632
  GetDetectorResponse.add_member(:updated_at, Shapes::ShapeRef.new(shape: String, location_name: "updatedAt"))
633
+ GetDetectorResponse.add_member(:data_sources, Shapes::ShapeRef.new(shape: DataSourceConfigurationsResult, location_name: "dataSources"))
575
634
  GetDetectorResponse.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "tags"))
576
635
  GetDetectorResponse.struct_class = Types::GetDetectorResponse
577
636
 
@@ -625,6 +684,14 @@ module Aws::GuardDuty
625
684
  GetMasterAccountResponse.add_member(:master, Shapes::ShapeRef.new(shape: Master, required: true, location_name: "master"))
626
685
  GetMasterAccountResponse.struct_class = Types::GetMasterAccountResponse
627
686
 
687
+ GetMemberDetectorsRequest.add_member(:detector_id, Shapes::ShapeRef.new(shape: DetectorId, required: true, location: "uri", location_name: "detectorId"))
688
+ GetMemberDetectorsRequest.add_member(:account_ids, Shapes::ShapeRef.new(shape: AccountIds, required: true, location_name: "accountIds"))
689
+ GetMemberDetectorsRequest.struct_class = Types::GetMemberDetectorsRequest
690
+
691
+ GetMemberDetectorsResponse.add_member(:member_data_source_configurations, Shapes::ShapeRef.new(shape: MemberDataSourceConfigurations, required: true, location_name: "members"))
692
+ GetMemberDetectorsResponse.add_member(:unprocessed_accounts, Shapes::ShapeRef.new(shape: UnprocessedAccounts, required: true, location_name: "unprocessedAccounts"))
693
+ GetMemberDetectorsResponse.struct_class = Types::GetMemberDetectorsResponse
694
+
628
695
  GetMembersRequest.add_member(:detector_id, Shapes::ShapeRef.new(shape: DetectorId, required: true, location: "uri", location_name: "detectorId"))
629
696
  GetMembersRequest.add_member(:account_ids, Shapes::ShapeRef.new(shape: AccountIds, required: true, location_name: "accountIds"))
630
697
  GetMembersRequest.struct_class = Types::GetMembersRequest
@@ -644,6 +711,18 @@ module Aws::GuardDuty
644
711
  GetThreatIntelSetResponse.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "tags"))
645
712
  GetThreatIntelSetResponse.struct_class = Types::GetThreatIntelSetResponse
646
713
 
714
+ GetUsageStatisticsRequest.add_member(:detector_id, Shapes::ShapeRef.new(shape: DetectorId, required: true, location: "uri", location_name: "detectorId"))
715
+ GetUsageStatisticsRequest.add_member(:usage_statistic_type, Shapes::ShapeRef.new(shape: UsageStatisticType, required: true, location_name: "usageStatisticsType"))
716
+ GetUsageStatisticsRequest.add_member(:usage_criteria, Shapes::ShapeRef.new(shape: UsageCriteria, required: true, location_name: "usageCriteria"))
717
+ GetUsageStatisticsRequest.add_member(:unit, Shapes::ShapeRef.new(shape: String, location_name: "unit"))
718
+ GetUsageStatisticsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location_name: "maxResults"))
719
+ GetUsageStatisticsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "nextToken"))
720
+ GetUsageStatisticsRequest.struct_class = Types::GetUsageStatisticsRequest
721
+
722
+ GetUsageStatisticsResponse.add_member(:usage_statistics, Shapes::ShapeRef.new(shape: UsageStatistics, location_name: "usageStatistics"))
723
+ GetUsageStatisticsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "nextToken"))
724
+ GetUsageStatisticsResponse.struct_class = Types::GetUsageStatisticsResponse
725
+
647
726
  IamInstanceProfile.add_member(:arn, Shapes::ShapeRef.new(shape: String, location_name: "arn"))
648
727
  IamInstanceProfile.add_member(:id, Shapes::ShapeRef.new(shape: String, location_name: "id"))
649
728
  IamInstanceProfile.struct_class = Types::IamInstanceProfile
@@ -797,6 +876,12 @@ module Aws::GuardDuty
797
876
  Member.add_member(:updated_at, Shapes::ShapeRef.new(shape: String, required: true, location_name: "updatedAt"))
798
877
  Member.struct_class = Types::Member
799
878
 
879
+ MemberDataSourceConfiguration.add_member(:account_id, Shapes::ShapeRef.new(shape: AccountId, required: true, location_name: "accountId"))
880
+ MemberDataSourceConfiguration.add_member(:data_sources, Shapes::ShapeRef.new(shape: DataSourceConfigurationsResult, required: true, location_name: "dataSources"))
881
+ MemberDataSourceConfiguration.struct_class = Types::MemberDataSourceConfiguration
882
+
883
+ MemberDataSourceConfigurations.member = Shapes::ShapeRef.new(shape: MemberDataSourceConfiguration)
884
+
800
885
  Members.member = Shapes::ShapeRef.new(shape: Member)
801
886
 
802
887
  Neq.member = Shapes::ShapeRef.new(shape: String)
@@ -832,6 +917,18 @@ module Aws::GuardDuty
832
917
  Organization.add_member(:org, Shapes::ShapeRef.new(shape: String, location_name: "org"))
833
918
  Organization.struct_class = Types::Organization
834
919
 
920
+ OrganizationDataSourceConfigurations.add_member(:s3_logs, Shapes::ShapeRef.new(shape: OrganizationS3LogsConfiguration, location_name: "s3Logs"))
921
+ OrganizationDataSourceConfigurations.struct_class = Types::OrganizationDataSourceConfigurations
922
+
923
+ OrganizationDataSourceConfigurationsResult.add_member(:s3_logs, Shapes::ShapeRef.new(shape: OrganizationS3LogsConfigurationResult, required: true, location_name: "s3Logs"))
924
+ OrganizationDataSourceConfigurationsResult.struct_class = Types::OrganizationDataSourceConfigurationsResult
925
+
926
+ OrganizationS3LogsConfiguration.add_member(:auto_enable, Shapes::ShapeRef.new(shape: Boolean, required: true, location_name: "autoEnable"))
927
+ OrganizationS3LogsConfiguration.struct_class = Types::OrganizationS3LogsConfiguration
928
+
929
+ OrganizationS3LogsConfigurationResult.add_member(:auto_enable, Shapes::ShapeRef.new(shape: Boolean, required: true, location_name: "autoEnable"))
930
+ OrganizationS3LogsConfigurationResult.struct_class = Types::OrganizationS3LogsConfigurationResult
931
+
835
932
  Owner.add_member(:id, Shapes::ShapeRef.new(shape: String, location_name: "id"))
836
933
  Owner.struct_class = Types::Owner
837
934
 
@@ -883,6 +980,8 @@ module Aws::GuardDuty
883
980
  Resource.add_member(:resource_type, Shapes::ShapeRef.new(shape: String, location_name: "resourceType"))
884
981
  Resource.struct_class = Types::Resource
885
982
 
983
+ ResourceList.member = Shapes::ShapeRef.new(shape: String)
984
+
886
985
  S3BucketDetail.add_member(:arn, Shapes::ShapeRef.new(shape: String, location_name: "arn"))
887
986
  S3BucketDetail.add_member(:name, Shapes::ShapeRef.new(shape: String, location_name: "name"))
888
987
  S3BucketDetail.add_member(:type, Shapes::ShapeRef.new(shape: String, location_name: "type"))
@@ -895,6 +994,12 @@ module Aws::GuardDuty
895
994
 
896
995
  S3BucketDetails.member = Shapes::ShapeRef.new(shape: S3BucketDetail)
897
996
 
997
+ S3LogsConfiguration.add_member(:enable, Shapes::ShapeRef.new(shape: Boolean, required: true, location_name: "enable"))
998
+ S3LogsConfiguration.struct_class = Types::S3LogsConfiguration
999
+
1000
+ S3LogsConfigurationResult.add_member(:status, Shapes::ShapeRef.new(shape: DataSourceStatus, required: true, location_name: "status"))
1001
+ S3LogsConfigurationResult.struct_class = Types::S3LogsConfigurationResult
1002
+
898
1003
  SecurityGroup.add_member(:group_id, Shapes::ShapeRef.new(shape: String, location_name: "groupId"))
899
1004
  SecurityGroup.add_member(:group_name, Shapes::ShapeRef.new(shape: String, location_name: "groupName"))
900
1005
  SecurityGroup.struct_class = Types::SecurityGroup
@@ -958,6 +1063,10 @@ module Aws::GuardDuty
958
1063
 
959
1064
  ThreatNames.member = Shapes::ShapeRef.new(shape: String)
960
1065
 
1066
+ Total.add_member(:amount, Shapes::ShapeRef.new(shape: String, location_name: "amount"))
1067
+ Total.add_member(:unit, Shapes::ShapeRef.new(shape: String, location_name: "unit"))
1068
+ Total.struct_class = Types::Total
1069
+
961
1070
  UnarchiveFindingsRequest.add_member(:detector_id, Shapes::ShapeRef.new(shape: DetectorId, required: true, location: "uri", location_name: "detectorId"))
962
1071
  UnarchiveFindingsRequest.add_member(:finding_ids, Shapes::ShapeRef.new(shape: FindingIds, required: true, location_name: "findingIds"))
963
1072
  UnarchiveFindingsRequest.struct_class = Types::UnarchiveFindingsRequest
@@ -979,6 +1088,7 @@ module Aws::GuardDuty
979
1088
  UpdateDetectorRequest.add_member(:detector_id, Shapes::ShapeRef.new(shape: DetectorId, required: true, location: "uri", location_name: "detectorId"))
980
1089
  UpdateDetectorRequest.add_member(:enable, Shapes::ShapeRef.new(shape: Boolean, location_name: "enable"))
981
1090
  UpdateDetectorRequest.add_member(:finding_publishing_frequency, Shapes::ShapeRef.new(shape: FindingPublishingFrequency, location_name: "findingPublishingFrequency"))
1091
+ UpdateDetectorRequest.add_member(:data_sources, Shapes::ShapeRef.new(shape: DataSourceConfigurations, location_name: "dataSources"))
982
1092
  UpdateDetectorRequest.struct_class = Types::UpdateDetectorRequest
983
1093
 
984
1094
  UpdateDetectorResponse.struct_class = Types::UpdateDetectorResponse
@@ -1011,8 +1121,17 @@ module Aws::GuardDuty
1011
1121
 
1012
1122
  UpdateIPSetResponse.struct_class = Types::UpdateIPSetResponse
1013
1123
 
1124
+ UpdateMemberDetectorsRequest.add_member(:detector_id, Shapes::ShapeRef.new(shape: DetectorId, required: true, location: "uri", location_name: "detectorId"))
1125
+ UpdateMemberDetectorsRequest.add_member(:account_ids, Shapes::ShapeRef.new(shape: AccountIds, required: true, location_name: "accountIds"))
1126
+ UpdateMemberDetectorsRequest.add_member(:data_sources, Shapes::ShapeRef.new(shape: DataSourceConfigurations, location_name: "dataSources"))
1127
+ UpdateMemberDetectorsRequest.struct_class = Types::UpdateMemberDetectorsRequest
1128
+
1129
+ UpdateMemberDetectorsResponse.add_member(:unprocessed_accounts, Shapes::ShapeRef.new(shape: UnprocessedAccounts, required: true, location_name: "unprocessedAccounts"))
1130
+ UpdateMemberDetectorsResponse.struct_class = Types::UpdateMemberDetectorsResponse
1131
+
1014
1132
  UpdateOrganizationConfigurationRequest.add_member(:detector_id, Shapes::ShapeRef.new(shape: DetectorId, required: true, location: "uri", location_name: "detectorId"))
1015
1133
  UpdateOrganizationConfigurationRequest.add_member(:auto_enable, Shapes::ShapeRef.new(shape: Boolean, required: true, location_name: "autoEnable"))
1134
+ UpdateOrganizationConfigurationRequest.add_member(:data_sources, Shapes::ShapeRef.new(shape: OrganizationDataSourceConfigurations, location_name: "dataSources"))
1016
1135
  UpdateOrganizationConfigurationRequest.struct_class = Types::UpdateOrganizationConfigurationRequest
1017
1136
 
1018
1137
  UpdateOrganizationConfigurationResponse.struct_class = Types::UpdateOrganizationConfigurationResponse
@@ -1033,6 +1152,35 @@ module Aws::GuardDuty
1033
1152
 
1034
1153
  UpdateThreatIntelSetResponse.struct_class = Types::UpdateThreatIntelSetResponse
1035
1154
 
1155
+ UsageAccountResult.add_member(:account_id, Shapes::ShapeRef.new(shape: AccountId, location_name: "accountId"))
1156
+ UsageAccountResult.add_member(:total, Shapes::ShapeRef.new(shape: Total, location_name: "total"))
1157
+ UsageAccountResult.struct_class = Types::UsageAccountResult
1158
+
1159
+ UsageAccountResultList.member = Shapes::ShapeRef.new(shape: UsageAccountResult)
1160
+
1161
+ UsageCriteria.add_member(:account_ids, Shapes::ShapeRef.new(shape: AccountIds, location_name: "accountIds"))
1162
+ UsageCriteria.add_member(:data_sources, Shapes::ShapeRef.new(shape: DataSourceList, required: true, location_name: "dataSources"))
1163
+ UsageCriteria.add_member(:resources, Shapes::ShapeRef.new(shape: ResourceList, location_name: "resources"))
1164
+ UsageCriteria.struct_class = Types::UsageCriteria
1165
+
1166
+ UsageDataSourceResult.add_member(:data_source, Shapes::ShapeRef.new(shape: DataSource, location_name: "dataSource"))
1167
+ UsageDataSourceResult.add_member(:total, Shapes::ShapeRef.new(shape: Total, location_name: "total"))
1168
+ UsageDataSourceResult.struct_class = Types::UsageDataSourceResult
1169
+
1170
+ UsageDataSourceResultList.member = Shapes::ShapeRef.new(shape: UsageDataSourceResult)
1171
+
1172
+ UsageResourceResult.add_member(:resource, Shapes::ShapeRef.new(shape: String, location_name: "resource"))
1173
+ UsageResourceResult.add_member(:total, Shapes::ShapeRef.new(shape: Total, location_name: "total"))
1174
+ UsageResourceResult.struct_class = Types::UsageResourceResult
1175
+
1176
+ UsageResourceResultList.member = Shapes::ShapeRef.new(shape: UsageResourceResult)
1177
+
1178
+ UsageStatistics.add_member(:sum_by_account, Shapes::ShapeRef.new(shape: UsageAccountResultList, location_name: "sumByAccount"))
1179
+ UsageStatistics.add_member(:sum_by_data_source, Shapes::ShapeRef.new(shape: UsageDataSourceResultList, location_name: "sumByDataSource"))
1180
+ UsageStatistics.add_member(:sum_by_resource, Shapes::ShapeRef.new(shape: UsageResourceResultList, location_name: "sumByResource"))
1181
+ UsageStatistics.add_member(:top_resources, Shapes::ShapeRef.new(shape: UsageResourceResultList, location_name: "topResources"))
1182
+ UsageStatistics.struct_class = Types::UsageStatistics
1183
+
1036
1184
 
1037
1185
  # @api private
1038
1186
  API = Seahorse::Model::Api.new.tap do |api|
@@ -1351,6 +1499,16 @@ module Aws::GuardDuty
1351
1499
  o.errors << Shapes::ShapeRef.new(shape: InternalServerErrorException)
1352
1500
  end)
1353
1501
 
1502
+ api.add_operation(:get_member_detectors, Seahorse::Model::Operation.new.tap do |o|
1503
+ o.name = "GetMemberDetectors"
1504
+ o.http_method = "POST"
1505
+ o.http_request_uri = "/detector/{detectorId}/member/detector/get"
1506
+ o.input = Shapes::ShapeRef.new(shape: GetMemberDetectorsRequest)
1507
+ o.output = Shapes::ShapeRef.new(shape: GetMemberDetectorsResponse)
1508
+ o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
1509
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerErrorException)
1510
+ end)
1511
+
1354
1512
  api.add_operation(:get_members, Seahorse::Model::Operation.new.tap do |o|
1355
1513
  o.name = "GetMembers"
1356
1514
  o.http_method = "POST"
@@ -1371,6 +1529,22 @@ module Aws::GuardDuty
1371
1529
  o.errors << Shapes::ShapeRef.new(shape: InternalServerErrorException)
1372
1530
  end)
1373
1531
 
1532
+ api.add_operation(:get_usage_statistics, Seahorse::Model::Operation.new.tap do |o|
1533
+ o.name = "GetUsageStatistics"
1534
+ o.http_method = "POST"
1535
+ o.http_request_uri = "/detector/{detectorId}/usage/statistics"
1536
+ o.input = Shapes::ShapeRef.new(shape: GetUsageStatisticsRequest)
1537
+ o.output = Shapes::ShapeRef.new(shape: GetUsageStatisticsResponse)
1538
+ o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
1539
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerErrorException)
1540
+ o[:pager] = Aws::Pager.new(
1541
+ limit_key: "max_results",
1542
+ tokens: {
1543
+ "next_token" => "next_token"
1544
+ }
1545
+ )
1546
+ end)
1547
+
1374
1548
  api.add_operation(:invite_members, Seahorse::Model::Operation.new.tap do |o|
1375
1549
  o.name = "InviteMembers"
1376
1550
  o.http_method = "POST"
@@ -1625,6 +1799,16 @@ module Aws::GuardDuty
1625
1799
  o.errors << Shapes::ShapeRef.new(shape: InternalServerErrorException)
1626
1800
  end)
1627
1801
 
1802
+ api.add_operation(:update_member_detectors, Seahorse::Model::Operation.new.tap do |o|
1803
+ o.name = "UpdateMemberDetectors"
1804
+ o.http_method = "POST"
1805
+ o.http_request_uri = "/detector/{detectorId}/member/detector/update"
1806
+ o.input = Shapes::ShapeRef.new(shape: UpdateMemberDetectorsRequest)
1807
+ o.output = Shapes::ShapeRef.new(shape: UpdateMemberDetectorsResponse)
1808
+ o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
1809
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerErrorException)
1810
+ end)
1811
+
1628
1812
  api.add_operation(:update_organization_configuration, Seahorse::Model::Operation.new.tap do |o|
1629
1813
  o.name = "UpdateOrganizationConfiguration"
1630
1814
  o.http_method = "POST"