aws-sdk-computeoptimizer 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,23 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws::ComputeOptimizer
9
+ class Resource
10
+
11
+ # @param options ({})
12
+ # @option options [Client] :client
13
+ def initialize(options = {})
14
+ @client = options[:client] || Client.new(options)
15
+ end
16
+
17
+ # @return [Client]
18
+ def client
19
+ @client
20
+ end
21
+
22
+ end
23
+ end
@@ -0,0 +1,971 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws::ComputeOptimizer
9
+ module Types
10
+
11
+ # You do not have sufficient access to perform this action.
12
+ #
13
+ # @!attribute [rw] message
14
+ # @return [String]
15
+ #
16
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/AccessDeniedException AWS API Documentation
17
+ #
18
+ class AccessDeniedException < Struct.new(
19
+ :message)
20
+ include Aws::Structure
21
+ end
22
+
23
+ # Describes the configuration of an Auto Scaling group.
24
+ #
25
+ # @!attribute [rw] desired_capacity
26
+ # The desired capacity, or number of instances, for the Auto Scaling
27
+ # group.
28
+ # @return [Integer]
29
+ #
30
+ # @!attribute [rw] min_size
31
+ # The minimum size, or minimum number of instances, for the Auto
32
+ # Scaling group.
33
+ # @return [Integer]
34
+ #
35
+ # @!attribute [rw] max_size
36
+ # The maximum size, or maximum number of instances, for the Auto
37
+ # Scaling group.
38
+ # @return [Integer]
39
+ #
40
+ # @!attribute [rw] instance_type
41
+ # The instance type for the Auto Scaling group.
42
+ # @return [String]
43
+ #
44
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/AutoScalingGroupConfiguration AWS API Documentation
45
+ #
46
+ class AutoScalingGroupConfiguration < Struct.new(
47
+ :desired_capacity,
48
+ :min_size,
49
+ :max_size,
50
+ :instance_type)
51
+ include Aws::Structure
52
+ end
53
+
54
+ # Describes an Auto Scaling group recommendation.
55
+ #
56
+ # @!attribute [rw] account_id
57
+ # The AWS account ID of the Auto Scaling group.
58
+ # @return [String]
59
+ #
60
+ # @!attribute [rw] auto_scaling_group_arn
61
+ # The Amazon Resource Name (ARN) of the Auto Scaling group.
62
+ # @return [String]
63
+ #
64
+ # @!attribute [rw] auto_scaling_group_name
65
+ # The name of the Auto Scaling group.
66
+ # @return [String]
67
+ #
68
+ # @!attribute [rw] finding
69
+ # The finding classification for the Auto Scaling group.
70
+ #
71
+ # Findings for Auto Scaling groups include:
72
+ #
73
+ # * <b> <code>NotOptimized</code> </b>—An Auto Scaling group is
74
+ # considered not optimized when AWS Compute Optimizer identifies a
75
+ # recommendation that can provide better performance for your
76
+ # workload.
77
+ #
78
+ # * <b> <code>Optimized</code> </b>—An Auto Scaling group is
79
+ # considered optimized when Compute Optimizer determines that the
80
+ # group is correctly provisioned to run your workload based on the
81
+ # chosen instance type. For optimized resources, Compute Optimizer
82
+ # might recommend a new generation instance type.
83
+ #
84
+ # <note markdown="1"> The values that are returned might be `NOT_OPTIMIZED` or
85
+ # `OPTIMIZED`.
86
+ #
87
+ # </note>
88
+ # @return [String]
89
+ #
90
+ # @!attribute [rw] utilization_metrics
91
+ # An array of objects that describe the utilization metrics of the
92
+ # Auto Scaling group.
93
+ # @return [Array<Types::UtilizationMetric>]
94
+ #
95
+ # @!attribute [rw] look_back_period_in_days
96
+ # The number of days for which utilization metrics were analyzed for
97
+ # the Auto Scaling group.
98
+ # @return [Float]
99
+ #
100
+ # @!attribute [rw] current_configuration
101
+ # An array of objects that describe the current configuration of the
102
+ # Auto Scaling group.
103
+ # @return [Types::AutoScalingGroupConfiguration]
104
+ #
105
+ # @!attribute [rw] recommendation_options
106
+ # An array of objects that describe the recommendation options for the
107
+ # Auto Scaling group.
108
+ # @return [Array<Types::AutoScalingGroupRecommendationOption>]
109
+ #
110
+ # @!attribute [rw] last_refresh_timestamp
111
+ # The time stamp of when the Auto Scaling group recommendation was
112
+ # last refreshed.
113
+ # @return [Time]
114
+ #
115
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/AutoScalingGroupRecommendation AWS API Documentation
116
+ #
117
+ class AutoScalingGroupRecommendation < Struct.new(
118
+ :account_id,
119
+ :auto_scaling_group_arn,
120
+ :auto_scaling_group_name,
121
+ :finding,
122
+ :utilization_metrics,
123
+ :look_back_period_in_days,
124
+ :current_configuration,
125
+ :recommendation_options,
126
+ :last_refresh_timestamp)
127
+ include Aws::Structure
128
+ end
129
+
130
+ # Describes a recommendation option for an Auto Scaling group.
131
+ #
132
+ # @!attribute [rw] configuration
133
+ # An array of objects that describe an Auto Scaling group
134
+ # configuration.
135
+ # @return [Types::AutoScalingGroupConfiguration]
136
+ #
137
+ # @!attribute [rw] projected_utilization_metrics
138
+ # An array of objects that describe the projected utilization metrics
139
+ # of the Auto Scaling group recommendation option.
140
+ # @return [Array<Types::UtilizationMetric>]
141
+ #
142
+ # @!attribute [rw] performance_risk
143
+ # The performance risk of the Auto Scaling group configuration
144
+ # recommendation.
145
+ #
146
+ # Performance risk is the likelihood of the recommended instance type
147
+ # not meeting the performance requirement of your workload.
148
+ #
149
+ # The lowest performance risk is categorized as `0`, and the highest
150
+ # as `5`.
151
+ # @return [Float]
152
+ #
153
+ # @!attribute [rw] rank
154
+ # The rank of the Auto Scaling group recommendation option.
155
+ #
156
+ # The top recommendation option is ranked as `1`.
157
+ # @return [Integer]
158
+ #
159
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/AutoScalingGroupRecommendationOption AWS API Documentation
160
+ #
161
+ class AutoScalingGroupRecommendationOption < Struct.new(
162
+ :configuration,
163
+ :projected_utilization_metrics,
164
+ :performance_risk,
165
+ :rank)
166
+ include Aws::Structure
167
+ end
168
+
169
+ # Describes a filter that returns a more specific list of
170
+ # recommendations.
171
+ #
172
+ # @note When making an API call, you may pass Filter
173
+ # data as a hash:
174
+ #
175
+ # {
176
+ # name: "Finding", # accepts Finding, RecommendationSourceType
177
+ # values: ["FilterValue"],
178
+ # }
179
+ #
180
+ # @!attribute [rw] name
181
+ # The name of the filter.
182
+ #
183
+ # Specify `Finding` to filter the results to a specific findings
184
+ # classification.
185
+ #
186
+ # Specify `RecommendationSourceType` to filter the results to a
187
+ # specific resource type.
188
+ # @return [String]
189
+ #
190
+ # @!attribute [rw] values
191
+ # The value of the filter.
192
+ #
193
+ # If you specify the `name` parameter as `Finding`, and you're
194
+ # recommendations for an *instance*, then the valid values are
195
+ # `Underprovisioned`, `Overprovisioned`, `NotOptimized`, or
196
+ # `Optimized`.
197
+ #
198
+ # If you specify the `name` parameter as `Finding`, and you're
199
+ # recommendations for an *Auto Scaling group*, then the valid values
200
+ # are `Optimized`, or `NotOptimized`.
201
+ #
202
+ # If you specify the `name` parameter as `RecommendationSourceType`,
203
+ # then the valid values are `EC2Instance`, or `AutoScalingGroup`.
204
+ # @return [Array<String>]
205
+ #
206
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/Filter AWS API Documentation
207
+ #
208
+ class Filter < Struct.new(
209
+ :name,
210
+ :values)
211
+ include Aws::Structure
212
+ end
213
+
214
+ # @note When making an API call, you may pass GetAutoScalingGroupRecommendationsRequest
215
+ # data as a hash:
216
+ #
217
+ # {
218
+ # account_ids: ["AccountId"],
219
+ # auto_scaling_group_arns: ["AutoScalingGroupArn"],
220
+ # next_token: "NextToken",
221
+ # max_results: 1,
222
+ # filters: [
223
+ # {
224
+ # name: "Finding", # accepts Finding, RecommendationSourceType
225
+ # values: ["FilterValue"],
226
+ # },
227
+ # ],
228
+ # }
229
+ #
230
+ # @!attribute [rw] account_ids
231
+ # The AWS account IDs for which to return Auto Scaling group
232
+ # recommendations.
233
+ #
234
+ # Only one account ID can be specified per request.
235
+ # @return [Array<String>]
236
+ #
237
+ # @!attribute [rw] auto_scaling_group_arns
238
+ # The Amazon Resource Name (ARN) of the Auto Scaling groups for which
239
+ # to return recommendations.
240
+ # @return [Array<String>]
241
+ #
242
+ # @!attribute [rw] next_token
243
+ # The token to advance to the next page of Auto Scaling group
244
+ # recommendations.
245
+ # @return [String]
246
+ #
247
+ # @!attribute [rw] max_results
248
+ # The maximum number of Auto Scaling group recommendations to return
249
+ # with a single call.
250
+ #
251
+ # To retrieve the remaining results, make another call with the
252
+ # returned `NextToken` value.
253
+ # @return [Integer]
254
+ #
255
+ # @!attribute [rw] filters
256
+ # An array of objects that describe a filter that returns a more
257
+ # specific list of Auto Scaling group recommendations.
258
+ # @return [Array<Types::Filter>]
259
+ #
260
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetAutoScalingGroupRecommendationsRequest AWS API Documentation
261
+ #
262
+ class GetAutoScalingGroupRecommendationsRequest < Struct.new(
263
+ :account_ids,
264
+ :auto_scaling_group_arns,
265
+ :next_token,
266
+ :max_results,
267
+ :filters)
268
+ include Aws::Structure
269
+ end
270
+
271
+ # @!attribute [rw] next_token
272
+ # The token to use to advance to the next page of Auto Scaling group
273
+ # recommendations.
274
+ #
275
+ # This value is null when there are no more pages of Auto Scaling
276
+ # group recommendations to return.
277
+ # @return [String]
278
+ #
279
+ # @!attribute [rw] auto_scaling_group_recommendations
280
+ # An array of objects that describe Auto Scaling group
281
+ # recommendations.
282
+ # @return [Array<Types::AutoScalingGroupRecommendation>]
283
+ #
284
+ # @!attribute [rw] errors
285
+ # An array of objects that describe errors of the request.
286
+ #
287
+ # For example, an error is returned if you request recommendations for
288
+ # an unsupported Auto Scaling group.
289
+ # @return [Array<Types::GetRecommendationError>]
290
+ #
291
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetAutoScalingGroupRecommendationsResponse AWS API Documentation
292
+ #
293
+ class GetAutoScalingGroupRecommendationsResponse < Struct.new(
294
+ :next_token,
295
+ :auto_scaling_group_recommendations,
296
+ :errors)
297
+ include Aws::Structure
298
+ end
299
+
300
+ # @note When making an API call, you may pass GetEC2InstanceRecommendationsRequest
301
+ # data as a hash:
302
+ #
303
+ # {
304
+ # instance_arns: ["InstanceArn"],
305
+ # next_token: "NextToken",
306
+ # max_results: 1,
307
+ # filters: [
308
+ # {
309
+ # name: "Finding", # accepts Finding, RecommendationSourceType
310
+ # values: ["FilterValue"],
311
+ # },
312
+ # ],
313
+ # account_ids: ["AccountId"],
314
+ # }
315
+ #
316
+ # @!attribute [rw] instance_arns
317
+ # The Amazon Resource Name (ARN) of the instances for which to return
318
+ # recommendations.
319
+ # @return [Array<String>]
320
+ #
321
+ # @!attribute [rw] next_token
322
+ # The token to advance to the next page of instance recommendations.
323
+ # @return [String]
324
+ #
325
+ # @!attribute [rw] max_results
326
+ # The maximum number of instance recommendations to return with a
327
+ # single call.
328
+ #
329
+ # To retrieve the remaining results, make another call with the
330
+ # returned `NextToken` value.
331
+ # @return [Integer]
332
+ #
333
+ # @!attribute [rw] filters
334
+ # An array of objects that describe a filter that returns a more
335
+ # specific list of instance recommendations.
336
+ # @return [Array<Types::Filter>]
337
+ #
338
+ # @!attribute [rw] account_ids
339
+ # The AWS account IDs for which to return instance recommendations.
340
+ #
341
+ # Only one account ID can be specified per request.
342
+ # @return [Array<String>]
343
+ #
344
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetEC2InstanceRecommendationsRequest AWS API Documentation
345
+ #
346
+ class GetEC2InstanceRecommendationsRequest < Struct.new(
347
+ :instance_arns,
348
+ :next_token,
349
+ :max_results,
350
+ :filters,
351
+ :account_ids)
352
+ include Aws::Structure
353
+ end
354
+
355
+ # @!attribute [rw] next_token
356
+ # The token to use to advance to the next page of instance
357
+ # recommendations.
358
+ #
359
+ # This value is null when there are no more pages of instance
360
+ # recommendations to return.
361
+ # @return [String]
362
+ #
363
+ # @!attribute [rw] instance_recommendations
364
+ # An array of objects that describe instance recommendations.
365
+ # @return [Array<Types::InstanceRecommendation>]
366
+ #
367
+ # @!attribute [rw] errors
368
+ # An array of objects that describe errors of the request.
369
+ #
370
+ # For example, an error is returned if you request recommendations for
371
+ # an instance of an unsupported instance family.
372
+ # @return [Array<Types::GetRecommendationError>]
373
+ #
374
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetEC2InstanceRecommendationsResponse AWS API Documentation
375
+ #
376
+ class GetEC2InstanceRecommendationsResponse < Struct.new(
377
+ :next_token,
378
+ :instance_recommendations,
379
+ :errors)
380
+ include Aws::Structure
381
+ end
382
+
383
+ # @note When making an API call, you may pass GetEC2RecommendationProjectedMetricsRequest
384
+ # data as a hash:
385
+ #
386
+ # {
387
+ # instance_arn: "InstanceArn", # required
388
+ # stat: "Maximum", # required, accepts Maximum, Average
389
+ # period: 1, # required
390
+ # start_time: Time.now, # required
391
+ # end_time: Time.now, # required
392
+ # }
393
+ #
394
+ # @!attribute [rw] instance_arn
395
+ # The Amazon Resource Name (ARN) of the instances for which to return
396
+ # recommendation projected metrics.
397
+ # @return [String]
398
+ #
399
+ # @!attribute [rw] stat
400
+ # The statistic of the projected metrics.
401
+ # @return [String]
402
+ #
403
+ # @!attribute [rw] period
404
+ # The granularity, in seconds, of the projected metrics data points.
405
+ # @return [Integer]
406
+ #
407
+ # @!attribute [rw] start_time
408
+ # The time stamp of the first projected metrics data point to return.
409
+ # @return [Time]
410
+ #
411
+ # @!attribute [rw] end_time
412
+ # The time stamp of the last projected metrics data point to return.
413
+ # @return [Time]
414
+ #
415
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetEC2RecommendationProjectedMetricsRequest AWS API Documentation
416
+ #
417
+ class GetEC2RecommendationProjectedMetricsRequest < Struct.new(
418
+ :instance_arn,
419
+ :stat,
420
+ :period,
421
+ :start_time,
422
+ :end_time)
423
+ include Aws::Structure
424
+ end
425
+
426
+ # @!attribute [rw] recommended_option_projected_metrics
427
+ # An array of objects that describe a projected metrics.
428
+ # @return [Array<Types::RecommendedOptionProjectedMetric>]
429
+ #
430
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetEC2RecommendationProjectedMetricsResponse AWS API Documentation
431
+ #
432
+ class GetEC2RecommendationProjectedMetricsResponse < Struct.new(
433
+ :recommended_option_projected_metrics)
434
+ include Aws::Structure
435
+ end
436
+
437
+ # @api private
438
+ #
439
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetEnrollmentStatusRequest AWS API Documentation
440
+ #
441
+ class GetEnrollmentStatusRequest < Aws::EmptyStructure; end
442
+
443
+ # @!attribute [rw] status
444
+ # The enrollment status of the account.
445
+ # @return [String]
446
+ #
447
+ # @!attribute [rw] status_reason
448
+ # The reason for the enrollment status of the account.
449
+ #
450
+ # For example, an account might show a status of `Pending` because
451
+ # member accounts of an organization require more time to be enrolled
452
+ # in the service.
453
+ # @return [String]
454
+ #
455
+ # @!attribute [rw] member_accounts_enrolled
456
+ # Confirms the enrollment status of member accounts within the
457
+ # organization, if the account is a master account of an organization.
458
+ # @return [Boolean]
459
+ #
460
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetEnrollmentStatusResponse AWS API Documentation
461
+ #
462
+ class GetEnrollmentStatusResponse < Struct.new(
463
+ :status,
464
+ :status_reason,
465
+ :member_accounts_enrolled)
466
+ include Aws::Structure
467
+ end
468
+
469
+ # Describes an error experienced when getting recommendations.
470
+ #
471
+ # For example, an error is returned if you request recommendations for
472
+ # an unsupported Auto Scaling group, or if you request recommendations
473
+ # for an instance of an unsupported instance family.
474
+ #
475
+ # @!attribute [rw] identifier
476
+ # The ID of the error.
477
+ # @return [String]
478
+ #
479
+ # @!attribute [rw] code
480
+ # The error code.
481
+ # @return [String]
482
+ #
483
+ # @!attribute [rw] message
484
+ # The message, or reason, for the error.
485
+ # @return [String]
486
+ #
487
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetRecommendationError AWS API Documentation
488
+ #
489
+ class GetRecommendationError < Struct.new(
490
+ :identifier,
491
+ :code,
492
+ :message)
493
+ include Aws::Structure
494
+ end
495
+
496
+ # @note When making an API call, you may pass GetRecommendationSummariesRequest
497
+ # data as a hash:
498
+ #
499
+ # {
500
+ # account_ids: ["AccountId"],
501
+ # next_token: "NextToken",
502
+ # max_results: 1,
503
+ # }
504
+ #
505
+ # @!attribute [rw] account_ids
506
+ # The AWS account IDs for which to return recommendation summaries.
507
+ #
508
+ # Only one account ID can be specified per request.
509
+ # @return [Array<String>]
510
+ #
511
+ # @!attribute [rw] next_token
512
+ # The token to advance to the next page of recommendation summaries.
513
+ # @return [String]
514
+ #
515
+ # @!attribute [rw] max_results
516
+ # The maximum number of recommendation summaries to return with a
517
+ # single call.
518
+ #
519
+ # To retrieve the remaining results, make another call with the
520
+ # returned `NextToken` value.
521
+ # @return [Integer]
522
+ #
523
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetRecommendationSummariesRequest AWS API Documentation
524
+ #
525
+ class GetRecommendationSummariesRequest < Struct.new(
526
+ :account_ids,
527
+ :next_token,
528
+ :max_results)
529
+ include Aws::Structure
530
+ end
531
+
532
+ # @!attribute [rw] next_token
533
+ # The token to use to advance to the next page of recommendation
534
+ # summaries.
535
+ #
536
+ # This value is null when there are no more pages of recommendation
537
+ # summaries to return.
538
+ # @return [String]
539
+ #
540
+ # @!attribute [rw] recommendation_summaries
541
+ # An array of objects that summarize a recommendation.
542
+ # @return [Array<Types::RecommendationSummary>]
543
+ #
544
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetRecommendationSummariesResponse AWS API Documentation
545
+ #
546
+ class GetRecommendationSummariesResponse < Struct.new(
547
+ :next_token,
548
+ :recommendation_summaries)
549
+ include Aws::Structure
550
+ end
551
+
552
+ # Describes an Amazon EC2 instance recommendation.
553
+ #
554
+ # @!attribute [rw] instance_arn
555
+ # The Amazon Resource Name (ARN) of the current instance.
556
+ # @return [String]
557
+ #
558
+ # @!attribute [rw] account_id
559
+ # The AWS account ID of the instance recommendation.
560
+ # @return [String]
561
+ #
562
+ # @!attribute [rw] instance_name
563
+ # The name of the current instance.
564
+ # @return [String]
565
+ #
566
+ # @!attribute [rw] current_instance_type
567
+ # The instance type of the current instance.
568
+ # @return [String]
569
+ #
570
+ # @!attribute [rw] finding
571
+ # The finding classification for the instance.
572
+ #
573
+ # Findings for instances include:
574
+ #
575
+ # * <b> <code>Underprovisioned</code> </b>—An instance is considered
576
+ # under-provisioned when at least one specification of your
577
+ # instance, such as CPU, memory, or network, does not meet the
578
+ # performance requirements of your workload. Under-provisioned
579
+ # instances may lead to poor application performance.
580
+ #
581
+ # * <b> <code>Overprovisioned</code> </b>—An instance is considered
582
+ # over-provisioned when at least one specification of your instance,
583
+ # such as CPU, memory, or network, can be sized down while still
584
+ # meeting the performance requirements of your workload, and no
585
+ # specification is under-provisioned. Over-provisioned instances may
586
+ # lead to unnecessary infrastructure cost.
587
+ #
588
+ # * <b> <code>Optimized</code> </b>—An instance is considered
589
+ # optimized when all specifications of your instance, such as CPU,
590
+ # memory, and network, meet the performance requirements of your
591
+ # workload and is not over provisioned. An optimized instance runs
592
+ # your workloads with optimal performance and infrastructure cost.
593
+ # For optimized resources, AWS Compute Optimizer might recommend a
594
+ # new generation instance type.
595
+ #
596
+ # <note markdown="1"> The values that are returned might be `UNDER_PROVISIONED`,
597
+ # `OVER_PROVISIONED`, or `OPTIMIZED`.
598
+ #
599
+ # </note>
600
+ # @return [String]
601
+ #
602
+ # @!attribute [rw] utilization_metrics
603
+ # An array of objects that describe the utilization metrics of the
604
+ # instance.
605
+ # @return [Array<Types::UtilizationMetric>]
606
+ #
607
+ # @!attribute [rw] look_back_period_in_days
608
+ # The number of days for which utilization metrics were analyzed for
609
+ # the instance.
610
+ # @return [Float]
611
+ #
612
+ # @!attribute [rw] recommendation_options
613
+ # An array of objects that describe the recommendation options for the
614
+ # instance.
615
+ # @return [Array<Types::InstanceRecommendationOption>]
616
+ #
617
+ # @!attribute [rw] recommendation_sources
618
+ # An array of objects that describe the source resource of the
619
+ # recommendation.
620
+ # @return [Array<Types::RecommendationSource>]
621
+ #
622
+ # @!attribute [rw] last_refresh_timestamp
623
+ # The time stamp of when the instance recommendation was last
624
+ # refreshed.
625
+ # @return [Time]
626
+ #
627
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/InstanceRecommendation AWS API Documentation
628
+ #
629
+ class InstanceRecommendation < Struct.new(
630
+ :instance_arn,
631
+ :account_id,
632
+ :instance_name,
633
+ :current_instance_type,
634
+ :finding,
635
+ :utilization_metrics,
636
+ :look_back_period_in_days,
637
+ :recommendation_options,
638
+ :recommendation_sources,
639
+ :last_refresh_timestamp)
640
+ include Aws::Structure
641
+ end
642
+
643
+ # Describes a recommendation option for an Amazon EC2 instance.
644
+ #
645
+ # @!attribute [rw] instance_type
646
+ # The instance type of the instance recommendation.
647
+ # @return [String]
648
+ #
649
+ # @!attribute [rw] projected_utilization_metrics
650
+ # An array of objects that describe the projected utilization metrics
651
+ # of the instance recommendation option.
652
+ # @return [Array<Types::UtilizationMetric>]
653
+ #
654
+ # @!attribute [rw] performance_risk
655
+ # The performance risk of the instance recommendation option.
656
+ #
657
+ # Performance risk is the likelihood of the recommended instance type
658
+ # not meeting the performance requirement of your workload.
659
+ #
660
+ # The lowest performance risk is categorized as `0`, and the highest
661
+ # as `5`.
662
+ # @return [Float]
663
+ #
664
+ # @!attribute [rw] rank
665
+ # The rank of the instance recommendation option.
666
+ #
667
+ # The top recommendation option is ranked as `1`.
668
+ # @return [Integer]
669
+ #
670
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/InstanceRecommendationOption AWS API Documentation
671
+ #
672
+ class InstanceRecommendationOption < Struct.new(
673
+ :instance_type,
674
+ :projected_utilization_metrics,
675
+ :performance_risk,
676
+ :rank)
677
+ include Aws::Structure
678
+ end
679
+
680
+ # The request processing has failed because of an unknown error,
681
+ # exception, or failure.
682
+ #
683
+ # @!attribute [rw] message
684
+ # @return [String]
685
+ #
686
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/InternalServerException AWS API Documentation
687
+ #
688
+ class InternalServerException < Struct.new(
689
+ :message)
690
+ include Aws::Structure
691
+ end
692
+
693
+ # An invalid or out-of-range value was supplied for the input parameter.
694
+ #
695
+ # @!attribute [rw] message
696
+ # @return [String]
697
+ #
698
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/InvalidParameterValueException AWS API Documentation
699
+ #
700
+ class InvalidParameterValueException < Struct.new(
701
+ :message)
702
+ include Aws::Structure
703
+ end
704
+
705
+ # The request must contain either a valid (registered) AWS access key ID
706
+ # or X.509 certificate.
707
+ #
708
+ # @!attribute [rw] message
709
+ # @return [String]
710
+ #
711
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/MissingAuthenticationToken AWS API Documentation
712
+ #
713
+ class MissingAuthenticationToken < Struct.new(
714
+ :message)
715
+ include Aws::Structure
716
+ end
717
+
718
+ # You must opt in to the service to perform this action.
719
+ #
720
+ # @!attribute [rw] message
721
+ # @return [String]
722
+ #
723
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/OptInRequiredException AWS API Documentation
724
+ #
725
+ class OptInRequiredException < Struct.new(
726
+ :message)
727
+ include Aws::Structure
728
+ end
729
+
730
+ # Describes a projected utilization metric of a recommendation option,
731
+ # such as an Amazon EC2 instance.
732
+ #
733
+ # @!attribute [rw] name
734
+ # The name of the projected utilization metric.
735
+ #
736
+ # <note markdown="1"> Memory metrics are only returned for resources that have the unified
737
+ # CloudWatch agent installed on them. For more information, see
738
+ # [Enabling Memory Utilization with the CloudWatch Agent][1].
739
+ #
740
+ # </note>
741
+ #
742
+ #
743
+ #
744
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Install-CloudWatch-Agent.html
745
+ # @return [String]
746
+ #
747
+ # @!attribute [rw] timestamps
748
+ # The time stamps of the projected utilization metric.
749
+ # @return [Array<Time>]
750
+ #
751
+ # @!attribute [rw] values
752
+ # The values of the projected utilization metrics.
753
+ # @return [Array<Float>]
754
+ #
755
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ProjectedMetric AWS API Documentation
756
+ #
757
+ class ProjectedMetric < Struct.new(
758
+ :name,
759
+ :timestamps,
760
+ :values)
761
+ include Aws::Structure
762
+ end
763
+
764
+ # Describes the source of a recommendation, such as an Amazon EC2
765
+ # instance or Auto Scaling group.
766
+ #
767
+ # @!attribute [rw] recommendation_source_arn
768
+ # The Amazon Resource Name (ARN) of the recommendation source.
769
+ # @return [String]
770
+ #
771
+ # @!attribute [rw] recommendation_source_type
772
+ # The resource type of the recommendation source.
773
+ # @return [String]
774
+ #
775
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/RecommendationSource AWS API Documentation
776
+ #
777
+ class RecommendationSource < Struct.new(
778
+ :recommendation_source_arn,
779
+ :recommendation_source_type)
780
+ include Aws::Structure
781
+ end
782
+
783
+ # A summary of a recommendation.
784
+ #
785
+ # @!attribute [rw] summaries
786
+ # An array of objects that describe a recommendation summary.
787
+ # @return [Array<Types::Summary>]
788
+ #
789
+ # @!attribute [rw] recommendation_resource_type
790
+ # The resource type of the recommendation.
791
+ # @return [String]
792
+ #
793
+ # @!attribute [rw] account_id
794
+ # The AWS account ID of the recommendation summary.
795
+ # @return [String]
796
+ #
797
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/RecommendationSummary AWS API Documentation
798
+ #
799
+ class RecommendationSummary < Struct.new(
800
+ :summaries,
801
+ :recommendation_resource_type,
802
+ :account_id)
803
+ include Aws::Structure
804
+ end
805
+
806
+ # Describes a projected utilization metric of a recommendation option.
807
+ #
808
+ # @!attribute [rw] recommended_instance_type
809
+ # The recommended instance type.
810
+ # @return [String]
811
+ #
812
+ # @!attribute [rw] rank
813
+ # The rank of the recommendation option projected metric.
814
+ #
815
+ # The top recommendation option is ranked as `1`.
816
+ #
817
+ # The projected metric rank correlates to the recommendation option
818
+ # rank. For example, the projected metric ranked as `1` is related to
819
+ # the recommendation option that is also ranked as `1` in the same
820
+ # response.
821
+ # @return [Integer]
822
+ #
823
+ # @!attribute [rw] projected_metrics
824
+ # An array of objects that describe a projected utilization metric.
825
+ # @return [Array<Types::ProjectedMetric>]
826
+ #
827
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/RecommendedOptionProjectedMetric AWS API Documentation
828
+ #
829
+ class RecommendedOptionProjectedMetric < Struct.new(
830
+ :recommended_instance_type,
831
+ :rank,
832
+ :projected_metrics)
833
+ include Aws::Structure
834
+ end
835
+
836
+ # The specified resource was not found.
837
+ #
838
+ # @!attribute [rw] message
839
+ # @return [String]
840
+ #
841
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ResourceNotFoundException AWS API Documentation
842
+ #
843
+ class ResourceNotFoundException < Struct.new(
844
+ :message)
845
+ include Aws::Structure
846
+ end
847
+
848
+ # The request has failed due to a temporary failure of the server.
849
+ #
850
+ # @!attribute [rw] message
851
+ # @return [String]
852
+ #
853
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ServiceUnavailableException AWS API Documentation
854
+ #
855
+ class ServiceUnavailableException < Struct.new(
856
+ :message)
857
+ include Aws::Structure
858
+ end
859
+
860
+ # The summary of a recommendation.
861
+ #
862
+ # @!attribute [rw] name
863
+ # The finding classification of the recommendation.
864
+ # @return [String]
865
+ #
866
+ # @!attribute [rw] value
867
+ # The value of the recommendation summary.
868
+ # @return [Float]
869
+ #
870
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/Summary AWS API Documentation
871
+ #
872
+ class Summary < Struct.new(
873
+ :name,
874
+ :value)
875
+ include Aws::Structure
876
+ end
877
+
878
+ # The limit on the number of requests per second was exceeded.
879
+ #
880
+ # @!attribute [rw] message
881
+ # @return [String]
882
+ #
883
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ThrottlingException AWS API Documentation
884
+ #
885
+ class ThrottlingException < Struct.new(
886
+ :message)
887
+ include Aws::Structure
888
+ end
889
+
890
+ # @note When making an API call, you may pass UpdateEnrollmentStatusRequest
891
+ # data as a hash:
892
+ #
893
+ # {
894
+ # status: "Active", # required, accepts Active, Inactive, Pending, Failed
895
+ # include_member_accounts: false,
896
+ # }
897
+ #
898
+ # @!attribute [rw] status
899
+ # The new enrollment status of the account.
900
+ #
901
+ # Accepted options are `Active` or `Inactive`. You will get an error
902
+ # if `Pending` or `Failed` are specified.
903
+ # @return [String]
904
+ #
905
+ # @!attribute [rw] include_member_accounts
906
+ # Indicates whether to enroll member accounts within the organization,
907
+ # if the account is a master account of an organization.
908
+ # @return [Boolean]
909
+ #
910
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/UpdateEnrollmentStatusRequest AWS API Documentation
911
+ #
912
+ class UpdateEnrollmentStatusRequest < Struct.new(
913
+ :status,
914
+ :include_member_accounts)
915
+ include Aws::Structure
916
+ end
917
+
918
+ # @!attribute [rw] status
919
+ # The enrollment status of the account.
920
+ # @return [String]
921
+ #
922
+ # @!attribute [rw] status_reason
923
+ # The reason for the enrollment status of the account. For example, an
924
+ # account might show a status of `Pending` because member accounts of
925
+ # an organization require more time to be enrolled in the service.
926
+ # @return [String]
927
+ #
928
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/UpdateEnrollmentStatusResponse AWS API Documentation
929
+ #
930
+ class UpdateEnrollmentStatusResponse < Struct.new(
931
+ :status,
932
+ :status_reason)
933
+ include Aws::Structure
934
+ end
935
+
936
+ # Describes a utilization metric of a resource, such as an Amazon EC2
937
+ # instance.
938
+ #
939
+ # @!attribute [rw] name
940
+ # The name of the utilization metric.
941
+ #
942
+ # <note markdown="1"> Memory metrics are only returned for resources that have the unified
943
+ # CloudWatch agent installed on them. For more information, see
944
+ # [Enabling Memory Utilization with the CloudWatch Agent][1].
945
+ #
946
+ # </note>
947
+ #
948
+ #
949
+ #
950
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Install-CloudWatch-Agent.html
951
+ # @return [String]
952
+ #
953
+ # @!attribute [rw] statistic
954
+ # The statistic of the utilization metric.
955
+ # @return [String]
956
+ #
957
+ # @!attribute [rw] value
958
+ # The value of the utilization metric.
959
+ # @return [Float]
960
+ #
961
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/UtilizationMetric AWS API Documentation
962
+ #
963
+ class UtilizationMetric < Struct.new(
964
+ :name,
965
+ :statistic,
966
+ :value)
967
+ include Aws::Structure
968
+ end
969
+
970
+ end
971
+ end