aws-sdk-guardduty 1.36.0 → 1.41.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: 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"