aws-sdk-computeoptimizer 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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