aws-sdk-configservice 1.0.0.rc1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/lib/aws-sdk-configservice.rb +47 -0
- data/lib/aws-sdk-configservice/client.rb +1294 -0
- data/lib/aws-sdk-configservice/client_api.rb +867 -0
- data/lib/aws-sdk-configservice/customizations.rb +7 -0
- data/lib/aws-sdk-configservice/errors.rb +23 -0
- data/lib/aws-sdk-configservice/resource.rb +25 -0
- data/lib/aws-sdk-configservice/types.rb +2100 -0
- metadata +80 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 3b2cffae583ccc49f39b622020b2ef0d6e7b58c6
|
4
|
+
data.tar.gz: b20d5ee4032193561b29e8b8325be819edef6eb6
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: a69e73cebc3872126e540a38dcb1a259aca9dc8f8dd2aabf4a58174f6fb1de6d723021c7f7f6c50169051e278298d559efedf77178baabea6c854088c714cd22
|
7
|
+
data.tar.gz: b632c4291fa264327e076a4fdaa7de63533fc7f0b1dc0ac48cde19aaba2bc880362f72ae3c6969967d996e8be5da28889049a7085f79f1d21c643b94cb48970f
|
@@ -0,0 +1,47 @@
|
|
1
|
+
# WARNING ABOUT GENERATED CODE
|
2
|
+
#
|
3
|
+
# This file is generated. See the contributing for info on making contributions:
|
4
|
+
# https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
|
5
|
+
#
|
6
|
+
# WARNING ABOUT GENERATED CODE
|
7
|
+
|
8
|
+
require 'aws-sdk-core'
|
9
|
+
require 'aws-sigv4'
|
10
|
+
|
11
|
+
require_relative 'aws-sdk-configservice/types'
|
12
|
+
require_relative 'aws-sdk-configservice/client_api'
|
13
|
+
require_relative 'aws-sdk-configservice/client'
|
14
|
+
require_relative 'aws-sdk-configservice/errors'
|
15
|
+
require_relative 'aws-sdk-configservice/resource'
|
16
|
+
require_relative 'aws-sdk-configservice/customizations'
|
17
|
+
|
18
|
+
# This module provides support for AWS Config. This module is available in the
|
19
|
+
# `aws-sdk-configservice` gem.
|
20
|
+
#
|
21
|
+
# # Client
|
22
|
+
#
|
23
|
+
# The {Client} class provides one method for each API operation. Operation
|
24
|
+
# methods each accept a hash of request parameters and return a response
|
25
|
+
# structure.
|
26
|
+
#
|
27
|
+
# See {Client} for more information.
|
28
|
+
#
|
29
|
+
# # Errors
|
30
|
+
#
|
31
|
+
# Errors returned from AWS Config all
|
32
|
+
# extend {Errors::ServiceError}.
|
33
|
+
#
|
34
|
+
# begin
|
35
|
+
# # do stuff
|
36
|
+
# rescue Aws::ConfigService::Errors::ServiceError
|
37
|
+
# # rescues all service API errors
|
38
|
+
# end
|
39
|
+
#
|
40
|
+
# See {Errors} for more information.
|
41
|
+
#
|
42
|
+
# @service
|
43
|
+
module Aws::ConfigService
|
44
|
+
|
45
|
+
GEM_VERSION = '1.0.0.rc1'
|
46
|
+
|
47
|
+
end
|
@@ -0,0 +1,1294 @@
|
|
1
|
+
# WARNING ABOUT GENERATED CODE
|
2
|
+
#
|
3
|
+
# This file is generated. See the contributing for info on making contributions:
|
4
|
+
# https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
|
5
|
+
#
|
6
|
+
# WARNING ABOUT GENERATED CODE
|
7
|
+
|
8
|
+
require 'seahorse/client/plugins/content_length.rb'
|
9
|
+
require 'aws-sdk-core/plugins/credentials_configuration.rb'
|
10
|
+
require 'aws-sdk-core/plugins/logging.rb'
|
11
|
+
require 'aws-sdk-core/plugins/param_converter.rb'
|
12
|
+
require 'aws-sdk-core/plugins/param_validator.rb'
|
13
|
+
require 'aws-sdk-core/plugins/user_agent.rb'
|
14
|
+
require 'aws-sdk-core/plugins/helpful_socket_errors.rb'
|
15
|
+
require 'aws-sdk-core/plugins/retry_errors.rb'
|
16
|
+
require 'aws-sdk-core/plugins/global_configuration.rb'
|
17
|
+
require 'aws-sdk-core/plugins/regional_endpoint.rb'
|
18
|
+
require 'aws-sdk-core/plugins/response_paging.rb'
|
19
|
+
require 'aws-sdk-core/plugins/stub_responses.rb'
|
20
|
+
require 'aws-sdk-core/plugins/idempotency_token.rb'
|
21
|
+
require 'aws-sdk-core/plugins/signature_v4.rb'
|
22
|
+
require 'aws-sdk-core/plugins/protocols/json_rpc.rb'
|
23
|
+
|
24
|
+
Aws::Plugins::GlobalConfiguration.add_identifier(:configservice)
|
25
|
+
|
26
|
+
module Aws
|
27
|
+
module ConfigService
|
28
|
+
class Client < Seahorse::Client::Base
|
29
|
+
|
30
|
+
include Aws::ClientStubs
|
31
|
+
|
32
|
+
@identifier = :configservice
|
33
|
+
|
34
|
+
set_api(ClientApi::API)
|
35
|
+
|
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)
|
51
|
+
|
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
|
141
|
+
|
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
|
166
|
+
|
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
|
194
|
+
|
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
|
213
|
+
|
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
|
233
|
+
|
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
|
266
|
+
|
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<Types::ComplianceByConfigRule>
|
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
|
328
|
+
|
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<Types::ComplianceByResource>
|
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
|
404
|
+
|
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
|
+
# @return [Types::DescribeConfigRuleEvaluationStatusResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
414
|
+
#
|
415
|
+
# * {Types::DescribeConfigRuleEvaluationStatusResponse#config_rules_evaluation_status #ConfigRulesEvaluationStatus} => Array<Types::ConfigRuleEvaluationStatus>
|
416
|
+
#
|
417
|
+
# @example Request syntax with placeholder values
|
418
|
+
# resp = client.describe_config_rule_evaluation_status({
|
419
|
+
# config_rule_names: ["StringWithCharLimit64"],
|
420
|
+
# })
|
421
|
+
#
|
422
|
+
# @example Response structure
|
423
|
+
# resp.config_rules_evaluation_status #=> Array
|
424
|
+
# resp.config_rules_evaluation_status[0].config_rule_name #=> String
|
425
|
+
# resp.config_rules_evaluation_status[0].config_rule_arn #=> String
|
426
|
+
# resp.config_rules_evaluation_status[0].config_rule_id #=> String
|
427
|
+
# resp.config_rules_evaluation_status[0].last_successful_invocation_time #=> Time
|
428
|
+
# resp.config_rules_evaluation_status[0].last_failed_invocation_time #=> Time
|
429
|
+
# resp.config_rules_evaluation_status[0].last_successful_evaluation_time #=> Time
|
430
|
+
# resp.config_rules_evaluation_status[0].last_failed_evaluation_time #=> Time
|
431
|
+
# resp.config_rules_evaluation_status[0].first_activated_time #=> Time
|
432
|
+
# resp.config_rules_evaluation_status[0].last_error_code #=> String
|
433
|
+
# resp.config_rules_evaluation_status[0].last_error_message #=> String
|
434
|
+
# resp.config_rules_evaluation_status[0].first_evaluation_started #=> Boolean
|
435
|
+
# @overload describe_config_rule_evaluation_status(params = {})
|
436
|
+
# @param [Hash] params ({})
|
437
|
+
def describe_config_rule_evaluation_status(params = {}, options = {})
|
438
|
+
req = build_request(:describe_config_rule_evaluation_status, params)
|
439
|
+
req.send_request(options)
|
440
|
+
end
|
441
|
+
|
442
|
+
# Returns details about your AWS Config rules.
|
443
|
+
# @option params [Array<String>] :config_rule_names
|
444
|
+
# The names of the AWS Config rules for which you want details. If you
|
445
|
+
# do not specify any names, AWS Config returns details for all your
|
446
|
+
# rules.
|
447
|
+
# @option params [String] :next_token
|
448
|
+
# The `nextToken` string returned on a previous page that you use to get
|
449
|
+
# the next page of results in a paginated response.
|
450
|
+
# @return [Types::DescribeConfigRulesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
451
|
+
#
|
452
|
+
# * {Types::DescribeConfigRulesResponse#config_rules #ConfigRules} => Array<Types::ConfigRule>
|
453
|
+
# * {Types::DescribeConfigRulesResponse#next_token #NextToken} => String
|
454
|
+
#
|
455
|
+
# @example Request syntax with placeholder values
|
456
|
+
# resp = client.describe_config_rules({
|
457
|
+
# config_rule_names: ["StringWithCharLimit64"],
|
458
|
+
# next_token: "String",
|
459
|
+
# })
|
460
|
+
#
|
461
|
+
# @example Response structure
|
462
|
+
# resp.config_rules #=> Array
|
463
|
+
# resp.config_rules[0].config_rule_name #=> String
|
464
|
+
# resp.config_rules[0].config_rule_arn #=> String
|
465
|
+
# resp.config_rules[0].config_rule_id #=> String
|
466
|
+
# resp.config_rules[0].description #=> String
|
467
|
+
# resp.config_rules[0].scope.compliance_resource_types #=> Array
|
468
|
+
# resp.config_rules[0].scope.compliance_resource_types[0] #=> String
|
469
|
+
# resp.config_rules[0].scope.tag_key #=> String
|
470
|
+
# resp.config_rules[0].scope.tag_value #=> String
|
471
|
+
# resp.config_rules[0].scope.compliance_resource_id #=> String
|
472
|
+
# resp.config_rules[0].source.owner #=> String, one of "CUSTOM_LAMBDA", "AWS"
|
473
|
+
# resp.config_rules[0].source.source_identifier #=> String
|
474
|
+
# resp.config_rules[0].source.source_details #=> Array
|
475
|
+
# resp.config_rules[0].source.source_details[0].event_source #=> String, one of "aws.config"
|
476
|
+
# resp.config_rules[0].source.source_details[0].message_type #=> String, one of "ConfigurationItemChangeNotification", "ConfigurationSnapshotDeliveryCompleted", "ScheduledNotification"
|
477
|
+
# resp.config_rules[0].source.source_details[0].maximum_execution_frequency #=> String, one of "One_Hour", "Three_Hours", "Six_Hours", "Twelve_Hours", "TwentyFour_Hours"
|
478
|
+
# resp.config_rules[0].input_parameters #=> String
|
479
|
+
# resp.config_rules[0].maximum_execution_frequency #=> String, one of "One_Hour", "Three_Hours", "Six_Hours", "Twelve_Hours", "TwentyFour_Hours"
|
480
|
+
# resp.config_rules[0].config_rule_state #=> String, one of "ACTIVE", "DELETING", "DELETING_RESULTS", "EVALUATING"
|
481
|
+
# resp.next_token #=> String
|
482
|
+
# @overload describe_config_rules(params = {})
|
483
|
+
# @param [Hash] params ({})
|
484
|
+
def describe_config_rules(params = {}, options = {})
|
485
|
+
req = build_request(:describe_config_rules, params)
|
486
|
+
req.send_request(options)
|
487
|
+
end
|
488
|
+
|
489
|
+
# Returns the current status of the specified configuration recorder. If
|
490
|
+
# a configuration recorder is not specified, this action returns the
|
491
|
+
# status of all configuration recorder associated with the account.
|
492
|
+
#
|
493
|
+
# <note markdown="1"> Currently, you can specify only one configuration recorder per region
|
494
|
+
# in your account.
|
495
|
+
#
|
496
|
+
# </note>
|
497
|
+
# @option params [Array<String>] :configuration_recorder_names
|
498
|
+
# The name(s) of the configuration recorder. If the name is not
|
499
|
+
# specified, the action returns the current status of all the
|
500
|
+
# configuration recorders associated with the account.
|
501
|
+
# @return [Types::DescribeConfigurationRecorderStatusResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
502
|
+
#
|
503
|
+
# * {Types::DescribeConfigurationRecorderStatusResponse#configuration_recorders_status #ConfigurationRecordersStatus} => Array<Types::ConfigurationRecorderStatus>
|
504
|
+
#
|
505
|
+
# @example Request syntax with placeholder values
|
506
|
+
# resp = client.describe_configuration_recorder_status({
|
507
|
+
# configuration_recorder_names: ["RecorderName"],
|
508
|
+
# })
|
509
|
+
#
|
510
|
+
# @example Response structure
|
511
|
+
# resp.configuration_recorders_status #=> Array
|
512
|
+
# resp.configuration_recorders_status[0].name #=> String
|
513
|
+
# resp.configuration_recorders_status[0].last_start_time #=> Time
|
514
|
+
# resp.configuration_recorders_status[0].last_stop_time #=> Time
|
515
|
+
# resp.configuration_recorders_status[0].recording #=> Boolean
|
516
|
+
# resp.configuration_recorders_status[0].last_status #=> String, one of "Pending", "Success", "Failure"
|
517
|
+
# resp.configuration_recorders_status[0].last_error_code #=> String
|
518
|
+
# resp.configuration_recorders_status[0].last_error_message #=> String
|
519
|
+
# resp.configuration_recorders_status[0].last_status_change_time #=> Time
|
520
|
+
# @overload describe_configuration_recorder_status(params = {})
|
521
|
+
# @param [Hash] params ({})
|
522
|
+
def describe_configuration_recorder_status(params = {}, options = {})
|
523
|
+
req = build_request(:describe_configuration_recorder_status, params)
|
524
|
+
req.send_request(options)
|
525
|
+
end
|
526
|
+
|
527
|
+
# Returns the details for the specified configuration recorders. If the
|
528
|
+
# configuration recorder is not specified, this action returns the
|
529
|
+
# details for all configuration recorders associated with the account.
|
530
|
+
#
|
531
|
+
# <note markdown="1"> Currently, you can specify only one configuration recorder per region
|
532
|
+
# in your account.
|
533
|
+
#
|
534
|
+
# </note>
|
535
|
+
# @option params [Array<String>] :configuration_recorder_names
|
536
|
+
# A list of configuration recorder names.
|
537
|
+
# @return [Types::DescribeConfigurationRecordersResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
538
|
+
#
|
539
|
+
# * {Types::DescribeConfigurationRecordersResponse#configuration_recorders #ConfigurationRecorders} => Array<Types::ConfigurationRecorder>
|
540
|
+
#
|
541
|
+
# @example Request syntax with placeholder values
|
542
|
+
# resp = client.describe_configuration_recorders({
|
543
|
+
# configuration_recorder_names: ["RecorderName"],
|
544
|
+
# })
|
545
|
+
#
|
546
|
+
# @example Response structure
|
547
|
+
# resp.configuration_recorders #=> Array
|
548
|
+
# resp.configuration_recorders[0].name #=> String
|
549
|
+
# resp.configuration_recorders[0].role_arn #=> String
|
550
|
+
# resp.configuration_recorders[0].recording_group.all_supported #=> Boolean
|
551
|
+
# resp.configuration_recorders[0].recording_group.include_global_resource_types #=> Boolean
|
552
|
+
# resp.configuration_recorders[0].recording_group.resource_types #=> Array
|
553
|
+
# 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"
|
554
|
+
# @overload describe_configuration_recorders(params = {})
|
555
|
+
# @param [Hash] params ({})
|
556
|
+
def describe_configuration_recorders(params = {}, options = {})
|
557
|
+
req = build_request(:describe_configuration_recorders, params)
|
558
|
+
req.send_request(options)
|
559
|
+
end
|
560
|
+
|
561
|
+
# Returns the current status of the specified delivery channel. If a
|
562
|
+
# delivery channel is not specified, this action returns the current
|
563
|
+
# status of all delivery channels associated with the account.
|
564
|
+
#
|
565
|
+
# <note markdown="1"> Currently, you can specify only one delivery channel per region in
|
566
|
+
# your account.
|
567
|
+
#
|
568
|
+
# </note>
|
569
|
+
# @option params [Array<String>] :delivery_channel_names
|
570
|
+
# A list of delivery channel names.
|
571
|
+
# @return [Types::DescribeDeliveryChannelStatusResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
572
|
+
#
|
573
|
+
# * {Types::DescribeDeliveryChannelStatusResponse#delivery_channels_status #DeliveryChannelsStatus} => Array<Types::DeliveryChannelStatus>
|
574
|
+
#
|
575
|
+
# @example Request syntax with placeholder values
|
576
|
+
# resp = client.describe_delivery_channel_status({
|
577
|
+
# delivery_channel_names: ["ChannelName"],
|
578
|
+
# })
|
579
|
+
#
|
580
|
+
# @example Response structure
|
581
|
+
# resp.delivery_channels_status #=> Array
|
582
|
+
# resp.delivery_channels_status[0].name #=> String
|
583
|
+
# resp.delivery_channels_status[0].config_snapshot_delivery_info.last_status #=> String, one of "Success", "Failure", "Not_Applicable"
|
584
|
+
# resp.delivery_channels_status[0].config_snapshot_delivery_info.last_error_code #=> String
|
585
|
+
# resp.delivery_channels_status[0].config_snapshot_delivery_info.last_error_message #=> String
|
586
|
+
# resp.delivery_channels_status[0].config_snapshot_delivery_info.last_attempt_time #=> Time
|
587
|
+
# resp.delivery_channels_status[0].config_snapshot_delivery_info.last_successful_time #=> Time
|
588
|
+
# resp.delivery_channels_status[0].config_snapshot_delivery_info.next_delivery_time #=> Time
|
589
|
+
# resp.delivery_channels_status[0].config_history_delivery_info.last_status #=> String, one of "Success", "Failure", "Not_Applicable"
|
590
|
+
# resp.delivery_channels_status[0].config_history_delivery_info.last_error_code #=> String
|
591
|
+
# resp.delivery_channels_status[0].config_history_delivery_info.last_error_message #=> String
|
592
|
+
# resp.delivery_channels_status[0].config_history_delivery_info.last_attempt_time #=> Time
|
593
|
+
# resp.delivery_channels_status[0].config_history_delivery_info.last_successful_time #=> Time
|
594
|
+
# resp.delivery_channels_status[0].config_history_delivery_info.next_delivery_time #=> Time
|
595
|
+
# resp.delivery_channels_status[0].config_stream_delivery_info.last_status #=> String, one of "Success", "Failure", "Not_Applicable"
|
596
|
+
# resp.delivery_channels_status[0].config_stream_delivery_info.last_error_code #=> String
|
597
|
+
# resp.delivery_channels_status[0].config_stream_delivery_info.last_error_message #=> String
|
598
|
+
# resp.delivery_channels_status[0].config_stream_delivery_info.last_status_change_time #=> Time
|
599
|
+
# @overload describe_delivery_channel_status(params = {})
|
600
|
+
# @param [Hash] params ({})
|
601
|
+
def describe_delivery_channel_status(params = {}, options = {})
|
602
|
+
req = build_request(:describe_delivery_channel_status, params)
|
603
|
+
req.send_request(options)
|
604
|
+
end
|
605
|
+
|
606
|
+
# Returns details about the specified delivery channel. If a delivery
|
607
|
+
# channel is not specified, this action returns the details of all
|
608
|
+
# delivery channels associated with the account.
|
609
|
+
#
|
610
|
+
# <note markdown="1"> Currently, you can specify only one delivery channel per region in
|
611
|
+
# your account.
|
612
|
+
#
|
613
|
+
# </note>
|
614
|
+
# @option params [Array<String>] :delivery_channel_names
|
615
|
+
# A list of delivery channel names.
|
616
|
+
# @return [Types::DescribeDeliveryChannelsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
617
|
+
#
|
618
|
+
# * {Types::DescribeDeliveryChannelsResponse#delivery_channels #DeliveryChannels} => Array<Types::DeliveryChannel>
|
619
|
+
#
|
620
|
+
# @example Request syntax with placeholder values
|
621
|
+
# resp = client.describe_delivery_channels({
|
622
|
+
# delivery_channel_names: ["ChannelName"],
|
623
|
+
# })
|
624
|
+
#
|
625
|
+
# @example Response structure
|
626
|
+
# resp.delivery_channels #=> Array
|
627
|
+
# resp.delivery_channels[0].name #=> String
|
628
|
+
# resp.delivery_channels[0].s3_bucket_name #=> String
|
629
|
+
# resp.delivery_channels[0].s3_key_prefix #=> String
|
630
|
+
# resp.delivery_channels[0].sns_topic_arn #=> String
|
631
|
+
# resp.delivery_channels[0].config_snapshot_delivery_properties.delivery_frequency #=> String, one of "One_Hour", "Three_Hours", "Six_Hours", "Twelve_Hours", "TwentyFour_Hours"
|
632
|
+
# @overload describe_delivery_channels(params = {})
|
633
|
+
# @param [Hash] params ({})
|
634
|
+
def describe_delivery_channels(params = {}, options = {})
|
635
|
+
req = build_request(:describe_delivery_channels, params)
|
636
|
+
req.send_request(options)
|
637
|
+
end
|
638
|
+
|
639
|
+
# Returns the evaluation results for the specified AWS Config rule. The
|
640
|
+
# results indicate which AWS resources were evaluated by the rule, when
|
641
|
+
# each resource was last evaluated, and whether each resource complies
|
642
|
+
# with the rule.
|
643
|
+
# @option params [required, String] :config_rule_name
|
644
|
+
# The name of the AWS Config rule for which you want compliance
|
645
|
+
# information.
|
646
|
+
# @option params [Array<String>] :compliance_types
|
647
|
+
# Filters the results by compliance.
|
648
|
+
#
|
649
|
+
# The allowed values are `COMPLIANT`, `NON_COMPLIANT`, and
|
650
|
+
# `NOT_APPLICABLE`.
|
651
|
+
# @option params [Integer] :limit
|
652
|
+
# The maximum number of evaluation results returned on each page. The
|
653
|
+
# default is 10. You cannot specify a limit greater than 100. If you
|
654
|
+
# specify 0, AWS Config uses the default.
|
655
|
+
# @option params [String] :next_token
|
656
|
+
# The `nextToken` string returned on a previous page that you use to get
|
657
|
+
# the next page of results in a paginated response.
|
658
|
+
# @return [Types::GetComplianceDetailsByConfigRuleResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
659
|
+
#
|
660
|
+
# * {Types::GetComplianceDetailsByConfigRuleResponse#evaluation_results #EvaluationResults} => Array<Types::EvaluationResult>
|
661
|
+
# * {Types::GetComplianceDetailsByConfigRuleResponse#next_token #NextToken} => String
|
662
|
+
#
|
663
|
+
# @example Request syntax with placeholder values
|
664
|
+
# resp = client.get_compliance_details_by_config_rule({
|
665
|
+
# config_rule_name: "StringWithCharLimit64", # required
|
666
|
+
# compliance_types: ["COMPLIANT"], # accepts COMPLIANT, NON_COMPLIANT, NOT_APPLICABLE, INSUFFICIENT_DATA
|
667
|
+
# limit: 1,
|
668
|
+
# next_token: "NextToken",
|
669
|
+
# })
|
670
|
+
#
|
671
|
+
# @example Response structure
|
672
|
+
# resp.evaluation_results #=> Array
|
673
|
+
# resp.evaluation_results[0].evaluation_result_identifier.evaluation_result_qualifier.config_rule_name #=> String
|
674
|
+
# resp.evaluation_results[0].evaluation_result_identifier.evaluation_result_qualifier.resource_type #=> String
|
675
|
+
# resp.evaluation_results[0].evaluation_result_identifier.evaluation_result_qualifier.resource_id #=> String
|
676
|
+
# resp.evaluation_results[0].evaluation_result_identifier.ordering_timestamp #=> Time
|
677
|
+
# resp.evaluation_results[0].compliance_type #=> String, one of "COMPLIANT", "NON_COMPLIANT", "NOT_APPLICABLE", "INSUFFICIENT_DATA"
|
678
|
+
# resp.evaluation_results[0].result_recorded_time #=> Time
|
679
|
+
# resp.evaluation_results[0].config_rule_invoked_time #=> Time
|
680
|
+
# resp.evaluation_results[0].annotation #=> String
|
681
|
+
# resp.evaluation_results[0].result_token #=> String
|
682
|
+
# resp.next_token #=> String
|
683
|
+
# @overload get_compliance_details_by_config_rule(params = {})
|
684
|
+
# @param [Hash] params ({})
|
685
|
+
def get_compliance_details_by_config_rule(params = {}, options = {})
|
686
|
+
req = build_request(:get_compliance_details_by_config_rule, params)
|
687
|
+
req.send_request(options)
|
688
|
+
end
|
689
|
+
|
690
|
+
# Returns the evaluation results for the specified AWS resource. The
|
691
|
+
# results indicate which AWS Config rules were used to evaluate the
|
692
|
+
# resource, when each rule was last used, and whether the resource
|
693
|
+
# complies with each rule.
|
694
|
+
# @option params [required, String] :resource_type
|
695
|
+
# The type of the AWS resource for which you want compliance
|
696
|
+
# information.
|
697
|
+
# @option params [required, String] :resource_id
|
698
|
+
# The ID of the AWS resource for which you want compliance information.
|
699
|
+
# @option params [Array<String>] :compliance_types
|
700
|
+
# Filters the results by compliance.
|
701
|
+
#
|
702
|
+
# The allowed values are `COMPLIANT`, `NON_COMPLIANT`, and
|
703
|
+
# `NOT_APPLICABLE`.
|
704
|
+
# @option params [String] :next_token
|
705
|
+
# The `nextToken` string returned on a previous page that you use to get
|
706
|
+
# the next page of results in a paginated response.
|
707
|
+
# @return [Types::GetComplianceDetailsByResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
708
|
+
#
|
709
|
+
# * {Types::GetComplianceDetailsByResourceResponse#evaluation_results #EvaluationResults} => Array<Types::EvaluationResult>
|
710
|
+
# * {Types::GetComplianceDetailsByResourceResponse#next_token #NextToken} => String
|
711
|
+
#
|
712
|
+
# @example Request syntax with placeholder values
|
713
|
+
# resp = client.get_compliance_details_by_resource({
|
714
|
+
# resource_type: "StringWithCharLimit256", # required
|
715
|
+
# resource_id: "StringWithCharLimit256", # required
|
716
|
+
# compliance_types: ["COMPLIANT"], # accepts COMPLIANT, NON_COMPLIANT, NOT_APPLICABLE, INSUFFICIENT_DATA
|
717
|
+
# next_token: "String",
|
718
|
+
# })
|
719
|
+
#
|
720
|
+
# @example Response structure
|
721
|
+
# resp.evaluation_results #=> Array
|
722
|
+
# resp.evaluation_results[0].evaluation_result_identifier.evaluation_result_qualifier.config_rule_name #=> String
|
723
|
+
# resp.evaluation_results[0].evaluation_result_identifier.evaluation_result_qualifier.resource_type #=> String
|
724
|
+
# resp.evaluation_results[0].evaluation_result_identifier.evaluation_result_qualifier.resource_id #=> String
|
725
|
+
# resp.evaluation_results[0].evaluation_result_identifier.ordering_timestamp #=> Time
|
726
|
+
# resp.evaluation_results[0].compliance_type #=> String, one of "COMPLIANT", "NON_COMPLIANT", "NOT_APPLICABLE", "INSUFFICIENT_DATA"
|
727
|
+
# resp.evaluation_results[0].result_recorded_time #=> Time
|
728
|
+
# resp.evaluation_results[0].config_rule_invoked_time #=> Time
|
729
|
+
# resp.evaluation_results[0].annotation #=> String
|
730
|
+
# resp.evaluation_results[0].result_token #=> String
|
731
|
+
# resp.next_token #=> String
|
732
|
+
# @overload get_compliance_details_by_resource(params = {})
|
733
|
+
# @param [Hash] params ({})
|
734
|
+
def get_compliance_details_by_resource(params = {}, options = {})
|
735
|
+
req = build_request(:get_compliance_details_by_resource, params)
|
736
|
+
req.send_request(options)
|
737
|
+
end
|
738
|
+
|
739
|
+
# Returns the number of AWS Config rules that are compliant and
|
740
|
+
# noncompliant, up to a maximum of 25 for each.
|
741
|
+
# @return [Types::GetComplianceSummaryByConfigRuleResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
742
|
+
#
|
743
|
+
# * {Types::GetComplianceSummaryByConfigRuleResponse#compliance_summary #ComplianceSummary} => Types::ComplianceSummary
|
744
|
+
#
|
745
|
+
# @example Response structure
|
746
|
+
# resp.compliance_summary.compliant_resource_count.capped_count #=> Integer
|
747
|
+
# resp.compliance_summary.compliant_resource_count.cap_exceeded #=> Boolean
|
748
|
+
# resp.compliance_summary.non_compliant_resource_count.capped_count #=> Integer
|
749
|
+
# resp.compliance_summary.non_compliant_resource_count.cap_exceeded #=> Boolean
|
750
|
+
# resp.compliance_summary.compliance_summary_timestamp #=> Time
|
751
|
+
# @overload get_compliance_summary_by_config_rule(params = {})
|
752
|
+
# @param [Hash] params ({})
|
753
|
+
def get_compliance_summary_by_config_rule(params = {}, options = {})
|
754
|
+
req = build_request(:get_compliance_summary_by_config_rule, params)
|
755
|
+
req.send_request(options)
|
756
|
+
end
|
757
|
+
|
758
|
+
# Returns the number of resources that are compliant and the number that
|
759
|
+
# are noncompliant. You can specify one or more resource types to get
|
760
|
+
# these numbers for each resource type. The maximum number returned is
|
761
|
+
# 100.
|
762
|
+
# @option params [Array<String>] :resource_types
|
763
|
+
# Specify one or more resource types to get the number of resources that
|
764
|
+
# are compliant and the number that are noncompliant for each resource
|
765
|
+
# type.
|
766
|
+
#
|
767
|
+
# For this request, you can specify an AWS resource type such as
|
768
|
+
# `AWS::EC2::Instance`, and you can specify that the resource type is an
|
769
|
+
# AWS account by specifying `AWS::::Account`.
|
770
|
+
# @return [Types::GetComplianceSummaryByResourceTypeResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
771
|
+
#
|
772
|
+
# * {Types::GetComplianceSummaryByResourceTypeResponse#compliance_summaries_by_resource_type #ComplianceSummariesByResourceType} => Array<Types::ComplianceSummaryByResourceType>
|
773
|
+
#
|
774
|
+
# @example Request syntax with placeholder values
|
775
|
+
# resp = client.get_compliance_summary_by_resource_type({
|
776
|
+
# resource_types: ["StringWithCharLimit256"],
|
777
|
+
# })
|
778
|
+
#
|
779
|
+
# @example Response structure
|
780
|
+
# resp.compliance_summaries_by_resource_type #=> Array
|
781
|
+
# resp.compliance_summaries_by_resource_type[0].resource_type #=> String
|
782
|
+
# resp.compliance_summaries_by_resource_type[0].compliance_summary.compliant_resource_count.capped_count #=> Integer
|
783
|
+
# resp.compliance_summaries_by_resource_type[0].compliance_summary.compliant_resource_count.cap_exceeded #=> Boolean
|
784
|
+
# resp.compliance_summaries_by_resource_type[0].compliance_summary.non_compliant_resource_count.capped_count #=> Integer
|
785
|
+
# resp.compliance_summaries_by_resource_type[0].compliance_summary.non_compliant_resource_count.cap_exceeded #=> Boolean
|
786
|
+
# resp.compliance_summaries_by_resource_type[0].compliance_summary.compliance_summary_timestamp #=> Time
|
787
|
+
# @overload get_compliance_summary_by_resource_type(params = {})
|
788
|
+
# @param [Hash] params ({})
|
789
|
+
def get_compliance_summary_by_resource_type(params = {}, options = {})
|
790
|
+
req = build_request(:get_compliance_summary_by_resource_type, params)
|
791
|
+
req.send_request(options)
|
792
|
+
end
|
793
|
+
|
794
|
+
# Returns a list of configuration items for the specified resource. The
|
795
|
+
# list contains details about each state of the resource during the
|
796
|
+
# specified time interval.
|
797
|
+
#
|
798
|
+
# The response is paginated, and by default, AWS Config returns a limit
|
799
|
+
# of 10 configuration items per page. You can customize this number with
|
800
|
+
# the `limit` parameter. The response includes a `nextToken` string, and
|
801
|
+
# to get the next page of results, run the request again and enter this
|
802
|
+
# string for the `nextToken` parameter.
|
803
|
+
#
|
804
|
+
# <note markdown="1"> Each call to the API is limited to span a duration of seven days. It
|
805
|
+
# is likely that the number of records returned is smaller than the
|
806
|
+
# specified `limit`. In such cases, you can make another call, using the
|
807
|
+
# `nextToken`.
|
808
|
+
#
|
809
|
+
# </note>
|
810
|
+
# @option params [required, String] :resource_type
|
811
|
+
# The resource type.
|
812
|
+
# @option params [required, String] :resource_id
|
813
|
+
# The ID of the resource (for example., `sg-xxxxxx`).
|
814
|
+
# @option params [Time,DateTime,Date,Integer,String] :later_time
|
815
|
+
# The time stamp that indicates a later time. If not specified, current
|
816
|
+
# time is taken.
|
817
|
+
# @option params [Time,DateTime,Date,Integer,String] :earlier_time
|
818
|
+
# The time stamp that indicates an earlier time. If not specified, the
|
819
|
+
# action returns paginated results that contain configuration items that
|
820
|
+
# start from when the first configuration item was recorded.
|
821
|
+
# @option params [String] :chronological_order
|
822
|
+
# The chronological order for configuration items listed. By default the
|
823
|
+
# results are listed in reverse chronological order.
|
824
|
+
# @option params [Integer] :limit
|
825
|
+
# The maximum number of configuration items returned on each page. The
|
826
|
+
# default is 10. You cannot specify a limit greater than 100. If you
|
827
|
+
# specify 0, AWS Config uses the default.
|
828
|
+
# @option params [String] :next_token
|
829
|
+
# The `nextToken` string returned on a previous page that you use to get
|
830
|
+
# the next page of results in a paginated response.
|
831
|
+
# @return [Types::GetResourceConfigHistoryResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
832
|
+
#
|
833
|
+
# * {Types::GetResourceConfigHistoryResponse#configuration_items #configurationItems} => Array<Types::ConfigurationItem>
|
834
|
+
# * {Types::GetResourceConfigHistoryResponse#next_token #nextToken} => String
|
835
|
+
#
|
836
|
+
# @example Request syntax with placeholder values
|
837
|
+
# resp = client.get_resource_config_history({
|
838
|
+
# 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
|
839
|
+
# resource_id: "ResourceId", # required
|
840
|
+
# later_time: Time.now,
|
841
|
+
# earlier_time: Time.now,
|
842
|
+
# chronological_order: "Reverse", # accepts Reverse, Forward
|
843
|
+
# limit: 1,
|
844
|
+
# next_token: "NextToken",
|
845
|
+
# })
|
846
|
+
#
|
847
|
+
# @example Response structure
|
848
|
+
# resp.configuration_items #=> Array
|
849
|
+
# resp.configuration_items[0].version #=> String
|
850
|
+
# resp.configuration_items[0].account_id #=> String
|
851
|
+
# resp.configuration_items[0].configuration_item_capture_time #=> Time
|
852
|
+
# resp.configuration_items[0].configuration_item_status #=> String, one of "Ok", "Failed", "Discovered", "Deleted"
|
853
|
+
# resp.configuration_items[0].configuration_state_id #=> String
|
854
|
+
# resp.configuration_items[0].configuration_item_md5_hash #=> String
|
855
|
+
# resp.configuration_items[0].arn #=> String
|
856
|
+
# 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"
|
857
|
+
# resp.configuration_items[0].resource_id #=> String
|
858
|
+
# resp.configuration_items[0].resource_name #=> String
|
859
|
+
# resp.configuration_items[0].aws_region #=> String
|
860
|
+
# resp.configuration_items[0].availability_zone #=> String
|
861
|
+
# resp.configuration_items[0].resource_creation_time #=> Time
|
862
|
+
# resp.configuration_items[0].tags #=> Hash
|
863
|
+
# resp.configuration_items[0].tags["Name"] #=> String
|
864
|
+
# resp.configuration_items[0].related_events #=> Array
|
865
|
+
# resp.configuration_items[0].related_events[0] #=> String
|
866
|
+
# resp.configuration_items[0].relationships #=> Array
|
867
|
+
# 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"
|
868
|
+
# resp.configuration_items[0].relationships[0].resource_id #=> String
|
869
|
+
# resp.configuration_items[0].relationships[0].resource_name #=> String
|
870
|
+
# resp.configuration_items[0].relationships[0].relationship_name #=> String
|
871
|
+
# resp.configuration_items[0].configuration #=> String
|
872
|
+
# resp.configuration_items[0].supplementary_configuration #=> Hash
|
873
|
+
# resp.configuration_items[0].supplementary_configuration["SupplementaryConfigurationName"] #=> String
|
874
|
+
# resp.next_token #=> String
|
875
|
+
# @overload get_resource_config_history(params = {})
|
876
|
+
# @param [Hash] params ({})
|
877
|
+
def get_resource_config_history(params = {}, options = {})
|
878
|
+
req = build_request(:get_resource_config_history, params)
|
879
|
+
req.send_request(options)
|
880
|
+
end
|
881
|
+
|
882
|
+
# Accepts a resource type and returns a list of resource identifiers for
|
883
|
+
# the resources of that type. A resource identifier includes the
|
884
|
+
# resource type, ID, and (if available) the custom resource name. The
|
885
|
+
# results consist of resources that AWS Config has discovered, including
|
886
|
+
# those that AWS Config is not currently recording. You can narrow the
|
887
|
+
# results to include only resources that have specific resource IDs or a
|
888
|
+
# resource name.
|
889
|
+
#
|
890
|
+
# <note markdown="1"> You can specify either resource IDs or a resource name but not both in
|
891
|
+
# the same request.
|
892
|
+
#
|
893
|
+
# </note>
|
894
|
+
#
|
895
|
+
# The response is paginated, and by default AWS Config lists 100
|
896
|
+
# resource identifiers on each page. You can customize this number with
|
897
|
+
# the `limit` parameter. The response includes a `nextToken` string, and
|
898
|
+
# to get the next page of results, run the request again and enter this
|
899
|
+
# string for the `nextToken` parameter.
|
900
|
+
# @option params [required, String] :resource_type
|
901
|
+
# The type of resources that you want AWS Config to list in the
|
902
|
+
# response.
|
903
|
+
# @option params [Array<String>] :resource_ids
|
904
|
+
# The IDs of only those resources that you want AWS Config to list in
|
905
|
+
# the response. If you do not specify this parameter, AWS Config lists
|
906
|
+
# all resources of the specified type that it has discovered.
|
907
|
+
# @option params [String] :resource_name
|
908
|
+
# The custom name of only those resources that you want AWS Config to
|
909
|
+
# list in the response. If you do not specify this parameter, AWS Config
|
910
|
+
# lists all resources of the specified type that it has discovered.
|
911
|
+
# @option params [Integer] :limit
|
912
|
+
# The maximum number of resource identifiers returned on each page. The
|
913
|
+
# default is 100. You cannot specify a limit greater than 100. If you
|
914
|
+
# specify 0, AWS Config uses the default.
|
915
|
+
# @option params [Boolean] :include_deleted_resources
|
916
|
+
# Specifies whether AWS Config includes deleted resources in the
|
917
|
+
# results. By default, deleted resources are not included.
|
918
|
+
# @option params [String] :next_token
|
919
|
+
# The `nextToken` string returned on a previous page that you use to get
|
920
|
+
# the next page of results in a paginated response.
|
921
|
+
# @return [Types::ListDiscoveredResourcesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
922
|
+
#
|
923
|
+
# * {Types::ListDiscoveredResourcesResponse#resource_identifiers #resourceIdentifiers} => Array<Types::ResourceIdentifier>
|
924
|
+
# * {Types::ListDiscoveredResourcesResponse#next_token #nextToken} => String
|
925
|
+
#
|
926
|
+
# @example Request syntax with placeholder values
|
927
|
+
# resp = client.list_discovered_resources({
|
928
|
+
# 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
|
929
|
+
# resource_ids: ["ResourceId"],
|
930
|
+
# resource_name: "ResourceName",
|
931
|
+
# limit: 1,
|
932
|
+
# include_deleted_resources: false,
|
933
|
+
# next_token: "NextToken",
|
934
|
+
# })
|
935
|
+
#
|
936
|
+
# @example Response structure
|
937
|
+
# resp.resource_identifiers #=> Array
|
938
|
+
# 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"
|
939
|
+
# resp.resource_identifiers[0].resource_id #=> String
|
940
|
+
# resp.resource_identifiers[0].resource_name #=> String
|
941
|
+
# resp.resource_identifiers[0].resource_deletion_time #=> Time
|
942
|
+
# resp.next_token #=> String
|
943
|
+
# @overload list_discovered_resources(params = {})
|
944
|
+
# @param [Hash] params ({})
|
945
|
+
def list_discovered_resources(params = {}, options = {})
|
946
|
+
req = build_request(:list_discovered_resources, params)
|
947
|
+
req.send_request(options)
|
948
|
+
end
|
949
|
+
|
950
|
+
# Adds or updates an AWS Config rule for evaluating whether your AWS
|
951
|
+
# resources comply with your desired configurations.
|
952
|
+
#
|
953
|
+
# You can use this action for custom Config rules and AWS managed Config
|
954
|
+
# rules. A custom Config rule is a rule that you develop and maintain.
|
955
|
+
# An AWS managed Config rule is a customizable, predefined rule that AWS
|
956
|
+
# Config provides.
|
957
|
+
#
|
958
|
+
# If you are adding a new custom Config rule, you must first create the
|
959
|
+
# AWS Lambda function that the rule invokes to evaluate your resources.
|
960
|
+
# When you use the `PutConfigRule` action to add the rule to AWS Config,
|
961
|
+
# you must specify the Amazon Resource Name (ARN) that AWS Lambda
|
962
|
+
# assigns to the function. Specify the ARN for the `SourceIdentifier`
|
963
|
+
# key. This key is part of the `Source` object, which is part of the
|
964
|
+
# `ConfigRule` object.
|
965
|
+
#
|
966
|
+
# If you are adding a new AWS managed Config rule, specify the rule's
|
967
|
+
# identifier for the `SourceIdentifier` key. To reference AWS managed
|
968
|
+
# Config rule identifiers, see [Using AWS Managed Config Rules][1].
|
969
|
+
#
|
970
|
+
# For any new rule that you add, specify the `ConfigRuleName` in the
|
971
|
+
# `ConfigRule` object. Do not specify the `ConfigRuleArn` or the
|
972
|
+
# `ConfigRuleId`. These values are generated by AWS Config for new
|
973
|
+
# rules.
|
974
|
+
#
|
975
|
+
# If you are updating a rule that you added previously, you can specify
|
976
|
+
# the rule by `ConfigRuleName`, `ConfigRuleId`, or `ConfigRuleArn` in
|
977
|
+
# the `ConfigRule` data type that you use in this request.
|
978
|
+
#
|
979
|
+
# The maximum number of rules that AWS Config supports is 25.
|
980
|
+
#
|
981
|
+
# For more information about developing and using AWS Config rules, see
|
982
|
+
# [Evaluating AWS Resource Configurations with AWS Config][2] in the
|
983
|
+
# *AWS Config Developer Guide*.
|
984
|
+
#
|
985
|
+
#
|
986
|
+
#
|
987
|
+
# [1]: http://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_use-managed-rules.html
|
988
|
+
# [2]: http://docs.aws.amazon.com/config/latest/developerguide/evaluate-config.html
|
989
|
+
# @option params [required, Types::ConfigRule] :config_rule
|
990
|
+
# An AWS Config rule represents an AWS Lambda function that you create
|
991
|
+
# for a custom rule or a predefined function for an AWS managed rule.
|
992
|
+
# The function evaluates configuration items to assess whether your AWS
|
993
|
+
# resources comply with your desired configurations. This function can
|
994
|
+
# run when AWS Config detects a configuration change to an AWS resource
|
995
|
+
# and at a periodic frequency that you choose (for example, every 24
|
996
|
+
# hours).
|
997
|
+
#
|
998
|
+
# <note markdown="1"> You can use the AWS CLI and AWS SDKs if you want to create a rule that
|
999
|
+
# triggers evaluations for your resources when AWS Config delivers the
|
1000
|
+
# configuration snapshot. For more information, see
|
1001
|
+
# ConfigSnapshotDeliveryProperties.
|
1002
|
+
#
|
1003
|
+
# </note>
|
1004
|
+
#
|
1005
|
+
# For more information about developing and using AWS Config rules, see
|
1006
|
+
# [Evaluating AWS Resource Configurations with AWS Config][1] in the
|
1007
|
+
# *AWS Config Developer Guide*.
|
1008
|
+
#
|
1009
|
+
#
|
1010
|
+
#
|
1011
|
+
# [1]: http://docs.aws.amazon.com/config/latest/developerguide/evaluate-config.html
|
1012
|
+
# @return [Struct] Returns an empty {Seahorse::Client::Response response}.
|
1013
|
+
#
|
1014
|
+
# @example Request syntax with placeholder values
|
1015
|
+
# resp = client.put_config_rule({
|
1016
|
+
# config_rule: { # required
|
1017
|
+
# config_rule_name: "StringWithCharLimit64",
|
1018
|
+
# config_rule_arn: "String",
|
1019
|
+
# config_rule_id: "String",
|
1020
|
+
# description: "EmptiableStringWithCharLimit256",
|
1021
|
+
# scope: {
|
1022
|
+
# compliance_resource_types: ["StringWithCharLimit256"],
|
1023
|
+
# tag_key: "StringWithCharLimit128",
|
1024
|
+
# tag_value: "StringWithCharLimit256",
|
1025
|
+
# compliance_resource_id: "StringWithCharLimit256",
|
1026
|
+
# },
|
1027
|
+
# source: { # required
|
1028
|
+
# owner: "CUSTOM_LAMBDA", # accepts CUSTOM_LAMBDA, AWS
|
1029
|
+
# source_identifier: "StringWithCharLimit256",
|
1030
|
+
# source_details: [
|
1031
|
+
# {
|
1032
|
+
# event_source: "aws.config", # accepts aws.config
|
1033
|
+
# message_type: "ConfigurationItemChangeNotification", # accepts ConfigurationItemChangeNotification, ConfigurationSnapshotDeliveryCompleted, ScheduledNotification
|
1034
|
+
# maximum_execution_frequency: "One_Hour", # accepts One_Hour, Three_Hours, Six_Hours, Twelve_Hours, TwentyFour_Hours
|
1035
|
+
# },
|
1036
|
+
# ],
|
1037
|
+
# },
|
1038
|
+
# input_parameters: "StringWithCharLimit256",
|
1039
|
+
# maximum_execution_frequency: "One_Hour", # accepts One_Hour, Three_Hours, Six_Hours, Twelve_Hours, TwentyFour_Hours
|
1040
|
+
# config_rule_state: "ACTIVE", # accepts ACTIVE, DELETING, DELETING_RESULTS, EVALUATING
|
1041
|
+
# },
|
1042
|
+
# })
|
1043
|
+
# @overload put_config_rule(params = {})
|
1044
|
+
# @param [Hash] params ({})
|
1045
|
+
def put_config_rule(params = {}, options = {})
|
1046
|
+
req = build_request(:put_config_rule, params)
|
1047
|
+
req.send_request(options)
|
1048
|
+
end
|
1049
|
+
|
1050
|
+
# Creates a new configuration recorder to record the selected resource
|
1051
|
+
# configurations.
|
1052
|
+
#
|
1053
|
+
# You can use this action to change the role `roleARN` and/or the
|
1054
|
+
# `recordingGroup` of an existing recorder. To change the role, call the
|
1055
|
+
# action on the existing configuration recorder and specify a role.
|
1056
|
+
#
|
1057
|
+
# <note markdown="1"> Currently, you can specify only one configuration recorder per region
|
1058
|
+
# in your account.
|
1059
|
+
#
|
1060
|
+
# If `ConfigurationRecorder` does not have the **recordingGroup**
|
1061
|
+
# parameter specified, the default is to record all supported resource
|
1062
|
+
# types.
|
1063
|
+
#
|
1064
|
+
# </note>
|
1065
|
+
# @option params [required, Types::ConfigurationRecorder] :configuration_recorder
|
1066
|
+
# The configuration recorder object that records each configuration
|
1067
|
+
# change made to the resources.
|
1068
|
+
# @return [Struct] Returns an empty {Seahorse::Client::Response response}.
|
1069
|
+
#
|
1070
|
+
# @example Request syntax with placeholder values
|
1071
|
+
# resp = client.put_configuration_recorder({
|
1072
|
+
# configuration_recorder: { # required
|
1073
|
+
# name: "RecorderName",
|
1074
|
+
# role_arn: "String",
|
1075
|
+
# recording_group: {
|
1076
|
+
# all_supported: false,
|
1077
|
+
# include_global_resource_types: false,
|
1078
|
+
# 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
|
1079
|
+
# },
|
1080
|
+
# },
|
1081
|
+
# })
|
1082
|
+
# @overload put_configuration_recorder(params = {})
|
1083
|
+
# @param [Hash] params ({})
|
1084
|
+
def put_configuration_recorder(params = {}, options = {})
|
1085
|
+
req = build_request(:put_configuration_recorder, params)
|
1086
|
+
req.send_request(options)
|
1087
|
+
end
|
1088
|
+
|
1089
|
+
# Creates a delivery channel object to deliver configuration information
|
1090
|
+
# to an Amazon S3 bucket and Amazon SNS topic.
|
1091
|
+
#
|
1092
|
+
# Before you can create a delivery channel, you must create a
|
1093
|
+
# configuration recorder.
|
1094
|
+
#
|
1095
|
+
# You can use this action to change the Amazon S3 bucket or an Amazon
|
1096
|
+
# SNS topic of the existing delivery channel. To change the Amazon S3
|
1097
|
+
# bucket or an Amazon SNS topic, call this action and specify the
|
1098
|
+
# changed values for the S3 bucket and the SNS topic. If you specify a
|
1099
|
+
# different value for either the S3 bucket or the SNS topic, this action
|
1100
|
+
# will keep the existing value for the parameter that is not changed.
|
1101
|
+
#
|
1102
|
+
# <note markdown="1"> You can have only one delivery channel per region in your account.
|
1103
|
+
#
|
1104
|
+
# </note>
|
1105
|
+
# @option params [required, Types::DeliveryChannel] :delivery_channel
|
1106
|
+
# The configuration delivery channel object that delivers the
|
1107
|
+
# configuration information to an Amazon S3 bucket, and to an Amazon SNS
|
1108
|
+
# topic.
|
1109
|
+
# @return [Struct] Returns an empty {Seahorse::Client::Response response}.
|
1110
|
+
#
|
1111
|
+
# @example Request syntax with placeholder values
|
1112
|
+
# resp = client.put_delivery_channel({
|
1113
|
+
# delivery_channel: { # required
|
1114
|
+
# name: "ChannelName",
|
1115
|
+
# s3_bucket_name: "String",
|
1116
|
+
# s3_key_prefix: "String",
|
1117
|
+
# sns_topic_arn: "String",
|
1118
|
+
# config_snapshot_delivery_properties: {
|
1119
|
+
# delivery_frequency: "One_Hour", # accepts One_Hour, Three_Hours, Six_Hours, Twelve_Hours, TwentyFour_Hours
|
1120
|
+
# },
|
1121
|
+
# },
|
1122
|
+
# })
|
1123
|
+
# @overload put_delivery_channel(params = {})
|
1124
|
+
# @param [Hash] params ({})
|
1125
|
+
def put_delivery_channel(params = {}, options = {})
|
1126
|
+
req = build_request(:put_delivery_channel, params)
|
1127
|
+
req.send_request(options)
|
1128
|
+
end
|
1129
|
+
|
1130
|
+
# Used by an AWS Lambda function to deliver evaluation results to AWS
|
1131
|
+
# Config. This action is required in every AWS Lambda function that is
|
1132
|
+
# invoked by an AWS Config rule.
|
1133
|
+
# @option params [Array<Types::Evaluation>] :evaluations
|
1134
|
+
# The assessments that the AWS Lambda function performs. Each evaluation
|
1135
|
+
# identifies an AWS resource and indicates whether it complies with the
|
1136
|
+
# AWS Config rule that invokes the AWS Lambda function.
|
1137
|
+
# @option params [required, String] :result_token
|
1138
|
+
# An encrypted token that associates an evaluation with an AWS Config
|
1139
|
+
# rule. Identifies the rule and the event that triggered the evaluation
|
1140
|
+
# @return [Types::PutEvaluationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
1141
|
+
#
|
1142
|
+
# * {Types::PutEvaluationsResponse#failed_evaluations #FailedEvaluations} => Array<Types::Evaluation>
|
1143
|
+
#
|
1144
|
+
# @example Request syntax with placeholder values
|
1145
|
+
# resp = client.put_evaluations({
|
1146
|
+
# evaluations: [
|
1147
|
+
# {
|
1148
|
+
# compliance_resource_type: "StringWithCharLimit256", # required
|
1149
|
+
# compliance_resource_id: "StringWithCharLimit256", # required
|
1150
|
+
# compliance_type: "COMPLIANT", # required, accepts COMPLIANT, NON_COMPLIANT, NOT_APPLICABLE, INSUFFICIENT_DATA
|
1151
|
+
# annotation: "StringWithCharLimit256",
|
1152
|
+
# ordering_timestamp: Time.now, # required
|
1153
|
+
# },
|
1154
|
+
# ],
|
1155
|
+
# result_token: "String", # required
|
1156
|
+
# })
|
1157
|
+
#
|
1158
|
+
# @example Response structure
|
1159
|
+
# resp.failed_evaluations #=> Array
|
1160
|
+
# resp.failed_evaluations[0].compliance_resource_type #=> String
|
1161
|
+
# resp.failed_evaluations[0].compliance_resource_id #=> String
|
1162
|
+
# resp.failed_evaluations[0].compliance_type #=> String, one of "COMPLIANT", "NON_COMPLIANT", "NOT_APPLICABLE", "INSUFFICIENT_DATA"
|
1163
|
+
# resp.failed_evaluations[0].annotation #=> String
|
1164
|
+
# resp.failed_evaluations[0].ordering_timestamp #=> Time
|
1165
|
+
# @overload put_evaluations(params = {})
|
1166
|
+
# @param [Hash] params ({})
|
1167
|
+
def put_evaluations(params = {}, options = {})
|
1168
|
+
req = build_request(:put_evaluations, params)
|
1169
|
+
req.send_request(options)
|
1170
|
+
end
|
1171
|
+
|
1172
|
+
# Evaluates your resources against the specified Config rules. You can
|
1173
|
+
# specify up to 25 Config rules per request.
|
1174
|
+
#
|
1175
|
+
# An existing StartConfigRulesEvaluation call must complete for the
|
1176
|
+
# specified rules before you can call the API again. If you chose to
|
1177
|
+
# have AWS Config stream to an Amazon SNS topic, you will receive a
|
1178
|
+
# `ConfigRuleEvaluationStarted` notification when the evaluation starts.
|
1179
|
+
#
|
1180
|
+
# <note markdown="1"> You don't need to call the `StartConfigRulesEvaluation` API to run an
|
1181
|
+
# evaluation for a new rule. When you create a new rule, AWS Config
|
1182
|
+
# automatically evaluates your resources against the rule.
|
1183
|
+
#
|
1184
|
+
# </note>
|
1185
|
+
#
|
1186
|
+
# The `StartConfigRulesEvaluation` API is useful if you want to run
|
1187
|
+
# on-demand evaluations, such as the following example:
|
1188
|
+
#
|
1189
|
+
# 1. You have a custom rule that evaluates your IAM resources every 24
|
1190
|
+
# hours.
|
1191
|
+
#
|
1192
|
+
# 2. You update your Lambda function to add additional conditions to
|
1193
|
+
# your rule.
|
1194
|
+
#
|
1195
|
+
# 3. Instead of waiting for the next periodic evaluation, you call the
|
1196
|
+
# `StartConfigRulesEvaluation` API.
|
1197
|
+
#
|
1198
|
+
# 4. AWS Config invokes your Lambda function and evaluates your IAM
|
1199
|
+
# resources.
|
1200
|
+
#
|
1201
|
+
# 5. Your custom rule will still run periodic evaluations every 24
|
1202
|
+
# hours.
|
1203
|
+
# @option params [Array<String>] :config_rule_names
|
1204
|
+
# The list of names of Config rules that you want to run evaluations
|
1205
|
+
# for.
|
1206
|
+
# @return [Struct] Returns an empty {Seahorse::Client::Response response}.
|
1207
|
+
#
|
1208
|
+
# @example Request syntax with placeholder values
|
1209
|
+
# resp = client.start_config_rules_evaluation({
|
1210
|
+
# config_rule_names: ["StringWithCharLimit64"],
|
1211
|
+
# })
|
1212
|
+
# @overload start_config_rules_evaluation(params = {})
|
1213
|
+
# @param [Hash] params ({})
|
1214
|
+
def start_config_rules_evaluation(params = {}, options = {})
|
1215
|
+
req = build_request(:start_config_rules_evaluation, params)
|
1216
|
+
req.send_request(options)
|
1217
|
+
end
|
1218
|
+
|
1219
|
+
# Starts recording configurations of the AWS resources you have selected
|
1220
|
+
# to record in your AWS account.
|
1221
|
+
#
|
1222
|
+
# You must have created at least one delivery channel to successfully
|
1223
|
+
# start the configuration recorder.
|
1224
|
+
# @option params [required, String] :configuration_recorder_name
|
1225
|
+
# The name of the recorder object that records each configuration change
|
1226
|
+
# made to the resources.
|
1227
|
+
# @return [Struct] Returns an empty {Seahorse::Client::Response response}.
|
1228
|
+
#
|
1229
|
+
# @example Request syntax with placeholder values
|
1230
|
+
# resp = client.start_configuration_recorder({
|
1231
|
+
# configuration_recorder_name: "RecorderName", # required
|
1232
|
+
# })
|
1233
|
+
# @overload start_configuration_recorder(params = {})
|
1234
|
+
# @param [Hash] params ({})
|
1235
|
+
def start_configuration_recorder(params = {}, options = {})
|
1236
|
+
req = build_request(:start_configuration_recorder, params)
|
1237
|
+
req.send_request(options)
|
1238
|
+
end
|
1239
|
+
|
1240
|
+
# Stops recording configurations of the AWS resources you have selected
|
1241
|
+
# to record in your AWS account.
|
1242
|
+
# @option params [required, String] :configuration_recorder_name
|
1243
|
+
# The name of the recorder object that records each configuration change
|
1244
|
+
# made to the resources.
|
1245
|
+
# @return [Struct] Returns an empty {Seahorse::Client::Response response}.
|
1246
|
+
#
|
1247
|
+
# @example Request syntax with placeholder values
|
1248
|
+
# resp = client.stop_configuration_recorder({
|
1249
|
+
# configuration_recorder_name: "RecorderName", # required
|
1250
|
+
# })
|
1251
|
+
# @overload stop_configuration_recorder(params = {})
|
1252
|
+
# @param [Hash] params ({})
|
1253
|
+
def stop_configuration_recorder(params = {}, options = {})
|
1254
|
+
req = build_request(:stop_configuration_recorder, params)
|
1255
|
+
req.send_request(options)
|
1256
|
+
end
|
1257
|
+
|
1258
|
+
# @!endgroup
|
1259
|
+
|
1260
|
+
# @param params ({})
|
1261
|
+
# @api private
|
1262
|
+
def build_request(operation_name, params = {})
|
1263
|
+
handlers = @handlers.for(operation_name)
|
1264
|
+
context = Seahorse::Client::RequestContext.new(
|
1265
|
+
operation_name: operation_name,
|
1266
|
+
operation: config.api.operation(operation_name),
|
1267
|
+
client: self,
|
1268
|
+
params: params,
|
1269
|
+
config: config)
|
1270
|
+
context[:gem_name] = 'aws-sdk-configservice'
|
1271
|
+
context[:gem_version] = '1.0.0.rc1'
|
1272
|
+
Seahorse::Client::Request.new(handlers, context)
|
1273
|
+
end
|
1274
|
+
|
1275
|
+
# @api private
|
1276
|
+
# @deprecated
|
1277
|
+
def waiter_names
|
1278
|
+
[]
|
1279
|
+
end
|
1280
|
+
|
1281
|
+
class << self
|
1282
|
+
|
1283
|
+
# @api private
|
1284
|
+
attr_reader :identifier
|
1285
|
+
|
1286
|
+
# @api private
|
1287
|
+
def errors_module
|
1288
|
+
Errors
|
1289
|
+
end
|
1290
|
+
|
1291
|
+
end
|
1292
|
+
end
|
1293
|
+
end
|
1294
|
+
end
|