aws-sdk-guardduty 1.36.0 → 1.41.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0b31e6be5da0f7f691fe98f9e0f431c3c313aa2267e59e8a456b9138e167f00c
4
- data.tar.gz: 20abf5a840390cc62d4d6c168536d640d5c613ebd3f38f4c8390073a0d908177
3
+ metadata.gz: 8eedcc4779a180a4bb3cc4381f992c89f3058337c2316824a6795daa0eecc7eb
4
+ data.tar.gz: d8866663ecf62c35082f426982f4486d2d3905b9986d3858038cac41ed3109ae
5
5
  SHA512:
6
- metadata.gz: 301174c7ee0c0208913ab17c76f5f3a4e96f3c24aff9d3714a7bcfbb63341cadca77777dd1dd22c1318fe7ea51b362ee5333251b6e19841e6dc119916f9c0ad4
7
- data.tar.gz: acc43203f71aa487f9da853348b06b156e7758610abb1238ee738c18a5e0d7b7595e5d325708b29b1b09a0f3c69e854dac54f3c21202d536737d65449664d8d0
6
+ metadata.gz: cf0ebe63edaa83e5b17b5edc30f09292d751ea177dbcfc3c634354da9722fb8af81a0ef3cdd6934b578bd69b25cc52f166fb7f1d92fc4f10a80cb7a3157c9b1d
7
+ data.tar.gz: 4c2110d803c8a3d5567c5c77db376428dff1f07497c5962ecacb0831caae148d9c38f7c878699c210431c3410e671577426ae4f5002b67182b395046e3f26015
@@ -7,6 +7,7 @@
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
10
+
10
11
  require 'aws-sdk-core'
11
12
  require 'aws-sigv4'
12
13
 
@@ -44,9 +45,9 @@ require_relative 'aws-sdk-guardduty/customizations'
44
45
  #
45
46
  # See {Errors} for more information.
46
47
  #
47
- # @service
48
+ # @!group service
48
49
  module Aws::GuardDuty
49
50
 
50
- GEM_VERSION = '1.36.0'
51
+ GEM_VERSION = '1.41.0'
51
52
 
52
53
  end
@@ -85,13 +85,28 @@ module Aws::GuardDuty
85
85
  # * `Aws::Credentials` - Used for configuring static, non-refreshing
86
86
  # credentials.
87
87
  #
88
+ # * `Aws::SharedCredentials` - Used for loading static credentials from a
89
+ # shared file, such as `~/.aws/config`.
90
+ #
91
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
92
+ #
93
+ # * `Aws::AssumeRoleWebIdentityCredentials` - Used when you need to
94
+ # assume a role after providing credentials via the web.
95
+ #
96
+ # * `Aws::SSOCredentials` - Used for loading credentials from AWS SSO using an
97
+ # access token generated from `aws login`.
98
+ #
99
+ # * `Aws::ProcessCredentials` - Used for loading credentials from a
100
+ # process that outputs to stdout.
101
+ #
88
102
  # * `Aws::InstanceProfileCredentials` - Used for loading credentials
89
103
  # from an EC2 IMDS on an EC2 instance.
90
104
  #
91
- # * `Aws::SharedCredentials` - Used for loading credentials from a
92
- # shared file, such as `~/.aws/config`.
105
+ # * `Aws::ECSCredentials` - Used for loading credentials from
106
+ # instances running in ECS.
93
107
  #
94
- # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
108
+ # * `Aws::CognitoIdentityCredentials` - Used for loading credentials
109
+ # from the Cognito Identity service.
95
110
  #
96
111
  # When `:credentials` are not configured directly, the following
97
112
  # locations will be searched for credentials:
@@ -101,10 +116,10 @@ module Aws::GuardDuty
101
116
  # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
102
117
  # * `~/.aws/credentials`
103
118
  # * `~/.aws/config`
104
- # * EC2 IMDS instance profile - When used by default, the timeouts are
105
- # very aggressive. Construct and pass an instance of
106
- # `Aws::InstanceProfileCredentails` to enable retries and extended
107
- # timeouts.
119
+ # * EC2/ECS IMDS instance profile - When used by default, the timeouts
120
+ # are very aggressive. Construct and pass an instance of
121
+ # `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
122
+ # enable retries and extended timeouts.
108
123
  #
109
124
  # @option options [required, String] :region
110
125
  # The AWS region to connect to. The configured `:region` is
@@ -380,7 +395,8 @@ module Aws::GuardDuty
380
395
  # Creates a single Amazon GuardDuty detector. A detector is a resource
381
396
  # that represents the GuardDuty service. To start using GuardDuty, you
382
397
  # must create a detector in each Region where you enable the service.
383
- # You can have only one detector per account per Region.
398
+ # You can have only one detector per account per Region. All data
399
+ # sources are enabled in a new detector by default.
384
400
  #
385
401
  # @option params [required, Boolean] :enable
386
402
  # A Boolean value that specifies whether the detector is to be enabled.
@@ -395,6 +411,10 @@ module Aws::GuardDuty
395
411
  # An enum value that specifies how frequently updated findings are
396
412
  # exported.
397
413
  #
414
+ # @option params [Types::DataSourceConfigurations] :data_sources
415
+ # An object that describes which data sources will be enabled for the
416
+ # detector.
417
+ #
398
418
  # @option params [Hash<String,String>] :tags
399
419
  # The tags to be added to a new detector resource.
400
420
  #
@@ -408,6 +428,11 @@ module Aws::GuardDuty
408
428
  # enable: false, # required
409
429
  # client_token: "ClientToken",
410
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
+ # },
411
436
  # tags: {
412
437
  # "TagKey" => "TagValue",
413
438
  # },
@@ -689,8 +714,22 @@ module Aws::GuardDuty
689
714
  end
690
715
 
691
716
  # Creates member accounts of the current AWS account by specifying a
692
- # list of AWS account IDs. The current AWS account can then invite these
693
- # 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
694
733
  #
695
734
  # @option params [required, String] :detector_id
696
735
  # The unique ID of the detector of the GuardDuty account that you want
@@ -1116,6 +1155,7 @@ module Aws::GuardDuty
1116
1155
  #
1117
1156
  # * {Types::DescribeOrganizationConfigurationResponse#auto_enable #auto_enable} => Boolean
1118
1157
  # * {Types::DescribeOrganizationConfigurationResponse#member_account_limit_reached #member_account_limit_reached} => Boolean
1158
+ # * {Types::DescribeOrganizationConfigurationResponse#data_sources #data_sources} => Types::OrganizationDataSourceConfigurationsResult
1119
1159
  #
1120
1160
  # @example Request syntax with placeholder values
1121
1161
  #
@@ -1127,6 +1167,7 @@ module Aws::GuardDuty
1127
1167
  #
1128
1168
  # resp.auto_enable #=> Boolean
1129
1169
  # resp.member_account_limit_reached #=> Boolean
1170
+ # resp.data_sources.s3_logs.auto_enable #=> Boolean
1130
1171
  #
1131
1172
  # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DescribeOrganizationConfiguration AWS API Documentation
1132
1173
  #
@@ -1300,6 +1341,7 @@ module Aws::GuardDuty
1300
1341
  # * {Types::GetDetectorResponse#service_role #service_role} => String
1301
1342
  # * {Types::GetDetectorResponse#status #status} => String
1302
1343
  # * {Types::GetDetectorResponse#updated_at #updated_at} => String
1344
+ # * {Types::GetDetectorResponse#data_sources #data_sources} => Types::DataSourceConfigurationsResult
1303
1345
  # * {Types::GetDetectorResponse#tags #tags} => Hash&lt;String,String&gt;
1304
1346
  #
1305
1347
  # @example Request syntax with placeholder values
@@ -1315,6 +1357,10 @@ module Aws::GuardDuty
1315
1357
  # resp.service_role #=> String
1316
1358
  # resp.status #=> String, one of "ENABLED", "DISABLED"
1317
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"
1318
1364
  # resp.tags #=> Hash
1319
1365
  # resp.tags["TagKey"] #=> String
1320
1366
  #
@@ -1491,6 +1537,7 @@ module Aws::GuardDuty
1491
1537
  # resp.findings[0].service.action.aws_api_call_action.api #=> String
1492
1538
  # resp.findings[0].service.action.aws_api_call_action.caller_type #=> String
1493
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
1494
1541
  # resp.findings[0].service.action.aws_api_call_action.remote_ip_details.city.city_name #=> String
1495
1542
  # resp.findings[0].service.action.aws_api_call_action.remote_ip_details.country.country_code #=> String
1496
1543
  # resp.findings[0].service.action.aws_api_call_action.remote_ip_details.country.country_name #=> String
@@ -1712,6 +1759,48 @@ module Aws::GuardDuty
1712
1759
  req.send_request(options)
1713
1760
  end
1714
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
+
1715
1804
  # Retrieves GuardDuty member accounts (to the current GuardDuty master
1716
1805
  # account) specified by the account IDs.
1717
1806
  #
@@ -1801,6 +1890,92 @@ module Aws::GuardDuty
1801
1890
  req.send_request(options)
1802
1891
  end
1803
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
+
1804
1979
  # Invites other AWS accounts (created as members of the current AWS
1805
1980
  # account by CreateMembers) to enable GuardDuty, and allow the current
1806
1981
  # AWS account to view and manage these accounts' GuardDuty findings on
@@ -1816,12 +1991,12 @@ module Aws::GuardDuty
1816
1991
  #
1817
1992
  # @option params [Boolean] :disable_email_notification
1818
1993
  # A Boolean value that specifies whether you want to disable email
1819
- # notification to the accounts that you’re inviting to GuardDuty as
1994
+ # notification to the accounts that you are inviting to GuardDuty as
1820
1995
  # members.
1821
1996
  #
1822
1997
  # @option params [String] :message
1823
1998
  # The invitation message that you want to send to the accounts that
1824
- # youre inviting to GuardDuty as members.
1999
+ # you're inviting to GuardDuty as members.
1825
2000
  #
1826
2001
  # @return [Types::InviteMembersResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1827
2002
  #
@@ -2620,6 +2795,9 @@ module Aws::GuardDuty
2620
2795
  # An enum value that specifies how frequently findings are exported,
2621
2796
  # such as to CloudWatch Events.
2622
2797
  #
2798
+ # @option params [Types::DataSourceConfigurations] :data_sources
2799
+ # An object that describes which data sources will be updated.
2800
+ #
2623
2801
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2624
2802
  #
2625
2803
  # @example Request syntax with placeholder values
@@ -2628,6 +2806,11 @@ module Aws::GuardDuty
2628
2806
  # detector_id: "DetectorId", # required
2629
2807
  # enable: false,
2630
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
+ # },
2631
2814
  # })
2632
2815
  #
2633
2816
  # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UpdateDetector AWS API Documentation
@@ -2785,6 +2968,48 @@ module Aws::GuardDuty
2785
2968
  req.send_request(options)
2786
2969
  end
2787
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
+
2788
3013
  # Updates the delegated administrator account with the values provided.
2789
3014
  #
2790
3015
  # @option params [required, String] :detector_id
@@ -2794,6 +3019,9 @@ module Aws::GuardDuty
2794
3019
  # Indicates whether to automatically enable member accounts in the
2795
3020
  # organization.
2796
3021
  #
3022
+ # @option params [Types::OrganizationDataSourceConfigurations] :data_sources
3023
+ # An object describes which data sources will be updated.
3024
+ #
2797
3025
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2798
3026
  #
2799
3027
  # @example Request syntax with placeholder values
@@ -2801,6 +3029,11 @@ module Aws::GuardDuty
2801
3029
  # resp = client.update_organization_configuration({
2802
3030
  # detector_id: "DetectorId", # required
2803
3031
  # auto_enable: false, # required
3032
+ # data_sources: {
3033
+ # s3_logs: {
3034
+ # auto_enable: false, # required
3035
+ # },
3036
+ # },
2804
3037
  # })
2805
3038
  #
2806
3039
  # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UpdateOrganizationConfiguration AWS API Documentation
@@ -2904,7 +3137,7 @@ module Aws::GuardDuty
2904
3137
  params: params,
2905
3138
  config: config)
2906
3139
  context[:gem_name] = 'aws-sdk-guardduty'
2907
- context[:gem_version] = '1.36.0'
3140
+ context[:gem_version] = '1.41.0'
2908
3141
  Seahorse::Client::Request.new(handlers, context)
2909
3142
  end
2910
3143
 
@@ -36,6 +36,7 @@ module Aws::GuardDuty
36
36
  BucketPolicy = Shapes::StructureShape.new(name: 'BucketPolicy')
37
37
  City = Shapes::StructureShape.new(name: 'City')
38
38
  ClientToken = Shapes::StringShape.new(name: 'ClientToken')
39
+ CloudTrailConfigurationResult = Shapes::StructureShape.new(name: 'CloudTrailConfigurationResult')
39
40
  Condition = Shapes::StructureShape.new(name: 'Condition')
40
41
  CountBySeverity = Shapes::MapShape.new(name: 'CountBySeverity')
41
42
  Country = Shapes::StructureShape.new(name: 'Country')
@@ -54,6 +55,12 @@ module Aws::GuardDuty
54
55
  CreateThreatIntelSetRequest = Shapes::StructureShape.new(name: 'CreateThreatIntelSetRequest')
55
56
  CreateThreatIntelSetResponse = Shapes::StructureShape.new(name: 'CreateThreatIntelSetResponse')
56
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')
57
64
  DeclineInvitationsRequest = Shapes::StructureShape.new(name: 'DeclineInvitationsRequest')
58
65
  DeclineInvitationsResponse = Shapes::StructureShape.new(name: 'DeclineInvitationsResponse')
59
66
  DefaultServerSideEncryption = Shapes::StructureShape.new(name: 'DefaultServerSideEncryption')
@@ -114,6 +121,7 @@ module Aws::GuardDuty
114
121
  FindingType = Shapes::StringShape.new(name: 'FindingType')
115
122
  FindingTypes = Shapes::ListShape.new(name: 'FindingTypes')
116
123
  Findings = Shapes::ListShape.new(name: 'Findings')
124
+ FlowLogsConfigurationResult = Shapes::StructureShape.new(name: 'FlowLogsConfigurationResult')
117
125
  GeoLocation = Shapes::StructureShape.new(name: 'GeoLocation')
118
126
  GetDetectorRequest = Shapes::StructureShape.new(name: 'GetDetectorRequest')
119
127
  GetDetectorResponse = Shapes::StructureShape.new(name: 'GetDetectorResponse')
@@ -129,10 +137,14 @@ module Aws::GuardDuty
129
137
  GetInvitationsCountResponse = Shapes::StructureShape.new(name: 'GetInvitationsCountResponse')
130
138
  GetMasterAccountRequest = Shapes::StructureShape.new(name: 'GetMasterAccountRequest')
131
139
  GetMasterAccountResponse = Shapes::StructureShape.new(name: 'GetMasterAccountResponse')
140
+ GetMemberDetectorsRequest = Shapes::StructureShape.new(name: 'GetMemberDetectorsRequest')
141
+ GetMemberDetectorsResponse = Shapes::StructureShape.new(name: 'GetMemberDetectorsResponse')
132
142
  GetMembersRequest = Shapes::StructureShape.new(name: 'GetMembersRequest')
133
143
  GetMembersResponse = Shapes::StructureShape.new(name: 'GetMembersResponse')
134
144
  GetThreatIntelSetRequest = Shapes::StructureShape.new(name: 'GetThreatIntelSetRequest')
135
145
  GetThreatIntelSetResponse = Shapes::StructureShape.new(name: 'GetThreatIntelSetResponse')
146
+ GetUsageStatisticsRequest = Shapes::StructureShape.new(name: 'GetUsageStatisticsRequest')
147
+ GetUsageStatisticsResponse = Shapes::StructureShape.new(name: 'GetUsageStatisticsResponse')
136
148
  GuardDutyArn = Shapes::StringShape.new(name: 'GuardDutyArn')
137
149
  IamInstanceProfile = Shapes::StructureShape.new(name: 'IamInstanceProfile')
138
150
  InstanceDetails = Shapes::StructureShape.new(name: 'InstanceDetails')
@@ -173,6 +185,8 @@ module Aws::GuardDuty
173
185
  Master = Shapes::StructureShape.new(name: 'Master')
174
186
  MaxResults = Shapes::IntegerShape.new(name: 'MaxResults')
175
187
  Member = Shapes::StructureShape.new(name: 'Member')
188
+ MemberDataSourceConfiguration = Shapes::StructureShape.new(name: 'MemberDataSourceConfiguration')
189
+ MemberDataSourceConfigurations = Shapes::ListShape.new(name: 'MemberDataSourceConfigurations')
176
190
  Members = Shapes::ListShape.new(name: 'Members')
177
191
  Name = Shapes::StringShape.new(name: 'Name')
178
192
  Neq = Shapes::ListShape.new(name: 'Neq')
@@ -182,6 +196,10 @@ module Aws::GuardDuty
182
196
  NotEquals = Shapes::ListShape.new(name: 'NotEquals')
183
197
  OrderBy = Shapes::StringShape.new(name: 'OrderBy')
184
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')
185
203
  Owner = Shapes::StructureShape.new(name: 'Owner')
186
204
  PermissionConfiguration = Shapes::StructureShape.new(name: 'PermissionConfiguration')
187
205
  PortProbeAction = Shapes::StructureShape.new(name: 'PortProbeAction')
@@ -196,8 +214,11 @@ module Aws::GuardDuty
196
214
  RemoteIpDetails = Shapes::StructureShape.new(name: 'RemoteIpDetails')
197
215
  RemotePortDetails = Shapes::StructureShape.new(name: 'RemotePortDetails')
198
216
  Resource = Shapes::StructureShape.new(name: 'Resource')
217
+ ResourceList = Shapes::ListShape.new(name: 'ResourceList')
199
218
  S3BucketDetail = Shapes::StructureShape.new(name: 'S3BucketDetail')
200
219
  S3BucketDetails = Shapes::ListShape.new(name: 'S3BucketDetails')
220
+ S3LogsConfiguration = Shapes::StructureShape.new(name: 'S3LogsConfiguration')
221
+ S3LogsConfigurationResult = Shapes::StructureShape.new(name: 'S3LogsConfigurationResult')
201
222
  SecurityGroup = Shapes::StructureShape.new(name: 'SecurityGroup')
202
223
  SecurityGroups = Shapes::ListShape.new(name: 'SecurityGroups')
203
224
  Service = Shapes::StructureShape.new(name: 'Service')
@@ -222,6 +243,7 @@ module Aws::GuardDuty
222
243
  ThreatIntelligenceDetails = Shapes::ListShape.new(name: 'ThreatIntelligenceDetails')
223
244
  ThreatNames = Shapes::ListShape.new(name: 'ThreatNames')
224
245
  Timestamp = Shapes::TimestampShape.new(name: 'Timestamp')
246
+ Total = Shapes::StructureShape.new(name: 'Total')
225
247
  UnarchiveFindingsRequest = Shapes::StructureShape.new(name: 'UnarchiveFindingsRequest')
226
248
  UnarchiveFindingsResponse = Shapes::StructureShape.new(name: 'UnarchiveFindingsResponse')
227
249
  UnprocessedAccount = Shapes::StructureShape.new(name: 'UnprocessedAccount')
@@ -236,12 +258,23 @@ module Aws::GuardDuty
236
258
  UpdateFindingsFeedbackResponse = Shapes::StructureShape.new(name: 'UpdateFindingsFeedbackResponse')
237
259
  UpdateIPSetRequest = Shapes::StructureShape.new(name: 'UpdateIPSetRequest')
238
260
  UpdateIPSetResponse = Shapes::StructureShape.new(name: 'UpdateIPSetResponse')
261
+ UpdateMemberDetectorsRequest = Shapes::StructureShape.new(name: 'UpdateMemberDetectorsRequest')
262
+ UpdateMemberDetectorsResponse = Shapes::StructureShape.new(name: 'UpdateMemberDetectorsResponse')
239
263
  UpdateOrganizationConfigurationRequest = Shapes::StructureShape.new(name: 'UpdateOrganizationConfigurationRequest')
240
264
  UpdateOrganizationConfigurationResponse = Shapes::StructureShape.new(name: 'UpdateOrganizationConfigurationResponse')
241
265
  UpdatePublishingDestinationRequest = Shapes::StructureShape.new(name: 'UpdatePublishingDestinationRequest')
242
266
  UpdatePublishingDestinationResponse = Shapes::StructureShape.new(name: 'UpdatePublishingDestinationResponse')
243
267
  UpdateThreatIntelSetRequest = Shapes::StructureShape.new(name: 'UpdateThreatIntelSetRequest')
244
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')
245
278
 
246
279
  AcceptInvitationRequest.add_member(:detector_id, Shapes::ShapeRef.new(shape: DetectorId, required: true, location: "uri", location_name: "detectorId"))
247
280
  AcceptInvitationRequest.add_member(:master_id, Shapes::ShapeRef.new(shape: String, required: true, location_name: "masterId"))
@@ -293,6 +326,7 @@ module Aws::GuardDuty
293
326
  AwsApiCallAction.add_member(:api, Shapes::ShapeRef.new(shape: String, location_name: "api"))
294
327
  AwsApiCallAction.add_member(:caller_type, Shapes::ShapeRef.new(shape: String, location_name: "callerType"))
295
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"))
296
330
  AwsApiCallAction.add_member(:remote_ip_details, Shapes::ShapeRef.new(shape: RemoteIpDetails, location_name: "remoteIpDetails"))
297
331
  AwsApiCallAction.add_member(:service_name, Shapes::ShapeRef.new(shape: String, location_name: "serviceName"))
298
332
  AwsApiCallAction.struct_class = Types::AwsApiCallAction
@@ -319,6 +353,9 @@ module Aws::GuardDuty
319
353
  City.add_member(:city_name, Shapes::ShapeRef.new(shape: String, location_name: "cityName"))
320
354
  City.struct_class = Types::City
321
355
 
356
+ CloudTrailConfigurationResult.add_member(:status, Shapes::ShapeRef.new(shape: DataSourceStatus, required: true, location_name: "status"))
357
+ CloudTrailConfigurationResult.struct_class = Types::CloudTrailConfigurationResult
358
+
322
359
  Condition.add_member(:eq, Shapes::ShapeRef.new(shape: Eq, deprecated: true, location_name: "eq"))
323
360
  Condition.add_member(:neq, Shapes::ShapeRef.new(shape: Neq, deprecated: true, location_name: "neq"))
324
361
  Condition.add_member(:gt, Shapes::ShapeRef.new(shape: Integer, deprecated: true, location_name: "gt"))
@@ -343,6 +380,7 @@ module Aws::GuardDuty
343
380
  CreateDetectorRequest.add_member(:enable, Shapes::ShapeRef.new(shape: Boolean, required: true, location_name: "enable"))
344
381
  CreateDetectorRequest.add_member(:client_token, Shapes::ShapeRef.new(shape: ClientToken, location_name: "clientToken", metadata: {"idempotencyToken"=>true}))
345
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"))
346
384
  CreateDetectorRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "tags"))
347
385
  CreateDetectorRequest.struct_class = Types::CreateDetectorRequest
348
386
 
@@ -411,6 +449,20 @@ module Aws::GuardDuty
411
449
  Criterion.key = Shapes::ShapeRef.new(shape: String)
412
450
  Criterion.value = Shapes::ShapeRef.new(shape: Condition)
413
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
+
414
466
  DeclineInvitationsRequest.add_member(:account_ids, Shapes::ShapeRef.new(shape: AccountIds, required: true, location_name: "accountIds"))
415
467
  DeclineInvitationsRequest.struct_class = Types::DeclineInvitationsRequest
416
468
 
@@ -468,6 +520,7 @@ module Aws::GuardDuty
468
520
 
469
521
  DescribeOrganizationConfigurationResponse.add_member(:auto_enable, Shapes::ShapeRef.new(shape: Boolean, required: true, location_name: "autoEnable"))
470
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"))
471
524
  DescribeOrganizationConfigurationResponse.struct_class = Types::DescribeOrganizationConfigurationResponse
472
525
 
473
526
  DescribePublishingDestinationRequest.add_member(:detector_id, Shapes::ShapeRef.new(shape: DetectorId, required: true, location: "uri", location_name: "detectorId"))
@@ -562,6 +615,9 @@ module Aws::GuardDuty
562
615
 
563
616
  Findings.member = Shapes::ShapeRef.new(shape: Finding)
564
617
 
618
+ FlowLogsConfigurationResult.add_member(:status, Shapes::ShapeRef.new(shape: DataSourceStatus, required: true, location_name: "status"))
619
+ FlowLogsConfigurationResult.struct_class = Types::FlowLogsConfigurationResult
620
+
565
621
  GeoLocation.add_member(:lat, Shapes::ShapeRef.new(shape: Double, location_name: "lat"))
566
622
  GeoLocation.add_member(:lon, Shapes::ShapeRef.new(shape: Double, location_name: "lon"))
567
623
  GeoLocation.struct_class = Types::GeoLocation
@@ -574,6 +630,7 @@ module Aws::GuardDuty
574
630
  GetDetectorResponse.add_member(:service_role, Shapes::ShapeRef.new(shape: String, required: true, location_name: "serviceRole"))
575
631
  GetDetectorResponse.add_member(:status, Shapes::ShapeRef.new(shape: DetectorStatus, required: true, location_name: "status"))
576
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"))
577
634
  GetDetectorResponse.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "tags"))
578
635
  GetDetectorResponse.struct_class = Types::GetDetectorResponse
579
636
 
@@ -627,6 +684,14 @@ module Aws::GuardDuty
627
684
  GetMasterAccountResponse.add_member(:master, Shapes::ShapeRef.new(shape: Master, required: true, location_name: "master"))
628
685
  GetMasterAccountResponse.struct_class = Types::GetMasterAccountResponse
629
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
+
630
695
  GetMembersRequest.add_member(:detector_id, Shapes::ShapeRef.new(shape: DetectorId, required: true, location: "uri", location_name: "detectorId"))
631
696
  GetMembersRequest.add_member(:account_ids, Shapes::ShapeRef.new(shape: AccountIds, required: true, location_name: "accountIds"))
632
697
  GetMembersRequest.struct_class = Types::GetMembersRequest
@@ -646,6 +711,18 @@ module Aws::GuardDuty
646
711
  GetThreatIntelSetResponse.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "tags"))
647
712
  GetThreatIntelSetResponse.struct_class = Types::GetThreatIntelSetResponse
648
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
+
649
726
  IamInstanceProfile.add_member(:arn, Shapes::ShapeRef.new(shape: String, location_name: "arn"))
650
727
  IamInstanceProfile.add_member(:id, Shapes::ShapeRef.new(shape: String, location_name: "id"))
651
728
  IamInstanceProfile.struct_class = Types::IamInstanceProfile
@@ -799,6 +876,12 @@ module Aws::GuardDuty
799
876
  Member.add_member(:updated_at, Shapes::ShapeRef.new(shape: String, required: true, location_name: "updatedAt"))
800
877
  Member.struct_class = Types::Member
801
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
+
802
885
  Members.member = Shapes::ShapeRef.new(shape: Member)
803
886
 
804
887
  Neq.member = Shapes::ShapeRef.new(shape: String)
@@ -834,6 +917,18 @@ module Aws::GuardDuty
834
917
  Organization.add_member(:org, Shapes::ShapeRef.new(shape: String, location_name: "org"))
835
918
  Organization.struct_class = Types::Organization
836
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
+
837
932
  Owner.add_member(:id, Shapes::ShapeRef.new(shape: String, location_name: "id"))
838
933
  Owner.struct_class = Types::Owner
839
934
 
@@ -885,6 +980,8 @@ module Aws::GuardDuty
885
980
  Resource.add_member(:resource_type, Shapes::ShapeRef.new(shape: String, location_name: "resourceType"))
886
981
  Resource.struct_class = Types::Resource
887
982
 
983
+ ResourceList.member = Shapes::ShapeRef.new(shape: String)
984
+
888
985
  S3BucketDetail.add_member(:arn, Shapes::ShapeRef.new(shape: String, location_name: "arn"))
889
986
  S3BucketDetail.add_member(:name, Shapes::ShapeRef.new(shape: String, location_name: "name"))
890
987
  S3BucketDetail.add_member(:type, Shapes::ShapeRef.new(shape: String, location_name: "type"))
@@ -897,6 +994,12 @@ module Aws::GuardDuty
897
994
 
898
995
  S3BucketDetails.member = Shapes::ShapeRef.new(shape: S3BucketDetail)
899
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
+
900
1003
  SecurityGroup.add_member(:group_id, Shapes::ShapeRef.new(shape: String, location_name: "groupId"))
901
1004
  SecurityGroup.add_member(:group_name, Shapes::ShapeRef.new(shape: String, location_name: "groupName"))
902
1005
  SecurityGroup.struct_class = Types::SecurityGroup
@@ -960,6 +1063,10 @@ module Aws::GuardDuty
960
1063
 
961
1064
  ThreatNames.member = Shapes::ShapeRef.new(shape: String)
962
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
+
963
1070
  UnarchiveFindingsRequest.add_member(:detector_id, Shapes::ShapeRef.new(shape: DetectorId, required: true, location: "uri", location_name: "detectorId"))
964
1071
  UnarchiveFindingsRequest.add_member(:finding_ids, Shapes::ShapeRef.new(shape: FindingIds, required: true, location_name: "findingIds"))
965
1072
  UnarchiveFindingsRequest.struct_class = Types::UnarchiveFindingsRequest
@@ -981,6 +1088,7 @@ module Aws::GuardDuty
981
1088
  UpdateDetectorRequest.add_member(:detector_id, Shapes::ShapeRef.new(shape: DetectorId, required: true, location: "uri", location_name: "detectorId"))
982
1089
  UpdateDetectorRequest.add_member(:enable, Shapes::ShapeRef.new(shape: Boolean, location_name: "enable"))
983
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"))
984
1092
  UpdateDetectorRequest.struct_class = Types::UpdateDetectorRequest
985
1093
 
986
1094
  UpdateDetectorResponse.struct_class = Types::UpdateDetectorResponse
@@ -1013,8 +1121,17 @@ module Aws::GuardDuty
1013
1121
 
1014
1122
  UpdateIPSetResponse.struct_class = Types::UpdateIPSetResponse
1015
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
+
1016
1132
  UpdateOrganizationConfigurationRequest.add_member(:detector_id, Shapes::ShapeRef.new(shape: DetectorId, required: true, location: "uri", location_name: "detectorId"))
1017
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"))
1018
1135
  UpdateOrganizationConfigurationRequest.struct_class = Types::UpdateOrganizationConfigurationRequest
1019
1136
 
1020
1137
  UpdateOrganizationConfigurationResponse.struct_class = Types::UpdateOrganizationConfigurationResponse
@@ -1035,6 +1152,35 @@ module Aws::GuardDuty
1035
1152
 
1036
1153
  UpdateThreatIntelSetResponse.struct_class = Types::UpdateThreatIntelSetResponse
1037
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
+
1038
1184
 
1039
1185
  # @api private
1040
1186
  API = Seahorse::Model::Api.new.tap do |api|
@@ -1353,6 +1499,16 @@ module Aws::GuardDuty
1353
1499
  o.errors << Shapes::ShapeRef.new(shape: InternalServerErrorException)
1354
1500
  end)
1355
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
+
1356
1512
  api.add_operation(:get_members, Seahorse::Model::Operation.new.tap do |o|
1357
1513
  o.name = "GetMembers"
1358
1514
  o.http_method = "POST"
@@ -1373,6 +1529,22 @@ module Aws::GuardDuty
1373
1529
  o.errors << Shapes::ShapeRef.new(shape: InternalServerErrorException)
1374
1530
  end)
1375
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
+
1376
1548
  api.add_operation(:invite_members, Seahorse::Model::Operation.new.tap do |o|
1377
1549
  o.name = "InviteMembers"
1378
1550
  o.http_method = "POST"
@@ -1627,6 +1799,16 @@ module Aws::GuardDuty
1627
1799
  o.errors << Shapes::ShapeRef.new(shape: InternalServerErrorException)
1628
1800
  end)
1629
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
+
1630
1812
  api.add_operation(:update_organization_configuration, Seahorse::Model::Operation.new.tap do |o|
1631
1813
  o.name = "UpdateOrganizationConfiguration"
1632
1814
  o.http_method = "POST"