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.
@@ -1,23 +1,14 @@
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
7
7
 
8
- module Aws
9
- module ConfigService
10
- module Errors
8
+ module Aws::ConfigService
9
+ module Errors
11
10
 
12
- extend Aws::Errors::DynamicErrors
11
+ extend Aws::Errors::DynamicErrors
13
12
 
14
- # Raised when calling #load or #data on a resource class that can not be
15
- # loaded. This can happen when:
16
- #
17
- # * A resource class has identifiers, but no data attributes.
18
- # * Resource data is only available when making an API call that
19
- # enumerates all resources of that type.
20
- class ResourceNotLoadable < RuntimeError; end
21
- end
22
13
  end
23
14
  end
@@ -1,25 +1,23 @@
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
7
7
 
8
- module Aws
9
- module ConfigService
10
- class Resource
8
+ module Aws::ConfigService
9
+ class Resource
11
10
 
12
- # @param options ({})
13
- # @option options [Client] :client
14
- def initialize(options = {})
15
- @client = options[:client] || Client.new(options)
16
- end
17
-
18
- # @return [Client]
19
- def client
20
- @client
21
- end
11
+ # @param options ({})
12
+ # @option options [Client] :client
13
+ def initialize(options = {})
14
+ @client = options[:client] || Client.new(options)
15
+ end
22
16
 
17
+ # @return [Client]
18
+ def client
19
+ @client
23
20
  end
21
+
24
22
  end
25
23
  end
@@ -1,2130 +1,2282 @@
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
7
7
 
8
- module Aws
9
- module ConfigService
10
- module Types
11
-
12
- # Indicates whether an AWS resource or AWS Config rule is compliant and
13
- # provides the number of contributors that affect the compliance.
14
- # @!attribute [rw] compliance_type
15
- # Indicates whether an AWS resource or AWS Config rule is compliant.
16
- #
17
- # A resource is compliant if it complies with all of the AWS Config
18
- # rules that evaluate it, and it is noncompliant if it does not comply
19
- # with one or more of these rules.
20
- #
21
- # A rule is compliant if all of the resources that the rule evaluates
22
- # comply with it, and it is noncompliant if any of these resources do
23
- # not comply.
24
- #
25
- # AWS Config returns the `INSUFFICIENT_DATA` value when no evaluation
26
- # results are available for the AWS resource or Config rule.
27
- #
28
- # For the `Compliance` data type, AWS Config supports only
29
- # `COMPLIANT`, `NON_COMPLIANT`, and `INSUFFICIENT_DATA` values. AWS
30
- # Config does not support the `NOT_APPLICABLE` value for the
31
- # `Compliance` data type.
32
- # @return [String]
33
- #
34
- # @!attribute [rw] compliance_contributor_count
35
- # The number of AWS resources or AWS Config rules that cause a result
36
- # of `NON_COMPLIANT`, up to a maximum number.
37
- # @return [Types::ComplianceContributorCount]
38
- class Compliance < Struct.new(
39
- :compliance_type,
40
- :compliance_contributor_count)
41
- include Aws::Structure
42
- end
43
-
44
- # Indicates whether an AWS Config rule is compliant. A rule is compliant
45
- # if all of the resources that the rule evaluated comply with it, and it
46
- # is noncompliant if any of these resources do not comply.
47
- # @!attribute [rw] config_rule_name
48
- # The name of the AWS Config rule.
49
- # @return [String]
50
- #
51
- # @!attribute [rw] compliance
52
- # Indicates whether the AWS Config rule is compliant.
53
- # @return [Types::Compliance]
54
- class ComplianceByConfigRule < Struct.new(
55
- :config_rule_name,
56
- :compliance)
57
- include Aws::Structure
58
- end
59
-
60
- # Indicates whether an AWS resource that is evaluated according to one
61
- # or more AWS Config rules is compliant. A resource is compliant if it
62
- # complies with all of the rules that evaluate it, and it is
63
- # noncompliant if it does not comply with one or more of these rules.
64
- # @!attribute [rw] resource_type
65
- # The type of the AWS resource that was evaluated.
66
- # @return [String]
67
- #
68
- # @!attribute [rw] resource_id
69
- # The ID of the AWS resource that was evaluated.
70
- # @return [String]
71
- #
72
- # @!attribute [rw] compliance
73
- # Indicates whether the AWS resource complies with all of the AWS
74
- # Config rules that evaluated it.
75
- # @return [Types::Compliance]
76
- class ComplianceByResource < Struct.new(
77
- :resource_type,
78
- :resource_id,
79
- :compliance)
80
- include Aws::Structure
81
- end
82
-
83
- # The number of AWS resources or AWS Config rules responsible for the
84
- # current compliance of the item, up to a maximum number.
85
- # @!attribute [rw] capped_count
86
- # The number of AWS resources or AWS Config rules responsible for the
87
- # current compliance of the item.
88
- # @return [Integer]
89
- #
90
- # @!attribute [rw] cap_exceeded
91
- # Indicates whether the maximum count is reached.
92
- # @return [Boolean]
93
- class ComplianceContributorCount < Struct.new(
94
- :capped_count,
95
- :cap_exceeded)
96
- include Aws::Structure
97
- end
98
-
99
- # The number of AWS Config rules or AWS resources that are compliant and
100
- # noncompliant.
101
- # @!attribute [rw] compliant_resource_count
102
- # The number of AWS Config rules or AWS resources that are compliant,
103
- # up to a maximum of 25 for rules and 100 for resources.
104
- # @return [Types::ComplianceContributorCount]
105
- #
106
- # @!attribute [rw] non_compliant_resource_count
107
- # The number of AWS Config rules or AWS resources that are
108
- # noncompliant, up to a maximum of 25 for rules and 100 for resources.
109
- # @return [Types::ComplianceContributorCount]
110
- #
111
- # @!attribute [rw] compliance_summary_timestamp
112
- # The time that AWS Config created the compliance summary.
113
- # @return [Time]
114
- class ComplianceSummary < Struct.new(
115
- :compliant_resource_count,
116
- :non_compliant_resource_count,
117
- :compliance_summary_timestamp)
118
- include Aws::Structure
119
- end
120
-
121
- # The number of AWS resources of a specific type that are compliant or
122
- # noncompliant, up to a maximum of 100 for each compliance.
123
- # @!attribute [rw] resource_type
124
- # The type of AWS resource.
125
- # @return [String]
126
- #
127
- # @!attribute [rw] compliance_summary
128
- # The number of AWS resources that are compliant or noncompliant, up
129
- # to a maximum of 100 for each compliance.
130
- # @return [Types::ComplianceSummary]
131
- class ComplianceSummaryByResourceType < Struct.new(
132
- :resource_type,
133
- :compliance_summary)
134
- include Aws::Structure
135
- end
136
-
137
- # A list that contains the status of the delivery of either the snapshot
138
- # or the configuration history to the specified Amazon S3 bucket.
139
- # @!attribute [rw] last_status
140
- # Status of the last attempted delivery.
141
- # @return [String]
142
- #
143
- # @!attribute [rw] last_error_code
144
- # The error code from the last attempted delivery.
145
- # @return [String]
146
- #
147
- # @!attribute [rw] last_error_message
148
- # The error message from the last attempted delivery.
149
- # @return [String]
150
- #
151
- # @!attribute [rw] last_attempt_time
152
- # The time of the last attempted delivery.
153
- # @return [Time]
154
- #
155
- # @!attribute [rw] last_successful_time
156
- # The time of the last successful delivery.
157
- # @return [Time]
158
- #
159
- # @!attribute [rw] next_delivery_time
160
- # The time that the next delivery occurs.
161
- # @return [Time]
162
- class ConfigExportDeliveryInfo < Struct.new(
163
- :last_status,
164
- :last_error_code,
165
- :last_error_message,
166
- :last_attempt_time,
167
- :last_successful_time,
168
- :next_delivery_time)
169
- include Aws::Structure
170
- end
171
-
172
- # An AWS Config rule represents an AWS Lambda function that you create
173
- # for a custom rule or a predefined function for an AWS managed rule.
174
- # The function evaluates configuration items to assess whether your AWS
175
- # resources comply with your desired configurations. This function can
176
- # run when AWS Config detects a configuration change to an AWS resource
177
- # and at a periodic frequency that you choose (for example, every 24
178
- # hours).
179
- #
180
- # <note markdown="1"> You can use the AWS CLI and AWS SDKs if you want to create a rule that
181
- # triggers evaluations for your resources when AWS Config delivers the
182
- # configuration snapshot. For more information, see
183
- # ConfigSnapshotDeliveryProperties.
184
- #
185
- # </note>
186
- #
187
- # For more information about developing and using AWS Config rules, see
188
- # [Evaluating AWS Resource Configurations with AWS Config][1] in the
189
- # *AWS Config Developer Guide*.
190
- #
191
- #
192
- #
193
- # [1]: http://docs.aws.amazon.com/config/latest/developerguide/evaluate-config.html
194
- # @note When making an API call, pass ConfigRule
195
- # data as a hash:
196
- #
197
- # {
198
- # config_rule_name: "StringWithCharLimit64",
199
- # config_rule_arn: "String",
200
- # config_rule_id: "String",
201
- # description: "EmptiableStringWithCharLimit256",
202
- # scope: {
203
- # compliance_resource_types: ["StringWithCharLimit256"],
204
- # tag_key: "StringWithCharLimit128",
205
- # tag_value: "StringWithCharLimit256",
206
- # compliance_resource_id: "StringWithCharLimit256",
207
- # },
208
- # source: { # required
209
- # owner: "CUSTOM_LAMBDA", # required, accepts CUSTOM_LAMBDA, AWS
210
- # source_identifier: "StringWithCharLimit256", # required
211
- # source_details: [
212
- # {
213
- # event_source: "aws.config", # accepts aws.config
214
- # message_type: "ConfigurationItemChangeNotification", # accepts ConfigurationItemChangeNotification, ConfigurationSnapshotDeliveryCompleted, ScheduledNotification
215
- # maximum_execution_frequency: "One_Hour", # accepts One_Hour, Three_Hours, Six_Hours, Twelve_Hours, TwentyFour_Hours
216
- # },
217
- # ],
218
- # },
219
- # input_parameters: "StringWithCharLimit1024",
220
- # maximum_execution_frequency: "One_Hour", # accepts One_Hour, Three_Hours, Six_Hours, Twelve_Hours, TwentyFour_Hours
221
- # config_rule_state: "ACTIVE", # accepts ACTIVE, DELETING, DELETING_RESULTS, EVALUATING
222
- # }
223
- # @!attribute [rw] config_rule_name
224
- # The name that you assign to the AWS Config rule. The name is
225
- # required if you are adding a new rule.
226
- # @return [String]
227
- #
228
- # @!attribute [rw] config_rule_arn
229
- # The Amazon Resource Name (ARN) of the AWS Config rule.
230
- # @return [String]
231
- #
232
- # @!attribute [rw] config_rule_id
233
- # The ID of the AWS Config rule.
234
- # @return [String]
235
- #
236
- # @!attribute [rw] description
237
- # The description that you provide for the AWS Config rule.
238
- # @return [String]
239
- #
240
- # @!attribute [rw] scope
241
- # Defines which resources can trigger an evaluation for the rule. The
242
- # scope can include one or more resource types, a combination of one
243
- # resource type and one resource ID, or a combination of a tag key and
244
- # value. Specify a scope to constrain the resources that can trigger
245
- # an evaluation for the rule. If you do not specify a scope,
246
- # evaluations are triggered when any resource in the recording group
247
- # changes.
248
- # @return [Types::Scope]
249
- #
250
- # @!attribute [rw] source
251
- # Provides the rule owner (AWS or customer), the rule identifier, and
252
- # the notifications that cause the function to evaluate your AWS
253
- # resources.
254
- # @return [Types::Source]
255
- #
256
- # @!attribute [rw] input_parameters
257
- # A string in JSON format that is passed to the AWS Config rule Lambda
258
- # function.
259
- # @return [String]
260
- #
261
- # @!attribute [rw] maximum_execution_frequency
262
- # The maximum frequency with which AWS Config runs evaluations for a
263
- # rule. You can specify a value for `MaximumExecutionFrequency` when:
264
- #
265
- # * You are using an AWS managed rule that is triggered at a periodic
266
- # frequency.
267
- #
268
- # * Your custom rule is triggered when AWS Config delivers the
269
- # configuration snapshot.
270
- #
271
- # For more information, see ConfigSnapshotDeliveryProperties.
272
- # @return [String]
273
- #
274
- # @!attribute [rw] config_rule_state
275
- # Indicates whether the AWS Config rule is active or is currently
276
- # being deleted by AWS Config. It can also indicate the evaluation
277
- # status for the Config rule.
278
- #
279
- # AWS Config sets the state of the rule to `EVALUATING` temporarily
280
- # after you use the `StartConfigRulesEvaluation` request to evaluate
281
- # your resources against the Config rule.
282
- #
283
- # AWS Config sets the state of the rule to `DELETING_RESULTS`
284
- # temporarily after you use the `DeleteEvaluationResults` request to
285
- # delete the current evaluation results for the Config rule.
286
- #
287
- # AWS Config sets the state of a rule to `DELETING` temporarily after
288
- # you use the `DeleteConfigRule` request to delete the rule. After AWS
289
- # Config deletes the rule, the rule and all of its evaluations are
290
- # erased and are no longer available.
291
- # @return [String]
292
- class ConfigRule < Struct.new(
293
- :config_rule_name,
294
- :config_rule_arn,
295
- :config_rule_id,
296
- :description,
297
- :scope,
298
- :source,
299
- :input_parameters,
300
- :maximum_execution_frequency,
301
- :config_rule_state)
302
- include Aws::Structure
303
- end
304
-
305
- # Status information for your AWS managed Config rules. The status
306
- # includes information such as the last time the rule ran, the last time
307
- # it failed, and the related error for the last failure.
308
- #
309
- # This action does not return status information about custom Config
310
- # rules.
311
- # @!attribute [rw] config_rule_name
312
- # The name of the AWS Config rule.
313
- # @return [String]
314
- #
315
- # @!attribute [rw] config_rule_arn
316
- # The Amazon Resource Name (ARN) of the AWS Config rule.
317
- # @return [String]
318
- #
319
- # @!attribute [rw] config_rule_id
320
- # The ID of the AWS Config rule.
321
- # @return [String]
322
- #
323
- # @!attribute [rw] last_successful_invocation_time
324
- # The time that AWS Config last successfully invoked the AWS Config
325
- # rule to evaluate your AWS resources.
326
- # @return [Time]
327
- #
328
- # @!attribute [rw] last_failed_invocation_time
329
- # The time that AWS Config last failed to invoke the AWS Config rule
330
- # to evaluate your AWS resources.
331
- # @return [Time]
332
- #
333
- # @!attribute [rw] last_successful_evaluation_time
334
- # The time that AWS Config last successfully evaluated your AWS
335
- # resources against the rule.
336
- # @return [Time]
337
- #
338
- # @!attribute [rw] last_failed_evaluation_time
339
- # The time that AWS Config last failed to evaluate your AWS resources
340
- # against the rule.
341
- # @return [Time]
342
- #
343
- # @!attribute [rw] first_activated_time
344
- # The time that you first activated the AWS Config rule.
345
- # @return [Time]
346
- #
347
- # @!attribute [rw] last_error_code
348
- # The error code that AWS Config returned when the rule last failed.
349
- # @return [String]
350
- #
351
- # @!attribute [rw] last_error_message
352
- # The error message that AWS Config returned when the rule last
353
- # failed.
354
- # @return [String]
355
- #
356
- # @!attribute [rw] first_evaluation_started
357
- # Indicates whether AWS Config has evaluated your resources against
358
- # the rule at least once.
359
- #
360
- # * `true` - AWS Config has evaluated your AWS resources against the
361
- # rule at least once.
362
- #
363
- # * `false` - AWS Config has not once finished evaluating your AWS
364
- # resources against the rule.
365
- # @return [Boolean]
366
- class ConfigRuleEvaluationStatus < Struct.new(
367
- :config_rule_name,
368
- :config_rule_arn,
369
- :config_rule_id,
370
- :last_successful_invocation_time,
371
- :last_failed_invocation_time,
372
- :last_successful_evaluation_time,
373
- :last_failed_evaluation_time,
374
- :first_activated_time,
375
- :last_error_code,
376
- :last_error_message,
377
- :first_evaluation_started)
378
- include Aws::Structure
379
- end
380
-
381
- # Provides options for how often AWS Config delivers configuration
382
- # snapshots to the Amazon S3 bucket in your delivery channel.
383
- #
384
- # <note markdown="1"> If you want to create a rule that triggers evaluations for your
385
- # resources when AWS Config delivers the configuration snapshot, see the
386
- # following:
387
- #
388
- # </note>
389
- #
390
- # The frequency for a rule that triggers evaluations for your resources
391
- # when AWS Config delivers the configuration snapshot is set by one of
392
- # two values, depending on which is less frequent:
393
- #
394
- # * The value for the `deliveryFrequency` parameter within the delivery
395
- # channel configuration, which sets how often AWS Config delivers
396
- # configuration snapshots. This value also sets how often AWS Config
397
- # invokes evaluations for Config rules.
398
- #
399
- # * The value for the `MaximumExecutionFrequency` parameter, which sets
400
- # the maximum frequency with which AWS Config invokes evaluations for
401
- # the rule. For more information, see ConfigRule.
402
- #
403
- # If the `deliveryFrequency` value is less frequent than the
404
- # `MaximumExecutionFrequency` value for a rule, AWS Config invokes the
405
- # rule only as often as the `deliveryFrequency` value.
406
- #
407
- # 1. For example, you want your rule to run evaluations when AWS Config
408
- # delivers the configuration snapshot.
409
- #
410
- # 2. You specify the `MaximumExecutionFrequency` value for `Six_Hours`.
411
- #
412
- # 3. You then specify the delivery channel `deliveryFrequency` value
413
- # for `TwentyFour_Hours`.
414
- #
415
- # 4. Because the value for `deliveryFrequency` is less frequent than
416
- # `MaximumExecutionFrequency`, AWS Config invokes evaluations for
417
- # the rule every 24 hours.
418
- #
419
- # You should set the `MaximumExecutionFrequency` value to be at least as
420
- # frequent as the `deliveryFrequency` value. You can view the
421
- # `deliveryFrequency` value by using the `DescribeDeliveryChannnels`
422
- # action.
423
- #
424
- # To update the `deliveryFrequency` with which AWS Config delivers your
425
- # configuration snapshots, use the `PutDeliveryChannel` action.
426
- # @note When making an API call, pass ConfigSnapshotDeliveryProperties
427
- # data as a hash:
428
- #
429
- # {
430
- # delivery_frequency: "One_Hour", # accepts One_Hour, Three_Hours, Six_Hours, Twelve_Hours, TwentyFour_Hours
431
- # }
432
- # @!attribute [rw] delivery_frequency
433
- # The frequency with which AWS Config delivers configuration
434
- # snapshots.
435
- # @return [String]
436
- class ConfigSnapshotDeliveryProperties < Struct.new(
437
- :delivery_frequency)
438
- include Aws::Structure
439
- end
440
-
441
- # A list that contains the status of the delivery of the configuration
442
- # stream notification to the Amazon SNS topic.
443
- # @!attribute [rw] last_status
444
- # Status of the last attempted delivery.
445
- #
446
- # **Note** Providing an SNS topic on a [DeliveryChannel][1] for AWS
447
- # Config is optional. If the SNS delivery is turned off, the last
448
- # status will be **Not\_Applicable**.
449
- #
450
- #
451
- #
452
- # [1]: http://docs.aws.amazon.com/config/latest/APIReference/API_DeliveryChannel.html
453
- # @return [String]
454
- #
455
- # @!attribute [rw] last_error_code
456
- # The error code from the last attempted delivery.
457
- # @return [String]
458
- #
459
- # @!attribute [rw] last_error_message
460
- # The error message from the last attempted delivery.
461
- # @return [String]
462
- #
463
- # @!attribute [rw] last_status_change_time
464
- # The time from the last status change.
465
- # @return [Time]
466
- class ConfigStreamDeliveryInfo < Struct.new(
467
- :last_status,
468
- :last_error_code,
469
- :last_error_message,
470
- :last_status_change_time)
471
- include Aws::Structure
472
- end
473
-
474
- # A list that contains detailed configurations of a specified resource.
475
- #
476
- # <note markdown="1"> Currently, the list does not contain information about non-AWS
477
- # components (for example, applications on your Amazon EC2 instances).
478
- #
479
- # </note>
480
- # @!attribute [rw] version
481
- # The version number of the resource configuration.
482
- # @return [String]
483
- #
484
- # @!attribute [rw] account_id
485
- # The 12 digit AWS account ID associated with the resource.
486
- # @return [String]
487
- #
488
- # @!attribute [rw] configuration_item_capture_time
489
- # The time when the configuration recording was initiated.
490
- # @return [Time]
491
- #
492
- # @!attribute [rw] configuration_item_status
493
- # The configuration item status.
494
- # @return [String]
495
- #
496
- # @!attribute [rw] configuration_state_id
497
- # An identifier that indicates the ordering of the configuration items
498
- # of a resource.
499
- # @return [String]
500
- #
501
- # @!attribute [rw] configuration_item_md5_hash
502
- # Unique MD5 hash that represents the configuration item's state.
503
- #
504
- # You can use MD5 hash to compare the states of two or more
505
- # configuration items that are associated with the same resource.
506
- # @return [String]
507
- #
508
- # @!attribute [rw] arn
509
- # The Amazon Resource Name (ARN) of the resource.
510
- # @return [String]
511
- #
512
- # @!attribute [rw] resource_type
513
- # The type of AWS resource.
514
- # @return [String]
515
- #
516
- # @!attribute [rw] resource_id
517
- # The ID of the resource (for example., `sg-xxxxxx`).
518
- # @return [String]
519
- #
520
- # @!attribute [rw] resource_name
521
- # The custom name of the resource, if available.
522
- # @return [String]
523
- #
524
- # @!attribute [rw] aws_region
525
- # The region where the resource resides.
526
- # @return [String]
527
- #
528
- # @!attribute [rw] availability_zone
529
- # The Availability Zone associated with the resource.
530
- # @return [String]
531
- #
532
- # @!attribute [rw] resource_creation_time
533
- # The time stamp when the resource was created.
534
- # @return [Time]
535
- #
536
- # @!attribute [rw] tags
537
- # A mapping of key value tags associated with the resource.
538
- # @return [Hash<String,String>]
539
- #
540
- # @!attribute [rw] related_events
541
- # A list of CloudTrail event IDs.
542
- #
543
- # A populated field indicates that the current configuration was
544
- # initiated by the events recorded in the CloudTrail log. For more
545
- # information about CloudTrail, see [What is AWS CloudTrail?][1].
546
- #
547
- # An empty field indicates that the current configuration was not
548
- # initiated by any event.
549
- #
550
- #
551
- #
552
- # [1]: http://docs.aws.amazon.com/awscloudtrail/latest/userguide/what_is_cloud_trail_top_level.html
553
- # @return [Array<String>]
554
- #
555
- # @!attribute [rw] relationships
556
- # A list of related AWS resources.
557
- # @return [Array<Types::Relationship>]
558
- #
559
- # @!attribute [rw] configuration
560
- # The description of the resource configuration.
561
- # @return [String]
562
- #
563
- # @!attribute [rw] supplementary_configuration
564
- # Configuration attributes that AWS Config returns for certain
565
- # resource types to supplement the information returned for the
566
- # `configuration` parameter.
567
- # @return [Hash<String,String>]
568
- class ConfigurationItem < Struct.new(
569
- :version,
570
- :account_id,
571
- :configuration_item_capture_time,
572
- :configuration_item_status,
573
- :configuration_state_id,
574
- :configuration_item_md5_hash,
575
- :arn,
576
- :resource_type,
577
- :resource_id,
578
- :resource_name,
579
- :aws_region,
580
- :availability_zone,
581
- :resource_creation_time,
582
- :tags,
583
- :related_events,
584
- :relationships,
585
- :configuration,
586
- :supplementary_configuration)
587
- include Aws::Structure
588
- end
589
-
590
- # An object that represents the recording of configuration changes of an
591
- # AWS resource.
592
- # @note When making an API call, pass ConfigurationRecorder
593
- # data as a hash:
594
- #
595
- # {
596
- # name: "RecorderName",
597
- # role_arn: "String",
598
- # recording_group: {
599
- # all_supported: false,
600
- # include_global_resource_types: false,
601
- # 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
602
- # },
603
- # }
604
- # @!attribute [rw] name
605
- # The name of the recorder. By default, AWS Config automatically
606
- # assigns the name "default" when creating the configuration
607
- # recorder. You cannot change the assigned name.
608
- # @return [String]
609
- #
610
- # @!attribute [rw] role_arn
611
- # Amazon Resource Name (ARN) of the IAM role used to describe the AWS
612
- # resources associated with the account.
613
- # @return [String]
614
- #
615
- # @!attribute [rw] recording_group
616
- # Specifies the types of AWS resource for which AWS Config records
617
- # configuration changes.
618
- # @return [Types::RecordingGroup]
619
- class ConfigurationRecorder < Struct.new(
620
- :name,
621
- :role_arn,
622
- :recording_group)
623
- include Aws::Structure
624
- end
625
-
626
- # The current status of the configuration recorder.
627
- # @!attribute [rw] name
628
- # The name of the configuration recorder.
629
- # @return [String]
630
- #
631
- # @!attribute [rw] last_start_time
632
- # The time the recorder was last started.
633
- # @return [Time]
634
- #
635
- # @!attribute [rw] last_stop_time
636
- # The time the recorder was last stopped.
637
- # @return [Time]
638
- #
639
- # @!attribute [rw] recording
640
- # Specifies whether the recorder is currently recording or not.
641
- # @return [Boolean]
642
- #
643
- # @!attribute [rw] last_status
644
- # The last (previous) status of the recorder.
645
- # @return [String]
646
- #
647
- # @!attribute [rw] last_error_code
648
- # The error code indicating that the recording failed.
649
- # @return [String]
650
- #
651
- # @!attribute [rw] last_error_message
652
- # The message indicating that the recording failed due to an error.
653
- # @return [String]
654
- #
655
- # @!attribute [rw] last_status_change_time
656
- # The time when the status was last changed.
657
- # @return [Time]
658
- class ConfigurationRecorderStatus < Struct.new(
659
- :name,
660
- :last_start_time,
661
- :last_stop_time,
662
- :recording,
663
- :last_status,
664
- :last_error_code,
665
- :last_error_message,
666
- :last_status_change_time)
667
- include Aws::Structure
668
- end
669
-
670
- # @note When making an API call, pass DeleteConfigRuleRequest
671
- # data as a hash:
672
- #
673
- # {
674
- # config_rule_name: "StringWithCharLimit64", # required
675
- # }
676
- # @!attribute [rw] config_rule_name
677
- # The name of the AWS Config rule that you want to delete.
678
- # @return [String]
679
- class DeleteConfigRuleRequest < Struct.new(
680
- :config_rule_name)
681
- include Aws::Structure
682
- end
683
-
684
- # The request object for the `DeleteConfigurationRecorder` action.
685
- # @note When making an API call, pass DeleteConfigurationRecorderRequest
686
- # data as a hash:
687
- #
688
- # {
689
- # configuration_recorder_name: "RecorderName", # required
690
- # }
691
- # @!attribute [rw] configuration_recorder_name
692
- # The name of the configuration recorder to be deleted. You can
693
- # retrieve the name of your configuration recorder by using the
694
- # `DescribeConfigurationRecorders` action.
695
- # @return [String]
696
- class DeleteConfigurationRecorderRequest < Struct.new(
697
- :configuration_recorder_name)
698
- include Aws::Structure
699
- end
700
-
701
- # The input for the DeleteDeliveryChannel action. The action accepts the
702
- # following data in JSON format.
703
- # @note When making an API call, pass DeleteDeliveryChannelRequest
704
- # data as a hash:
705
- #
706
- # {
707
- # delivery_channel_name: "ChannelName", # required
708
- # }
709
- # @!attribute [rw] delivery_channel_name
710
- # The name of the delivery channel to delete.
711
- # @return [String]
712
- class DeleteDeliveryChannelRequest < Struct.new(
713
- :delivery_channel_name)
714
- include Aws::Structure
715
- end
716
-
717
- # @note When making an API call, pass DeleteEvaluationResultsRequest
718
- # data as a hash:
719
- #
720
- # {
721
- # config_rule_name: "StringWithCharLimit64", # required
722
- # }
723
- # @!attribute [rw] config_rule_name
724
- # The name of the Config rule for which you want to delete the
725
- # evaluation results.
726
- # @return [String]
727
- class DeleteEvaluationResultsRequest < Struct.new(
728
- :config_rule_name)
729
- include Aws::Structure
730
- end
731
-
732
- # The output when you delete the evaluation results for the specified
733
- # Config rule.
734
- class DeleteEvaluationResultsResponse < Aws::EmptyStructure; end
735
-
736
- # The input for the DeliverConfigSnapshot action.
737
- # @note When making an API call, pass DeliverConfigSnapshotRequest
738
- # data as a hash:
739
- #
740
- # {
741
- # delivery_channel_name: "ChannelName", # required
742
- # }
743
- # @!attribute [rw] delivery_channel_name
744
- # The name of the delivery channel through which the snapshot is
745
- # delivered.
746
- # @return [String]
747
- class DeliverConfigSnapshotRequest < Struct.new(
748
- :delivery_channel_name)
749
- include Aws::Structure
750
- end
751
-
752
- # The output for the DeliverConfigSnapshot action in JSON format.
753
- # @!attribute [rw] config_snapshot_id
754
- # The ID of the snapshot that is being created.
755
- # @return [String]
756
- class DeliverConfigSnapshotResponse < Struct.new(
757
- :config_snapshot_id)
758
- include Aws::Structure
759
- end
760
-
761
- # The channel through which AWS Config delivers notifications and
762
- # updated configuration states.
763
- # @note When making an API call, pass DeliveryChannel
764
- # data as a hash:
765
- #
766
- # {
767
- # name: "ChannelName",
768
- # s3_bucket_name: "String",
769
- # s3_key_prefix: "String",
770
- # sns_topic_arn: "String",
771
- # config_snapshot_delivery_properties: {
772
- # delivery_frequency: "One_Hour", # accepts One_Hour, Three_Hours, Six_Hours, Twelve_Hours, TwentyFour_Hours
773
- # },
774
- # }
775
- # @!attribute [rw] name
776
- # The name of the delivery channel. By default, AWS Config assigns the
777
- # name "default" when creating the delivery channel. To change the
778
- # delivery channel name, you must use the DeleteDeliveryChannel action
779
- # to delete your current delivery channel, and then you must use the
780
- # PutDeliveryChannel command to create a delivery channel that has the
781
- # desired name.
782
- # @return [String]
783
- #
784
- # @!attribute [rw] s3_bucket_name
785
- # The name of the Amazon S3 bucket to which AWS Config delivers
786
- # configuration snapshots and configuration history files.
787
- #
788
- # If you specify a bucket that belongs to another AWS account, that
789
- # bucket must have policies that grant access permissions to AWS
790
- # Config. For more information, see [Permissions for the Amazon S3
791
- # Bucket][1] in the AWS Config Developer Guide.
792
- #
793
- #
794
- #
795
- # [1]: http://docs.aws.amazon.com/config/latest/developerguide/s3-bucket-policy.html
796
- # @return [String]
797
- #
798
- # @!attribute [rw] s3_key_prefix
799
- # The prefix for the specified Amazon S3 bucket.
800
- # @return [String]
801
- #
802
- # @!attribute [rw] sns_topic_arn
803
- # The Amazon Resource Name (ARN) of the Amazon SNS topic to which AWS
804
- # Config sends notifications about configuration changes.
805
- #
806
- # If you choose a topic from another account, the topic must have
807
- # policies that grant access permissions to AWS Config. For more
808
- # information, see [Permissions for the Amazon SNS Topic][1] in the
809
- # AWS Config Developer Guide.
810
- #
811
- #
812
- #
813
- # [1]: http://docs.aws.amazon.com/config/latest/developerguide/sns-topic-policy.html
814
- # @return [String]
815
- #
816
- # @!attribute [rw] config_snapshot_delivery_properties
817
- # Provides options for how often AWS Config delivers configuration
818
- # snapshots to the Amazon S3 bucket in your delivery channel.
819
- #
820
- # <note markdown="1"> If you want to create a rule that triggers evaluations for your
821
- # resources when AWS Config delivers the configuration snapshot, see
822
- # the following:
823
- #
824
- # </note>
825
- #
826
- # The frequency for a rule that triggers evaluations for your
827
- # resources when AWS Config delivers the configuration snapshot is set
828
- # by one of two values, depending on which is less frequent:
829
- #
830
- # * The value for the `deliveryFrequency` parameter within the
831
- # delivery channel configuration, which sets how often AWS Config
832
- # delivers configuration snapshots. This value also sets how often
833
- # AWS Config invokes evaluations for Config rules.
834
- #
835
- # * The value for the `MaximumExecutionFrequency` parameter, which
836
- # sets the maximum frequency with which AWS Config invokes
837
- # evaluations for the rule. For more information, see ConfigRule.
838
- #
839
- # If the `deliveryFrequency` value is less frequent than the
840
- # `MaximumExecutionFrequency` value for a rule, AWS Config invokes the
841
- # rule only as often as the `deliveryFrequency` value.
842
- #
843
- # 1. For example, you want your rule to run evaluations when AWS
844
- # Config delivers the configuration snapshot.
845
- #
846
- # 2. You specify the `MaximumExecutionFrequency` value for
847
- # `Six_Hours`.
848
- #
849
- # 3. You then specify the delivery channel `deliveryFrequency` value
850
- # for `TwentyFour_Hours`.
851
- #
852
- # 4. Because the value for `deliveryFrequency` is less frequent than
853
- # `MaximumExecutionFrequency`, AWS Config invokes evaluations for
854
- # the rule every 24 hours.
855
- #
856
- # You should set the `MaximumExecutionFrequency` value to be at least
857
- # as frequent as the `deliveryFrequency` value. You can view the
858
- # `deliveryFrequency` value by using the `DescribeDeliveryChannnels`
859
- # action.
860
- #
861
- # To update the `deliveryFrequency` with which AWS Config delivers
862
- # your configuration snapshots, use the `PutDeliveryChannel` action.
863
- # @return [Types::ConfigSnapshotDeliveryProperties]
864
- class DeliveryChannel < Struct.new(
865
- :name,
866
- :s3_bucket_name,
867
- :s3_key_prefix,
868
- :sns_topic_arn,
869
- :config_snapshot_delivery_properties)
870
- include Aws::Structure
871
- end
872
-
873
- # The status of a specified delivery channel.
874
- #
875
- # Valid values: `Success` \| `Failure`
876
- # @!attribute [rw] name
877
- # The name of the delivery channel.
878
- # @return [String]
879
- #
880
- # @!attribute [rw] config_snapshot_delivery_info
881
- # A list containing the status of the delivery of the snapshot to the
882
- # specified Amazon S3 bucket.
883
- # @return [Types::ConfigExportDeliveryInfo]
884
- #
885
- # @!attribute [rw] config_history_delivery_info
886
- # A list that contains the status of the delivery of the configuration
887
- # history to the specified Amazon S3 bucket.
888
- # @return [Types::ConfigExportDeliveryInfo]
889
- #
890
- # @!attribute [rw] config_stream_delivery_info
891
- # A list containing the status of the delivery of the configuration
892
- # stream notification to the specified Amazon SNS topic.
893
- # @return [Types::ConfigStreamDeliveryInfo]
894
- class DeliveryChannelStatus < Struct.new(
895
- :name,
896
- :config_snapshot_delivery_info,
897
- :config_history_delivery_info,
898
- :config_stream_delivery_info)
899
- include Aws::Structure
900
- end
901
-
902
- # @note When making an API call, pass DescribeComplianceByConfigRuleRequest
903
- # data as a hash:
904
- #
905
- # {
906
- # config_rule_names: ["StringWithCharLimit64"],
907
- # compliance_types: ["COMPLIANT"], # accepts COMPLIANT, NON_COMPLIANT, NOT_APPLICABLE, INSUFFICIENT_DATA
908
- # next_token: "String",
909
- # }
910
- # @!attribute [rw] config_rule_names
911
- # Specify one or more AWS Config rule names to filter the results by
912
- # rule.
913
- # @return [Array<String>]
914
- #
915
- # @!attribute [rw] compliance_types
916
- # Filters the results by compliance.
917
- #
918
- # The allowed values are `COMPLIANT`, `NON_COMPLIANT`, and
919
- # `INSUFFICIENT_DATA`.
920
- # @return [Array<String>]
921
- #
922
- # @!attribute [rw] next_token
923
- # The `nextToken` string returned on a previous page that you use to
924
- # get the next page of results in a paginated response.
925
- # @return [String]
926
- class DescribeComplianceByConfigRuleRequest < Struct.new(
927
- :config_rule_names,
928
- :compliance_types,
929
- :next_token)
930
- include Aws::Structure
931
- end
932
-
933
- # @!attribute [rw] compliance_by_config_rules
934
- # Indicates whether each of the specified AWS Config rules is
935
- # compliant.
936
- # @return [Array<Types::ComplianceByConfigRule>]
937
- #
938
- # @!attribute [rw] next_token
939
- # The string that you use in a subsequent request to get the next page
940
- # of results in a paginated response.
941
- # @return [String]
942
- class DescribeComplianceByConfigRuleResponse < Struct.new(
943
- :compliance_by_config_rules,
944
- :next_token)
945
- include Aws::Structure
946
- end
947
-
948
- # @note When making an API call, pass DescribeComplianceByResourceRequest
949
- # data as a hash:
950
- #
951
- # {
952
- # resource_type: "StringWithCharLimit256",
953
- # resource_id: "StringWithCharLimit256",
954
- # compliance_types: ["COMPLIANT"], # accepts COMPLIANT, NON_COMPLIANT, NOT_APPLICABLE, INSUFFICIENT_DATA
955
- # limit: 1,
956
- # next_token: "NextToken",
957
- # }
958
- # @!attribute [rw] resource_type
959
- # The types of AWS resources for which you want compliance
960
- # information; for example, `AWS::EC2::Instance`. For this action, you
961
- # can specify that the resource type is an AWS account by specifying
962
- # `AWS::::Account`.
963
- # @return [String]
964
- #
965
- # @!attribute [rw] resource_id
966
- # The ID of the AWS resource for which you want compliance
967
- # information. You can specify only one resource ID. If you specify a
968
- # resource ID, you must also specify a type for `ResourceType`.
969
- # @return [String]
970
- #
971
- # @!attribute [rw] compliance_types
972
- # Filters the results by compliance.
973
- #
974
- # The allowed values are `COMPLIANT`, `NON_COMPLIANT`, and
975
- # `INSUFFICIENT_DATA`.
976
- # @return [Array<String>]
977
- #
978
- # @!attribute [rw] limit
979
- # The maximum number of evaluation results returned on each page. The
980
- # default is 10. You cannot specify a limit greater than 100. If you
981
- # specify 0, AWS Config uses the default.
982
- # @return [Integer]
983
- #
984
- # @!attribute [rw] next_token
985
- # The `nextToken` string returned on a previous page that you use to
986
- # get the next page of results in a paginated response.
987
- # @return [String]
988
- class DescribeComplianceByResourceRequest < Struct.new(
989
- :resource_type,
990
- :resource_id,
991
- :compliance_types,
992
- :limit,
993
- :next_token)
994
- include Aws::Structure
995
- end
996
-
997
- # @!attribute [rw] compliance_by_resources
998
- # Indicates whether the specified AWS resource complies with all of
999
- # the AWS Config rules that evaluate it.
1000
- # @return [Array<Types::ComplianceByResource>]
1001
- #
1002
- # @!attribute [rw] next_token
1003
- # The string that you use in a subsequent request to get the next page
1004
- # of results in a paginated response.
1005
- # @return [String]
1006
- class DescribeComplianceByResourceResponse < Struct.new(
1007
- :compliance_by_resources,
1008
- :next_token)
1009
- include Aws::Structure
1010
- end
1011
-
1012
- # @note When making an API call, pass DescribeConfigRuleEvaluationStatusRequest
1013
- # data as a hash:
1014
- #
1015
- # {
1016
- # config_rule_names: ["StringWithCharLimit64"],
1017
- # next_token: "String",
1018
- # limit: 1,
1019
- # }
1020
- # @!attribute [rw] config_rule_names
1021
- # The name of the AWS managed Config rules for which you want status
1022
- # information. If you do not specify any names, AWS Config returns
1023
- # status information for all AWS managed Config rules that you use.
1024
- # @return [Array<String>]
1025
- #
1026
- # @!attribute [rw] next_token
1027
- # The `NextToken` string returned on a previous page that you use to
1028
- # get the next page of results in a paginated response.
1029
- # @return [String]
1030
- #
1031
- # @!attribute [rw] limit
1032
- # The number of rule evaluation results that you want returned.
1033
- #
1034
- # This parameter is required if the rule limit for your account is
1035
- # more than the default of 50 rules.
1036
- #
1037
- # For more information about requesting a rule limit increase, see
1038
- # [AWS Config Limits][1] in the *AWS General Reference Guide*.
1039
- #
1040
- #
1041
- #
1042
- # [1]: http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_config
1043
- # @return [Integer]
1044
- class DescribeConfigRuleEvaluationStatusRequest < Struct.new(
1045
- :config_rule_names,
1046
- :next_token,
1047
- :limit)
1048
- include Aws::Structure
1049
- end
1050
-
1051
- # @!attribute [rw] config_rules_evaluation_status
1052
- # Status information about your AWS managed Config rules.
1053
- # @return [Array<Types::ConfigRuleEvaluationStatus>]
1054
- #
1055
- # @!attribute [rw] next_token
1056
- # The string that you use in a subsequent request to get the next page
1057
- # of results in a paginated response.
1058
- # @return [String]
1059
- class DescribeConfigRuleEvaluationStatusResponse < Struct.new(
1060
- :config_rules_evaluation_status,
1061
- :next_token)
1062
- include Aws::Structure
1063
- end
1064
-
1065
- # @note When making an API call, pass DescribeConfigRulesRequest
1066
- # data as a hash:
1067
- #
1068
- # {
1069
- # config_rule_names: ["StringWithCharLimit64"],
1070
- # next_token: "String",
1071
- # }
1072
- # @!attribute [rw] config_rule_names
1073
- # The names of the AWS Config rules for which you want details. If you
1074
- # do not specify any names, AWS Config returns details for all your
1075
- # rules.
1076
- # @return [Array<String>]
1077
- #
1078
- # @!attribute [rw] next_token
1079
- # The `nextToken` string returned on a previous page that you use to
1080
- # get the next page of results in a paginated response.
1081
- # @return [String]
1082
- class DescribeConfigRulesRequest < Struct.new(
1083
- :config_rule_names,
1084
- :next_token)
1085
- include Aws::Structure
1086
- end
1087
-
1088
- # @!attribute [rw] config_rules
1089
- # The details about your AWS Config rules.
1090
- # @return [Array<Types::ConfigRule>]
1091
- #
1092
- # @!attribute [rw] next_token
1093
- # The string that you use in a subsequent request to get the next page
1094
- # of results in a paginated response.
1095
- # @return [String]
1096
- class DescribeConfigRulesResponse < Struct.new(
1097
- :config_rules,
1098
- :next_token)
1099
- include Aws::Structure
1100
- end
1101
-
1102
- # The input for the DescribeConfigurationRecorderStatus action.
1103
- # @note When making an API call, pass DescribeConfigurationRecorderStatusRequest
1104
- # data as a hash:
1105
- #
1106
- # {
1107
- # configuration_recorder_names: ["RecorderName"],
1108
- # }
1109
- # @!attribute [rw] configuration_recorder_names
1110
- # The name(s) of the configuration recorder. If the name is not
1111
- # specified, the action returns the current status of all the
1112
- # configuration recorders associated with the account.
1113
- # @return [Array<String>]
1114
- class DescribeConfigurationRecorderStatusRequest < Struct.new(
1115
- :configuration_recorder_names)
1116
- include Aws::Structure
1117
- end
1118
-
1119
- # The output for the DescribeConfigurationRecorderStatus action in JSON
1120
- # format.
1121
- # @!attribute [rw] configuration_recorders_status
1122
- # A list that contains status of the specified recorders.
1123
- # @return [Array<Types::ConfigurationRecorderStatus>]
1124
- class DescribeConfigurationRecorderStatusResponse < Struct.new(
1125
- :configuration_recorders_status)
1126
- include Aws::Structure
1127
- end
1128
-
1129
- # The input for the DescribeConfigurationRecorders action.
1130
- # @note When making an API call, pass DescribeConfigurationRecordersRequest
1131
- # data as a hash:
1132
- #
1133
- # {
1134
- # configuration_recorder_names: ["RecorderName"],
1135
- # }
1136
- # @!attribute [rw] configuration_recorder_names
1137
- # A list of configuration recorder names.
1138
- # @return [Array<String>]
1139
- class DescribeConfigurationRecordersRequest < Struct.new(
1140
- :configuration_recorder_names)
1141
- include Aws::Structure
1142
- end
1143
-
1144
- # The output for the DescribeConfigurationRecorders action.
1145
- # @!attribute [rw] configuration_recorders
1146
- # A list that contains the descriptions of the specified configuration
1147
- # recorders.
1148
- # @return [Array<Types::ConfigurationRecorder>]
1149
- class DescribeConfigurationRecordersResponse < Struct.new(
1150
- :configuration_recorders)
1151
- include Aws::Structure
1152
- end
1153
-
1154
- # The input for the DeliveryChannelStatus action.
1155
- # @note When making an API call, pass DescribeDeliveryChannelStatusRequest
1156
- # data as a hash:
1157
- #
1158
- # {
1159
- # delivery_channel_names: ["ChannelName"],
1160
- # }
1161
- # @!attribute [rw] delivery_channel_names
1162
- # A list of delivery channel names.
1163
- # @return [Array<String>]
1164
- class DescribeDeliveryChannelStatusRequest < Struct.new(
1165
- :delivery_channel_names)
1166
- include Aws::Structure
1167
- end
1168
-
1169
- # The output for the DescribeDeliveryChannelStatus action.
1170
- # @!attribute [rw] delivery_channels_status
1171
- # A list that contains the status of a specified delivery channel.
1172
- # @return [Array<Types::DeliveryChannelStatus>]
1173
- class DescribeDeliveryChannelStatusResponse < Struct.new(
1174
- :delivery_channels_status)
1175
- include Aws::Structure
1176
- end
1177
-
1178
- # The input for the DescribeDeliveryChannels action.
1179
- # @note When making an API call, pass DescribeDeliveryChannelsRequest
1180
- # data as a hash:
1181
- #
1182
- # {
1183
- # delivery_channel_names: ["ChannelName"],
1184
- # }
1185
- # @!attribute [rw] delivery_channel_names
1186
- # A list of delivery channel names.
1187
- # @return [Array<String>]
1188
- class DescribeDeliveryChannelsRequest < Struct.new(
1189
- :delivery_channel_names)
1190
- include Aws::Structure
1191
- end
1192
-
1193
- # The output for the DescribeDeliveryChannels action.
1194
- # @!attribute [rw] delivery_channels
1195
- # A list that contains the descriptions of the specified delivery
1196
- # channel.
1197
- # @return [Array<Types::DeliveryChannel>]
1198
- class DescribeDeliveryChannelsResponse < Struct.new(
1199
- :delivery_channels)
1200
- include Aws::Structure
1201
- end
1202
-
1203
- # Identifies an AWS resource and indicates whether it complies with the
1204
- # AWS Config rule that it was evaluated against.
1205
- # @note When making an API call, pass Evaluation
1206
- # data as a hash:
1207
- #
1208
- # {
1209
- # compliance_resource_type: "StringWithCharLimit256", # required
1210
- # compliance_resource_id: "StringWithCharLimit256", # required
1211
- # compliance_type: "COMPLIANT", # required, accepts COMPLIANT, NON_COMPLIANT, NOT_APPLICABLE, INSUFFICIENT_DATA
1212
- # annotation: "StringWithCharLimit256",
1213
- # ordering_timestamp: Time.now, # required
1214
- # }
1215
- # @!attribute [rw] compliance_resource_type
1216
- # The type of AWS resource that was evaluated.
1217
- # @return [String]
1218
- #
1219
- # @!attribute [rw] compliance_resource_id
1220
- # The ID of the AWS resource that was evaluated.
1221
- # @return [String]
1222
- #
1223
- # @!attribute [rw] compliance_type
1224
- # Indicates whether the AWS resource complies with the AWS Config rule
1225
- # that it was evaluated against.
1226
- #
1227
- # For the `Evaluation` data type, AWS Config supports only the
1228
- # `COMPLIANT`, `NON_COMPLIANT`, and `NOT_APPLICABLE` values. AWS
1229
- # Config does not support the `INSUFFICIENT_DATA` value for this data
1230
- # type.
1231
- #
1232
- # Similarly, AWS Config does not accept `INSUFFICIENT_DATA` as the
1233
- # value for `ComplianceType` from a `PutEvaluations` request. For
1234
- # example, an AWS Lambda function for a custom Config rule cannot pass
1235
- # an `INSUFFICIENT_DATA` value to AWS Config.
1236
- # @return [String]
1237
- #
1238
- # @!attribute [rw] annotation
1239
- # Supplementary information about how the evaluation determined the
1240
- # compliance.
1241
- # @return [String]
1242
- #
1243
- # @!attribute [rw] ordering_timestamp
1244
- # The time of the event in AWS Config that triggered the evaluation.
1245
- # For event-based evaluations, the time indicates when AWS Config
1246
- # created the configuration item that triggered the evaluation. For
1247
- # periodic evaluations, the time indicates when AWS Config triggered
1248
- # the evaluation at the frequency that you specified (for example,
1249
- # every 24 hours).
1250
- # @return [Time]
1251
- class Evaluation < Struct.new(
1252
- :compliance_resource_type,
1253
- :compliance_resource_id,
1254
- :compliance_type,
1255
- :annotation,
1256
- :ordering_timestamp)
1257
- include Aws::Structure
1258
- end
1259
-
1260
- # The details of an AWS Config evaluation. Provides the AWS resource
1261
- # that was evaluated, the compliance of the resource, related
1262
- # timestamps, and supplementary information.
1263
- # @!attribute [rw] evaluation_result_identifier
1264
- # Uniquely identifies the evaluation result.
1265
- # @return [Types::EvaluationResultIdentifier]
1266
- #
1267
- # @!attribute [rw] compliance_type
1268
- # Indicates whether the AWS resource complies with the AWS Config rule
1269
- # that evaluated it.
1270
- #
1271
- # For the `EvaluationResult` data type, AWS Config supports only the
1272
- # `COMPLIANT`, `NON_COMPLIANT`, and `NOT_APPLICABLE` values. AWS
1273
- # Config does not support the `INSUFFICIENT_DATA` value for the
1274
- # `EvaluationResult` data type.
1275
- # @return [String]
1276
- #
1277
- # @!attribute [rw] result_recorded_time
1278
- # The time when AWS Config recorded the evaluation result.
1279
- # @return [Time]
1280
- #
1281
- # @!attribute [rw] config_rule_invoked_time
1282
- # The time when the AWS Config rule evaluated the AWS resource.
1283
- # @return [Time]
1284
- #
1285
- # @!attribute [rw] annotation
1286
- # Supplementary information about how the evaluation determined the
1287
- # compliance.
1288
- # @return [String]
1289
- #
1290
- # @!attribute [rw] result_token
1291
- # An encrypted token that associates an evaluation with an AWS Config
1292
- # rule. The token identifies the rule, the AWS resource being
1293
- # evaluated, and the event that triggered the evaluation.
1294
- # @return [String]
1295
- class EvaluationResult < Struct.new(
1296
- :evaluation_result_identifier,
1297
- :compliance_type,
1298
- :result_recorded_time,
1299
- :config_rule_invoked_time,
1300
- :annotation,
1301
- :result_token)
1302
- include Aws::Structure
1303
- end
1304
-
1305
- # Uniquely identifies an evaluation result.
1306
- # @!attribute [rw] evaluation_result_qualifier
1307
- # Identifies an AWS Config rule used to evaluate an AWS resource, and
1308
- # provides the type and ID of the evaluated resource.
1309
- # @return [Types::EvaluationResultQualifier]
1310
- #
1311
- # @!attribute [rw] ordering_timestamp
1312
- # The time of the event that triggered the evaluation of your AWS
1313
- # resources. The time can indicate when AWS Config delivered a
1314
- # configuration item change notification, or it can indicate when AWS
1315
- # Config delivered the configuration snapshot, depending on which
1316
- # event triggered the evaluation.
1317
- # @return [Time]
1318
- class EvaluationResultIdentifier < Struct.new(
1319
- :evaluation_result_qualifier,
1320
- :ordering_timestamp)
1321
- include Aws::Structure
1322
- end
1323
-
1324
- # Identifies an AWS Config rule that evaluated an AWS resource, and
1325
- # provides the type and ID of the resource that the rule evaluated.
1326
- # @!attribute [rw] config_rule_name
1327
- # The name of the AWS Config rule that was used in the evaluation.
1328
- # @return [String]
1329
- #
1330
- # @!attribute [rw] resource_type
1331
- # The type of AWS resource that was evaluated.
1332
- # @return [String]
1333
- #
1334
- # @!attribute [rw] resource_id
1335
- # The ID of the evaluated AWS resource.
1336
- # @return [String]
1337
- class EvaluationResultQualifier < Struct.new(
1338
- :config_rule_name,
1339
- :resource_type,
1340
- :resource_id)
1341
- include Aws::Structure
1342
- end
1343
-
1344
- # @note When making an API call, pass GetComplianceDetailsByConfigRuleRequest
1345
- # data as a hash:
1346
- #
1347
- # {
1348
- # config_rule_name: "StringWithCharLimit64", # required
1349
- # compliance_types: ["COMPLIANT"], # accepts COMPLIANT, NON_COMPLIANT, NOT_APPLICABLE, INSUFFICIENT_DATA
1350
- # limit: 1,
1351
- # next_token: "NextToken",
1352
- # }
1353
- # @!attribute [rw] config_rule_name
1354
- # The name of the AWS Config rule for which you want compliance
1355
- # information.
1356
- # @return [String]
1357
- #
1358
- # @!attribute [rw] compliance_types
1359
- # Filters the results by compliance.
1360
- #
1361
- # The allowed values are `COMPLIANT`, `NON_COMPLIANT`, and
1362
- # `NOT_APPLICABLE`.
1363
- # @return [Array<String>]
1364
- #
1365
- # @!attribute [rw] limit
1366
- # The maximum number of evaluation results returned on each page. The
1367
- # default is 10. You cannot specify a limit greater than 100. If you
1368
- # specify 0, AWS Config uses the default.
1369
- # @return [Integer]
1370
- #
1371
- # @!attribute [rw] next_token
1372
- # The `nextToken` string returned on a previous page that you use to
1373
- # get the next page of results in a paginated response.
1374
- # @return [String]
1375
- class GetComplianceDetailsByConfigRuleRequest < Struct.new(
1376
- :config_rule_name,
1377
- :compliance_types,
1378
- :limit,
1379
- :next_token)
1380
- include Aws::Structure
1381
- end
1382
-
1383
- # @!attribute [rw] evaluation_results
1384
- # Indicates whether the AWS resource complies with the specified AWS
1385
- # Config rule.
1386
- # @return [Array<Types::EvaluationResult>]
1387
- #
1388
- # @!attribute [rw] next_token
1389
- # The string that you use in a subsequent request to get the next page
1390
- # of results in a paginated response.
1391
- # @return [String]
1392
- class GetComplianceDetailsByConfigRuleResponse < Struct.new(
1393
- :evaluation_results,
1394
- :next_token)
1395
- include Aws::Structure
1396
- end
1397
-
1398
- # @note When making an API call, pass GetComplianceDetailsByResourceRequest
1399
- # data as a hash:
1400
- #
1401
- # {
1402
- # resource_type: "StringWithCharLimit256", # required
1403
- # resource_id: "StringWithCharLimit256", # required
1404
- # compliance_types: ["COMPLIANT"], # accepts COMPLIANT, NON_COMPLIANT, NOT_APPLICABLE, INSUFFICIENT_DATA
1405
- # next_token: "String",
1406
- # }
1407
- # @!attribute [rw] resource_type
1408
- # The type of the AWS resource for which you want compliance
1409
- # information.
1410
- # @return [String]
1411
- #
1412
- # @!attribute [rw] resource_id
1413
- # The ID of the AWS resource for which you want compliance
1414
- # information.
1415
- # @return [String]
1416
- #
1417
- # @!attribute [rw] compliance_types
1418
- # Filters the results by compliance.
1419
- #
1420
- # The allowed values are `COMPLIANT`, `NON_COMPLIANT`, and
1421
- # `NOT_APPLICABLE`.
1422
- # @return [Array<String>]
1423
- #
1424
- # @!attribute [rw] next_token
1425
- # The `nextToken` string returned on a previous page that you use to
1426
- # get the next page of results in a paginated response.
1427
- # @return [String]
1428
- class GetComplianceDetailsByResourceRequest < Struct.new(
1429
- :resource_type,
1430
- :resource_id,
1431
- :compliance_types,
1432
- :next_token)
1433
- include Aws::Structure
1434
- end
1435
-
1436
- # @!attribute [rw] evaluation_results
1437
- # Indicates whether the specified AWS resource complies each AWS
1438
- # Config rule.
1439
- # @return [Array<Types::EvaluationResult>]
1440
- #
1441
- # @!attribute [rw] next_token
1442
- # The string that you use in a subsequent request to get the next page
1443
- # of results in a paginated response.
1444
- # @return [String]
1445
- class GetComplianceDetailsByResourceResponse < Struct.new(
1446
- :evaluation_results,
1447
- :next_token)
1448
- include Aws::Structure
1449
- end
1450
-
1451
- # @!attribute [rw] compliance_summary
1452
- # The number of AWS Config rules that are compliant and the number
1453
- # that are noncompliant, up to a maximum of 25 for each.
1454
- # @return [Types::ComplianceSummary]
1455
- class GetComplianceSummaryByConfigRuleResponse < Struct.new(
1456
- :compliance_summary)
1457
- include Aws::Structure
1458
- end
1459
-
1460
- # @note When making an API call, pass GetComplianceSummaryByResourceTypeRequest
1461
- # data as a hash:
1462
- #
1463
- # {
1464
- # resource_types: ["StringWithCharLimit256"],
1465
- # }
1466
- # @!attribute [rw] resource_types
1467
- # Specify one or more resource types to get the number of resources
1468
- # that are compliant and the number that are noncompliant for each
1469
- # resource type.
1470
- #
1471
- # For this request, you can specify an AWS resource type such as
1472
- # `AWS::EC2::Instance`, and you can specify that the resource type is
1473
- # an AWS account by specifying `AWS::::Account`.
1474
- # @return [Array<String>]
1475
- class GetComplianceSummaryByResourceTypeRequest < Struct.new(
1476
- :resource_types)
1477
- include Aws::Structure
1478
- end
1479
-
1480
- # @!attribute [rw] compliance_summaries_by_resource_type
1481
- # The number of resources that are compliant and the number that are
1482
- # noncompliant. If one or more resource types were provided with the
1483
- # request, the numbers are returned for each resource type. The
1484
- # maximum number returned is 100.
1485
- # @return [Array<Types::ComplianceSummaryByResourceType>]
1486
- class GetComplianceSummaryByResourceTypeResponse < Struct.new(
1487
- :compliance_summaries_by_resource_type)
1488
- include Aws::Structure
1489
- end
1490
-
1491
- # The input for the GetResourceConfigHistory action.
1492
- # @note When making an API call, pass GetResourceConfigHistoryRequest
1493
- # data as a hash:
1494
- #
1495
- # {
1496
- # 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
1497
- # resource_id: "ResourceId", # required
1498
- # later_time: Time.now,
1499
- # earlier_time: Time.now,
1500
- # chronological_order: "Reverse", # accepts Reverse, Forward
1501
- # limit: 1,
1502
- # next_token: "NextToken",
1503
- # }
1504
- # @!attribute [rw] resource_type
1505
- # The resource type.
1506
- # @return [String]
1507
- #
1508
- # @!attribute [rw] resource_id
1509
- # The ID of the resource (for example., `sg-xxxxxx`).
1510
- # @return [String]
1511
- #
1512
- # @!attribute [rw] later_time
1513
- # The time stamp that indicates a later time. If not specified,
1514
- # current time is taken.
1515
- # @return [Time]
1516
- #
1517
- # @!attribute [rw] earlier_time
1518
- # The time stamp that indicates an earlier time. If not specified, the
1519
- # action returns paginated results that contain configuration items
1520
- # that start from when the first configuration item was recorded.
1521
- # @return [Time]
1522
- #
1523
- # @!attribute [rw] chronological_order
1524
- # The chronological order for configuration items listed. By default
1525
- # the results are listed in reverse chronological order.
1526
- # @return [String]
1527
- #
1528
- # @!attribute [rw] limit
1529
- # The maximum number of configuration items returned on each page. The
1530
- # default is 10. You cannot specify a limit greater than 100. If you
1531
- # specify 0, AWS Config uses the default.
1532
- # @return [Integer]
1533
- #
1534
- # @!attribute [rw] next_token
1535
- # The `nextToken` string returned on a previous page that you use to
1536
- # get the next page of results in a paginated response.
1537
- # @return [String]
1538
- class GetResourceConfigHistoryRequest < Struct.new(
1539
- :resource_type,
1540
- :resource_id,
1541
- :later_time,
1542
- :earlier_time,
1543
- :chronological_order,
1544
- :limit,
1545
- :next_token)
1546
- include Aws::Structure
1547
- end
1548
-
1549
- # The output for the GetResourceConfigHistory action.
1550
- # @!attribute [rw] configuration_items
1551
- # A list that contains the configuration history of one or more
1552
- # resources.
1553
- # @return [Array<Types::ConfigurationItem>]
1554
- #
1555
- # @!attribute [rw] next_token
1556
- # The string that you use in a subsequent request to get the next page
1557
- # of results in a paginated response.
1558
- # @return [String]
1559
- class GetResourceConfigHistoryResponse < Struct.new(
1560
- :configuration_items,
1561
- :next_token)
1562
- include Aws::Structure
1563
- end
1564
-
1565
- # @note When making an API call, pass ListDiscoveredResourcesRequest
1566
- # data as a hash:
1567
- #
1568
- # {
1569
- # 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
1570
- # resource_ids: ["ResourceId"],
1571
- # resource_name: "ResourceName",
1572
- # limit: 1,
1573
- # include_deleted_resources: false,
1574
- # next_token: "NextToken",
1575
- # }
1576
- # @!attribute [rw] resource_type
1577
- # The type of resources that you want AWS Config to list in the
1578
- # response.
1579
- # @return [String]
1580
- #
1581
- # @!attribute [rw] resource_ids
1582
- # The IDs of only those resources that you want AWS Config to list in
1583
- # the response. If you do not specify this parameter, AWS Config lists
1584
- # all resources of the specified type that it has discovered.
1585
- # @return [Array<String>]
1586
- #
1587
- # @!attribute [rw] resource_name
1588
- # The custom name of only those resources that you want AWS Config to
1589
- # list in the response. If you do not specify this parameter, AWS
1590
- # Config lists all resources of the specified type that it has
1591
- # discovered.
1592
- # @return [String]
1593
- #
1594
- # @!attribute [rw] limit
1595
- # The maximum number of resource identifiers returned on each page.
1596
- # The default is 100. You cannot specify a limit greater than 100. If
1597
- # you specify 0, AWS Config uses the default.
1598
- # @return [Integer]
1599
- #
1600
- # @!attribute [rw] include_deleted_resources
1601
- # Specifies whether AWS Config includes deleted resources in the
1602
- # results. By default, deleted resources are not included.
1603
- # @return [Boolean]
1604
- #
1605
- # @!attribute [rw] next_token
1606
- # The `nextToken` string returned on a previous page that you use to
1607
- # get the next page of results in a paginated response.
1608
- # @return [String]
1609
- class ListDiscoveredResourcesRequest < Struct.new(
1610
- :resource_type,
1611
- :resource_ids,
1612
- :resource_name,
1613
- :limit,
1614
- :include_deleted_resources,
1615
- :next_token)
1616
- include Aws::Structure
1617
- end
1618
-
1619
- # @!attribute [rw] resource_identifiers
1620
- # The details that identify a resource that is discovered by AWS
1621
- # Config, including the resource type, ID, and (if available) the
1622
- # custom resource name.
1623
- # @return [Array<Types::ResourceIdentifier>]
1624
- #
1625
- # @!attribute [rw] next_token
1626
- # The string that you use in a subsequent request to get the next page
1627
- # of results in a paginated response.
1628
- # @return [String]
1629
- class ListDiscoveredResourcesResponse < Struct.new(
1630
- :resource_identifiers,
1631
- :next_token)
1632
- include Aws::Structure
1633
- end
1634
-
1635
- # @note When making an API call, pass PutConfigRuleRequest
1636
- # data as a hash:
1637
- #
1638
- # {
1639
- # config_rule: { # required
1640
- # config_rule_name: "StringWithCharLimit64",
1641
- # config_rule_arn: "String",
1642
- # config_rule_id: "String",
1643
- # description: "EmptiableStringWithCharLimit256",
1644
- # scope: {
1645
- # compliance_resource_types: ["StringWithCharLimit256"],
1646
- # tag_key: "StringWithCharLimit128",
1647
- # tag_value: "StringWithCharLimit256",
1648
- # compliance_resource_id: "StringWithCharLimit256",
1649
- # },
1650
- # source: { # required
1651
- # owner: "CUSTOM_LAMBDA", # required, accepts CUSTOM_LAMBDA, AWS
1652
- # source_identifier: "StringWithCharLimit256", # required
1653
- # source_details: [
1654
- # {
1655
- # event_source: "aws.config", # accepts aws.config
1656
- # message_type: "ConfigurationItemChangeNotification", # accepts ConfigurationItemChangeNotification, ConfigurationSnapshotDeliveryCompleted, ScheduledNotification
1657
- # maximum_execution_frequency: "One_Hour", # accepts One_Hour, Three_Hours, Six_Hours, Twelve_Hours, TwentyFour_Hours
1658
- # },
1659
- # ],
1660
- # },
1661
- # input_parameters: "StringWithCharLimit1024",
1662
- # maximum_execution_frequency: "One_Hour", # accepts One_Hour, Three_Hours, Six_Hours, Twelve_Hours, TwentyFour_Hours
1663
- # config_rule_state: "ACTIVE", # accepts ACTIVE, DELETING, DELETING_RESULTS, EVALUATING
1664
- # },
1665
- # }
1666
- # @!attribute [rw] config_rule
1667
- # An AWS Config rule represents an AWS Lambda function that you create
1668
- # for a custom rule or a predefined function for an AWS managed rule.
1669
- # The function evaluates configuration items to assess whether your
1670
- # AWS resources comply with your desired configurations. This function
1671
- # can run when AWS Config detects a configuration change to an AWS
1672
- # resource and at a periodic frequency that you choose (for example,
1673
- # every 24 hours).
1674
- #
1675
- # <note markdown="1"> You can use the AWS CLI and AWS SDKs if you want to create a rule
1676
- # that triggers evaluations for your resources when AWS Config
1677
- # delivers the configuration snapshot. For more information, see
1678
- # ConfigSnapshotDeliveryProperties.
1679
- #
1680
- # </note>
1681
- #
1682
- # For more information about developing and using AWS Config rules,
1683
- # see [Evaluating AWS Resource Configurations with AWS Config][1] in
1684
- # the *AWS Config Developer Guide*.
1685
- #
1686
- #
1687
- #
1688
- # [1]: http://docs.aws.amazon.com/config/latest/developerguide/evaluate-config.html
1689
- # @return [Types::ConfigRule]
1690
- class PutConfigRuleRequest < Struct.new(
1691
- :config_rule)
1692
- include Aws::Structure
1693
- end
1694
-
1695
- # The input for the PutConfigurationRecorder action.
1696
- # @note When making an API call, pass PutConfigurationRecorderRequest
1697
- # data as a hash:
1698
- #
1699
- # {
1700
- # configuration_recorder: { # required
1701
- # name: "RecorderName",
1702
- # role_arn: "String",
1703
- # recording_group: {
1704
- # all_supported: false,
1705
- # include_global_resource_types: false,
1706
- # 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
1707
- # },
1708
- # },
1709
- # }
1710
- # @!attribute [rw] configuration_recorder
1711
- # The configuration recorder object that records each configuration
1712
- # change made to the resources.
1713
- # @return [Types::ConfigurationRecorder]
1714
- class PutConfigurationRecorderRequest < Struct.new(
1715
- :configuration_recorder)
1716
- include Aws::Structure
1717
- end
1718
-
1719
- # The input for the PutDeliveryChannel action.
1720
- # @note When making an API call, pass PutDeliveryChannelRequest
1721
- # data as a hash:
1722
- #
1723
- # {
1724
- # delivery_channel: { # required
1725
- # name: "ChannelName",
1726
- # s3_bucket_name: "String",
1727
- # s3_key_prefix: "String",
1728
- # sns_topic_arn: "String",
1729
- # config_snapshot_delivery_properties: {
1730
- # delivery_frequency: "One_Hour", # accepts One_Hour, Three_Hours, Six_Hours, Twelve_Hours, TwentyFour_Hours
1731
- # },
1732
- # },
1733
- # }
1734
- # @!attribute [rw] delivery_channel
1735
- # The configuration delivery channel object that delivers the
1736
- # configuration information to an Amazon S3 bucket, and to an Amazon
1737
- # SNS topic.
1738
- # @return [Types::DeliveryChannel]
1739
- class PutDeliveryChannelRequest < Struct.new(
1740
- :delivery_channel)
1741
- include Aws::Structure
1742
- end
1743
-
1744
- # @note When making an API call, pass PutEvaluationsRequest
1745
- # data as a hash:
1746
- #
1747
- # {
1748
- # evaluations: [
1749
- # {
1750
- # compliance_resource_type: "StringWithCharLimit256", # required
1751
- # compliance_resource_id: "StringWithCharLimit256", # required
1752
- # compliance_type: "COMPLIANT", # required, accepts COMPLIANT, NON_COMPLIANT, NOT_APPLICABLE, INSUFFICIENT_DATA
1753
- # annotation: "StringWithCharLimit256",
1754
- # ordering_timestamp: Time.now, # required
1755
- # },
1756
- # ],
1757
- # result_token: "String", # required
1758
- # }
1759
- # @!attribute [rw] evaluations
1760
- # The assessments that the AWS Lambda function performs. Each
1761
- # evaluation identifies an AWS resource and indicates whether it
1762
- # complies with the AWS Config rule that invokes the AWS Lambda
1763
- # function.
1764
- # @return [Array<Types::Evaluation>]
1765
- #
1766
- # @!attribute [rw] result_token
1767
- # An encrypted token that associates an evaluation with an AWS Config
1768
- # rule. Identifies the rule and the event that triggered the
1769
- # evaluation
1770
- # @return [String]
1771
- class PutEvaluationsRequest < Struct.new(
1772
- :evaluations,
1773
- :result_token)
1774
- include Aws::Structure
1775
- end
1776
-
1777
- # @!attribute [rw] failed_evaluations
1778
- # Requests that failed because of a client or server error.
1779
- # @return [Array<Types::Evaluation>]
1780
- class PutEvaluationsResponse < Struct.new(
1781
- :failed_evaluations)
1782
- include Aws::Structure
1783
- end
1784
-
1785
- # Specifies the types of AWS resource for which AWS Config records
1786
- # configuration changes.
1787
- #
1788
- # In the recording group, you specify whether all supported types or
1789
- # specific types of resources are recorded.
1790
- #
1791
- # By default, AWS Config records configuration changes for all supported
1792
- # types of regional resources that AWS Config discovers in the region in
1793
- # which it is running. Regional resources are tied to a region and can
1794
- # be used only in that region. Examples of regional resources are EC2
1795
- # instances and EBS volumes.
1796
- #
1797
- # You can also have AWS Config record configuration changes for
1798
- # supported types of global resources (for example, IAM resources).
1799
- # Global resources are not tied to an individual region and can be used
1800
- # in all regions.
1801
- #
1802
- # The configuration details for any global resource are the same in all
1803
- # regions. If you customize AWS Config in multiple regions to record
1804
- # global resources, it will create multiple configuration items each
1805
- # time a global resource changes: one configuration item for each
1806
- # region. These configuration items will contain identical data. To
1807
- # prevent duplicate configuration items, you should consider customizing
1808
- # AWS Config in only one region to record global resources, unless you
1809
- # want the configuration items to be available in multiple regions.
1810
- #
1811
- # If you don't want AWS Config to record all resources, you can specify
1812
- # which types of resources it will record with the `resourceTypes`
1813
- # parameter.
1814
- #
1815
- # For a list of supported resource types, see [Supported resource
1816
- # types][1].
1817
- #
1818
- # For more information, see [Selecting Which Resources AWS Config
1819
- # Records][2].
1820
- #
1821
- #
1822
- #
1823
- # [1]: http://docs.aws.amazon.com/config/latest/developerguide/resource-config-reference.html#supported-resources
1824
- # [2]: http://docs.aws.amazon.com/config/latest/developerguide/select-resources.html
1825
- # @note When making an API call, pass RecordingGroup
1826
- # data as a hash:
1827
- #
1828
- # {
1829
- # all_supported: false,
1830
- # include_global_resource_types: false,
1831
- # 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
1832
- # }
1833
- # @!attribute [rw] all_supported
1834
- # Specifies whether AWS Config records configuration changes for every
1835
- # supported type of regional resource.
1836
- #
1837
- # If you set this option to `true`, when AWS Config adds support for a
1838
- # new type of regional resource, it automatically starts recording
1839
- # resources of that type.
1840
- #
1841
- # If you set this option to `true`, you cannot enumerate a list of
1842
- # `resourceTypes`.
1843
- # @return [Boolean]
1844
- #
1845
- # @!attribute [rw] include_global_resource_types
1846
- # Specifies whether AWS Config includes all supported types of global
1847
- # resources (for example, IAM resources) with the resources that it
1848
- # records.
1849
- #
1850
- # Before you can set this option to `true`, you must set the
1851
- # `allSupported` option to `true`.
1852
- #
1853
- # If you set this option to `true`, when AWS Config adds support for a
1854
- # new type of global resource, it automatically starts recording
1855
- # resources of that type.
1856
- #
1857
- # The configuration details for any global resource are the same in
1858
- # all regions. To prevent duplicate configuration items, you should
1859
- # consider customizing AWS Config in only one region to record global
1860
- # resources.
1861
- # @return [Boolean]
1862
- #
1863
- # @!attribute [rw] resource_types
1864
- # A comma-separated list that specifies the types of AWS resources for
1865
- # which AWS Config records configuration changes (for example,
1866
- # `AWS::EC2::Instance` or `AWS::CloudTrail::Trail`).
1867
- #
1868
- # Before you can set this option to `true`, you must set the
1869
- # `allSupported` option to `false`.
1870
- #
1871
- # If you set this option to `true`, when AWS Config adds support for a
1872
- # new type of resource, it will not record resources of that type
1873
- # unless you manually add that type to your recording group.
1874
- #
1875
- # For a list of valid `resourceTypes` values, see the **resourceType
1876
- # Value** column in [Supported AWS Resource Types][1].
1877
- #
1878
- #
1879
- #
1880
- # [1]: http://docs.aws.amazon.com/config/latest/developerguide/resource-config-reference.html#supported-resources
1881
- # @return [Array<String>]
1882
- class RecordingGroup < Struct.new(
1883
- :all_supported,
1884
- :include_global_resource_types,
1885
- :resource_types)
1886
- include Aws::Structure
1887
- end
1888
-
1889
- # The relationship of the related resource to the main resource.
1890
- # @!attribute [rw] resource_type
1891
- # The resource type of the related resource.
1892
- # @return [String]
1893
- #
1894
- # @!attribute [rw] resource_id
1895
- # The ID of the related resource (for example, `sg-xxxxxx`).
1896
- # @return [String]
1897
- #
1898
- # @!attribute [rw] resource_name
1899
- # The custom name of the related resource, if available.
1900
- # @return [String]
1901
- #
1902
- # @!attribute [rw] relationship_name
1903
- # The type of relationship with the related resource.
1904
- # @return [String]
1905
- class Relationship < Struct.new(
1906
- :resource_type,
1907
- :resource_id,
1908
- :resource_name,
1909
- :relationship_name)
1910
- include Aws::Structure
1911
- end
1912
-
1913
- # The details that identify a resource that is discovered by AWS Config,
1914
- # including the resource type, ID, and (if available) the custom
1915
- # resource name.
1916
- # @!attribute [rw] resource_type
1917
- # The type of resource.
1918
- # @return [String]
1919
- #
1920
- # @!attribute [rw] resource_id
1921
- # The ID of the resource (for example., `sg-xxxxxx`).
1922
- # @return [String]
1923
- #
1924
- # @!attribute [rw] resource_name
1925
- # The custom name of the resource (if available).
1926
- # @return [String]
1927
- #
1928
- # @!attribute [rw] resource_deletion_time
1929
- # The time that the resource was deleted.
1930
- # @return [Time]
1931
- class ResourceIdentifier < Struct.new(
1932
- :resource_type,
1933
- :resource_id,
1934
- :resource_name,
1935
- :resource_deletion_time)
1936
- include Aws::Structure
1937
- end
1938
-
1939
- # Defines which resources trigger an evaluation for an AWS Config rule.
1940
- # The scope can include one or more resource types, a combination of a
1941
- # tag key and value, or a combination of one resource type and one
1942
- # resource ID. Specify a scope to constrain which resources trigger an
1943
- # evaluation for a rule. Otherwise, evaluations for the rule are
1944
- # triggered when any resource in your recording group changes in
1945
- # configuration.
1946
- # @note When making an API call, pass Scope
1947
- # data as a hash:
1948
- #
1949
- # {
1950
- # compliance_resource_types: ["StringWithCharLimit256"],
1951
- # tag_key: "StringWithCharLimit128",
1952
- # tag_value: "StringWithCharLimit256",
1953
- # compliance_resource_id: "StringWithCharLimit256",
1954
- # }
1955
- # @!attribute [rw] compliance_resource_types
1956
- # The resource types of only those AWS resources that you want to
1957
- # trigger an evaluation for the rule. You can only specify one type if
1958
- # you also specify a resource ID for `ComplianceResourceId`.
1959
- # @return [Array<String>]
1960
- #
1961
- # @!attribute [rw] tag_key
1962
- # The tag key that is applied to only those AWS resources that you
1963
- # want you want to trigger an evaluation for the rule.
1964
- # @return [String]
1965
- #
1966
- # @!attribute [rw] tag_value
1967
- # The tag value applied to only those AWS resources that you want to
1968
- # trigger an evaluation for the rule. If you specify a value for
1969
- # `TagValue`, you must also specify a value for `TagKey`.
1970
- # @return [String]
1971
- #
1972
- # @!attribute [rw] compliance_resource_id
1973
- # The IDs of the only AWS resource that you want to trigger an
1974
- # evaluation for the rule. If you specify a resource ID, you must
1975
- # specify one resource type for `ComplianceResourceTypes`.
1976
- # @return [String]
1977
- class Scope < Struct.new(
1978
- :compliance_resource_types,
1979
- :tag_key,
1980
- :tag_value,
1981
- :compliance_resource_id)
1982
- include Aws::Structure
1983
- end
1984
-
1985
- # Provides the AWS Config rule owner (AWS or customer), the rule
1986
- # identifier, and the events that trigger the evaluation of your AWS
1987
- # resources.
1988
- # @note When making an API call, pass Source
1989
- # data as a hash:
1990
- #
1991
- # {
1992
- # owner: "CUSTOM_LAMBDA", # required, accepts CUSTOM_LAMBDA, AWS
1993
- # source_identifier: "StringWithCharLimit256", # required
1994
- # source_details: [
1995
- # {
1996
- # event_source: "aws.config", # accepts aws.config
1997
- # message_type: "ConfigurationItemChangeNotification", # accepts ConfigurationItemChangeNotification, ConfigurationSnapshotDeliveryCompleted, ScheduledNotification
1998
- # maximum_execution_frequency: "One_Hour", # accepts One_Hour, Three_Hours, Six_Hours, Twelve_Hours, TwentyFour_Hours
1999
- # },
2000
- # ],
2001
- # }
2002
- # @!attribute [rw] owner
2003
- # Indicates whether AWS or the customer owns and manages the AWS
2004
- # Config rule.
2005
- # @return [String]
2006
- #
2007
- # @!attribute [rw] source_identifier
2008
- # For AWS Config managed rules, a predefined identifier from a list.
2009
- # For example, `IAM_PASSWORD_POLICY` is a managed rule. To reference a
2010
- # managed rule, see [Using AWS Managed Config Rules][1].
2011
- #
2012
- # For custom rules, the identifier is the Amazon Resource Name (ARN)
2013
- # of the rule's AWS Lambda function, such as
2014
- # `arn:aws:lambda:us-east-1:123456789012:function:custom_rule_name`.
2015
- #
2016
- #
2017
- #
2018
- # [1]: http://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_use-managed-rules.html
2019
- # @return [String]
2020
- #
2021
- # @!attribute [rw] source_details
2022
- # Provides the source and type of the event that causes AWS Config to
2023
- # evaluate your AWS resources.
2024
- # @return [Array<Types::SourceDetail>]
2025
- class Source < Struct.new(
2026
- :owner,
2027
- :source_identifier,
2028
- :source_details)
2029
- include Aws::Structure
2030
- end
2031
-
2032
- # Provides the source and the message types that trigger AWS Config to
2033
- # evaluate your AWS resources against a rule. It also provides the
2034
- # frequency with which you want AWS Config to run evaluations for the
2035
- # rule if the trigger type is periodic. You can specify the parameter
2036
- # values for `SourceDetail` only for custom rules.
2037
- # @note When making an API call, pass SourceDetail
2038
- # data as a hash:
2039
- #
2040
- # {
2041
- # event_source: "aws.config", # accepts aws.config
2042
- # message_type: "ConfigurationItemChangeNotification", # accepts ConfigurationItemChangeNotification, ConfigurationSnapshotDeliveryCompleted, ScheduledNotification
2043
- # maximum_execution_frequency: "One_Hour", # accepts One_Hour, Three_Hours, Six_Hours, Twelve_Hours, TwentyFour_Hours
2044
- # }
2045
- # @!attribute [rw] event_source
2046
- # The source of the event, such as an AWS service, that triggers AWS
2047
- # Config to evaluate your AWS resources.
2048
- # @return [String]
2049
- #
2050
- # @!attribute [rw] message_type
2051
- # The type of notification that triggers AWS Config to run an
2052
- # evaluation. You can specify the following notification types:
2053
- #
2054
- # `ConfigurationItemChangeNotification` - Triggers an evaluation when
2055
- # AWS Config delivers a configuration item change notification.
2056
- #
2057
- # `ScheduledNotification` - Triggers a periodic evaluation at the
2058
- # frequency specified for `MaximumExecutionFrequency`.
2059
- #
2060
- # `ConfigurationSnapshotDeliveryCompleted` - Triggers a periodic
2061
- # evaluation when AWS Config delivers a configuration snapshot.
2062
- # @return [String]
2063
- #
2064
- # @!attribute [rw] maximum_execution_frequency
2065
- # The frequency that you want AWS Config to run evaluations for a rule
2066
- # that is triggered periodically. If you specify a value for
2067
- # `MaximumExecutionFrequency`, then `MessageType` must use the
2068
- # `ScheduledNotification` value.
2069
- # @return [String]
2070
- class SourceDetail < Struct.new(
2071
- :event_source,
2072
- :message_type,
2073
- :maximum_execution_frequency)
2074
- include Aws::Structure
2075
- end
2076
-
2077
- # @note When making an API call, pass StartConfigRulesEvaluationRequest
2078
- # data as a hash:
2079
- #
2080
- # {
2081
- # config_rule_names: ["StringWithCharLimit64"],
2082
- # }
2083
- # @!attribute [rw] config_rule_names
2084
- # The list of names of Config rules that you want to run evaluations
2085
- # for.
2086
- # @return [Array<String>]
2087
- class StartConfigRulesEvaluationRequest < Struct.new(
2088
- :config_rule_names)
2089
- include Aws::Structure
2090
- end
2091
-
2092
- # The output when you start the evaluation for the specified Config
2093
- # rule.
2094
- class StartConfigRulesEvaluationResponse < Aws::EmptyStructure; end
2095
-
2096
- # The input for the StartConfigurationRecorder action.
2097
- # @note When making an API call, pass StartConfigurationRecorderRequest
2098
- # data as a hash:
2099
- #
2100
- # {
2101
- # configuration_recorder_name: "RecorderName", # required
2102
- # }
2103
- # @!attribute [rw] configuration_recorder_name
2104
- # The name of the recorder object that records each configuration
2105
- # change made to the resources.
2106
- # @return [String]
2107
- class StartConfigurationRecorderRequest < Struct.new(
2108
- :configuration_recorder_name)
2109
- include Aws::Structure
2110
- end
2111
-
2112
- # The input for the StopConfigurationRecorder action.
2113
- # @note When making an API call, pass StopConfigurationRecorderRequest
2114
- # data as a hash:
2115
- #
2116
- # {
2117
- # configuration_recorder_name: "RecorderName", # required
2118
- # }
2119
- # @!attribute [rw] configuration_recorder_name
2120
- # The name of the recorder object that records each configuration
2121
- # change made to the resources.
2122
- # @return [String]
2123
- class StopConfigurationRecorderRequest < Struct.new(
2124
- :configuration_recorder_name)
2125
- include Aws::Structure
2126
- end
8
+ module Aws::ConfigService
9
+ module Types
10
+
11
+ # Indicates whether an AWS resource or AWS Config rule is compliant and
12
+ # provides the number of contributors that affect the compliance.
13
+ #
14
+ # @!attribute [rw] compliance_type
15
+ # Indicates whether an AWS resource or AWS Config rule is compliant.
16
+ #
17
+ # A resource is compliant if it complies with all of the AWS Config
18
+ # rules that evaluate it, and it is noncompliant if it does not comply
19
+ # with one or more of these rules.
20
+ #
21
+ # A rule is compliant if all of the resources that the rule evaluates
22
+ # comply with it, and it is noncompliant if any of these resources do
23
+ # not comply.
24
+ #
25
+ # AWS Config returns the `INSUFFICIENT_DATA` value when no evaluation
26
+ # results are available for the AWS resource or Config rule.
27
+ #
28
+ # For the `Compliance` data type, AWS Config supports only
29
+ # `COMPLIANT`, `NON_COMPLIANT`, and `INSUFFICIENT_DATA` values. AWS
30
+ # Config does not support the `NOT_APPLICABLE` value for the
31
+ # `Compliance` data type.
32
+ # @return [String]
33
+ #
34
+ # @!attribute [rw] compliance_contributor_count
35
+ # The number of AWS resources or AWS Config rules that cause a result
36
+ # of `NON_COMPLIANT`, up to a maximum number.
37
+ # @return [Types::ComplianceContributorCount]
38
+ #
39
+ class Compliance < Struct.new(
40
+ :compliance_type,
41
+ :compliance_contributor_count)
42
+ include Aws::Structure
43
+ end
44
+
45
+ # Indicates whether an AWS Config rule is compliant. A rule is compliant
46
+ # if all of the resources that the rule evaluated comply with it, and it
47
+ # is noncompliant if any of these resources do not comply.
48
+ #
49
+ # @!attribute [rw] config_rule_name
50
+ # The name of the AWS Config rule.
51
+ # @return [String]
52
+ #
53
+ # @!attribute [rw] compliance
54
+ # Indicates whether the AWS Config rule is compliant.
55
+ # @return [Types::Compliance]
56
+ #
57
+ class ComplianceByConfigRule < Struct.new(
58
+ :config_rule_name,
59
+ :compliance)
60
+ include Aws::Structure
61
+ end
62
+
63
+ # Indicates whether an AWS resource that is evaluated according to one
64
+ # or more AWS Config rules is compliant. A resource is compliant if it
65
+ # complies with all of the rules that evaluate it, and it is
66
+ # noncompliant if it does not comply with one or more of these rules.
67
+ #
68
+ # @!attribute [rw] resource_type
69
+ # The type of the AWS resource that was evaluated.
70
+ # @return [String]
71
+ #
72
+ # @!attribute [rw] resource_id
73
+ # The ID of the AWS resource that was evaluated.
74
+ # @return [String]
75
+ #
76
+ # @!attribute [rw] compliance
77
+ # Indicates whether the AWS resource complies with all of the AWS
78
+ # Config rules that evaluated it.
79
+ # @return [Types::Compliance]
80
+ #
81
+ class ComplianceByResource < Struct.new(
82
+ :resource_type,
83
+ :resource_id,
84
+ :compliance)
85
+ include Aws::Structure
86
+ end
87
+
88
+ # The number of AWS resources or AWS Config rules responsible for the
89
+ # current compliance of the item, up to a maximum number.
90
+ #
91
+ # @!attribute [rw] capped_count
92
+ # The number of AWS resources or AWS Config rules responsible for the
93
+ # current compliance of the item.
94
+ # @return [Integer]
95
+ #
96
+ # @!attribute [rw] cap_exceeded
97
+ # Indicates whether the maximum count is reached.
98
+ # @return [Boolean]
99
+ #
100
+ class ComplianceContributorCount < Struct.new(
101
+ :capped_count,
102
+ :cap_exceeded)
103
+ include Aws::Structure
104
+ end
105
+
106
+ # The number of AWS Config rules or AWS resources that are compliant and
107
+ # noncompliant.
108
+ #
109
+ # @!attribute [rw] compliant_resource_count
110
+ # The number of AWS Config rules or AWS resources that are compliant,
111
+ # up to a maximum of 25 for rules and 100 for resources.
112
+ # @return [Types::ComplianceContributorCount]
113
+ #
114
+ # @!attribute [rw] non_compliant_resource_count
115
+ # The number of AWS Config rules or AWS resources that are
116
+ # noncompliant, up to a maximum of 25 for rules and 100 for resources.
117
+ # @return [Types::ComplianceContributorCount]
118
+ #
119
+ # @!attribute [rw] compliance_summary_timestamp
120
+ # The time that AWS Config created the compliance summary.
121
+ # @return [Time]
122
+ #
123
+ class ComplianceSummary < Struct.new(
124
+ :compliant_resource_count,
125
+ :non_compliant_resource_count,
126
+ :compliance_summary_timestamp)
127
+ include Aws::Structure
128
+ end
129
+
130
+ # The number of AWS resources of a specific type that are compliant or
131
+ # noncompliant, up to a maximum of 100 for each compliance.
132
+ #
133
+ # @!attribute [rw] resource_type
134
+ # The type of AWS resource.
135
+ # @return [String]
136
+ #
137
+ # @!attribute [rw] compliance_summary
138
+ # The number of AWS resources that are compliant or noncompliant, up
139
+ # to a maximum of 100 for each compliance.
140
+ # @return [Types::ComplianceSummary]
141
+ #
142
+ class ComplianceSummaryByResourceType < Struct.new(
143
+ :resource_type,
144
+ :compliance_summary)
145
+ include Aws::Structure
146
+ end
147
+
148
+ # A list that contains the status of the delivery of either the snapshot
149
+ # or the configuration history to the specified Amazon S3 bucket.
150
+ #
151
+ # @!attribute [rw] last_status
152
+ # Status of the last attempted delivery.
153
+ # @return [String]
154
+ #
155
+ # @!attribute [rw] last_error_code
156
+ # The error code from the last attempted delivery.
157
+ # @return [String]
158
+ #
159
+ # @!attribute [rw] last_error_message
160
+ # The error message from the last attempted delivery.
161
+ # @return [String]
162
+ #
163
+ # @!attribute [rw] last_attempt_time
164
+ # The time of the last attempted delivery.
165
+ # @return [Time]
166
+ #
167
+ # @!attribute [rw] last_successful_time
168
+ # The time of the last successful delivery.
169
+ # @return [Time]
170
+ #
171
+ # @!attribute [rw] next_delivery_time
172
+ # The time that the next delivery occurs.
173
+ # @return [Time]
174
+ #
175
+ class ConfigExportDeliveryInfo < Struct.new(
176
+ :last_status,
177
+ :last_error_code,
178
+ :last_error_message,
179
+ :last_attempt_time,
180
+ :last_successful_time,
181
+ :next_delivery_time)
182
+ include Aws::Structure
183
+ end
184
+
185
+ # An AWS Config rule represents an AWS Lambda function that you create
186
+ # for a custom rule or a predefined function for an AWS managed rule.
187
+ # The function evaluates configuration items to assess whether your AWS
188
+ # resources comply with your desired configurations. This function can
189
+ # run when AWS Config detects a configuration change to an AWS resource
190
+ # and at a periodic frequency that you choose (for example, every 24
191
+ # hours).
192
+ #
193
+ # <note markdown="1"> You can use the AWS CLI and AWS SDKs if you want to create a rule that
194
+ # triggers evaluations for your resources when AWS Config delivers the
195
+ # configuration snapshot. For more information, see
196
+ # ConfigSnapshotDeliveryProperties.
197
+ #
198
+ # </note>
199
+ #
200
+ # For more information about developing and using AWS Config rules, see
201
+ # [Evaluating AWS Resource Configurations with AWS Config][1] in the
202
+ # *AWS Config Developer Guide*.
203
+ #
204
+ #
205
+ #
206
+ # [1]: http://docs.aws.amazon.com/config/latest/developerguide/evaluate-config.html
207
+ #
208
+ # @note When making an API call, you may pass ConfigRule
209
+ # data as a hash:
210
+ #
211
+ # {
212
+ # config_rule_name: "StringWithCharLimit64",
213
+ # config_rule_arn: "String",
214
+ # config_rule_id: "String",
215
+ # description: "EmptiableStringWithCharLimit256",
216
+ # scope: {
217
+ # compliance_resource_types: ["StringWithCharLimit256"],
218
+ # tag_key: "StringWithCharLimit128",
219
+ # tag_value: "StringWithCharLimit256",
220
+ # compliance_resource_id: "StringWithCharLimit256",
221
+ # },
222
+ # source: { # required
223
+ # owner: "CUSTOM_LAMBDA", # required, accepts CUSTOM_LAMBDA, AWS
224
+ # source_identifier: "StringWithCharLimit256", # required
225
+ # source_details: [
226
+ # {
227
+ # event_source: "aws.config", # accepts aws.config
228
+ # message_type: "ConfigurationItemChangeNotification", # accepts ConfigurationItemChangeNotification, ConfigurationSnapshotDeliveryCompleted, ScheduledNotification, OversizedConfigurationItemChangeNotification
229
+ # maximum_execution_frequency: "One_Hour", # accepts One_Hour, Three_Hours, Six_Hours, Twelve_Hours, TwentyFour_Hours
230
+ # },
231
+ # ],
232
+ # },
233
+ # input_parameters: "StringWithCharLimit1024",
234
+ # maximum_execution_frequency: "One_Hour", # accepts One_Hour, Three_Hours, Six_Hours, Twelve_Hours, TwentyFour_Hours
235
+ # config_rule_state: "ACTIVE", # accepts ACTIVE, DELETING, DELETING_RESULTS, EVALUATING
236
+ # }
237
+ #
238
+ # @!attribute [rw] config_rule_name
239
+ # The name that you assign to the AWS Config rule. The name is
240
+ # required if you are adding a new rule.
241
+ # @return [String]
242
+ #
243
+ # @!attribute [rw] config_rule_arn
244
+ # The Amazon Resource Name (ARN) of the AWS Config rule.
245
+ # @return [String]
246
+ #
247
+ # @!attribute [rw] config_rule_id
248
+ # The ID of the AWS Config rule.
249
+ # @return [String]
250
+ #
251
+ # @!attribute [rw] description
252
+ # The description that you provide for the AWS Config rule.
253
+ # @return [String]
254
+ #
255
+ # @!attribute [rw] scope
256
+ # Defines which resources can trigger an evaluation for the rule. The
257
+ # scope can include one or more resource types, a combination of one
258
+ # resource type and one resource ID, or a combination of a tag key and
259
+ # value. Specify a scope to constrain the resources that can trigger
260
+ # an evaluation for the rule. If you do not specify a scope,
261
+ # evaluations are triggered when any resource in the recording group
262
+ # changes.
263
+ # @return [Types::Scope]
264
+ #
265
+ # @!attribute [rw] source
266
+ # Provides the rule owner (AWS or customer), the rule identifier, and
267
+ # the notifications that cause the function to evaluate your AWS
268
+ # resources.
269
+ # @return [Types::Source]
270
+ #
271
+ # @!attribute [rw] input_parameters
272
+ # A string in JSON format that is passed to the AWS Config rule Lambda
273
+ # function.
274
+ # @return [String]
275
+ #
276
+ # @!attribute [rw] maximum_execution_frequency
277
+ # The maximum frequency with which AWS Config runs evaluations for a
278
+ # rule. You can specify a value for `MaximumExecutionFrequency` when:
279
+ #
280
+ # * You are using an AWS managed rule that is triggered at a periodic
281
+ # frequency.
282
+ #
283
+ # * Your custom rule is triggered when AWS Config delivers the
284
+ # configuration snapshot.
285
+ #
286
+ # For more information, see ConfigSnapshotDeliveryProperties.
287
+ # @return [String]
288
+ #
289
+ # @!attribute [rw] config_rule_state
290
+ # Indicates whether the AWS Config rule is active or is currently
291
+ # being deleted by AWS Config. It can also indicate the evaluation
292
+ # status for the Config rule.
293
+ #
294
+ # AWS Config sets the state of the rule to `EVALUATING` temporarily
295
+ # after you use the `StartConfigRulesEvaluation` request to evaluate
296
+ # your resources against the Config rule.
297
+ #
298
+ # AWS Config sets the state of the rule to `DELETING_RESULTS`
299
+ # temporarily after you use the `DeleteEvaluationResults` request to
300
+ # delete the current evaluation results for the Config rule.
301
+ #
302
+ # AWS Config sets the state of a rule to `DELETING` temporarily after
303
+ # you use the `DeleteConfigRule` request to delete the rule. After AWS
304
+ # Config deletes the rule, the rule and all of its evaluations are
305
+ # erased and are no longer available.
306
+ # @return [String]
307
+ #
308
+ class ConfigRule < Struct.new(
309
+ :config_rule_name,
310
+ :config_rule_arn,
311
+ :config_rule_id,
312
+ :description,
313
+ :scope,
314
+ :source,
315
+ :input_parameters,
316
+ :maximum_execution_frequency,
317
+ :config_rule_state)
318
+ include Aws::Structure
319
+ end
320
+
321
+ # Status information for your AWS managed Config rules. The status
322
+ # includes information such as the last time the rule ran, the last time
323
+ # it failed, and the related error for the last failure.
324
+ #
325
+ # This action does not return status information about custom Config
326
+ # rules.
327
+ #
328
+ # @!attribute [rw] config_rule_name
329
+ # The name of the AWS Config rule.
330
+ # @return [String]
331
+ #
332
+ # @!attribute [rw] config_rule_arn
333
+ # The Amazon Resource Name (ARN) of the AWS Config rule.
334
+ # @return [String]
335
+ #
336
+ # @!attribute [rw] config_rule_id
337
+ # The ID of the AWS Config rule.
338
+ # @return [String]
339
+ #
340
+ # @!attribute [rw] last_successful_invocation_time
341
+ # The time that AWS Config last successfully invoked the AWS Config
342
+ # rule to evaluate your AWS resources.
343
+ # @return [Time]
344
+ #
345
+ # @!attribute [rw] last_failed_invocation_time
346
+ # The time that AWS Config last failed to invoke the AWS Config rule
347
+ # to evaluate your AWS resources.
348
+ # @return [Time]
349
+ #
350
+ # @!attribute [rw] last_successful_evaluation_time
351
+ # The time that AWS Config last successfully evaluated your AWS
352
+ # resources against the rule.
353
+ # @return [Time]
354
+ #
355
+ # @!attribute [rw] last_failed_evaluation_time
356
+ # The time that AWS Config last failed to evaluate your AWS resources
357
+ # against the rule.
358
+ # @return [Time]
359
+ #
360
+ # @!attribute [rw] first_activated_time
361
+ # The time that you first activated the AWS Config rule.
362
+ # @return [Time]
363
+ #
364
+ # @!attribute [rw] last_error_code
365
+ # The error code that AWS Config returned when the rule last failed.
366
+ # @return [String]
367
+ #
368
+ # @!attribute [rw] last_error_message
369
+ # The error message that AWS Config returned when the rule last
370
+ # failed.
371
+ # @return [String]
372
+ #
373
+ # @!attribute [rw] first_evaluation_started
374
+ # Indicates whether AWS Config has evaluated your resources against
375
+ # the rule at least once.
376
+ #
377
+ # * `true` - AWS Config has evaluated your AWS resources against the
378
+ # rule at least once.
379
+ #
380
+ # * `false` - AWS Config has not once finished evaluating your AWS
381
+ # resources against the rule.
382
+ # @return [Boolean]
383
+ #
384
+ class ConfigRuleEvaluationStatus < Struct.new(
385
+ :config_rule_name,
386
+ :config_rule_arn,
387
+ :config_rule_id,
388
+ :last_successful_invocation_time,
389
+ :last_failed_invocation_time,
390
+ :last_successful_evaluation_time,
391
+ :last_failed_evaluation_time,
392
+ :first_activated_time,
393
+ :last_error_code,
394
+ :last_error_message,
395
+ :first_evaluation_started)
396
+ include Aws::Structure
397
+ end
398
+
399
+ # Provides options for how often AWS Config delivers configuration
400
+ # snapshots to the Amazon S3 bucket in your delivery channel.
401
+ #
402
+ # <note markdown="1"> If you want to create a rule that triggers evaluations for your
403
+ # resources when AWS Config delivers the configuration snapshot, see the
404
+ # following:
405
+ #
406
+ # </note>
407
+ #
408
+ # The frequency for a rule that triggers evaluations for your resources
409
+ # when AWS Config delivers the configuration snapshot is set by one of
410
+ # two values, depending on which is less frequent:
411
+ #
412
+ # * The value for the `deliveryFrequency` parameter within the delivery
413
+ # channel configuration, which sets how often AWS Config delivers
414
+ # configuration snapshots. This value also sets how often AWS Config
415
+ # invokes evaluations for Config rules.
416
+ #
417
+ # * The value for the `MaximumExecutionFrequency` parameter, which sets
418
+ # the maximum frequency with which AWS Config invokes evaluations for
419
+ # the rule. For more information, see ConfigRule.
420
+ #
421
+ # If the `deliveryFrequency` value is less frequent than the
422
+ # `MaximumExecutionFrequency` value for a rule, AWS Config invokes the
423
+ # rule only as often as the `deliveryFrequency` value.
424
+ #
425
+ # 1. For example, you want your rule to run evaluations when AWS Config
426
+ # delivers the configuration snapshot.
427
+ #
428
+ # 2. You specify the `MaximumExecutionFrequency` value for `Six_Hours`.
429
+ #
430
+ # 3. You then specify the delivery channel `deliveryFrequency` value
431
+ # for `TwentyFour_Hours`.
432
+ #
433
+ # 4. Because the value for `deliveryFrequency` is less frequent than
434
+ # `MaximumExecutionFrequency`, AWS Config invokes evaluations for
435
+ # the rule every 24 hours.
436
+ #
437
+ # You should set the `MaximumExecutionFrequency` value to be at least as
438
+ # frequent as the `deliveryFrequency` value. You can view the
439
+ # `deliveryFrequency` value by using the `DescribeDeliveryChannnels`
440
+ # action.
441
+ #
442
+ # To update the `deliveryFrequency` with which AWS Config delivers your
443
+ # configuration snapshots, use the `PutDeliveryChannel` action.
444
+ #
445
+ # @note When making an API call, you may pass ConfigSnapshotDeliveryProperties
446
+ # data as a hash:
447
+ #
448
+ # {
449
+ # delivery_frequency: "One_Hour", # accepts One_Hour, Three_Hours, Six_Hours, Twelve_Hours, TwentyFour_Hours
450
+ # }
451
+ #
452
+ # @!attribute [rw] delivery_frequency
453
+ # The frequency with which AWS Config delivers configuration
454
+ # snapshots.
455
+ # @return [String]
456
+ #
457
+ class ConfigSnapshotDeliveryProperties < Struct.new(
458
+ :delivery_frequency)
459
+ include Aws::Structure
460
+ end
461
+
462
+ # A list that contains the status of the delivery of the configuration
463
+ # stream notification to the Amazon SNS topic.
464
+ #
465
+ # @!attribute [rw] last_status
466
+ # Status of the last attempted delivery.
467
+ #
468
+ # **Note** Providing an SNS topic on a [DeliveryChannel][1] for AWS
469
+ # Config is optional. If the SNS delivery is turned off, the last
470
+ # status will be **Not\_Applicable**.
471
+ #
472
+ #
473
+ #
474
+ # [1]: http://docs.aws.amazon.com/config/latest/APIReference/API_DeliveryChannel.html
475
+ # @return [String]
476
+ #
477
+ # @!attribute [rw] last_error_code
478
+ # The error code from the last attempted delivery.
479
+ # @return [String]
480
+ #
481
+ # @!attribute [rw] last_error_message
482
+ # The error message from the last attempted delivery.
483
+ # @return [String]
484
+ #
485
+ # @!attribute [rw] last_status_change_time
486
+ # The time from the last status change.
487
+ # @return [Time]
488
+ #
489
+ class ConfigStreamDeliveryInfo < Struct.new(
490
+ :last_status,
491
+ :last_error_code,
492
+ :last_error_message,
493
+ :last_status_change_time)
494
+ include Aws::Structure
495
+ end
496
+
497
+ # A list that contains detailed configurations of a specified resource.
498
+ #
499
+ # @!attribute [rw] version
500
+ # The version number of the resource configuration.
501
+ # @return [String]
502
+ #
503
+ # @!attribute [rw] account_id
504
+ # The 12 digit AWS account ID associated with the resource.
505
+ # @return [String]
506
+ #
507
+ # @!attribute [rw] configuration_item_capture_time
508
+ # The time when the configuration recording was initiated.
509
+ # @return [Time]
510
+ #
511
+ # @!attribute [rw] configuration_item_status
512
+ # The configuration item status.
513
+ # @return [String]
514
+ #
515
+ # @!attribute [rw] configuration_state_id
516
+ # An identifier that indicates the ordering of the configuration items
517
+ # of a resource.
518
+ # @return [String]
519
+ #
520
+ # @!attribute [rw] configuration_item_md5_hash
521
+ # Unique MD5 hash that represents the configuration item's state.
522
+ #
523
+ # You can use MD5 hash to compare the states of two or more
524
+ # configuration items that are associated with the same resource.
525
+ # @return [String]
526
+ #
527
+ # @!attribute [rw] arn
528
+ # The Amazon Resource Name (ARN) of the resource.
529
+ # @return [String]
530
+ #
531
+ # @!attribute [rw] resource_type
532
+ # The type of AWS resource.
533
+ # @return [String]
534
+ #
535
+ # @!attribute [rw] resource_id
536
+ # The ID of the resource (for example., `sg-xxxxxx`).
537
+ # @return [String]
538
+ #
539
+ # @!attribute [rw] resource_name
540
+ # The custom name of the resource, if available.
541
+ # @return [String]
542
+ #
543
+ # @!attribute [rw] aws_region
544
+ # The region where the resource resides.
545
+ # @return [String]
546
+ #
547
+ # @!attribute [rw] availability_zone
548
+ # The Availability Zone associated with the resource.
549
+ # @return [String]
550
+ #
551
+ # @!attribute [rw] resource_creation_time
552
+ # The time stamp when the resource was created.
553
+ # @return [Time]
554
+ #
555
+ # @!attribute [rw] tags
556
+ # A mapping of key value tags associated with the resource.
557
+ # @return [Hash<String,String>]
558
+ #
559
+ # @!attribute [rw] related_events
560
+ # A list of CloudTrail event IDs.
561
+ #
562
+ # A populated field indicates that the current configuration was
563
+ # initiated by the events recorded in the CloudTrail log. For more
564
+ # information about CloudTrail, see [What is AWS CloudTrail?][1].
565
+ #
566
+ # An empty field indicates that the current configuration was not
567
+ # initiated by any event.
568
+ #
569
+ #
570
+ #
571
+ # [1]: http://docs.aws.amazon.com/awscloudtrail/latest/userguide/what_is_cloud_trail_top_level.html
572
+ # @return [Array<String>]
573
+ #
574
+ # @!attribute [rw] relationships
575
+ # A list of related AWS resources.
576
+ # @return [Array<Types::Relationship>]
577
+ #
578
+ # @!attribute [rw] configuration
579
+ # The description of the resource configuration.
580
+ # @return [String]
581
+ #
582
+ # @!attribute [rw] supplementary_configuration
583
+ # Configuration attributes that AWS Config returns for certain
584
+ # resource types to supplement the information returned for the
585
+ # `configuration` parameter.
586
+ # @return [Hash<String,String>]
587
+ #
588
+ class ConfigurationItem < Struct.new(
589
+ :version,
590
+ :account_id,
591
+ :configuration_item_capture_time,
592
+ :configuration_item_status,
593
+ :configuration_state_id,
594
+ :configuration_item_md5_hash,
595
+ :arn,
596
+ :resource_type,
597
+ :resource_id,
598
+ :resource_name,
599
+ :aws_region,
600
+ :availability_zone,
601
+ :resource_creation_time,
602
+ :tags,
603
+ :related_events,
604
+ :relationships,
605
+ :configuration,
606
+ :supplementary_configuration)
607
+ include Aws::Structure
608
+ end
609
+
610
+ # An object that represents the recording of configuration changes of an
611
+ # AWS resource.
612
+ #
613
+ # @note When making an API call, you may pass ConfigurationRecorder
614
+ # data as a hash:
615
+ #
616
+ # {
617
+ # name: "RecorderName",
618
+ # role_arn: "String",
619
+ # recording_group: {
620
+ # all_supported: false,
621
+ # include_global_resource_types: false,
622
+ # 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
623
+ # },
624
+ # }
625
+ #
626
+ # @!attribute [rw] name
627
+ # The name of the recorder. By default, AWS Config automatically
628
+ # assigns the name "default" when creating the configuration
629
+ # recorder. You cannot change the assigned name.
630
+ # @return [String]
631
+ #
632
+ # @!attribute [rw] role_arn
633
+ # Amazon Resource Name (ARN) of the IAM role used to describe the AWS
634
+ # resources associated with the account.
635
+ # @return [String]
636
+ #
637
+ # @!attribute [rw] recording_group
638
+ # Specifies the types of AWS resource for which AWS Config records
639
+ # configuration changes.
640
+ # @return [Types::RecordingGroup]
641
+ #
642
+ class ConfigurationRecorder < Struct.new(
643
+ :name,
644
+ :role_arn,
645
+ :recording_group)
646
+ include Aws::Structure
647
+ end
648
+
649
+ # The current status of the configuration recorder.
650
+ #
651
+ # @!attribute [rw] name
652
+ # The name of the configuration recorder.
653
+ # @return [String]
654
+ #
655
+ # @!attribute [rw] last_start_time
656
+ # The time the recorder was last started.
657
+ # @return [Time]
658
+ #
659
+ # @!attribute [rw] last_stop_time
660
+ # The time the recorder was last stopped.
661
+ # @return [Time]
662
+ #
663
+ # @!attribute [rw] recording
664
+ # Specifies whether the recorder is currently recording or not.
665
+ # @return [Boolean]
666
+ #
667
+ # @!attribute [rw] last_status
668
+ # The last (previous) status of the recorder.
669
+ # @return [String]
670
+ #
671
+ # @!attribute [rw] last_error_code
672
+ # The error code indicating that the recording failed.
673
+ # @return [String]
674
+ #
675
+ # @!attribute [rw] last_error_message
676
+ # The message indicating that the recording failed due to an error.
677
+ # @return [String]
678
+ #
679
+ # @!attribute [rw] last_status_change_time
680
+ # The time when the status was last changed.
681
+ # @return [Time]
682
+ #
683
+ class ConfigurationRecorderStatus < Struct.new(
684
+ :name,
685
+ :last_start_time,
686
+ :last_stop_time,
687
+ :recording,
688
+ :last_status,
689
+ :last_error_code,
690
+ :last_error_message,
691
+ :last_status_change_time)
692
+ include Aws::Structure
693
+ end
694
+
695
+ # @note When making an API call, you may pass DeleteConfigRuleRequest
696
+ # data as a hash:
697
+ #
698
+ # {
699
+ # config_rule_name: "StringWithCharLimit64", # required
700
+ # }
701
+ #
702
+ # @!attribute [rw] config_rule_name
703
+ # The name of the AWS Config rule that you want to delete.
704
+ # @return [String]
705
+ #
706
+ class DeleteConfigRuleRequest < Struct.new(
707
+ :config_rule_name)
708
+ include Aws::Structure
709
+ end
710
+
711
+ # The request object for the `DeleteConfigurationRecorder` action.
712
+ #
713
+ # @note When making an API call, you may pass DeleteConfigurationRecorderRequest
714
+ # data as a hash:
715
+ #
716
+ # {
717
+ # configuration_recorder_name: "RecorderName", # required
718
+ # }
719
+ #
720
+ # @!attribute [rw] configuration_recorder_name
721
+ # The name of the configuration recorder to be deleted. You can
722
+ # retrieve the name of your configuration recorder by using the
723
+ # `DescribeConfigurationRecorders` action.
724
+ # @return [String]
725
+ #
726
+ class DeleteConfigurationRecorderRequest < Struct.new(
727
+ :configuration_recorder_name)
728
+ include Aws::Structure
729
+ end
730
+
731
+ # The input for the DeleteDeliveryChannel action. The action accepts the
732
+ # following data in JSON format.
733
+ #
734
+ # @note When making an API call, you may pass DeleteDeliveryChannelRequest
735
+ # data as a hash:
736
+ #
737
+ # {
738
+ # delivery_channel_name: "ChannelName", # required
739
+ # }
740
+ #
741
+ # @!attribute [rw] delivery_channel_name
742
+ # The name of the delivery channel to delete.
743
+ # @return [String]
744
+ #
745
+ class DeleteDeliveryChannelRequest < Struct.new(
746
+ :delivery_channel_name)
747
+ include Aws::Structure
748
+ end
749
+
750
+ # @note When making an API call, you may pass DeleteEvaluationResultsRequest
751
+ # data as a hash:
752
+ #
753
+ # {
754
+ # config_rule_name: "StringWithCharLimit64", # required
755
+ # }
756
+ #
757
+ # @!attribute [rw] config_rule_name
758
+ # The name of the Config rule for which you want to delete the
759
+ # evaluation results.
760
+ # @return [String]
761
+ #
762
+ class DeleteEvaluationResultsRequest < Struct.new(
763
+ :config_rule_name)
764
+ include Aws::Structure
765
+ end
766
+
767
+ # The output when you delete the evaluation results for the specified
768
+ # Config rule.
769
+ #
770
+ class DeleteEvaluationResultsResponse < Aws::EmptyStructure; end
771
+
772
+ # The input for the DeliverConfigSnapshot action.
773
+ #
774
+ # @note When making an API call, you may pass DeliverConfigSnapshotRequest
775
+ # data as a hash:
776
+ #
777
+ # {
778
+ # delivery_channel_name: "ChannelName", # required
779
+ # }
780
+ #
781
+ # @!attribute [rw] delivery_channel_name
782
+ # The name of the delivery channel through which the snapshot is
783
+ # delivered.
784
+ # @return [String]
785
+ #
786
+ class DeliverConfigSnapshotRequest < Struct.new(
787
+ :delivery_channel_name)
788
+ include Aws::Structure
789
+ end
790
+
791
+ # The output for the DeliverConfigSnapshot action in JSON format.
792
+ #
793
+ # @!attribute [rw] config_snapshot_id
794
+ # The ID of the snapshot that is being created.
795
+ # @return [String]
796
+ #
797
+ class DeliverConfigSnapshotResponse < Struct.new(
798
+ :config_snapshot_id)
799
+ include Aws::Structure
800
+ end
801
+
802
+ # The channel through which AWS Config delivers notifications and
803
+ # updated configuration states.
804
+ #
805
+ # @note When making an API call, you may pass DeliveryChannel
806
+ # data as a hash:
807
+ #
808
+ # {
809
+ # name: "ChannelName",
810
+ # s3_bucket_name: "String",
811
+ # s3_key_prefix: "String",
812
+ # sns_topic_arn: "String",
813
+ # config_snapshot_delivery_properties: {
814
+ # delivery_frequency: "One_Hour", # accepts One_Hour, Three_Hours, Six_Hours, Twelve_Hours, TwentyFour_Hours
815
+ # },
816
+ # }
817
+ #
818
+ # @!attribute [rw] name
819
+ # The name of the delivery channel. By default, AWS Config assigns the
820
+ # name "default" when creating the delivery channel. To change the
821
+ # delivery channel name, you must use the DeleteDeliveryChannel action
822
+ # to delete your current delivery channel, and then you must use the
823
+ # PutDeliveryChannel command to create a delivery channel that has the
824
+ # desired name.
825
+ # @return [String]
826
+ #
827
+ # @!attribute [rw] s3_bucket_name
828
+ # The name of the Amazon S3 bucket to which AWS Config delivers
829
+ # configuration snapshots and configuration history files.
830
+ #
831
+ # If you specify a bucket that belongs to another AWS account, that
832
+ # bucket must have policies that grant access permissions to AWS
833
+ # Config. For more information, see [Permissions for the Amazon S3
834
+ # Bucket][1] in the AWS Config Developer Guide.
835
+ #
836
+ #
837
+ #
838
+ # [1]: http://docs.aws.amazon.com/config/latest/developerguide/s3-bucket-policy.html
839
+ # @return [String]
840
+ #
841
+ # @!attribute [rw] s3_key_prefix
842
+ # The prefix for the specified Amazon S3 bucket.
843
+ # @return [String]
844
+ #
845
+ # @!attribute [rw] sns_topic_arn
846
+ # The Amazon Resource Name (ARN) of the Amazon SNS topic to which AWS
847
+ # Config sends notifications about configuration changes.
848
+ #
849
+ # If you choose a topic from another account, the topic must have
850
+ # policies that grant access permissions to AWS Config. For more
851
+ # information, see [Permissions for the Amazon SNS Topic][1] in the
852
+ # AWS Config Developer Guide.
853
+ #
854
+ #
855
+ #
856
+ # [1]: http://docs.aws.amazon.com/config/latest/developerguide/sns-topic-policy.html
857
+ # @return [String]
858
+ #
859
+ # @!attribute [rw] config_snapshot_delivery_properties
860
+ # Provides options for how often AWS Config delivers configuration
861
+ # snapshots to the Amazon S3 bucket in your delivery channel.
862
+ #
863
+ # <note markdown="1"> If you want to create a rule that triggers evaluations for your
864
+ # resources when AWS Config delivers the configuration snapshot, see
865
+ # the following:
866
+ #
867
+ # </note>
868
+ #
869
+ # The frequency for a rule that triggers evaluations for your
870
+ # resources when AWS Config delivers the configuration snapshot is set
871
+ # by one of two values, depending on which is less frequent:
872
+ #
873
+ # * The value for the `deliveryFrequency` parameter within the
874
+ # delivery channel configuration, which sets how often AWS Config
875
+ # delivers configuration snapshots. This value also sets how often
876
+ # AWS Config invokes evaluations for Config rules.
877
+ #
878
+ # * The value for the `MaximumExecutionFrequency` parameter, which
879
+ # sets the maximum frequency with which AWS Config invokes
880
+ # evaluations for the rule. For more information, see ConfigRule.
881
+ #
882
+ # If the `deliveryFrequency` value is less frequent than the
883
+ # `MaximumExecutionFrequency` value for a rule, AWS Config invokes the
884
+ # rule only as often as the `deliveryFrequency` value.
885
+ #
886
+ # 1. For example, you want your rule to run evaluations when AWS
887
+ # Config delivers the configuration snapshot.
888
+ #
889
+ # 2. You specify the `MaximumExecutionFrequency` value for
890
+ # `Six_Hours`.
891
+ #
892
+ # 3. You then specify the delivery channel `deliveryFrequency` value
893
+ # for `TwentyFour_Hours`.
894
+ #
895
+ # 4. Because the value for `deliveryFrequency` is less frequent than
896
+ # `MaximumExecutionFrequency`, AWS Config invokes evaluations for
897
+ # the rule every 24 hours.
898
+ #
899
+ # You should set the `MaximumExecutionFrequency` value to be at least
900
+ # as frequent as the `deliveryFrequency` value. You can view the
901
+ # `deliveryFrequency` value by using the `DescribeDeliveryChannnels`
902
+ # action.
903
+ #
904
+ # To update the `deliveryFrequency` with which AWS Config delivers
905
+ # your configuration snapshots, use the `PutDeliveryChannel` action.
906
+ # @return [Types::ConfigSnapshotDeliveryProperties]
907
+ #
908
+ class DeliveryChannel < Struct.new(
909
+ :name,
910
+ :s3_bucket_name,
911
+ :s3_key_prefix,
912
+ :sns_topic_arn,
913
+ :config_snapshot_delivery_properties)
914
+ include Aws::Structure
915
+ end
916
+
917
+ # The status of a specified delivery channel.
918
+ #
919
+ # Valid values: `Success` \| `Failure`
920
+ #
921
+ # @!attribute [rw] name
922
+ # The name of the delivery channel.
923
+ # @return [String]
924
+ #
925
+ # @!attribute [rw] config_snapshot_delivery_info
926
+ # A list containing the status of the delivery of the snapshot to the
927
+ # specified Amazon S3 bucket.
928
+ # @return [Types::ConfigExportDeliveryInfo]
929
+ #
930
+ # @!attribute [rw] config_history_delivery_info
931
+ # A list that contains the status of the delivery of the configuration
932
+ # history to the specified Amazon S3 bucket.
933
+ # @return [Types::ConfigExportDeliveryInfo]
934
+ #
935
+ # @!attribute [rw] config_stream_delivery_info
936
+ # A list containing the status of the delivery of the configuration
937
+ # stream notification to the specified Amazon SNS topic.
938
+ # @return [Types::ConfigStreamDeliveryInfo]
939
+ #
940
+ class DeliveryChannelStatus < Struct.new(
941
+ :name,
942
+ :config_snapshot_delivery_info,
943
+ :config_history_delivery_info,
944
+ :config_stream_delivery_info)
945
+ include Aws::Structure
946
+ end
947
+
948
+ # @note When making an API call, you may pass DescribeComplianceByConfigRuleRequest
949
+ # data as a hash:
950
+ #
951
+ # {
952
+ # config_rule_names: ["StringWithCharLimit64"],
953
+ # compliance_types: ["COMPLIANT"], # accepts COMPLIANT, NON_COMPLIANT, NOT_APPLICABLE, INSUFFICIENT_DATA
954
+ # next_token: "String",
955
+ # }
956
+ #
957
+ # @!attribute [rw] config_rule_names
958
+ # Specify one or more AWS Config rule names to filter the results by
959
+ # rule.
960
+ # @return [Array<String>]
961
+ #
962
+ # @!attribute [rw] compliance_types
963
+ # Filters the results by compliance.
964
+ #
965
+ # The allowed values are `COMPLIANT`, `NON_COMPLIANT`, and
966
+ # `INSUFFICIENT_DATA`.
967
+ # @return [Array<String>]
968
+ #
969
+ # @!attribute [rw] next_token
970
+ # The `NextToken` string returned on a previous page that you use to
971
+ # get the next page of results in a paginated response.
972
+ # @return [String]
973
+ #
974
+ class DescribeComplianceByConfigRuleRequest < Struct.new(
975
+ :config_rule_names,
976
+ :compliance_types,
977
+ :next_token)
978
+ include Aws::Structure
979
+ end
980
+
981
+ # @!attribute [rw] compliance_by_config_rules
982
+ # Indicates whether each of the specified AWS Config rules is
983
+ # compliant.
984
+ # @return [Array<Types::ComplianceByConfigRule>]
985
+ #
986
+ # @!attribute [rw] next_token
987
+ # The string that you use in a subsequent request to get the next page
988
+ # of results in a paginated response.
989
+ # @return [String]
990
+ #
991
+ class DescribeComplianceByConfigRuleResponse < Struct.new(
992
+ :compliance_by_config_rules,
993
+ :next_token)
994
+ include Aws::Structure
995
+ end
996
+
997
+ # @note When making an API call, you may pass DescribeComplianceByResourceRequest
998
+ # data as a hash:
999
+ #
1000
+ # {
1001
+ # resource_type: "StringWithCharLimit256",
1002
+ # resource_id: "StringWithCharLimit256",
1003
+ # compliance_types: ["COMPLIANT"], # accepts COMPLIANT, NON_COMPLIANT, NOT_APPLICABLE, INSUFFICIENT_DATA
1004
+ # limit: 1,
1005
+ # next_token: "NextToken",
1006
+ # }
1007
+ #
1008
+ # @!attribute [rw] resource_type
1009
+ # The types of AWS resources for which you want compliance
1010
+ # information; for example, `AWS::EC2::Instance`. For this action, you
1011
+ # can specify that the resource type is an AWS account by specifying
1012
+ # `AWS::::Account`.
1013
+ # @return [String]
1014
+ #
1015
+ # @!attribute [rw] resource_id
1016
+ # The ID of the AWS resource for which you want compliance
1017
+ # information. You can specify only one resource ID. If you specify a
1018
+ # resource ID, you must also specify a type for `ResourceType`.
1019
+ # @return [String]
1020
+ #
1021
+ # @!attribute [rw] compliance_types
1022
+ # Filters the results by compliance.
1023
+ #
1024
+ # The allowed values are `COMPLIANT`, `NON_COMPLIANT`, and
1025
+ # `INSUFFICIENT_DATA`.
1026
+ # @return [Array<String>]
1027
+ #
1028
+ # @!attribute [rw] limit
1029
+ # The maximum number of evaluation results returned on each page. The
1030
+ # default is 10. You cannot specify a limit greater than 100. If you
1031
+ # specify 0, AWS Config uses the default.
1032
+ # @return [Integer]
1033
+ #
1034
+ # @!attribute [rw] next_token
1035
+ # The `NextToken` string returned on a previous page that you use to
1036
+ # get the next page of results in a paginated response.
1037
+ # @return [String]
1038
+ #
1039
+ class DescribeComplianceByResourceRequest < Struct.new(
1040
+ :resource_type,
1041
+ :resource_id,
1042
+ :compliance_types,
1043
+ :limit,
1044
+ :next_token)
1045
+ include Aws::Structure
1046
+ end
1047
+
1048
+ # @!attribute [rw] compliance_by_resources
1049
+ # Indicates whether the specified AWS resource complies with all of
1050
+ # the AWS Config rules that evaluate it.
1051
+ # @return [Array<Types::ComplianceByResource>]
1052
+ #
1053
+ # @!attribute [rw] next_token
1054
+ # The string that you use in a subsequent request to get the next page
1055
+ # of results in a paginated response.
1056
+ # @return [String]
1057
+ #
1058
+ class DescribeComplianceByResourceResponse < Struct.new(
1059
+ :compliance_by_resources,
1060
+ :next_token)
1061
+ include Aws::Structure
1062
+ end
1063
+
1064
+ # @note When making an API call, you may pass DescribeConfigRuleEvaluationStatusRequest
1065
+ # data as a hash:
1066
+ #
1067
+ # {
1068
+ # config_rule_names: ["StringWithCharLimit64"],
1069
+ # next_token: "String",
1070
+ # limit: 1,
1071
+ # }
1072
+ #
1073
+ # @!attribute [rw] config_rule_names
1074
+ # The name of the AWS managed Config rules for which you want status
1075
+ # information. If you do not specify any names, AWS Config returns
1076
+ # status information for all AWS managed Config rules that you use.
1077
+ # @return [Array<String>]
1078
+ #
1079
+ # @!attribute [rw] next_token
1080
+ # The `NextToken` string returned on a previous page that you use to
1081
+ # get the next page of results in a paginated response.
1082
+ # @return [String]
1083
+ #
1084
+ # @!attribute [rw] limit
1085
+ # The number of rule evaluation results that you want returned.
1086
+ #
1087
+ # This parameter is required if the rule limit for your account is
1088
+ # more than the default of 50 rules.
1089
+ #
1090
+ # For more information about requesting a rule limit increase, see
1091
+ # [AWS Config Limits][1] in the *AWS General Reference Guide*.
1092
+ #
1093
+ #
1094
+ #
1095
+ # [1]: http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_config
1096
+ # @return [Integer]
1097
+ #
1098
+ class DescribeConfigRuleEvaluationStatusRequest < Struct.new(
1099
+ :config_rule_names,
1100
+ :next_token,
1101
+ :limit)
1102
+ include Aws::Structure
1103
+ end
1104
+
1105
+ # @!attribute [rw] config_rules_evaluation_status
1106
+ # Status information about your AWS managed Config rules.
1107
+ # @return [Array<Types::ConfigRuleEvaluationStatus>]
1108
+ #
1109
+ # @!attribute [rw] next_token
1110
+ # The string that you use in a subsequent request to get the next page
1111
+ # of results in a paginated response.
1112
+ # @return [String]
1113
+ #
1114
+ class DescribeConfigRuleEvaluationStatusResponse < Struct.new(
1115
+ :config_rules_evaluation_status,
1116
+ :next_token)
1117
+ include Aws::Structure
1118
+ end
1119
+
1120
+ # @note When making an API call, you may pass DescribeConfigRulesRequest
1121
+ # data as a hash:
1122
+ #
1123
+ # {
1124
+ # config_rule_names: ["StringWithCharLimit64"],
1125
+ # next_token: "String",
1126
+ # }
1127
+ #
1128
+ # @!attribute [rw] config_rule_names
1129
+ # The names of the AWS Config rules for which you want details. If you
1130
+ # do not specify any names, AWS Config returns details for all your
1131
+ # rules.
1132
+ # @return [Array<String>]
1133
+ #
1134
+ # @!attribute [rw] next_token
1135
+ # The `NextToken` string returned on a previous page that you use to
1136
+ # get the next page of results in a paginated response.
1137
+ # @return [String]
1138
+ #
1139
+ class DescribeConfigRulesRequest < Struct.new(
1140
+ :config_rule_names,
1141
+ :next_token)
1142
+ include Aws::Structure
1143
+ end
1144
+
1145
+ # @!attribute [rw] config_rules
1146
+ # The details about your AWS Config rules.
1147
+ # @return [Array<Types::ConfigRule>]
1148
+ #
1149
+ # @!attribute [rw] next_token
1150
+ # The string that you use in a subsequent request to get the next page
1151
+ # of results in a paginated response.
1152
+ # @return [String]
1153
+ #
1154
+ class DescribeConfigRulesResponse < Struct.new(
1155
+ :config_rules,
1156
+ :next_token)
1157
+ include Aws::Structure
1158
+ end
1159
+
1160
+ # The input for the DescribeConfigurationRecorderStatus action.
1161
+ #
1162
+ # @note When making an API call, you may pass DescribeConfigurationRecorderStatusRequest
1163
+ # data as a hash:
1164
+ #
1165
+ # {
1166
+ # configuration_recorder_names: ["RecorderName"],
1167
+ # }
1168
+ #
1169
+ # @!attribute [rw] configuration_recorder_names
1170
+ # The name(s) of the configuration recorder. If the name is not
1171
+ # specified, the action returns the current status of all the
1172
+ # configuration recorders associated with the account.
1173
+ # @return [Array<String>]
1174
+ #
1175
+ class DescribeConfigurationRecorderStatusRequest < Struct.new(
1176
+ :configuration_recorder_names)
1177
+ include Aws::Structure
1178
+ end
1179
+
1180
+ # The output for the DescribeConfigurationRecorderStatus action in JSON
1181
+ # format.
1182
+ #
1183
+ # @!attribute [rw] configuration_recorders_status
1184
+ # A list that contains status of the specified recorders.
1185
+ # @return [Array<Types::ConfigurationRecorderStatus>]
1186
+ #
1187
+ class DescribeConfigurationRecorderStatusResponse < Struct.new(
1188
+ :configuration_recorders_status)
1189
+ include Aws::Structure
1190
+ end
1191
+
1192
+ # The input for the DescribeConfigurationRecorders action.
1193
+ #
1194
+ # @note When making an API call, you may pass DescribeConfigurationRecordersRequest
1195
+ # data as a hash:
1196
+ #
1197
+ # {
1198
+ # configuration_recorder_names: ["RecorderName"],
1199
+ # }
1200
+ #
1201
+ # @!attribute [rw] configuration_recorder_names
1202
+ # A list of configuration recorder names.
1203
+ # @return [Array<String>]
1204
+ #
1205
+ class DescribeConfigurationRecordersRequest < Struct.new(
1206
+ :configuration_recorder_names)
1207
+ include Aws::Structure
1208
+ end
1209
+
1210
+ # The output for the DescribeConfigurationRecorders action.
1211
+ #
1212
+ # @!attribute [rw] configuration_recorders
1213
+ # A list that contains the descriptions of the specified configuration
1214
+ # recorders.
1215
+ # @return [Array<Types::ConfigurationRecorder>]
1216
+ #
1217
+ class DescribeConfigurationRecordersResponse < Struct.new(
1218
+ :configuration_recorders)
1219
+ include Aws::Structure
1220
+ end
1221
+
1222
+ # The input for the DeliveryChannelStatus action.
1223
+ #
1224
+ # @note When making an API call, you may pass DescribeDeliveryChannelStatusRequest
1225
+ # data as a hash:
1226
+ #
1227
+ # {
1228
+ # delivery_channel_names: ["ChannelName"],
1229
+ # }
1230
+ #
1231
+ # @!attribute [rw] delivery_channel_names
1232
+ # A list of delivery channel names.
1233
+ # @return [Array<String>]
1234
+ #
1235
+ class DescribeDeliveryChannelStatusRequest < Struct.new(
1236
+ :delivery_channel_names)
1237
+ include Aws::Structure
1238
+ end
1239
+
1240
+ # The output for the DescribeDeliveryChannelStatus action.
1241
+ #
1242
+ # @!attribute [rw] delivery_channels_status
1243
+ # A list that contains the status of a specified delivery channel.
1244
+ # @return [Array<Types::DeliveryChannelStatus>]
1245
+ #
1246
+ class DescribeDeliveryChannelStatusResponse < Struct.new(
1247
+ :delivery_channels_status)
1248
+ include Aws::Structure
1249
+ end
1250
+
1251
+ # The input for the DescribeDeliveryChannels action.
1252
+ #
1253
+ # @note When making an API call, you may pass DescribeDeliveryChannelsRequest
1254
+ # data as a hash:
1255
+ #
1256
+ # {
1257
+ # delivery_channel_names: ["ChannelName"],
1258
+ # }
1259
+ #
1260
+ # @!attribute [rw] delivery_channel_names
1261
+ # A list of delivery channel names.
1262
+ # @return [Array<String>]
1263
+ #
1264
+ class DescribeDeliveryChannelsRequest < Struct.new(
1265
+ :delivery_channel_names)
1266
+ include Aws::Structure
1267
+ end
1268
+
1269
+ # The output for the DescribeDeliveryChannels action.
1270
+ #
1271
+ # @!attribute [rw] delivery_channels
1272
+ # A list that contains the descriptions of the specified delivery
1273
+ # channel.
1274
+ # @return [Array<Types::DeliveryChannel>]
1275
+ #
1276
+ class DescribeDeliveryChannelsResponse < Struct.new(
1277
+ :delivery_channels)
1278
+ include Aws::Structure
1279
+ end
1280
+
1281
+ # Identifies an AWS resource and indicates whether it complies with the
1282
+ # AWS Config rule that it was evaluated against.
1283
+ #
1284
+ # @note When making an API call, you may pass Evaluation
1285
+ # data as a hash:
1286
+ #
1287
+ # {
1288
+ # compliance_resource_type: "StringWithCharLimit256", # required
1289
+ # compliance_resource_id: "StringWithCharLimit256", # required
1290
+ # compliance_type: "COMPLIANT", # required, accepts COMPLIANT, NON_COMPLIANT, NOT_APPLICABLE, INSUFFICIENT_DATA
1291
+ # annotation: "StringWithCharLimit256",
1292
+ # ordering_timestamp: Time.now, # required
1293
+ # }
1294
+ #
1295
+ # @!attribute [rw] compliance_resource_type
1296
+ # The type of AWS resource that was evaluated.
1297
+ # @return [String]
1298
+ #
1299
+ # @!attribute [rw] compliance_resource_id
1300
+ # The ID of the AWS resource that was evaluated.
1301
+ # @return [String]
1302
+ #
1303
+ # @!attribute [rw] compliance_type
1304
+ # Indicates whether the AWS resource complies with the AWS Config rule
1305
+ # that it was evaluated against.
1306
+ #
1307
+ # For the `Evaluation` data type, AWS Config supports only the
1308
+ # `COMPLIANT`, `NON_COMPLIANT`, and `NOT_APPLICABLE` values. AWS
1309
+ # Config does not support the `INSUFFICIENT_DATA` value for this data
1310
+ # type.
1311
+ #
1312
+ # Similarly, AWS Config does not accept `INSUFFICIENT_DATA` as the
1313
+ # value for `ComplianceType` from a `PutEvaluations` request. For
1314
+ # example, an AWS Lambda function for a custom Config rule cannot pass
1315
+ # an `INSUFFICIENT_DATA` value to AWS Config.
1316
+ # @return [String]
1317
+ #
1318
+ # @!attribute [rw] annotation
1319
+ # Supplementary information about how the evaluation determined the
1320
+ # compliance.
1321
+ # @return [String]
1322
+ #
1323
+ # @!attribute [rw] ordering_timestamp
1324
+ # The time of the event in AWS Config that triggered the evaluation.
1325
+ # For event-based evaluations, the time indicates when AWS Config
1326
+ # created the configuration item that triggered the evaluation. For
1327
+ # periodic evaluations, the time indicates when AWS Config triggered
1328
+ # the evaluation at the frequency that you specified (for example,
1329
+ # every 24 hours).
1330
+ # @return [Time]
1331
+ #
1332
+ class Evaluation < Struct.new(
1333
+ :compliance_resource_type,
1334
+ :compliance_resource_id,
1335
+ :compliance_type,
1336
+ :annotation,
1337
+ :ordering_timestamp)
1338
+ include Aws::Structure
1339
+ end
1340
+
1341
+ # The details of an AWS Config evaluation. Provides the AWS resource
1342
+ # that was evaluated, the compliance of the resource, related
1343
+ # timestamps, and supplementary information.
1344
+ #
1345
+ # @!attribute [rw] evaluation_result_identifier
1346
+ # Uniquely identifies the evaluation result.
1347
+ # @return [Types::EvaluationResultIdentifier]
1348
+ #
1349
+ # @!attribute [rw] compliance_type
1350
+ # Indicates whether the AWS resource complies with the AWS Config rule
1351
+ # that evaluated it.
1352
+ #
1353
+ # For the `EvaluationResult` data type, AWS Config supports only the
1354
+ # `COMPLIANT`, `NON_COMPLIANT`, and `NOT_APPLICABLE` values. AWS
1355
+ # Config does not support the `INSUFFICIENT_DATA` value for the
1356
+ # `EvaluationResult` data type.
1357
+ # @return [String]
1358
+ #
1359
+ # @!attribute [rw] result_recorded_time
1360
+ # The time when AWS Config recorded the evaluation result.
1361
+ # @return [Time]
1362
+ #
1363
+ # @!attribute [rw] config_rule_invoked_time
1364
+ # The time when the AWS Config rule evaluated the AWS resource.
1365
+ # @return [Time]
1366
+ #
1367
+ # @!attribute [rw] annotation
1368
+ # Supplementary information about how the evaluation determined the
1369
+ # compliance.
1370
+ # @return [String]
1371
+ #
1372
+ # @!attribute [rw] result_token
1373
+ # An encrypted token that associates an evaluation with an AWS Config
1374
+ # rule. The token identifies the rule, the AWS resource being
1375
+ # evaluated, and the event that triggered the evaluation.
1376
+ # @return [String]
1377
+ #
1378
+ class EvaluationResult < Struct.new(
1379
+ :evaluation_result_identifier,
1380
+ :compliance_type,
1381
+ :result_recorded_time,
1382
+ :config_rule_invoked_time,
1383
+ :annotation,
1384
+ :result_token)
1385
+ include Aws::Structure
1386
+ end
1387
+
1388
+ # Uniquely identifies an evaluation result.
1389
+ #
1390
+ # @!attribute [rw] evaluation_result_qualifier
1391
+ # Identifies an AWS Config rule used to evaluate an AWS resource, and
1392
+ # provides the type and ID of the evaluated resource.
1393
+ # @return [Types::EvaluationResultQualifier]
1394
+ #
1395
+ # @!attribute [rw] ordering_timestamp
1396
+ # The time of the event that triggered the evaluation of your AWS
1397
+ # resources. The time can indicate when AWS Config delivered a
1398
+ # configuration item change notification, or it can indicate when AWS
1399
+ # Config delivered the configuration snapshot, depending on which
1400
+ # event triggered the evaluation.
1401
+ # @return [Time]
1402
+ #
1403
+ class EvaluationResultIdentifier < Struct.new(
1404
+ :evaluation_result_qualifier,
1405
+ :ordering_timestamp)
1406
+ include Aws::Structure
1407
+ end
1408
+
1409
+ # Identifies an AWS Config rule that evaluated an AWS resource, and
1410
+ # provides the type and ID of the resource that the rule evaluated.
1411
+ #
1412
+ # @!attribute [rw] config_rule_name
1413
+ # The name of the AWS Config rule that was used in the evaluation.
1414
+ # @return [String]
1415
+ #
1416
+ # @!attribute [rw] resource_type
1417
+ # The type of AWS resource that was evaluated.
1418
+ # @return [String]
1419
+ #
1420
+ # @!attribute [rw] resource_id
1421
+ # The ID of the evaluated AWS resource.
1422
+ # @return [String]
1423
+ #
1424
+ class EvaluationResultQualifier < Struct.new(
1425
+ :config_rule_name,
1426
+ :resource_type,
1427
+ :resource_id)
1428
+ include Aws::Structure
1429
+ end
1430
+
1431
+ # @note When making an API call, you may pass GetComplianceDetailsByConfigRuleRequest
1432
+ # data as a hash:
1433
+ #
1434
+ # {
1435
+ # config_rule_name: "StringWithCharLimit64", # required
1436
+ # compliance_types: ["COMPLIANT"], # accepts COMPLIANT, NON_COMPLIANT, NOT_APPLICABLE, INSUFFICIENT_DATA
1437
+ # limit: 1,
1438
+ # next_token: "NextToken",
1439
+ # }
1440
+ #
1441
+ # @!attribute [rw] config_rule_name
1442
+ # The name of the AWS Config rule for which you want compliance
1443
+ # information.
1444
+ # @return [String]
1445
+ #
1446
+ # @!attribute [rw] compliance_types
1447
+ # Filters the results by compliance.
1448
+ #
1449
+ # The allowed values are `COMPLIANT`, `NON_COMPLIANT`, and
1450
+ # `NOT_APPLICABLE`.
1451
+ # @return [Array<String>]
1452
+ #
1453
+ # @!attribute [rw] limit
1454
+ # The maximum number of evaluation results returned on each page. The
1455
+ # default is 10. You cannot specify a limit greater than 100. If you
1456
+ # specify 0, AWS Config uses the default.
1457
+ # @return [Integer]
1458
+ #
1459
+ # @!attribute [rw] next_token
1460
+ # The `NextToken` string returned on a previous page that you use to
1461
+ # get the next page of results in a paginated response.
1462
+ # @return [String]
1463
+ #
1464
+ class GetComplianceDetailsByConfigRuleRequest < Struct.new(
1465
+ :config_rule_name,
1466
+ :compliance_types,
1467
+ :limit,
1468
+ :next_token)
1469
+ include Aws::Structure
1470
+ end
1471
+
1472
+ # @!attribute [rw] evaluation_results
1473
+ # Indicates whether the AWS resource complies with the specified AWS
1474
+ # Config rule.
1475
+ # @return [Array<Types::EvaluationResult>]
1476
+ #
1477
+ # @!attribute [rw] next_token
1478
+ # The string that you use in a subsequent request to get the next page
1479
+ # of results in a paginated response.
1480
+ # @return [String]
1481
+ #
1482
+ class GetComplianceDetailsByConfigRuleResponse < Struct.new(
1483
+ :evaluation_results,
1484
+ :next_token)
1485
+ include Aws::Structure
1486
+ end
1487
+
1488
+ # @note When making an API call, you may pass GetComplianceDetailsByResourceRequest
1489
+ # data as a hash:
1490
+ #
1491
+ # {
1492
+ # resource_type: "StringWithCharLimit256", # required
1493
+ # resource_id: "StringWithCharLimit256", # required
1494
+ # compliance_types: ["COMPLIANT"], # accepts COMPLIANT, NON_COMPLIANT, NOT_APPLICABLE, INSUFFICIENT_DATA
1495
+ # next_token: "String",
1496
+ # }
1497
+ #
1498
+ # @!attribute [rw] resource_type
1499
+ # The type of the AWS resource for which you want compliance
1500
+ # information.
1501
+ # @return [String]
1502
+ #
1503
+ # @!attribute [rw] resource_id
1504
+ # The ID of the AWS resource for which you want compliance
1505
+ # information.
1506
+ # @return [String]
1507
+ #
1508
+ # @!attribute [rw] compliance_types
1509
+ # Filters the results by compliance.
1510
+ #
1511
+ # The allowed values are `COMPLIANT`, `NON_COMPLIANT`, and
1512
+ # `NOT_APPLICABLE`.
1513
+ # @return [Array<String>]
1514
+ #
1515
+ # @!attribute [rw] next_token
1516
+ # The `NextToken` string returned on a previous page that you use to
1517
+ # get the next page of results in a paginated response.
1518
+ # @return [String]
1519
+ #
1520
+ class GetComplianceDetailsByResourceRequest < Struct.new(
1521
+ :resource_type,
1522
+ :resource_id,
1523
+ :compliance_types,
1524
+ :next_token)
1525
+ include Aws::Structure
1526
+ end
1527
+
1528
+ # @!attribute [rw] evaluation_results
1529
+ # Indicates whether the specified AWS resource complies each AWS
1530
+ # Config rule.
1531
+ # @return [Array<Types::EvaluationResult>]
1532
+ #
1533
+ # @!attribute [rw] next_token
1534
+ # The string that you use in a subsequent request to get the next page
1535
+ # of results in a paginated response.
1536
+ # @return [String]
1537
+ #
1538
+ class GetComplianceDetailsByResourceResponse < Struct.new(
1539
+ :evaluation_results,
1540
+ :next_token)
1541
+ include Aws::Structure
1542
+ end
1543
+
1544
+ # @!attribute [rw] compliance_summary
1545
+ # The number of AWS Config rules that are compliant and the number
1546
+ # that are noncompliant, up to a maximum of 25 for each.
1547
+ # @return [Types::ComplianceSummary]
1548
+ #
1549
+ class GetComplianceSummaryByConfigRuleResponse < Struct.new(
1550
+ :compliance_summary)
1551
+ include Aws::Structure
1552
+ end
1553
+
1554
+ # @note When making an API call, you may pass GetComplianceSummaryByResourceTypeRequest
1555
+ # data as a hash:
1556
+ #
1557
+ # {
1558
+ # resource_types: ["StringWithCharLimit256"],
1559
+ # }
1560
+ #
1561
+ # @!attribute [rw] resource_types
1562
+ # Specify one or more resource types to get the number of resources
1563
+ # that are compliant and the number that are noncompliant for each
1564
+ # resource type.
1565
+ #
1566
+ # For this request, you can specify an AWS resource type such as
1567
+ # `AWS::EC2::Instance`, and you can specify that the resource type is
1568
+ # an AWS account by specifying `AWS::::Account`.
1569
+ # @return [Array<String>]
1570
+ #
1571
+ class GetComplianceSummaryByResourceTypeRequest < Struct.new(
1572
+ :resource_types)
1573
+ include Aws::Structure
1574
+ end
1575
+
1576
+ # @!attribute [rw] compliance_summaries_by_resource_type
1577
+ # The number of resources that are compliant and the number that are
1578
+ # noncompliant. If one or more resource types were provided with the
1579
+ # request, the numbers are returned for each resource type. The
1580
+ # maximum number returned is 100.
1581
+ # @return [Array<Types::ComplianceSummaryByResourceType>]
1582
+ #
1583
+ class GetComplianceSummaryByResourceTypeResponse < Struct.new(
1584
+ :compliance_summaries_by_resource_type)
1585
+ include Aws::Structure
1586
+ end
1587
+
1588
+ # The input for the GetResourceConfigHistory action.
1589
+ #
1590
+ # @note When making an API call, you may pass GetResourceConfigHistoryRequest
1591
+ # data as a hash:
1592
+ #
1593
+ # {
1594
+ # 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
1595
+ # resource_id: "ResourceId", # required
1596
+ # later_time: Time.now,
1597
+ # earlier_time: Time.now,
1598
+ # chronological_order: "Reverse", # accepts Reverse, Forward
1599
+ # limit: 1,
1600
+ # next_token: "NextToken",
1601
+ # }
1602
+ #
1603
+ # @!attribute [rw] resource_type
1604
+ # The resource type.
1605
+ # @return [String]
1606
+ #
1607
+ # @!attribute [rw] resource_id
1608
+ # The ID of the resource (for example., `sg-xxxxxx`).
1609
+ # @return [String]
1610
+ #
1611
+ # @!attribute [rw] later_time
1612
+ # The time stamp that indicates a later time. If not specified,
1613
+ # current time is taken.
1614
+ # @return [Time]
1615
+ #
1616
+ # @!attribute [rw] earlier_time
1617
+ # The time stamp that indicates an earlier time. If not specified, the
1618
+ # action returns paginated results that contain configuration items
1619
+ # that start from when the first configuration item was recorded.
1620
+ # @return [Time]
1621
+ #
1622
+ # @!attribute [rw] chronological_order
1623
+ # The chronological order for configuration items listed. By default
1624
+ # the results are listed in reverse chronological order.
1625
+ # @return [String]
1626
+ #
1627
+ # @!attribute [rw] limit
1628
+ # The maximum number of configuration items returned on each page. The
1629
+ # default is 10. You cannot specify a limit greater than 100. If you
1630
+ # specify 0, AWS Config uses the default.
1631
+ # @return [Integer]
1632
+ #
1633
+ # @!attribute [rw] next_token
1634
+ # The `nextToken` string returned on a previous page that you use to
1635
+ # get the next page of results in a paginated response.
1636
+ # @return [String]
1637
+ #
1638
+ class GetResourceConfigHistoryRequest < Struct.new(
1639
+ :resource_type,
1640
+ :resource_id,
1641
+ :later_time,
1642
+ :earlier_time,
1643
+ :chronological_order,
1644
+ :limit,
1645
+ :next_token)
1646
+ include Aws::Structure
1647
+ end
2127
1648
 
1649
+ # The output for the GetResourceConfigHistory action.
1650
+ #
1651
+ # @!attribute [rw] configuration_items
1652
+ # A list that contains the configuration history of one or more
1653
+ # resources.
1654
+ # @return [Array<Types::ConfigurationItem>]
1655
+ #
1656
+ # @!attribute [rw] next_token
1657
+ # The string that you use in a subsequent request to get the next page
1658
+ # of results in a paginated response.
1659
+ # @return [String]
1660
+ #
1661
+ class GetResourceConfigHistoryResponse < Struct.new(
1662
+ :configuration_items,
1663
+ :next_token)
1664
+ include Aws::Structure
2128
1665
  end
1666
+
1667
+ # @note When making an API call, you may pass ListDiscoveredResourcesRequest
1668
+ # data as a hash:
1669
+ #
1670
+ # {
1671
+ # 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
1672
+ # resource_ids: ["ResourceId"],
1673
+ # resource_name: "ResourceName",
1674
+ # limit: 1,
1675
+ # include_deleted_resources: false,
1676
+ # next_token: "NextToken",
1677
+ # }
1678
+ #
1679
+ # @!attribute [rw] resource_type
1680
+ # The type of resources that you want AWS Config to list in the
1681
+ # response.
1682
+ # @return [String]
1683
+ #
1684
+ # @!attribute [rw] resource_ids
1685
+ # The IDs of only those resources that you want AWS Config to list in
1686
+ # the response. If you do not specify this parameter, AWS Config lists
1687
+ # all resources of the specified type that it has discovered.
1688
+ # @return [Array<String>]
1689
+ #
1690
+ # @!attribute [rw] resource_name
1691
+ # The custom name of only those resources that you want AWS Config to
1692
+ # list in the response. If you do not specify this parameter, AWS
1693
+ # Config lists all resources of the specified type that it has
1694
+ # discovered.
1695
+ # @return [String]
1696
+ #
1697
+ # @!attribute [rw] limit
1698
+ # The maximum number of resource identifiers returned on each page.
1699
+ # The default is 100. You cannot specify a limit greater than 100. If
1700
+ # you specify 0, AWS Config uses the default.
1701
+ # @return [Integer]
1702
+ #
1703
+ # @!attribute [rw] include_deleted_resources
1704
+ # Specifies whether AWS Config includes deleted resources in the
1705
+ # results. By default, deleted resources are not included.
1706
+ # @return [Boolean]
1707
+ #
1708
+ # @!attribute [rw] next_token
1709
+ # The `nextToken` string returned on a previous page that you use to
1710
+ # get the next page of results in a paginated response.
1711
+ # @return [String]
1712
+ #
1713
+ class ListDiscoveredResourcesRequest < Struct.new(
1714
+ :resource_type,
1715
+ :resource_ids,
1716
+ :resource_name,
1717
+ :limit,
1718
+ :include_deleted_resources,
1719
+ :next_token)
1720
+ include Aws::Structure
1721
+ end
1722
+
1723
+ # @!attribute [rw] resource_identifiers
1724
+ # The details that identify a resource that is discovered by AWS
1725
+ # Config, including the resource type, ID, and (if available) the
1726
+ # custom resource name.
1727
+ # @return [Array<Types::ResourceIdentifier>]
1728
+ #
1729
+ # @!attribute [rw] next_token
1730
+ # The string that you use in a subsequent request to get the next page
1731
+ # of results in a paginated response.
1732
+ # @return [String]
1733
+ #
1734
+ class ListDiscoveredResourcesResponse < Struct.new(
1735
+ :resource_identifiers,
1736
+ :next_token)
1737
+ include Aws::Structure
1738
+ end
1739
+
1740
+ # @note When making an API call, you may pass PutConfigRuleRequest
1741
+ # data as a hash:
1742
+ #
1743
+ # {
1744
+ # config_rule: { # required
1745
+ # config_rule_name: "StringWithCharLimit64",
1746
+ # config_rule_arn: "String",
1747
+ # config_rule_id: "String",
1748
+ # description: "EmptiableStringWithCharLimit256",
1749
+ # scope: {
1750
+ # compliance_resource_types: ["StringWithCharLimit256"],
1751
+ # tag_key: "StringWithCharLimit128",
1752
+ # tag_value: "StringWithCharLimit256",
1753
+ # compliance_resource_id: "StringWithCharLimit256",
1754
+ # },
1755
+ # source: { # required
1756
+ # owner: "CUSTOM_LAMBDA", # required, accepts CUSTOM_LAMBDA, AWS
1757
+ # source_identifier: "StringWithCharLimit256", # required
1758
+ # source_details: [
1759
+ # {
1760
+ # event_source: "aws.config", # accepts aws.config
1761
+ # message_type: "ConfigurationItemChangeNotification", # accepts ConfigurationItemChangeNotification, ConfigurationSnapshotDeliveryCompleted, ScheduledNotification, OversizedConfigurationItemChangeNotification
1762
+ # maximum_execution_frequency: "One_Hour", # accepts One_Hour, Three_Hours, Six_Hours, Twelve_Hours, TwentyFour_Hours
1763
+ # },
1764
+ # ],
1765
+ # },
1766
+ # input_parameters: "StringWithCharLimit1024",
1767
+ # maximum_execution_frequency: "One_Hour", # accepts One_Hour, Three_Hours, Six_Hours, Twelve_Hours, TwentyFour_Hours
1768
+ # config_rule_state: "ACTIVE", # accepts ACTIVE, DELETING, DELETING_RESULTS, EVALUATING
1769
+ # },
1770
+ # }
1771
+ #
1772
+ # @!attribute [rw] config_rule
1773
+ # An AWS Config rule represents an AWS Lambda function that you create
1774
+ # for a custom rule or a predefined function for an AWS managed rule.
1775
+ # The function evaluates configuration items to assess whether your
1776
+ # AWS resources comply with your desired configurations. This function
1777
+ # can run when AWS Config detects a configuration change to an AWS
1778
+ # resource and at a periodic frequency that you choose (for example,
1779
+ # every 24 hours).
1780
+ #
1781
+ # <note markdown="1"> You can use the AWS CLI and AWS SDKs if you want to create a rule
1782
+ # that triggers evaluations for your resources when AWS Config
1783
+ # delivers the configuration snapshot. For more information, see
1784
+ # ConfigSnapshotDeliveryProperties.
1785
+ #
1786
+ # </note>
1787
+ #
1788
+ # For more information about developing and using AWS Config rules,
1789
+ # see [Evaluating AWS Resource Configurations with AWS Config][1] in
1790
+ # the *AWS Config Developer Guide*.
1791
+ #
1792
+ #
1793
+ #
1794
+ # [1]: http://docs.aws.amazon.com/config/latest/developerguide/evaluate-config.html
1795
+ # @return [Types::ConfigRule]
1796
+ #
1797
+ class PutConfigRuleRequest < Struct.new(
1798
+ :config_rule)
1799
+ include Aws::Structure
1800
+ end
1801
+
1802
+ # The input for the PutConfigurationRecorder action.
1803
+ #
1804
+ # @note When making an API call, you may pass PutConfigurationRecorderRequest
1805
+ # data as a hash:
1806
+ #
1807
+ # {
1808
+ # configuration_recorder: { # required
1809
+ # name: "RecorderName",
1810
+ # role_arn: "String",
1811
+ # recording_group: {
1812
+ # all_supported: false,
1813
+ # include_global_resource_types: false,
1814
+ # 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
1815
+ # },
1816
+ # },
1817
+ # }
1818
+ #
1819
+ # @!attribute [rw] configuration_recorder
1820
+ # The configuration recorder object that records each configuration
1821
+ # change made to the resources.
1822
+ # @return [Types::ConfigurationRecorder]
1823
+ #
1824
+ class PutConfigurationRecorderRequest < Struct.new(
1825
+ :configuration_recorder)
1826
+ include Aws::Structure
1827
+ end
1828
+
1829
+ # The input for the PutDeliveryChannel action.
1830
+ #
1831
+ # @note When making an API call, you may pass PutDeliveryChannelRequest
1832
+ # data as a hash:
1833
+ #
1834
+ # {
1835
+ # delivery_channel: { # required
1836
+ # name: "ChannelName",
1837
+ # s3_bucket_name: "String",
1838
+ # s3_key_prefix: "String",
1839
+ # sns_topic_arn: "String",
1840
+ # config_snapshot_delivery_properties: {
1841
+ # delivery_frequency: "One_Hour", # accepts One_Hour, Three_Hours, Six_Hours, Twelve_Hours, TwentyFour_Hours
1842
+ # },
1843
+ # },
1844
+ # }
1845
+ #
1846
+ # @!attribute [rw] delivery_channel
1847
+ # The configuration delivery channel object that delivers the
1848
+ # configuration information to an Amazon S3 bucket, and to an Amazon
1849
+ # SNS topic.
1850
+ # @return [Types::DeliveryChannel]
1851
+ #
1852
+ class PutDeliveryChannelRequest < Struct.new(
1853
+ :delivery_channel)
1854
+ include Aws::Structure
1855
+ end
1856
+
1857
+ # @note When making an API call, you may pass PutEvaluationsRequest
1858
+ # data as a hash:
1859
+ #
1860
+ # {
1861
+ # evaluations: [
1862
+ # {
1863
+ # compliance_resource_type: "StringWithCharLimit256", # required
1864
+ # compliance_resource_id: "StringWithCharLimit256", # required
1865
+ # compliance_type: "COMPLIANT", # required, accepts COMPLIANT, NON_COMPLIANT, NOT_APPLICABLE, INSUFFICIENT_DATA
1866
+ # annotation: "StringWithCharLimit256",
1867
+ # ordering_timestamp: Time.now, # required
1868
+ # },
1869
+ # ],
1870
+ # result_token: "String", # required
1871
+ # }
1872
+ #
1873
+ # @!attribute [rw] evaluations
1874
+ # The assessments that the AWS Lambda function performs. Each
1875
+ # evaluation identifies an AWS resource and indicates whether it
1876
+ # complies with the AWS Config rule that invokes the AWS Lambda
1877
+ # function.
1878
+ # @return [Array<Types::Evaluation>]
1879
+ #
1880
+ # @!attribute [rw] result_token
1881
+ # An encrypted token that associates an evaluation with an AWS Config
1882
+ # rule. Identifies the rule and the event that triggered the
1883
+ # evaluation
1884
+ # @return [String]
1885
+ #
1886
+ class PutEvaluationsRequest < Struct.new(
1887
+ :evaluations,
1888
+ :result_token)
1889
+ include Aws::Structure
1890
+ end
1891
+
1892
+ # @!attribute [rw] failed_evaluations
1893
+ # Requests that failed because of a client or server error.
1894
+ # @return [Array<Types::Evaluation>]
1895
+ #
1896
+ class PutEvaluationsResponse < Struct.new(
1897
+ :failed_evaluations)
1898
+ include Aws::Structure
1899
+ end
1900
+
1901
+ # Specifies the types of AWS resource for which AWS Config records
1902
+ # configuration changes.
1903
+ #
1904
+ # In the recording group, you specify whether all supported types or
1905
+ # specific types of resources are recorded.
1906
+ #
1907
+ # By default, AWS Config records configuration changes for all supported
1908
+ # types of regional resources that AWS Config discovers in the region in
1909
+ # which it is running. Regional resources are tied to a region and can
1910
+ # be used only in that region. Examples of regional resources are EC2
1911
+ # instances and EBS volumes.
1912
+ #
1913
+ # You can also have AWS Config record configuration changes for
1914
+ # supported types of global resources (for example, IAM resources).
1915
+ # Global resources are not tied to an individual region and can be used
1916
+ # in all regions.
1917
+ #
1918
+ # The configuration details for any global resource are the same in all
1919
+ # regions. If you customize AWS Config in multiple regions to record
1920
+ # global resources, it will create multiple configuration items each
1921
+ # time a global resource changes: one configuration item for each
1922
+ # region. These configuration items will contain identical data. To
1923
+ # prevent duplicate configuration items, you should consider customizing
1924
+ # AWS Config in only one region to record global resources, unless you
1925
+ # want the configuration items to be available in multiple regions.
1926
+ #
1927
+ # If you don't want AWS Config to record all resources, you can specify
1928
+ # which types of resources it will record with the `resourceTypes`
1929
+ # parameter.
1930
+ #
1931
+ # For a list of supported resource types, see [Supported resource
1932
+ # types][1].
1933
+ #
1934
+ # For more information, see [Selecting Which Resources AWS Config
1935
+ # Records][2].
1936
+ #
1937
+ #
1938
+ #
1939
+ # [1]: http://docs.aws.amazon.com/config/latest/developerguide/resource-config-reference.html#supported-resources
1940
+ # [2]: http://docs.aws.amazon.com/config/latest/developerguide/select-resources.html
1941
+ #
1942
+ # @note When making an API call, you may pass RecordingGroup
1943
+ # data as a hash:
1944
+ #
1945
+ # {
1946
+ # all_supported: false,
1947
+ # include_global_resource_types: false,
1948
+ # 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
1949
+ # }
1950
+ #
1951
+ # @!attribute [rw] all_supported
1952
+ # Specifies whether AWS Config records configuration changes for every
1953
+ # supported type of regional resource.
1954
+ #
1955
+ # If you set this option to `true`, when AWS Config adds support for a
1956
+ # new type of regional resource, it automatically starts recording
1957
+ # resources of that type.
1958
+ #
1959
+ # If you set this option to `true`, you cannot enumerate a list of
1960
+ # `resourceTypes`.
1961
+ # @return [Boolean]
1962
+ #
1963
+ # @!attribute [rw] include_global_resource_types
1964
+ # Specifies whether AWS Config includes all supported types of global
1965
+ # resources (for example, IAM resources) with the resources that it
1966
+ # records.
1967
+ #
1968
+ # Before you can set this option to `true`, you must set the
1969
+ # `allSupported` option to `true`.
1970
+ #
1971
+ # If you set this option to `true`, when AWS Config adds support for a
1972
+ # new type of global resource, it automatically starts recording
1973
+ # resources of that type.
1974
+ #
1975
+ # The configuration details for any global resource are the same in
1976
+ # all regions. To prevent duplicate configuration items, you should
1977
+ # consider customizing AWS Config in only one region to record global
1978
+ # resources.
1979
+ # @return [Boolean]
1980
+ #
1981
+ # @!attribute [rw] resource_types
1982
+ # A comma-separated list that specifies the types of AWS resources for
1983
+ # which AWS Config records configuration changes (for example,
1984
+ # `AWS::EC2::Instance` or `AWS::CloudTrail::Trail`).
1985
+ #
1986
+ # Before you can set this option to `true`, you must set the
1987
+ # `allSupported` option to `false`.
1988
+ #
1989
+ # If you set this option to `true`, when AWS Config adds support for a
1990
+ # new type of resource, it will not record resources of that type
1991
+ # unless you manually add that type to your recording group.
1992
+ #
1993
+ # For a list of valid `resourceTypes` values, see the **resourceType
1994
+ # Value** column in [Supported AWS Resource Types][1].
1995
+ #
1996
+ #
1997
+ #
1998
+ # [1]: http://docs.aws.amazon.com/config/latest/developerguide/resource-config-reference.html#supported-resources
1999
+ # @return [Array<String>]
2000
+ #
2001
+ class RecordingGroup < Struct.new(
2002
+ :all_supported,
2003
+ :include_global_resource_types,
2004
+ :resource_types)
2005
+ include Aws::Structure
2006
+ end
2007
+
2008
+ # The relationship of the related resource to the main resource.
2009
+ #
2010
+ # @!attribute [rw] resource_type
2011
+ # The resource type of the related resource.
2012
+ # @return [String]
2013
+ #
2014
+ # @!attribute [rw] resource_id
2015
+ # The ID of the related resource (for example, `sg-xxxxxx`).
2016
+ # @return [String]
2017
+ #
2018
+ # @!attribute [rw] resource_name
2019
+ # The custom name of the related resource, if available.
2020
+ # @return [String]
2021
+ #
2022
+ # @!attribute [rw] relationship_name
2023
+ # The type of relationship with the related resource.
2024
+ # @return [String]
2025
+ #
2026
+ class Relationship < Struct.new(
2027
+ :resource_type,
2028
+ :resource_id,
2029
+ :resource_name,
2030
+ :relationship_name)
2031
+ include Aws::Structure
2032
+ end
2033
+
2034
+ # The details that identify a resource that is discovered by AWS Config,
2035
+ # including the resource type, ID, and (if available) the custom
2036
+ # resource name.
2037
+ #
2038
+ # @!attribute [rw] resource_type
2039
+ # The type of resource.
2040
+ # @return [String]
2041
+ #
2042
+ # @!attribute [rw] resource_id
2043
+ # The ID of the resource (for example., `sg-xxxxxx`).
2044
+ # @return [String]
2045
+ #
2046
+ # @!attribute [rw] resource_name
2047
+ # The custom name of the resource (if available).
2048
+ # @return [String]
2049
+ #
2050
+ # @!attribute [rw] resource_deletion_time
2051
+ # The time that the resource was deleted.
2052
+ # @return [Time]
2053
+ #
2054
+ class ResourceIdentifier < Struct.new(
2055
+ :resource_type,
2056
+ :resource_id,
2057
+ :resource_name,
2058
+ :resource_deletion_time)
2059
+ include Aws::Structure
2060
+ end
2061
+
2062
+ # Defines which resources trigger an evaluation for an AWS Config rule.
2063
+ # The scope can include one or more resource types, a combination of a
2064
+ # tag key and value, or a combination of one resource type and one
2065
+ # resource ID. Specify a scope to constrain which resources trigger an
2066
+ # evaluation for a rule. Otherwise, evaluations for the rule are
2067
+ # triggered when any resource in your recording group changes in
2068
+ # configuration.
2069
+ #
2070
+ # @note When making an API call, you may pass Scope
2071
+ # data as a hash:
2072
+ #
2073
+ # {
2074
+ # compliance_resource_types: ["StringWithCharLimit256"],
2075
+ # tag_key: "StringWithCharLimit128",
2076
+ # tag_value: "StringWithCharLimit256",
2077
+ # compliance_resource_id: "StringWithCharLimit256",
2078
+ # }
2079
+ #
2080
+ # @!attribute [rw] compliance_resource_types
2081
+ # The resource types of only those AWS resources that you want to
2082
+ # trigger an evaluation for the rule. You can only specify one type if
2083
+ # you also specify a resource ID for `ComplianceResourceId`.
2084
+ # @return [Array<String>]
2085
+ #
2086
+ # @!attribute [rw] tag_key
2087
+ # The tag key that is applied to only those AWS resources that you
2088
+ # want you want to trigger an evaluation for the rule.
2089
+ # @return [String]
2090
+ #
2091
+ # @!attribute [rw] tag_value
2092
+ # The tag value applied to only those AWS resources that you want to
2093
+ # trigger an evaluation for the rule. If you specify a value for
2094
+ # `TagValue`, you must also specify a value for `TagKey`.
2095
+ # @return [String]
2096
+ #
2097
+ # @!attribute [rw] compliance_resource_id
2098
+ # The IDs of the only AWS resource that you want to trigger an
2099
+ # evaluation for the rule. If you specify a resource ID, you must
2100
+ # specify one resource type for `ComplianceResourceTypes`.
2101
+ # @return [String]
2102
+ #
2103
+ class Scope < Struct.new(
2104
+ :compliance_resource_types,
2105
+ :tag_key,
2106
+ :tag_value,
2107
+ :compliance_resource_id)
2108
+ include Aws::Structure
2109
+ end
2110
+
2111
+ # Provides the AWS Config rule owner (AWS or customer), the rule
2112
+ # identifier, and the events that trigger the evaluation of your AWS
2113
+ # resources.
2114
+ #
2115
+ # @note When making an API call, you may pass Source
2116
+ # data as a hash:
2117
+ #
2118
+ # {
2119
+ # owner: "CUSTOM_LAMBDA", # required, accepts CUSTOM_LAMBDA, AWS
2120
+ # source_identifier: "StringWithCharLimit256", # required
2121
+ # source_details: [
2122
+ # {
2123
+ # event_source: "aws.config", # accepts aws.config
2124
+ # message_type: "ConfigurationItemChangeNotification", # accepts ConfigurationItemChangeNotification, ConfigurationSnapshotDeliveryCompleted, ScheduledNotification, OversizedConfigurationItemChangeNotification
2125
+ # maximum_execution_frequency: "One_Hour", # accepts One_Hour, Three_Hours, Six_Hours, Twelve_Hours, TwentyFour_Hours
2126
+ # },
2127
+ # ],
2128
+ # }
2129
+ #
2130
+ # @!attribute [rw] owner
2131
+ # Indicates whether AWS or the customer owns and manages the AWS
2132
+ # Config rule.
2133
+ # @return [String]
2134
+ #
2135
+ # @!attribute [rw] source_identifier
2136
+ # For AWS Config managed rules, a predefined identifier from a list.
2137
+ # For example, `IAM_PASSWORD_POLICY` is a managed rule. To reference a
2138
+ # managed rule, see [Using AWS Managed Config Rules][1].
2139
+ #
2140
+ # For custom rules, the identifier is the Amazon Resource Name (ARN)
2141
+ # of the rule's AWS Lambda function, such as
2142
+ # `arn:aws:lambda:us-east-1:123456789012:function:custom_rule_name`.
2143
+ #
2144
+ #
2145
+ #
2146
+ # [1]: http://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_use-managed-rules.html
2147
+ # @return [String]
2148
+ #
2149
+ # @!attribute [rw] source_details
2150
+ # Provides the source and type of the event that causes AWS Config to
2151
+ # evaluate your AWS resources.
2152
+ # @return [Array<Types::SourceDetail>]
2153
+ #
2154
+ class Source < Struct.new(
2155
+ :owner,
2156
+ :source_identifier,
2157
+ :source_details)
2158
+ include Aws::Structure
2159
+ end
2160
+
2161
+ # Provides the source and the message types that trigger AWS Config to
2162
+ # evaluate your AWS resources against a rule. It also provides the
2163
+ # frequency with which you want AWS Config to run evaluations for the
2164
+ # rule if the trigger type is periodic. You can specify the parameter
2165
+ # values for `SourceDetail` only for custom rules.
2166
+ #
2167
+ # @note When making an API call, you may pass SourceDetail
2168
+ # data as a hash:
2169
+ #
2170
+ # {
2171
+ # event_source: "aws.config", # accepts aws.config
2172
+ # message_type: "ConfigurationItemChangeNotification", # accepts ConfigurationItemChangeNotification, ConfigurationSnapshotDeliveryCompleted, ScheduledNotification, OversizedConfigurationItemChangeNotification
2173
+ # maximum_execution_frequency: "One_Hour", # accepts One_Hour, Three_Hours, Six_Hours, Twelve_Hours, TwentyFour_Hours
2174
+ # }
2175
+ #
2176
+ # @!attribute [rw] event_source
2177
+ # The source of the event, such as an AWS service, that triggers AWS
2178
+ # Config to evaluate your AWS resources.
2179
+ # @return [String]
2180
+ #
2181
+ # @!attribute [rw] message_type
2182
+ # The type of notification that triggers AWS Config to run an
2183
+ # evaluation for a rule. You can specify the following notification
2184
+ # types:
2185
+ #
2186
+ # * `ConfigurationItemChangeNotification` - Triggers an evaluation
2187
+ # when AWS Config delivers a configuration item as a result of a
2188
+ # resource change.
2189
+ #
2190
+ # * `OversizedConfigurationItemChangeNotification` - Triggers an
2191
+ # evaluation when AWS Config delivers an oversized configuration
2192
+ # item. AWS Config may generate this notification type when a
2193
+ # resource changes and the notification exceeds the maximum size
2194
+ # allowed by Amazon SNS.
2195
+ #
2196
+ # * `ScheduledNotification` - Triggers a periodic evaluation at the
2197
+ # frequency specified for `MaximumExecutionFrequency`.
2198
+ #
2199
+ # * `ConfigurationSnapshotDeliveryCompleted` - Triggers a periodic
2200
+ # evaluation when AWS Config delivers a configuration snapshot.
2201
+ #
2202
+ # If you want your custom rule to be triggered by configuration
2203
+ # changes, specify both `ConfigurationItemChangeNotification` and
2204
+ # `OversizedConfigurationItemChangeNotification`.
2205
+ # @return [String]
2206
+ #
2207
+ # @!attribute [rw] maximum_execution_frequency
2208
+ # The frequency that you want AWS Config to run evaluations for a rule
2209
+ # that is triggered periodically. If you specify a value for
2210
+ # `MaximumExecutionFrequency`, then `MessageType` must use the
2211
+ # `ScheduledNotification` value.
2212
+ # @return [String]
2213
+ #
2214
+ class SourceDetail < Struct.new(
2215
+ :event_source,
2216
+ :message_type,
2217
+ :maximum_execution_frequency)
2218
+ include Aws::Structure
2219
+ end
2220
+
2221
+ # @note When making an API call, you may pass StartConfigRulesEvaluationRequest
2222
+ # data as a hash:
2223
+ #
2224
+ # {
2225
+ # config_rule_names: ["StringWithCharLimit64"],
2226
+ # }
2227
+ #
2228
+ # @!attribute [rw] config_rule_names
2229
+ # The list of names of Config rules that you want to run evaluations
2230
+ # for.
2231
+ # @return [Array<String>]
2232
+ #
2233
+ class StartConfigRulesEvaluationRequest < Struct.new(
2234
+ :config_rule_names)
2235
+ include Aws::Structure
2236
+ end
2237
+
2238
+ # The output when you start the evaluation for the specified Config
2239
+ # rule.
2240
+ #
2241
+ class StartConfigRulesEvaluationResponse < Aws::EmptyStructure; end
2242
+
2243
+ # The input for the StartConfigurationRecorder action.
2244
+ #
2245
+ # @note When making an API call, you may pass StartConfigurationRecorderRequest
2246
+ # data as a hash:
2247
+ #
2248
+ # {
2249
+ # configuration_recorder_name: "RecorderName", # required
2250
+ # }
2251
+ #
2252
+ # @!attribute [rw] configuration_recorder_name
2253
+ # The name of the recorder object that records each configuration
2254
+ # change made to the resources.
2255
+ # @return [String]
2256
+ #
2257
+ class StartConfigurationRecorderRequest < Struct.new(
2258
+ :configuration_recorder_name)
2259
+ include Aws::Structure
2260
+ end
2261
+
2262
+ # The input for the StopConfigurationRecorder action.
2263
+ #
2264
+ # @note When making an API call, you may pass StopConfigurationRecorderRequest
2265
+ # data as a hash:
2266
+ #
2267
+ # {
2268
+ # configuration_recorder_name: "RecorderName", # required
2269
+ # }
2270
+ #
2271
+ # @!attribute [rw] configuration_recorder_name
2272
+ # The name of the recorder object that records each configuration
2273
+ # change made to the resources.
2274
+ # @return [String]
2275
+ #
2276
+ class StopConfigurationRecorderRequest < Struct.new(
2277
+ :configuration_recorder_name)
2278
+ include Aws::Structure
2279
+ end
2280
+
2129
2281
  end
2130
2282
  end