@aws-sdk/client-compute-optimizer-automation 3.938.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.
Files changed (173) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +392 -0
  3. package/dist-cjs/auth/httpAuthSchemeProvider.js +47 -0
  4. package/dist-cjs/endpoint/endpointResolver.js +18 -0
  5. package/dist-cjs/endpoint/ruleset.js +7 -0
  6. package/dist-cjs/index.js +1668 -0
  7. package/dist-cjs/runtimeConfig.browser.js +39 -0
  8. package/dist-cjs/runtimeConfig.js +56 -0
  9. package/dist-cjs/runtimeConfig.native.js +15 -0
  10. package/dist-cjs/runtimeConfig.shared.js +41 -0
  11. package/dist-es/ComputeOptimizerAutomation.js +53 -0
  12. package/dist-es/ComputeOptimizerAutomationClient.js +50 -0
  13. package/dist-es/auth/httpAuthExtensionConfiguration.js +38 -0
  14. package/dist-es/auth/httpAuthSchemeProvider.js +41 -0
  15. package/dist-es/commands/AssociateAccountsCommand.js +16 -0
  16. package/dist-es/commands/CreateAutomationRuleCommand.js +16 -0
  17. package/dist-es/commands/DeleteAutomationRuleCommand.js +16 -0
  18. package/dist-es/commands/DisassociateAccountsCommand.js +16 -0
  19. package/dist-es/commands/GetAutomationEventCommand.js +16 -0
  20. package/dist-es/commands/GetAutomationRuleCommand.js +16 -0
  21. package/dist-es/commands/GetEnrollmentConfigurationCommand.js +16 -0
  22. package/dist-es/commands/ListAccountsCommand.js +16 -0
  23. package/dist-es/commands/ListAutomationEventStepsCommand.js +16 -0
  24. package/dist-es/commands/ListAutomationEventSummariesCommand.js +16 -0
  25. package/dist-es/commands/ListAutomationEventsCommand.js +16 -0
  26. package/dist-es/commands/ListAutomationRulePreviewCommand.js +16 -0
  27. package/dist-es/commands/ListAutomationRulePreviewSummariesCommand.js +16 -0
  28. package/dist-es/commands/ListAutomationRulesCommand.js +16 -0
  29. package/dist-es/commands/ListRecommendedActionSummariesCommand.js +16 -0
  30. package/dist-es/commands/ListRecommendedActionsCommand.js +16 -0
  31. package/dist-es/commands/ListTagsForResourceCommand.js +16 -0
  32. package/dist-es/commands/RollbackAutomationEventCommand.js +16 -0
  33. package/dist-es/commands/StartAutomationEventCommand.js +16 -0
  34. package/dist-es/commands/TagResourceCommand.js +16 -0
  35. package/dist-es/commands/UntagResourceCommand.js +16 -0
  36. package/dist-es/commands/UpdateAutomationRuleCommand.js +16 -0
  37. package/dist-es/commands/UpdateEnrollmentConfigurationCommand.js +16 -0
  38. package/dist-es/commands/index.js +23 -0
  39. package/dist-es/endpoint/EndpointParameters.js +13 -0
  40. package/dist-es/endpoint/endpointResolver.js +14 -0
  41. package/dist-es/endpoint/ruleset.js +4 -0
  42. package/dist-es/extensionConfiguration.js +1 -0
  43. package/dist-es/index.js +7 -0
  44. package/dist-es/models/ComputeOptimizerAutomationServiceException.js +8 -0
  45. package/dist-es/models/enums.js +74 -0
  46. package/dist-es/models/errors.js +145 -0
  47. package/dist-es/models/models_0.js +28 -0
  48. package/dist-es/pagination/Interfaces.js +1 -0
  49. package/dist-es/pagination/ListAccountsPaginator.js +4 -0
  50. package/dist-es/pagination/ListAutomationEventStepsPaginator.js +4 -0
  51. package/dist-es/pagination/ListAutomationEventSummariesPaginator.js +4 -0
  52. package/dist-es/pagination/ListAutomationEventsPaginator.js +4 -0
  53. package/dist-es/pagination/ListAutomationRulePreviewPaginator.js +4 -0
  54. package/dist-es/pagination/ListAutomationRulePreviewSummariesPaginator.js +4 -0
  55. package/dist-es/pagination/ListAutomationRulesPaginator.js +4 -0
  56. package/dist-es/pagination/ListRecommendedActionSummariesPaginator.js +4 -0
  57. package/dist-es/pagination/ListRecommendedActionsPaginator.js +4 -0
  58. package/dist-es/pagination/index.js +10 -0
  59. package/dist-es/runtimeConfig.browser.js +34 -0
  60. package/dist-es/runtimeConfig.js +51 -0
  61. package/dist-es/runtimeConfig.native.js +11 -0
  62. package/dist-es/runtimeConfig.shared.js +37 -0
  63. package/dist-es/runtimeExtensions.js +9 -0
  64. package/dist-es/schemas/schemas_0.js +950 -0
  65. package/dist-types/ComputeOptimizerAutomation.d.ts +178 -0
  66. package/dist-types/ComputeOptimizerAutomationClient.d.ts +219 -0
  67. package/dist-types/auth/httpAuthExtensionConfiguration.d.ts +29 -0
  68. package/dist-types/auth/httpAuthSchemeProvider.d.ts +75 -0
  69. package/dist-types/commands/AssociateAccountsCommand.d.ts +112 -0
  70. package/dist-types/commands/CreateAutomationRuleCommand.d.ts +294 -0
  71. package/dist-types/commands/DeleteAutomationRuleCommand.d.ts +104 -0
  72. package/dist-types/commands/DisassociateAccountsCommand.d.ts +112 -0
  73. package/dist-types/commands/GetAutomationEventCommand.d.ts +117 -0
  74. package/dist-types/commands/GetAutomationRuleCommand.d.ts +195 -0
  75. package/dist-types/commands/GetEnrollmentConfigurationCommand.d.ts +99 -0
  76. package/dist-types/commands/ListAccountsCommand.d.ts +108 -0
  77. package/dist-types/commands/ListAutomationEventStepsCommand.d.ts +117 -0
  78. package/dist-types/commands/ListAutomationEventSummariesCommand.d.ts +130 -0
  79. package/dist-types/commands/ListAutomationEventsCommand.d.ts +130 -0
  80. package/dist-types/commands/ListAutomationRulePreviewCommand.d.ts +219 -0
  81. package/dist-types/commands/ListAutomationRulePreviewSummariesCommand.d.ts +186 -0
  82. package/dist-types/commands/ListAutomationRulesCommand.d.ts +133 -0
  83. package/dist-types/commands/ListRecommendedActionSummariesCommand.d.ts +118 -0
  84. package/dist-types/commands/ListRecommendedActionsCommand.d.ts +151 -0
  85. package/dist-types/commands/ListTagsForResourceCommand.d.ts +103 -0
  86. package/dist-types/commands/RollbackAutomationEventCommand.d.ts +106 -0
  87. package/dist-types/commands/StartAutomationEventCommand.d.ts +110 -0
  88. package/dist-types/commands/TagResourceCommand.d.ts +110 -0
  89. package/dist-types/commands/UntagResourceCommand.d.ts +107 -0
  90. package/dist-types/commands/UpdateAutomationRuleCommand.d.ts +281 -0
  91. package/dist-types/commands/UpdateEnrollmentConfigurationCommand.d.ts +110 -0
  92. package/dist-types/commands/index.d.ts +23 -0
  93. package/dist-types/endpoint/EndpointParameters.d.ts +38 -0
  94. package/dist-types/endpoint/endpointResolver.d.ts +5 -0
  95. package/dist-types/endpoint/ruleset.d.ts +2 -0
  96. package/dist-types/extensionConfiguration.d.ts +9 -0
  97. package/dist-types/index.d.ts +16 -0
  98. package/dist-types/models/ComputeOptimizerAutomationServiceException.d.ts +14 -0
  99. package/dist-types/models/enums.d.ts +178 -0
  100. package/dist-types/models/errors.d.ts +146 -0
  101. package/dist-types/models/models_0.d.ts +2028 -0
  102. package/dist-types/pagination/Interfaces.d.ts +8 -0
  103. package/dist-types/pagination/ListAccountsPaginator.d.ts +7 -0
  104. package/dist-types/pagination/ListAutomationEventStepsPaginator.d.ts +7 -0
  105. package/dist-types/pagination/ListAutomationEventSummariesPaginator.d.ts +7 -0
  106. package/dist-types/pagination/ListAutomationEventsPaginator.d.ts +7 -0
  107. package/dist-types/pagination/ListAutomationRulePreviewPaginator.d.ts +7 -0
  108. package/dist-types/pagination/ListAutomationRulePreviewSummariesPaginator.d.ts +7 -0
  109. package/dist-types/pagination/ListAutomationRulesPaginator.d.ts +7 -0
  110. package/dist-types/pagination/ListRecommendedActionSummariesPaginator.d.ts +7 -0
  111. package/dist-types/pagination/ListRecommendedActionsPaginator.d.ts +7 -0
  112. package/dist-types/pagination/index.d.ts +10 -0
  113. package/dist-types/runtimeConfig.browser.d.ts +51 -0
  114. package/dist-types/runtimeConfig.d.ts +51 -0
  115. package/dist-types/runtimeConfig.native.d.ts +50 -0
  116. package/dist-types/runtimeConfig.shared.d.ts +22 -0
  117. package/dist-types/runtimeExtensions.d.ts +17 -0
  118. package/dist-types/schemas/schemas_0.d.ts +141 -0
  119. package/dist-types/ts3.4/ComputeOptimizerAutomation.d.ts +411 -0
  120. package/dist-types/ts3.4/ComputeOptimizerAutomationClient.d.ts +264 -0
  121. package/dist-types/ts3.4/auth/httpAuthExtensionConfiguration.d.ts +32 -0
  122. package/dist-types/ts3.4/auth/httpAuthSchemeProvider.d.ts +47 -0
  123. package/dist-types/ts3.4/commands/AssociateAccountsCommand.d.ts +51 -0
  124. package/dist-types/ts3.4/commands/CreateAutomationRuleCommand.d.ts +51 -0
  125. package/dist-types/ts3.4/commands/DeleteAutomationRuleCommand.d.ts +51 -0
  126. package/dist-types/ts3.4/commands/DisassociateAccountsCommand.d.ts +51 -0
  127. package/dist-types/ts3.4/commands/GetAutomationEventCommand.d.ts +51 -0
  128. package/dist-types/ts3.4/commands/GetAutomationRuleCommand.d.ts +51 -0
  129. package/dist-types/ts3.4/commands/GetEnrollmentConfigurationCommand.d.ts +51 -0
  130. package/dist-types/ts3.4/commands/ListAccountsCommand.d.ts +47 -0
  131. package/dist-types/ts3.4/commands/ListAutomationEventStepsCommand.d.ts +51 -0
  132. package/dist-types/ts3.4/commands/ListAutomationEventSummariesCommand.d.ts +51 -0
  133. package/dist-types/ts3.4/commands/ListAutomationEventsCommand.d.ts +51 -0
  134. package/dist-types/ts3.4/commands/ListAutomationRulePreviewCommand.d.ts +51 -0
  135. package/dist-types/ts3.4/commands/ListAutomationRulePreviewSummariesCommand.d.ts +51 -0
  136. package/dist-types/ts3.4/commands/ListAutomationRulesCommand.d.ts +51 -0
  137. package/dist-types/ts3.4/commands/ListRecommendedActionSummariesCommand.d.ts +51 -0
  138. package/dist-types/ts3.4/commands/ListRecommendedActionsCommand.d.ts +51 -0
  139. package/dist-types/ts3.4/commands/ListTagsForResourceCommand.d.ts +51 -0
  140. package/dist-types/ts3.4/commands/RollbackAutomationEventCommand.d.ts +51 -0
  141. package/dist-types/ts3.4/commands/StartAutomationEventCommand.d.ts +51 -0
  142. package/dist-types/ts3.4/commands/TagResourceCommand.d.ts +47 -0
  143. package/dist-types/ts3.4/commands/UntagResourceCommand.d.ts +50 -0
  144. package/dist-types/ts3.4/commands/UpdateAutomationRuleCommand.d.ts +51 -0
  145. package/dist-types/ts3.4/commands/UpdateEnrollmentConfigurationCommand.d.ts +51 -0
  146. package/dist-types/ts3.4/commands/index.d.ts +23 -0
  147. package/dist-types/ts3.4/endpoint/EndpointParameters.d.ts +51 -0
  148. package/dist-types/ts3.4/endpoint/endpointResolver.d.ts +8 -0
  149. package/dist-types/ts3.4/endpoint/ruleset.d.ts +2 -0
  150. package/dist-types/ts3.4/extensionConfiguration.d.ts +9 -0
  151. package/dist-types/ts3.4/index.d.ts +11 -0
  152. package/dist-types/ts3.4/models/ComputeOptimizerAutomationServiceException.d.ts +9 -0
  153. package/dist-types/ts3.4/models/enums.d.ts +93 -0
  154. package/dist-types/ts3.4/models/errors.d.ts +87 -0
  155. package/dist-types/ts3.4/models/models_0.d.ts +520 -0
  156. package/dist-types/ts3.4/pagination/Interfaces.d.ts +6 -0
  157. package/dist-types/ts3.4/pagination/ListAccountsPaginator.d.ts +11 -0
  158. package/dist-types/ts3.4/pagination/ListAutomationEventStepsPaginator.d.ts +11 -0
  159. package/dist-types/ts3.4/pagination/ListAutomationEventSummariesPaginator.d.ts +11 -0
  160. package/dist-types/ts3.4/pagination/ListAutomationEventsPaginator.d.ts +11 -0
  161. package/dist-types/ts3.4/pagination/ListAutomationRulePreviewPaginator.d.ts +11 -0
  162. package/dist-types/ts3.4/pagination/ListAutomationRulePreviewSummariesPaginator.d.ts +11 -0
  163. package/dist-types/ts3.4/pagination/ListAutomationRulesPaginator.d.ts +11 -0
  164. package/dist-types/ts3.4/pagination/ListRecommendedActionSummariesPaginator.d.ts +11 -0
  165. package/dist-types/ts3.4/pagination/ListRecommendedActionsPaginator.d.ts +11 -0
  166. package/dist-types/ts3.4/pagination/index.d.ts +10 -0
  167. package/dist-types/ts3.4/runtimeConfig.browser.d.ts +98 -0
  168. package/dist-types/ts3.4/runtimeConfig.d.ts +93 -0
  169. package/dist-types/ts3.4/runtimeConfig.native.d.ts +102 -0
  170. package/dist-types/ts3.4/runtimeConfig.shared.d.ts +27 -0
  171. package/dist-types/ts3.4/runtimeExtensions.d.ts +13 -0
  172. package/dist-types/ts3.4/schemas/schemas_0.d.ts +146 -0
  173. package/package.json +99 -0
@@ -0,0 +1,2028 @@
1
+ import { ComparisonOperator, EnrollmentStatus, EventStatus, EventType, OrganizationRuleMode, RecommendedActionType, ResourceType, RuleApplyOrder, RuleStatus, RuleType, SavingsEstimationMode, StepStatus, StepType } from "./enums";
2
+ /**
3
+ * <p> Contains information about an Amazon Web Services account's enrollment and association status with Compute Optimizer Automation. </p>
4
+ * @public
5
+ */
6
+ export interface AccountInfo {
7
+ /**
8
+ * <p> The ID of the Amazon Web Services account. </p>
9
+ * @public
10
+ */
11
+ accountId: string | undefined;
12
+ /**
13
+ * <p> The enrollment status of the account: Active, Inactive, Pending, or Failed. </p>
14
+ * @public
15
+ */
16
+ status: EnrollmentStatus | undefined;
17
+ /**
18
+ * <p>Specifies whether the management account can create Automation rules that implement optimization actions for this account. </p>
19
+ * @public
20
+ */
21
+ organizationRuleMode: OrganizationRuleMode | undefined;
22
+ /**
23
+ * <p>The reason for the current Automation enrollment status. </p>
24
+ * @public
25
+ */
26
+ statusReason?: string | undefined;
27
+ /**
28
+ * <p>The timestamp when the account's Automation enrollment status was last updated. </p>
29
+ * @public
30
+ */
31
+ lastUpdatedTimestamp: Date | undefined;
32
+ }
33
+ /**
34
+ * @public
35
+ */
36
+ export interface AssociateAccountsRequest {
37
+ /**
38
+ * <p> The IDs of the member accounts to associate. You can specify up to 50 account IDs. </p>
39
+ * @public
40
+ */
41
+ accountIds: string[] | undefined;
42
+ /**
43
+ * <p> A unique identifier to ensure idempotency of the request. Valid for 24 hours after creation. </p>
44
+ * @public
45
+ */
46
+ clientToken?: string | undefined;
47
+ }
48
+ /**
49
+ * @public
50
+ */
51
+ export interface AssociateAccountsResponse {
52
+ /**
53
+ * <p> The IDs of the member accounts that were successfully associated. </p>
54
+ * @public
55
+ */
56
+ accountIds?: string[] | undefined;
57
+ /**
58
+ * <p> Any errors that occurred during the association process. </p>
59
+ * @public
60
+ */
61
+ errors?: string[] | undefined;
62
+ }
63
+ /**
64
+ * <p> Contains information about estimated monthly cost savings. </p>
65
+ * @public
66
+ */
67
+ export interface EstimatedMonthlySavings {
68
+ /**
69
+ * <p> The currency of the estimated savings. </p>
70
+ * @public
71
+ */
72
+ currency: string | undefined;
73
+ /**
74
+ * <p> The estimated monthly savings before applying any discounts. </p>
75
+ * @public
76
+ */
77
+ beforeDiscountSavings: number | undefined;
78
+ /**
79
+ * <p> The estimated monthly savings after applying any discounts. </p>
80
+ * @public
81
+ */
82
+ afterDiscountSavings: number | undefined;
83
+ /**
84
+ * <p>The mode used to calculate savings, either BeforeDiscount or AfterDiscount.</p>
85
+ * @public
86
+ */
87
+ savingsEstimationMode: SavingsEstimationMode | undefined;
88
+ }
89
+ /**
90
+ * <p> Contains information about an automation event. </p>
91
+ * @public
92
+ */
93
+ export interface AutomationEvent {
94
+ /**
95
+ * <p> The unique identifier for the automation event. </p>
96
+ * @public
97
+ */
98
+ eventId?: string | undefined;
99
+ /**
100
+ * <p> A description of the automation event. </p>
101
+ * @public
102
+ */
103
+ eventDescription?: string | undefined;
104
+ /**
105
+ * <p> The type of automation event. </p>
106
+ * @public
107
+ */
108
+ eventType?: EventType | undefined;
109
+ /**
110
+ * <p> The current status of the automation event. </p>
111
+ * @public
112
+ */
113
+ eventStatus?: EventStatus | undefined;
114
+ /**
115
+ * <p> The reason for the current event status. </p>
116
+ * @public
117
+ */
118
+ eventStatusReason?: string | undefined;
119
+ /**
120
+ * <p> The Amazon Resource Name (ARN) of the resource affected by the automation event. </p>
121
+ * @public
122
+ */
123
+ resourceArn?: string | undefined;
124
+ /**
125
+ * <p> The ID of the resource affected by the automation event. </p>
126
+ * @public
127
+ */
128
+ resourceId?: string | undefined;
129
+ /**
130
+ * <p> The ID of the recommended action associated with this automation event. </p>
131
+ * @public
132
+ */
133
+ recommendedActionId?: string | undefined;
134
+ /**
135
+ * <p> The Amazon Web Services account ID associated with the automation event. </p>
136
+ * @public
137
+ */
138
+ accountId?: string | undefined;
139
+ /**
140
+ * <p> The Amazon Web Services Region where the automation event occurred. </p>
141
+ * @public
142
+ */
143
+ region?: string | undefined;
144
+ /**
145
+ * <p> The ID of the automation rule that triggered this event. </p>
146
+ * @public
147
+ */
148
+ ruleId?: string | undefined;
149
+ /**
150
+ * <p> The type of resource affected by the automation event. </p>
151
+ * @public
152
+ */
153
+ resourceType?: ResourceType | undefined;
154
+ /**
155
+ * <p>The timestamp when the automation event was created.</p>
156
+ * @public
157
+ */
158
+ createdTimestamp?: Date | undefined;
159
+ /**
160
+ * <p> The timestamp when the automation event completed. </p>
161
+ * @public
162
+ */
163
+ completedTimestamp?: Date | undefined;
164
+ /**
165
+ * <p> The estimated monthly cost savings associated with this automation event. </p>
166
+ * @public
167
+ */
168
+ estimatedMonthlySavings?: EstimatedMonthlySavings | undefined;
169
+ }
170
+ /**
171
+ * @public
172
+ * @enum
173
+ */
174
+ export declare const AutomationEventFilterName: {
175
+ readonly ACCOUNT_ID: "AccountId";
176
+ readonly EVENT_STATUS: "EventStatus";
177
+ readonly EVENT_TYPE: "EventType";
178
+ readonly RESOURCE_TYPE: "ResourceType";
179
+ };
180
+ /**
181
+ * @public
182
+ */
183
+ export type AutomationEventFilterName = (typeof AutomationEventFilterName)[keyof typeof AutomationEventFilterName];
184
+ /**
185
+ * <p> A filter to apply when listing automation events. </p>
186
+ * @public
187
+ */
188
+ export interface AutomationEventFilter {
189
+ /**
190
+ * <p> The name of the filter to apply. </p>
191
+ * @public
192
+ */
193
+ name: AutomationEventFilterName | undefined;
194
+ /**
195
+ * <p> The values to use for the specified filter. </p>
196
+ * @public
197
+ */
198
+ values: string[] | undefined;
199
+ }
200
+ /**
201
+ * <p> Contains information about a step in an automation event. </p>
202
+ * @public
203
+ */
204
+ export interface AutomationEventStep {
205
+ /**
206
+ * <p> The ID of the automation event this step belongs to. </p>
207
+ * @public
208
+ */
209
+ eventId?: string | undefined;
210
+ /**
211
+ * <p> The unique identifier for this step. </p>
212
+ * @public
213
+ */
214
+ stepId?: string | undefined;
215
+ /**
216
+ * <p> The type of step. </p>
217
+ * @public
218
+ */
219
+ stepType?: StepType | undefined;
220
+ /**
221
+ * <p> The current status of the step. </p>
222
+ * @public
223
+ */
224
+ stepStatus?: StepStatus | undefined;
225
+ /**
226
+ * <p>The unique identifier of the resource being acted upon in this step.</p>
227
+ * @public
228
+ */
229
+ resourceId?: string | undefined;
230
+ /**
231
+ * <p>The timestamp when this automation event step started execution.</p>
232
+ * @public
233
+ */
234
+ startTimestamp?: Date | undefined;
235
+ /**
236
+ * <p>The timestamp when this automation event step completed execution.</p>
237
+ * @public
238
+ */
239
+ completedTimestamp?: Date | undefined;
240
+ /**
241
+ * <p> Contains information about estimated monthly cost savings. </p>
242
+ * @public
243
+ */
244
+ estimatedMonthlySavings?: EstimatedMonthlySavings | undefined;
245
+ }
246
+ /**
247
+ * @public
248
+ * @enum
249
+ */
250
+ export declare const SummaryDimensionKey: {
251
+ readonly EVENT_STATUS: "EventStatus";
252
+ };
253
+ /**
254
+ * @public
255
+ */
256
+ export type SummaryDimensionKey = (typeof SummaryDimensionKey)[keyof typeof SummaryDimensionKey];
257
+ /**
258
+ * <p>A key-value pair used to categorize and group summary data for analysis and reporting.</p>
259
+ * @public
260
+ */
261
+ export interface SummaryDimension {
262
+ /**
263
+ * <p>The dimension key used for categorizing summary data.</p>
264
+ * @public
265
+ */
266
+ key: SummaryDimensionKey | undefined;
267
+ /**
268
+ * <p>The specific value for this dimension key used in the summary grouping.</p>
269
+ * @public
270
+ */
271
+ value: string | undefined;
272
+ }
273
+ /**
274
+ * <p>Defines a time range with inclusive start time and exclusive end time for filtering and analysis.</p>
275
+ * @public
276
+ */
277
+ export interface TimePeriod {
278
+ /**
279
+ * <p>The start time of the period, inclusive. Events at or after this time are included.</p>
280
+ * @public
281
+ */
282
+ startTimeInclusive?: Date | undefined;
283
+ /**
284
+ * <p>The end time of the period, exclusive. Events before this time are included.</p>
285
+ * @public
286
+ */
287
+ endTimeExclusive?: Date | undefined;
288
+ }
289
+ /**
290
+ * <p>Aggregate totals for automation events, including counts and estimated savings.</p>
291
+ * @public
292
+ */
293
+ export interface SummaryTotals {
294
+ /**
295
+ * <p>The total number of automation events in this summary group.</p>
296
+ * @public
297
+ */
298
+ automationEventCount?: number | undefined;
299
+ /**
300
+ * <p> Contains information about estimated monthly cost savings. </p>
301
+ * @public
302
+ */
303
+ estimatedMonthlySavings?: EstimatedMonthlySavings | undefined;
304
+ }
305
+ /**
306
+ * <p> A summary of automation events grouped by specified dimensions. </p>
307
+ * @public
308
+ */
309
+ export interface AutomationEventSummary {
310
+ /**
311
+ * <p>The key identifier for this summary grouping.</p>
312
+ * @public
313
+ */
314
+ key?: string | undefined;
315
+ /**
316
+ * <p>The dimensions used to group this summary, such as event status.</p>
317
+ * @public
318
+ */
319
+ dimensions?: SummaryDimension[] | undefined;
320
+ /**
321
+ * <p>The time period covered by this summary, with inclusive start time and exclusive end time.</p>
322
+ * @public
323
+ */
324
+ timePeriod?: TimePeriod | undefined;
325
+ /**
326
+ * <p>The aggregated totals for this summary, including event count and estimated savings.</p>
327
+ * @public
328
+ */
329
+ total?: SummaryTotals | undefined;
330
+ }
331
+ /**
332
+ * <p>Configuration settings for organization-wide automation rules.</p>
333
+ * @public
334
+ */
335
+ export interface OrganizationConfiguration {
336
+ /**
337
+ * <p>Specifies when organization rules should be applied relative to account rules.</p>
338
+ * @public
339
+ */
340
+ ruleApplyOrder?: RuleApplyOrder | undefined;
341
+ /**
342
+ * <p>List of specific Amazon Web Services account IDs where the organization rule should be applied.</p>
343
+ * @public
344
+ */
345
+ accountIds?: string[] | undefined;
346
+ }
347
+ /**
348
+ * <p>Configuration for scheduling when automation rules should execute, including timing and execution windows.</p>
349
+ * @public
350
+ */
351
+ export interface Schedule {
352
+ /**
353
+ * <p>The expression that defines when the schedule runs. <code>cron</code> expression is supported. A <code>cron</code> expression consists of six fields separated by white spaces: (<code>minutes</code> <code>hours</code> <code>day_of_month</code> <code>month</code> <code>day_of_week</code> <code>year</code>)</p> <note> <p>You can schedule rules to run at most once per day. Your cron expression must use specific values (not wildcards) for the minutes and hours fields. For example: (<code>30 12 * * *</code>) runs daily at 12:30 PM UTC.</p> </note>
354
+ * @public
355
+ */
356
+ scheduleExpression?: string | undefined;
357
+ /**
358
+ * <p>The timezone to use when interpreting the schedule expression.</p>
359
+ * @public
360
+ */
361
+ scheduleExpressionTimezone?: string | undefined;
362
+ /**
363
+ * <p>The time window in minutes during which the automation rule can start implementing recommended actions.</p>
364
+ * @public
365
+ */
366
+ executionWindowInMinutes?: number | undefined;
367
+ }
368
+ /**
369
+ * <p>Represents a complete automation rule configuration including criteria, schedule, and execution settings.</p>
370
+ * @public
371
+ */
372
+ export interface AutomationRule {
373
+ /**
374
+ * <p>The Amazon Resource Name (ARN) of the automation rule.</p>
375
+ * @public
376
+ */
377
+ ruleArn?: string | undefined;
378
+ /**
379
+ * <p>The unique identifier of the automation rule.</p>
380
+ * @public
381
+ */
382
+ ruleId?: string | undefined;
383
+ /**
384
+ * <p>The name of the automation rule.</p>
385
+ * @public
386
+ */
387
+ name?: string | undefined;
388
+ /**
389
+ * <p>A description of the automation rule.</p>
390
+ * @public
391
+ */
392
+ description?: string | undefined;
393
+ /**
394
+ * <p>The type of automation rule (OrganizationRule or AccountRule).</p>
395
+ * @public
396
+ */
397
+ ruleType?: RuleType | undefined;
398
+ /**
399
+ * <p>The revision number of the automation rule.</p>
400
+ * @public
401
+ */
402
+ ruleRevision?: number | undefined;
403
+ /**
404
+ * <p>The 12-digit Amazon Web Services account ID that owns this automation rule.</p>
405
+ * @public
406
+ */
407
+ accountId?: string | undefined;
408
+ /**
409
+ * <p>Configuration settings for organization-wide rules.</p>
410
+ * @public
411
+ */
412
+ organizationConfiguration?: OrganizationConfiguration | undefined;
413
+ /**
414
+ * <p>A string representation of a decimal number between 0 and 1 (having up to 30 digits after the decimal point) that determines the priority of the rule. When multiple rules match the same recommended action, Compute Optimizer assigns the action to the rule with the lowest priority value (highest priority), even if that rule is scheduled to run later than other matching rules.</p>
415
+ * @public
416
+ */
417
+ priority?: string | undefined;
418
+ /**
419
+ * <p>List of recommended action types that this rule can execute.</p>
420
+ * @public
421
+ */
422
+ recommendedActionTypes?: RecommendedActionType[] | undefined;
423
+ /**
424
+ * <p>The schedule configuration for when the automation rule should execute.</p>
425
+ * @public
426
+ */
427
+ schedule?: Schedule | undefined;
428
+ /**
429
+ * <p>The current status of the automation rule (Active or Inactive).</p>
430
+ * @public
431
+ */
432
+ status?: RuleStatus | undefined;
433
+ /**
434
+ * <p>The timestamp when the automation rule was created.</p>
435
+ * @public
436
+ */
437
+ createdTimestamp?: Date | undefined;
438
+ /**
439
+ * <p>The timestamp when the automation rule was last updated.</p>
440
+ * @public
441
+ */
442
+ lastUpdatedTimestamp?: Date | undefined;
443
+ }
444
+ /**
445
+ * @public
446
+ * @enum
447
+ */
448
+ export declare const AutomationRuleFilterName: {
449
+ readonly ACCOUNT_ID: "AccountId";
450
+ readonly NAME: "Name";
451
+ readonly ORGANIZATION_CONFIGURATION_RULE_APPLY_ORDER: "OrganizationConfigurationRuleApplyOrder";
452
+ readonly RECOMMENDED_ACTION_TYPE: "RecommendedActionType";
453
+ readonly RULE_TYPE: "RuleType";
454
+ readonly STATUS: "Status";
455
+ };
456
+ /**
457
+ * @public
458
+ */
459
+ export type AutomationRuleFilterName = (typeof AutomationRuleFilterName)[keyof typeof AutomationRuleFilterName];
460
+ /**
461
+ * <p>Defines a condition for filtering based on integer values with comparison operators.</p>
462
+ * @public
463
+ */
464
+ export interface IntegerCriteriaCondition {
465
+ /**
466
+ * <p>The comparison operator to use, such as equals, greater than, less than, etc.</p>
467
+ * @public
468
+ */
469
+ comparison?: ComparisonOperator | undefined;
470
+ /**
471
+ * <p>The list of integer values to compare against using the specified comparison operator.</p>
472
+ * @public
473
+ */
474
+ values?: number[] | undefined;
475
+ }
476
+ /**
477
+ * <p>Criteria condition for filtering based on string values, including comparison operators and target values.</p>
478
+ * @public
479
+ */
480
+ export interface StringCriteriaCondition {
481
+ /**
482
+ * <p>The comparison operator used to evaluate the string criteria, such as equals, not equals, or contains.</p>
483
+ * @public
484
+ */
485
+ comparison?: ComparisonOperator | undefined;
486
+ /**
487
+ * <p>List of string values to compare against when applying the criteria condition.</p>
488
+ * @public
489
+ */
490
+ values?: string[] | undefined;
491
+ }
492
+ /**
493
+ * <p>Defines a condition for filtering based on double/floating-point numeric values with comparison operators.</p>
494
+ * @public
495
+ */
496
+ export interface DoubleCriteriaCondition {
497
+ /**
498
+ * <p>The comparison operator to use, such as equals, greater than, less than, etc.</p>
499
+ * @public
500
+ */
501
+ comparison?: ComparisonOperator | undefined;
502
+ /**
503
+ * <p>The list of double values to compare against using the specified comparison operator.</p>
504
+ * @public
505
+ */
506
+ values?: number[] | undefined;
507
+ }
508
+ /**
509
+ * <p>Criteria condition for filtering resources based on their tags, including comparison operators and values.</p>
510
+ * @public
511
+ */
512
+ export interface ResourceTagsCriteriaCondition {
513
+ /**
514
+ * <p>The comparison operator used to evaluate the tag criteria, such as equals, not equals, or contains.</p>
515
+ * @public
516
+ */
517
+ comparison?: ComparisonOperator | undefined;
518
+ /**
519
+ * <p>The tag key to use for comparison when filtering resources.</p>
520
+ * @public
521
+ */
522
+ key?: string | undefined;
523
+ /**
524
+ * <p>List of tag values to compare against when filtering resources.</p>
525
+ * @public
526
+ */
527
+ values?: string[] | undefined;
528
+ }
529
+ /**
530
+ * <p> A set of conditions that specify which recommended action qualify for implementation. When a rule is active and a recommended action matches these criteria, Compute Optimizer implements the action at the scheduled run time. You can specify up to 20 conditions per filter criteria and 20 values per condition. </p>
531
+ * @public
532
+ */
533
+ export interface Criteria {
534
+ /**
535
+ * <p>Filter criteria for Amazon Web Services regions where resources must be located.</p>
536
+ * @public
537
+ */
538
+ region?: StringCriteriaCondition[] | undefined;
539
+ /**
540
+ * <p>Filter criteria for specific resource ARNs to include or exclude.</p>
541
+ * @public
542
+ */
543
+ resourceArn?: StringCriteriaCondition[] | undefined;
544
+ /**
545
+ * <p>Filter criteria for EBS volume types, such as gp2, gp3, io1, io2, st1, or sc1.</p>
546
+ * @public
547
+ */
548
+ ebsVolumeType?: StringCriteriaCondition[] | undefined;
549
+ /**
550
+ * <p>Filter criteria for EBS volume sizes in gibibytes (GiB).</p>
551
+ * @public
552
+ */
553
+ ebsVolumeSizeInGib?: IntegerCriteriaCondition[] | undefined;
554
+ /**
555
+ * <p>Filter criteria for estimated monthly cost savings from the recommended action.</p>
556
+ * @public
557
+ */
558
+ estimatedMonthlySavings?: DoubleCriteriaCondition[] | undefined;
559
+ /**
560
+ * <p>Filter criteria for resource tags, allowing filtering by tag key and value combinations.</p>
561
+ * @public
562
+ */
563
+ resourceTag?: ResourceTagsCriteriaCondition[] | undefined;
564
+ /**
565
+ * <p>Filter criteria for the lookback period in days used to analyze resource utilization.</p>
566
+ * @public
567
+ */
568
+ lookBackPeriodInDays?: IntegerCriteriaCondition[] | undefined;
569
+ /**
570
+ * <p>Filter criteria indicating whether the recommended action requires a resource restart.</p>
571
+ * @public
572
+ */
573
+ restartNeeded?: StringCriteriaCondition[] | undefined;
574
+ }
575
+ /**
576
+ * <p>A key-value pair used to categorize and organize Amazon Web Services resources and automation rules.</p>
577
+ * @public
578
+ */
579
+ export interface Tag {
580
+ /**
581
+ * <p>The tag key, which can be up to 128 characters long.</p>
582
+ * @public
583
+ */
584
+ key: string | undefined;
585
+ /**
586
+ * <p>The tag value, which can be up to 256 characters long.</p>
587
+ * @public
588
+ */
589
+ value: string | undefined;
590
+ }
591
+ /**
592
+ * @public
593
+ */
594
+ export interface CreateAutomationRuleRequest {
595
+ /**
596
+ * <p> The name of the automation rule. </p>
597
+ * @public
598
+ */
599
+ name: string | undefined;
600
+ /**
601
+ * <p> A description of the automation rule. </p>
602
+ * @public
603
+ */
604
+ description?: string | undefined;
605
+ /**
606
+ * <p> The type of rule. </p> <note> <p>Only the management account or a delegated administrator can set the ruleType to be OrganizationRule.</p> </note>
607
+ * @public
608
+ */
609
+ ruleType: RuleType | undefined;
610
+ /**
611
+ * <p> Configuration for organization-level rules. Required for OrganizationRule type. </p>
612
+ * @public
613
+ */
614
+ organizationConfiguration?: OrganizationConfiguration | undefined;
615
+ /**
616
+ * <p>A string representation of a decimal number between 0 and 1 (having up to 30 digits after the decimal point) that determines the priority of the rule. When multiple rules match the same recommended action, Compute Optimizer assigns the action to the rule with the lowest priority value (highest priority), even if that rule is scheduled to run later than other matching rules. </p>
617
+ * @public
618
+ */
619
+ priority?: string | undefined;
620
+ /**
621
+ * <p> The types of recommended actions this rule will automate. </p>
622
+ * @public
623
+ */
624
+ recommendedActionTypes: RecommendedActionType[] | undefined;
625
+ /**
626
+ * <p>A set of conditions that specify which recommended action qualify for implementation. When a rule is active and a recommended action matches these criteria, Compute Optimizer implements the action at the scheduled run time. </p>
627
+ * @public
628
+ */
629
+ criteria?: Criteria | undefined;
630
+ /**
631
+ * <p> The schedule for when the rule should run. </p>
632
+ * @public
633
+ */
634
+ schedule: Schedule | undefined;
635
+ /**
636
+ * <p>The status of the rule </p>
637
+ * @public
638
+ */
639
+ status: RuleStatus | undefined;
640
+ /**
641
+ * <p> The tags to associate with the rule. </p>
642
+ * @public
643
+ */
644
+ tags?: Tag[] | undefined;
645
+ /**
646
+ * <p> A unique identifier to ensure idempotency of the request. </p>
647
+ * @public
648
+ */
649
+ clientToken?: string | undefined;
650
+ }
651
+ /**
652
+ * @public
653
+ */
654
+ export interface CreateAutomationRuleResponse {
655
+ /**
656
+ * <p> The Amazon Resource Name (ARN) of the created rule. </p>
657
+ * @public
658
+ */
659
+ ruleArn?: string | undefined;
660
+ /**
661
+ * <p> The unique identifier of the created rule. </p>
662
+ * @public
663
+ */
664
+ ruleId?: string | undefined;
665
+ /**
666
+ * <p>The name of the automation rule. Must be 1-128 characters long and contain only alphanumeric characters, underscores, and hyphens.</p>
667
+ * @public
668
+ */
669
+ name?: string | undefined;
670
+ /**
671
+ * <p>A description of the automation rule. Can be up to 1024 characters long and contain alphanumeric characters, underscores, hyphens, spaces, and certain special characters.</p>
672
+ * @public
673
+ */
674
+ description?: string | undefined;
675
+ /**
676
+ * <p>The type of automation rule. Can be either OrganizationRule for organization-wide rules or AccountRule for account-specific rules.</p>
677
+ * @public
678
+ */
679
+ ruleType?: RuleType | undefined;
680
+ /**
681
+ * <p>The revision number of the automation rule. This is incremented each time the rule is updated.</p>
682
+ * @public
683
+ */
684
+ ruleRevision?: number | undefined;
685
+ /**
686
+ * <p>Configuration settings for organization-wide rules, including rule application order and target account IDs.</p>
687
+ * @public
688
+ */
689
+ organizationConfiguration?: OrganizationConfiguration | undefined;
690
+ /**
691
+ * <p>The priority level of the automation rule, used to determine execution order when multiple rules apply to the same resource.</p>
692
+ * @public
693
+ */
694
+ priority?: string | undefined;
695
+ /**
696
+ * <p>List of recommended action types that this rule can execute, such as SnapshotAndDeleteUnattachedEbsVolume or UpgradeEbsVolumeType.</p>
697
+ * @public
698
+ */
699
+ recommendedActionTypes?: RecommendedActionType[] | undefined;
700
+ /**
701
+ * <p> A set of conditions that specify which recommended action qualify for implementation. When a rule is active and a recommended action matches these criteria, Compute Optimizer implements the action at the scheduled run time. You can specify up to 20 conditions per filter criteria and 20 values per condition. </p>
702
+ * @public
703
+ */
704
+ criteria?: Criteria | undefined;
705
+ /**
706
+ * <p>The schedule configuration for when the automation rule should execute, including cron expression, timezone, and execution window.</p>
707
+ * @public
708
+ */
709
+ schedule?: Schedule | undefined;
710
+ /**
711
+ * <p>The current status of the automation rule. Can be Active or Inactive.</p>
712
+ * @public
713
+ */
714
+ status?: RuleStatus | undefined;
715
+ /**
716
+ * <p>A list of key-value pairs used to categorize and organize the automation rule. Maximum of 200 tags allowed.</p>
717
+ * @public
718
+ */
719
+ tags?: Tag[] | undefined;
720
+ /**
721
+ * <p>The timestamp when the automation rule was created.</p>
722
+ * @public
723
+ */
724
+ createdTimestamp?: Date | undefined;
725
+ }
726
+ /**
727
+ * @public
728
+ */
729
+ export interface DeleteAutomationRuleRequest {
730
+ /**
731
+ * <p> The ARN of the rule to delete. </p>
732
+ * @public
733
+ */
734
+ ruleArn: string | undefined;
735
+ /**
736
+ * <p> The revision number of the rule to delete. </p>
737
+ * @public
738
+ */
739
+ ruleRevision: number | undefined;
740
+ /**
741
+ * <p> A unique identifier to ensure idempotency of the request. </p>
742
+ * @public
743
+ */
744
+ clientToken?: string | undefined;
745
+ }
746
+ /**
747
+ * @public
748
+ */
749
+ export interface DeleteAutomationRuleResponse {
750
+ }
751
+ /**
752
+ * @public
753
+ */
754
+ export interface DisassociateAccountsRequest {
755
+ /**
756
+ * <p> The IDs of the member accounts to disassociate. </p>
757
+ * @public
758
+ */
759
+ accountIds: string[] | undefined;
760
+ /**
761
+ * <p> A unique identifier to ensure idempotency of the request. </p>
762
+ * @public
763
+ */
764
+ clientToken?: string | undefined;
765
+ }
766
+ /**
767
+ * @public
768
+ */
769
+ export interface DisassociateAccountsResponse {
770
+ /**
771
+ * <p> The IDs of the member accounts that were successfully disassociated. </p>
772
+ * @public
773
+ */
774
+ accountIds?: string[] | undefined;
775
+ /**
776
+ * <p> Any errors that occurred during the disassociation process. </p>
777
+ * @public
778
+ */
779
+ errors?: string[] | undefined;
780
+ }
781
+ /**
782
+ * @public
783
+ */
784
+ export interface GetAutomationEventRequest {
785
+ /**
786
+ * <p> The ID of the automation event to retrieve. </p>
787
+ * @public
788
+ */
789
+ eventId: string | undefined;
790
+ }
791
+ /**
792
+ * @public
793
+ */
794
+ export interface GetAutomationEventResponse {
795
+ /**
796
+ * <p>The ID of the automation event to retrieve.</p>
797
+ * @public
798
+ */
799
+ eventId?: string | undefined;
800
+ /**
801
+ * <p>A description of the automation event.</p>
802
+ * @public
803
+ */
804
+ eventDescription?: string | undefined;
805
+ /**
806
+ * <p>The type of automation event.</p>
807
+ * @public
808
+ */
809
+ eventType?: EventType | undefined;
810
+ /**
811
+ * <p>The current status of the automation event.</p>
812
+ * @public
813
+ */
814
+ eventStatus?: EventStatus | undefined;
815
+ /**
816
+ * <p>The reason for the current event status.</p>
817
+ * @public
818
+ */
819
+ eventStatusReason?: string | undefined;
820
+ /**
821
+ * <p>The Amazon Resource Name (ARN) of the resource affected by the automation event.</p>
822
+ * @public
823
+ */
824
+ resourceArn?: string | undefined;
825
+ /**
826
+ * <p>The ID of the resource affected by the automation event.</p>
827
+ * @public
828
+ */
829
+ resourceId?: string | undefined;
830
+ /**
831
+ * <p>The ID of the recommended action associated with this automation event.</p>
832
+ * @public
833
+ */
834
+ recommendedActionId?: string | undefined;
835
+ /**
836
+ * <p>The Amazon Web Services account ID associated with the automation event.</p>
837
+ * @public
838
+ */
839
+ accountId?: string | undefined;
840
+ /**
841
+ * <p>The Amazon Web Services Region where the automation event occurred.</p>
842
+ * @public
843
+ */
844
+ region?: string | undefined;
845
+ /**
846
+ * <p>The ID of the automation rule that triggered this event.</p>
847
+ * @public
848
+ */
849
+ ruleId?: string | undefined;
850
+ /**
851
+ * <p>The type of resource affected by the automation event.</p>
852
+ * @public
853
+ */
854
+ resourceType?: ResourceType | undefined;
855
+ /**
856
+ * <p>The timestamp when the automation event was created.</p>
857
+ * @public
858
+ */
859
+ createdTimestamp?: Date | undefined;
860
+ /**
861
+ * <p>The timestamp when the automation event completed.</p>
862
+ * @public
863
+ */
864
+ completedTimestamp?: Date | undefined;
865
+ /**
866
+ * <p> Contains information about estimated monthly cost savings. </p>
867
+ * @public
868
+ */
869
+ estimatedMonthlySavings?: EstimatedMonthlySavings | undefined;
870
+ }
871
+ /**
872
+ * @public
873
+ */
874
+ export interface GetAutomationRuleRequest {
875
+ /**
876
+ * <p> The ARN of the rule to retrieve. </p>
877
+ * @public
878
+ */
879
+ ruleArn: string | undefined;
880
+ }
881
+ /**
882
+ * @public
883
+ */
884
+ export interface GetAutomationRuleResponse {
885
+ /**
886
+ * <p>The Amazon Resource Name (ARN) of the automation rule.</p>
887
+ * @public
888
+ */
889
+ ruleArn?: string | undefined;
890
+ /**
891
+ * <p>The unique identifier of the automation rule.</p>
892
+ * @public
893
+ */
894
+ ruleId?: string | undefined;
895
+ /**
896
+ * <p>The name of the automation rule.</p>
897
+ * @public
898
+ */
899
+ name?: string | undefined;
900
+ /**
901
+ * <p>A description of the automation rule.</p>
902
+ * @public
903
+ */
904
+ description?: string | undefined;
905
+ /**
906
+ * <p>The type of automation rule.</p>
907
+ * @public
908
+ */
909
+ ruleType?: RuleType | undefined;
910
+ /**
911
+ * <p>The revision number of the automation rule.</p>
912
+ * @public
913
+ */
914
+ ruleRevision?: number | undefined;
915
+ /**
916
+ * <p>The 12-digit Amazon Web Services account ID that owns this automation rule.</p>
917
+ * @public
918
+ */
919
+ accountId?: string | undefined;
920
+ /**
921
+ * <p>Configuration settings for organization-wide automation rules.</p>
922
+ * @public
923
+ */
924
+ organizationConfiguration?: OrganizationConfiguration | undefined;
925
+ /**
926
+ * <p>A string representation of a decimal number between 0 and 1 (having up to 30 digits after the decimal point) that determines the priority of the rule.</p>
927
+ * @public
928
+ */
929
+ priority?: string | undefined;
930
+ /**
931
+ * <p>List of recommended action types that this rule can execute.</p>
932
+ * @public
933
+ */
934
+ recommendedActionTypes?: RecommendedActionType[] | undefined;
935
+ /**
936
+ * <p> A set of conditions that specify which recommended action qualify for implementation. When a rule is active and a recommended action matches these criteria, Compute Optimizer implements the action at the scheduled run time. You can specify up to 20 conditions per filter criteria and 20 values per condition. </p>
937
+ * @public
938
+ */
939
+ criteria?: Criteria | undefined;
940
+ /**
941
+ * <p>Configuration for scheduling when automation rules should execute, including timing and execution windows.</p>
942
+ * @public
943
+ */
944
+ schedule?: Schedule | undefined;
945
+ /**
946
+ * <p>The current status of the automation rule (Active or Inactive).</p>
947
+ * @public
948
+ */
949
+ status?: RuleStatus | undefined;
950
+ /**
951
+ * <p>The tags associated with the automation rule.</p>
952
+ * @public
953
+ */
954
+ tags?: Tag[] | undefined;
955
+ /**
956
+ * <p>The timestamp when the automation rule was created.</p>
957
+ * @public
958
+ */
959
+ createdTimestamp?: Date | undefined;
960
+ /**
961
+ * <p>The timestamp when the automation rule was last updated.</p>
962
+ * @public
963
+ */
964
+ lastUpdatedTimestamp?: Date | undefined;
965
+ }
966
+ /**
967
+ * @public
968
+ */
969
+ export interface GetEnrollmentConfigurationRequest {
970
+ }
971
+ /**
972
+ * @public
973
+ */
974
+ export interface GetEnrollmentConfigurationResponse {
975
+ /**
976
+ * <p> The current enrollment status. </p>
977
+ * @public
978
+ */
979
+ status: EnrollmentStatus | undefined;
980
+ /**
981
+ * <p> The reason for the current enrollment status. </p>
982
+ * @public
983
+ */
984
+ statusReason?: string | undefined;
985
+ /**
986
+ * <p>Specifies whether the management account can create Automation rules that implement optimization actions for this account. </p>
987
+ * @public
988
+ */
989
+ organizationRuleMode?: OrganizationRuleMode | undefined;
990
+ /**
991
+ * <p> The timestamp of the last update to the enrollment configuration. </p>
992
+ * @public
993
+ */
994
+ lastUpdatedTimestamp?: Date | undefined;
995
+ }
996
+ /**
997
+ * @public
998
+ */
999
+ export interface ListAccountsRequest {
1000
+ /**
1001
+ * <p> The maximum number of results to return in a single call. </p>
1002
+ * @public
1003
+ */
1004
+ maxResults?: number | undefined;
1005
+ /**
1006
+ * <p> The token for the next page of results. </p>
1007
+ * @public
1008
+ */
1009
+ nextToken?: string | undefined;
1010
+ }
1011
+ /**
1012
+ * @public
1013
+ */
1014
+ export interface ListAccountsResponse {
1015
+ /**
1016
+ * <p> The list of accounts in your organization enrolled in Compute Optimizer </p>
1017
+ * @public
1018
+ */
1019
+ accounts: AccountInfo[] | undefined;
1020
+ /**
1021
+ * <p> The token to use to retrieve the next page of results. </p>
1022
+ * @public
1023
+ */
1024
+ nextToken?: string | undefined;
1025
+ }
1026
+ /**
1027
+ * @public
1028
+ */
1029
+ export interface ListAutomationEventsRequest {
1030
+ /**
1031
+ * <p> The filters to apply to the list of automation events. </p>
1032
+ * @public
1033
+ */
1034
+ filters?: AutomationEventFilter[] | undefined;
1035
+ /**
1036
+ * <p> The start of the time range to query for events. </p>
1037
+ * @public
1038
+ */
1039
+ startTimeInclusive?: Date | undefined;
1040
+ /**
1041
+ * <p> The end of the time range to query for events. </p>
1042
+ * @public
1043
+ */
1044
+ endTimeExclusive?: Date | undefined;
1045
+ /**
1046
+ * <p> The maximum number of results to return in a single call. </p>
1047
+ * @public
1048
+ */
1049
+ maxResults?: number | undefined;
1050
+ /**
1051
+ * <p> The token for the next page of results. </p>
1052
+ * @public
1053
+ */
1054
+ nextToken?: string | undefined;
1055
+ }
1056
+ /**
1057
+ * @public
1058
+ */
1059
+ export interface ListAutomationEventsResponse {
1060
+ /**
1061
+ * <p> The list of automation events that match the specified criteria. </p>
1062
+ * @public
1063
+ */
1064
+ automationEvents?: AutomationEvent[] | undefined;
1065
+ /**
1066
+ * <p> The token to use to retrieve the next page of results. </p>
1067
+ * @public
1068
+ */
1069
+ nextToken?: string | undefined;
1070
+ }
1071
+ /**
1072
+ * @public
1073
+ */
1074
+ export interface ListAutomationEventStepsRequest {
1075
+ /**
1076
+ * <p> The ID of the automation event. </p>
1077
+ * @public
1078
+ */
1079
+ eventId: string | undefined;
1080
+ /**
1081
+ * <p>The maximum number of automation event steps to return in a single response. Valid range is 1-1000.</p>
1082
+ * @public
1083
+ */
1084
+ maxResults?: number | undefined;
1085
+ /**
1086
+ * <p>A token used for pagination to retrieve the next set of results when the response is truncated.</p>
1087
+ * @public
1088
+ */
1089
+ nextToken?: string | undefined;
1090
+ }
1091
+ /**
1092
+ * @public
1093
+ */
1094
+ export interface ListAutomationEventStepsResponse {
1095
+ /**
1096
+ * <p> The list of steps for the specified automation event. </p>
1097
+ * @public
1098
+ */
1099
+ automationEventSteps?: AutomationEventStep[] | undefined;
1100
+ /**
1101
+ * <p>A token used for pagination. If present, indicates there are more results available and can be used in subsequent requests.</p>
1102
+ * @public
1103
+ */
1104
+ nextToken?: string | undefined;
1105
+ }
1106
+ /**
1107
+ * @public
1108
+ */
1109
+ export interface ListAutomationEventSummariesRequest {
1110
+ /**
1111
+ * <p> The filters to apply to the list of automation event summaries. </p>
1112
+ * @public
1113
+ */
1114
+ filters?: AutomationEventFilter[] | undefined;
1115
+ /**
1116
+ * <p>The start date for filtering automation event summaries, inclusive. Events created on or after this date will be included.</p>
1117
+ * @public
1118
+ */
1119
+ startDateInclusive?: string | undefined;
1120
+ /**
1121
+ * <p>The end date for filtering automation event summaries, exclusive. Events created before this date will be included.</p>
1122
+ * @public
1123
+ */
1124
+ endDateExclusive?: string | undefined;
1125
+ /**
1126
+ * <p>The maximum number of automation event summaries to return in a single response. Valid range is 1-1000.</p>
1127
+ * @public
1128
+ */
1129
+ maxResults?: number | undefined;
1130
+ /**
1131
+ * <p>A token used for pagination to retrieve the next set of results when the response is truncated.</p>
1132
+ * @public
1133
+ */
1134
+ nextToken?: string | undefined;
1135
+ }
1136
+ /**
1137
+ * @public
1138
+ */
1139
+ export interface ListAutomationEventSummariesResponse {
1140
+ /**
1141
+ * <p> The list of automation event summaries that match the specified criteria. </p>
1142
+ * @public
1143
+ */
1144
+ automationEventSummaries?: AutomationEventSummary[] | undefined;
1145
+ /**
1146
+ * <p>A token used for pagination. If present, indicates there are more results available and can be used in subsequent requests.</p>
1147
+ * @public
1148
+ */
1149
+ nextToken?: string | undefined;
1150
+ }
1151
+ /**
1152
+ * <p> Defines the scope for organization-level rules when previewing matching actions.</p>
1153
+ * @public
1154
+ */
1155
+ export interface OrganizationScope {
1156
+ /**
1157
+ * <p>List of Amazon Web Services account IDs to include in the organization scope.</p>
1158
+ * @public
1159
+ */
1160
+ accountIds?: string[] | undefined;
1161
+ }
1162
+ /**
1163
+ * @public
1164
+ */
1165
+ export interface ListAutomationRulePreviewRequest {
1166
+ /**
1167
+ * <p> The type of rule. </p> <note> <p>Only the management account or a delegated administrator can set the ruleType to be OrganizationRule.</p> </note>
1168
+ * @public
1169
+ */
1170
+ ruleType: RuleType | undefined;
1171
+ /**
1172
+ * <p> The organizational scope for the rule preview. </p>
1173
+ * @public
1174
+ */
1175
+ organizationScope?: OrganizationScope | undefined;
1176
+ /**
1177
+ * <p> The types of recommended actions to include in the preview. </p>
1178
+ * @public
1179
+ */
1180
+ recommendedActionTypes: RecommendedActionType[] | undefined;
1181
+ /**
1182
+ * <p>A set of conditions that specify which recommended action qualify for implementation. When a rule is active and a recommended action matches these criteria, Compute Optimizer implements the action at the scheduled run time. </p>
1183
+ * @public
1184
+ */
1185
+ criteria?: Criteria | undefined;
1186
+ /**
1187
+ * <p>The maximum number of automation rule preview results to return in a single response. Valid range is 1-1000.</p>
1188
+ * @public
1189
+ */
1190
+ maxResults?: number | undefined;
1191
+ /**
1192
+ * <p>A token used for pagination to retrieve the next set of results when the response is truncated.</p>
1193
+ * @public
1194
+ */
1195
+ nextToken?: string | undefined;
1196
+ }
1197
+ /**
1198
+ * <p>Configuration details for an Amazon EBS volume.</p>
1199
+ * @public
1200
+ */
1201
+ export interface EbsVolumeConfiguration {
1202
+ /**
1203
+ * <p>The EBS volume type, such as gp2, gp3, io1, io2, st1, or sc1.</p>
1204
+ * @public
1205
+ */
1206
+ type?: string | undefined;
1207
+ /**
1208
+ * <p>The size of the EBS volume in gibibytes (GiB).</p>
1209
+ * @public
1210
+ */
1211
+ sizeInGib?: number | undefined;
1212
+ /**
1213
+ * <p>The number of I/O operations per second (IOPS) provisioned for the volume.</p>
1214
+ * @public
1215
+ */
1216
+ iops?: number | undefined;
1217
+ /**
1218
+ * <p>The throughput in MiB/s provisioned for the volume (applicable to gp3, io1, and io2bx volumes).</p>
1219
+ * @public
1220
+ */
1221
+ throughput?: number | undefined;
1222
+ }
1223
+ /**
1224
+ * <p>Represents an Amazon EBS volume with its configuration and snapshot usage information.</p>
1225
+ * @public
1226
+ */
1227
+ export interface EbsVolume {
1228
+ /**
1229
+ * <p>The configuration details of the EBS volume, including type, size, IOPS, and throughput.</p>
1230
+ * @public
1231
+ */
1232
+ configuration?: EbsVolumeConfiguration | undefined;
1233
+ }
1234
+ /**
1235
+ * <p>Detailed configuration information for a specific Amazon Web Services resource, with type-specific details.</p>
1236
+ * @public
1237
+ */
1238
+ export type ResourceDetails = ResourceDetails.EbsVolumeMember | ResourceDetails.$UnknownMember;
1239
+ /**
1240
+ * @public
1241
+ */
1242
+ export declare namespace ResourceDetails {
1243
+ /**
1244
+ * <p>Detailed configuration information specific to EBS volumes, including volume type, size, IOPS, and throughput settings.</p>
1245
+ * @public
1246
+ */
1247
+ interface EbsVolumeMember {
1248
+ ebsVolume: EbsVolume;
1249
+ $unknown?: never;
1250
+ }
1251
+ /**
1252
+ * @public
1253
+ */
1254
+ interface $UnknownMember {
1255
+ ebsVolume?: never;
1256
+ $unknown: [string, any];
1257
+ }
1258
+ /**
1259
+ * @deprecated unused in schema-serde mode.
1260
+ *
1261
+ */
1262
+ interface Visitor<T> {
1263
+ ebsVolume: (value: EbsVolume) => T;
1264
+ _: (name: string, value: any) => T;
1265
+ }
1266
+ }
1267
+ /**
1268
+ * <p>Contains the results of previewing an automation rule against available recommendations.</p>
1269
+ * @public
1270
+ */
1271
+ export interface PreviewResult {
1272
+ /**
1273
+ * <p>The ID of the recommended action being previewed.</p>
1274
+ * @public
1275
+ */
1276
+ recommendedActionId?: string | undefined;
1277
+ /**
1278
+ * <p>The Amazon Resource Name (ARN) of the resource affected by the recommended action.</p>
1279
+ * @public
1280
+ */
1281
+ resourceArn?: string | undefined;
1282
+ /**
1283
+ * <p>The ID of the resource affected by the recommended action.</p>
1284
+ * @public
1285
+ */
1286
+ resourceId?: string | undefined;
1287
+ /**
1288
+ * <p>The Amazon Web Services account ID associated with the resource.</p>
1289
+ * @public
1290
+ */
1291
+ accountId?: string | undefined;
1292
+ /**
1293
+ * <p>The Amazon Web Services Region where the resource is located.</p>
1294
+ * @public
1295
+ */
1296
+ region?: string | undefined;
1297
+ /**
1298
+ * <p>The type of resource being evaluated.</p>
1299
+ * @public
1300
+ */
1301
+ resourceType?: ResourceType | undefined;
1302
+ /**
1303
+ * <p>The number of days of historical data used to analyze the resource.</p>
1304
+ * @public
1305
+ */
1306
+ lookBackPeriodInDays?: number | undefined;
1307
+ /**
1308
+ * <p>The type of recommended action being previewed.</p>
1309
+ * @public
1310
+ */
1311
+ recommendedActionType?: RecommendedActionType | undefined;
1312
+ /**
1313
+ * <p>A summary of the resource's current configuration.</p>
1314
+ * @public
1315
+ */
1316
+ currentResourceSummary?: string | undefined;
1317
+ /**
1318
+ * <p>Detailed configuration information for a specific Amazon Web Services resource, with type-specific details.</p>
1319
+ * @public
1320
+ */
1321
+ currentResourceDetails?: ResourceDetails | undefined;
1322
+ /**
1323
+ * <p>A summary of the resource's recommended configuration.</p>
1324
+ * @public
1325
+ */
1326
+ recommendedResourceSummary?: string | undefined;
1327
+ /**
1328
+ * <p>Detailed configuration information for a specific Amazon Web Services resource, with type-specific details.</p>
1329
+ * @public
1330
+ */
1331
+ recommendedResourceDetails?: ResourceDetails | undefined;
1332
+ /**
1333
+ * <p>Indicates whether implementing the recommended action requires a resource restart.</p>
1334
+ * @public
1335
+ */
1336
+ restartNeeded?: boolean | undefined;
1337
+ /**
1338
+ * <p> Contains information about estimated monthly cost savings. </p>
1339
+ * @public
1340
+ */
1341
+ estimatedMonthlySavings?: EstimatedMonthlySavings | undefined;
1342
+ /**
1343
+ * <p>The tags associated with the resource.</p>
1344
+ * @public
1345
+ */
1346
+ resourceTags?: Tag[] | undefined;
1347
+ }
1348
+ /**
1349
+ * @public
1350
+ */
1351
+ export interface ListAutomationRulePreviewResponse {
1352
+ /**
1353
+ * <p> The list of actions that would be taken based on the specified criteria. </p>
1354
+ * @public
1355
+ */
1356
+ previewResults?: PreviewResult[] | undefined;
1357
+ /**
1358
+ * <p>A token used for pagination. If present, indicates there are more results available and can be used in subsequent requests.</p>
1359
+ * @public
1360
+ */
1361
+ nextToken?: string | undefined;
1362
+ }
1363
+ /**
1364
+ * @public
1365
+ */
1366
+ export interface ListAutomationRulePreviewSummariesRequest {
1367
+ /**
1368
+ * <p>The type of rule.</p>
1369
+ * @public
1370
+ */
1371
+ ruleType: RuleType | undefined;
1372
+ /**
1373
+ * <p>The organizational scope for the rule preview.</p>
1374
+ * @public
1375
+ */
1376
+ organizationScope?: OrganizationScope | undefined;
1377
+ /**
1378
+ * <p>The types of recommended actions to include in the preview.</p>
1379
+ * @public
1380
+ */
1381
+ recommendedActionTypes: RecommendedActionType[] | undefined;
1382
+ /**
1383
+ * <p> A set of conditions that specify which recommended action qualify for implementation. When a rule is active and a recommended action matches these criteria, Compute Optimizer implements the action at the scheduled run time. You can specify up to 20 conditions per filter criteria and 20 values per condition. </p>
1384
+ * @public
1385
+ */
1386
+ criteria?: Criteria | undefined;
1387
+ /**
1388
+ * <p>The maximum number of automation rule preview summaries to return in a single response. Valid range is 1-1000.</p>
1389
+ * @public
1390
+ */
1391
+ maxResults?: number | undefined;
1392
+ /**
1393
+ * <p>A token used for pagination to retrieve the next set of results when the response is truncated.</p>
1394
+ * @public
1395
+ */
1396
+ nextToken?: string | undefined;
1397
+ }
1398
+ /**
1399
+ * <p>Aggregate totals for automation rule preview results, including count and estimated savings.</p>
1400
+ * @public
1401
+ */
1402
+ export interface RulePreviewTotal {
1403
+ /**
1404
+ * <p>The total number of recommended actions matching the rule preview configuration.</p>
1405
+ * @public
1406
+ */
1407
+ recommendedActionCount: number | undefined;
1408
+ /**
1409
+ * <p> Contains information about estimated monthly cost savings. </p>
1410
+ * @public
1411
+ */
1412
+ estimatedMonthlySavings: EstimatedMonthlySavings | undefined;
1413
+ }
1414
+ /**
1415
+ * <p>Contains a summary of preview results for an automation rule.</p>
1416
+ * @public
1417
+ */
1418
+ export interface PreviewResultSummary {
1419
+ /**
1420
+ * <p>The key identifier for this preview result summary.</p>
1421
+ * @public
1422
+ */
1423
+ key: string | undefined;
1424
+ /**
1425
+ * <p>Aggregate totals for automation rule preview results, including count and estimated savings.</p>
1426
+ * @public
1427
+ */
1428
+ total: RulePreviewTotal | undefined;
1429
+ }
1430
+ /**
1431
+ * @public
1432
+ */
1433
+ export interface ListAutomationRulePreviewSummariesResponse {
1434
+ /**
1435
+ * <p>The list of automation rule preview summaries that match the specified criteria.</p>
1436
+ * @public
1437
+ */
1438
+ previewResultSummaries?: PreviewResultSummary[] | undefined;
1439
+ /**
1440
+ * <p>A token used for pagination. If present, indicates there are more results available and can be used in subsequent requests.</p>
1441
+ * @public
1442
+ */
1443
+ nextToken?: string | undefined;
1444
+ }
1445
+ /**
1446
+ * <p>A filter used to narrow down results based on specific criteria.</p>
1447
+ * @public
1448
+ */
1449
+ export interface Filter {
1450
+ /**
1451
+ * <p>The name of the filter field to apply.</p>
1452
+ * @public
1453
+ */
1454
+ name: AutomationRuleFilterName | undefined;
1455
+ /**
1456
+ * <p>The list of values to filter by for the specified filter field.</p>
1457
+ * @public
1458
+ */
1459
+ values: string[] | undefined;
1460
+ }
1461
+ /**
1462
+ * @public
1463
+ */
1464
+ export interface ListAutomationRulesRequest {
1465
+ /**
1466
+ * <p> The filters to apply to the list of automation rules. </p>
1467
+ * @public
1468
+ */
1469
+ filters?: Filter[] | undefined;
1470
+ /**
1471
+ * <p>The maximum number of automation rules to return in a single response. Valid range is 1-1000.</p>
1472
+ * @public
1473
+ */
1474
+ maxResults?: number | undefined;
1475
+ /**
1476
+ * <p>A token used for pagination to retrieve the next set of results when the response is truncated.</p>
1477
+ * @public
1478
+ */
1479
+ nextToken?: string | undefined;
1480
+ }
1481
+ /**
1482
+ * @public
1483
+ */
1484
+ export interface ListAutomationRulesResponse {
1485
+ /**
1486
+ * <p> The list of automation rules that match the specified criteria. </p>
1487
+ * @public
1488
+ */
1489
+ automationRules?: AutomationRule[] | undefined;
1490
+ /**
1491
+ * <p>A token used for pagination. If present, indicates there are more results available and can be used in subsequent requests.</p>
1492
+ * @public
1493
+ */
1494
+ nextToken?: string | undefined;
1495
+ }
1496
+ /**
1497
+ * @public
1498
+ * @enum
1499
+ */
1500
+ export declare const RecommendedActionFilterName: {
1501
+ readonly ACCOUNT_ID: "AccountId";
1502
+ readonly CURRENT_RESOURCE_DETAILS_EBS_VOLUME_TYPE: "CurrentResourceDetailsEbsVolumeType";
1503
+ readonly LOOK_BACK_PERIOD_IN_DAYS: "LookBackPeriodInDays";
1504
+ readonly RECOMMENDED_ACTION_TYPE: "RecommendedActionType";
1505
+ readonly RESOURCE_ID: "ResourceId";
1506
+ readonly RESOURCE_TAGS_KEY: "ResourceTagsKey";
1507
+ readonly RESOURCE_TAGS_VALUE: "ResourceTagsValue";
1508
+ readonly RESOURCE_TYPE: "ResourceType";
1509
+ readonly RESTART_NEEDED: "RestartNeeded";
1510
+ };
1511
+ /**
1512
+ * @public
1513
+ */
1514
+ export type RecommendedActionFilterName = (typeof RecommendedActionFilterName)[keyof typeof RecommendedActionFilterName];
1515
+ /**
1516
+ * <p>A filter used to narrow down recommended action results based on specific criteria.</p>
1517
+ * @public
1518
+ */
1519
+ export interface RecommendedActionFilter {
1520
+ /**
1521
+ * <p>The name of the filter field to apply.</p>
1522
+ * @public
1523
+ */
1524
+ name: RecommendedActionFilterName | undefined;
1525
+ /**
1526
+ * <p>List of filter values to match against the specified filter name. Used to narrow down recommended actions based on specific criteria.</p>
1527
+ * @public
1528
+ */
1529
+ values: string[] | undefined;
1530
+ }
1531
+ /**
1532
+ * @public
1533
+ */
1534
+ export interface ListRecommendedActionsRequest {
1535
+ /**
1536
+ * <p> The filters to apply to the list of recommended actions. </p>
1537
+ * @public
1538
+ */
1539
+ filters?: RecommendedActionFilter[] | undefined;
1540
+ /**
1541
+ * <p>The maximum number of recommended actions to return in a single response. Valid range is 1-1000.</p>
1542
+ * @public
1543
+ */
1544
+ maxResults?: number | undefined;
1545
+ /**
1546
+ * <p>A token used for pagination to retrieve the next set of results when the response is truncated.</p>
1547
+ * @public
1548
+ */
1549
+ nextToken?: string | undefined;
1550
+ }
1551
+ /**
1552
+ * <p>Contains information about a recommended action that can be applied to optimize an Amazon Web Services resource.</p>
1553
+ * @public
1554
+ */
1555
+ export interface RecommendedAction {
1556
+ /**
1557
+ * <p>The unique identifier of the recommended action.</p>
1558
+ * @public
1559
+ */
1560
+ recommendedActionId?: string | undefined;
1561
+ /**
1562
+ * <p>The Amazon Resource Name (ARN) of the resource that the recommendation applies to.</p>
1563
+ * @public
1564
+ */
1565
+ resourceArn?: string | undefined;
1566
+ /**
1567
+ * <p>The ID of the resource that the recommendation applies to.</p>
1568
+ * @public
1569
+ */
1570
+ resourceId?: string | undefined;
1571
+ /**
1572
+ * <p>The Amazon Web Services account ID that owns the resource.</p>
1573
+ * @public
1574
+ */
1575
+ accountId?: string | undefined;
1576
+ /**
1577
+ * <p>The Amazon Web Services Region where the resource is located.</p>
1578
+ * @public
1579
+ */
1580
+ region?: string | undefined;
1581
+ /**
1582
+ * <p>The type of resource being evaluated.</p>
1583
+ * @public
1584
+ */
1585
+ resourceType?: ResourceType | undefined;
1586
+ /**
1587
+ * <p>The number of days of historical data used to generate the recommendation.</p>
1588
+ * @public
1589
+ */
1590
+ lookBackPeriodInDays?: number | undefined;
1591
+ /**
1592
+ * <p>The type of action being recommended.</p>
1593
+ * @public
1594
+ */
1595
+ recommendedActionType?: RecommendedActionType | undefined;
1596
+ /**
1597
+ * <p>A summary of the resource's current configuration.</p>
1598
+ * @public
1599
+ */
1600
+ currentResourceSummary?: string | undefined;
1601
+ /**
1602
+ * <p>Detailed configuration information for a specific Amazon Web Services resource, with type-specific details.</p>
1603
+ * @public
1604
+ */
1605
+ currentResourceDetails?: ResourceDetails | undefined;
1606
+ /**
1607
+ * <p>A summary of the resource's recommended configuration.</p>
1608
+ * @public
1609
+ */
1610
+ recommendedResourceSummary?: string | undefined;
1611
+ /**
1612
+ * <p>Detailed configuration information for a specific Amazon Web Services resource, with type-specific details.</p>
1613
+ * @public
1614
+ */
1615
+ recommendedResourceDetails?: ResourceDetails | undefined;
1616
+ /**
1617
+ * <p>Indicates whether implementing the recommended action requires a resource restart.</p>
1618
+ * @public
1619
+ */
1620
+ restartNeeded?: boolean | undefined;
1621
+ /**
1622
+ * <p> Contains information about estimated monthly cost savings. </p>
1623
+ * @public
1624
+ */
1625
+ estimatedMonthlySavings?: EstimatedMonthlySavings | undefined;
1626
+ /**
1627
+ * <p>The tags associated with the resource.</p>
1628
+ * @public
1629
+ */
1630
+ resourceTags?: Tag[] | undefined;
1631
+ }
1632
+ /**
1633
+ * @public
1634
+ */
1635
+ export interface ListRecommendedActionsResponse {
1636
+ /**
1637
+ * <p> The list of recommended actions that match the specified criteria. </p>
1638
+ * @public
1639
+ */
1640
+ recommendedActions?: RecommendedAction[] | undefined;
1641
+ /**
1642
+ * <p>A token used for pagination. If present, indicates there are more results available and can be used in subsequent requests.</p>
1643
+ * @public
1644
+ */
1645
+ nextToken?: string | undefined;
1646
+ }
1647
+ /**
1648
+ * @public
1649
+ */
1650
+ export interface ListRecommendedActionSummariesRequest {
1651
+ /**
1652
+ * <p>A list of filters to apply when retrieving recommended action summaries. Filters can be based on resource type, action type, account ID, and other criteria.</p>
1653
+ * @public
1654
+ */
1655
+ filters?: RecommendedActionFilter[] | undefined;
1656
+ /**
1657
+ * <p>The maximum number of recommended action summaries to return in a single response. Valid range is 1-1000.</p>
1658
+ * @public
1659
+ */
1660
+ maxResults?: number | undefined;
1661
+ /**
1662
+ * <p>A token used for pagination to retrieve the next set of results when the response is truncated.</p>
1663
+ * @public
1664
+ */
1665
+ nextToken?: string | undefined;
1666
+ }
1667
+ /**
1668
+ * <p>Aggregate totals for a group of recommended actions, including count and estimated monthly savings.</p>
1669
+ * @public
1670
+ */
1671
+ export interface RecommendedActionTotal {
1672
+ /**
1673
+ * <p>The total number of recommended actions in this group.</p>
1674
+ * @public
1675
+ */
1676
+ recommendedActionCount: number | undefined;
1677
+ /**
1678
+ * <p> Contains information about estimated monthly cost savings. </p>
1679
+ * @public
1680
+ */
1681
+ estimatedMonthlySavings: EstimatedMonthlySavings | undefined;
1682
+ }
1683
+ /**
1684
+ * <p>Summary information about recommended actions, grouped by specific criteria with totals and counts.</p>
1685
+ * @public
1686
+ */
1687
+ export interface RecommendedActionSummary {
1688
+ /**
1689
+ * <p>The grouping key used to categorize the recommended actions in this summary.</p>
1690
+ * @public
1691
+ */
1692
+ key: string | undefined;
1693
+ /**
1694
+ * <p>Aggregate totals for the recommended actions in this group, including count and estimated savings.</p>
1695
+ * @public
1696
+ */
1697
+ total: RecommendedActionTotal | undefined;
1698
+ }
1699
+ /**
1700
+ * @public
1701
+ */
1702
+ export interface ListRecommendedActionSummariesResponse {
1703
+ /**
1704
+ * <p> The summary of recommended actions that match the specified criteria. </p>
1705
+ * @public
1706
+ */
1707
+ recommendedActionSummaries?: RecommendedActionSummary[] | undefined;
1708
+ /**
1709
+ * <p>A token used for pagination. If present, indicates there are more results available and can be used in subsequent requests.</p>
1710
+ * @public
1711
+ */
1712
+ nextToken?: string | undefined;
1713
+ }
1714
+ /**
1715
+ * @public
1716
+ */
1717
+ export interface ListTagsForResourceRequest {
1718
+ /**
1719
+ * <p> The ARN of the resource to list tags for. </p>
1720
+ * @public
1721
+ */
1722
+ resourceArn: string | undefined;
1723
+ }
1724
+ /**
1725
+ * @public
1726
+ */
1727
+ export interface ListTagsForResourceResponse {
1728
+ /**
1729
+ * <p> The list of tags associated with the specified resource. </p>
1730
+ * @public
1731
+ */
1732
+ tags?: Tag[] | undefined;
1733
+ }
1734
+ /**
1735
+ * @public
1736
+ */
1737
+ export interface RollbackAutomationEventRequest {
1738
+ /**
1739
+ * <p> The ID of the automation event to roll back. </p>
1740
+ * @public
1741
+ */
1742
+ eventId: string | undefined;
1743
+ /**
1744
+ * <p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Must be 1-64 characters long and contain only alphanumeric characters, underscores, and hyphens.</p>
1745
+ * @public
1746
+ */
1747
+ clientToken?: string | undefined;
1748
+ }
1749
+ /**
1750
+ * @public
1751
+ */
1752
+ export interface RollbackAutomationEventResponse {
1753
+ /**
1754
+ * <p> The ID of the automation event being rolled back. </p>
1755
+ * @public
1756
+ */
1757
+ eventId?: string | undefined;
1758
+ /**
1759
+ * <p> The current status of the rollback operation. </p>
1760
+ * @public
1761
+ */
1762
+ eventStatus?: EventStatus | undefined;
1763
+ }
1764
+ /**
1765
+ * @public
1766
+ */
1767
+ export interface StartAutomationEventRequest {
1768
+ /**
1769
+ * <p> The ID of the recommended action to automate. </p>
1770
+ * @public
1771
+ */
1772
+ recommendedActionId: string | undefined;
1773
+ /**
1774
+ * <p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Must be 1-64 characters long and contain only alphanumeric characters, underscores, and hyphens.</p>
1775
+ * @public
1776
+ */
1777
+ clientToken?: string | undefined;
1778
+ }
1779
+ /**
1780
+ * @public
1781
+ */
1782
+ export interface StartAutomationEventResponse {
1783
+ /**
1784
+ * <p>The ID of the recommended action being automated.</p>
1785
+ * @public
1786
+ */
1787
+ recommendedActionId?: string | undefined;
1788
+ /**
1789
+ * <p>The ID of the automation event.</p>
1790
+ * @public
1791
+ */
1792
+ eventId?: string | undefined;
1793
+ /**
1794
+ * <p>The current status of the automation event.</p>
1795
+ * @public
1796
+ */
1797
+ eventStatus?: EventStatus | undefined;
1798
+ }
1799
+ /**
1800
+ * @public
1801
+ */
1802
+ export interface TagResourceRequest {
1803
+ /**
1804
+ * <p> The ARN of the resource to tag. </p>
1805
+ * @public
1806
+ */
1807
+ resourceArn: string | undefined;
1808
+ /**
1809
+ * <p>The revision number of the automation rule to tag. This ensures you're tagging the correct version of the rule.</p>
1810
+ * @public
1811
+ */
1812
+ ruleRevision: number | undefined;
1813
+ /**
1814
+ * <p> The tags to add to the resource. </p>
1815
+ * @public
1816
+ */
1817
+ tags: Tag[] | undefined;
1818
+ /**
1819
+ * <p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Must be 1-64 characters long and contain only alphanumeric characters, underscores, and hyphens.</p>
1820
+ * @public
1821
+ */
1822
+ clientToken?: string | undefined;
1823
+ }
1824
+ /**
1825
+ * @public
1826
+ */
1827
+ export interface TagResourceResponse {
1828
+ }
1829
+ /**
1830
+ * @public
1831
+ */
1832
+ export interface UntagResourceRequest {
1833
+ /**
1834
+ * <p> The ARN of the resource to untag. </p>
1835
+ * @public
1836
+ */
1837
+ resourceArn: string | undefined;
1838
+ /**
1839
+ * <p>The revision number of the automation rule to untag. This ensures you're untagging the correct version of the rule.</p>
1840
+ * @public
1841
+ */
1842
+ ruleRevision: number | undefined;
1843
+ /**
1844
+ * <p> The keys of the tags to remove from the resource. </p>
1845
+ * @public
1846
+ */
1847
+ tagKeys: string[] | undefined;
1848
+ /**
1849
+ * <p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Must be 1-64 characters long and contain only alphanumeric characters, underscores, and hyphens.</p>
1850
+ * @public
1851
+ */
1852
+ clientToken?: string | undefined;
1853
+ }
1854
+ /**
1855
+ * @public
1856
+ */
1857
+ export interface UntagResourceResponse {
1858
+ }
1859
+ /**
1860
+ * @public
1861
+ */
1862
+ export interface UpdateAutomationRuleRequest {
1863
+ /**
1864
+ * <p> The ARN of the rule to update. </p>
1865
+ * @public
1866
+ */
1867
+ ruleArn: string | undefined;
1868
+ /**
1869
+ * <p> The revision number of the rule to update. </p>
1870
+ * @public
1871
+ */
1872
+ ruleRevision: number | undefined;
1873
+ /**
1874
+ * <p>The updated name of the automation rule. Must be 1-128 characters long and contain only alphanumeric characters, underscores, and hyphens.</p>
1875
+ * @public
1876
+ */
1877
+ name?: string | undefined;
1878
+ /**
1879
+ * <p>The updated description of the automation rule. Can be up to 1024 characters long and contain alphanumeric characters, underscores, hyphens, spaces, and certain special characters.</p>
1880
+ * @public
1881
+ */
1882
+ description?: string | undefined;
1883
+ /**
1884
+ * <p>The updated type of automation rule. Can be either OrganizationRule for organization-wide rules or AccountRule for account-specific rules.</p>
1885
+ * @public
1886
+ */
1887
+ ruleType?: RuleType | undefined;
1888
+ /**
1889
+ * <p>Updated configuration settings for organization-wide rules, including rule application order and target account IDs.</p>
1890
+ * @public
1891
+ */
1892
+ organizationConfiguration?: OrganizationConfiguration | undefined;
1893
+ /**
1894
+ * <p>The updated priority level of the automation rule, used to determine execution order when multiple rules apply to the same resource.</p>
1895
+ * @public
1896
+ */
1897
+ priority?: string | undefined;
1898
+ /**
1899
+ * <p>Updated list of recommended action types that this rule can execute, such as SnapshotAndDeleteUnattachedEbsVolume or UpgradeEbsVolumeType.</p>
1900
+ * @public
1901
+ */
1902
+ recommendedActionTypes?: RecommendedActionType[] | undefined;
1903
+ /**
1904
+ * <p> A set of conditions that specify which recommended action qualify for implementation. When a rule is active and a recommended action matches these criteria, Compute Optimizer implements the action at the scheduled run time. You can specify up to 20 conditions per filter criteria and 20 values per condition. </p>
1905
+ * @public
1906
+ */
1907
+ criteria?: Criteria | undefined;
1908
+ /**
1909
+ * <p>The updated schedule configuration for when the automation rule should execute, including cron expression, timezone, and execution window.</p>
1910
+ * @public
1911
+ */
1912
+ schedule?: Schedule | undefined;
1913
+ /**
1914
+ * <p>The updated status of the automation rule. Can be Active or Inactive.</p>
1915
+ * @public
1916
+ */
1917
+ status?: RuleStatus | undefined;
1918
+ /**
1919
+ * <p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Must be 1-64 characters long and contain only alphanumeric characters, underscores, and hyphens.</p>
1920
+ * @public
1921
+ */
1922
+ clientToken?: string | undefined;
1923
+ }
1924
+ /**
1925
+ * @public
1926
+ */
1927
+ export interface UpdateAutomationRuleResponse {
1928
+ /**
1929
+ * <p> The ARN of the updated rule. </p>
1930
+ * @public
1931
+ */
1932
+ ruleArn?: string | undefined;
1933
+ /**
1934
+ * <p> The new revision number of the updated rule. </p>
1935
+ * @public
1936
+ */
1937
+ ruleRevision?: number | undefined;
1938
+ /**
1939
+ * <p>The updated name of the automation rule.</p>
1940
+ * @public
1941
+ */
1942
+ name?: string | undefined;
1943
+ /**
1944
+ * <p>The updated description of the automation rule.</p>
1945
+ * @public
1946
+ */
1947
+ description?: string | undefined;
1948
+ /**
1949
+ * <p>The updated type of automation rule.</p>
1950
+ * @public
1951
+ */
1952
+ ruleType?: RuleType | undefined;
1953
+ /**
1954
+ * <p>The updated organization configuration settings.</p>
1955
+ * @public
1956
+ */
1957
+ organizationConfiguration?: OrganizationConfiguration | undefined;
1958
+ /**
1959
+ * <p>The updated priority level of the automation rule.</p>
1960
+ * @public
1961
+ */
1962
+ priority?: string | undefined;
1963
+ /**
1964
+ * <p>The updated list of recommended action types.</p>
1965
+ * @public
1966
+ */
1967
+ recommendedActionTypes?: RecommendedActionType[] | undefined;
1968
+ /**
1969
+ * <p> A set of conditions that specify which recommended action qualify for implementation. When a rule is active and a recommended action matches these criteria, Compute Optimizer implements the action at the scheduled run time. You can specify up to 20 conditions per filter criteria and 20 values per condition. </p>
1970
+ * @public
1971
+ */
1972
+ criteria?: Criteria | undefined;
1973
+ /**
1974
+ * <p>The updated schedule configuration.</p>
1975
+ * @public
1976
+ */
1977
+ schedule?: Schedule | undefined;
1978
+ /**
1979
+ * <p>The updated status of the automation rule.</p>
1980
+ * @public
1981
+ */
1982
+ status?: RuleStatus | undefined;
1983
+ /**
1984
+ * <p>The timestamp when the automation rule was originally created.</p>
1985
+ * @public
1986
+ */
1987
+ createdTimestamp?: Date | undefined;
1988
+ /**
1989
+ * <p>The timestamp when the automation rule was last updated.</p>
1990
+ * @public
1991
+ */
1992
+ lastUpdatedTimestamp?: Date | undefined;
1993
+ }
1994
+ /**
1995
+ * @public
1996
+ */
1997
+ export interface UpdateEnrollmentConfigurationRequest {
1998
+ /**
1999
+ * <p>The desired enrollment status. </p> <ul> <li> <p>Active - Enables the Automation feature for your account.</p> </li> <li> <p>Inactive - Disables the Automation feature for your account and stops all of your automation rules. If you opt in again later, all rules will be inactive, and you must enable the rules you want to run. You must wait at least 24 hours after opting out to opt in again.</p> </li> </ul> <note> <p>The <code>Pending</code> and <code>Failed</code> options cannot be used to update the enrollment status of an account. They are returned in the response of a request to update the enrollment status of an account.</p> <p>If you are a member account, your account must be disassociated from your organization’s management account before you can disable Automation. Contact your administrator to make this change.</p> </note>
2000
+ * @public
2001
+ */
2002
+ status: EnrollmentStatus | undefined;
2003
+ /**
2004
+ * <p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Must be 1-64 characters long and contain only alphanumeric characters, underscores, and hyphens.</p>
2005
+ * @public
2006
+ */
2007
+ clientToken?: string | undefined;
2008
+ }
2009
+ /**
2010
+ * @public
2011
+ */
2012
+ export interface UpdateEnrollmentConfigurationResponse {
2013
+ /**
2014
+ * <p> The updated enrollment status. </p>
2015
+ * @public
2016
+ */
2017
+ status: EnrollmentStatus | undefined;
2018
+ /**
2019
+ * <p> The reason for the updated enrollment status. </p>
2020
+ * @public
2021
+ */
2022
+ statusReason?: string | undefined;
2023
+ /**
2024
+ * <p> The timestamp when the enrollment configuration was last updated. </p>
2025
+ * @public
2026
+ */
2027
+ lastUpdatedTimestamp: Date | undefined;
2028
+ }