aws-sdk-configservice 1.0.0.rc2 → 1.0.0.rc3

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
  SHA1:
3
- metadata.gz: 1e11b8455402247e48893fabb8a703ce17b14d04
4
- data.tar.gz: d83a7c21b61299ef9117caa4edb0e612c0159d7f
3
+ metadata.gz: 77f40b9d343abd1cc7a4427fc72ecd1de3ba13fc
4
+ data.tar.gz: e91162f8027f2b60024eba146964cd31d286dcb4
5
5
  SHA512:
6
- metadata.gz: eda5a0feb84afcfe1efbe4103097dd5de2cfa9e7196d9c46ce1c406ee9c4196e22dd96f14297f8e67b2511416ed7143ec65c4f64414625d7693878b36a596a20
7
- data.tar.gz: 570d8226bd8803538314c2c9aed438ab38c5163ab8e1ec524e0da94a373bb06e6d682bb09b8011ab8ac903e1bf1e19d295c7fcf47d4cc5c2a0e3c25ea934d136
6
+ metadata.gz: 7c81eb18e4d29dada854b08a52d6a2b113f7ab42e440313cbc23b27c748fa8309c8e7b977e0eb87e328876f075489a086b55c8a92bf9d1af7cf977448c24c5ac
7
+ data.tar.gz: 751b515779e823a05d45da393ad2ecc9e828c0d2c904b06dcca451b942a9c63c27e5de5e77e1ca634ab12980f2803af2dea1a102732043903cceaadbcc3294d5
@@ -1,6 +1,6 @@
1
1
  # WARNING ABOUT GENERATED CODE
2
2
  #
3
- # This file is generated. See the contributing for info on making contributions:
3
+ # This file is generated. See the contributing guide for more information:
4
4
  # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
5
  #
6
6
  # WARNING ABOUT GENERATED CODE
@@ -1,6 +1,6 @@
1
1
  # WARNING ABOUT GENERATED CODE
2
2
  #
3
- # This file is generated. See the contributing for info on making contributions:
3
+ # This file is generated. See the contributing guide for more information:
4
4
  # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
5
  #
6
6
  # WARNING ABOUT GENERATED CODE
@@ -23,1301 +23,1459 @@ require 'aws-sdk-core/plugins/protocols/json_rpc.rb'
23
23
 
24
24
  Aws::Plugins::GlobalConfiguration.add_identifier(:configservice)
25
25
 
26
- module Aws
27
- module ConfigService
28
- class Client < Seahorse::Client::Base
26
+ module Aws::ConfigService
27
+ class Client < Seahorse::Client::Base
29
28
 
30
- include Aws::ClientStubs
29
+ include Aws::ClientStubs
31
30
 
32
- @identifier = :configservice
31
+ @identifier = :configservice
33
32
 
34
- set_api(ClientApi::API)
33
+ set_api(ClientApi::API)
35
34
 
36
- add_plugin(Seahorse::Client::Plugins::ContentLength)
37
- add_plugin(Aws::Plugins::CredentialsConfiguration)
38
- add_plugin(Aws::Plugins::Logging)
39
- add_plugin(Aws::Plugins::ParamConverter)
40
- add_plugin(Aws::Plugins::ParamValidator)
41
- add_plugin(Aws::Plugins::UserAgent)
42
- add_plugin(Aws::Plugins::HelpfulSocketErrors)
43
- add_plugin(Aws::Plugins::RetryErrors)
44
- add_plugin(Aws::Plugins::GlobalConfiguration)
45
- add_plugin(Aws::Plugins::RegionalEndpoint)
46
- add_plugin(Aws::Plugins::ResponsePaging)
47
- add_plugin(Aws::Plugins::StubResponses)
48
- add_plugin(Aws::Plugins::IdempotencyToken)
49
- add_plugin(Aws::Plugins::SignatureV4)
50
- add_plugin(Aws::Plugins::Protocols::JsonRpc)
35
+ add_plugin(Seahorse::Client::Plugins::ContentLength)
36
+ add_plugin(Aws::Plugins::CredentialsConfiguration)
37
+ add_plugin(Aws::Plugins::Logging)
38
+ add_plugin(Aws::Plugins::ParamConverter)
39
+ add_plugin(Aws::Plugins::ParamValidator)
40
+ add_plugin(Aws::Plugins::UserAgent)
41
+ add_plugin(Aws::Plugins::HelpfulSocketErrors)
42
+ add_plugin(Aws::Plugins::RetryErrors)
43
+ add_plugin(Aws::Plugins::GlobalConfiguration)
44
+ add_plugin(Aws::Plugins::RegionalEndpoint)
45
+ add_plugin(Aws::Plugins::ResponsePaging)
46
+ add_plugin(Aws::Plugins::StubResponses)
47
+ add_plugin(Aws::Plugins::IdempotencyToken)
48
+ add_plugin(Aws::Plugins::SignatureV4)
49
+ add_plugin(Aws::Plugins::Protocols::JsonRpc)
51
50
 
52
- # @option options [required, Aws::CredentialProvider] :credentials
53
- # Your AWS credentials. This can be an instance of any one of the
54
- # following classes:
55
- #
56
- # * `Aws::Credentials` - Used for configuring static, non-refreshing
57
- # credentials.
58
- #
59
- # * `Aws::InstanceProfileCredentials` - Used for loading credentials
60
- # from an EC2 IMDS on an EC2 instance.
61
- #
62
- # * `Aws::SharedCredentials` - Used for loading credentials from a
63
- # shared file, such as `~/.aws/config`.
64
- #
65
- # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
66
- #
67
- # When `:credentials` are not configured directly, the following
68
- # locations will be searched for credentials:
69
- #
70
- # * `Aws.config[:credentials]`
71
- # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
72
- # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
73
- # * `~/.aws/credentials`
74
- # * `~/.aws/config`
75
- # * EC2 IMDS instance profile - When used by default, the timeouts are
76
- # very aggressive. Construct and pass an instance of
77
- # `Aws::InstanceProfileCredentails` to enable retries and extended
78
- # timeouts.
79
- # @option options [required, String] :region
80
- # The AWS region to connect to. The configured `:region` is
81
- # used to determine the service `:endpoint`. When not passed,
82
- # a default `:region` is search for in the following locations:
83
- #
84
- # * `Aws.config[:region]`
85
- # * `ENV['AWS_REGION']`
86
- # * `ENV['AMAZON_REGION']`
87
- # * `ENV['AWS_DEFAULT_REGION']`
88
- # * `~/.aws/credentials`
89
- # * `~/.aws/config`
90
- # @option options [String] :access_key_id
91
- # @option options [Boolean] :convert_params (true)
92
- # When `true`, an attempt is made to coerce request parameters into
93
- # the required types.
94
- # @option options [String] :endpoint
95
- # The client endpoint is normally constructed from the `:region`
96
- # option. You should only configure an `:endpoint` when connecting
97
- # to test endpoints. This should be avalid HTTP(S) URI.
98
- # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
99
- # The log formatter.
100
- # @option options [Symbol] :log_level (:info)
101
- # The log level to send messages to the `:logger` at.
102
- # @option options [Logger] :logger
103
- # The Logger instance to send log messages to. If this option
104
- # is not set, logging will be disabled.
105
- # @option options [String] :profile ("default")
106
- # Used when loading credentials from the shared credentials file
107
- # at HOME/.aws/credentials. When not specified, 'default' is used.
108
- # @option options [Integer] :retry_limit (3)
109
- # The maximum number of times to retry failed requests. Only
110
- # ~ 500 level server errors and certain ~ 400 level client errors
111
- # are retried. Generally, these are throttling errors, data
112
- # checksum errors, networking errors, timeout errors and auth
113
- # errors from expired credentials.
114
- # @option options [String] :secret_access_key
115
- # @option options [String] :session_token
116
- # @option options [Boolean] :simple_json (false)
117
- # Disables request parameter conversion, validation, and formatting.
118
- # Also disable response data type conversions. This option is useful
119
- # when you want to ensure the highest level of performance by
120
- # avoiding overhead of walking request parameters and response data
121
- # structures.
122
- #
123
- # When `:simple_json` is enabled, the request parameters hash must
124
- # be formatted exactly as the DynamoDB API expects.
125
- # @option options [Boolean] :stub_responses (false)
126
- # Causes the client to return stubbed responses. By default
127
- # fake responses are generated and returned. You can specify
128
- # the response data to return or errors to raise by calling
129
- # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
130
- #
131
- # ** Please note ** When response stubbing is enabled, no HTTP
132
- # requests are made, and retries are disabled.
133
- # @option options [Boolean] :validate_params (true)
134
- # When `true`, request parameters are validated before
135
- # sending the request.
136
- def initialize(*args)
137
- super
138
- end
139
-
140
- # @!group API Operations
51
+ # @option options [required, Aws::CredentialProvider] :credentials
52
+ # Your AWS credentials. This can be an instance of any one of the
53
+ # following classes:
54
+ #
55
+ # * `Aws::Credentials` - Used for configuring static, non-refreshing
56
+ # credentials.
57
+ #
58
+ # * `Aws::InstanceProfileCredentials` - Used for loading credentials
59
+ # from an EC2 IMDS on an EC2 instance.
60
+ #
61
+ # * `Aws::SharedCredentials` - Used for loading credentials from a
62
+ # shared file, such as `~/.aws/config`.
63
+ #
64
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
65
+ #
66
+ # When `:credentials` are not configured directly, the following
67
+ # locations will be searched for credentials:
68
+ #
69
+ # * `Aws.config[:credentials]`
70
+ # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
71
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
72
+ # * `~/.aws/credentials`
73
+ # * `~/.aws/config`
74
+ # * EC2 IMDS instance profile - When used by default, the timeouts are
75
+ # very aggressive. Construct and pass an instance of
76
+ # `Aws::InstanceProfileCredentails` to enable retries and extended
77
+ # timeouts.
78
+ #
79
+ # @option options [required, String] :region
80
+ # The AWS region to connect to. The configured `:region` is
81
+ # used to determine the service `:endpoint`. When not passed,
82
+ # a default `:region` is search for in the following locations:
83
+ #
84
+ # * `Aws.config[:region]`
85
+ # * `ENV['AWS_REGION']`
86
+ # * `ENV['AMAZON_REGION']`
87
+ # * `ENV['AWS_DEFAULT_REGION']`
88
+ # * `~/.aws/credentials`
89
+ # * `~/.aws/config`
90
+ #
91
+ # @option options [String] :access_key_id
92
+ #
93
+ # @option options [Boolean] :convert_params (true)
94
+ # When `true`, an attempt is made to coerce request parameters into
95
+ # the required types.
96
+ #
97
+ # @option options [String] :endpoint
98
+ # The client endpoint is normally constructed from the `:region`
99
+ # option. You should only configure an `:endpoint` when connecting
100
+ # to test endpoints. This should be avalid HTTP(S) URI.
101
+ #
102
+ # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
103
+ # The log formatter.
104
+ #
105
+ # @option options [Symbol] :log_level (:info)
106
+ # The log level to send messages to the `:logger` at.
107
+ #
108
+ # @option options [Logger] :logger
109
+ # The Logger instance to send log messages to. If this option
110
+ # is not set, logging will be disabled.
111
+ #
112
+ # @option options [String] :profile ("default")
113
+ # Used when loading credentials from the shared credentials file
114
+ # at HOME/.aws/credentials. When not specified, 'default' is used.
115
+ #
116
+ # @option options [Integer] :retry_limit (3)
117
+ # The maximum number of times to retry failed requests. Only
118
+ # ~ 500 level server errors and certain ~ 400 level client errors
119
+ # are retried. Generally, these are throttling errors, data
120
+ # checksum errors, networking errors, timeout errors and auth
121
+ # errors from expired credentials.
122
+ #
123
+ # @option options [String] :secret_access_key
124
+ #
125
+ # @option options [String] :session_token
126
+ #
127
+ # @option options [Boolean] :simple_json (false)
128
+ # Disables request parameter conversion, validation, and formatting.
129
+ # Also disable response data type conversions. This option is useful
130
+ # when you want to ensure the highest level of performance by
131
+ # avoiding overhead of walking request parameters and response data
132
+ # structures.
133
+ #
134
+ # When `:simple_json` is enabled, the request parameters hash must
135
+ # be formatted exactly as the DynamoDB API expects.
136
+ #
137
+ # @option options [Boolean] :stub_responses (false)
138
+ # Causes the client to return stubbed responses. By default
139
+ # fake responses are generated and returned. You can specify
140
+ # the response data to return or errors to raise by calling
141
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
142
+ #
143
+ # ** Please note ** When response stubbing is enabled, no HTTP
144
+ # requests are made, and retries are disabled.
145
+ #
146
+ # @option options [Boolean] :validate_params (true)
147
+ # When `true`, request parameters are validated before
148
+ # sending the request.
149
+ #
150
+ def initialize(*args)
151
+ super
152
+ end
141
153
 
142
- # Deletes the specified AWS Config rule and all of its evaluation
143
- # results.
144
- #
145
- # AWS Config sets the state of a rule to `DELETING` until the deletion
146
- # is complete. You cannot update a rule while it is in this state. If
147
- # you make a `PutConfigRule` or `DeleteConfigRule` request for the rule,
148
- # you will receive a `ResourceInUseException`.
149
- #
150
- # You can check the state of a rule by using the `DescribeConfigRules`
151
- # request.
152
- # @option params [required, String] :config_rule_name
153
- # The name of the AWS Config rule that you want to delete.
154
- # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
155
- #
156
- # @example Request syntax with placeholder values
157
- # resp = client.delete_config_rule({
158
- # config_rule_name: "StringWithCharLimit64", # required
159
- # })
160
- # @overload delete_config_rule(params = {})
161
- # @param [Hash] params ({})
162
- def delete_config_rule(params = {}, options = {})
163
- req = build_request(:delete_config_rule, params)
164
- req.send_request(options)
165
- end
154
+ # @!group API Operations
166
155
 
167
- # Deletes the configuration recorder.
168
- #
169
- # After the configuration recorder is deleted, AWS Config will not
170
- # record resource configuration changes until you create a new
171
- # configuration recorder.
172
- #
173
- # This action does not delete the configuration information that was
174
- # previously recorded. You will be able to access the previously
175
- # recorded information by using the `GetResourceConfigHistory` action,
176
- # but you will not be able to access this information in the AWS Config
177
- # console until you create a new configuration recorder.
178
- # @option params [required, String] :configuration_recorder_name
179
- # The name of the configuration recorder to be deleted. You can retrieve
180
- # the name of your configuration recorder by using the
181
- # `DescribeConfigurationRecorders` action.
182
- # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
183
- #
184
- # @example Request syntax with placeholder values
185
- # resp = client.delete_configuration_recorder({
186
- # configuration_recorder_name: "RecorderName", # required
187
- # })
188
- # @overload delete_configuration_recorder(params = {})
189
- # @param [Hash] params ({})
190
- def delete_configuration_recorder(params = {}, options = {})
191
- req = build_request(:delete_configuration_recorder, params)
192
- req.send_request(options)
193
- end
156
+ # Deletes the specified AWS Config rule and all of its evaluation
157
+ # results.
158
+ #
159
+ # AWS Config sets the state of a rule to `DELETING` until the deletion
160
+ # is complete. You cannot update a rule while it is in this state. If
161
+ # you make a `PutConfigRule` or `DeleteConfigRule` request for the rule,
162
+ # you will receive a `ResourceInUseException`.
163
+ #
164
+ # You can check the state of a rule by using the `DescribeConfigRules`
165
+ # request.
166
+ #
167
+ # @option params [required, String] :config_rule_name
168
+ # The name of the AWS Config rule that you want to delete.
169
+ #
170
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
171
+ #
172
+ # @example Request syntax with placeholder values
173
+ #
174
+ # resp = client.delete_config_rule({
175
+ # config_rule_name: "StringWithCharLimit64", # required
176
+ # })
177
+ #
178
+ # @overload delete_config_rule(params = {})
179
+ # @param [Hash] params ({})
180
+ def delete_config_rule(params = {}, options = {})
181
+ req = build_request(:delete_config_rule, params)
182
+ req.send_request(options)
183
+ end
194
184
 
195
- # Deletes the delivery channel.
196
- #
197
- # Before you can delete the delivery channel, you must stop the
198
- # configuration recorder by using the StopConfigurationRecorder action.
199
- # @option params [required, String] :delivery_channel_name
200
- # The name of the delivery channel to delete.
201
- # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
202
- #
203
- # @example Request syntax with placeholder values
204
- # resp = client.delete_delivery_channel({
205
- # delivery_channel_name: "ChannelName", # required
206
- # })
207
- # @overload delete_delivery_channel(params = {})
208
- # @param [Hash] params ({})
209
- def delete_delivery_channel(params = {}, options = {})
210
- req = build_request(:delete_delivery_channel, params)
211
- req.send_request(options)
212
- end
185
+ # Deletes the configuration recorder.
186
+ #
187
+ # After the configuration recorder is deleted, AWS Config will not
188
+ # record resource configuration changes until you create a new
189
+ # configuration recorder.
190
+ #
191
+ # This action does not delete the configuration information that was
192
+ # previously recorded. You will be able to access the previously
193
+ # recorded information by using the `GetResourceConfigHistory` action,
194
+ # but you will not be able to access this information in the AWS Config
195
+ # console until you create a new configuration recorder.
196
+ #
197
+ # @option params [required, String] :configuration_recorder_name
198
+ # The name of the configuration recorder to be deleted. You can retrieve
199
+ # the name of your configuration recorder by using the
200
+ # `DescribeConfigurationRecorders` action.
201
+ #
202
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
203
+ #
204
+ # @example Request syntax with placeholder values
205
+ #
206
+ # resp = client.delete_configuration_recorder({
207
+ # configuration_recorder_name: "RecorderName", # required
208
+ # })
209
+ #
210
+ # @overload delete_configuration_recorder(params = {})
211
+ # @param [Hash] params ({})
212
+ def delete_configuration_recorder(params = {}, options = {})
213
+ req = build_request(:delete_configuration_recorder, params)
214
+ req.send_request(options)
215
+ end
213
216
 
214
- # Deletes the evaluation results for the specified Config rule. You can
215
- # specify one Config rule per request. After you delete the evaluation
216
- # results, you can call the StartConfigRulesEvaluation API to start
217
- # evaluating your AWS resources against the rule.
218
- # @option params [required, String] :config_rule_name
219
- # The name of the Config rule for which you want to delete the
220
- # evaluation results.
221
- # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
222
- #
223
- # @example Request syntax with placeholder values
224
- # resp = client.delete_evaluation_results({
225
- # config_rule_name: "StringWithCharLimit64", # required
226
- # })
227
- # @overload delete_evaluation_results(params = {})
228
- # @param [Hash] params ({})
229
- def delete_evaluation_results(params = {}, options = {})
230
- req = build_request(:delete_evaluation_results, params)
231
- req.send_request(options)
232
- end
217
+ # Deletes the delivery channel.
218
+ #
219
+ # Before you can delete the delivery channel, you must stop the
220
+ # configuration recorder by using the StopConfigurationRecorder action.
221
+ #
222
+ # @option params [required, String] :delivery_channel_name
223
+ # The name of the delivery channel to delete.
224
+ #
225
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
226
+ #
227
+ # @example Request syntax with placeholder values
228
+ #
229
+ # resp = client.delete_delivery_channel({
230
+ # delivery_channel_name: "ChannelName", # required
231
+ # })
232
+ #
233
+ # @overload delete_delivery_channel(params = {})
234
+ # @param [Hash] params ({})
235
+ def delete_delivery_channel(params = {}, options = {})
236
+ req = build_request(:delete_delivery_channel, params)
237
+ req.send_request(options)
238
+ end
233
239
 
234
- # Schedules delivery of a configuration snapshot to the Amazon S3 bucket
235
- # in the specified delivery channel. After the delivery has started, AWS
236
- # Config sends following notifications using an Amazon SNS topic that
237
- # you have specified.
238
- #
239
- # * Notification of starting the delivery.
240
- #
241
- # * Notification of delivery completed, if the delivery was successfully
242
- # completed.
243
- #
244
- # * Notification of delivery failure, if the delivery failed to
245
- # complete.
246
- # @option params [required, String] :delivery_channel_name
247
- # The name of the delivery channel through which the snapshot is
248
- # delivered.
249
- # @return [Types::DeliverConfigSnapshotResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
250
- #
251
- # * {Types::DeliverConfigSnapshotResponse#config_snapshot_id #configSnapshotId} => String
252
- #
253
- # @example Request syntax with placeholder values
254
- # resp = client.deliver_config_snapshot({
255
- # delivery_channel_name: "ChannelName", # required
256
- # })
257
- #
258
- # @example Response structure
259
- # resp.config_snapshot_id #=> String
260
- # @overload deliver_config_snapshot(params = {})
261
- # @param [Hash] params ({})
262
- def deliver_config_snapshot(params = {}, options = {})
263
- req = build_request(:deliver_config_snapshot, params)
264
- req.send_request(options)
265
- end
240
+ # Deletes the evaluation results for the specified Config rule. You can
241
+ # specify one Config rule per request. After you delete the evaluation
242
+ # results, you can call the StartConfigRulesEvaluation API to start
243
+ # evaluating your AWS resources against the rule.
244
+ #
245
+ # @option params [required, String] :config_rule_name
246
+ # The name of the Config rule for which you want to delete the
247
+ # evaluation results.
248
+ #
249
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
250
+ #
251
+ # @example Request syntax with placeholder values
252
+ #
253
+ # resp = client.delete_evaluation_results({
254
+ # config_rule_name: "StringWithCharLimit64", # required
255
+ # })
256
+ #
257
+ # @overload delete_evaluation_results(params = {})
258
+ # @param [Hash] params ({})
259
+ def delete_evaluation_results(params = {}, options = {})
260
+ req = build_request(:delete_evaluation_results, params)
261
+ req.send_request(options)
262
+ end
266
263
 
267
- # Indicates whether the specified AWS Config rules are compliant. If a
268
- # rule is noncompliant, this action returns the number of AWS resources
269
- # that do not comply with the rule.
270
- #
271
- # A rule is compliant if all of the evaluated resources comply with it,
272
- # and it is noncompliant if any of these resources do not comply.
273
- #
274
- # If AWS Config has no current evaluation results for the rule, it
275
- # returns `INSUFFICIENT_DATA`. This result might indicate one of the
276
- # following conditions:
277
- #
278
- # * AWS Config has never invoked an evaluation for the rule. To check
279
- # whether it has, use the `DescribeConfigRuleEvaluationStatus` action
280
- # to get the `LastSuccessfulInvocationTime` and
281
- # `LastFailedInvocationTime`.
282
- #
283
- # * The rule's AWS Lambda function is failing to send evaluation
284
- # results to AWS Config. Verify that the role that you assigned to
285
- # your configuration recorder includes the `config:PutEvaluations`
286
- # permission. If the rule is a custom rule, verify that the AWS Lambda
287
- # execution role includes the `config:PutEvaluations` permission.
288
- #
289
- # * The rule's AWS Lambda function has returned `NOT_APPLICABLE` for
290
- # all evaluation results. This can occur if the resources were deleted
291
- # or removed from the rule's scope.
292
- # @option params [Array<String>] :config_rule_names
293
- # Specify one or more AWS Config rule names to filter the results by
294
- # rule.
295
- # @option params [Array<String>] :compliance_types
296
- # Filters the results by compliance.
297
- #
298
- # The allowed values are `COMPLIANT`, `NON_COMPLIANT`, and
299
- # `INSUFFICIENT_DATA`.
300
- # @option params [String] :next_token
301
- # The `nextToken` string returned on a previous page that you use to get
302
- # the next page of results in a paginated response.
303
- # @return [Types::DescribeComplianceByConfigRuleResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
304
- #
305
- # * {Types::DescribeComplianceByConfigRuleResponse#compliance_by_config_rules #ComplianceByConfigRules} => Array&lt;Types::ComplianceByConfigRule&gt;
306
- # * {Types::DescribeComplianceByConfigRuleResponse#next_token #NextToken} => String
307
- #
308
- # @example Request syntax with placeholder values
309
- # resp = client.describe_compliance_by_config_rule({
310
- # config_rule_names: ["StringWithCharLimit64"],
311
- # compliance_types: ["COMPLIANT"], # accepts COMPLIANT, NON_COMPLIANT, NOT_APPLICABLE, INSUFFICIENT_DATA
312
- # next_token: "String",
313
- # })
314
- #
315
- # @example Response structure
316
- # resp.compliance_by_config_rules #=> Array
317
- # resp.compliance_by_config_rules[0].config_rule_name #=> String
318
- # resp.compliance_by_config_rules[0].compliance.compliance_type #=> String, one of "COMPLIANT", "NON_COMPLIANT", "NOT_APPLICABLE", "INSUFFICIENT_DATA"
319
- # resp.compliance_by_config_rules[0].compliance.compliance_contributor_count.capped_count #=> Integer
320
- # resp.compliance_by_config_rules[0].compliance.compliance_contributor_count.cap_exceeded #=> Boolean
321
- # resp.next_token #=> String
322
- # @overload describe_compliance_by_config_rule(params = {})
323
- # @param [Hash] params ({})
324
- def describe_compliance_by_config_rule(params = {}, options = {})
325
- req = build_request(:describe_compliance_by_config_rule, params)
326
- req.send_request(options)
327
- end
264
+ # Schedules delivery of a configuration snapshot to the Amazon S3 bucket
265
+ # in the specified delivery channel. After the delivery has started, AWS
266
+ # Config sends following notifications using an Amazon SNS topic that
267
+ # you have specified.
268
+ #
269
+ # * Notification of starting the delivery.
270
+ #
271
+ # * Notification of delivery completed, if the delivery was successfully
272
+ # completed.
273
+ #
274
+ # * Notification of delivery failure, if the delivery failed to
275
+ # complete.
276
+ #
277
+ # @option params [required, String] :delivery_channel_name
278
+ # The name of the delivery channel through which the snapshot is
279
+ # delivered.
280
+ #
281
+ # @return [Types::DeliverConfigSnapshotResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
282
+ #
283
+ # * {Types::DeliverConfigSnapshotResponse#config_snapshot_id #config_snapshot_id} => String
284
+ #
285
+ # @example Request syntax with placeholder values
286
+ #
287
+ # resp = client.deliver_config_snapshot({
288
+ # delivery_channel_name: "ChannelName", # required
289
+ # })
290
+ #
291
+ # @example Response structure
292
+ #
293
+ # resp.config_snapshot_id #=> String
294
+ #
295
+ # @overload deliver_config_snapshot(params = {})
296
+ # @param [Hash] params ({})
297
+ def deliver_config_snapshot(params = {}, options = {})
298
+ req = build_request(:deliver_config_snapshot, params)
299
+ req.send_request(options)
300
+ end
328
301
 
329
- # Indicates whether the specified AWS resources are compliant. If a
330
- # resource is noncompliant, this action returns the number of AWS Config
331
- # rules that the resource does not comply with.
332
- #
333
- # A resource is compliant if it complies with all the AWS Config rules
334
- # that evaluate it. It is noncompliant if it does not comply with one or
335
- # more of these rules.
336
- #
337
- # If AWS Config has no current evaluation results for the resource, it
338
- # returns `INSUFFICIENT_DATA`. This result might indicate one of the
339
- # following conditions about the rules that evaluate the resource:
340
- #
341
- # * AWS Config has never invoked an evaluation for the rule. To check
342
- # whether it has, use the `DescribeConfigRuleEvaluationStatus` action
343
- # to get the `LastSuccessfulInvocationTime` and
344
- # `LastFailedInvocationTime`.
345
- #
346
- # * The rule's AWS Lambda function is failing to send evaluation
347
- # results to AWS Config. Verify that the role that you assigned to
348
- # your configuration recorder includes the `config:PutEvaluations`
349
- # permission. If the rule is a custom rule, verify that the AWS Lambda
350
- # execution role includes the `config:PutEvaluations` permission.
351
- #
352
- # * The rule's AWS Lambda function has returned `NOT_APPLICABLE` for
353
- # all evaluation results. This can occur if the resources were deleted
354
- # or removed from the rule's scope.
355
- # @option params [String] :resource_type
356
- # The types of AWS resources for which you want compliance information;
357
- # for example, `AWS::EC2::Instance`. For this action, you can specify
358
- # that the resource type is an AWS account by specifying
359
- # `AWS::::Account`.
360
- # @option params [String] :resource_id
361
- # The ID of the AWS resource for which you want compliance information.
362
- # You can specify only one resource ID. If you specify a resource ID,
363
- # you must also specify a type for `ResourceType`.
364
- # @option params [Array<String>] :compliance_types
365
- # Filters the results by compliance.
366
- #
367
- # The allowed values are `COMPLIANT`, `NON_COMPLIANT`, and
368
- # `INSUFFICIENT_DATA`.
369
- # @option params [Integer] :limit
370
- # The maximum number of evaluation results returned on each page. The
371
- # default is 10. You cannot specify a limit greater than 100. If you
372
- # specify 0, AWS Config uses the default.
373
- # @option params [String] :next_token
374
- # The `nextToken` string returned on a previous page that you use to get
375
- # the next page of results in a paginated response.
376
- # @return [Types::DescribeComplianceByResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
377
- #
378
- # * {Types::DescribeComplianceByResourceResponse#compliance_by_resources #ComplianceByResources} => Array&lt;Types::ComplianceByResource&gt;
379
- # * {Types::DescribeComplianceByResourceResponse#next_token #NextToken} => String
380
- #
381
- # @example Request syntax with placeholder values
382
- # resp = client.describe_compliance_by_resource({
383
- # resource_type: "StringWithCharLimit256",
384
- # resource_id: "StringWithCharLimit256",
385
- # compliance_types: ["COMPLIANT"], # accepts COMPLIANT, NON_COMPLIANT, NOT_APPLICABLE, INSUFFICIENT_DATA
386
- # limit: 1,
387
- # next_token: "NextToken",
388
- # })
389
- #
390
- # @example Response structure
391
- # resp.compliance_by_resources #=> Array
392
- # resp.compliance_by_resources[0].resource_type #=> String
393
- # resp.compliance_by_resources[0].resource_id #=> String
394
- # resp.compliance_by_resources[0].compliance.compliance_type #=> String, one of "COMPLIANT", "NON_COMPLIANT", "NOT_APPLICABLE", "INSUFFICIENT_DATA"
395
- # resp.compliance_by_resources[0].compliance.compliance_contributor_count.capped_count #=> Integer
396
- # resp.compliance_by_resources[0].compliance.compliance_contributor_count.cap_exceeded #=> Boolean
397
- # resp.next_token #=> String
398
- # @overload describe_compliance_by_resource(params = {})
399
- # @param [Hash] params ({})
400
- def describe_compliance_by_resource(params = {}, options = {})
401
- req = build_request(:describe_compliance_by_resource, params)
402
- req.send_request(options)
403
- end
302
+ # Indicates whether the specified AWS Config rules are compliant. If a
303
+ # rule is noncompliant, this action returns the number of AWS resources
304
+ # that do not comply with the rule.
305
+ #
306
+ # A rule is compliant if all of the evaluated resources comply with it,
307
+ # and it is noncompliant if any of these resources do not comply.
308
+ #
309
+ # If AWS Config has no current evaluation results for the rule, it
310
+ # returns `INSUFFICIENT_DATA`. This result might indicate one of the
311
+ # following conditions:
312
+ #
313
+ # * AWS Config has never invoked an evaluation for the rule. To check
314
+ # whether it has, use the `DescribeConfigRuleEvaluationStatus` action
315
+ # to get the `LastSuccessfulInvocationTime` and
316
+ # `LastFailedInvocationTime`.
317
+ #
318
+ # * The rule's AWS Lambda function is failing to send evaluation
319
+ # results to AWS Config. Verify that the role that you assigned to
320
+ # your configuration recorder includes the `config:PutEvaluations`
321
+ # permission. If the rule is a custom rule, verify that the AWS Lambda
322
+ # execution role includes the `config:PutEvaluations` permission.
323
+ #
324
+ # * The rule's AWS Lambda function has returned `NOT_APPLICABLE` for
325
+ # all evaluation results. This can occur if the resources were deleted
326
+ # or removed from the rule's scope.
327
+ #
328
+ # @option params [Array<String>] :config_rule_names
329
+ # Specify one or more AWS Config rule names to filter the results by
330
+ # rule.
331
+ #
332
+ # @option params [Array<String>] :compliance_types
333
+ # Filters the results by compliance.
334
+ #
335
+ # The allowed values are `COMPLIANT`, `NON_COMPLIANT`, and
336
+ # `INSUFFICIENT_DATA`.
337
+ #
338
+ # @option params [String] :next_token
339
+ # The `NextToken` string returned on a previous page that you use to get
340
+ # the next page of results in a paginated response.
341
+ #
342
+ # @return [Types::DescribeComplianceByConfigRuleResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
343
+ #
344
+ # * {Types::DescribeComplianceByConfigRuleResponse#compliance_by_config_rules #compliance_by_config_rules} => Array&lt;Types::ComplianceByConfigRule&gt;
345
+ # * {Types::DescribeComplianceByConfigRuleResponse#next_token #next_token} => String
346
+ #
347
+ # @example Request syntax with placeholder values
348
+ #
349
+ # resp = client.describe_compliance_by_config_rule({
350
+ # config_rule_names: ["StringWithCharLimit64"],
351
+ # compliance_types: ["COMPLIANT"], # accepts COMPLIANT, NON_COMPLIANT, NOT_APPLICABLE, INSUFFICIENT_DATA
352
+ # next_token: "String",
353
+ # })
354
+ #
355
+ # @example Response structure
356
+ #
357
+ # resp.compliance_by_config_rules #=> Array
358
+ # resp.compliance_by_config_rules[0].config_rule_name #=> String
359
+ # resp.compliance_by_config_rules[0].compliance.compliance_type #=> String, one of "COMPLIANT", "NON_COMPLIANT", "NOT_APPLICABLE", "INSUFFICIENT_DATA"
360
+ # resp.compliance_by_config_rules[0].compliance.compliance_contributor_count.capped_count #=> Integer
361
+ # resp.compliance_by_config_rules[0].compliance.compliance_contributor_count.cap_exceeded #=> Boolean
362
+ # resp.next_token #=> String
363
+ #
364
+ # @overload describe_compliance_by_config_rule(params = {})
365
+ # @param [Hash] params ({})
366
+ def describe_compliance_by_config_rule(params = {}, options = {})
367
+ req = build_request(:describe_compliance_by_config_rule, params)
368
+ req.send_request(options)
369
+ end
404
370
 
405
- # Returns status information for each of your AWS managed Config rules.
406
- # The status includes information such as the last time AWS Config
407
- # invoked the rule, the last time AWS Config failed to invoke the rule,
408
- # and the related error for the last failure.
409
- # @option params [Array<String>] :config_rule_names
410
- # The name of the AWS managed Config rules for which you want status
411
- # information. If you do not specify any names, AWS Config returns
412
- # status information for all AWS managed Config rules that you use.
413
- # @option params [String] :next_token
414
- # The `NextToken` string returned on a previous page that you use to get
415
- # the next page of results in a paginated response.
416
- # @option params [Integer] :limit
417
- # The number of rule evaluation results that you want returned.
418
- #
419
- # This parameter is required if the rule limit for your account is more
420
- # than the default of 50 rules.
421
- #
422
- # For more information about requesting a rule limit increase, see [AWS
423
- # Config Limits][1] in the *AWS General Reference Guide*.
424
- #
425
- #
426
- #
427
- # [1]: http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_config
428
- # @return [Types::DescribeConfigRuleEvaluationStatusResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
429
- #
430
- # * {Types::DescribeConfigRuleEvaluationStatusResponse#config_rules_evaluation_status #ConfigRulesEvaluationStatus} => Array&lt;Types::ConfigRuleEvaluationStatus&gt;
431
- # * {Types::DescribeConfigRuleEvaluationStatusResponse#next_token #NextToken} => String
432
- #
433
- # @example Request syntax with placeholder values
434
- # resp = client.describe_config_rule_evaluation_status({
435
- # config_rule_names: ["StringWithCharLimit64"],
436
- # next_token: "String",
437
- # limit: 1,
438
- # })
439
- #
440
- # @example Response structure
441
- # resp.config_rules_evaluation_status #=> Array
442
- # resp.config_rules_evaluation_status[0].config_rule_name #=> String
443
- # resp.config_rules_evaluation_status[0].config_rule_arn #=> String
444
- # resp.config_rules_evaluation_status[0].config_rule_id #=> String
445
- # resp.config_rules_evaluation_status[0].last_successful_invocation_time #=> Time
446
- # resp.config_rules_evaluation_status[0].last_failed_invocation_time #=> Time
447
- # resp.config_rules_evaluation_status[0].last_successful_evaluation_time #=> Time
448
- # resp.config_rules_evaluation_status[0].last_failed_evaluation_time #=> Time
449
- # resp.config_rules_evaluation_status[0].first_activated_time #=> Time
450
- # resp.config_rules_evaluation_status[0].last_error_code #=> String
451
- # resp.config_rules_evaluation_status[0].last_error_message #=> String
452
- # resp.config_rules_evaluation_status[0].first_evaluation_started #=> Boolean
453
- # resp.next_token #=> String
454
- # @overload describe_config_rule_evaluation_status(params = {})
455
- # @param [Hash] params ({})
456
- def describe_config_rule_evaluation_status(params = {}, options = {})
457
- req = build_request(:describe_config_rule_evaluation_status, params)
458
- req.send_request(options)
459
- end
371
+ # Indicates whether the specified AWS resources are compliant. If a
372
+ # resource is noncompliant, this action returns the number of AWS Config
373
+ # rules that the resource does not comply with.
374
+ #
375
+ # A resource is compliant if it complies with all the AWS Config rules
376
+ # that evaluate it. It is noncompliant if it does not comply with one or
377
+ # more of these rules.
378
+ #
379
+ # If AWS Config has no current evaluation results for the resource, it
380
+ # returns `INSUFFICIENT_DATA`. This result might indicate one of the
381
+ # following conditions about the rules that evaluate the resource:
382
+ #
383
+ # * AWS Config has never invoked an evaluation for the rule. To check
384
+ # whether it has, use the `DescribeConfigRuleEvaluationStatus` action
385
+ # to get the `LastSuccessfulInvocationTime` and
386
+ # `LastFailedInvocationTime`.
387
+ #
388
+ # * The rule's AWS Lambda function is failing to send evaluation
389
+ # results to AWS Config. Verify that the role that you assigned to
390
+ # your configuration recorder includes the `config:PutEvaluations`
391
+ # permission. If the rule is a custom rule, verify that the AWS Lambda
392
+ # execution role includes the `config:PutEvaluations` permission.
393
+ #
394
+ # * The rule's AWS Lambda function has returned `NOT_APPLICABLE` for
395
+ # all evaluation results. This can occur if the resources were deleted
396
+ # or removed from the rule's scope.
397
+ #
398
+ # @option params [String] :resource_type
399
+ # The types of AWS resources for which you want compliance information;
400
+ # for example, `AWS::EC2::Instance`. For this action, you can specify
401
+ # that the resource type is an AWS account by specifying
402
+ # `AWS::::Account`.
403
+ #
404
+ # @option params [String] :resource_id
405
+ # The ID of the AWS resource for which you want compliance information.
406
+ # You can specify only one resource ID. If you specify a resource ID,
407
+ # you must also specify a type for `ResourceType`.
408
+ #
409
+ # @option params [Array<String>] :compliance_types
410
+ # Filters the results by compliance.
411
+ #
412
+ # The allowed values are `COMPLIANT`, `NON_COMPLIANT`, and
413
+ # `INSUFFICIENT_DATA`.
414
+ #
415
+ # @option params [Integer] :limit
416
+ # The maximum number of evaluation results returned on each page. The
417
+ # default is 10. You cannot specify a limit greater than 100. If you
418
+ # specify 0, AWS Config uses the default.
419
+ #
420
+ # @option params [String] :next_token
421
+ # The `NextToken` string returned on a previous page that you use to get
422
+ # the next page of results in a paginated response.
423
+ #
424
+ # @return [Types::DescribeComplianceByResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
425
+ #
426
+ # * {Types::DescribeComplianceByResourceResponse#compliance_by_resources #compliance_by_resources} => Array&lt;Types::ComplianceByResource&gt;
427
+ # * {Types::DescribeComplianceByResourceResponse#next_token #next_token} => String
428
+ #
429
+ # @example Request syntax with placeholder values
430
+ #
431
+ # resp = client.describe_compliance_by_resource({
432
+ # resource_type: "StringWithCharLimit256",
433
+ # resource_id: "StringWithCharLimit256",
434
+ # compliance_types: ["COMPLIANT"], # accepts COMPLIANT, NON_COMPLIANT, NOT_APPLICABLE, INSUFFICIENT_DATA
435
+ # limit: 1,
436
+ # next_token: "NextToken",
437
+ # })
438
+ #
439
+ # @example Response structure
440
+ #
441
+ # resp.compliance_by_resources #=> Array
442
+ # resp.compliance_by_resources[0].resource_type #=> String
443
+ # resp.compliance_by_resources[0].resource_id #=> String
444
+ # resp.compliance_by_resources[0].compliance.compliance_type #=> String, one of "COMPLIANT", "NON_COMPLIANT", "NOT_APPLICABLE", "INSUFFICIENT_DATA"
445
+ # resp.compliance_by_resources[0].compliance.compliance_contributor_count.capped_count #=> Integer
446
+ # resp.compliance_by_resources[0].compliance.compliance_contributor_count.cap_exceeded #=> Boolean
447
+ # resp.next_token #=> String
448
+ #
449
+ # @overload describe_compliance_by_resource(params = {})
450
+ # @param [Hash] params ({})
451
+ def describe_compliance_by_resource(params = {}, options = {})
452
+ req = build_request(:describe_compliance_by_resource, params)
453
+ req.send_request(options)
454
+ end
460
455
 
461
- # Returns details about your AWS Config rules.
462
- # @option params [Array<String>] :config_rule_names
463
- # The names of the AWS Config rules for which you want details. If you
464
- # do not specify any names, AWS Config returns details for all your
465
- # rules.
466
- # @option params [String] :next_token
467
- # The `nextToken` string returned on a previous page that you use to get
468
- # the next page of results in a paginated response.
469
- # @return [Types::DescribeConfigRulesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
470
- #
471
- # * {Types::DescribeConfigRulesResponse#config_rules #ConfigRules} => Array&lt;Types::ConfigRule&gt;
472
- # * {Types::DescribeConfigRulesResponse#next_token #NextToken} => String
473
- #
474
- # @example Request syntax with placeholder values
475
- # resp = client.describe_config_rules({
476
- # config_rule_names: ["StringWithCharLimit64"],
477
- # next_token: "String",
478
- # })
479
- #
480
- # @example Response structure
481
- # resp.config_rules #=> Array
482
- # resp.config_rules[0].config_rule_name #=> String
483
- # resp.config_rules[0].config_rule_arn #=> String
484
- # resp.config_rules[0].config_rule_id #=> String
485
- # resp.config_rules[0].description #=> String
486
- # resp.config_rules[0].scope.compliance_resource_types #=> Array
487
- # resp.config_rules[0].scope.compliance_resource_types[0] #=> String
488
- # resp.config_rules[0].scope.tag_key #=> String
489
- # resp.config_rules[0].scope.tag_value #=> String
490
- # resp.config_rules[0].scope.compliance_resource_id #=> String
491
- # resp.config_rules[0].source.owner #=> String, one of "CUSTOM_LAMBDA", "AWS"
492
- # resp.config_rules[0].source.source_identifier #=> String
493
- # resp.config_rules[0].source.source_details #=> Array
494
- # resp.config_rules[0].source.source_details[0].event_source #=> String, one of "aws.config"
495
- # resp.config_rules[0].source.source_details[0].message_type #=> String, one of "ConfigurationItemChangeNotification", "ConfigurationSnapshotDeliveryCompleted", "ScheduledNotification"
496
- # resp.config_rules[0].source.source_details[0].maximum_execution_frequency #=> String, one of "One_Hour", "Three_Hours", "Six_Hours", "Twelve_Hours", "TwentyFour_Hours"
497
- # resp.config_rules[0].input_parameters #=> String
498
- # resp.config_rules[0].maximum_execution_frequency #=> String, one of "One_Hour", "Three_Hours", "Six_Hours", "Twelve_Hours", "TwentyFour_Hours"
499
- # resp.config_rules[0].config_rule_state #=> String, one of "ACTIVE", "DELETING", "DELETING_RESULTS", "EVALUATING"
500
- # resp.next_token #=> String
501
- # @overload describe_config_rules(params = {})
502
- # @param [Hash] params ({})
503
- def describe_config_rules(params = {}, options = {})
504
- req = build_request(:describe_config_rules, params)
505
- req.send_request(options)
506
- end
456
+ # Returns status information for each of your AWS managed Config rules.
457
+ # The status includes information such as the last time AWS Config
458
+ # invoked the rule, the last time AWS Config failed to invoke the rule,
459
+ # and the related error for the last failure.
460
+ #
461
+ # @option params [Array<String>] :config_rule_names
462
+ # The name of the AWS managed Config rules for which you want status
463
+ # information. If you do not specify any names, AWS Config returns
464
+ # status information for all AWS managed Config rules that you use.
465
+ #
466
+ # @option params [String] :next_token
467
+ # The `NextToken` string returned on a previous page that you use to get
468
+ # the next page of results in a paginated response.
469
+ #
470
+ # @option params [Integer] :limit
471
+ # The number of rule evaluation results that you want returned.
472
+ #
473
+ # This parameter is required if the rule limit for your account is more
474
+ # than the default of 50 rules.
475
+ #
476
+ # For more information about requesting a rule limit increase, see [AWS
477
+ # Config Limits][1] in the *AWS General Reference Guide*.
478
+ #
479
+ #
480
+ #
481
+ # [1]: http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_config
482
+ #
483
+ # @return [Types::DescribeConfigRuleEvaluationStatusResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
484
+ #
485
+ # * {Types::DescribeConfigRuleEvaluationStatusResponse#config_rules_evaluation_status #config_rules_evaluation_status} => Array&lt;Types::ConfigRuleEvaluationStatus&gt;
486
+ # * {Types::DescribeConfigRuleEvaluationStatusResponse#next_token #next_token} => String
487
+ #
488
+ # @example Request syntax with placeholder values
489
+ #
490
+ # resp = client.describe_config_rule_evaluation_status({
491
+ # config_rule_names: ["StringWithCharLimit64"],
492
+ # next_token: "String",
493
+ # limit: 1,
494
+ # })
495
+ #
496
+ # @example Response structure
497
+ #
498
+ # resp.config_rules_evaluation_status #=> Array
499
+ # resp.config_rules_evaluation_status[0].config_rule_name #=> String
500
+ # resp.config_rules_evaluation_status[0].config_rule_arn #=> String
501
+ # resp.config_rules_evaluation_status[0].config_rule_id #=> String
502
+ # resp.config_rules_evaluation_status[0].last_successful_invocation_time #=> Time
503
+ # resp.config_rules_evaluation_status[0].last_failed_invocation_time #=> Time
504
+ # resp.config_rules_evaluation_status[0].last_successful_evaluation_time #=> Time
505
+ # resp.config_rules_evaluation_status[0].last_failed_evaluation_time #=> Time
506
+ # resp.config_rules_evaluation_status[0].first_activated_time #=> Time
507
+ # resp.config_rules_evaluation_status[0].last_error_code #=> String
508
+ # resp.config_rules_evaluation_status[0].last_error_message #=> String
509
+ # resp.config_rules_evaluation_status[0].first_evaluation_started #=> Boolean
510
+ # resp.next_token #=> String
511
+ #
512
+ # @overload describe_config_rule_evaluation_status(params = {})
513
+ # @param [Hash] params ({})
514
+ def describe_config_rule_evaluation_status(params = {}, options = {})
515
+ req = build_request(:describe_config_rule_evaluation_status, params)
516
+ req.send_request(options)
517
+ end
507
518
 
508
- # Returns the current status of the specified configuration recorder. If
509
- # a configuration recorder is not specified, this action returns the
510
- # status of all configuration recorder associated with the account.
511
- #
512
- # <note markdown="1"> Currently, you can specify only one configuration recorder per region
513
- # in your account.
514
- #
515
- # </note>
516
- # @option params [Array<String>] :configuration_recorder_names
517
- # The name(s) of the configuration recorder. If the name is not
518
- # specified, the action returns the current status of all the
519
- # configuration recorders associated with the account.
520
- # @return [Types::DescribeConfigurationRecorderStatusResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
521
- #
522
- # * {Types::DescribeConfigurationRecorderStatusResponse#configuration_recorders_status #ConfigurationRecordersStatus} => Array&lt;Types::ConfigurationRecorderStatus&gt;
523
- #
524
- # @example Request syntax with placeholder values
525
- # resp = client.describe_configuration_recorder_status({
526
- # configuration_recorder_names: ["RecorderName"],
527
- # })
528
- #
529
- # @example Response structure
530
- # resp.configuration_recorders_status #=> Array
531
- # resp.configuration_recorders_status[0].name #=> String
532
- # resp.configuration_recorders_status[0].last_start_time #=> Time
533
- # resp.configuration_recorders_status[0].last_stop_time #=> Time
534
- # resp.configuration_recorders_status[0].recording #=> Boolean
535
- # resp.configuration_recorders_status[0].last_status #=> String, one of "Pending", "Success", "Failure"
536
- # resp.configuration_recorders_status[0].last_error_code #=> String
537
- # resp.configuration_recorders_status[0].last_error_message #=> String
538
- # resp.configuration_recorders_status[0].last_status_change_time #=> Time
539
- # @overload describe_configuration_recorder_status(params = {})
540
- # @param [Hash] params ({})
541
- def describe_configuration_recorder_status(params = {}, options = {})
542
- req = build_request(:describe_configuration_recorder_status, params)
543
- req.send_request(options)
544
- end
519
+ # Returns details about your AWS Config rules.
520
+ #
521
+ # @option params [Array<String>] :config_rule_names
522
+ # The names of the AWS Config rules for which you want details. If you
523
+ # do not specify any names, AWS Config returns details for all your
524
+ # rules.
525
+ #
526
+ # @option params [String] :next_token
527
+ # The `NextToken` string returned on a previous page that you use to get
528
+ # the next page of results in a paginated response.
529
+ #
530
+ # @return [Types::DescribeConfigRulesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
531
+ #
532
+ # * {Types::DescribeConfigRulesResponse#config_rules #config_rules} => Array&lt;Types::ConfigRule&gt;
533
+ # * {Types::DescribeConfigRulesResponse#next_token #next_token} => String
534
+ #
535
+ # @example Request syntax with placeholder values
536
+ #
537
+ # resp = client.describe_config_rules({
538
+ # config_rule_names: ["StringWithCharLimit64"],
539
+ # next_token: "String",
540
+ # })
541
+ #
542
+ # @example Response structure
543
+ #
544
+ # resp.config_rules #=> Array
545
+ # resp.config_rules[0].config_rule_name #=> String
546
+ # resp.config_rules[0].config_rule_arn #=> String
547
+ # resp.config_rules[0].config_rule_id #=> String
548
+ # resp.config_rules[0].description #=> String
549
+ # resp.config_rules[0].scope.compliance_resource_types #=> Array
550
+ # resp.config_rules[0].scope.compliance_resource_types[0] #=> String
551
+ # resp.config_rules[0].scope.tag_key #=> String
552
+ # resp.config_rules[0].scope.tag_value #=> String
553
+ # resp.config_rules[0].scope.compliance_resource_id #=> String
554
+ # resp.config_rules[0].source.owner #=> String, one of "CUSTOM_LAMBDA", "AWS"
555
+ # resp.config_rules[0].source.source_identifier #=> String
556
+ # resp.config_rules[0].source.source_details #=> Array
557
+ # resp.config_rules[0].source.source_details[0].event_source #=> String, one of "aws.config"
558
+ # resp.config_rules[0].source.source_details[0].message_type #=> String, one of "ConfigurationItemChangeNotification", "ConfigurationSnapshotDeliveryCompleted", "ScheduledNotification", "OversizedConfigurationItemChangeNotification"
559
+ # resp.config_rules[0].source.source_details[0].maximum_execution_frequency #=> String, one of "One_Hour", "Three_Hours", "Six_Hours", "Twelve_Hours", "TwentyFour_Hours"
560
+ # resp.config_rules[0].input_parameters #=> String
561
+ # resp.config_rules[0].maximum_execution_frequency #=> String, one of "One_Hour", "Three_Hours", "Six_Hours", "Twelve_Hours", "TwentyFour_Hours"
562
+ # resp.config_rules[0].config_rule_state #=> String, one of "ACTIVE", "DELETING", "DELETING_RESULTS", "EVALUATING"
563
+ # resp.next_token #=> String
564
+ #
565
+ # @overload describe_config_rules(params = {})
566
+ # @param [Hash] params ({})
567
+ def describe_config_rules(params = {}, options = {})
568
+ req = build_request(:describe_config_rules, params)
569
+ req.send_request(options)
570
+ end
545
571
 
546
- # Returns the details for the specified configuration recorders. If the
547
- # configuration recorder is not specified, this action returns the
548
- # details for all configuration recorders associated with the account.
549
- #
550
- # <note markdown="1"> Currently, you can specify only one configuration recorder per region
551
- # in your account.
552
- #
553
- # </note>
554
- # @option params [Array<String>] :configuration_recorder_names
555
- # A list of configuration recorder names.
556
- # @return [Types::DescribeConfigurationRecordersResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
557
- #
558
- # * {Types::DescribeConfigurationRecordersResponse#configuration_recorders #ConfigurationRecorders} => Array&lt;Types::ConfigurationRecorder&gt;
559
- #
560
- # @example Request syntax with placeholder values
561
- # resp = client.describe_configuration_recorders({
562
- # configuration_recorder_names: ["RecorderName"],
563
- # })
564
- #
565
- # @example Response structure
566
- # resp.configuration_recorders #=> Array
567
- # resp.configuration_recorders[0].name #=> String
568
- # resp.configuration_recorders[0].role_arn #=> String
569
- # resp.configuration_recorders[0].recording_group.all_supported #=> Boolean
570
- # resp.configuration_recorders[0].recording_group.include_global_resource_types #=> Boolean
571
- # resp.configuration_recorders[0].recording_group.resource_types #=> Array
572
- # resp.configuration_recorders[0].recording_group.resource_types[0] #=> String, one of "AWS::EC2::CustomerGateway", "AWS::EC2::EIP", "AWS::EC2::Host", "AWS::EC2::Instance", "AWS::EC2::InternetGateway", "AWS::EC2::NetworkAcl", "AWS::EC2::NetworkInterface", "AWS::EC2::RouteTable", "AWS::EC2::SecurityGroup", "AWS::EC2::Subnet", "AWS::CloudTrail::Trail", "AWS::EC2::Volume", "AWS::EC2::VPC", "AWS::EC2::VPNConnection", "AWS::EC2::VPNGateway", "AWS::IAM::Group", "AWS::IAM::Policy", "AWS::IAM::Role", "AWS::IAM::User", "AWS::ACM::Certificate", "AWS::RDS::DBInstance", "AWS::RDS::DBSubnetGroup", "AWS::RDS::DBSecurityGroup", "AWS::RDS::DBSnapshot", "AWS::RDS::EventSubscription", "AWS::ElasticLoadBalancingV2::LoadBalancer", "AWS::S3::Bucket", "AWS::SSM::ManagedInstanceInventory", "AWS::Redshift::Cluster", "AWS::Redshift::ClusterSnapshot", "AWS::Redshift::ClusterParameterGroup", "AWS::Redshift::ClusterSecurityGroup", "AWS::Redshift::ClusterSubnetGroup", "AWS::Redshift::EventSubscription"
573
- # @overload describe_configuration_recorders(params = {})
574
- # @param [Hash] params ({})
575
- def describe_configuration_recorders(params = {}, options = {})
576
- req = build_request(:describe_configuration_recorders, params)
577
- req.send_request(options)
578
- end
572
+ # Returns the current status of the specified configuration recorder. If
573
+ # a configuration recorder is not specified, this action returns the
574
+ # status of all configuration recorder associated with the account.
575
+ #
576
+ # <note markdown="1"> Currently, you can specify only one configuration recorder per region
577
+ # in your account.
578
+ #
579
+ # </note>
580
+ #
581
+ # @option params [Array<String>] :configuration_recorder_names
582
+ # The name(s) of the configuration recorder. If the name is not
583
+ # specified, the action returns the current status of all the
584
+ # configuration recorders associated with the account.
585
+ #
586
+ # @return [Types::DescribeConfigurationRecorderStatusResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
587
+ #
588
+ # * {Types::DescribeConfigurationRecorderStatusResponse#configuration_recorders_status #configuration_recorders_status} => Array&lt;Types::ConfigurationRecorderStatus&gt;
589
+ #
590
+ # @example Request syntax with placeholder values
591
+ #
592
+ # resp = client.describe_configuration_recorder_status({
593
+ # configuration_recorder_names: ["RecorderName"],
594
+ # })
595
+ #
596
+ # @example Response structure
597
+ #
598
+ # resp.configuration_recorders_status #=> Array
599
+ # resp.configuration_recorders_status[0].name #=> String
600
+ # resp.configuration_recorders_status[0].last_start_time #=> Time
601
+ # resp.configuration_recorders_status[0].last_stop_time #=> Time
602
+ # resp.configuration_recorders_status[0].recording #=> Boolean
603
+ # resp.configuration_recorders_status[0].last_status #=> String, one of "Pending", "Success", "Failure"
604
+ # resp.configuration_recorders_status[0].last_error_code #=> String
605
+ # resp.configuration_recorders_status[0].last_error_message #=> String
606
+ # resp.configuration_recorders_status[0].last_status_change_time #=> Time
607
+ #
608
+ # @overload describe_configuration_recorder_status(params = {})
609
+ # @param [Hash] params ({})
610
+ def describe_configuration_recorder_status(params = {}, options = {})
611
+ req = build_request(:describe_configuration_recorder_status, params)
612
+ req.send_request(options)
613
+ end
579
614
 
580
- # Returns the current status of the specified delivery channel. If a
581
- # delivery channel is not specified, this action returns the current
582
- # status of all delivery channels associated with the account.
583
- #
584
- # <note markdown="1"> Currently, you can specify only one delivery channel per region in
585
- # your account.
586
- #
587
- # </note>
588
- # @option params [Array<String>] :delivery_channel_names
589
- # A list of delivery channel names.
590
- # @return [Types::DescribeDeliveryChannelStatusResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
591
- #
592
- # * {Types::DescribeDeliveryChannelStatusResponse#delivery_channels_status #DeliveryChannelsStatus} => Array&lt;Types::DeliveryChannelStatus&gt;
593
- #
594
- # @example Request syntax with placeholder values
595
- # resp = client.describe_delivery_channel_status({
596
- # delivery_channel_names: ["ChannelName"],
597
- # })
598
- #
599
- # @example Response structure
600
- # resp.delivery_channels_status #=> Array
601
- # resp.delivery_channels_status[0].name #=> String
602
- # resp.delivery_channels_status[0].config_snapshot_delivery_info.last_status #=> String, one of "Success", "Failure", "Not_Applicable"
603
- # resp.delivery_channels_status[0].config_snapshot_delivery_info.last_error_code #=> String
604
- # resp.delivery_channels_status[0].config_snapshot_delivery_info.last_error_message #=> String
605
- # resp.delivery_channels_status[0].config_snapshot_delivery_info.last_attempt_time #=> Time
606
- # resp.delivery_channels_status[0].config_snapshot_delivery_info.last_successful_time #=> Time
607
- # resp.delivery_channels_status[0].config_snapshot_delivery_info.next_delivery_time #=> Time
608
- # resp.delivery_channels_status[0].config_history_delivery_info.last_status #=> String, one of "Success", "Failure", "Not_Applicable"
609
- # resp.delivery_channels_status[0].config_history_delivery_info.last_error_code #=> String
610
- # resp.delivery_channels_status[0].config_history_delivery_info.last_error_message #=> String
611
- # resp.delivery_channels_status[0].config_history_delivery_info.last_attempt_time #=> Time
612
- # resp.delivery_channels_status[0].config_history_delivery_info.last_successful_time #=> Time
613
- # resp.delivery_channels_status[0].config_history_delivery_info.next_delivery_time #=> Time
614
- # resp.delivery_channels_status[0].config_stream_delivery_info.last_status #=> String, one of "Success", "Failure", "Not_Applicable"
615
- # resp.delivery_channels_status[0].config_stream_delivery_info.last_error_code #=> String
616
- # resp.delivery_channels_status[0].config_stream_delivery_info.last_error_message #=> String
617
- # resp.delivery_channels_status[0].config_stream_delivery_info.last_status_change_time #=> Time
618
- # @overload describe_delivery_channel_status(params = {})
619
- # @param [Hash] params ({})
620
- def describe_delivery_channel_status(params = {}, options = {})
621
- req = build_request(:describe_delivery_channel_status, params)
622
- req.send_request(options)
623
- end
615
+ # Returns the details for the specified configuration recorders. If the
616
+ # configuration recorder is not specified, this action returns the
617
+ # details for all configuration recorders associated with the account.
618
+ #
619
+ # <note markdown="1"> Currently, you can specify only one configuration recorder per region
620
+ # in your account.
621
+ #
622
+ # </note>
623
+ #
624
+ # @option params [Array<String>] :configuration_recorder_names
625
+ # A list of configuration recorder names.
626
+ #
627
+ # @return [Types::DescribeConfigurationRecordersResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
628
+ #
629
+ # * {Types::DescribeConfigurationRecordersResponse#configuration_recorders #configuration_recorders} => Array&lt;Types::ConfigurationRecorder&gt;
630
+ #
631
+ # @example Request syntax with placeholder values
632
+ #
633
+ # resp = client.describe_configuration_recorders({
634
+ # configuration_recorder_names: ["RecorderName"],
635
+ # })
636
+ #
637
+ # @example Response structure
638
+ #
639
+ # resp.configuration_recorders #=> Array
640
+ # resp.configuration_recorders[0].name #=> String
641
+ # resp.configuration_recorders[0].role_arn #=> String
642
+ # resp.configuration_recorders[0].recording_group.all_supported #=> Boolean
643
+ # resp.configuration_recorders[0].recording_group.include_global_resource_types #=> Boolean
644
+ # resp.configuration_recorders[0].recording_group.resource_types #=> Array
645
+ # resp.configuration_recorders[0].recording_group.resource_types[0] #=> String, one of "AWS::EC2::CustomerGateway", "AWS::EC2::EIP", "AWS::EC2::Host", "AWS::EC2::Instance", "AWS::EC2::InternetGateway", "AWS::EC2::NetworkAcl", "AWS::EC2::NetworkInterface", "AWS::EC2::RouteTable", "AWS::EC2::SecurityGroup", "AWS::EC2::Subnet", "AWS::CloudTrail::Trail", "AWS::EC2::Volume", "AWS::EC2::VPC", "AWS::EC2::VPNConnection", "AWS::EC2::VPNGateway", "AWS::IAM::Group", "AWS::IAM::Policy", "AWS::IAM::Role", "AWS::IAM::User", "AWS::ACM::Certificate", "AWS::RDS::DBInstance", "AWS::RDS::DBSubnetGroup", "AWS::RDS::DBSecurityGroup", "AWS::RDS::DBSnapshot", "AWS::RDS::EventSubscription", "AWS::ElasticLoadBalancingV2::LoadBalancer", "AWS::S3::Bucket", "AWS::SSM::ManagedInstanceInventory", "AWS::Redshift::Cluster", "AWS::Redshift::ClusterSnapshot", "AWS::Redshift::ClusterParameterGroup", "AWS::Redshift::ClusterSecurityGroup", "AWS::Redshift::ClusterSubnetGroup", "AWS::Redshift::EventSubscription"
646
+ #
647
+ # @overload describe_configuration_recorders(params = {})
648
+ # @param [Hash] params ({})
649
+ def describe_configuration_recorders(params = {}, options = {})
650
+ req = build_request(:describe_configuration_recorders, params)
651
+ req.send_request(options)
652
+ end
624
653
 
625
- # Returns details about the specified delivery channel. If a delivery
626
- # channel is not specified, this action returns the details of all
627
- # delivery channels associated with the account.
628
- #
629
- # <note markdown="1"> Currently, you can specify only one delivery channel per region in
630
- # your account.
631
- #
632
- # </note>
633
- # @option params [Array<String>] :delivery_channel_names
634
- # A list of delivery channel names.
635
- # @return [Types::DescribeDeliveryChannelsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
636
- #
637
- # * {Types::DescribeDeliveryChannelsResponse#delivery_channels #DeliveryChannels} => Array&lt;Types::DeliveryChannel&gt;
638
- #
639
- # @example Request syntax with placeholder values
640
- # resp = client.describe_delivery_channels({
641
- # delivery_channel_names: ["ChannelName"],
642
- # })
643
- #
644
- # @example Response structure
645
- # resp.delivery_channels #=> Array
646
- # resp.delivery_channels[0].name #=> String
647
- # resp.delivery_channels[0].s3_bucket_name #=> String
648
- # resp.delivery_channels[0].s3_key_prefix #=> String
649
- # resp.delivery_channels[0].sns_topic_arn #=> String
650
- # resp.delivery_channels[0].config_snapshot_delivery_properties.delivery_frequency #=> String, one of "One_Hour", "Three_Hours", "Six_Hours", "Twelve_Hours", "TwentyFour_Hours"
651
- # @overload describe_delivery_channels(params = {})
652
- # @param [Hash] params ({})
653
- def describe_delivery_channels(params = {}, options = {})
654
- req = build_request(:describe_delivery_channels, params)
655
- req.send_request(options)
656
- end
654
+ # Returns the current status of the specified delivery channel. If a
655
+ # delivery channel is not specified, this action returns the current
656
+ # status of all delivery channels associated with the account.
657
+ #
658
+ # <note markdown="1"> Currently, you can specify only one delivery channel per region in
659
+ # your account.
660
+ #
661
+ # </note>
662
+ #
663
+ # @option params [Array<String>] :delivery_channel_names
664
+ # A list of delivery channel names.
665
+ #
666
+ # @return [Types::DescribeDeliveryChannelStatusResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
667
+ #
668
+ # * {Types::DescribeDeliveryChannelStatusResponse#delivery_channels_status #delivery_channels_status} => Array&lt;Types::DeliveryChannelStatus&gt;
669
+ #
670
+ # @example Request syntax with placeholder values
671
+ #
672
+ # resp = client.describe_delivery_channel_status({
673
+ # delivery_channel_names: ["ChannelName"],
674
+ # })
675
+ #
676
+ # @example Response structure
677
+ #
678
+ # resp.delivery_channels_status #=> Array
679
+ # resp.delivery_channels_status[0].name #=> String
680
+ # resp.delivery_channels_status[0].config_snapshot_delivery_info.last_status #=> String, one of "Success", "Failure", "Not_Applicable"
681
+ # resp.delivery_channels_status[0].config_snapshot_delivery_info.last_error_code #=> String
682
+ # resp.delivery_channels_status[0].config_snapshot_delivery_info.last_error_message #=> String
683
+ # resp.delivery_channels_status[0].config_snapshot_delivery_info.last_attempt_time #=> Time
684
+ # resp.delivery_channels_status[0].config_snapshot_delivery_info.last_successful_time #=> Time
685
+ # resp.delivery_channels_status[0].config_snapshot_delivery_info.next_delivery_time #=> Time
686
+ # resp.delivery_channels_status[0].config_history_delivery_info.last_status #=> String, one of "Success", "Failure", "Not_Applicable"
687
+ # resp.delivery_channels_status[0].config_history_delivery_info.last_error_code #=> String
688
+ # resp.delivery_channels_status[0].config_history_delivery_info.last_error_message #=> String
689
+ # resp.delivery_channels_status[0].config_history_delivery_info.last_attempt_time #=> Time
690
+ # resp.delivery_channels_status[0].config_history_delivery_info.last_successful_time #=> Time
691
+ # resp.delivery_channels_status[0].config_history_delivery_info.next_delivery_time #=> Time
692
+ # resp.delivery_channels_status[0].config_stream_delivery_info.last_status #=> String, one of "Success", "Failure", "Not_Applicable"
693
+ # resp.delivery_channels_status[0].config_stream_delivery_info.last_error_code #=> String
694
+ # resp.delivery_channels_status[0].config_stream_delivery_info.last_error_message #=> String
695
+ # resp.delivery_channels_status[0].config_stream_delivery_info.last_status_change_time #=> Time
696
+ #
697
+ # @overload describe_delivery_channel_status(params = {})
698
+ # @param [Hash] params ({})
699
+ def describe_delivery_channel_status(params = {}, options = {})
700
+ req = build_request(:describe_delivery_channel_status, params)
701
+ req.send_request(options)
702
+ end
657
703
 
658
- # Returns the evaluation results for the specified AWS Config rule. The
659
- # results indicate which AWS resources were evaluated by the rule, when
660
- # each resource was last evaluated, and whether each resource complies
661
- # with the rule.
662
- # @option params [required, String] :config_rule_name
663
- # The name of the AWS Config rule for which you want compliance
664
- # information.
665
- # @option params [Array<String>] :compliance_types
666
- # Filters the results by compliance.
667
- #
668
- # The allowed values are `COMPLIANT`, `NON_COMPLIANT`, and
669
- # `NOT_APPLICABLE`.
670
- # @option params [Integer] :limit
671
- # The maximum number of evaluation results returned on each page. The
672
- # default is 10. You cannot specify a limit greater than 100. If you
673
- # specify 0, AWS Config uses the default.
674
- # @option params [String] :next_token
675
- # The `nextToken` string returned on a previous page that you use to get
676
- # the next page of results in a paginated response.
677
- # @return [Types::GetComplianceDetailsByConfigRuleResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
678
- #
679
- # * {Types::GetComplianceDetailsByConfigRuleResponse#evaluation_results #EvaluationResults} => Array&lt;Types::EvaluationResult&gt;
680
- # * {Types::GetComplianceDetailsByConfigRuleResponse#next_token #NextToken} => String
681
- #
682
- # @example Request syntax with placeholder values
683
- # resp = client.get_compliance_details_by_config_rule({
684
- # config_rule_name: "StringWithCharLimit64", # required
685
- # compliance_types: ["COMPLIANT"], # accepts COMPLIANT, NON_COMPLIANT, NOT_APPLICABLE, INSUFFICIENT_DATA
686
- # limit: 1,
687
- # next_token: "NextToken",
688
- # })
689
- #
690
- # @example Response structure
691
- # resp.evaluation_results #=> Array
692
- # resp.evaluation_results[0].evaluation_result_identifier.evaluation_result_qualifier.config_rule_name #=> String
693
- # resp.evaluation_results[0].evaluation_result_identifier.evaluation_result_qualifier.resource_type #=> String
694
- # resp.evaluation_results[0].evaluation_result_identifier.evaluation_result_qualifier.resource_id #=> String
695
- # resp.evaluation_results[0].evaluation_result_identifier.ordering_timestamp #=> Time
696
- # resp.evaluation_results[0].compliance_type #=> String, one of "COMPLIANT", "NON_COMPLIANT", "NOT_APPLICABLE", "INSUFFICIENT_DATA"
697
- # resp.evaluation_results[0].result_recorded_time #=> Time
698
- # resp.evaluation_results[0].config_rule_invoked_time #=> Time
699
- # resp.evaluation_results[0].annotation #=> String
700
- # resp.evaluation_results[0].result_token #=> String
701
- # resp.next_token #=> String
702
- # @overload get_compliance_details_by_config_rule(params = {})
703
- # @param [Hash] params ({})
704
- def get_compliance_details_by_config_rule(params = {}, options = {})
705
- req = build_request(:get_compliance_details_by_config_rule, params)
706
- req.send_request(options)
707
- end
704
+ # Returns details about the specified delivery channel. If a delivery
705
+ # channel is not specified, this action returns the details of all
706
+ # delivery channels associated with the account.
707
+ #
708
+ # <note markdown="1"> Currently, you can specify only one delivery channel per region in
709
+ # your account.
710
+ #
711
+ # </note>
712
+ #
713
+ # @option params [Array<String>] :delivery_channel_names
714
+ # A list of delivery channel names.
715
+ #
716
+ # @return [Types::DescribeDeliveryChannelsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
717
+ #
718
+ # * {Types::DescribeDeliveryChannelsResponse#delivery_channels #delivery_channels} => Array&lt;Types::DeliveryChannel&gt;
719
+ #
720
+ # @example Request syntax with placeholder values
721
+ #
722
+ # resp = client.describe_delivery_channels({
723
+ # delivery_channel_names: ["ChannelName"],
724
+ # })
725
+ #
726
+ # @example Response structure
727
+ #
728
+ # resp.delivery_channels #=> Array
729
+ # resp.delivery_channels[0].name #=> String
730
+ # resp.delivery_channels[0].s3_bucket_name #=> String
731
+ # resp.delivery_channels[0].s3_key_prefix #=> String
732
+ # resp.delivery_channels[0].sns_topic_arn #=> String
733
+ # resp.delivery_channels[0].config_snapshot_delivery_properties.delivery_frequency #=> String, one of "One_Hour", "Three_Hours", "Six_Hours", "Twelve_Hours", "TwentyFour_Hours"
734
+ #
735
+ # @overload describe_delivery_channels(params = {})
736
+ # @param [Hash] params ({})
737
+ def describe_delivery_channels(params = {}, options = {})
738
+ req = build_request(:describe_delivery_channels, params)
739
+ req.send_request(options)
740
+ end
708
741
 
709
- # Returns the evaluation results for the specified AWS resource. The
710
- # results indicate which AWS Config rules were used to evaluate the
711
- # resource, when each rule was last used, and whether the resource
712
- # complies with each rule.
713
- # @option params [required, String] :resource_type
714
- # The type of the AWS resource for which you want compliance
715
- # information.
716
- # @option params [required, String] :resource_id
717
- # The ID of the AWS resource for which you want compliance information.
718
- # @option params [Array<String>] :compliance_types
719
- # Filters the results by compliance.
720
- #
721
- # The allowed values are `COMPLIANT`, `NON_COMPLIANT`, and
722
- # `NOT_APPLICABLE`.
723
- # @option params [String] :next_token
724
- # The `nextToken` string returned on a previous page that you use to get
725
- # the next page of results in a paginated response.
726
- # @return [Types::GetComplianceDetailsByResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
727
- #
728
- # * {Types::GetComplianceDetailsByResourceResponse#evaluation_results #EvaluationResults} => Array&lt;Types::EvaluationResult&gt;
729
- # * {Types::GetComplianceDetailsByResourceResponse#next_token #NextToken} => String
730
- #
731
- # @example Request syntax with placeholder values
732
- # resp = client.get_compliance_details_by_resource({
733
- # resource_type: "StringWithCharLimit256", # required
734
- # resource_id: "StringWithCharLimit256", # required
735
- # compliance_types: ["COMPLIANT"], # accepts COMPLIANT, NON_COMPLIANT, NOT_APPLICABLE, INSUFFICIENT_DATA
736
- # next_token: "String",
737
- # })
738
- #
739
- # @example Response structure
740
- # resp.evaluation_results #=> Array
741
- # resp.evaluation_results[0].evaluation_result_identifier.evaluation_result_qualifier.config_rule_name #=> String
742
- # resp.evaluation_results[0].evaluation_result_identifier.evaluation_result_qualifier.resource_type #=> String
743
- # resp.evaluation_results[0].evaluation_result_identifier.evaluation_result_qualifier.resource_id #=> String
744
- # resp.evaluation_results[0].evaluation_result_identifier.ordering_timestamp #=> Time
745
- # resp.evaluation_results[0].compliance_type #=> String, one of "COMPLIANT", "NON_COMPLIANT", "NOT_APPLICABLE", "INSUFFICIENT_DATA"
746
- # resp.evaluation_results[0].result_recorded_time #=> Time
747
- # resp.evaluation_results[0].config_rule_invoked_time #=> Time
748
- # resp.evaluation_results[0].annotation #=> String
749
- # resp.evaluation_results[0].result_token #=> String
750
- # resp.next_token #=> String
751
- # @overload get_compliance_details_by_resource(params = {})
752
- # @param [Hash] params ({})
753
- def get_compliance_details_by_resource(params = {}, options = {})
754
- req = build_request(:get_compliance_details_by_resource, params)
755
- req.send_request(options)
756
- end
742
+ # Returns the evaluation results for the specified AWS Config rule. The
743
+ # results indicate which AWS resources were evaluated by the rule, when
744
+ # each resource was last evaluated, and whether each resource complies
745
+ # with the rule.
746
+ #
747
+ # @option params [required, String] :config_rule_name
748
+ # The name of the AWS Config rule for which you want compliance
749
+ # information.
750
+ #
751
+ # @option params [Array<String>] :compliance_types
752
+ # Filters the results by compliance.
753
+ #
754
+ # The allowed values are `COMPLIANT`, `NON_COMPLIANT`, and
755
+ # `NOT_APPLICABLE`.
756
+ #
757
+ # @option params [Integer] :limit
758
+ # The maximum number of evaluation results returned on each page. The
759
+ # default is 10. You cannot specify a limit greater than 100. If you
760
+ # specify 0, AWS Config uses the default.
761
+ #
762
+ # @option params [String] :next_token
763
+ # The `NextToken` string returned on a previous page that you use to get
764
+ # the next page of results in a paginated response.
765
+ #
766
+ # @return [Types::GetComplianceDetailsByConfigRuleResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
767
+ #
768
+ # * {Types::GetComplianceDetailsByConfigRuleResponse#evaluation_results #evaluation_results} => Array&lt;Types::EvaluationResult&gt;
769
+ # * {Types::GetComplianceDetailsByConfigRuleResponse#next_token #next_token} => String
770
+ #
771
+ # @example Request syntax with placeholder values
772
+ #
773
+ # resp = client.get_compliance_details_by_config_rule({
774
+ # config_rule_name: "StringWithCharLimit64", # required
775
+ # compliance_types: ["COMPLIANT"], # accepts COMPLIANT, NON_COMPLIANT, NOT_APPLICABLE, INSUFFICIENT_DATA
776
+ # limit: 1,
777
+ # next_token: "NextToken",
778
+ # })
779
+ #
780
+ # @example Response structure
781
+ #
782
+ # resp.evaluation_results #=> Array
783
+ # resp.evaluation_results[0].evaluation_result_identifier.evaluation_result_qualifier.config_rule_name #=> String
784
+ # resp.evaluation_results[0].evaluation_result_identifier.evaluation_result_qualifier.resource_type #=> String
785
+ # resp.evaluation_results[0].evaluation_result_identifier.evaluation_result_qualifier.resource_id #=> String
786
+ # resp.evaluation_results[0].evaluation_result_identifier.ordering_timestamp #=> Time
787
+ # resp.evaluation_results[0].compliance_type #=> String, one of "COMPLIANT", "NON_COMPLIANT", "NOT_APPLICABLE", "INSUFFICIENT_DATA"
788
+ # resp.evaluation_results[0].result_recorded_time #=> Time
789
+ # resp.evaluation_results[0].config_rule_invoked_time #=> Time
790
+ # resp.evaluation_results[0].annotation #=> String
791
+ # resp.evaluation_results[0].result_token #=> String
792
+ # resp.next_token #=> String
793
+ #
794
+ # @overload get_compliance_details_by_config_rule(params = {})
795
+ # @param [Hash] params ({})
796
+ def get_compliance_details_by_config_rule(params = {}, options = {})
797
+ req = build_request(:get_compliance_details_by_config_rule, params)
798
+ req.send_request(options)
799
+ end
757
800
 
758
- # Returns the number of AWS Config rules that are compliant and
759
- # noncompliant, up to a maximum of 25 for each.
760
- # @return [Types::GetComplianceSummaryByConfigRuleResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
761
- #
762
- # * {Types::GetComplianceSummaryByConfigRuleResponse#compliance_summary #ComplianceSummary} => Types::ComplianceSummary
763
- #
764
- # @example Response structure
765
- # resp.compliance_summary.compliant_resource_count.capped_count #=> Integer
766
- # resp.compliance_summary.compliant_resource_count.cap_exceeded #=> Boolean
767
- # resp.compliance_summary.non_compliant_resource_count.capped_count #=> Integer
768
- # resp.compliance_summary.non_compliant_resource_count.cap_exceeded #=> Boolean
769
- # resp.compliance_summary.compliance_summary_timestamp #=> Time
770
- # @overload get_compliance_summary_by_config_rule(params = {})
771
- # @param [Hash] params ({})
772
- def get_compliance_summary_by_config_rule(params = {}, options = {})
773
- req = build_request(:get_compliance_summary_by_config_rule, params)
774
- req.send_request(options)
775
- end
801
+ # Returns the evaluation results for the specified AWS resource. The
802
+ # results indicate which AWS Config rules were used to evaluate the
803
+ # resource, when each rule was last used, and whether the resource
804
+ # complies with each rule.
805
+ #
806
+ # @option params [required, String] :resource_type
807
+ # The type of the AWS resource for which you want compliance
808
+ # information.
809
+ #
810
+ # @option params [required, String] :resource_id
811
+ # The ID of the AWS resource for which you want compliance information.
812
+ #
813
+ # @option params [Array<String>] :compliance_types
814
+ # Filters the results by compliance.
815
+ #
816
+ # The allowed values are `COMPLIANT`, `NON_COMPLIANT`, and
817
+ # `NOT_APPLICABLE`.
818
+ #
819
+ # @option params [String] :next_token
820
+ # The `NextToken` string returned on a previous page that you use to get
821
+ # the next page of results in a paginated response.
822
+ #
823
+ # @return [Types::GetComplianceDetailsByResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
824
+ #
825
+ # * {Types::GetComplianceDetailsByResourceResponse#evaluation_results #evaluation_results} => Array&lt;Types::EvaluationResult&gt;
826
+ # * {Types::GetComplianceDetailsByResourceResponse#next_token #next_token} => String
827
+ #
828
+ # @example Request syntax with placeholder values
829
+ #
830
+ # resp = client.get_compliance_details_by_resource({
831
+ # resource_type: "StringWithCharLimit256", # required
832
+ # resource_id: "StringWithCharLimit256", # required
833
+ # compliance_types: ["COMPLIANT"], # accepts COMPLIANT, NON_COMPLIANT, NOT_APPLICABLE, INSUFFICIENT_DATA
834
+ # next_token: "String",
835
+ # })
836
+ #
837
+ # @example Response structure
838
+ #
839
+ # resp.evaluation_results #=> Array
840
+ # resp.evaluation_results[0].evaluation_result_identifier.evaluation_result_qualifier.config_rule_name #=> String
841
+ # resp.evaluation_results[0].evaluation_result_identifier.evaluation_result_qualifier.resource_type #=> String
842
+ # resp.evaluation_results[0].evaluation_result_identifier.evaluation_result_qualifier.resource_id #=> String
843
+ # resp.evaluation_results[0].evaluation_result_identifier.ordering_timestamp #=> Time
844
+ # resp.evaluation_results[0].compliance_type #=> String, one of "COMPLIANT", "NON_COMPLIANT", "NOT_APPLICABLE", "INSUFFICIENT_DATA"
845
+ # resp.evaluation_results[0].result_recorded_time #=> Time
846
+ # resp.evaluation_results[0].config_rule_invoked_time #=> Time
847
+ # resp.evaluation_results[0].annotation #=> String
848
+ # resp.evaluation_results[0].result_token #=> String
849
+ # resp.next_token #=> String
850
+ #
851
+ # @overload get_compliance_details_by_resource(params = {})
852
+ # @param [Hash] params ({})
853
+ def get_compliance_details_by_resource(params = {}, options = {})
854
+ req = build_request(:get_compliance_details_by_resource, params)
855
+ req.send_request(options)
856
+ end
776
857
 
777
- # Returns the number of resources that are compliant and the number that
778
- # are noncompliant. You can specify one or more resource types to get
779
- # these numbers for each resource type. The maximum number returned is
780
- # 100.
781
- # @option params [Array<String>] :resource_types
782
- # Specify one or more resource types to get the number of resources that
783
- # are compliant and the number that are noncompliant for each resource
784
- # type.
785
- #
786
- # For this request, you can specify an AWS resource type such as
787
- # `AWS::EC2::Instance`, and you can specify that the resource type is an
788
- # AWS account by specifying `AWS::::Account`.
789
- # @return [Types::GetComplianceSummaryByResourceTypeResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
790
- #
791
- # * {Types::GetComplianceSummaryByResourceTypeResponse#compliance_summaries_by_resource_type #ComplianceSummariesByResourceType} => Array&lt;Types::ComplianceSummaryByResourceType&gt;
792
- #
793
- # @example Request syntax with placeholder values
794
- # resp = client.get_compliance_summary_by_resource_type({
795
- # resource_types: ["StringWithCharLimit256"],
796
- # })
797
- #
798
- # @example Response structure
799
- # resp.compliance_summaries_by_resource_type #=> Array
800
- # resp.compliance_summaries_by_resource_type[0].resource_type #=> String
801
- # resp.compliance_summaries_by_resource_type[0].compliance_summary.compliant_resource_count.capped_count #=> Integer
802
- # resp.compliance_summaries_by_resource_type[0].compliance_summary.compliant_resource_count.cap_exceeded #=> Boolean
803
- # resp.compliance_summaries_by_resource_type[0].compliance_summary.non_compliant_resource_count.capped_count #=> Integer
804
- # resp.compliance_summaries_by_resource_type[0].compliance_summary.non_compliant_resource_count.cap_exceeded #=> Boolean
805
- # resp.compliance_summaries_by_resource_type[0].compliance_summary.compliance_summary_timestamp #=> Time
806
- # @overload get_compliance_summary_by_resource_type(params = {})
807
- # @param [Hash] params ({})
808
- def get_compliance_summary_by_resource_type(params = {}, options = {})
809
- req = build_request(:get_compliance_summary_by_resource_type, params)
810
- req.send_request(options)
811
- end
858
+ # Returns the number of AWS Config rules that are compliant and
859
+ # noncompliant, up to a maximum of 25 for each.
860
+ #
861
+ # @return [Types::GetComplianceSummaryByConfigRuleResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
862
+ #
863
+ # * {Types::GetComplianceSummaryByConfigRuleResponse#compliance_summary #compliance_summary} => Types::ComplianceSummary
864
+ #
865
+ # @example Response structure
866
+ #
867
+ # resp.compliance_summary.compliant_resource_count.capped_count #=> Integer
868
+ # resp.compliance_summary.compliant_resource_count.cap_exceeded #=> Boolean
869
+ # resp.compliance_summary.non_compliant_resource_count.capped_count #=> Integer
870
+ # resp.compliance_summary.non_compliant_resource_count.cap_exceeded #=> Boolean
871
+ # resp.compliance_summary.compliance_summary_timestamp #=> Time
872
+ #
873
+ # @overload get_compliance_summary_by_config_rule(params = {})
874
+ # @param [Hash] params ({})
875
+ def get_compliance_summary_by_config_rule(params = {}, options = {})
876
+ req = build_request(:get_compliance_summary_by_config_rule, params)
877
+ req.send_request(options)
878
+ end
812
879
 
813
- # Returns a list of configuration items for the specified resource. The
814
- # list contains details about each state of the resource during the
815
- # specified time interval.
816
- #
817
- # The response is paginated, and by default, AWS Config returns a limit
818
- # of 10 configuration items per page. You can customize this number with
819
- # the `limit` parameter. The response includes a `nextToken` string, and
820
- # to get the next page of results, run the request again and enter this
821
- # string for the `nextToken` parameter.
822
- #
823
- # <note markdown="1"> Each call to the API is limited to span a duration of seven days. It
824
- # is likely that the number of records returned is smaller than the
825
- # specified `limit`. In such cases, you can make another call, using the
826
- # `nextToken`.
827
- #
828
- # </note>
829
- # @option params [required, String] :resource_type
830
- # The resource type.
831
- # @option params [required, String] :resource_id
832
- # The ID of the resource (for example., `sg-xxxxxx`).
833
- # @option params [Time,DateTime,Date,Integer,String] :later_time
834
- # The time stamp that indicates a later time. If not specified, current
835
- # time is taken.
836
- # @option params [Time,DateTime,Date,Integer,String] :earlier_time
837
- # The time stamp that indicates an earlier time. If not specified, the
838
- # action returns paginated results that contain configuration items that
839
- # start from when the first configuration item was recorded.
840
- # @option params [String] :chronological_order
841
- # The chronological order for configuration items listed. By default the
842
- # results are listed in reverse chronological order.
843
- # @option params [Integer] :limit
844
- # The maximum number of configuration items returned on each page. The
845
- # default is 10. You cannot specify a limit greater than 100. If you
846
- # specify 0, AWS Config uses the default.
847
- # @option params [String] :next_token
848
- # The `nextToken` string returned on a previous page that you use to get
849
- # the next page of results in a paginated response.
850
- # @return [Types::GetResourceConfigHistoryResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
851
- #
852
- # * {Types::GetResourceConfigHistoryResponse#configuration_items #configurationItems} => Array&lt;Types::ConfigurationItem&gt;
853
- # * {Types::GetResourceConfigHistoryResponse#next_token #nextToken} => String
854
- #
855
- # @example Request syntax with placeholder values
856
- # resp = client.get_resource_config_history({
857
- # resource_type: "AWS::EC2::CustomerGateway", # required, accepts AWS::EC2::CustomerGateway, AWS::EC2::EIP, AWS::EC2::Host, AWS::EC2::Instance, AWS::EC2::InternetGateway, AWS::EC2::NetworkAcl, AWS::EC2::NetworkInterface, AWS::EC2::RouteTable, AWS::EC2::SecurityGroup, AWS::EC2::Subnet, AWS::CloudTrail::Trail, AWS::EC2::Volume, AWS::EC2::VPC, AWS::EC2::VPNConnection, AWS::EC2::VPNGateway, AWS::IAM::Group, AWS::IAM::Policy, AWS::IAM::Role, AWS::IAM::User, AWS::ACM::Certificate, AWS::RDS::DBInstance, AWS::RDS::DBSubnetGroup, AWS::RDS::DBSecurityGroup, AWS::RDS::DBSnapshot, AWS::RDS::EventSubscription, AWS::ElasticLoadBalancingV2::LoadBalancer, AWS::S3::Bucket, AWS::SSM::ManagedInstanceInventory, AWS::Redshift::Cluster, AWS::Redshift::ClusterSnapshot, AWS::Redshift::ClusterParameterGroup, AWS::Redshift::ClusterSecurityGroup, AWS::Redshift::ClusterSubnetGroup, AWS::Redshift::EventSubscription
858
- # resource_id: "ResourceId", # required
859
- # later_time: Time.now,
860
- # earlier_time: Time.now,
861
- # chronological_order: "Reverse", # accepts Reverse, Forward
862
- # limit: 1,
863
- # next_token: "NextToken",
864
- # })
865
- #
866
- # @example Response structure
867
- # resp.configuration_items #=> Array
868
- # resp.configuration_items[0].version #=> String
869
- # resp.configuration_items[0].account_id #=> String
870
- # resp.configuration_items[0].configuration_item_capture_time #=> Time
871
- # resp.configuration_items[0].configuration_item_status #=> String, one of "Ok", "Failed", "Discovered", "Deleted"
872
- # resp.configuration_items[0].configuration_state_id #=> String
873
- # resp.configuration_items[0].configuration_item_md5_hash #=> String
874
- # resp.configuration_items[0].arn #=> String
875
- # resp.configuration_items[0].resource_type #=> String, one of "AWS::EC2::CustomerGateway", "AWS::EC2::EIP", "AWS::EC2::Host", "AWS::EC2::Instance", "AWS::EC2::InternetGateway", "AWS::EC2::NetworkAcl", "AWS::EC2::NetworkInterface", "AWS::EC2::RouteTable", "AWS::EC2::SecurityGroup", "AWS::EC2::Subnet", "AWS::CloudTrail::Trail", "AWS::EC2::Volume", "AWS::EC2::VPC", "AWS::EC2::VPNConnection", "AWS::EC2::VPNGateway", "AWS::IAM::Group", "AWS::IAM::Policy", "AWS::IAM::Role", "AWS::IAM::User", "AWS::ACM::Certificate", "AWS::RDS::DBInstance", "AWS::RDS::DBSubnetGroup", "AWS::RDS::DBSecurityGroup", "AWS::RDS::DBSnapshot", "AWS::RDS::EventSubscription", "AWS::ElasticLoadBalancingV2::LoadBalancer", "AWS::S3::Bucket", "AWS::SSM::ManagedInstanceInventory", "AWS::Redshift::Cluster", "AWS::Redshift::ClusterSnapshot", "AWS::Redshift::ClusterParameterGroup", "AWS::Redshift::ClusterSecurityGroup", "AWS::Redshift::ClusterSubnetGroup", "AWS::Redshift::EventSubscription"
876
- # resp.configuration_items[0].resource_id #=> String
877
- # resp.configuration_items[0].resource_name #=> String
878
- # resp.configuration_items[0].aws_region #=> String
879
- # resp.configuration_items[0].availability_zone #=> String
880
- # resp.configuration_items[0].resource_creation_time #=> Time
881
- # resp.configuration_items[0].tags #=> Hash
882
- # resp.configuration_items[0].tags["Name"] #=> String
883
- # resp.configuration_items[0].related_events #=> Array
884
- # resp.configuration_items[0].related_events[0] #=> String
885
- # resp.configuration_items[0].relationships #=> Array
886
- # resp.configuration_items[0].relationships[0].resource_type #=> String, one of "AWS::EC2::CustomerGateway", "AWS::EC2::EIP", "AWS::EC2::Host", "AWS::EC2::Instance", "AWS::EC2::InternetGateway", "AWS::EC2::NetworkAcl", "AWS::EC2::NetworkInterface", "AWS::EC2::RouteTable", "AWS::EC2::SecurityGroup", "AWS::EC2::Subnet", "AWS::CloudTrail::Trail", "AWS::EC2::Volume", "AWS::EC2::VPC", "AWS::EC2::VPNConnection", "AWS::EC2::VPNGateway", "AWS::IAM::Group", "AWS::IAM::Policy", "AWS::IAM::Role", "AWS::IAM::User", "AWS::ACM::Certificate", "AWS::RDS::DBInstance", "AWS::RDS::DBSubnetGroup", "AWS::RDS::DBSecurityGroup", "AWS::RDS::DBSnapshot", "AWS::RDS::EventSubscription", "AWS::ElasticLoadBalancingV2::LoadBalancer", "AWS::S3::Bucket", "AWS::SSM::ManagedInstanceInventory", "AWS::Redshift::Cluster", "AWS::Redshift::ClusterSnapshot", "AWS::Redshift::ClusterParameterGroup", "AWS::Redshift::ClusterSecurityGroup", "AWS::Redshift::ClusterSubnetGroup", "AWS::Redshift::EventSubscription"
887
- # resp.configuration_items[0].relationships[0].resource_id #=> String
888
- # resp.configuration_items[0].relationships[0].resource_name #=> String
889
- # resp.configuration_items[0].relationships[0].relationship_name #=> String
890
- # resp.configuration_items[0].configuration #=> String
891
- # resp.configuration_items[0].supplementary_configuration #=> Hash
892
- # resp.configuration_items[0].supplementary_configuration["SupplementaryConfigurationName"] #=> String
893
- # resp.next_token #=> String
894
- # @overload get_resource_config_history(params = {})
895
- # @param [Hash] params ({})
896
- def get_resource_config_history(params = {}, options = {})
897
- req = build_request(:get_resource_config_history, params)
898
- req.send_request(options)
899
- end
880
+ # Returns the number of resources that are compliant and the number that
881
+ # are noncompliant. You can specify one or more resource types to get
882
+ # these numbers for each resource type. The maximum number returned is
883
+ # 100.
884
+ #
885
+ # @option params [Array<String>] :resource_types
886
+ # Specify one or more resource types to get the number of resources that
887
+ # are compliant and the number that are noncompliant for each resource
888
+ # type.
889
+ #
890
+ # For this request, you can specify an AWS resource type such as
891
+ # `AWS::EC2::Instance`, and you can specify that the resource type is an
892
+ # AWS account by specifying `AWS::::Account`.
893
+ #
894
+ # @return [Types::GetComplianceSummaryByResourceTypeResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
895
+ #
896
+ # * {Types::GetComplianceSummaryByResourceTypeResponse#compliance_summaries_by_resource_type #compliance_summaries_by_resource_type} => Array&lt;Types::ComplianceSummaryByResourceType&gt;
897
+ #
898
+ # @example Request syntax with placeholder values
899
+ #
900
+ # resp = client.get_compliance_summary_by_resource_type({
901
+ # resource_types: ["StringWithCharLimit256"],
902
+ # })
903
+ #
904
+ # @example Response structure
905
+ #
906
+ # resp.compliance_summaries_by_resource_type #=> Array
907
+ # resp.compliance_summaries_by_resource_type[0].resource_type #=> String
908
+ # resp.compliance_summaries_by_resource_type[0].compliance_summary.compliant_resource_count.capped_count #=> Integer
909
+ # resp.compliance_summaries_by_resource_type[0].compliance_summary.compliant_resource_count.cap_exceeded #=> Boolean
910
+ # resp.compliance_summaries_by_resource_type[0].compliance_summary.non_compliant_resource_count.capped_count #=> Integer
911
+ # resp.compliance_summaries_by_resource_type[0].compliance_summary.non_compliant_resource_count.cap_exceeded #=> Boolean
912
+ # resp.compliance_summaries_by_resource_type[0].compliance_summary.compliance_summary_timestamp #=> Time
913
+ #
914
+ # @overload get_compliance_summary_by_resource_type(params = {})
915
+ # @param [Hash] params ({})
916
+ def get_compliance_summary_by_resource_type(params = {}, options = {})
917
+ req = build_request(:get_compliance_summary_by_resource_type, params)
918
+ req.send_request(options)
919
+ end
900
920
 
901
- # Accepts a resource type and returns a list of resource identifiers for
902
- # the resources of that type. A resource identifier includes the
903
- # resource type, ID, and (if available) the custom resource name. The
904
- # results consist of resources that AWS Config has discovered, including
905
- # those that AWS Config is not currently recording. You can narrow the
906
- # results to include only resources that have specific resource IDs or a
907
- # resource name.
908
- #
909
- # <note markdown="1"> You can specify either resource IDs or a resource name but not both in
910
- # the same request.
911
- #
912
- # </note>
913
- #
914
- # The response is paginated, and by default AWS Config lists 100
915
- # resource identifiers on each page. You can customize this number with
916
- # the `limit` parameter. The response includes a `nextToken` string, and
917
- # to get the next page of results, run the request again and enter this
918
- # string for the `nextToken` parameter.
919
- # @option params [required, String] :resource_type
920
- # The type of resources that you want AWS Config to list in the
921
- # response.
922
- # @option params [Array<String>] :resource_ids
923
- # The IDs of only those resources that you want AWS Config to list in
924
- # the response. If you do not specify this parameter, AWS Config lists
925
- # all resources of the specified type that it has discovered.
926
- # @option params [String] :resource_name
927
- # The custom name of only those resources that you want AWS Config to
928
- # list in the response. If you do not specify this parameter, AWS Config
929
- # lists all resources of the specified type that it has discovered.
930
- # @option params [Integer] :limit
931
- # The maximum number of resource identifiers returned on each page. The
932
- # default is 100. You cannot specify a limit greater than 100. If you
933
- # specify 0, AWS Config uses the default.
934
- # @option params [Boolean] :include_deleted_resources
935
- # Specifies whether AWS Config includes deleted resources in the
936
- # results. By default, deleted resources are not included.
937
- # @option params [String] :next_token
938
- # The `nextToken` string returned on a previous page that you use to get
939
- # the next page of results in a paginated response.
940
- # @return [Types::ListDiscoveredResourcesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
941
- #
942
- # * {Types::ListDiscoveredResourcesResponse#resource_identifiers #resourceIdentifiers} => Array&lt;Types::ResourceIdentifier&gt;
943
- # * {Types::ListDiscoveredResourcesResponse#next_token #nextToken} => String
944
- #
945
- # @example Request syntax with placeholder values
946
- # resp = client.list_discovered_resources({
947
- # resource_type: "AWS::EC2::CustomerGateway", # required, accepts AWS::EC2::CustomerGateway, AWS::EC2::EIP, AWS::EC2::Host, AWS::EC2::Instance, AWS::EC2::InternetGateway, AWS::EC2::NetworkAcl, AWS::EC2::NetworkInterface, AWS::EC2::RouteTable, AWS::EC2::SecurityGroup, AWS::EC2::Subnet, AWS::CloudTrail::Trail, AWS::EC2::Volume, AWS::EC2::VPC, AWS::EC2::VPNConnection, AWS::EC2::VPNGateway, AWS::IAM::Group, AWS::IAM::Policy, AWS::IAM::Role, AWS::IAM::User, AWS::ACM::Certificate, AWS::RDS::DBInstance, AWS::RDS::DBSubnetGroup, AWS::RDS::DBSecurityGroup, AWS::RDS::DBSnapshot, AWS::RDS::EventSubscription, AWS::ElasticLoadBalancingV2::LoadBalancer, AWS::S3::Bucket, AWS::SSM::ManagedInstanceInventory, AWS::Redshift::Cluster, AWS::Redshift::ClusterSnapshot, AWS::Redshift::ClusterParameterGroup, AWS::Redshift::ClusterSecurityGroup, AWS::Redshift::ClusterSubnetGroup, AWS::Redshift::EventSubscription
948
- # resource_ids: ["ResourceId"],
949
- # resource_name: "ResourceName",
950
- # limit: 1,
951
- # include_deleted_resources: false,
952
- # next_token: "NextToken",
953
- # })
954
- #
955
- # @example Response structure
956
- # resp.resource_identifiers #=> Array
957
- # resp.resource_identifiers[0].resource_type #=> String, one of "AWS::EC2::CustomerGateway", "AWS::EC2::EIP", "AWS::EC2::Host", "AWS::EC2::Instance", "AWS::EC2::InternetGateway", "AWS::EC2::NetworkAcl", "AWS::EC2::NetworkInterface", "AWS::EC2::RouteTable", "AWS::EC2::SecurityGroup", "AWS::EC2::Subnet", "AWS::CloudTrail::Trail", "AWS::EC2::Volume", "AWS::EC2::VPC", "AWS::EC2::VPNConnection", "AWS::EC2::VPNGateway", "AWS::IAM::Group", "AWS::IAM::Policy", "AWS::IAM::Role", "AWS::IAM::User", "AWS::ACM::Certificate", "AWS::RDS::DBInstance", "AWS::RDS::DBSubnetGroup", "AWS::RDS::DBSecurityGroup", "AWS::RDS::DBSnapshot", "AWS::RDS::EventSubscription", "AWS::ElasticLoadBalancingV2::LoadBalancer", "AWS::S3::Bucket", "AWS::SSM::ManagedInstanceInventory", "AWS::Redshift::Cluster", "AWS::Redshift::ClusterSnapshot", "AWS::Redshift::ClusterParameterGroup", "AWS::Redshift::ClusterSecurityGroup", "AWS::Redshift::ClusterSubnetGroup", "AWS::Redshift::EventSubscription"
958
- # resp.resource_identifiers[0].resource_id #=> String
959
- # resp.resource_identifiers[0].resource_name #=> String
960
- # resp.resource_identifiers[0].resource_deletion_time #=> Time
961
- # resp.next_token #=> String
962
- # @overload list_discovered_resources(params = {})
963
- # @param [Hash] params ({})
964
- def list_discovered_resources(params = {}, options = {})
965
- req = build_request(:list_discovered_resources, params)
966
- req.send_request(options)
967
- end
921
+ # Returns a list of configuration items for the specified resource. The
922
+ # list contains details about each state of the resource during the
923
+ # specified time interval.
924
+ #
925
+ # The response is paginated, and by default, AWS Config returns a limit
926
+ # of 10 configuration items per page. You can customize this number with
927
+ # the `limit` parameter. The response includes a `nextToken` string, and
928
+ # to get the next page of results, run the request again and enter this
929
+ # string for the `nextToken` parameter.
930
+ #
931
+ # <note markdown="1"> Each call to the API is limited to span a duration of seven days. It
932
+ # is likely that the number of records returned is smaller than the
933
+ # specified `limit`. In such cases, you can make another call, using the
934
+ # `nextToken`.
935
+ #
936
+ # </note>
937
+ #
938
+ # @option params [required, String] :resource_type
939
+ # The resource type.
940
+ #
941
+ # @option params [required, String] :resource_id
942
+ # The ID of the resource (for example., `sg-xxxxxx`).
943
+ #
944
+ # @option params [Time,DateTime,Date,Integer,String] :later_time
945
+ # The time stamp that indicates a later time. If not specified, current
946
+ # time is taken.
947
+ #
948
+ # @option params [Time,DateTime,Date,Integer,String] :earlier_time
949
+ # The time stamp that indicates an earlier time. If not specified, the
950
+ # action returns paginated results that contain configuration items that
951
+ # start from when the first configuration item was recorded.
952
+ #
953
+ # @option params [String] :chronological_order
954
+ # The chronological order for configuration items listed. By default the
955
+ # results are listed in reverse chronological order.
956
+ #
957
+ # @option params [Integer] :limit
958
+ # The maximum number of configuration items returned on each page. The
959
+ # default is 10. You cannot specify a limit greater than 100. If you
960
+ # specify 0, AWS Config uses the default.
961
+ #
962
+ # @option params [String] :next_token
963
+ # The `nextToken` string returned on a previous page that you use to get
964
+ # the next page of results in a paginated response.
965
+ #
966
+ # @return [Types::GetResourceConfigHistoryResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
967
+ #
968
+ # * {Types::GetResourceConfigHistoryResponse#configuration_items #configuration_items} => Array&lt;Types::ConfigurationItem&gt;
969
+ # * {Types::GetResourceConfigHistoryResponse#next_token #next_token} => String
970
+ #
971
+ # @example Request syntax with placeholder values
972
+ #
973
+ # resp = client.get_resource_config_history({
974
+ # resource_type: "AWS::EC2::CustomerGateway", # required, accepts AWS::EC2::CustomerGateway, AWS::EC2::EIP, AWS::EC2::Host, AWS::EC2::Instance, AWS::EC2::InternetGateway, AWS::EC2::NetworkAcl, AWS::EC2::NetworkInterface, AWS::EC2::RouteTable, AWS::EC2::SecurityGroup, AWS::EC2::Subnet, AWS::CloudTrail::Trail, AWS::EC2::Volume, AWS::EC2::VPC, AWS::EC2::VPNConnection, AWS::EC2::VPNGateway, AWS::IAM::Group, AWS::IAM::Policy, AWS::IAM::Role, AWS::IAM::User, AWS::ACM::Certificate, AWS::RDS::DBInstance, AWS::RDS::DBSubnetGroup, AWS::RDS::DBSecurityGroup, AWS::RDS::DBSnapshot, AWS::RDS::EventSubscription, AWS::ElasticLoadBalancingV2::LoadBalancer, AWS::S3::Bucket, AWS::SSM::ManagedInstanceInventory, AWS::Redshift::Cluster, AWS::Redshift::ClusterSnapshot, AWS::Redshift::ClusterParameterGroup, AWS::Redshift::ClusterSecurityGroup, AWS::Redshift::ClusterSubnetGroup, AWS::Redshift::EventSubscription
975
+ # resource_id: "ResourceId", # required
976
+ # later_time: Time.now,
977
+ # earlier_time: Time.now,
978
+ # chronological_order: "Reverse", # accepts Reverse, Forward
979
+ # limit: 1,
980
+ # next_token: "NextToken",
981
+ # })
982
+ #
983
+ # @example Response structure
984
+ #
985
+ # resp.configuration_items #=> Array
986
+ # resp.configuration_items[0].version #=> String
987
+ # resp.configuration_items[0].account_id #=> String
988
+ # resp.configuration_items[0].configuration_item_capture_time #=> Time
989
+ # resp.configuration_items[0].configuration_item_status #=> String, one of "Ok", "Failed", "Discovered", "Deleted"
990
+ # resp.configuration_items[0].configuration_state_id #=> String
991
+ # resp.configuration_items[0].configuration_item_md5_hash #=> String
992
+ # resp.configuration_items[0].arn #=> String
993
+ # resp.configuration_items[0].resource_type #=> String, one of "AWS::EC2::CustomerGateway", "AWS::EC2::EIP", "AWS::EC2::Host", "AWS::EC2::Instance", "AWS::EC2::InternetGateway", "AWS::EC2::NetworkAcl", "AWS::EC2::NetworkInterface", "AWS::EC2::RouteTable", "AWS::EC2::SecurityGroup", "AWS::EC2::Subnet", "AWS::CloudTrail::Trail", "AWS::EC2::Volume", "AWS::EC2::VPC", "AWS::EC2::VPNConnection", "AWS::EC2::VPNGateway", "AWS::IAM::Group", "AWS::IAM::Policy", "AWS::IAM::Role", "AWS::IAM::User", "AWS::ACM::Certificate", "AWS::RDS::DBInstance", "AWS::RDS::DBSubnetGroup", "AWS::RDS::DBSecurityGroup", "AWS::RDS::DBSnapshot", "AWS::RDS::EventSubscription", "AWS::ElasticLoadBalancingV2::LoadBalancer", "AWS::S3::Bucket", "AWS::SSM::ManagedInstanceInventory", "AWS::Redshift::Cluster", "AWS::Redshift::ClusterSnapshot", "AWS::Redshift::ClusterParameterGroup", "AWS::Redshift::ClusterSecurityGroup", "AWS::Redshift::ClusterSubnetGroup", "AWS::Redshift::EventSubscription"
994
+ # resp.configuration_items[0].resource_id #=> String
995
+ # resp.configuration_items[0].resource_name #=> String
996
+ # resp.configuration_items[0].aws_region #=> String
997
+ # resp.configuration_items[0].availability_zone #=> String
998
+ # resp.configuration_items[0].resource_creation_time #=> Time
999
+ # resp.configuration_items[0].tags #=> Hash
1000
+ # resp.configuration_items[0].tags["Name"] #=> String
1001
+ # resp.configuration_items[0].related_events #=> Array
1002
+ # resp.configuration_items[0].related_events[0] #=> String
1003
+ # resp.configuration_items[0].relationships #=> Array
1004
+ # resp.configuration_items[0].relationships[0].resource_type #=> String, one of "AWS::EC2::CustomerGateway", "AWS::EC2::EIP", "AWS::EC2::Host", "AWS::EC2::Instance", "AWS::EC2::InternetGateway", "AWS::EC2::NetworkAcl", "AWS::EC2::NetworkInterface", "AWS::EC2::RouteTable", "AWS::EC2::SecurityGroup", "AWS::EC2::Subnet", "AWS::CloudTrail::Trail", "AWS::EC2::Volume", "AWS::EC2::VPC", "AWS::EC2::VPNConnection", "AWS::EC2::VPNGateway", "AWS::IAM::Group", "AWS::IAM::Policy", "AWS::IAM::Role", "AWS::IAM::User", "AWS::ACM::Certificate", "AWS::RDS::DBInstance", "AWS::RDS::DBSubnetGroup", "AWS::RDS::DBSecurityGroup", "AWS::RDS::DBSnapshot", "AWS::RDS::EventSubscription", "AWS::ElasticLoadBalancingV2::LoadBalancer", "AWS::S3::Bucket", "AWS::SSM::ManagedInstanceInventory", "AWS::Redshift::Cluster", "AWS::Redshift::ClusterSnapshot", "AWS::Redshift::ClusterParameterGroup", "AWS::Redshift::ClusterSecurityGroup", "AWS::Redshift::ClusterSubnetGroup", "AWS::Redshift::EventSubscription"
1005
+ # resp.configuration_items[0].relationships[0].resource_id #=> String
1006
+ # resp.configuration_items[0].relationships[0].resource_name #=> String
1007
+ # resp.configuration_items[0].relationships[0].relationship_name #=> String
1008
+ # resp.configuration_items[0].configuration #=> String
1009
+ # resp.configuration_items[0].supplementary_configuration #=> Hash
1010
+ # resp.configuration_items[0].supplementary_configuration["SupplementaryConfigurationName"] #=> String
1011
+ # resp.next_token #=> String
1012
+ #
1013
+ # @overload get_resource_config_history(params = {})
1014
+ # @param [Hash] params ({})
1015
+ def get_resource_config_history(params = {}, options = {})
1016
+ req = build_request(:get_resource_config_history, params)
1017
+ req.send_request(options)
1018
+ end
968
1019
 
969
- # Adds or updates an AWS Config rule for evaluating whether your AWS
970
- # resources comply with your desired configurations.
971
- #
972
- # You can use this action for custom Config rules and AWS managed Config
973
- # rules. A custom Config rule is a rule that you develop and maintain.
974
- # An AWS managed Config rule is a customizable, predefined rule that AWS
975
- # Config provides.
976
- #
977
- # If you are adding a new custom Config rule, you must first create the
978
- # AWS Lambda function that the rule invokes to evaluate your resources.
979
- # When you use the `PutConfigRule` action to add the rule to AWS Config,
980
- # you must specify the Amazon Resource Name (ARN) that AWS Lambda
981
- # assigns to the function. Specify the ARN for the `SourceIdentifier`
982
- # key. This key is part of the `Source` object, which is part of the
983
- # `ConfigRule` object.
984
- #
985
- # If you are adding a new AWS managed Config rule, specify the rule's
986
- # identifier for the `SourceIdentifier` key. To reference AWS managed
987
- # Config rule identifiers, see [Using AWS Managed Config Rules][1].
988
- #
989
- # For any new rule that you add, specify the `ConfigRuleName` in the
990
- # `ConfigRule` object. Do not specify the `ConfigRuleArn` or the
991
- # `ConfigRuleId`. These values are generated by AWS Config for new
992
- # rules.
993
- #
994
- # If you are updating a rule that you added previously, you can specify
995
- # the rule by `ConfigRuleName`, `ConfigRuleId`, or `ConfigRuleArn` in
996
- # the `ConfigRule` data type that you use in this request.
997
- #
998
- # The maximum number of rules that AWS Config supports is 50.
999
- #
1000
- # For more information about requesting a rule limit increase, see [AWS
1001
- # Config Limits][2] in the *AWS General Reference Guide*.
1002
- #
1003
- # For more information about developing and using AWS Config rules, see
1004
- # [Evaluating AWS Resource Configurations with AWS Config][3] in the
1005
- # *AWS Config Developer Guide*.
1006
- #
1007
- #
1008
- #
1009
- # [1]: http://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_use-managed-rules.html
1010
- # [2]: http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_config
1011
- # [3]: http://docs.aws.amazon.com/config/latest/developerguide/evaluate-config.html
1012
- # @option params [required, Types::ConfigRule] :config_rule
1013
- # An AWS Config rule represents an AWS Lambda function that you create
1014
- # for a custom rule or a predefined function for an AWS managed rule.
1015
- # The function evaluates configuration items to assess whether your AWS
1016
- # resources comply with your desired configurations. This function can
1017
- # run when AWS Config detects a configuration change to an AWS resource
1018
- # and at a periodic frequency that you choose (for example, every 24
1019
- # hours).
1020
- #
1021
- # <note markdown="1"> You can use the AWS CLI and AWS SDKs if you want to create a rule that
1022
- # triggers evaluations for your resources when AWS Config delivers the
1023
- # configuration snapshot. For more information, see
1024
- # ConfigSnapshotDeliveryProperties.
1025
- #
1026
- # </note>
1027
- #
1028
- # For more information about developing and using AWS Config rules, see
1029
- # [Evaluating AWS Resource Configurations with AWS Config][1] in the
1030
- # *AWS Config Developer Guide*.
1031
- #
1032
- #
1033
- #
1034
- # [1]: http://docs.aws.amazon.com/config/latest/developerguide/evaluate-config.html
1035
- # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1036
- #
1037
- # @example Request syntax with placeholder values
1038
- # resp = client.put_config_rule({
1039
- # config_rule: { # required
1040
- # config_rule_name: "StringWithCharLimit64",
1041
- # config_rule_arn: "String",
1042
- # config_rule_id: "String",
1043
- # description: "EmptiableStringWithCharLimit256",
1044
- # scope: {
1045
- # compliance_resource_types: ["StringWithCharLimit256"],
1046
- # tag_key: "StringWithCharLimit128",
1047
- # tag_value: "StringWithCharLimit256",
1048
- # compliance_resource_id: "StringWithCharLimit256",
1049
- # },
1050
- # source: { # required
1051
- # owner: "CUSTOM_LAMBDA", # required, accepts CUSTOM_LAMBDA, AWS
1052
- # source_identifier: "StringWithCharLimit256", # required
1053
- # source_details: [
1054
- # {
1055
- # event_source: "aws.config", # accepts aws.config
1056
- # message_type: "ConfigurationItemChangeNotification", # accepts ConfigurationItemChangeNotification, ConfigurationSnapshotDeliveryCompleted, ScheduledNotification
1057
- # maximum_execution_frequency: "One_Hour", # accepts One_Hour, Three_Hours, Six_Hours, Twelve_Hours, TwentyFour_Hours
1058
- # },
1059
- # ],
1060
- # },
1061
- # input_parameters: "StringWithCharLimit1024",
1062
- # maximum_execution_frequency: "One_Hour", # accepts One_Hour, Three_Hours, Six_Hours, Twelve_Hours, TwentyFour_Hours
1063
- # config_rule_state: "ACTIVE", # accepts ACTIVE, DELETING, DELETING_RESULTS, EVALUATING
1064
- # },
1065
- # })
1066
- # @overload put_config_rule(params = {})
1067
- # @param [Hash] params ({})
1068
- def put_config_rule(params = {}, options = {})
1069
- req = build_request(:put_config_rule, params)
1070
- req.send_request(options)
1071
- end
1020
+ # Accepts a resource type and returns a list of resource identifiers for
1021
+ # the resources of that type. A resource identifier includes the
1022
+ # resource type, ID, and (if available) the custom resource name. The
1023
+ # results consist of resources that AWS Config has discovered, including
1024
+ # those that AWS Config is not currently recording. You can narrow the
1025
+ # results to include only resources that have specific resource IDs or a
1026
+ # resource name.
1027
+ #
1028
+ # <note markdown="1"> You can specify either resource IDs or a resource name but not both in
1029
+ # the same request.
1030
+ #
1031
+ # </note>
1032
+ #
1033
+ # The response is paginated, and by default AWS Config lists 100
1034
+ # resource identifiers on each page. You can customize this number with
1035
+ # the `limit` parameter. The response includes a `nextToken` string, and
1036
+ # to get the next page of results, run the request again and enter this
1037
+ # string for the `nextToken` parameter.
1038
+ #
1039
+ # @option params [required, String] :resource_type
1040
+ # The type of resources that you want AWS Config to list in the
1041
+ # response.
1042
+ #
1043
+ # @option params [Array<String>] :resource_ids
1044
+ # The IDs of only those resources that you want AWS Config to list in
1045
+ # the response. If you do not specify this parameter, AWS Config lists
1046
+ # all resources of the specified type that it has discovered.
1047
+ #
1048
+ # @option params [String] :resource_name
1049
+ # The custom name of only those resources that you want AWS Config to
1050
+ # list in the response. If you do not specify this parameter, AWS Config
1051
+ # lists all resources of the specified type that it has discovered.
1052
+ #
1053
+ # @option params [Integer] :limit
1054
+ # The maximum number of resource identifiers returned on each page. The
1055
+ # default is 100. You cannot specify a limit greater than 100. If you
1056
+ # specify 0, AWS Config uses the default.
1057
+ #
1058
+ # @option params [Boolean] :include_deleted_resources
1059
+ # Specifies whether AWS Config includes deleted resources in the
1060
+ # results. By default, deleted resources are not included.
1061
+ #
1062
+ # @option params [String] :next_token
1063
+ # The `nextToken` string returned on a previous page that you use to get
1064
+ # the next page of results in a paginated response.
1065
+ #
1066
+ # @return [Types::ListDiscoveredResourcesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1067
+ #
1068
+ # * {Types::ListDiscoveredResourcesResponse#resource_identifiers #resource_identifiers} => Array&lt;Types::ResourceIdentifier&gt;
1069
+ # * {Types::ListDiscoveredResourcesResponse#next_token #next_token} => String
1070
+ #
1071
+ # @example Request syntax with placeholder values
1072
+ #
1073
+ # resp = client.list_discovered_resources({
1074
+ # resource_type: "AWS::EC2::CustomerGateway", # required, accepts AWS::EC2::CustomerGateway, AWS::EC2::EIP, AWS::EC2::Host, AWS::EC2::Instance, AWS::EC2::InternetGateway, AWS::EC2::NetworkAcl, AWS::EC2::NetworkInterface, AWS::EC2::RouteTable, AWS::EC2::SecurityGroup, AWS::EC2::Subnet, AWS::CloudTrail::Trail, AWS::EC2::Volume, AWS::EC2::VPC, AWS::EC2::VPNConnection, AWS::EC2::VPNGateway, AWS::IAM::Group, AWS::IAM::Policy, AWS::IAM::Role, AWS::IAM::User, AWS::ACM::Certificate, AWS::RDS::DBInstance, AWS::RDS::DBSubnetGroup, AWS::RDS::DBSecurityGroup, AWS::RDS::DBSnapshot, AWS::RDS::EventSubscription, AWS::ElasticLoadBalancingV2::LoadBalancer, AWS::S3::Bucket, AWS::SSM::ManagedInstanceInventory, AWS::Redshift::Cluster, AWS::Redshift::ClusterSnapshot, AWS::Redshift::ClusterParameterGroup, AWS::Redshift::ClusterSecurityGroup, AWS::Redshift::ClusterSubnetGroup, AWS::Redshift::EventSubscription
1075
+ # resource_ids: ["ResourceId"],
1076
+ # resource_name: "ResourceName",
1077
+ # limit: 1,
1078
+ # include_deleted_resources: false,
1079
+ # next_token: "NextToken",
1080
+ # })
1081
+ #
1082
+ # @example Response structure
1083
+ #
1084
+ # resp.resource_identifiers #=> Array
1085
+ # resp.resource_identifiers[0].resource_type #=> String, one of "AWS::EC2::CustomerGateway", "AWS::EC2::EIP", "AWS::EC2::Host", "AWS::EC2::Instance", "AWS::EC2::InternetGateway", "AWS::EC2::NetworkAcl", "AWS::EC2::NetworkInterface", "AWS::EC2::RouteTable", "AWS::EC2::SecurityGroup", "AWS::EC2::Subnet", "AWS::CloudTrail::Trail", "AWS::EC2::Volume", "AWS::EC2::VPC", "AWS::EC2::VPNConnection", "AWS::EC2::VPNGateway", "AWS::IAM::Group", "AWS::IAM::Policy", "AWS::IAM::Role", "AWS::IAM::User", "AWS::ACM::Certificate", "AWS::RDS::DBInstance", "AWS::RDS::DBSubnetGroup", "AWS::RDS::DBSecurityGroup", "AWS::RDS::DBSnapshot", "AWS::RDS::EventSubscription", "AWS::ElasticLoadBalancingV2::LoadBalancer", "AWS::S3::Bucket", "AWS::SSM::ManagedInstanceInventory", "AWS::Redshift::Cluster", "AWS::Redshift::ClusterSnapshot", "AWS::Redshift::ClusterParameterGroup", "AWS::Redshift::ClusterSecurityGroup", "AWS::Redshift::ClusterSubnetGroup", "AWS::Redshift::EventSubscription"
1086
+ # resp.resource_identifiers[0].resource_id #=> String
1087
+ # resp.resource_identifiers[0].resource_name #=> String
1088
+ # resp.resource_identifiers[0].resource_deletion_time #=> Time
1089
+ # resp.next_token #=> String
1090
+ #
1091
+ # @overload list_discovered_resources(params = {})
1092
+ # @param [Hash] params ({})
1093
+ def list_discovered_resources(params = {}, options = {})
1094
+ req = build_request(:list_discovered_resources, params)
1095
+ req.send_request(options)
1096
+ end
1072
1097
 
1073
- # Creates a new configuration recorder to record the selected resource
1074
- # configurations.
1075
- #
1076
- # You can use this action to change the role `roleARN` and/or the
1077
- # `recordingGroup` of an existing recorder. To change the role, call the
1078
- # action on the existing configuration recorder and specify a role.
1079
- #
1080
- # <note markdown="1"> Currently, you can specify only one configuration recorder per region
1081
- # in your account.
1082
- #
1083
- # If `ConfigurationRecorder` does not have the **recordingGroup**
1084
- # parameter specified, the default is to record all supported resource
1085
- # types.
1086
- #
1087
- # </note>
1088
- # @option params [required, Types::ConfigurationRecorder] :configuration_recorder
1089
- # The configuration recorder object that records each configuration
1090
- # change made to the resources.
1091
- # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1092
- #
1093
- # @example Request syntax with placeholder values
1094
- # resp = client.put_configuration_recorder({
1095
- # configuration_recorder: { # required
1096
- # name: "RecorderName",
1097
- # role_arn: "String",
1098
- # recording_group: {
1099
- # all_supported: false,
1100
- # include_global_resource_types: false,
1101
- # resource_types: ["AWS::EC2::CustomerGateway"], # accepts AWS::EC2::CustomerGateway, AWS::EC2::EIP, AWS::EC2::Host, AWS::EC2::Instance, AWS::EC2::InternetGateway, AWS::EC2::NetworkAcl, AWS::EC2::NetworkInterface, AWS::EC2::RouteTable, AWS::EC2::SecurityGroup, AWS::EC2::Subnet, AWS::CloudTrail::Trail, AWS::EC2::Volume, AWS::EC2::VPC, AWS::EC2::VPNConnection, AWS::EC2::VPNGateway, AWS::IAM::Group, AWS::IAM::Policy, AWS::IAM::Role, AWS::IAM::User, AWS::ACM::Certificate, AWS::RDS::DBInstance, AWS::RDS::DBSubnetGroup, AWS::RDS::DBSecurityGroup, AWS::RDS::DBSnapshot, AWS::RDS::EventSubscription, AWS::ElasticLoadBalancingV2::LoadBalancer, AWS::S3::Bucket, AWS::SSM::ManagedInstanceInventory, AWS::Redshift::Cluster, AWS::Redshift::ClusterSnapshot, AWS::Redshift::ClusterParameterGroup, AWS::Redshift::ClusterSecurityGroup, AWS::Redshift::ClusterSubnetGroup, AWS::Redshift::EventSubscription
1102
- # },
1103
- # },
1104
- # })
1105
- # @overload put_configuration_recorder(params = {})
1106
- # @param [Hash] params ({})
1107
- def put_configuration_recorder(params = {}, options = {})
1108
- req = build_request(:put_configuration_recorder, params)
1109
- req.send_request(options)
1110
- end
1098
+ # Adds or updates an AWS Config rule for evaluating whether your AWS
1099
+ # resources comply with your desired configurations.
1100
+ #
1101
+ # You can use this action for custom Config rules and AWS managed Config
1102
+ # rules. A custom Config rule is a rule that you develop and maintain.
1103
+ # An AWS managed Config rule is a customizable, predefined rule that AWS
1104
+ # Config provides.
1105
+ #
1106
+ # If you are adding a new custom Config rule, you must first create the
1107
+ # AWS Lambda function that the rule invokes to evaluate your resources.
1108
+ # When you use the `PutConfigRule` action to add the rule to AWS Config,
1109
+ # you must specify the Amazon Resource Name (ARN) that AWS Lambda
1110
+ # assigns to the function. Specify the ARN for the `SourceIdentifier`
1111
+ # key. This key is part of the `Source` object, which is part of the
1112
+ # `ConfigRule` object.
1113
+ #
1114
+ # If you are adding a new AWS managed Config rule, specify the rule's
1115
+ # identifier for the `SourceIdentifier` key. To reference AWS managed
1116
+ # Config rule identifiers, see [Using AWS Managed Config Rules][1].
1117
+ #
1118
+ # For any new rule that you add, specify the `ConfigRuleName` in the
1119
+ # `ConfigRule` object. Do not specify the `ConfigRuleArn` or the
1120
+ # `ConfigRuleId`. These values are generated by AWS Config for new
1121
+ # rules.
1122
+ #
1123
+ # If you are updating a rule that you added previously, you can specify
1124
+ # the rule by `ConfigRuleName`, `ConfigRuleId`, or `ConfigRuleArn` in
1125
+ # the `ConfigRule` data type that you use in this request.
1126
+ #
1127
+ # The maximum number of rules that AWS Config supports is 50.
1128
+ #
1129
+ # For more information about requesting a rule limit increase, see [AWS
1130
+ # Config Limits][2] in the *AWS General Reference Guide*.
1131
+ #
1132
+ # For more information about developing and using AWS Config rules, see
1133
+ # [Evaluating AWS Resource Configurations with AWS Config][3] in the
1134
+ # *AWS Config Developer Guide*.
1135
+ #
1136
+ #
1137
+ #
1138
+ # [1]: http://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_use-managed-rules.html
1139
+ # [2]: http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_config
1140
+ # [3]: http://docs.aws.amazon.com/config/latest/developerguide/evaluate-config.html
1141
+ #
1142
+ # @option params [required, Types::ConfigRule] :config_rule
1143
+ # An AWS Config rule represents an AWS Lambda function that you create
1144
+ # for a custom rule or a predefined function for an AWS managed rule.
1145
+ # The function evaluates configuration items to assess whether your AWS
1146
+ # resources comply with your desired configurations. This function can
1147
+ # run when AWS Config detects a configuration change to an AWS resource
1148
+ # and at a periodic frequency that you choose (for example, every 24
1149
+ # hours).
1150
+ #
1151
+ # <note markdown="1"> You can use the AWS CLI and AWS SDKs if you want to create a rule that
1152
+ # triggers evaluations for your resources when AWS Config delivers the
1153
+ # configuration snapshot. For more information, see
1154
+ # ConfigSnapshotDeliveryProperties.
1155
+ #
1156
+ # </note>
1157
+ #
1158
+ # For more information about developing and using AWS Config rules, see
1159
+ # [Evaluating AWS Resource Configurations with AWS Config][1] in the
1160
+ # *AWS Config Developer Guide*.
1161
+ #
1162
+ #
1163
+ #
1164
+ # [1]: http://docs.aws.amazon.com/config/latest/developerguide/evaluate-config.html
1165
+ #
1166
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1167
+ #
1168
+ # @example Request syntax with placeholder values
1169
+ #
1170
+ # resp = client.put_config_rule({
1171
+ # config_rule: { # required
1172
+ # config_rule_name: "StringWithCharLimit64",
1173
+ # config_rule_arn: "String",
1174
+ # config_rule_id: "String",
1175
+ # description: "EmptiableStringWithCharLimit256",
1176
+ # scope: {
1177
+ # compliance_resource_types: ["StringWithCharLimit256"],
1178
+ # tag_key: "StringWithCharLimit128",
1179
+ # tag_value: "StringWithCharLimit256",
1180
+ # compliance_resource_id: "StringWithCharLimit256",
1181
+ # },
1182
+ # source: { # required
1183
+ # owner: "CUSTOM_LAMBDA", # required, accepts CUSTOM_LAMBDA, AWS
1184
+ # source_identifier: "StringWithCharLimit256", # required
1185
+ # source_details: [
1186
+ # {
1187
+ # event_source: "aws.config", # accepts aws.config
1188
+ # message_type: "ConfigurationItemChangeNotification", # accepts ConfigurationItemChangeNotification, ConfigurationSnapshotDeliveryCompleted, ScheduledNotification, OversizedConfigurationItemChangeNotification
1189
+ # maximum_execution_frequency: "One_Hour", # accepts One_Hour, Three_Hours, Six_Hours, Twelve_Hours, TwentyFour_Hours
1190
+ # },
1191
+ # ],
1192
+ # },
1193
+ # input_parameters: "StringWithCharLimit1024",
1194
+ # maximum_execution_frequency: "One_Hour", # accepts One_Hour, Three_Hours, Six_Hours, Twelve_Hours, TwentyFour_Hours
1195
+ # config_rule_state: "ACTIVE", # accepts ACTIVE, DELETING, DELETING_RESULTS, EVALUATING
1196
+ # },
1197
+ # })
1198
+ #
1199
+ # @overload put_config_rule(params = {})
1200
+ # @param [Hash] params ({})
1201
+ def put_config_rule(params = {}, options = {})
1202
+ req = build_request(:put_config_rule, params)
1203
+ req.send_request(options)
1204
+ end
1111
1205
 
1112
- # Creates a delivery channel object to deliver configuration information
1113
- # to an Amazon S3 bucket and Amazon SNS topic.
1114
- #
1115
- # Before you can create a delivery channel, you must create a
1116
- # configuration recorder.
1117
- #
1118
- # You can use this action to change the Amazon S3 bucket or an Amazon
1119
- # SNS topic of the existing delivery channel. To change the Amazon S3
1120
- # bucket or an Amazon SNS topic, call this action and specify the
1121
- # changed values for the S3 bucket and the SNS topic. If you specify a
1122
- # different value for either the S3 bucket or the SNS topic, this action
1123
- # will keep the existing value for the parameter that is not changed.
1124
- #
1125
- # <note markdown="1"> You can have only one delivery channel per region in your account.
1126
- #
1127
- # </note>
1128
- # @option params [required, Types::DeliveryChannel] :delivery_channel
1129
- # The configuration delivery channel object that delivers the
1130
- # configuration information to an Amazon S3 bucket, and to an Amazon SNS
1131
- # topic.
1132
- # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1133
- #
1134
- # @example Request syntax with placeholder values
1135
- # resp = client.put_delivery_channel({
1136
- # delivery_channel: { # required
1137
- # name: "ChannelName",
1138
- # s3_bucket_name: "String",
1139
- # s3_key_prefix: "String",
1140
- # sns_topic_arn: "String",
1141
- # config_snapshot_delivery_properties: {
1142
- # delivery_frequency: "One_Hour", # accepts One_Hour, Three_Hours, Six_Hours, Twelve_Hours, TwentyFour_Hours
1143
- # },
1144
- # },
1145
- # })
1146
- # @overload put_delivery_channel(params = {})
1147
- # @param [Hash] params ({})
1148
- def put_delivery_channel(params = {}, options = {})
1149
- req = build_request(:put_delivery_channel, params)
1150
- req.send_request(options)
1151
- end
1206
+ # Creates a new configuration recorder to record the selected resource
1207
+ # configurations.
1208
+ #
1209
+ # You can use this action to change the role `roleARN` and/or the
1210
+ # `recordingGroup` of an existing recorder. To change the role, call the
1211
+ # action on the existing configuration recorder and specify a role.
1212
+ #
1213
+ # <note markdown="1"> Currently, you can specify only one configuration recorder per region
1214
+ # in your account.
1215
+ #
1216
+ # If `ConfigurationRecorder` does not have the **recordingGroup**
1217
+ # parameter specified, the default is to record all supported resource
1218
+ # types.
1219
+ #
1220
+ # </note>
1221
+ #
1222
+ # @option params [required, Types::ConfigurationRecorder] :configuration_recorder
1223
+ # The configuration recorder object that records each configuration
1224
+ # change made to the resources.
1225
+ #
1226
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1227
+ #
1228
+ # @example Request syntax with placeholder values
1229
+ #
1230
+ # resp = client.put_configuration_recorder({
1231
+ # configuration_recorder: { # required
1232
+ # name: "RecorderName",
1233
+ # role_arn: "String",
1234
+ # recording_group: {
1235
+ # all_supported: false,
1236
+ # include_global_resource_types: false,
1237
+ # resource_types: ["AWS::EC2::CustomerGateway"], # accepts AWS::EC2::CustomerGateway, AWS::EC2::EIP, AWS::EC2::Host, AWS::EC2::Instance, AWS::EC2::InternetGateway, AWS::EC2::NetworkAcl, AWS::EC2::NetworkInterface, AWS::EC2::RouteTable, AWS::EC2::SecurityGroup, AWS::EC2::Subnet, AWS::CloudTrail::Trail, AWS::EC2::Volume, AWS::EC2::VPC, AWS::EC2::VPNConnection, AWS::EC2::VPNGateway, AWS::IAM::Group, AWS::IAM::Policy, AWS::IAM::Role, AWS::IAM::User, AWS::ACM::Certificate, AWS::RDS::DBInstance, AWS::RDS::DBSubnetGroup, AWS::RDS::DBSecurityGroup, AWS::RDS::DBSnapshot, AWS::RDS::EventSubscription, AWS::ElasticLoadBalancingV2::LoadBalancer, AWS::S3::Bucket, AWS::SSM::ManagedInstanceInventory, AWS::Redshift::Cluster, AWS::Redshift::ClusterSnapshot, AWS::Redshift::ClusterParameterGroup, AWS::Redshift::ClusterSecurityGroup, AWS::Redshift::ClusterSubnetGroup, AWS::Redshift::EventSubscription
1238
+ # },
1239
+ # },
1240
+ # })
1241
+ #
1242
+ # @overload put_configuration_recorder(params = {})
1243
+ # @param [Hash] params ({})
1244
+ def put_configuration_recorder(params = {}, options = {})
1245
+ req = build_request(:put_configuration_recorder, params)
1246
+ req.send_request(options)
1247
+ end
1152
1248
 
1153
- # Used by an AWS Lambda function to deliver evaluation results to AWS
1154
- # Config. This action is required in every AWS Lambda function that is
1155
- # invoked by an AWS Config rule.
1156
- # @option params [Array<Types::Evaluation>] :evaluations
1157
- # The assessments that the AWS Lambda function performs. Each evaluation
1158
- # identifies an AWS resource and indicates whether it complies with the
1159
- # AWS Config rule that invokes the AWS Lambda function.
1160
- # @option params [required, String] :result_token
1161
- # An encrypted token that associates an evaluation with an AWS Config
1162
- # rule. Identifies the rule and the event that triggered the evaluation
1163
- # @return [Types::PutEvaluationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1164
- #
1165
- # * {Types::PutEvaluationsResponse#failed_evaluations #FailedEvaluations} => Array&lt;Types::Evaluation&gt;
1166
- #
1167
- # @example Request syntax with placeholder values
1168
- # resp = client.put_evaluations({
1169
- # evaluations: [
1170
- # {
1171
- # compliance_resource_type: "StringWithCharLimit256", # required
1172
- # compliance_resource_id: "StringWithCharLimit256", # required
1173
- # compliance_type: "COMPLIANT", # required, accepts COMPLIANT, NON_COMPLIANT, NOT_APPLICABLE, INSUFFICIENT_DATA
1174
- # annotation: "StringWithCharLimit256",
1175
- # ordering_timestamp: Time.now, # required
1176
- # },
1177
- # ],
1178
- # result_token: "String", # required
1179
- # })
1180
- #
1181
- # @example Response structure
1182
- # resp.failed_evaluations #=> Array
1183
- # resp.failed_evaluations[0].compliance_resource_type #=> String
1184
- # resp.failed_evaluations[0].compliance_resource_id #=> String
1185
- # resp.failed_evaluations[0].compliance_type #=> String, one of "COMPLIANT", "NON_COMPLIANT", "NOT_APPLICABLE", "INSUFFICIENT_DATA"
1186
- # resp.failed_evaluations[0].annotation #=> String
1187
- # resp.failed_evaluations[0].ordering_timestamp #=> Time
1188
- # @overload put_evaluations(params = {})
1189
- # @param [Hash] params ({})
1190
- def put_evaluations(params = {}, options = {})
1191
- req = build_request(:put_evaluations, params)
1192
- req.send_request(options)
1193
- end
1249
+ # Creates a delivery channel object to deliver configuration information
1250
+ # to an Amazon S3 bucket and Amazon SNS topic.
1251
+ #
1252
+ # Before you can create a delivery channel, you must create a
1253
+ # configuration recorder.
1254
+ #
1255
+ # You can use this action to change the Amazon S3 bucket or an Amazon
1256
+ # SNS topic of the existing delivery channel. To change the Amazon S3
1257
+ # bucket or an Amazon SNS topic, call this action and specify the
1258
+ # changed values for the S3 bucket and the SNS topic. If you specify a
1259
+ # different value for either the S3 bucket or the SNS topic, this action
1260
+ # will keep the existing value for the parameter that is not changed.
1261
+ #
1262
+ # <note markdown="1"> You can have only one delivery channel per region in your account.
1263
+ #
1264
+ # </note>
1265
+ #
1266
+ # @option params [required, Types::DeliveryChannel] :delivery_channel
1267
+ # The configuration delivery channel object that delivers the
1268
+ # configuration information to an Amazon S3 bucket, and to an Amazon SNS
1269
+ # topic.
1270
+ #
1271
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1272
+ #
1273
+ # @example Request syntax with placeholder values
1274
+ #
1275
+ # resp = client.put_delivery_channel({
1276
+ # delivery_channel: { # required
1277
+ # name: "ChannelName",
1278
+ # s3_bucket_name: "String",
1279
+ # s3_key_prefix: "String",
1280
+ # sns_topic_arn: "String",
1281
+ # config_snapshot_delivery_properties: {
1282
+ # delivery_frequency: "One_Hour", # accepts One_Hour, Three_Hours, Six_Hours, Twelve_Hours, TwentyFour_Hours
1283
+ # },
1284
+ # },
1285
+ # })
1286
+ #
1287
+ # @overload put_delivery_channel(params = {})
1288
+ # @param [Hash] params ({})
1289
+ def put_delivery_channel(params = {}, options = {})
1290
+ req = build_request(:put_delivery_channel, params)
1291
+ req.send_request(options)
1292
+ end
1194
1293
 
1195
- # Runs an on-demand evaluation for the specified Config rules against
1196
- # the last known configuration state of the resources. Use
1197
- # `StartConfigRulesEvaluation` when you want to test a rule that you
1198
- # updated is working as expected. `StartConfigRulesEvaluation` does not
1199
- # re-record the latest configuration state for your resources; it
1200
- # re-runs an evaluation against the last known state of your resources.
1201
- #
1202
- # You can specify up to 25 Config rules per request.
1203
- #
1204
- # An existing `StartConfigRulesEvaluation` call must complete for the
1205
- # specified rules before you can call the API again. If you chose to
1206
- # have AWS Config stream to an Amazon SNS topic, you will receive a
1207
- # `ConfigRuleEvaluationStarted` notification when the evaluation starts.
1208
- #
1209
- # <note markdown="1"> You don't need to call the `StartConfigRulesEvaluation` API to run an
1210
- # evaluation for a new rule. When you create a new rule, AWS Config
1211
- # automatically evaluates your resources against the rule.
1212
- #
1213
- # </note>
1214
- #
1215
- # The `StartConfigRulesEvaluation` API is useful if you want to run
1216
- # on-demand evaluations, such as the following example:
1217
- #
1218
- # 1. You have a custom rule that evaluates your IAM resources every 24
1219
- # hours.
1220
- #
1221
- # 2. You update your Lambda function to add additional conditions to
1222
- # your rule.
1223
- #
1224
- # 3. Instead of waiting for the next periodic evaluation, you call the
1225
- # `StartConfigRulesEvaluation` API.
1226
- #
1227
- # 4. AWS Config invokes your Lambda function and evaluates your IAM
1228
- # resources.
1229
- #
1230
- # 5. Your custom rule will still run periodic evaluations every 24
1231
- # hours.
1232
- # @option params [Array<String>] :config_rule_names
1233
- # The list of names of Config rules that you want to run evaluations
1234
- # for.
1235
- # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1236
- #
1237
- # @example Request syntax with placeholder values
1238
- # resp = client.start_config_rules_evaluation({
1239
- # config_rule_names: ["StringWithCharLimit64"],
1240
- # })
1241
- # @overload start_config_rules_evaluation(params = {})
1242
- # @param [Hash] params ({})
1243
- def start_config_rules_evaluation(params = {}, options = {})
1244
- req = build_request(:start_config_rules_evaluation, params)
1245
- req.send_request(options)
1246
- end
1294
+ # Used by an AWS Lambda function to deliver evaluation results to AWS
1295
+ # Config. This action is required in every AWS Lambda function that is
1296
+ # invoked by an AWS Config rule.
1297
+ #
1298
+ # @option params [Array<Types::Evaluation>] :evaluations
1299
+ # The assessments that the AWS Lambda function performs. Each evaluation
1300
+ # identifies an AWS resource and indicates whether it complies with the
1301
+ # AWS Config rule that invokes the AWS Lambda function.
1302
+ #
1303
+ # @option params [required, String] :result_token
1304
+ # An encrypted token that associates an evaluation with an AWS Config
1305
+ # rule. Identifies the rule and the event that triggered the evaluation
1306
+ #
1307
+ # @return [Types::PutEvaluationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1308
+ #
1309
+ # * {Types::PutEvaluationsResponse#failed_evaluations #failed_evaluations} => Array&lt;Types::Evaluation&gt;
1310
+ #
1311
+ # @example Request syntax with placeholder values
1312
+ #
1313
+ # resp = client.put_evaluations({
1314
+ # evaluations: [
1315
+ # {
1316
+ # compliance_resource_type: "StringWithCharLimit256", # required
1317
+ # compliance_resource_id: "StringWithCharLimit256", # required
1318
+ # compliance_type: "COMPLIANT", # required, accepts COMPLIANT, NON_COMPLIANT, NOT_APPLICABLE, INSUFFICIENT_DATA
1319
+ # annotation: "StringWithCharLimit256",
1320
+ # ordering_timestamp: Time.now, # required
1321
+ # },
1322
+ # ],
1323
+ # result_token: "String", # required
1324
+ # })
1325
+ #
1326
+ # @example Response structure
1327
+ #
1328
+ # resp.failed_evaluations #=> Array
1329
+ # resp.failed_evaluations[0].compliance_resource_type #=> String
1330
+ # resp.failed_evaluations[0].compliance_resource_id #=> String
1331
+ # resp.failed_evaluations[0].compliance_type #=> String, one of "COMPLIANT", "NON_COMPLIANT", "NOT_APPLICABLE", "INSUFFICIENT_DATA"
1332
+ # resp.failed_evaluations[0].annotation #=> String
1333
+ # resp.failed_evaluations[0].ordering_timestamp #=> Time
1334
+ #
1335
+ # @overload put_evaluations(params = {})
1336
+ # @param [Hash] params ({})
1337
+ def put_evaluations(params = {}, options = {})
1338
+ req = build_request(:put_evaluations, params)
1339
+ req.send_request(options)
1340
+ end
1247
1341
 
1248
- # Starts recording configurations of the AWS resources you have selected
1249
- # to record in your AWS account.
1250
- #
1251
- # You must have created at least one delivery channel to successfully
1252
- # start the configuration recorder.
1253
- # @option params [required, String] :configuration_recorder_name
1254
- # The name of the recorder object that records each configuration change
1255
- # made to the resources.
1256
- # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1257
- #
1258
- # @example Request syntax with placeholder values
1259
- # resp = client.start_configuration_recorder({
1260
- # configuration_recorder_name: "RecorderName", # required
1261
- # })
1262
- # @overload start_configuration_recorder(params = {})
1263
- # @param [Hash] params ({})
1264
- def start_configuration_recorder(params = {}, options = {})
1265
- req = build_request(:start_configuration_recorder, params)
1266
- req.send_request(options)
1267
- end
1342
+ # Runs an on-demand evaluation for the specified Config rules against
1343
+ # the last known configuration state of the resources. Use
1344
+ # `StartConfigRulesEvaluation` when you want to test a rule that you
1345
+ # updated is working as expected. `StartConfigRulesEvaluation` does not
1346
+ # re-record the latest configuration state for your resources; it
1347
+ # re-runs an evaluation against the last known state of your resources.
1348
+ #
1349
+ # You can specify up to 25 Config rules per request.
1350
+ #
1351
+ # An existing `StartConfigRulesEvaluation` call must complete for the
1352
+ # specified rules before you can call the API again. If you chose to
1353
+ # have AWS Config stream to an Amazon SNS topic, you will receive a
1354
+ # `ConfigRuleEvaluationStarted` notification when the evaluation starts.
1355
+ #
1356
+ # <note markdown="1"> You don't need to call the `StartConfigRulesEvaluation` API to run an
1357
+ # evaluation for a new rule. When you create a new rule, AWS Config
1358
+ # automatically evaluates your resources against the rule.
1359
+ #
1360
+ # </note>
1361
+ #
1362
+ # The `StartConfigRulesEvaluation` API is useful if you want to run
1363
+ # on-demand evaluations, such as the following example:
1364
+ #
1365
+ # 1. You have a custom rule that evaluates your IAM resources every 24
1366
+ # hours.
1367
+ #
1368
+ # 2. You update your Lambda function to add additional conditions to
1369
+ # your rule.
1370
+ #
1371
+ # 3. Instead of waiting for the next periodic evaluation, you call the
1372
+ # `StartConfigRulesEvaluation` API.
1373
+ #
1374
+ # 4. AWS Config invokes your Lambda function and evaluates your IAM
1375
+ # resources.
1376
+ #
1377
+ # 5. Your custom rule will still run periodic evaluations every 24
1378
+ # hours.
1379
+ #
1380
+ # @option params [Array<String>] :config_rule_names
1381
+ # The list of names of Config rules that you want to run evaluations
1382
+ # for.
1383
+ #
1384
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1385
+ #
1386
+ # @example Request syntax with placeholder values
1387
+ #
1388
+ # resp = client.start_config_rules_evaluation({
1389
+ # config_rule_names: ["StringWithCharLimit64"],
1390
+ # })
1391
+ #
1392
+ # @overload start_config_rules_evaluation(params = {})
1393
+ # @param [Hash] params ({})
1394
+ def start_config_rules_evaluation(params = {}, options = {})
1395
+ req = build_request(:start_config_rules_evaluation, params)
1396
+ req.send_request(options)
1397
+ end
1268
1398
 
1269
- # Stops recording configurations of the AWS resources you have selected
1270
- # to record in your AWS account.
1271
- # @option params [required, String] :configuration_recorder_name
1272
- # The name of the recorder object that records each configuration change
1273
- # made to the resources.
1274
- # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1275
- #
1276
- # @example Request syntax with placeholder values
1277
- # resp = client.stop_configuration_recorder({
1278
- # configuration_recorder_name: "RecorderName", # required
1279
- # })
1280
- # @overload stop_configuration_recorder(params = {})
1281
- # @param [Hash] params ({})
1282
- def stop_configuration_recorder(params = {}, options = {})
1283
- req = build_request(:stop_configuration_recorder, params)
1284
- req.send_request(options)
1285
- end
1399
+ # Starts recording configurations of the AWS resources you have selected
1400
+ # to record in your AWS account.
1401
+ #
1402
+ # You must have created at least one delivery channel to successfully
1403
+ # start the configuration recorder.
1404
+ #
1405
+ # @option params [required, String] :configuration_recorder_name
1406
+ # The name of the recorder object that records each configuration change
1407
+ # made to the resources.
1408
+ #
1409
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1410
+ #
1411
+ # @example Request syntax with placeholder values
1412
+ #
1413
+ # resp = client.start_configuration_recorder({
1414
+ # configuration_recorder_name: "RecorderName", # required
1415
+ # })
1416
+ #
1417
+ # @overload start_configuration_recorder(params = {})
1418
+ # @param [Hash] params ({})
1419
+ def start_configuration_recorder(params = {}, options = {})
1420
+ req = build_request(:start_configuration_recorder, params)
1421
+ req.send_request(options)
1422
+ end
1286
1423
 
1287
- # @!endgroup
1424
+ # Stops recording configurations of the AWS resources you have selected
1425
+ # to record in your AWS account.
1426
+ #
1427
+ # @option params [required, String] :configuration_recorder_name
1428
+ # The name of the recorder object that records each configuration change
1429
+ # made to the resources.
1430
+ #
1431
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1432
+ #
1433
+ # @example Request syntax with placeholder values
1434
+ #
1435
+ # resp = client.stop_configuration_recorder({
1436
+ # configuration_recorder_name: "RecorderName", # required
1437
+ # })
1438
+ #
1439
+ # @overload stop_configuration_recorder(params = {})
1440
+ # @param [Hash] params ({})
1441
+ def stop_configuration_recorder(params = {}, options = {})
1442
+ req = build_request(:stop_configuration_recorder, params)
1443
+ req.send_request(options)
1444
+ end
1288
1445
 
1289
- # @param params ({})
1290
- # @api private
1291
- def build_request(operation_name, params = {})
1292
- handlers = @handlers.for(operation_name)
1293
- context = Seahorse::Client::RequestContext.new(
1294
- operation_name: operation_name,
1295
- operation: config.api.operation(operation_name),
1296
- client: self,
1297
- params: params,
1298
- config: config)
1299
- context[:gem_name] = 'aws-sdk-configservice'
1300
- context[:gem_version] = '1.0.0.rc2'
1301
- Seahorse::Client::Request.new(handlers, context)
1302
- end
1446
+ # @!endgroup
1303
1447
 
1304
- # @api private
1305
- # @deprecated
1306
- def waiter_names
1307
- []
1308
- end
1448
+ # @param params ({})
1449
+ # @api private
1450
+ def build_request(operation_name, params = {})
1451
+ handlers = @handlers.for(operation_name)
1452
+ context = Seahorse::Client::RequestContext.new(
1453
+ operation_name: operation_name,
1454
+ operation: config.api.operation(operation_name),
1455
+ client: self,
1456
+ params: params,
1457
+ config: config)
1458
+ context[:gem_name] = 'aws-sdk-configservice'
1459
+ context[:gem_version] = '1.0.0.rc2'
1460
+ Seahorse::Client::Request.new(handlers, context)
1461
+ end
1309
1462
 
1310
- class << self
1463
+ # @api private
1464
+ # @deprecated
1465
+ def waiter_names
1466
+ []
1467
+ end
1311
1468
 
1312
- # @api private
1313
- attr_reader :identifier
1469
+ class << self
1314
1470
 
1315
- # @api private
1316
- def errors_module
1317
- Errors
1318
- end
1471
+ # @api private
1472
+ attr_reader :identifier
1319
1473
 
1474
+ # @api private
1475
+ def errors_module
1476
+ Errors
1320
1477
  end
1478
+
1321
1479
  end
1322
1480
  end
1323
1481
  end