aws-sdk-computeoptimizerautomation 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,2554 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+ module Aws::ComputeOptimizerAutomation
11
+ module Types
12
+
13
+ # You do not have sufficient permissions to perform this action.
14
+ #
15
+ # @!attribute [rw] message
16
+ # @return [String]
17
+ #
18
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-automation-2025-09-22/AccessDeniedException AWS API Documentation
19
+ #
20
+ class AccessDeniedException < Struct.new(
21
+ :message)
22
+ SENSITIVE = []
23
+ include Aws::Structure
24
+ end
25
+
26
+ # Contains information about an Amazon Web Services account's
27
+ # enrollment and association status with Compute Optimizer Automation.
28
+ #
29
+ # @!attribute [rw] account_id
30
+ # The ID of the Amazon Web Services account.
31
+ # @return [String]
32
+ #
33
+ # @!attribute [rw] status
34
+ # The enrollment status of the account: Active, Inactive, Pending, or
35
+ # Failed.
36
+ # @return [String]
37
+ #
38
+ # @!attribute [rw] organization_rule_mode
39
+ # Specifies whether the management account can create Automation rules
40
+ # that implement optimization actions for this account.
41
+ # @return [String]
42
+ #
43
+ # @!attribute [rw] status_reason
44
+ # The reason for the current Automation enrollment status.
45
+ # @return [String]
46
+ #
47
+ # @!attribute [rw] last_updated_timestamp
48
+ # The timestamp when the account's Automation enrollment status was
49
+ # last updated.
50
+ # @return [Time]
51
+ #
52
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-automation-2025-09-22/AccountInfo AWS API Documentation
53
+ #
54
+ class AccountInfo < Struct.new(
55
+ :account_id,
56
+ :status,
57
+ :organization_rule_mode,
58
+ :status_reason,
59
+ :last_updated_timestamp)
60
+ SENSITIVE = []
61
+ include Aws::Structure
62
+ end
63
+
64
+ # @!attribute [rw] account_ids
65
+ # The IDs of the member accounts to associate. You can specify up to
66
+ # 50 account IDs.
67
+ # @return [Array<String>]
68
+ #
69
+ # @!attribute [rw] client_token
70
+ # A unique identifier to ensure idempotency of the request. Valid for
71
+ # 24 hours after creation.
72
+ #
73
+ # **A suitable default value is auto-generated.** You should normally
74
+ # not need to pass this option.
75
+ # @return [String]
76
+ #
77
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-automation-2025-09-22/AssociateAccountsRequest AWS API Documentation
78
+ #
79
+ class AssociateAccountsRequest < Struct.new(
80
+ :account_ids,
81
+ :client_token)
82
+ SENSITIVE = []
83
+ include Aws::Structure
84
+ end
85
+
86
+ # @!attribute [rw] account_ids
87
+ # The IDs of the member accounts that were successfully associated.
88
+ # @return [Array<String>]
89
+ #
90
+ # @!attribute [rw] errors
91
+ # Any errors that occurred during the association process.
92
+ # @return [Array<String>]
93
+ #
94
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-automation-2025-09-22/AssociateAccountsResponse AWS API Documentation
95
+ #
96
+ class AssociateAccountsResponse < Struct.new(
97
+ :account_ids,
98
+ :errors)
99
+ SENSITIVE = []
100
+ include Aws::Structure
101
+ end
102
+
103
+ # Contains information about an automation event.
104
+ #
105
+ # @!attribute [rw] event_id
106
+ # The unique identifier for the automation event.
107
+ # @return [String]
108
+ #
109
+ # @!attribute [rw] event_description
110
+ # A description of the automation event.
111
+ # @return [String]
112
+ #
113
+ # @!attribute [rw] event_type
114
+ # The type of automation event.
115
+ # @return [String]
116
+ #
117
+ # @!attribute [rw] event_status
118
+ # The current status of the automation event.
119
+ # @return [String]
120
+ #
121
+ # @!attribute [rw] event_status_reason
122
+ # The reason for the current event status.
123
+ # @return [String]
124
+ #
125
+ # @!attribute [rw] resource_arn
126
+ # The Amazon Resource Name (ARN) of the resource affected by the
127
+ # automation event.
128
+ # @return [String]
129
+ #
130
+ # @!attribute [rw] resource_id
131
+ # The ID of the resource affected by the automation event.
132
+ # @return [String]
133
+ #
134
+ # @!attribute [rw] recommended_action_id
135
+ # The ID of the recommended action associated with this automation
136
+ # event.
137
+ # @return [String]
138
+ #
139
+ # @!attribute [rw] account_id
140
+ # The Amazon Web Services account ID associated with the automation
141
+ # event.
142
+ # @return [String]
143
+ #
144
+ # @!attribute [rw] region
145
+ # The Amazon Web Services Region where the automation event occurred.
146
+ # @return [String]
147
+ #
148
+ # @!attribute [rw] rule_id
149
+ # The ID of the automation rule that triggered this event.
150
+ # @return [String]
151
+ #
152
+ # @!attribute [rw] resource_type
153
+ # The type of resource affected by the automation event.
154
+ # @return [String]
155
+ #
156
+ # @!attribute [rw] created_timestamp
157
+ # The timestamp when the automation event was created.
158
+ # @return [Time]
159
+ #
160
+ # @!attribute [rw] completed_timestamp
161
+ # The timestamp when the automation event completed.
162
+ # @return [Time]
163
+ #
164
+ # @!attribute [rw] estimated_monthly_savings
165
+ # The estimated monthly cost savings associated with this automation
166
+ # event.
167
+ # @return [Types::EstimatedMonthlySavings]
168
+ #
169
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-automation-2025-09-22/AutomationEvent AWS API Documentation
170
+ #
171
+ class AutomationEvent < Struct.new(
172
+ :event_id,
173
+ :event_description,
174
+ :event_type,
175
+ :event_status,
176
+ :event_status_reason,
177
+ :resource_arn,
178
+ :resource_id,
179
+ :recommended_action_id,
180
+ :account_id,
181
+ :region,
182
+ :rule_id,
183
+ :resource_type,
184
+ :created_timestamp,
185
+ :completed_timestamp,
186
+ :estimated_monthly_savings)
187
+ SENSITIVE = []
188
+ include Aws::Structure
189
+ end
190
+
191
+ # A filter to apply when listing automation events.
192
+ #
193
+ # @!attribute [rw] name
194
+ # The name of the filter to apply.
195
+ # @return [String]
196
+ #
197
+ # @!attribute [rw] values
198
+ # The values to use for the specified filter.
199
+ # @return [Array<String>]
200
+ #
201
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-automation-2025-09-22/AutomationEventFilter AWS API Documentation
202
+ #
203
+ class AutomationEventFilter < Struct.new(
204
+ :name,
205
+ :values)
206
+ SENSITIVE = []
207
+ include Aws::Structure
208
+ end
209
+
210
+ # Contains information about a step in an automation event.
211
+ #
212
+ # @!attribute [rw] event_id
213
+ # The ID of the automation event this step belongs to.
214
+ # @return [String]
215
+ #
216
+ # @!attribute [rw] step_id
217
+ # The unique identifier for this step.
218
+ # @return [String]
219
+ #
220
+ # @!attribute [rw] step_type
221
+ # The type of step.
222
+ # @return [String]
223
+ #
224
+ # @!attribute [rw] step_status
225
+ # The current status of the step.
226
+ # @return [String]
227
+ #
228
+ # @!attribute [rw] resource_id
229
+ # The unique identifier of the resource being acted upon in this step.
230
+ # @return [String]
231
+ #
232
+ # @!attribute [rw] start_timestamp
233
+ # The timestamp when this automation event step started execution.
234
+ # @return [Time]
235
+ #
236
+ # @!attribute [rw] completed_timestamp
237
+ # The timestamp when this automation event step completed execution.
238
+ # @return [Time]
239
+ #
240
+ # @!attribute [rw] estimated_monthly_savings
241
+ # Contains information about estimated monthly cost savings.
242
+ # @return [Types::EstimatedMonthlySavings]
243
+ #
244
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-automation-2025-09-22/AutomationEventStep AWS API Documentation
245
+ #
246
+ class AutomationEventStep < Struct.new(
247
+ :event_id,
248
+ :step_id,
249
+ :step_type,
250
+ :step_status,
251
+ :resource_id,
252
+ :start_timestamp,
253
+ :completed_timestamp,
254
+ :estimated_monthly_savings)
255
+ SENSITIVE = []
256
+ include Aws::Structure
257
+ end
258
+
259
+ # A summary of automation events grouped by specified dimensions.
260
+ #
261
+ # @!attribute [rw] key
262
+ # The key identifier for this summary grouping.
263
+ # @return [String]
264
+ #
265
+ # @!attribute [rw] dimensions
266
+ # The dimensions used to group this summary, such as event status.
267
+ # @return [Array<Types::SummaryDimension>]
268
+ #
269
+ # @!attribute [rw] time_period
270
+ # The time period covered by this summary, with inclusive start time
271
+ # and exclusive end time.
272
+ # @return [Types::TimePeriod]
273
+ #
274
+ # @!attribute [rw] total
275
+ # The aggregated totals for this summary, including event count and
276
+ # estimated savings.
277
+ # @return [Types::SummaryTotals]
278
+ #
279
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-automation-2025-09-22/AutomationEventSummary AWS API Documentation
280
+ #
281
+ class AutomationEventSummary < Struct.new(
282
+ :key,
283
+ :dimensions,
284
+ :time_period,
285
+ :total)
286
+ SENSITIVE = []
287
+ include Aws::Structure
288
+ end
289
+
290
+ # Represents a complete automation rule configuration including
291
+ # criteria, schedule, and execution settings.
292
+ #
293
+ # @!attribute [rw] rule_arn
294
+ # The Amazon Resource Name (ARN) of the automation rule.
295
+ # @return [String]
296
+ #
297
+ # @!attribute [rw] rule_id
298
+ # The unique identifier of the automation rule.
299
+ # @return [String]
300
+ #
301
+ # @!attribute [rw] name
302
+ # The name of the automation rule.
303
+ # @return [String]
304
+ #
305
+ # @!attribute [rw] description
306
+ # A description of the automation rule.
307
+ # @return [String]
308
+ #
309
+ # @!attribute [rw] rule_type
310
+ # The type of automation rule (OrganizationRule or AccountRule).
311
+ # @return [String]
312
+ #
313
+ # @!attribute [rw] rule_revision
314
+ # The revision number of the automation rule.
315
+ # @return [Integer]
316
+ #
317
+ # @!attribute [rw] account_id
318
+ # The 12-digit Amazon Web Services account ID that owns this
319
+ # automation rule.
320
+ # @return [String]
321
+ #
322
+ # @!attribute [rw] organization_configuration
323
+ # Configuration settings for organization-wide rules.
324
+ # @return [Types::OrganizationConfiguration]
325
+ #
326
+ # @!attribute [rw] priority
327
+ # A string representation of a decimal number between 0 and 1 (having
328
+ # up to 30 digits after the decimal point) that determines the
329
+ # priority of the rule. When multiple rules match the same recommended
330
+ # action, Compute Optimizer assigns the action to the rule with the
331
+ # lowest priority value (highest priority), even if that rule is
332
+ # scheduled to run later than other matching rules.
333
+ # @return [String]
334
+ #
335
+ # @!attribute [rw] recommended_action_types
336
+ # List of recommended action types that this rule can execute.
337
+ # @return [Array<String>]
338
+ #
339
+ # @!attribute [rw] schedule
340
+ # The schedule configuration for when the automation rule should
341
+ # execute.
342
+ # @return [Types::Schedule]
343
+ #
344
+ # @!attribute [rw] status
345
+ # The current status of the automation rule (Active or Inactive).
346
+ # @return [String]
347
+ #
348
+ # @!attribute [rw] created_timestamp
349
+ # The timestamp when the automation rule was created.
350
+ # @return [Time]
351
+ #
352
+ # @!attribute [rw] last_updated_timestamp
353
+ # The timestamp when the automation rule was last updated.
354
+ # @return [Time]
355
+ #
356
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-automation-2025-09-22/AutomationRule AWS API Documentation
357
+ #
358
+ class AutomationRule < Struct.new(
359
+ :rule_arn,
360
+ :rule_id,
361
+ :name,
362
+ :description,
363
+ :rule_type,
364
+ :rule_revision,
365
+ :account_id,
366
+ :organization_configuration,
367
+ :priority,
368
+ :recommended_action_types,
369
+ :schedule,
370
+ :status,
371
+ :created_timestamp,
372
+ :last_updated_timestamp)
373
+ SENSITIVE = []
374
+ include Aws::Structure
375
+ end
376
+
377
+ # @!attribute [rw] name
378
+ # The name of the automation rule.
379
+ # @return [String]
380
+ #
381
+ # @!attribute [rw] description
382
+ # A description of the automation rule.
383
+ # @return [String]
384
+ #
385
+ # @!attribute [rw] rule_type
386
+ # The type of rule.
387
+ #
388
+ # <note markdown="1"> Only the management account or a delegated administrator can set the
389
+ # ruleType to be OrganizationRule.
390
+ #
391
+ # </note>
392
+ # @return [String]
393
+ #
394
+ # @!attribute [rw] organization_configuration
395
+ # Configuration for organization-level rules. Required for
396
+ # OrganizationRule type.
397
+ # @return [Types::OrganizationConfiguration]
398
+ #
399
+ # @!attribute [rw] priority
400
+ # A string representation of a decimal number between 0 and 1 (having
401
+ # up to 30 digits after the decimal point) that determines the
402
+ # priority of the rule. When multiple rules match the same recommended
403
+ # action, Compute Optimizer assigns the action to the rule with the
404
+ # lowest priority value (highest priority), even if that rule is
405
+ # scheduled to run later than other matching rules.
406
+ # @return [String]
407
+ #
408
+ # @!attribute [rw] recommended_action_types
409
+ # The types of recommended actions this rule will automate.
410
+ # @return [Array<String>]
411
+ #
412
+ # @!attribute [rw] criteria
413
+ # A set of conditions that specify which recommended action qualify
414
+ # for implementation. When a rule is active and a recommended action
415
+ # matches these criteria, Compute Optimizer implements the action at
416
+ # the scheduled run time.
417
+ # @return [Types::Criteria]
418
+ #
419
+ # @!attribute [rw] schedule
420
+ # The schedule for when the rule should run.
421
+ # @return [Types::Schedule]
422
+ #
423
+ # @!attribute [rw] status
424
+ # The status of the rule
425
+ # @return [String]
426
+ #
427
+ # @!attribute [rw] tags
428
+ # The tags to associate with the rule.
429
+ # @return [Array<Types::Tag>]
430
+ #
431
+ # @!attribute [rw] client_token
432
+ # A unique identifier to ensure idempotency of the request.
433
+ #
434
+ # **A suitable default value is auto-generated.** You should normally
435
+ # not need to pass this option.
436
+ # @return [String]
437
+ #
438
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-automation-2025-09-22/CreateAutomationRuleRequest AWS API Documentation
439
+ #
440
+ class CreateAutomationRuleRequest < Struct.new(
441
+ :name,
442
+ :description,
443
+ :rule_type,
444
+ :organization_configuration,
445
+ :priority,
446
+ :recommended_action_types,
447
+ :criteria,
448
+ :schedule,
449
+ :status,
450
+ :tags,
451
+ :client_token)
452
+ SENSITIVE = []
453
+ include Aws::Structure
454
+ end
455
+
456
+ # @!attribute [rw] rule_arn
457
+ # The Amazon Resource Name (ARN) of the created rule.
458
+ # @return [String]
459
+ #
460
+ # @!attribute [rw] rule_id
461
+ # The unique identifier of the created rule.
462
+ # @return [String]
463
+ #
464
+ # @!attribute [rw] name
465
+ # The name of the automation rule. Must be 1-128 characters long and
466
+ # contain only alphanumeric characters, underscores, and hyphens.
467
+ # @return [String]
468
+ #
469
+ # @!attribute [rw] description
470
+ # A description of the automation rule. Can be up to 1024 characters
471
+ # long and contain alphanumeric characters, underscores, hyphens,
472
+ # spaces, and certain special characters.
473
+ # @return [String]
474
+ #
475
+ # @!attribute [rw] rule_type
476
+ # The type of automation rule. Can be either OrganizationRule for
477
+ # organization-wide rules or AccountRule for account-specific rules.
478
+ # @return [String]
479
+ #
480
+ # @!attribute [rw] rule_revision
481
+ # The revision number of the automation rule. This is incremented each
482
+ # time the rule is updated.
483
+ # @return [Integer]
484
+ #
485
+ # @!attribute [rw] organization_configuration
486
+ # Configuration settings for organization-wide rules, including rule
487
+ # application order and target account IDs.
488
+ # @return [Types::OrganizationConfiguration]
489
+ #
490
+ # @!attribute [rw] priority
491
+ # The priority level of the automation rule, used to determine
492
+ # execution order when multiple rules apply to the same resource.
493
+ # @return [String]
494
+ #
495
+ # @!attribute [rw] recommended_action_types
496
+ # List of recommended action types that this rule can execute, such as
497
+ # SnapshotAndDeleteUnattachedEbsVolume or UpgradeEbsVolumeType.
498
+ # @return [Array<String>]
499
+ #
500
+ # @!attribute [rw] criteria
501
+ # A set of conditions that specify which recommended action qualify
502
+ # for implementation. When a rule is active and a recommended action
503
+ # matches these criteria, Compute Optimizer implements the action at
504
+ # the scheduled run time. You can specify up to 20 conditions per
505
+ # filter criteria and 20 values per condition.
506
+ # @return [Types::Criteria]
507
+ #
508
+ # @!attribute [rw] schedule
509
+ # The schedule configuration for when the automation rule should
510
+ # execute, including cron expression, timezone, and execution window.
511
+ # @return [Types::Schedule]
512
+ #
513
+ # @!attribute [rw] status
514
+ # The current status of the automation rule. Can be Active or
515
+ # Inactive.
516
+ # @return [String]
517
+ #
518
+ # @!attribute [rw] tags
519
+ # A list of key-value pairs used to categorize and organize the
520
+ # automation rule. Maximum of 200 tags allowed.
521
+ # @return [Array<Types::Tag>]
522
+ #
523
+ # @!attribute [rw] created_timestamp
524
+ # The timestamp when the automation rule was created.
525
+ # @return [Time]
526
+ #
527
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-automation-2025-09-22/CreateAutomationRuleResponse AWS API Documentation
528
+ #
529
+ class CreateAutomationRuleResponse < Struct.new(
530
+ :rule_arn,
531
+ :rule_id,
532
+ :name,
533
+ :description,
534
+ :rule_type,
535
+ :rule_revision,
536
+ :organization_configuration,
537
+ :priority,
538
+ :recommended_action_types,
539
+ :criteria,
540
+ :schedule,
541
+ :status,
542
+ :tags,
543
+ :created_timestamp)
544
+ SENSITIVE = []
545
+ include Aws::Structure
546
+ end
547
+
548
+ # A set of conditions that specify which recommended action qualify for
549
+ # implementation. When a rule is active and a recommended action matches
550
+ # these criteria, Compute Optimizer implements the action at the
551
+ # scheduled run time. You can specify up to 20 conditions per filter
552
+ # criteria and 20 values per condition.
553
+ #
554
+ # @!attribute [rw] region
555
+ # Filter criteria for Amazon Web Services regions where resources must
556
+ # be located.
557
+ # @return [Array<Types::StringCriteriaCondition>]
558
+ #
559
+ # @!attribute [rw] resource_arn
560
+ # Filter criteria for specific resource ARNs to include or exclude.
561
+ # @return [Array<Types::StringCriteriaCondition>]
562
+ #
563
+ # @!attribute [rw] ebs_volume_type
564
+ # Filter criteria for EBS volume types, such as gp2, gp3, io1, io2,
565
+ # st1, or sc1.
566
+ # @return [Array<Types::StringCriteriaCondition>]
567
+ #
568
+ # @!attribute [rw] ebs_volume_size_in_gib
569
+ # Filter criteria for EBS volume sizes in gibibytes (GiB).
570
+ # @return [Array<Types::IntegerCriteriaCondition>]
571
+ #
572
+ # @!attribute [rw] estimated_monthly_savings
573
+ # Filter criteria for estimated monthly cost savings from the
574
+ # recommended action.
575
+ # @return [Array<Types::DoubleCriteriaCondition>]
576
+ #
577
+ # @!attribute [rw] resource_tag
578
+ # Filter criteria for resource tags, allowing filtering by tag key and
579
+ # value combinations.
580
+ # @return [Array<Types::ResourceTagsCriteriaCondition>]
581
+ #
582
+ # @!attribute [rw] look_back_period_in_days
583
+ # Filter criteria for the lookback period in days used to analyze
584
+ # resource utilization.
585
+ # @return [Array<Types::IntegerCriteriaCondition>]
586
+ #
587
+ # @!attribute [rw] restart_needed
588
+ # Filter criteria indicating whether the recommended action requires a
589
+ # resource restart.
590
+ # @return [Array<Types::StringCriteriaCondition>]
591
+ #
592
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-automation-2025-09-22/Criteria AWS API Documentation
593
+ #
594
+ class Criteria < Struct.new(
595
+ :region,
596
+ :resource_arn,
597
+ :ebs_volume_type,
598
+ :ebs_volume_size_in_gib,
599
+ :estimated_monthly_savings,
600
+ :resource_tag,
601
+ :look_back_period_in_days,
602
+ :restart_needed)
603
+ SENSITIVE = []
604
+ include Aws::Structure
605
+ end
606
+
607
+ # @!attribute [rw] rule_arn
608
+ # The ARN of the rule to delete.
609
+ # @return [String]
610
+ #
611
+ # @!attribute [rw] rule_revision
612
+ # The revision number of the rule to delete.
613
+ # @return [Integer]
614
+ #
615
+ # @!attribute [rw] client_token
616
+ # A unique identifier to ensure idempotency of the request.
617
+ #
618
+ # **A suitable default value is auto-generated.** You should normally
619
+ # not need to pass this option.
620
+ # @return [String]
621
+ #
622
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-automation-2025-09-22/DeleteAutomationRuleRequest AWS API Documentation
623
+ #
624
+ class DeleteAutomationRuleRequest < Struct.new(
625
+ :rule_arn,
626
+ :rule_revision,
627
+ :client_token)
628
+ SENSITIVE = []
629
+ include Aws::Structure
630
+ end
631
+
632
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-automation-2025-09-22/DeleteAutomationRuleResponse AWS API Documentation
633
+ #
634
+ class DeleteAutomationRuleResponse < Aws::EmptyStructure; end
635
+
636
+ # @!attribute [rw] account_ids
637
+ # The IDs of the member accounts to disassociate.
638
+ # @return [Array<String>]
639
+ #
640
+ # @!attribute [rw] client_token
641
+ # A unique identifier to ensure idempotency of the request.
642
+ #
643
+ # **A suitable default value is auto-generated.** You should normally
644
+ # not need to pass this option.
645
+ # @return [String]
646
+ #
647
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-automation-2025-09-22/DisassociateAccountsRequest AWS API Documentation
648
+ #
649
+ class DisassociateAccountsRequest < Struct.new(
650
+ :account_ids,
651
+ :client_token)
652
+ SENSITIVE = []
653
+ include Aws::Structure
654
+ end
655
+
656
+ # @!attribute [rw] account_ids
657
+ # The IDs of the member accounts that were successfully disassociated.
658
+ # @return [Array<String>]
659
+ #
660
+ # @!attribute [rw] errors
661
+ # Any errors that occurred during the disassociation process.
662
+ # @return [Array<String>]
663
+ #
664
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-automation-2025-09-22/DisassociateAccountsResponse AWS API Documentation
665
+ #
666
+ class DisassociateAccountsResponse < Struct.new(
667
+ :account_ids,
668
+ :errors)
669
+ SENSITIVE = []
670
+ include Aws::Structure
671
+ end
672
+
673
+ # Defines a condition for filtering based on double/floating-point
674
+ # numeric values with comparison operators.
675
+ #
676
+ # @!attribute [rw] comparison
677
+ # The comparison operator to use, such as equals, greater than, less
678
+ # than, etc.
679
+ # @return [String]
680
+ #
681
+ # @!attribute [rw] values
682
+ # The list of double values to compare against using the specified
683
+ # comparison operator.
684
+ # @return [Array<Float>]
685
+ #
686
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-automation-2025-09-22/DoubleCriteriaCondition AWS API Documentation
687
+ #
688
+ class DoubleCriteriaCondition < Struct.new(
689
+ :comparison,
690
+ :values)
691
+ SENSITIVE = []
692
+ include Aws::Structure
693
+ end
694
+
695
+ # Represents an Amazon EBS volume with its configuration and snapshot
696
+ # usage information.
697
+ #
698
+ # @!attribute [rw] configuration
699
+ # The configuration details of the EBS volume, including type, size,
700
+ # IOPS, and throughput.
701
+ # @return [Types::EbsVolumeConfiguration]
702
+ #
703
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-automation-2025-09-22/EbsVolume AWS API Documentation
704
+ #
705
+ class EbsVolume < Struct.new(
706
+ :configuration)
707
+ SENSITIVE = []
708
+ include Aws::Structure
709
+ end
710
+
711
+ # Configuration details for an Amazon EBS volume.
712
+ #
713
+ # @!attribute [rw] type
714
+ # The EBS volume type, such as gp2, gp3, io1, io2, st1, or sc1.
715
+ # @return [String]
716
+ #
717
+ # @!attribute [rw] size_in_gib
718
+ # The size of the EBS volume in gibibytes (GiB).
719
+ # @return [Integer]
720
+ #
721
+ # @!attribute [rw] iops
722
+ # The number of I/O operations per second (IOPS) provisioned for the
723
+ # volume.
724
+ # @return [Integer]
725
+ #
726
+ # @!attribute [rw] throughput
727
+ # The throughput in MiB/s provisioned for the volume (applicable to
728
+ # gp3, io1, and io2bx volumes).
729
+ # @return [Integer]
730
+ #
731
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-automation-2025-09-22/EbsVolumeConfiguration AWS API Documentation
732
+ #
733
+ class EbsVolumeConfiguration < Struct.new(
734
+ :type,
735
+ :size_in_gib,
736
+ :iops,
737
+ :throughput)
738
+ SENSITIVE = []
739
+ include Aws::Structure
740
+ end
741
+
742
+ # Contains information about estimated monthly cost savings.
743
+ #
744
+ # @!attribute [rw] currency
745
+ # The currency of the estimated savings.
746
+ # @return [String]
747
+ #
748
+ # @!attribute [rw] before_discount_savings
749
+ # The estimated monthly savings before applying any discounts.
750
+ # @return [Float]
751
+ #
752
+ # @!attribute [rw] after_discount_savings
753
+ # The estimated monthly savings after applying any discounts.
754
+ # @return [Float]
755
+ #
756
+ # @!attribute [rw] savings_estimation_mode
757
+ # The mode used to calculate savings, either BeforeDiscount or
758
+ # AfterDiscount.
759
+ # @return [String]
760
+ #
761
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-automation-2025-09-22/EstimatedMonthlySavings AWS API Documentation
762
+ #
763
+ class EstimatedMonthlySavings < Struct.new(
764
+ :currency,
765
+ :before_discount_savings,
766
+ :after_discount_savings,
767
+ :savings_estimation_mode)
768
+ SENSITIVE = []
769
+ include Aws::Structure
770
+ end
771
+
772
+ # A filter used to narrow down results based on specific criteria.
773
+ #
774
+ # @!attribute [rw] name
775
+ # The name of the filter field to apply.
776
+ # @return [String]
777
+ #
778
+ # @!attribute [rw] values
779
+ # The list of values to filter by for the specified filter field.
780
+ # @return [Array<String>]
781
+ #
782
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-automation-2025-09-22/Filter AWS API Documentation
783
+ #
784
+ class Filter < Struct.new(
785
+ :name,
786
+ :values)
787
+ SENSITIVE = []
788
+ include Aws::Structure
789
+ end
790
+
791
+ # You are not authorized to perform this action.
792
+ #
793
+ # @!attribute [rw] message
794
+ # @return [String]
795
+ #
796
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-automation-2025-09-22/ForbiddenException AWS API Documentation
797
+ #
798
+ class ForbiddenException < Struct.new(
799
+ :message)
800
+ SENSITIVE = []
801
+ include Aws::Structure
802
+ end
803
+
804
+ # @!attribute [rw] event_id
805
+ # The ID of the automation event to retrieve.
806
+ # @return [String]
807
+ #
808
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-automation-2025-09-22/GetAutomationEventRequest AWS API Documentation
809
+ #
810
+ class GetAutomationEventRequest < Struct.new(
811
+ :event_id)
812
+ SENSITIVE = []
813
+ include Aws::Structure
814
+ end
815
+
816
+ # @!attribute [rw] event_id
817
+ # The ID of the automation event to retrieve.
818
+ # @return [String]
819
+ #
820
+ # @!attribute [rw] event_description
821
+ # A description of the automation event.
822
+ # @return [String]
823
+ #
824
+ # @!attribute [rw] event_type
825
+ # The type of automation event.
826
+ # @return [String]
827
+ #
828
+ # @!attribute [rw] event_status
829
+ # The current status of the automation event.
830
+ # @return [String]
831
+ #
832
+ # @!attribute [rw] event_status_reason
833
+ # The reason for the current event status.
834
+ # @return [String]
835
+ #
836
+ # @!attribute [rw] resource_arn
837
+ # The Amazon Resource Name (ARN) of the resource affected by the
838
+ # automation event.
839
+ # @return [String]
840
+ #
841
+ # @!attribute [rw] resource_id
842
+ # The ID of the resource affected by the automation event.
843
+ # @return [String]
844
+ #
845
+ # @!attribute [rw] recommended_action_id
846
+ # The ID of the recommended action associated with this automation
847
+ # event.
848
+ # @return [String]
849
+ #
850
+ # @!attribute [rw] account_id
851
+ # The Amazon Web Services account ID associated with the automation
852
+ # event.
853
+ # @return [String]
854
+ #
855
+ # @!attribute [rw] region
856
+ # The Amazon Web Services Region where the automation event occurred.
857
+ # @return [String]
858
+ #
859
+ # @!attribute [rw] rule_id
860
+ # The ID of the automation rule that triggered this event.
861
+ # @return [String]
862
+ #
863
+ # @!attribute [rw] resource_type
864
+ # The type of resource affected by the automation event.
865
+ # @return [String]
866
+ #
867
+ # @!attribute [rw] created_timestamp
868
+ # The timestamp when the automation event was created.
869
+ # @return [Time]
870
+ #
871
+ # @!attribute [rw] completed_timestamp
872
+ # The timestamp when the automation event completed.
873
+ # @return [Time]
874
+ #
875
+ # @!attribute [rw] estimated_monthly_savings
876
+ # Contains information about estimated monthly cost savings.
877
+ # @return [Types::EstimatedMonthlySavings]
878
+ #
879
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-automation-2025-09-22/GetAutomationEventResponse AWS API Documentation
880
+ #
881
+ class GetAutomationEventResponse < Struct.new(
882
+ :event_id,
883
+ :event_description,
884
+ :event_type,
885
+ :event_status,
886
+ :event_status_reason,
887
+ :resource_arn,
888
+ :resource_id,
889
+ :recommended_action_id,
890
+ :account_id,
891
+ :region,
892
+ :rule_id,
893
+ :resource_type,
894
+ :created_timestamp,
895
+ :completed_timestamp,
896
+ :estimated_monthly_savings)
897
+ SENSITIVE = []
898
+ include Aws::Structure
899
+ end
900
+
901
+ # @!attribute [rw] rule_arn
902
+ # The ARN of the rule to retrieve.
903
+ # @return [String]
904
+ #
905
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-automation-2025-09-22/GetAutomationRuleRequest AWS API Documentation
906
+ #
907
+ class GetAutomationRuleRequest < Struct.new(
908
+ :rule_arn)
909
+ SENSITIVE = []
910
+ include Aws::Structure
911
+ end
912
+
913
+ # @!attribute [rw] rule_arn
914
+ # The Amazon Resource Name (ARN) of the automation rule.
915
+ # @return [String]
916
+ #
917
+ # @!attribute [rw] rule_id
918
+ # The unique identifier of the automation rule.
919
+ # @return [String]
920
+ #
921
+ # @!attribute [rw] name
922
+ # The name of the automation rule.
923
+ # @return [String]
924
+ #
925
+ # @!attribute [rw] description
926
+ # A description of the automation rule.
927
+ # @return [String]
928
+ #
929
+ # @!attribute [rw] rule_type
930
+ # The type of automation rule.
931
+ # @return [String]
932
+ #
933
+ # @!attribute [rw] rule_revision
934
+ # The revision number of the automation rule.
935
+ # @return [Integer]
936
+ #
937
+ # @!attribute [rw] account_id
938
+ # The 12-digit Amazon Web Services account ID that owns this
939
+ # automation rule.
940
+ # @return [String]
941
+ #
942
+ # @!attribute [rw] organization_configuration
943
+ # Configuration settings for organization-wide automation rules.
944
+ # @return [Types::OrganizationConfiguration]
945
+ #
946
+ # @!attribute [rw] priority
947
+ # A string representation of a decimal number between 0 and 1 (having
948
+ # up to 30 digits after the decimal point) that determines the
949
+ # priority of the rule.
950
+ # @return [String]
951
+ #
952
+ # @!attribute [rw] recommended_action_types
953
+ # List of recommended action types that this rule can execute.
954
+ # @return [Array<String>]
955
+ #
956
+ # @!attribute [rw] criteria
957
+ # A set of conditions that specify which recommended action qualify
958
+ # for implementation. When a rule is active and a recommended action
959
+ # matches these criteria, Compute Optimizer implements the action at
960
+ # the scheduled run time. You can specify up to 20 conditions per
961
+ # filter criteria and 20 values per condition.
962
+ # @return [Types::Criteria]
963
+ #
964
+ # @!attribute [rw] schedule
965
+ # Configuration for scheduling when automation rules should execute,
966
+ # including timing and execution windows.
967
+ # @return [Types::Schedule]
968
+ #
969
+ # @!attribute [rw] status
970
+ # The current status of the automation rule (Active or Inactive).
971
+ # @return [String]
972
+ #
973
+ # @!attribute [rw] tags
974
+ # The tags associated with the automation rule.
975
+ # @return [Array<Types::Tag>]
976
+ #
977
+ # @!attribute [rw] created_timestamp
978
+ # The timestamp when the automation rule was created.
979
+ # @return [Time]
980
+ #
981
+ # @!attribute [rw] last_updated_timestamp
982
+ # The timestamp when the automation rule was last updated.
983
+ # @return [Time]
984
+ #
985
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-automation-2025-09-22/GetAutomationRuleResponse AWS API Documentation
986
+ #
987
+ class GetAutomationRuleResponse < Struct.new(
988
+ :rule_arn,
989
+ :rule_id,
990
+ :name,
991
+ :description,
992
+ :rule_type,
993
+ :rule_revision,
994
+ :account_id,
995
+ :organization_configuration,
996
+ :priority,
997
+ :recommended_action_types,
998
+ :criteria,
999
+ :schedule,
1000
+ :status,
1001
+ :tags,
1002
+ :created_timestamp,
1003
+ :last_updated_timestamp)
1004
+ SENSITIVE = []
1005
+ include Aws::Structure
1006
+ end
1007
+
1008
+ # @api private
1009
+ #
1010
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-automation-2025-09-22/GetEnrollmentConfigurationRequest AWS API Documentation
1011
+ #
1012
+ class GetEnrollmentConfigurationRequest < Aws::EmptyStructure; end
1013
+
1014
+ # @!attribute [rw] status
1015
+ # The current enrollment status.
1016
+ # @return [String]
1017
+ #
1018
+ # @!attribute [rw] status_reason
1019
+ # The reason for the current enrollment status.
1020
+ # @return [String]
1021
+ #
1022
+ # @!attribute [rw] organization_rule_mode
1023
+ # Specifies whether the management account can create Automation rules
1024
+ # that implement optimization actions for this account.
1025
+ # @return [String]
1026
+ #
1027
+ # @!attribute [rw] last_updated_timestamp
1028
+ # The timestamp of the last update to the enrollment configuration.
1029
+ # @return [Time]
1030
+ #
1031
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-automation-2025-09-22/GetEnrollmentConfigurationResponse AWS API Documentation
1032
+ #
1033
+ class GetEnrollmentConfigurationResponse < Struct.new(
1034
+ :status,
1035
+ :status_reason,
1036
+ :organization_rule_mode,
1037
+ :last_updated_timestamp)
1038
+ SENSITIVE = []
1039
+ include Aws::Structure
1040
+ end
1041
+
1042
+ # The specified client token is already in use.
1043
+ #
1044
+ # @!attribute [rw] message
1045
+ # @return [String]
1046
+ #
1047
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-automation-2025-09-22/IdempotencyTokenInUseException AWS API Documentation
1048
+ #
1049
+ class IdempotencyTokenInUseException < Struct.new(
1050
+ :message)
1051
+ SENSITIVE = []
1052
+ include Aws::Structure
1053
+ end
1054
+
1055
+ # Exception thrown when the same client token is used with different
1056
+ # parameters, indicating a mismatch in idempotent request parameters.
1057
+ #
1058
+ # @!attribute [rw] message
1059
+ # @return [String]
1060
+ #
1061
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-automation-2025-09-22/IdempotentParameterMismatchException AWS API Documentation
1062
+ #
1063
+ class IdempotentParameterMismatchException < Struct.new(
1064
+ :message)
1065
+ SENSITIVE = []
1066
+ include Aws::Structure
1067
+ end
1068
+
1069
+ # Defines a condition for filtering based on integer values with
1070
+ # comparison operators.
1071
+ #
1072
+ # @!attribute [rw] comparison
1073
+ # The comparison operator to use, such as equals, greater than, less
1074
+ # than, etc.
1075
+ # @return [String]
1076
+ #
1077
+ # @!attribute [rw] values
1078
+ # The list of integer values to compare against using the specified
1079
+ # comparison operator.
1080
+ # @return [Array<Integer>]
1081
+ #
1082
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-automation-2025-09-22/IntegerCriteriaCondition AWS API Documentation
1083
+ #
1084
+ class IntegerCriteriaCondition < Struct.new(
1085
+ :comparison,
1086
+ :values)
1087
+ SENSITIVE = []
1088
+ include Aws::Structure
1089
+ end
1090
+
1091
+ # An internal error occurred while processing the request.
1092
+ #
1093
+ # @!attribute [rw] message
1094
+ # @return [String]
1095
+ #
1096
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-automation-2025-09-22/InternalServerException AWS API Documentation
1097
+ #
1098
+ class InternalServerException < Struct.new(
1099
+ :message)
1100
+ SENSITIVE = []
1101
+ include Aws::Structure
1102
+ end
1103
+
1104
+ # One or more parameter values are not valid.
1105
+ #
1106
+ # @!attribute [rw] message
1107
+ # @return [String]
1108
+ #
1109
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-automation-2025-09-22/InvalidParameterValueException AWS API Documentation
1110
+ #
1111
+ class InvalidParameterValueException < Struct.new(
1112
+ :message)
1113
+ SENSITIVE = []
1114
+ include Aws::Structure
1115
+ end
1116
+
1117
+ # @!attribute [rw] max_results
1118
+ # The maximum number of results to return in a single call.
1119
+ # @return [Integer]
1120
+ #
1121
+ # @!attribute [rw] next_token
1122
+ # The token for the next page of results.
1123
+ # @return [String]
1124
+ #
1125
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-automation-2025-09-22/ListAccountsRequest AWS API Documentation
1126
+ #
1127
+ class ListAccountsRequest < Struct.new(
1128
+ :max_results,
1129
+ :next_token)
1130
+ SENSITIVE = []
1131
+ include Aws::Structure
1132
+ end
1133
+
1134
+ # @!attribute [rw] accounts
1135
+ # The list of accounts in your organization enrolled in Compute
1136
+ # Optimizer
1137
+ # @return [Array<Types::AccountInfo>]
1138
+ #
1139
+ # @!attribute [rw] next_token
1140
+ # The token to use to retrieve the next page of results.
1141
+ # @return [String]
1142
+ #
1143
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-automation-2025-09-22/ListAccountsResponse AWS API Documentation
1144
+ #
1145
+ class ListAccountsResponse < Struct.new(
1146
+ :accounts,
1147
+ :next_token)
1148
+ SENSITIVE = []
1149
+ include Aws::Structure
1150
+ end
1151
+
1152
+ # @!attribute [rw] event_id
1153
+ # The ID of the automation event.
1154
+ # @return [String]
1155
+ #
1156
+ # @!attribute [rw] max_results
1157
+ # The maximum number of automation event steps to return in a single
1158
+ # response. Valid range is 1-1000.
1159
+ # @return [Integer]
1160
+ #
1161
+ # @!attribute [rw] next_token
1162
+ # A token used for pagination to retrieve the next set of results when
1163
+ # the response is truncated.
1164
+ # @return [String]
1165
+ #
1166
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-automation-2025-09-22/ListAutomationEventStepsRequest AWS API Documentation
1167
+ #
1168
+ class ListAutomationEventStepsRequest < Struct.new(
1169
+ :event_id,
1170
+ :max_results,
1171
+ :next_token)
1172
+ SENSITIVE = []
1173
+ include Aws::Structure
1174
+ end
1175
+
1176
+ # @!attribute [rw] automation_event_steps
1177
+ # The list of steps for the specified automation event.
1178
+ # @return [Array<Types::AutomationEventStep>]
1179
+ #
1180
+ # @!attribute [rw] next_token
1181
+ # A token used for pagination. If present, indicates there are more
1182
+ # results available and can be used in subsequent requests.
1183
+ # @return [String]
1184
+ #
1185
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-automation-2025-09-22/ListAutomationEventStepsResponse AWS API Documentation
1186
+ #
1187
+ class ListAutomationEventStepsResponse < Struct.new(
1188
+ :automation_event_steps,
1189
+ :next_token)
1190
+ SENSITIVE = []
1191
+ include Aws::Structure
1192
+ end
1193
+
1194
+ # @!attribute [rw] filters
1195
+ # The filters to apply to the list of automation event summaries.
1196
+ # @return [Array<Types::AutomationEventFilter>]
1197
+ #
1198
+ # @!attribute [rw] start_date_inclusive
1199
+ # The start date for filtering automation event summaries, inclusive.
1200
+ # Events created on or after this date will be included.
1201
+ # @return [String]
1202
+ #
1203
+ # @!attribute [rw] end_date_exclusive
1204
+ # The end date for filtering automation event summaries, exclusive.
1205
+ # Events created before this date will be included.
1206
+ # @return [String]
1207
+ #
1208
+ # @!attribute [rw] max_results
1209
+ # The maximum number of automation event summaries to return in a
1210
+ # single response. Valid range is 1-1000.
1211
+ # @return [Integer]
1212
+ #
1213
+ # @!attribute [rw] next_token
1214
+ # A token used for pagination to retrieve the next set of results when
1215
+ # the response is truncated.
1216
+ # @return [String]
1217
+ #
1218
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-automation-2025-09-22/ListAutomationEventSummariesRequest AWS API Documentation
1219
+ #
1220
+ class ListAutomationEventSummariesRequest < Struct.new(
1221
+ :filters,
1222
+ :start_date_inclusive,
1223
+ :end_date_exclusive,
1224
+ :max_results,
1225
+ :next_token)
1226
+ SENSITIVE = []
1227
+ include Aws::Structure
1228
+ end
1229
+
1230
+ # @!attribute [rw] automation_event_summaries
1231
+ # The list of automation event summaries that match the specified
1232
+ # criteria.
1233
+ # @return [Array<Types::AutomationEventSummary>]
1234
+ #
1235
+ # @!attribute [rw] next_token
1236
+ # A token used for pagination. If present, indicates there are more
1237
+ # results available and can be used in subsequent requests.
1238
+ # @return [String]
1239
+ #
1240
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-automation-2025-09-22/ListAutomationEventSummariesResponse AWS API Documentation
1241
+ #
1242
+ class ListAutomationEventSummariesResponse < Struct.new(
1243
+ :automation_event_summaries,
1244
+ :next_token)
1245
+ SENSITIVE = []
1246
+ include Aws::Structure
1247
+ end
1248
+
1249
+ # @!attribute [rw] filters
1250
+ # The filters to apply to the list of automation events.
1251
+ # @return [Array<Types::AutomationEventFilter>]
1252
+ #
1253
+ # @!attribute [rw] start_time_inclusive
1254
+ # The start of the time range to query for events.
1255
+ # @return [Time]
1256
+ #
1257
+ # @!attribute [rw] end_time_exclusive
1258
+ # The end of the time range to query for events.
1259
+ # @return [Time]
1260
+ #
1261
+ # @!attribute [rw] max_results
1262
+ # The maximum number of results to return in a single call.
1263
+ # @return [Integer]
1264
+ #
1265
+ # @!attribute [rw] next_token
1266
+ # The token for the next page of results.
1267
+ # @return [String]
1268
+ #
1269
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-automation-2025-09-22/ListAutomationEventsRequest AWS API Documentation
1270
+ #
1271
+ class ListAutomationEventsRequest < Struct.new(
1272
+ :filters,
1273
+ :start_time_inclusive,
1274
+ :end_time_exclusive,
1275
+ :max_results,
1276
+ :next_token)
1277
+ SENSITIVE = []
1278
+ include Aws::Structure
1279
+ end
1280
+
1281
+ # @!attribute [rw] automation_events
1282
+ # The list of automation events that match the specified criteria.
1283
+ # @return [Array<Types::AutomationEvent>]
1284
+ #
1285
+ # @!attribute [rw] next_token
1286
+ # The token to use to retrieve the next page of results.
1287
+ # @return [String]
1288
+ #
1289
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-automation-2025-09-22/ListAutomationEventsResponse AWS API Documentation
1290
+ #
1291
+ class ListAutomationEventsResponse < Struct.new(
1292
+ :automation_events,
1293
+ :next_token)
1294
+ SENSITIVE = []
1295
+ include Aws::Structure
1296
+ end
1297
+
1298
+ # @!attribute [rw] rule_type
1299
+ # The type of rule.
1300
+ #
1301
+ # <note markdown="1"> Only the management account or a delegated administrator can set the
1302
+ # ruleType to be OrganizationRule.
1303
+ #
1304
+ # </note>
1305
+ # @return [String]
1306
+ #
1307
+ # @!attribute [rw] organization_scope
1308
+ # The organizational scope for the rule preview.
1309
+ # @return [Types::OrganizationScope]
1310
+ #
1311
+ # @!attribute [rw] recommended_action_types
1312
+ # The types of recommended actions to include in the preview.
1313
+ # @return [Array<String>]
1314
+ #
1315
+ # @!attribute [rw] criteria
1316
+ # A set of conditions that specify which recommended action qualify
1317
+ # for implementation. When a rule is active and a recommended action
1318
+ # matches these criteria, Compute Optimizer implements the action at
1319
+ # the scheduled run time.
1320
+ # @return [Types::Criteria]
1321
+ #
1322
+ # @!attribute [rw] max_results
1323
+ # The maximum number of automation rule preview results to return in a
1324
+ # single response. Valid range is 1-1000.
1325
+ # @return [Integer]
1326
+ #
1327
+ # @!attribute [rw] next_token
1328
+ # A token used for pagination to retrieve the next set of results when
1329
+ # the response is truncated.
1330
+ # @return [String]
1331
+ #
1332
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-automation-2025-09-22/ListAutomationRulePreviewRequest AWS API Documentation
1333
+ #
1334
+ class ListAutomationRulePreviewRequest < Struct.new(
1335
+ :rule_type,
1336
+ :organization_scope,
1337
+ :recommended_action_types,
1338
+ :criteria,
1339
+ :max_results,
1340
+ :next_token)
1341
+ SENSITIVE = []
1342
+ include Aws::Structure
1343
+ end
1344
+
1345
+ # @!attribute [rw] preview_results
1346
+ # The list of actions that would be taken based on the specified
1347
+ # criteria.
1348
+ # @return [Array<Types::PreviewResult>]
1349
+ #
1350
+ # @!attribute [rw] next_token
1351
+ # A token used for pagination. If present, indicates there are more
1352
+ # results available and can be used in subsequent requests.
1353
+ # @return [String]
1354
+ #
1355
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-automation-2025-09-22/ListAutomationRulePreviewResponse AWS API Documentation
1356
+ #
1357
+ class ListAutomationRulePreviewResponse < Struct.new(
1358
+ :preview_results,
1359
+ :next_token)
1360
+ SENSITIVE = []
1361
+ include Aws::Structure
1362
+ end
1363
+
1364
+ # @!attribute [rw] rule_type
1365
+ # The type of rule.
1366
+ # @return [String]
1367
+ #
1368
+ # @!attribute [rw] organization_scope
1369
+ # The organizational scope for the rule preview.
1370
+ # @return [Types::OrganizationScope]
1371
+ #
1372
+ # @!attribute [rw] recommended_action_types
1373
+ # The types of recommended actions to include in the preview.
1374
+ # @return [Array<String>]
1375
+ #
1376
+ # @!attribute [rw] criteria
1377
+ # A set of conditions that specify which recommended action qualify
1378
+ # for implementation. When a rule is active and a recommended action
1379
+ # matches these criteria, Compute Optimizer implements the action at
1380
+ # the scheduled run time. You can specify up to 20 conditions per
1381
+ # filter criteria and 20 values per condition.
1382
+ # @return [Types::Criteria]
1383
+ #
1384
+ # @!attribute [rw] max_results
1385
+ # The maximum number of automation rule preview summaries to return in
1386
+ # a single response. Valid range is 1-1000.
1387
+ # @return [Integer]
1388
+ #
1389
+ # @!attribute [rw] next_token
1390
+ # A token used for pagination to retrieve the next set of results when
1391
+ # the response is truncated.
1392
+ # @return [String]
1393
+ #
1394
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-automation-2025-09-22/ListAutomationRulePreviewSummariesRequest AWS API Documentation
1395
+ #
1396
+ class ListAutomationRulePreviewSummariesRequest < Struct.new(
1397
+ :rule_type,
1398
+ :organization_scope,
1399
+ :recommended_action_types,
1400
+ :criteria,
1401
+ :max_results,
1402
+ :next_token)
1403
+ SENSITIVE = []
1404
+ include Aws::Structure
1405
+ end
1406
+
1407
+ # @!attribute [rw] preview_result_summaries
1408
+ # The list of automation rule preview summaries that match the
1409
+ # specified criteria.
1410
+ # @return [Array<Types::PreviewResultSummary>]
1411
+ #
1412
+ # @!attribute [rw] next_token
1413
+ # A token used for pagination. If present, indicates there are more
1414
+ # results available and can be used in subsequent requests.
1415
+ # @return [String]
1416
+ #
1417
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-automation-2025-09-22/ListAutomationRulePreviewSummariesResponse AWS API Documentation
1418
+ #
1419
+ class ListAutomationRulePreviewSummariesResponse < Struct.new(
1420
+ :preview_result_summaries,
1421
+ :next_token)
1422
+ SENSITIVE = []
1423
+ include Aws::Structure
1424
+ end
1425
+
1426
+ # @!attribute [rw] filters
1427
+ # The filters to apply to the list of automation rules.
1428
+ # @return [Array<Types::Filter>]
1429
+ #
1430
+ # @!attribute [rw] max_results
1431
+ # The maximum number of automation rules to return in a single
1432
+ # response. Valid range is 1-1000.
1433
+ # @return [Integer]
1434
+ #
1435
+ # @!attribute [rw] next_token
1436
+ # A token used for pagination to retrieve the next set of results when
1437
+ # the response is truncated.
1438
+ # @return [String]
1439
+ #
1440
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-automation-2025-09-22/ListAutomationRulesRequest AWS API Documentation
1441
+ #
1442
+ class ListAutomationRulesRequest < Struct.new(
1443
+ :filters,
1444
+ :max_results,
1445
+ :next_token)
1446
+ SENSITIVE = []
1447
+ include Aws::Structure
1448
+ end
1449
+
1450
+ # @!attribute [rw] automation_rules
1451
+ # The list of automation rules that match the specified criteria.
1452
+ # @return [Array<Types::AutomationRule>]
1453
+ #
1454
+ # @!attribute [rw] next_token
1455
+ # A token used for pagination. If present, indicates there are more
1456
+ # results available and can be used in subsequent requests.
1457
+ # @return [String]
1458
+ #
1459
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-automation-2025-09-22/ListAutomationRulesResponse AWS API Documentation
1460
+ #
1461
+ class ListAutomationRulesResponse < Struct.new(
1462
+ :automation_rules,
1463
+ :next_token)
1464
+ SENSITIVE = []
1465
+ include Aws::Structure
1466
+ end
1467
+
1468
+ # @!attribute [rw] filters
1469
+ # A list of filters to apply when retrieving recommended action
1470
+ # summaries. Filters can be based on resource type, action type,
1471
+ # account ID, and other criteria.
1472
+ # @return [Array<Types::RecommendedActionFilter>]
1473
+ #
1474
+ # @!attribute [rw] max_results
1475
+ # The maximum number of recommended action summaries to return in a
1476
+ # single response. Valid range is 1-1000.
1477
+ # @return [Integer]
1478
+ #
1479
+ # @!attribute [rw] next_token
1480
+ # A token used for pagination to retrieve the next set of results when
1481
+ # the response is truncated.
1482
+ # @return [String]
1483
+ #
1484
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-automation-2025-09-22/ListRecommendedActionSummariesRequest AWS API Documentation
1485
+ #
1486
+ class ListRecommendedActionSummariesRequest < Struct.new(
1487
+ :filters,
1488
+ :max_results,
1489
+ :next_token)
1490
+ SENSITIVE = []
1491
+ include Aws::Structure
1492
+ end
1493
+
1494
+ # @!attribute [rw] recommended_action_summaries
1495
+ # The summary of recommended actions that match the specified
1496
+ # criteria.
1497
+ # @return [Array<Types::RecommendedActionSummary>]
1498
+ #
1499
+ # @!attribute [rw] next_token
1500
+ # A token used for pagination. If present, indicates there are more
1501
+ # results available and can be used in subsequent requests.
1502
+ # @return [String]
1503
+ #
1504
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-automation-2025-09-22/ListRecommendedActionSummariesResponse AWS API Documentation
1505
+ #
1506
+ class ListRecommendedActionSummariesResponse < Struct.new(
1507
+ :recommended_action_summaries,
1508
+ :next_token)
1509
+ SENSITIVE = []
1510
+ include Aws::Structure
1511
+ end
1512
+
1513
+ # @!attribute [rw] filters
1514
+ # The filters to apply to the list of recommended actions.
1515
+ # @return [Array<Types::RecommendedActionFilter>]
1516
+ #
1517
+ # @!attribute [rw] max_results
1518
+ # The maximum number of recommended actions to return in a single
1519
+ # response. Valid range is 1-1000.
1520
+ # @return [Integer]
1521
+ #
1522
+ # @!attribute [rw] next_token
1523
+ # A token used for pagination to retrieve the next set of results when
1524
+ # the response is truncated.
1525
+ # @return [String]
1526
+ #
1527
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-automation-2025-09-22/ListRecommendedActionsRequest AWS API Documentation
1528
+ #
1529
+ class ListRecommendedActionsRequest < Struct.new(
1530
+ :filters,
1531
+ :max_results,
1532
+ :next_token)
1533
+ SENSITIVE = []
1534
+ include Aws::Structure
1535
+ end
1536
+
1537
+ # @!attribute [rw] recommended_actions
1538
+ # The list of recommended actions that match the specified criteria.
1539
+ # @return [Array<Types::RecommendedAction>]
1540
+ #
1541
+ # @!attribute [rw] next_token
1542
+ # A token used for pagination. If present, indicates there are more
1543
+ # results available and can be used in subsequent requests.
1544
+ # @return [String]
1545
+ #
1546
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-automation-2025-09-22/ListRecommendedActionsResponse AWS API Documentation
1547
+ #
1548
+ class ListRecommendedActionsResponse < Struct.new(
1549
+ :recommended_actions,
1550
+ :next_token)
1551
+ SENSITIVE = []
1552
+ include Aws::Structure
1553
+ end
1554
+
1555
+ # @!attribute [rw] resource_arn
1556
+ # The ARN of the resource to list tags for.
1557
+ # @return [String]
1558
+ #
1559
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-automation-2025-09-22/ListTagsForResourceRequest AWS API Documentation
1560
+ #
1561
+ class ListTagsForResourceRequest < Struct.new(
1562
+ :resource_arn)
1563
+ SENSITIVE = []
1564
+ include Aws::Structure
1565
+ end
1566
+
1567
+ # @!attribute [rw] tags
1568
+ # The list of tags associated with the specified resource.
1569
+ # @return [Array<Types::Tag>]
1570
+ #
1571
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-automation-2025-09-22/ListTagsForResourceResponse AWS API Documentation
1572
+ #
1573
+ class ListTagsForResourceResponse < Struct.new(
1574
+ :tags)
1575
+ SENSITIVE = []
1576
+ include Aws::Structure
1577
+ end
1578
+
1579
+ # The operation can only be performed by a management account.
1580
+ #
1581
+ # @!attribute [rw] message
1582
+ # @return [String]
1583
+ #
1584
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-automation-2025-09-22/NotManagementAccountException AWS API Documentation
1585
+ #
1586
+ class NotManagementAccountException < Struct.new(
1587
+ :message)
1588
+ SENSITIVE = []
1589
+ include Aws::Structure
1590
+ end
1591
+
1592
+ # The account must be opted in to Compute Optimizer Automation before
1593
+ # performing this action.
1594
+ #
1595
+ # @!attribute [rw] message
1596
+ # @return [String]
1597
+ #
1598
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-automation-2025-09-22/OptInRequiredException AWS API Documentation
1599
+ #
1600
+ class OptInRequiredException < Struct.new(
1601
+ :message)
1602
+ SENSITIVE = []
1603
+ include Aws::Structure
1604
+ end
1605
+
1606
+ # Configuration settings for organization-wide automation rules.
1607
+ #
1608
+ # @!attribute [rw] rule_apply_order
1609
+ # Specifies when organization rules should be applied relative to
1610
+ # account rules.
1611
+ # @return [String]
1612
+ #
1613
+ # @!attribute [rw] account_ids
1614
+ # List of specific Amazon Web Services account IDs where the
1615
+ # organization rule should be applied.
1616
+ # @return [Array<String>]
1617
+ #
1618
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-automation-2025-09-22/OrganizationConfiguration AWS API Documentation
1619
+ #
1620
+ class OrganizationConfiguration < Struct.new(
1621
+ :rule_apply_order,
1622
+ :account_ids)
1623
+ SENSITIVE = []
1624
+ include Aws::Structure
1625
+ end
1626
+
1627
+ # Defines the scope for organization-level rules when previewing
1628
+ # matching actions.
1629
+ #
1630
+ # @!attribute [rw] account_ids
1631
+ # List of Amazon Web Services account IDs to include in the
1632
+ # organization scope.
1633
+ # @return [Array<String>]
1634
+ #
1635
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-automation-2025-09-22/OrganizationScope AWS API Documentation
1636
+ #
1637
+ class OrganizationScope < Struct.new(
1638
+ :account_ids)
1639
+ SENSITIVE = []
1640
+ include Aws::Structure
1641
+ end
1642
+
1643
+ # Contains the results of previewing an automation rule against
1644
+ # available recommendations.
1645
+ #
1646
+ # @!attribute [rw] recommended_action_id
1647
+ # The ID of the recommended action being previewed.
1648
+ # @return [String]
1649
+ #
1650
+ # @!attribute [rw] resource_arn
1651
+ # The Amazon Resource Name (ARN) of the resource affected by the
1652
+ # recommended action.
1653
+ # @return [String]
1654
+ #
1655
+ # @!attribute [rw] resource_id
1656
+ # The ID of the resource affected by the recommended action.
1657
+ # @return [String]
1658
+ #
1659
+ # @!attribute [rw] account_id
1660
+ # The Amazon Web Services account ID associated with the resource.
1661
+ # @return [String]
1662
+ #
1663
+ # @!attribute [rw] region
1664
+ # The Amazon Web Services Region where the resource is located.
1665
+ # @return [String]
1666
+ #
1667
+ # @!attribute [rw] resource_type
1668
+ # The type of resource being evaluated.
1669
+ # @return [String]
1670
+ #
1671
+ # @!attribute [rw] look_back_period_in_days
1672
+ # The number of days of historical data used to analyze the resource.
1673
+ # @return [Integer]
1674
+ #
1675
+ # @!attribute [rw] recommended_action_type
1676
+ # The type of recommended action being previewed.
1677
+ # @return [String]
1678
+ #
1679
+ # @!attribute [rw] current_resource_summary
1680
+ # A summary of the resource's current configuration.
1681
+ # @return [String]
1682
+ #
1683
+ # @!attribute [rw] current_resource_details
1684
+ # Detailed configuration information for a specific Amazon Web
1685
+ # Services resource, with type-specific details.
1686
+ # @return [Types::ResourceDetails]
1687
+ #
1688
+ # @!attribute [rw] recommended_resource_summary
1689
+ # A summary of the resource's recommended configuration.
1690
+ # @return [String]
1691
+ #
1692
+ # @!attribute [rw] recommended_resource_details
1693
+ # Detailed configuration information for a specific Amazon Web
1694
+ # Services resource, with type-specific details.
1695
+ # @return [Types::ResourceDetails]
1696
+ #
1697
+ # @!attribute [rw] restart_needed
1698
+ # Indicates whether implementing the recommended action requires a
1699
+ # resource restart.
1700
+ # @return [Boolean]
1701
+ #
1702
+ # @!attribute [rw] estimated_monthly_savings
1703
+ # Contains information about estimated monthly cost savings.
1704
+ # @return [Types::EstimatedMonthlySavings]
1705
+ #
1706
+ # @!attribute [rw] resource_tags
1707
+ # The tags associated with the resource.
1708
+ # @return [Array<Types::Tag>]
1709
+ #
1710
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-automation-2025-09-22/PreviewResult AWS API Documentation
1711
+ #
1712
+ class PreviewResult < Struct.new(
1713
+ :recommended_action_id,
1714
+ :resource_arn,
1715
+ :resource_id,
1716
+ :account_id,
1717
+ :region,
1718
+ :resource_type,
1719
+ :look_back_period_in_days,
1720
+ :recommended_action_type,
1721
+ :current_resource_summary,
1722
+ :current_resource_details,
1723
+ :recommended_resource_summary,
1724
+ :recommended_resource_details,
1725
+ :restart_needed,
1726
+ :estimated_monthly_savings,
1727
+ :resource_tags)
1728
+ SENSITIVE = []
1729
+ include Aws::Structure
1730
+ end
1731
+
1732
+ # Contains a summary of preview results for an automation rule.
1733
+ #
1734
+ # @!attribute [rw] key
1735
+ # The key identifier for this preview result summary.
1736
+ # @return [String]
1737
+ #
1738
+ # @!attribute [rw] total
1739
+ # Aggregate totals for automation rule preview results, including
1740
+ # count and estimated savings.
1741
+ # @return [Types::RulePreviewTotal]
1742
+ #
1743
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-automation-2025-09-22/PreviewResultSummary AWS API Documentation
1744
+ #
1745
+ class PreviewResultSummary < Struct.new(
1746
+ :key,
1747
+ :total)
1748
+ SENSITIVE = []
1749
+ include Aws::Structure
1750
+ end
1751
+
1752
+ # Contains information about a recommended action that can be applied to
1753
+ # optimize an Amazon Web Services resource.
1754
+ #
1755
+ # @!attribute [rw] recommended_action_id
1756
+ # The unique identifier of the recommended action.
1757
+ # @return [String]
1758
+ #
1759
+ # @!attribute [rw] resource_arn
1760
+ # The Amazon Resource Name (ARN) of the resource that the
1761
+ # recommendation applies to.
1762
+ # @return [String]
1763
+ #
1764
+ # @!attribute [rw] resource_id
1765
+ # The ID of the resource that the recommendation applies to.
1766
+ # @return [String]
1767
+ #
1768
+ # @!attribute [rw] account_id
1769
+ # The Amazon Web Services account ID that owns the resource.
1770
+ # @return [String]
1771
+ #
1772
+ # @!attribute [rw] region
1773
+ # The Amazon Web Services Region where the resource is located.
1774
+ # @return [String]
1775
+ #
1776
+ # @!attribute [rw] resource_type
1777
+ # The type of resource being evaluated.
1778
+ # @return [String]
1779
+ #
1780
+ # @!attribute [rw] look_back_period_in_days
1781
+ # The number of days of historical data used to generate the
1782
+ # recommendation.
1783
+ # @return [Integer]
1784
+ #
1785
+ # @!attribute [rw] recommended_action_type
1786
+ # The type of action being recommended.
1787
+ # @return [String]
1788
+ #
1789
+ # @!attribute [rw] current_resource_summary
1790
+ # A summary of the resource's current configuration.
1791
+ # @return [String]
1792
+ #
1793
+ # @!attribute [rw] current_resource_details
1794
+ # Detailed configuration information for a specific Amazon Web
1795
+ # Services resource, with type-specific details.
1796
+ # @return [Types::ResourceDetails]
1797
+ #
1798
+ # @!attribute [rw] recommended_resource_summary
1799
+ # A summary of the resource's recommended configuration.
1800
+ # @return [String]
1801
+ #
1802
+ # @!attribute [rw] recommended_resource_details
1803
+ # Detailed configuration information for a specific Amazon Web
1804
+ # Services resource, with type-specific details.
1805
+ # @return [Types::ResourceDetails]
1806
+ #
1807
+ # @!attribute [rw] restart_needed
1808
+ # Indicates whether implementing the recommended action requires a
1809
+ # resource restart.
1810
+ # @return [Boolean]
1811
+ #
1812
+ # @!attribute [rw] estimated_monthly_savings
1813
+ # Contains information about estimated monthly cost savings.
1814
+ # @return [Types::EstimatedMonthlySavings]
1815
+ #
1816
+ # @!attribute [rw] resource_tags
1817
+ # The tags associated with the resource.
1818
+ # @return [Array<Types::Tag>]
1819
+ #
1820
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-automation-2025-09-22/RecommendedAction AWS API Documentation
1821
+ #
1822
+ class RecommendedAction < Struct.new(
1823
+ :recommended_action_id,
1824
+ :resource_arn,
1825
+ :resource_id,
1826
+ :account_id,
1827
+ :region,
1828
+ :resource_type,
1829
+ :look_back_period_in_days,
1830
+ :recommended_action_type,
1831
+ :current_resource_summary,
1832
+ :current_resource_details,
1833
+ :recommended_resource_summary,
1834
+ :recommended_resource_details,
1835
+ :restart_needed,
1836
+ :estimated_monthly_savings,
1837
+ :resource_tags)
1838
+ SENSITIVE = []
1839
+ include Aws::Structure
1840
+ end
1841
+
1842
+ # A filter used to narrow down recommended action results based on
1843
+ # specific criteria.
1844
+ #
1845
+ # @!attribute [rw] name
1846
+ # The name of the filter field to apply.
1847
+ # @return [String]
1848
+ #
1849
+ # @!attribute [rw] values
1850
+ # List of filter values to match against the specified filter name.
1851
+ # Used to narrow down recommended actions based on specific criteria.
1852
+ # @return [Array<String>]
1853
+ #
1854
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-automation-2025-09-22/RecommendedActionFilter AWS API Documentation
1855
+ #
1856
+ class RecommendedActionFilter < Struct.new(
1857
+ :name,
1858
+ :values)
1859
+ SENSITIVE = []
1860
+ include Aws::Structure
1861
+ end
1862
+
1863
+ # Summary information about recommended actions, grouped by specific
1864
+ # criteria with totals and counts.
1865
+ #
1866
+ # @!attribute [rw] key
1867
+ # The grouping key used to categorize the recommended actions in this
1868
+ # summary.
1869
+ # @return [String]
1870
+ #
1871
+ # @!attribute [rw] total
1872
+ # Aggregate totals for the recommended actions in this group,
1873
+ # including count and estimated savings.
1874
+ # @return [Types::RecommendedActionTotal]
1875
+ #
1876
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-automation-2025-09-22/RecommendedActionSummary AWS API Documentation
1877
+ #
1878
+ class RecommendedActionSummary < Struct.new(
1879
+ :key,
1880
+ :total)
1881
+ SENSITIVE = []
1882
+ include Aws::Structure
1883
+ end
1884
+
1885
+ # Aggregate totals for a group of recommended actions, including count
1886
+ # and estimated monthly savings.
1887
+ #
1888
+ # @!attribute [rw] recommended_action_count
1889
+ # The total number of recommended actions in this group.
1890
+ # @return [Integer]
1891
+ #
1892
+ # @!attribute [rw] estimated_monthly_savings
1893
+ # Contains information about estimated monthly cost savings.
1894
+ # @return [Types::EstimatedMonthlySavings]
1895
+ #
1896
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-automation-2025-09-22/RecommendedActionTotal AWS API Documentation
1897
+ #
1898
+ class RecommendedActionTotal < Struct.new(
1899
+ :recommended_action_count,
1900
+ :estimated_monthly_savings)
1901
+ SENSITIVE = []
1902
+ include Aws::Structure
1903
+ end
1904
+
1905
+ # Detailed configuration information for a specific Amazon Web Services
1906
+ # resource, with type-specific details.
1907
+ #
1908
+ # @note ResourceDetails is a union - when returned from an API call exactly one value will be set and the returned type will be a subclass of ResourceDetails corresponding to the set member.
1909
+ #
1910
+ # @!attribute [rw] ebs_volume
1911
+ # Detailed configuration information specific to EBS volumes,
1912
+ # including volume type, size, IOPS, and throughput settings.
1913
+ # @return [Types::EbsVolume]
1914
+ #
1915
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-automation-2025-09-22/ResourceDetails AWS API Documentation
1916
+ #
1917
+ class ResourceDetails < Struct.new(
1918
+ :ebs_volume,
1919
+ :unknown)
1920
+ SENSITIVE = []
1921
+ include Aws::Structure
1922
+ include Aws::Structure::Union
1923
+
1924
+ class EbsVolume < ResourceDetails; end
1925
+ class Unknown < ResourceDetails; end
1926
+ end
1927
+
1928
+ # The specified resource was not found.
1929
+ #
1930
+ # @!attribute [rw] message
1931
+ # @return [String]
1932
+ #
1933
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-automation-2025-09-22/ResourceNotFoundException AWS API Documentation
1934
+ #
1935
+ class ResourceNotFoundException < Struct.new(
1936
+ :message)
1937
+ SENSITIVE = []
1938
+ include Aws::Structure
1939
+ end
1940
+
1941
+ # Criteria condition for filtering resources based on their tags,
1942
+ # including comparison operators and values.
1943
+ #
1944
+ # @!attribute [rw] comparison
1945
+ # The comparison operator used to evaluate the tag criteria, such as
1946
+ # equals, not equals, or contains.
1947
+ # @return [String]
1948
+ #
1949
+ # @!attribute [rw] key
1950
+ # The tag key to use for comparison when filtering resources.
1951
+ # @return [String]
1952
+ #
1953
+ # @!attribute [rw] values
1954
+ # List of tag values to compare against when filtering resources.
1955
+ # @return [Array<String>]
1956
+ #
1957
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-automation-2025-09-22/ResourceTagsCriteriaCondition AWS API Documentation
1958
+ #
1959
+ class ResourceTagsCriteriaCondition < Struct.new(
1960
+ :comparison,
1961
+ :key,
1962
+ :values)
1963
+ SENSITIVE = []
1964
+ include Aws::Structure
1965
+ end
1966
+
1967
+ # @!attribute [rw] event_id
1968
+ # The ID of the automation event to roll back.
1969
+ # @return [String]
1970
+ #
1971
+ # @!attribute [rw] client_token
1972
+ # A unique, case-sensitive identifier that you provide to ensure the
1973
+ # idempotency of the request. Must be 1-64 characters long and contain
1974
+ # only alphanumeric characters, underscores, and hyphens.
1975
+ #
1976
+ # **A suitable default value is auto-generated.** You should normally
1977
+ # not need to pass this option.
1978
+ # @return [String]
1979
+ #
1980
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-automation-2025-09-22/RollbackAutomationEventRequest AWS API Documentation
1981
+ #
1982
+ class RollbackAutomationEventRequest < Struct.new(
1983
+ :event_id,
1984
+ :client_token)
1985
+ SENSITIVE = []
1986
+ include Aws::Structure
1987
+ end
1988
+
1989
+ # @!attribute [rw] event_id
1990
+ # The ID of the automation event being rolled back.
1991
+ # @return [String]
1992
+ #
1993
+ # @!attribute [rw] event_status
1994
+ # The current status of the rollback operation.
1995
+ # @return [String]
1996
+ #
1997
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-automation-2025-09-22/RollbackAutomationEventResponse AWS API Documentation
1998
+ #
1999
+ class RollbackAutomationEventResponse < Struct.new(
2000
+ :event_id,
2001
+ :event_status)
2002
+ SENSITIVE = []
2003
+ include Aws::Structure
2004
+ end
2005
+
2006
+ # Aggregate totals for automation rule preview results, including count
2007
+ # and estimated savings.
2008
+ #
2009
+ # @!attribute [rw] recommended_action_count
2010
+ # The total number of recommended actions matching the rule preview
2011
+ # configuration.
2012
+ # @return [Integer]
2013
+ #
2014
+ # @!attribute [rw] estimated_monthly_savings
2015
+ # Contains information about estimated monthly cost savings.
2016
+ # @return [Types::EstimatedMonthlySavings]
2017
+ #
2018
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-automation-2025-09-22/RulePreviewTotal AWS API Documentation
2019
+ #
2020
+ class RulePreviewTotal < Struct.new(
2021
+ :recommended_action_count,
2022
+ :estimated_monthly_savings)
2023
+ SENSITIVE = []
2024
+ include Aws::Structure
2025
+ end
2026
+
2027
+ # Configuration for scheduling when automation rules should execute,
2028
+ # including timing and execution windows.
2029
+ #
2030
+ # @!attribute [rw] schedule_expression
2031
+ # The expression that defines when the schedule runs. `cron`
2032
+ # expression is supported. A `cron` expression consists of six fields
2033
+ # separated by white spaces: (`minutes` `hours` `day_of_month` `month`
2034
+ # `day_of_week` `year`)
2035
+ #
2036
+ # <note markdown="1"> You can schedule rules to run at most once per day. Your cron
2037
+ # expression must use specific values (not wildcards) for the minutes
2038
+ # and hours fields. For example: (`30 12 * * *`) runs daily at 12:30
2039
+ # PM UTC.
2040
+ #
2041
+ # </note>
2042
+ # @return [String]
2043
+ #
2044
+ # @!attribute [rw] schedule_expression_timezone
2045
+ # The timezone to use when interpreting the schedule expression.
2046
+ # @return [String]
2047
+ #
2048
+ # @!attribute [rw] execution_window_in_minutes
2049
+ # The time window in minutes during which the automation rule can
2050
+ # start implementing recommended actions.
2051
+ # @return [Integer]
2052
+ #
2053
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-automation-2025-09-22/Schedule AWS API Documentation
2054
+ #
2055
+ class Schedule < Struct.new(
2056
+ :schedule_expression,
2057
+ :schedule_expression_timezone,
2058
+ :execution_window_in_minutes)
2059
+ SENSITIVE = []
2060
+ include Aws::Structure
2061
+ end
2062
+
2063
+ # The request would exceed service quotas.
2064
+ #
2065
+ # @!attribute [rw] message
2066
+ # @return [String]
2067
+ #
2068
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-automation-2025-09-22/ServiceQuotaExceededException AWS API Documentation
2069
+ #
2070
+ class ServiceQuotaExceededException < Struct.new(
2071
+ :message)
2072
+ SENSITIVE = []
2073
+ include Aws::Structure
2074
+ end
2075
+
2076
+ # The service is temporarily unavailable.
2077
+ #
2078
+ # @!attribute [rw] message
2079
+ # @return [String]
2080
+ #
2081
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-automation-2025-09-22/ServiceUnavailableException AWS API Documentation
2082
+ #
2083
+ class ServiceUnavailableException < Struct.new(
2084
+ :message)
2085
+ SENSITIVE = []
2086
+ include Aws::Structure
2087
+ end
2088
+
2089
+ # @!attribute [rw] recommended_action_id
2090
+ # The ID of the recommended action to automate.
2091
+ # @return [String]
2092
+ #
2093
+ # @!attribute [rw] client_token
2094
+ # A unique, case-sensitive identifier that you provide to ensure the
2095
+ # idempotency of the request. Must be 1-64 characters long and contain
2096
+ # only alphanumeric characters, underscores, and hyphens.
2097
+ #
2098
+ # **A suitable default value is auto-generated.** You should normally
2099
+ # not need to pass this option.
2100
+ # @return [String]
2101
+ #
2102
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-automation-2025-09-22/StartAutomationEventRequest AWS API Documentation
2103
+ #
2104
+ class StartAutomationEventRequest < Struct.new(
2105
+ :recommended_action_id,
2106
+ :client_token)
2107
+ SENSITIVE = []
2108
+ include Aws::Structure
2109
+ end
2110
+
2111
+ # @!attribute [rw] recommended_action_id
2112
+ # The ID of the recommended action being automated.
2113
+ # @return [String]
2114
+ #
2115
+ # @!attribute [rw] event_id
2116
+ # The ID of the automation event.
2117
+ # @return [String]
2118
+ #
2119
+ # @!attribute [rw] event_status
2120
+ # The current status of the automation event.
2121
+ # @return [String]
2122
+ #
2123
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-automation-2025-09-22/StartAutomationEventResponse AWS API Documentation
2124
+ #
2125
+ class StartAutomationEventResponse < Struct.new(
2126
+ :recommended_action_id,
2127
+ :event_id,
2128
+ :event_status)
2129
+ SENSITIVE = []
2130
+ include Aws::Structure
2131
+ end
2132
+
2133
+ # Criteria condition for filtering based on string values, including
2134
+ # comparison operators and target values.
2135
+ #
2136
+ # @!attribute [rw] comparison
2137
+ # The comparison operator used to evaluate the string criteria, such
2138
+ # as equals, not equals, or contains.
2139
+ # @return [String]
2140
+ #
2141
+ # @!attribute [rw] values
2142
+ # List of string values to compare against when applying the criteria
2143
+ # condition.
2144
+ # @return [Array<String>]
2145
+ #
2146
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-automation-2025-09-22/StringCriteriaCondition AWS API Documentation
2147
+ #
2148
+ class StringCriteriaCondition < Struct.new(
2149
+ :comparison,
2150
+ :values)
2151
+ SENSITIVE = []
2152
+ include Aws::Structure
2153
+ end
2154
+
2155
+ # A key-value pair used to categorize and group summary data for
2156
+ # analysis and reporting.
2157
+ #
2158
+ # @!attribute [rw] key
2159
+ # The dimension key used for categorizing summary data.
2160
+ # @return [String]
2161
+ #
2162
+ # @!attribute [rw] value
2163
+ # The specific value for this dimension key used in the summary
2164
+ # grouping.
2165
+ # @return [String]
2166
+ #
2167
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-automation-2025-09-22/SummaryDimension AWS API Documentation
2168
+ #
2169
+ class SummaryDimension < Struct.new(
2170
+ :key,
2171
+ :value)
2172
+ SENSITIVE = []
2173
+ include Aws::Structure
2174
+ end
2175
+
2176
+ # Aggregate totals for automation events, including counts and estimated
2177
+ # savings.
2178
+ #
2179
+ # @!attribute [rw] automation_event_count
2180
+ # The total number of automation events in this summary group.
2181
+ # @return [Integer]
2182
+ #
2183
+ # @!attribute [rw] estimated_monthly_savings
2184
+ # Contains information about estimated monthly cost savings.
2185
+ # @return [Types::EstimatedMonthlySavings]
2186
+ #
2187
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-automation-2025-09-22/SummaryTotals AWS API Documentation
2188
+ #
2189
+ class SummaryTotals < Struct.new(
2190
+ :automation_event_count,
2191
+ :estimated_monthly_savings)
2192
+ SENSITIVE = []
2193
+ include Aws::Structure
2194
+ end
2195
+
2196
+ # A key-value pair used to categorize and organize Amazon Web Services
2197
+ # resources and automation rules.
2198
+ #
2199
+ # @!attribute [rw] key
2200
+ # The tag key, which can be up to 128 characters long.
2201
+ # @return [String]
2202
+ #
2203
+ # @!attribute [rw] value
2204
+ # The tag value, which can be up to 256 characters long.
2205
+ # @return [String]
2206
+ #
2207
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-automation-2025-09-22/Tag AWS API Documentation
2208
+ #
2209
+ class Tag < Struct.new(
2210
+ :key,
2211
+ :value)
2212
+ SENSITIVE = []
2213
+ include Aws::Structure
2214
+ end
2215
+
2216
+ # @!attribute [rw] resource_arn
2217
+ # The ARN of the resource to tag.
2218
+ # @return [String]
2219
+ #
2220
+ # @!attribute [rw] rule_revision
2221
+ # The revision number of the automation rule to tag. This ensures
2222
+ # you're tagging the correct version of the rule.
2223
+ # @return [Integer]
2224
+ #
2225
+ # @!attribute [rw] tags
2226
+ # The tags to add to the resource.
2227
+ # @return [Array<Types::Tag>]
2228
+ #
2229
+ # @!attribute [rw] client_token
2230
+ # A unique, case-sensitive identifier that you provide to ensure the
2231
+ # idempotency of the request. Must be 1-64 characters long and contain
2232
+ # only alphanumeric characters, underscores, and hyphens.
2233
+ #
2234
+ # **A suitable default value is auto-generated.** You should normally
2235
+ # not need to pass this option.
2236
+ # @return [String]
2237
+ #
2238
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-automation-2025-09-22/TagResourceRequest AWS API Documentation
2239
+ #
2240
+ class TagResourceRequest < Struct.new(
2241
+ :resource_arn,
2242
+ :rule_revision,
2243
+ :tags,
2244
+ :client_token)
2245
+ SENSITIVE = []
2246
+ include Aws::Structure
2247
+ end
2248
+
2249
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-automation-2025-09-22/TagResourceResponse AWS API Documentation
2250
+ #
2251
+ class TagResourceResponse < Aws::EmptyStructure; end
2252
+
2253
+ # The request was denied due to request throttling.
2254
+ #
2255
+ # @!attribute [rw] message
2256
+ # @return [String]
2257
+ #
2258
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-automation-2025-09-22/ThrottlingException AWS API Documentation
2259
+ #
2260
+ class ThrottlingException < Struct.new(
2261
+ :message)
2262
+ SENSITIVE = []
2263
+ include Aws::Structure
2264
+ end
2265
+
2266
+ # Defines a time range with inclusive start time and exclusive end time
2267
+ # for filtering and analysis.
2268
+ #
2269
+ # @!attribute [rw] start_time_inclusive
2270
+ # The start time of the period, inclusive. Events at or after this
2271
+ # time are included.
2272
+ # @return [Time]
2273
+ #
2274
+ # @!attribute [rw] end_time_exclusive
2275
+ # The end time of the period, exclusive. Events before this time are
2276
+ # included.
2277
+ # @return [Time]
2278
+ #
2279
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-automation-2025-09-22/TimePeriod AWS API Documentation
2280
+ #
2281
+ class TimePeriod < Struct.new(
2282
+ :start_time_inclusive,
2283
+ :end_time_exclusive)
2284
+ SENSITIVE = []
2285
+ include Aws::Structure
2286
+ end
2287
+
2288
+ # @!attribute [rw] resource_arn
2289
+ # The ARN of the resource to untag.
2290
+ # @return [String]
2291
+ #
2292
+ # @!attribute [rw] rule_revision
2293
+ # The revision number of the automation rule to untag. This ensures
2294
+ # you're untagging the correct version of the rule.
2295
+ # @return [Integer]
2296
+ #
2297
+ # @!attribute [rw] tag_keys
2298
+ # The keys of the tags to remove from the resource.
2299
+ # @return [Array<String>]
2300
+ #
2301
+ # @!attribute [rw] client_token
2302
+ # A unique, case-sensitive identifier that you provide to ensure the
2303
+ # idempotency of the request. Must be 1-64 characters long and contain
2304
+ # only alphanumeric characters, underscores, and hyphens.
2305
+ #
2306
+ # **A suitable default value is auto-generated.** You should normally
2307
+ # not need to pass this option.
2308
+ # @return [String]
2309
+ #
2310
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-automation-2025-09-22/UntagResourceRequest AWS API Documentation
2311
+ #
2312
+ class UntagResourceRequest < Struct.new(
2313
+ :resource_arn,
2314
+ :rule_revision,
2315
+ :tag_keys,
2316
+ :client_token)
2317
+ SENSITIVE = []
2318
+ include Aws::Structure
2319
+ end
2320
+
2321
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-automation-2025-09-22/UntagResourceResponse AWS API Documentation
2322
+ #
2323
+ class UntagResourceResponse < Aws::EmptyStructure; end
2324
+
2325
+ # @!attribute [rw] rule_arn
2326
+ # The ARN of the rule to update.
2327
+ # @return [String]
2328
+ #
2329
+ # @!attribute [rw] rule_revision
2330
+ # The revision number of the rule to update.
2331
+ # @return [Integer]
2332
+ #
2333
+ # @!attribute [rw] name
2334
+ # The updated name of the automation rule. Must be 1-128 characters
2335
+ # long and contain only alphanumeric characters, underscores, and
2336
+ # hyphens.
2337
+ # @return [String]
2338
+ #
2339
+ # @!attribute [rw] description
2340
+ # The updated description of the automation rule. Can be up to 1024
2341
+ # characters long and contain alphanumeric characters, underscores,
2342
+ # hyphens, spaces, and certain special characters.
2343
+ # @return [String]
2344
+ #
2345
+ # @!attribute [rw] rule_type
2346
+ # The updated type of automation rule. Can be either OrganizationRule
2347
+ # for organization-wide rules or AccountRule for account-specific
2348
+ # rules.
2349
+ # @return [String]
2350
+ #
2351
+ # @!attribute [rw] organization_configuration
2352
+ # Updated configuration settings for organization-wide rules,
2353
+ # including rule application order and target account IDs.
2354
+ # @return [Types::OrganizationConfiguration]
2355
+ #
2356
+ # @!attribute [rw] priority
2357
+ # The updated priority level of the automation rule, used to determine
2358
+ # execution order when multiple rules apply to the same resource.
2359
+ # @return [String]
2360
+ #
2361
+ # @!attribute [rw] recommended_action_types
2362
+ # Updated list of recommended action types that this rule can execute,
2363
+ # such as SnapshotAndDeleteUnattachedEbsVolume or
2364
+ # UpgradeEbsVolumeType.
2365
+ # @return [Array<String>]
2366
+ #
2367
+ # @!attribute [rw] criteria
2368
+ # A set of conditions that specify which recommended action qualify
2369
+ # for implementation. When a rule is active and a recommended action
2370
+ # matches these criteria, Compute Optimizer implements the action at
2371
+ # the scheduled run time. You can specify up to 20 conditions per
2372
+ # filter criteria and 20 values per condition.
2373
+ # @return [Types::Criteria]
2374
+ #
2375
+ # @!attribute [rw] schedule
2376
+ # The updated schedule configuration for when the automation rule
2377
+ # should execute, including cron expression, timezone, and execution
2378
+ # window.
2379
+ # @return [Types::Schedule]
2380
+ #
2381
+ # @!attribute [rw] status
2382
+ # The updated status of the automation rule. Can be Active or
2383
+ # Inactive.
2384
+ # @return [String]
2385
+ #
2386
+ # @!attribute [rw] client_token
2387
+ # A unique, case-sensitive identifier that you provide to ensure the
2388
+ # idempotency of the request. Must be 1-64 characters long and contain
2389
+ # only alphanumeric characters, underscores, and hyphens.
2390
+ #
2391
+ # **A suitable default value is auto-generated.** You should normally
2392
+ # not need to pass this option.
2393
+ # @return [String]
2394
+ #
2395
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-automation-2025-09-22/UpdateAutomationRuleRequest AWS API Documentation
2396
+ #
2397
+ class UpdateAutomationRuleRequest < Struct.new(
2398
+ :rule_arn,
2399
+ :rule_revision,
2400
+ :name,
2401
+ :description,
2402
+ :rule_type,
2403
+ :organization_configuration,
2404
+ :priority,
2405
+ :recommended_action_types,
2406
+ :criteria,
2407
+ :schedule,
2408
+ :status,
2409
+ :client_token)
2410
+ SENSITIVE = []
2411
+ include Aws::Structure
2412
+ end
2413
+
2414
+ # @!attribute [rw] rule_arn
2415
+ # The ARN of the updated rule.
2416
+ # @return [String]
2417
+ #
2418
+ # @!attribute [rw] rule_revision
2419
+ # The new revision number of the updated rule.
2420
+ # @return [Integer]
2421
+ #
2422
+ # @!attribute [rw] name
2423
+ # The updated name of the automation rule.
2424
+ # @return [String]
2425
+ #
2426
+ # @!attribute [rw] description
2427
+ # The updated description of the automation rule.
2428
+ # @return [String]
2429
+ #
2430
+ # @!attribute [rw] rule_type
2431
+ # The updated type of automation rule.
2432
+ # @return [String]
2433
+ #
2434
+ # @!attribute [rw] organization_configuration
2435
+ # The updated organization configuration settings.
2436
+ # @return [Types::OrganizationConfiguration]
2437
+ #
2438
+ # @!attribute [rw] priority
2439
+ # The updated priority level of the automation rule.
2440
+ # @return [String]
2441
+ #
2442
+ # @!attribute [rw] recommended_action_types
2443
+ # The updated list of recommended action types.
2444
+ # @return [Array<String>]
2445
+ #
2446
+ # @!attribute [rw] criteria
2447
+ # A set of conditions that specify which recommended action qualify
2448
+ # for implementation. When a rule is active and a recommended action
2449
+ # matches these criteria, Compute Optimizer implements the action at
2450
+ # the scheduled run time. You can specify up to 20 conditions per
2451
+ # filter criteria and 20 values per condition.
2452
+ # @return [Types::Criteria]
2453
+ #
2454
+ # @!attribute [rw] schedule
2455
+ # The updated schedule configuration.
2456
+ # @return [Types::Schedule]
2457
+ #
2458
+ # @!attribute [rw] status
2459
+ # The updated status of the automation rule.
2460
+ # @return [String]
2461
+ #
2462
+ # @!attribute [rw] created_timestamp
2463
+ # The timestamp when the automation rule was originally created.
2464
+ # @return [Time]
2465
+ #
2466
+ # @!attribute [rw] last_updated_timestamp
2467
+ # The timestamp when the automation rule was last updated.
2468
+ # @return [Time]
2469
+ #
2470
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-automation-2025-09-22/UpdateAutomationRuleResponse AWS API Documentation
2471
+ #
2472
+ class UpdateAutomationRuleResponse < Struct.new(
2473
+ :rule_arn,
2474
+ :rule_revision,
2475
+ :name,
2476
+ :description,
2477
+ :rule_type,
2478
+ :organization_configuration,
2479
+ :priority,
2480
+ :recommended_action_types,
2481
+ :criteria,
2482
+ :schedule,
2483
+ :status,
2484
+ :created_timestamp,
2485
+ :last_updated_timestamp)
2486
+ SENSITIVE = []
2487
+ include Aws::Structure
2488
+ end
2489
+
2490
+ # @!attribute [rw] status
2491
+ # The desired enrollment status.
2492
+ #
2493
+ # * Active - Enables the Automation feature for your account.
2494
+ #
2495
+ # * Inactive - Disables the Automation feature for your account and
2496
+ # stops all of your automation rules. If you opt in again later, all
2497
+ # rules will be inactive, and you must enable the rules you want to
2498
+ # run. You must wait at least 24 hours after opting out to opt in
2499
+ # again.
2500
+ #
2501
+ # <note markdown="1"> The `Pending` and `Failed` options cannot be used to update the
2502
+ # enrollment status of an account. They are returned in the response
2503
+ # of a request to update the enrollment status of an account.
2504
+ #
2505
+ # If you are a member account, your account must be disassociated from
2506
+ # your organization’s management account before you can disable
2507
+ # Automation. Contact your administrator to make this change.
2508
+ #
2509
+ # </note>
2510
+ # @return [String]
2511
+ #
2512
+ # @!attribute [rw] client_token
2513
+ # A unique, case-sensitive identifier that you provide to ensure the
2514
+ # idempotency of the request. Must be 1-64 characters long and contain
2515
+ # only alphanumeric characters, underscores, and hyphens.
2516
+ #
2517
+ # **A suitable default value is auto-generated.** You should normally
2518
+ # not need to pass this option.
2519
+ # @return [String]
2520
+ #
2521
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-automation-2025-09-22/UpdateEnrollmentConfigurationRequest AWS API Documentation
2522
+ #
2523
+ class UpdateEnrollmentConfigurationRequest < Struct.new(
2524
+ :status,
2525
+ :client_token)
2526
+ SENSITIVE = []
2527
+ include Aws::Structure
2528
+ end
2529
+
2530
+ # @!attribute [rw] status
2531
+ # The updated enrollment status.
2532
+ # @return [String]
2533
+ #
2534
+ # @!attribute [rw] status_reason
2535
+ # The reason for the updated enrollment status.
2536
+ # @return [String]
2537
+ #
2538
+ # @!attribute [rw] last_updated_timestamp
2539
+ # The timestamp when the enrollment configuration was last updated.
2540
+ # @return [Time]
2541
+ #
2542
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-automation-2025-09-22/UpdateEnrollmentConfigurationResponse AWS API Documentation
2543
+ #
2544
+ class UpdateEnrollmentConfigurationResponse < Struct.new(
2545
+ :status,
2546
+ :status_reason,
2547
+ :last_updated_timestamp)
2548
+ SENSITIVE = []
2549
+ include Aws::Structure
2550
+ end
2551
+
2552
+ end
2553
+ end
2554
+