aws-sdk-costoptimizationhub 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,2019 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+ module Aws::CostOptimizationHub
11
+ module Types
12
+
13
+ # You are not authorized to use this operation with the given
14
+ # parameters.
15
+ #
16
+ # @!attribute [rw] message
17
+ # @return [String]
18
+ #
19
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cost-optimization-hub-2022-07-26/AccessDeniedException AWS API Documentation
20
+ #
21
+ class AccessDeniedException < Struct.new(
22
+ :message)
23
+ SENSITIVE = []
24
+ include Aws::Structure
25
+ end
26
+
27
+ # Describes the enrollment status of an organization's member accounts
28
+ # in Cost Optimization Hub.
29
+ #
30
+ # @!attribute [rw] account_id
31
+ # The Amazon Web Services account ID.
32
+ # @return [String]
33
+ #
34
+ # @!attribute [rw] created_timestamp
35
+ # The time when the account enrollment status was created.
36
+ # @return [Time]
37
+ #
38
+ # @!attribute [rw] last_updated_timestamp
39
+ # The time when the account enrollment status was last updated.
40
+ # @return [Time]
41
+ #
42
+ # @!attribute [rw] status
43
+ # The account enrollment status.
44
+ # @return [String]
45
+ #
46
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cost-optimization-hub-2022-07-26/AccountEnrollmentStatus AWS API Documentation
47
+ #
48
+ class AccountEnrollmentStatus < Struct.new(
49
+ :account_id,
50
+ :created_timestamp,
51
+ :last_updated_timestamp,
52
+ :status)
53
+ SENSITIVE = []
54
+ include Aws::Structure
55
+ end
56
+
57
+ # Describes the Amazon Elastic Block Store performance configuration of
58
+ # the current and recommended resource configuration for a
59
+ # recommendation.
60
+ #
61
+ # @!attribute [rw] iops
62
+ # The number of I/O operations per second.
63
+ # @return [Float]
64
+ #
65
+ # @!attribute [rw] throughput
66
+ # The throughput that the volume supports.
67
+ # @return [Float]
68
+ #
69
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cost-optimization-hub-2022-07-26/BlockStoragePerformanceConfiguration AWS API Documentation
70
+ #
71
+ class BlockStoragePerformanceConfiguration < Struct.new(
72
+ :iops,
73
+ :throughput)
74
+ SENSITIVE = []
75
+ include Aws::Structure
76
+ end
77
+
78
+ # Describes the performance configuration for compute services such as
79
+ # Amazon EC2, Lambda, and ECS.
80
+ #
81
+ # @!attribute [rw] architecture
82
+ # The architecture of the resource.
83
+ # @return [String]
84
+ #
85
+ # @!attribute [rw] memory_size_in_mb
86
+ # The memory size of the resource.
87
+ # @return [Integer]
88
+ #
89
+ # @!attribute [rw] platform
90
+ # The platform of the resource. The platform is the specific
91
+ # combination of operating system, license model, and software on an
92
+ # instance.
93
+ # @return [String]
94
+ #
95
+ # @!attribute [rw] v_cpu
96
+ # The number of vCPU cores in the resource.
97
+ # @return [Float]
98
+ #
99
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cost-optimization-hub-2022-07-26/ComputeConfiguration AWS API Documentation
100
+ #
101
+ class ComputeConfiguration < Struct.new(
102
+ :architecture,
103
+ :memory_size_in_mb,
104
+ :platform,
105
+ :v_cpu)
106
+ SENSITIVE = []
107
+ include Aws::Structure
108
+ end
109
+
110
+ # The Compute Savings Plans recommendation details.
111
+ #
112
+ # @!attribute [rw] configuration
113
+ # Configuration details of the Compute Savings Plans to purchase.
114
+ # @return [Types::ComputeSavingsPlansConfiguration]
115
+ #
116
+ # @!attribute [rw] cost_calculation
117
+ # Cost impact of the Savings Plans purchase recommendation.
118
+ # @return [Types::SavingsPlansCostCalculation]
119
+ #
120
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cost-optimization-hub-2022-07-26/ComputeSavingsPlans AWS API Documentation
121
+ #
122
+ class ComputeSavingsPlans < Struct.new(
123
+ :configuration,
124
+ :cost_calculation)
125
+ SENSITIVE = []
126
+ include Aws::Structure
127
+ end
128
+
129
+ # The Compute Savings Plans configuration used for recommendations.
130
+ #
131
+ # @!attribute [rw] account_scope
132
+ # The account scope that you want your recommendations for. Amazon Web
133
+ # Services calculates recommendations including the management account
134
+ # and member accounts if the value is set to `PAYER`. If the value is
135
+ # `LINKED`, recommendations are calculated for individual member
136
+ # accounts only.
137
+ # @return [String]
138
+ #
139
+ # @!attribute [rw] hourly_commitment
140
+ # The hourly commitment for the Savings Plans type.
141
+ # @return [String]
142
+ #
143
+ # @!attribute [rw] payment_option
144
+ # The payment option for the commitment.
145
+ # @return [String]
146
+ #
147
+ # @!attribute [rw] term
148
+ # The Savings Plans recommendation term in years.
149
+ # @return [String]
150
+ #
151
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cost-optimization-hub-2022-07-26/ComputeSavingsPlansConfiguration AWS API Documentation
152
+ #
153
+ class ComputeSavingsPlansConfiguration < Struct.new(
154
+ :account_scope,
155
+ :hourly_commitment,
156
+ :payment_option,
157
+ :term)
158
+ SENSITIVE = []
159
+ include Aws::Structure
160
+ end
161
+
162
+ # Describes the Amazon Elastic Block Store volume configuration of the
163
+ # current and recommended resource configuration for a recommendation.
164
+ #
165
+ # @!attribute [rw] configuration
166
+ # The Amazon Elastic Block Store volume configuration used for
167
+ # recommendations.
168
+ # @return [Types::EbsVolumeConfiguration]
169
+ #
170
+ # @!attribute [rw] cost_calculation
171
+ # Cost impact of the recommendation.
172
+ # @return [Types::ResourceCostCalculation]
173
+ #
174
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cost-optimization-hub-2022-07-26/EbsVolume AWS API Documentation
175
+ #
176
+ class EbsVolume < Struct.new(
177
+ :configuration,
178
+ :cost_calculation)
179
+ SENSITIVE = []
180
+ include Aws::Structure
181
+ end
182
+
183
+ # The Amazon Elastic Block Store volume configuration used for
184
+ # recommendations.
185
+ #
186
+ # @!attribute [rw] attachment_state
187
+ # The Amazon Elastic Block Store attachment state.
188
+ # @return [String]
189
+ #
190
+ # @!attribute [rw] performance
191
+ # The Amazon Elastic Block Store performance configuration.
192
+ # @return [Types::BlockStoragePerformanceConfiguration]
193
+ #
194
+ # @!attribute [rw] storage
195
+ # The disk storage of the Amazon Elastic Block Store volume.
196
+ # @return [Types::StorageConfiguration]
197
+ #
198
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cost-optimization-hub-2022-07-26/EbsVolumeConfiguration AWS API Documentation
199
+ #
200
+ class EbsVolumeConfiguration < Struct.new(
201
+ :attachment_state,
202
+ :performance,
203
+ :storage)
204
+ SENSITIVE = []
205
+ include Aws::Structure
206
+ end
207
+
208
+ # The EC2 Auto Scaling group recommendation details.
209
+ #
210
+ # @!attribute [rw] configuration
211
+ # The EC2 Auto Scaling group configuration used for recommendations.
212
+ # @return [Types::Ec2AutoScalingGroupConfiguration]
213
+ #
214
+ # @!attribute [rw] cost_calculation
215
+ # Cost impact of the recommendation.
216
+ # @return [Types::ResourceCostCalculation]
217
+ #
218
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cost-optimization-hub-2022-07-26/Ec2AutoScalingGroup AWS API Documentation
219
+ #
220
+ class Ec2AutoScalingGroup < Struct.new(
221
+ :configuration,
222
+ :cost_calculation)
223
+ SENSITIVE = []
224
+ include Aws::Structure
225
+ end
226
+
227
+ # The EC2 auto scaling group configuration used for recommendations.
228
+ #
229
+ # @!attribute [rw] instance
230
+ # Details about the instance.
231
+ # @return [Types::InstanceConfiguration]
232
+ #
233
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cost-optimization-hub-2022-07-26/Ec2AutoScalingGroupConfiguration AWS API Documentation
234
+ #
235
+ class Ec2AutoScalingGroupConfiguration < Struct.new(
236
+ :instance)
237
+ SENSITIVE = []
238
+ include Aws::Structure
239
+ end
240
+
241
+ # Describes the EC2 instance configuration of the current and
242
+ # recommended resource configuration for a recommendation.
243
+ #
244
+ # @!attribute [rw] configuration
245
+ # The EC2 instance configuration used for recommendations.
246
+ # @return [Types::Ec2InstanceConfiguration]
247
+ #
248
+ # @!attribute [rw] cost_calculation
249
+ # Cost impact of the recommendation.
250
+ # @return [Types::ResourceCostCalculation]
251
+ #
252
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cost-optimization-hub-2022-07-26/Ec2Instance AWS API Documentation
253
+ #
254
+ class Ec2Instance < Struct.new(
255
+ :configuration,
256
+ :cost_calculation)
257
+ SENSITIVE = []
258
+ include Aws::Structure
259
+ end
260
+
261
+ # The EC2 instance configuration used for recommendations.
262
+ #
263
+ # @!attribute [rw] instance
264
+ # Details about the instance.
265
+ # @return [Types::InstanceConfiguration]
266
+ #
267
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cost-optimization-hub-2022-07-26/Ec2InstanceConfiguration AWS API Documentation
268
+ #
269
+ class Ec2InstanceConfiguration < Struct.new(
270
+ :instance)
271
+ SENSITIVE = []
272
+ include Aws::Structure
273
+ end
274
+
275
+ # The EC2 instance Savings Plans recommendation details.
276
+ #
277
+ # @!attribute [rw] configuration
278
+ # The EC2 instance Savings Plans configuration used for
279
+ # recommendations.
280
+ # @return [Types::Ec2InstanceSavingsPlansConfiguration]
281
+ #
282
+ # @!attribute [rw] cost_calculation
283
+ # Cost impact of the Savings Plans purchase recommendation.
284
+ # @return [Types::SavingsPlansCostCalculation]
285
+ #
286
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cost-optimization-hub-2022-07-26/Ec2InstanceSavingsPlans AWS API Documentation
287
+ #
288
+ class Ec2InstanceSavingsPlans < Struct.new(
289
+ :configuration,
290
+ :cost_calculation)
291
+ SENSITIVE = []
292
+ include Aws::Structure
293
+ end
294
+
295
+ # The EC2 instance Savings Plans configuration used for recommendations.
296
+ #
297
+ # @!attribute [rw] account_scope
298
+ # The account scope that you want your recommendations for.
299
+ # @return [String]
300
+ #
301
+ # @!attribute [rw] hourly_commitment
302
+ # The hourly commitment for the Savings Plans type.
303
+ # @return [String]
304
+ #
305
+ # @!attribute [rw] instance_family
306
+ # The instance family of the recommended Savings Plan.
307
+ # @return [String]
308
+ #
309
+ # @!attribute [rw] payment_option
310
+ # The payment option for the commitment.
311
+ # @return [String]
312
+ #
313
+ # @!attribute [rw] savings_plans_region
314
+ # The Amazon Web Services Region of the commitment.
315
+ # @return [String]
316
+ #
317
+ # @!attribute [rw] term
318
+ # The Savings Plans recommendation term in years.
319
+ # @return [String]
320
+ #
321
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cost-optimization-hub-2022-07-26/Ec2InstanceSavingsPlansConfiguration AWS API Documentation
322
+ #
323
+ class Ec2InstanceSavingsPlansConfiguration < Struct.new(
324
+ :account_scope,
325
+ :hourly_commitment,
326
+ :instance_family,
327
+ :payment_option,
328
+ :savings_plans_region,
329
+ :term)
330
+ SENSITIVE = []
331
+ include Aws::Structure
332
+ end
333
+
334
+ # The EC2 reserved instances recommendation details.
335
+ #
336
+ # @!attribute [rw] configuration
337
+ # The EC2 reserved instances configuration used for recommendations.
338
+ # @return [Types::Ec2ReservedInstancesConfiguration]
339
+ #
340
+ # @!attribute [rw] cost_calculation
341
+ # Cost impact of the purchase recommendation.
342
+ # @return [Types::ReservedInstancesCostCalculation]
343
+ #
344
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cost-optimization-hub-2022-07-26/Ec2ReservedInstances AWS API Documentation
345
+ #
346
+ class Ec2ReservedInstances < Struct.new(
347
+ :configuration,
348
+ :cost_calculation)
349
+ SENSITIVE = []
350
+ include Aws::Structure
351
+ end
352
+
353
+ # The EC2 reserved instances configuration used for recommendations.
354
+ #
355
+ # @!attribute [rw] account_scope
356
+ # The account scope that you want your recommendations for.
357
+ # @return [String]
358
+ #
359
+ # @!attribute [rw] current_generation
360
+ # Determines whether the recommendation is for a current generation
361
+ # instance.
362
+ # @return [String]
363
+ #
364
+ # @!attribute [rw] instance_family
365
+ # The instance family of the recommended reservation.
366
+ # @return [String]
367
+ #
368
+ # @!attribute [rw] instance_type
369
+ # The type of instance that Amazon Web Services recommends.
370
+ # @return [String]
371
+ #
372
+ # @!attribute [rw] monthly_recurring_cost
373
+ # How much purchasing reserved instances costs you on a monthly basis.
374
+ # @return [String]
375
+ #
376
+ # @!attribute [rw] normalized_units_to_purchase
377
+ # The number of normalized units that Amazon Web Services recommends
378
+ # that you purchase.
379
+ # @return [String]
380
+ #
381
+ # @!attribute [rw] number_of_instances_to_purchase
382
+ # The number of instances that Amazon Web Services recommends that you
383
+ # purchase.
384
+ # @return [String]
385
+ #
386
+ # @!attribute [rw] offering_class
387
+ # Indicates whether the recommendation is for standard or convertible
388
+ # reservations.
389
+ # @return [String]
390
+ #
391
+ # @!attribute [rw] payment_option
392
+ # The payment option for the commitment.
393
+ # @return [String]
394
+ #
395
+ # @!attribute [rw] platform
396
+ # The platform of the recommended reservation. The platform is the
397
+ # specific combination of operating system, license model, and
398
+ # software on an instance.
399
+ # @return [String]
400
+ #
401
+ # @!attribute [rw] reserved_instances_region
402
+ # The Amazon Web Services Region of the commitment.
403
+ # @return [String]
404
+ #
405
+ # @!attribute [rw] service
406
+ # The service that you want your recommendations for.
407
+ # @return [String]
408
+ #
409
+ # @!attribute [rw] size_flex_eligible
410
+ # Determines whether the recommendation is size flexible.
411
+ # @return [Boolean]
412
+ #
413
+ # @!attribute [rw] tenancy
414
+ # Determines whether the recommended reservation is dedicated or
415
+ # shared.
416
+ # @return [String]
417
+ #
418
+ # @!attribute [rw] term
419
+ # The reserved instances recommendation term in years.
420
+ # @return [String]
421
+ #
422
+ # @!attribute [rw] upfront_cost
423
+ # How much purchasing this instance costs you upfront.
424
+ # @return [String]
425
+ #
426
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cost-optimization-hub-2022-07-26/Ec2ReservedInstancesConfiguration AWS API Documentation
427
+ #
428
+ class Ec2ReservedInstancesConfiguration < Struct.new(
429
+ :account_scope,
430
+ :current_generation,
431
+ :instance_family,
432
+ :instance_type,
433
+ :monthly_recurring_cost,
434
+ :normalized_units_to_purchase,
435
+ :number_of_instances_to_purchase,
436
+ :offering_class,
437
+ :payment_option,
438
+ :platform,
439
+ :reserved_instances_region,
440
+ :service,
441
+ :size_flex_eligible,
442
+ :tenancy,
443
+ :term,
444
+ :upfront_cost)
445
+ SENSITIVE = []
446
+ include Aws::Structure
447
+ end
448
+
449
+ # The ECS service recommendation details.
450
+ #
451
+ # @!attribute [rw] configuration
452
+ # The ECS service configuration used for recommendations.
453
+ # @return [Types::EcsServiceConfiguration]
454
+ #
455
+ # @!attribute [rw] cost_calculation
456
+ # Cost impact of the recommendation.
457
+ # @return [Types::ResourceCostCalculation]
458
+ #
459
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cost-optimization-hub-2022-07-26/EcsService AWS API Documentation
460
+ #
461
+ class EcsService < Struct.new(
462
+ :configuration,
463
+ :cost_calculation)
464
+ SENSITIVE = []
465
+ include Aws::Structure
466
+ end
467
+
468
+ # The ECS service configuration used for recommendations.
469
+ #
470
+ # @!attribute [rw] compute
471
+ # Details about the compute configuration.
472
+ # @return [Types::ComputeConfiguration]
473
+ #
474
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cost-optimization-hub-2022-07-26/EcsServiceConfiguration AWS API Documentation
475
+ #
476
+ class EcsServiceConfiguration < Struct.new(
477
+ :compute)
478
+ SENSITIVE = []
479
+ include Aws::Structure
480
+ end
481
+
482
+ # The ElastiCache reserved instances recommendation details.
483
+ #
484
+ # @!attribute [rw] configuration
485
+ # The ElastiCache reserved instances configuration used for
486
+ # recommendations.
487
+ # @return [Types::ElastiCacheReservedInstancesConfiguration]
488
+ #
489
+ # @!attribute [rw] cost_calculation
490
+ # Cost impact of the purchase recommendation.
491
+ # @return [Types::ReservedInstancesCostCalculation]
492
+ #
493
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cost-optimization-hub-2022-07-26/ElastiCacheReservedInstances AWS API Documentation
494
+ #
495
+ class ElastiCacheReservedInstances < Struct.new(
496
+ :configuration,
497
+ :cost_calculation)
498
+ SENSITIVE = []
499
+ include Aws::Structure
500
+ end
501
+
502
+ # The ElastiCache reserved instances configuration used for
503
+ # recommendations.
504
+ #
505
+ # @!attribute [rw] account_scope
506
+ # The account scope that you want your recommendations for.
507
+ # @return [String]
508
+ #
509
+ # @!attribute [rw] current_generation
510
+ # Determines whether the recommendation is for a current generation
511
+ # instance.
512
+ # @return [String]
513
+ #
514
+ # @!attribute [rw] instance_family
515
+ # The instance family of the recommended reservation.
516
+ # @return [String]
517
+ #
518
+ # @!attribute [rw] instance_type
519
+ # The type of instance that Amazon Web Services recommends.
520
+ # @return [String]
521
+ #
522
+ # @!attribute [rw] monthly_recurring_cost
523
+ # How much purchasing reserved instances costs you on a monthly basis.
524
+ # @return [String]
525
+ #
526
+ # @!attribute [rw] normalized_units_to_purchase
527
+ # The number of normalized units that Amazon Web Services recommends
528
+ # that you purchase.
529
+ # @return [String]
530
+ #
531
+ # @!attribute [rw] number_of_instances_to_purchase
532
+ # The number of instances that Amazon Web Services recommends that you
533
+ # purchase.
534
+ # @return [String]
535
+ #
536
+ # @!attribute [rw] payment_option
537
+ # The payment option for the commitment.
538
+ # @return [String]
539
+ #
540
+ # @!attribute [rw] reserved_instances_region
541
+ # The Amazon Web Services Region of the commitment.
542
+ # @return [String]
543
+ #
544
+ # @!attribute [rw] service
545
+ # The service that you want your recommendations for.
546
+ # @return [String]
547
+ #
548
+ # @!attribute [rw] size_flex_eligible
549
+ # Determines whether the recommendation is size flexible.
550
+ # @return [Boolean]
551
+ #
552
+ # @!attribute [rw] term
553
+ # The reserved instances recommendation term in years.
554
+ # @return [String]
555
+ #
556
+ # @!attribute [rw] upfront_cost
557
+ # How much purchasing this instance costs you upfront.
558
+ # @return [String]
559
+ #
560
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cost-optimization-hub-2022-07-26/ElastiCacheReservedInstancesConfiguration AWS API Documentation
561
+ #
562
+ class ElastiCacheReservedInstancesConfiguration < Struct.new(
563
+ :account_scope,
564
+ :current_generation,
565
+ :instance_family,
566
+ :instance_type,
567
+ :monthly_recurring_cost,
568
+ :normalized_units_to_purchase,
569
+ :number_of_instances_to_purchase,
570
+ :payment_option,
571
+ :reserved_instances_region,
572
+ :service,
573
+ :size_flex_eligible,
574
+ :term,
575
+ :upfront_cost)
576
+ SENSITIVE = []
577
+ include Aws::Structure
578
+ end
579
+
580
+ # Estimated discount details of the current and recommended resource
581
+ # configuration for a recommendation.
582
+ #
583
+ # @!attribute [rw] other_discount
584
+ # Estimated other discounts include all discounts that are not
585
+ # itemized. Itemized discounts include `reservedInstanceDiscount` and
586
+ # `savingsPlansDiscount`.
587
+ # @return [Float]
588
+ #
589
+ # @!attribute [rw] reserved_instances_discount
590
+ # Estimated reserved instance discounts.
591
+ # @return [Float]
592
+ #
593
+ # @!attribute [rw] savings_plans_discount
594
+ # Estimated Savings Plans discounts.
595
+ # @return [Float]
596
+ #
597
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cost-optimization-hub-2022-07-26/EstimatedDiscounts AWS API Documentation
598
+ #
599
+ class EstimatedDiscounts < Struct.new(
600
+ :other_discount,
601
+ :reserved_instances_discount,
602
+ :savings_plans_discount)
603
+ SENSITIVE = []
604
+ include Aws::Structure
605
+ end
606
+
607
+ # Describes a filter that returns a more specific list of
608
+ # recommendations. Filters recommendations by different dimensions.
609
+ #
610
+ # @!attribute [rw] account_ids
611
+ # The account that the recommendation is for.
612
+ # @return [Array<String>]
613
+ #
614
+ # @!attribute [rw] action_types
615
+ # The type of action you can take by adopting the recommendation.
616
+ # @return [Array<String>]
617
+ #
618
+ # @!attribute [rw] implementation_efforts
619
+ # The effort required to implement the recommendation.
620
+ # @return [Array<String>]
621
+ #
622
+ # @!attribute [rw] recommendation_ids
623
+ # The IDs for the recommendations.
624
+ # @return [Array<String>]
625
+ #
626
+ # @!attribute [rw] regions
627
+ # The Amazon Web Services Region of the resource.
628
+ # @return [Array<String>]
629
+ #
630
+ # @!attribute [rw] resource_arns
631
+ # The Amazon Resource Name (ARN) of the recommendation.
632
+ # @return [Array<String>]
633
+ #
634
+ # @!attribute [rw] resource_ids
635
+ # The resource ID of the recommendation.
636
+ # @return [Array<String>]
637
+ #
638
+ # @!attribute [rw] resource_types
639
+ # The resource type of the recommendation.
640
+ # @return [Array<String>]
641
+ #
642
+ # @!attribute [rw] restart_needed
643
+ # Whether or not implementing the recommendation requires a restart.
644
+ # @return [Boolean]
645
+ #
646
+ # @!attribute [rw] rollback_possible
647
+ # Whether or not implementing the recommendation can be rolled back.
648
+ # @return [Boolean]
649
+ #
650
+ # @!attribute [rw] tags
651
+ # A list of tags assigned to the recommendation.
652
+ # @return [Array<Types::Tag>]
653
+ #
654
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cost-optimization-hub-2022-07-26/Filter AWS API Documentation
655
+ #
656
+ class Filter < Struct.new(
657
+ :account_ids,
658
+ :action_types,
659
+ :implementation_efforts,
660
+ :recommendation_ids,
661
+ :regions,
662
+ :resource_arns,
663
+ :resource_ids,
664
+ :resource_types,
665
+ :restart_needed,
666
+ :rollback_possible,
667
+ :tags)
668
+ SENSITIVE = []
669
+ include Aws::Structure
670
+ end
671
+
672
+ # @api private
673
+ #
674
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cost-optimization-hub-2022-07-26/GetPreferencesRequest AWS API Documentation
675
+ #
676
+ class GetPreferencesRequest < Aws::EmptyStructure; end
677
+
678
+ # @!attribute [rw] member_account_discount_visibility
679
+ # Retrieves the status of the "member account discount visibility"
680
+ # preference.
681
+ # @return [String]
682
+ #
683
+ # @!attribute [rw] savings_estimation_mode
684
+ # Retrieves the status of the "savings estimation mode" preference.
685
+ # @return [String]
686
+ #
687
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cost-optimization-hub-2022-07-26/GetPreferencesResponse AWS API Documentation
688
+ #
689
+ class GetPreferencesResponse < Struct.new(
690
+ :member_account_discount_visibility,
691
+ :savings_estimation_mode)
692
+ SENSITIVE = []
693
+ include Aws::Structure
694
+ end
695
+
696
+ # @!attribute [rw] recommendation_id
697
+ # The ID for the recommendation.
698
+ # @return [String]
699
+ #
700
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cost-optimization-hub-2022-07-26/GetRecommendationRequest AWS API Documentation
701
+ #
702
+ class GetRecommendationRequest < Struct.new(
703
+ :recommendation_id)
704
+ SENSITIVE = []
705
+ include Aws::Structure
706
+ end
707
+
708
+ # @!attribute [rw] account_id
709
+ # The account that the recommendation is for.
710
+ # @return [String]
711
+ #
712
+ # @!attribute [rw] action_type
713
+ # The type of action you can take by adopting the recommendation.
714
+ # @return [String]
715
+ #
716
+ # @!attribute [rw] cost_calculation_lookback_period_in_days
717
+ # The lookback period used to calculate cost impact for a
718
+ # recommendation.
719
+ # @return [Integer]
720
+ #
721
+ # @!attribute [rw] currency_code
722
+ # The currency code used for the recommendation.
723
+ # @return [String]
724
+ #
725
+ # @!attribute [rw] current_resource_details
726
+ # The details for the resource.
727
+ # @return [Types::ResourceDetails]
728
+ #
729
+ # @!attribute [rw] current_resource_type
730
+ # The type of resource.
731
+ # @return [String]
732
+ #
733
+ # @!attribute [rw] estimated_monthly_cost
734
+ # The estimated monthly cost of the recommendation.
735
+ # @return [Float]
736
+ #
737
+ # @!attribute [rw] estimated_monthly_savings
738
+ # The estimated monthly savings amount for the recommendation.
739
+ # @return [Float]
740
+ #
741
+ # @!attribute [rw] estimated_savings_over_cost_calculation_lookback_period
742
+ # The estimated savings amount over the lookback period used to
743
+ # calculate cost impact for a recommendation.
744
+ # @return [Float]
745
+ #
746
+ # @!attribute [rw] estimated_savings_percentage
747
+ # The estimated savings percentage relative to the total cost over the
748
+ # cost calculation lookback period.
749
+ # @return [Float]
750
+ #
751
+ # @!attribute [rw] implementation_effort
752
+ # The effort required to implement the recommendation.
753
+ # @return [String]
754
+ #
755
+ # @!attribute [rw] last_refresh_timestamp
756
+ # The time when the recommendation was last generated.
757
+ # @return [Time]
758
+ #
759
+ # @!attribute [rw] recommendation_id
760
+ # The ID for the recommendation.
761
+ # @return [String]
762
+ #
763
+ # @!attribute [rw] recommendation_lookback_period_in_days
764
+ # The lookback period that's used to generate the recommendation.
765
+ # @return [Integer]
766
+ #
767
+ # @!attribute [rw] recommended_resource_details
768
+ # The details about the recommended resource.
769
+ # @return [Types::ResourceDetails]
770
+ #
771
+ # @!attribute [rw] recommended_resource_type
772
+ # The resource type of the recommendation.
773
+ # @return [String]
774
+ #
775
+ # @!attribute [rw] region
776
+ # The Amazon Web Services Region of the resource.
777
+ # @return [String]
778
+ #
779
+ # @!attribute [rw] resource_arn
780
+ # The Amazon Resource Name (ARN) of the resource.
781
+ # @return [String]
782
+ #
783
+ # @!attribute [rw] resource_id
784
+ # The unique identifier for the resource. This is the same as the
785
+ # Amazon Resource Name (ARN), if available.
786
+ # @return [String]
787
+ #
788
+ # @!attribute [rw] restart_needed
789
+ # Whether or not implementing the recommendation requires a restart.
790
+ # @return [Boolean]
791
+ #
792
+ # @!attribute [rw] rollback_possible
793
+ # Whether or not implementing the recommendation can be rolled back.
794
+ # @return [Boolean]
795
+ #
796
+ # @!attribute [rw] source
797
+ # The source of the recommendation.
798
+ # @return [String]
799
+ #
800
+ # @!attribute [rw] tags
801
+ # A list of tags associated with the resource for which the
802
+ # recommendation exists.
803
+ # @return [Array<Types::Tag>]
804
+ #
805
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cost-optimization-hub-2022-07-26/GetRecommendationResponse AWS API Documentation
806
+ #
807
+ class GetRecommendationResponse < Struct.new(
808
+ :account_id,
809
+ :action_type,
810
+ :cost_calculation_lookback_period_in_days,
811
+ :currency_code,
812
+ :current_resource_details,
813
+ :current_resource_type,
814
+ :estimated_monthly_cost,
815
+ :estimated_monthly_savings,
816
+ :estimated_savings_over_cost_calculation_lookback_period,
817
+ :estimated_savings_percentage,
818
+ :implementation_effort,
819
+ :last_refresh_timestamp,
820
+ :recommendation_id,
821
+ :recommendation_lookback_period_in_days,
822
+ :recommended_resource_details,
823
+ :recommended_resource_type,
824
+ :region,
825
+ :resource_arn,
826
+ :resource_id,
827
+ :restart_needed,
828
+ :rollback_possible,
829
+ :source,
830
+ :tags)
831
+ SENSITIVE = []
832
+ include Aws::Structure
833
+ end
834
+
835
+ # The Instance configuration used for recommendations.
836
+ #
837
+ # @!attribute [rw] type
838
+ # Details about the type.
839
+ # @return [String]
840
+ #
841
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cost-optimization-hub-2022-07-26/InstanceConfiguration AWS API Documentation
842
+ #
843
+ class InstanceConfiguration < Struct.new(
844
+ :type)
845
+ SENSITIVE = []
846
+ include Aws::Structure
847
+ end
848
+
849
+ # An error on the server occurred during the processing of your request.
850
+ # Try again later.
851
+ #
852
+ # @!attribute [rw] message
853
+ # @return [String]
854
+ #
855
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cost-optimization-hub-2022-07-26/InternalServerException AWS API Documentation
856
+ #
857
+ class InternalServerException < Struct.new(
858
+ :message)
859
+ SENSITIVE = []
860
+ include Aws::Structure
861
+ end
862
+
863
+ # The Lambda function recommendation details.
864
+ #
865
+ # @!attribute [rw] configuration
866
+ # The Lambda function configuration used for recommendations.
867
+ # @return [Types::LambdaFunctionConfiguration]
868
+ #
869
+ # @!attribute [rw] cost_calculation
870
+ # Cost impact of the recommendation.
871
+ # @return [Types::ResourceCostCalculation]
872
+ #
873
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cost-optimization-hub-2022-07-26/LambdaFunction AWS API Documentation
874
+ #
875
+ class LambdaFunction < Struct.new(
876
+ :configuration,
877
+ :cost_calculation)
878
+ SENSITIVE = []
879
+ include Aws::Structure
880
+ end
881
+
882
+ # The Lambda function configuration used for recommendations.
883
+ #
884
+ # @!attribute [rw] compute
885
+ # Details about the compute configuration.
886
+ # @return [Types::ComputeConfiguration]
887
+ #
888
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cost-optimization-hub-2022-07-26/LambdaFunctionConfiguration AWS API Documentation
889
+ #
890
+ class LambdaFunctionConfiguration < Struct.new(
891
+ :compute)
892
+ SENSITIVE = []
893
+ include Aws::Structure
894
+ end
895
+
896
+ # @!attribute [rw] account_id
897
+ # The enrollment status of a specific account ID in the organization.
898
+ # @return [String]
899
+ #
900
+ # @!attribute [rw] include_organization_info
901
+ # Indicates whether to return the enrollment status for the
902
+ # organization.
903
+ # @return [Boolean]
904
+ #
905
+ # @!attribute [rw] max_results
906
+ # The maximum number of objects that are returned for the request.
907
+ # @return [Integer]
908
+ #
909
+ # @!attribute [rw] next_token
910
+ # The token to retrieve the next set of results.
911
+ # @return [String]
912
+ #
913
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cost-optimization-hub-2022-07-26/ListEnrollmentStatusesRequest AWS API Documentation
914
+ #
915
+ class ListEnrollmentStatusesRequest < Struct.new(
916
+ :account_id,
917
+ :include_organization_info,
918
+ :max_results,
919
+ :next_token)
920
+ SENSITIVE = []
921
+ include Aws::Structure
922
+ end
923
+
924
+ # @!attribute [rw] items
925
+ # The account enrollment statuses.
926
+ # @return [Array<Types::AccountEnrollmentStatus>]
927
+ #
928
+ # @!attribute [rw] next_token
929
+ # The token to retrieve the next set of results.
930
+ # @return [String]
931
+ #
932
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cost-optimization-hub-2022-07-26/ListEnrollmentStatusesResponse AWS API Documentation
933
+ #
934
+ class ListEnrollmentStatusesResponse < Struct.new(
935
+ :items,
936
+ :next_token)
937
+ SENSITIVE = []
938
+ include Aws::Structure
939
+ end
940
+
941
+ # @!attribute [rw] filter
942
+ # Describes a filter that returns a more specific list of
943
+ # recommendations. Filters recommendations by different dimensions.
944
+ # @return [Types::Filter]
945
+ #
946
+ # @!attribute [rw] group_by
947
+ # The grouping of recommendations by a dimension.
948
+ # @return [String]
949
+ #
950
+ # @!attribute [rw] max_results
951
+ # The maximum number of recommendations that are returned for the
952
+ # request.
953
+ # @return [Integer]
954
+ #
955
+ # @!attribute [rw] next_token
956
+ # The token to retrieve the next set of results.
957
+ # @return [String]
958
+ #
959
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cost-optimization-hub-2022-07-26/ListRecommendationSummariesRequest AWS API Documentation
960
+ #
961
+ class ListRecommendationSummariesRequest < Struct.new(
962
+ :filter,
963
+ :group_by,
964
+ :max_results,
965
+ :next_token)
966
+ SENSITIVE = []
967
+ include Aws::Structure
968
+ end
969
+
970
+ # @!attribute [rw] currency_code
971
+ # The currency code used for the recommendation.
972
+ # @return [String]
973
+ #
974
+ # @!attribute [rw] estimated_total_deduped_savings
975
+ # The total overall savings for the aggregated view.
976
+ # @return [Float]
977
+ #
978
+ # @!attribute [rw] group_by
979
+ # The dimension used to group the recommendations by.
980
+ # @return [String]
981
+ #
982
+ # @!attribute [rw] items
983
+ # List of all savings recommendations.
984
+ # @return [Array<Types::RecommendationSummary>]
985
+ #
986
+ # @!attribute [rw] next_token
987
+ # The token to retrieve the next set of results.
988
+ # @return [String]
989
+ #
990
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cost-optimization-hub-2022-07-26/ListRecommendationSummariesResponse AWS API Documentation
991
+ #
992
+ class ListRecommendationSummariesResponse < Struct.new(
993
+ :currency_code,
994
+ :estimated_total_deduped_savings,
995
+ :group_by,
996
+ :items,
997
+ :next_token)
998
+ SENSITIVE = []
999
+ include Aws::Structure
1000
+ end
1001
+
1002
+ # @!attribute [rw] filter
1003
+ # The constraints that you want all returned recommendations to match.
1004
+ # @return [Types::Filter]
1005
+ #
1006
+ # @!attribute [rw] include_all_recommendations
1007
+ # List of all recommendations for a resource, or a single
1008
+ # recommendation if de-duped by `resourceId`.
1009
+ # @return [Boolean]
1010
+ #
1011
+ # @!attribute [rw] max_results
1012
+ # The maximum number of recommendations that are returned for the
1013
+ # request.
1014
+ # @return [Integer]
1015
+ #
1016
+ # @!attribute [rw] next_token
1017
+ # The token to retrieve the next set of results.
1018
+ # @return [String]
1019
+ #
1020
+ # @!attribute [rw] order_by
1021
+ # The ordering of recommendations by a dimension.
1022
+ # @return [Types::OrderBy]
1023
+ #
1024
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cost-optimization-hub-2022-07-26/ListRecommendationsRequest AWS API Documentation
1025
+ #
1026
+ class ListRecommendationsRequest < Struct.new(
1027
+ :filter,
1028
+ :include_all_recommendations,
1029
+ :max_results,
1030
+ :next_token,
1031
+ :order_by)
1032
+ SENSITIVE = []
1033
+ include Aws::Structure
1034
+ end
1035
+
1036
+ # @!attribute [rw] items
1037
+ # List of all savings recommendations.
1038
+ # @return [Array<Types::Recommendation>]
1039
+ #
1040
+ # @!attribute [rw] next_token
1041
+ # The token to retrieve the next set of results.
1042
+ # @return [String]
1043
+ #
1044
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cost-optimization-hub-2022-07-26/ListRecommendationsResponse AWS API Documentation
1045
+ #
1046
+ class ListRecommendationsResponse < Struct.new(
1047
+ :items,
1048
+ :next_token)
1049
+ SENSITIVE = []
1050
+ include Aws::Structure
1051
+ end
1052
+
1053
+ # The OpenSearch reserved instances recommendation details.
1054
+ #
1055
+ # @!attribute [rw] configuration
1056
+ # The OpenSearch reserved instances configuration used for
1057
+ # recommendations.
1058
+ # @return [Types::OpenSearchReservedInstancesConfiguration]
1059
+ #
1060
+ # @!attribute [rw] cost_calculation
1061
+ # Cost impact of the purchase recommendation.
1062
+ # @return [Types::ReservedInstancesCostCalculation]
1063
+ #
1064
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cost-optimization-hub-2022-07-26/OpenSearchReservedInstances AWS API Documentation
1065
+ #
1066
+ class OpenSearchReservedInstances < Struct.new(
1067
+ :configuration,
1068
+ :cost_calculation)
1069
+ SENSITIVE = []
1070
+ include Aws::Structure
1071
+ end
1072
+
1073
+ # The OpenSearch reserved instances configuration used for
1074
+ # recommendations.
1075
+ #
1076
+ # @!attribute [rw] account_scope
1077
+ # The account scope that you want your recommendations for.
1078
+ # @return [String]
1079
+ #
1080
+ # @!attribute [rw] current_generation
1081
+ # Determines whether the recommendation is for a current generation
1082
+ # instance.
1083
+ # @return [String]
1084
+ #
1085
+ # @!attribute [rw] instance_type
1086
+ # The type of instance that Amazon Web Services recommends.
1087
+ # @return [String]
1088
+ #
1089
+ # @!attribute [rw] monthly_recurring_cost
1090
+ # How much purchasing reserved instances costs you on a monthly basis.
1091
+ # @return [String]
1092
+ #
1093
+ # @!attribute [rw] normalized_units_to_purchase
1094
+ # The number of normalized units that Amazon Web Services recommends
1095
+ # that you purchase.
1096
+ # @return [String]
1097
+ #
1098
+ # @!attribute [rw] number_of_instances_to_purchase
1099
+ # The number of instances that Amazon Web Services recommends that you
1100
+ # purchase.
1101
+ # @return [String]
1102
+ #
1103
+ # @!attribute [rw] payment_option
1104
+ # The payment option for the commitment.
1105
+ # @return [String]
1106
+ #
1107
+ # @!attribute [rw] reserved_instances_region
1108
+ # The Amazon Web Services Region of the commitment.
1109
+ # @return [String]
1110
+ #
1111
+ # @!attribute [rw] service
1112
+ # The service that you want your recommendations for.
1113
+ # @return [String]
1114
+ #
1115
+ # @!attribute [rw] size_flex_eligible
1116
+ # Determines whether the recommendation is size flexible.
1117
+ # @return [Boolean]
1118
+ #
1119
+ # @!attribute [rw] term
1120
+ # The reserved instances recommendation term in years.
1121
+ # @return [String]
1122
+ #
1123
+ # @!attribute [rw] upfront_cost
1124
+ # How much purchasing this instance costs you upfront.
1125
+ # @return [String]
1126
+ #
1127
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cost-optimization-hub-2022-07-26/OpenSearchReservedInstancesConfiguration AWS API Documentation
1128
+ #
1129
+ class OpenSearchReservedInstancesConfiguration < Struct.new(
1130
+ :account_scope,
1131
+ :current_generation,
1132
+ :instance_type,
1133
+ :monthly_recurring_cost,
1134
+ :normalized_units_to_purchase,
1135
+ :number_of_instances_to_purchase,
1136
+ :payment_option,
1137
+ :reserved_instances_region,
1138
+ :service,
1139
+ :size_flex_eligible,
1140
+ :term,
1141
+ :upfront_cost)
1142
+ SENSITIVE = []
1143
+ include Aws::Structure
1144
+ end
1145
+
1146
+ # Defines how rows will be sorted in the response.
1147
+ #
1148
+ # @!attribute [rw] dimension
1149
+ # Sorts by dimension values.
1150
+ # @return [String]
1151
+ #
1152
+ # @!attribute [rw] order
1153
+ # The order that's used to sort the data.
1154
+ # @return [String]
1155
+ #
1156
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cost-optimization-hub-2022-07-26/OrderBy AWS API Documentation
1157
+ #
1158
+ class OrderBy < Struct.new(
1159
+ :dimension,
1160
+ :order)
1161
+ SENSITIVE = []
1162
+ include Aws::Structure
1163
+ end
1164
+
1165
+ # The RDS reserved instances recommendation details.
1166
+ #
1167
+ # @!attribute [rw] configuration
1168
+ # The RDS reserved instances configuration used for recommendations.
1169
+ # @return [Types::RdsReservedInstancesConfiguration]
1170
+ #
1171
+ # @!attribute [rw] cost_calculation
1172
+ # Cost impact of the purchase recommendation.
1173
+ # @return [Types::ReservedInstancesCostCalculation]
1174
+ #
1175
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cost-optimization-hub-2022-07-26/RdsReservedInstances AWS API Documentation
1176
+ #
1177
+ class RdsReservedInstances < Struct.new(
1178
+ :configuration,
1179
+ :cost_calculation)
1180
+ SENSITIVE = []
1181
+ include Aws::Structure
1182
+ end
1183
+
1184
+ # The RDS reserved instances configuration used for recommendations.
1185
+ #
1186
+ # @!attribute [rw] account_scope
1187
+ # The account scope that you want your recommendations for.
1188
+ # @return [String]
1189
+ #
1190
+ # @!attribute [rw] current_generation
1191
+ # Determines whether the recommendation is for a current generation
1192
+ # instance.
1193
+ # @return [String]
1194
+ #
1195
+ # @!attribute [rw] database_edition
1196
+ # The database edition that the recommended reservation supports.
1197
+ # @return [String]
1198
+ #
1199
+ # @!attribute [rw] database_engine
1200
+ # The database engine that the recommended reservation supports.
1201
+ # @return [String]
1202
+ #
1203
+ # @!attribute [rw] deployment_option
1204
+ # Determines whether the recommendation is for a reservation in a
1205
+ # single Availability Zone or a reservation with a backup in a second
1206
+ # Availability Zone.
1207
+ # @return [String]
1208
+ #
1209
+ # @!attribute [rw] instance_family
1210
+ # The instance family of the recommended reservation.
1211
+ # @return [String]
1212
+ #
1213
+ # @!attribute [rw] instance_type
1214
+ # The type of instance that Amazon Web Services recommends.
1215
+ # @return [String]
1216
+ #
1217
+ # @!attribute [rw] license_model
1218
+ # The license model that the recommended reservation supports.
1219
+ # @return [String]
1220
+ #
1221
+ # @!attribute [rw] monthly_recurring_cost
1222
+ # How much purchasing this instance costs you on a monthly basis.
1223
+ # @return [String]
1224
+ #
1225
+ # @!attribute [rw] normalized_units_to_purchase
1226
+ # The number of normalized units that Amazon Web Services recommends
1227
+ # that you purchase.
1228
+ # @return [String]
1229
+ #
1230
+ # @!attribute [rw] number_of_instances_to_purchase
1231
+ # The number of instances that Amazon Web Services recommends that you
1232
+ # purchase.
1233
+ # @return [String]
1234
+ #
1235
+ # @!attribute [rw] payment_option
1236
+ # The payment option for the commitment.
1237
+ # @return [String]
1238
+ #
1239
+ # @!attribute [rw] reserved_instances_region
1240
+ # The Amazon Web Services Region of the commitment.
1241
+ # @return [String]
1242
+ #
1243
+ # @!attribute [rw] service
1244
+ # The service that you want your recommendations for.
1245
+ # @return [String]
1246
+ #
1247
+ # @!attribute [rw] size_flex_eligible
1248
+ # Determines whether the recommendation is size flexible.
1249
+ # @return [Boolean]
1250
+ #
1251
+ # @!attribute [rw] term
1252
+ # The reserved instances recommendation term in years.
1253
+ # @return [String]
1254
+ #
1255
+ # @!attribute [rw] upfront_cost
1256
+ # How much purchasing this instance costs you upfront.
1257
+ # @return [String]
1258
+ #
1259
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cost-optimization-hub-2022-07-26/RdsReservedInstancesConfiguration AWS API Documentation
1260
+ #
1261
+ class RdsReservedInstancesConfiguration < Struct.new(
1262
+ :account_scope,
1263
+ :current_generation,
1264
+ :database_edition,
1265
+ :database_engine,
1266
+ :deployment_option,
1267
+ :instance_family,
1268
+ :instance_type,
1269
+ :license_model,
1270
+ :monthly_recurring_cost,
1271
+ :normalized_units_to_purchase,
1272
+ :number_of_instances_to_purchase,
1273
+ :payment_option,
1274
+ :reserved_instances_region,
1275
+ :service,
1276
+ :size_flex_eligible,
1277
+ :term,
1278
+ :upfront_cost)
1279
+ SENSITIVE = []
1280
+ include Aws::Structure
1281
+ end
1282
+
1283
+ # Describes a recommendation.
1284
+ #
1285
+ # @!attribute [rw] account_id
1286
+ # The account that the recommendation is for.
1287
+ # @return [String]
1288
+ #
1289
+ # @!attribute [rw] action_type
1290
+ # The type of tasks that can be carried out by this action.
1291
+ # @return [String]
1292
+ #
1293
+ # @!attribute [rw] currency_code
1294
+ # The currency code used for the recommendation.
1295
+ # @return [String]
1296
+ #
1297
+ # @!attribute [rw] current_resource_summary
1298
+ # Describes the current resource.
1299
+ # @return [String]
1300
+ #
1301
+ # @!attribute [rw] current_resource_type
1302
+ # The current resource type.
1303
+ # @return [String]
1304
+ #
1305
+ # @!attribute [rw] estimated_monthly_cost
1306
+ # The estimated monthly cost for the recommendation.
1307
+ # @return [Float]
1308
+ #
1309
+ # @!attribute [rw] estimated_monthly_savings
1310
+ # The estimated monthly savings amount for the recommendation.
1311
+ # @return [Float]
1312
+ #
1313
+ # @!attribute [rw] estimated_savings_percentage
1314
+ # The estimated savings percentage relative to the total cost over the
1315
+ # cost calculation lookback period.
1316
+ # @return [Float]
1317
+ #
1318
+ # @!attribute [rw] implementation_effort
1319
+ # The effort required to implement the recommendation.
1320
+ # @return [String]
1321
+ #
1322
+ # @!attribute [rw] last_refresh_timestamp
1323
+ # The time when the recommendation was last generated.
1324
+ # @return [Time]
1325
+ #
1326
+ # @!attribute [rw] recommendation_id
1327
+ # The ID for the recommendation.
1328
+ # @return [String]
1329
+ #
1330
+ # @!attribute [rw] recommendation_lookback_period_in_days
1331
+ # The lookback period that's used to generate the recommendation.
1332
+ # @return [Integer]
1333
+ #
1334
+ # @!attribute [rw] recommended_resource_summary
1335
+ # Describes the recommended resource.
1336
+ # @return [String]
1337
+ #
1338
+ # @!attribute [rw] recommended_resource_type
1339
+ # The recommended resource type.
1340
+ # @return [String]
1341
+ #
1342
+ # @!attribute [rw] region
1343
+ # The Amazon Web Services Region of the resource.
1344
+ # @return [String]
1345
+ #
1346
+ # @!attribute [rw] resource_arn
1347
+ # The Amazon Resource Name (ARN) for the recommendation.
1348
+ # @return [String]
1349
+ #
1350
+ # @!attribute [rw] resource_id
1351
+ # The resource ID for the recommendation.
1352
+ # @return [String]
1353
+ #
1354
+ # @!attribute [rw] restart_needed
1355
+ # Whether or not implementing the recommendation requires a restart.
1356
+ # @return [Boolean]
1357
+ #
1358
+ # @!attribute [rw] rollback_possible
1359
+ # Whether or not implementing the recommendation can be rolled back.
1360
+ # @return [Boolean]
1361
+ #
1362
+ # @!attribute [rw] source
1363
+ # The source of the recommendation.
1364
+ # @return [String]
1365
+ #
1366
+ # @!attribute [rw] tags
1367
+ # A list of tags assigned to the recommendation.
1368
+ # @return [Array<Types::Tag>]
1369
+ #
1370
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cost-optimization-hub-2022-07-26/Recommendation AWS API Documentation
1371
+ #
1372
+ class Recommendation < Struct.new(
1373
+ :account_id,
1374
+ :action_type,
1375
+ :currency_code,
1376
+ :current_resource_summary,
1377
+ :current_resource_type,
1378
+ :estimated_monthly_cost,
1379
+ :estimated_monthly_savings,
1380
+ :estimated_savings_percentage,
1381
+ :implementation_effort,
1382
+ :last_refresh_timestamp,
1383
+ :recommendation_id,
1384
+ :recommendation_lookback_period_in_days,
1385
+ :recommended_resource_summary,
1386
+ :recommended_resource_type,
1387
+ :region,
1388
+ :resource_arn,
1389
+ :resource_id,
1390
+ :restart_needed,
1391
+ :rollback_possible,
1392
+ :source,
1393
+ :tags)
1394
+ SENSITIVE = []
1395
+ include Aws::Structure
1396
+ end
1397
+
1398
+ # The summary of rightsizing recommendations, including de-duped savings
1399
+ # from all types of recommendations.
1400
+ #
1401
+ # @!attribute [rw] estimated_monthly_savings
1402
+ # The estimated total savings resulting from modifications, on a
1403
+ # monthly basis.
1404
+ # @return [Float]
1405
+ #
1406
+ # @!attribute [rw] group
1407
+ # The grouping of recommendations.
1408
+ # @return [String]
1409
+ #
1410
+ # @!attribute [rw] recommendation_count
1411
+ # The total number of instance recommendations.
1412
+ # @return [Integer]
1413
+ #
1414
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cost-optimization-hub-2022-07-26/RecommendationSummary AWS API Documentation
1415
+ #
1416
+ class RecommendationSummary < Struct.new(
1417
+ :estimated_monthly_savings,
1418
+ :group,
1419
+ :recommendation_count)
1420
+ SENSITIVE = []
1421
+ include Aws::Structure
1422
+ end
1423
+
1424
+ # The Redshift reserved instances recommendation details.
1425
+ #
1426
+ # @!attribute [rw] configuration
1427
+ # The Redshift reserved instances configuration used for
1428
+ # recommendations.
1429
+ # @return [Types::RedshiftReservedInstancesConfiguration]
1430
+ #
1431
+ # @!attribute [rw] cost_calculation
1432
+ # Cost impact of the purchase recommendation.
1433
+ # @return [Types::ReservedInstancesCostCalculation]
1434
+ #
1435
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cost-optimization-hub-2022-07-26/RedshiftReservedInstances AWS API Documentation
1436
+ #
1437
+ class RedshiftReservedInstances < Struct.new(
1438
+ :configuration,
1439
+ :cost_calculation)
1440
+ SENSITIVE = []
1441
+ include Aws::Structure
1442
+ end
1443
+
1444
+ # The Redshift reserved instances configuration used for
1445
+ # recommendations.
1446
+ #
1447
+ # @!attribute [rw] account_scope
1448
+ # The account scope that you want your recommendations for.
1449
+ # @return [String]
1450
+ #
1451
+ # @!attribute [rw] current_generation
1452
+ # Determines whether the recommendation is for a current generation
1453
+ # instance.
1454
+ # @return [String]
1455
+ #
1456
+ # @!attribute [rw] instance_family
1457
+ # The instance family of the recommended reservation.
1458
+ # @return [String]
1459
+ #
1460
+ # @!attribute [rw] instance_type
1461
+ # The type of instance that Amazon Web Services recommends.
1462
+ # @return [String]
1463
+ #
1464
+ # @!attribute [rw] monthly_recurring_cost
1465
+ # How much purchasing reserved instances costs you on a monthly basis.
1466
+ # @return [String]
1467
+ #
1468
+ # @!attribute [rw] normalized_units_to_purchase
1469
+ # The number of normalized units that Amazon Web Services recommends
1470
+ # that you purchase.
1471
+ # @return [String]
1472
+ #
1473
+ # @!attribute [rw] number_of_instances_to_purchase
1474
+ # The number of instances that Amazon Web Services recommends that you
1475
+ # purchase.
1476
+ # @return [String]
1477
+ #
1478
+ # @!attribute [rw] payment_option
1479
+ # The payment option for the commitment.
1480
+ # @return [String]
1481
+ #
1482
+ # @!attribute [rw] reserved_instances_region
1483
+ # The Amazon Web Services Region of the commitment.
1484
+ # @return [String]
1485
+ #
1486
+ # @!attribute [rw] service
1487
+ # The service that you want your recommendations for.
1488
+ # @return [String]
1489
+ #
1490
+ # @!attribute [rw] size_flex_eligible
1491
+ # Determines whether the recommendation is size flexible.
1492
+ # @return [Boolean]
1493
+ #
1494
+ # @!attribute [rw] term
1495
+ # The reserved instances recommendation term in years.
1496
+ # @return [String]
1497
+ #
1498
+ # @!attribute [rw] upfront_cost
1499
+ # How much purchasing this instance costs you upfront.
1500
+ # @return [String]
1501
+ #
1502
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cost-optimization-hub-2022-07-26/RedshiftReservedInstancesConfiguration AWS API Documentation
1503
+ #
1504
+ class RedshiftReservedInstancesConfiguration < Struct.new(
1505
+ :account_scope,
1506
+ :current_generation,
1507
+ :instance_family,
1508
+ :instance_type,
1509
+ :monthly_recurring_cost,
1510
+ :normalized_units_to_purchase,
1511
+ :number_of_instances_to_purchase,
1512
+ :payment_option,
1513
+ :reserved_instances_region,
1514
+ :service,
1515
+ :size_flex_eligible,
1516
+ :term,
1517
+ :upfront_cost)
1518
+ SENSITIVE = []
1519
+ include Aws::Structure
1520
+ end
1521
+
1522
+ # Cost impact of the purchase recommendation.
1523
+ #
1524
+ # @!attribute [rw] pricing
1525
+ # Pricing details of the purchase recommendation.
1526
+ # @return [Types::ReservedInstancesPricing]
1527
+ #
1528
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cost-optimization-hub-2022-07-26/ReservedInstancesCostCalculation AWS API Documentation
1529
+ #
1530
+ class ReservedInstancesCostCalculation < Struct.new(
1531
+ :pricing)
1532
+ SENSITIVE = []
1533
+ include Aws::Structure
1534
+ end
1535
+
1536
+ # Pricing details for your recommended reserved instance.
1537
+ #
1538
+ # @!attribute [rw] estimated_monthly_amortized_reservation_cost
1539
+ # The estimated cost of your recurring monthly fees for the
1540
+ # recommended reserved instance across the month.
1541
+ # @return [Float]
1542
+ #
1543
+ # @!attribute [rw] estimated_on_demand_cost
1544
+ # The remaining On-Demand cost estimated to not be covered by the
1545
+ # recommended reserved instance, over the length of the lookback
1546
+ # period.
1547
+ # @return [Float]
1548
+ #
1549
+ # @!attribute [rw] monthly_reservation_eligible_cost
1550
+ # The cost of paying for the recommended reserved instance monthly.
1551
+ # @return [Float]
1552
+ #
1553
+ # @!attribute [rw] savings_percentage
1554
+ # The savings percentage relative to the total On-Demand costs that
1555
+ # are associated with this instance.
1556
+ # @return [Float]
1557
+ #
1558
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cost-optimization-hub-2022-07-26/ReservedInstancesPricing AWS API Documentation
1559
+ #
1560
+ class ReservedInstancesPricing < Struct.new(
1561
+ :estimated_monthly_amortized_reservation_cost,
1562
+ :estimated_on_demand_cost,
1563
+ :monthly_reservation_eligible_cost,
1564
+ :savings_percentage)
1565
+ SENSITIVE = []
1566
+ include Aws::Structure
1567
+ end
1568
+
1569
+ # Cost impact of the resource recommendation.
1570
+ #
1571
+ # @!attribute [rw] pricing
1572
+ # Pricing details of the resource recommendation.
1573
+ # @return [Types::ResourcePricing]
1574
+ #
1575
+ # @!attribute [rw] usages
1576
+ # Usage details of the resource recommendation.
1577
+ # @return [Array<Types::Usage>]
1578
+ #
1579
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cost-optimization-hub-2022-07-26/ResourceCostCalculation AWS API Documentation
1580
+ #
1581
+ class ResourceCostCalculation < Struct.new(
1582
+ :pricing,
1583
+ :usages)
1584
+ SENSITIVE = []
1585
+ include Aws::Structure
1586
+ end
1587
+
1588
+ # Contains detailed information about the specified resource.
1589
+ #
1590
+ # @note ResourceDetails is a union - when returned from an API call exactly one value will be set and the returned type will be a subclass of ResourceDetails corresponding to the set member.
1591
+ #
1592
+ # @!attribute [rw] compute_savings_plans
1593
+ # The Compute Savings Plans recommendation details.
1594
+ # @return [Types::ComputeSavingsPlans]
1595
+ #
1596
+ # @!attribute [rw] ebs_volume
1597
+ # The Amazon Elastic Block Store volume recommendation details.
1598
+ # @return [Types::EbsVolume]
1599
+ #
1600
+ # @!attribute [rw] ec2_auto_scaling_group
1601
+ # The EC2 Auto Scaling group recommendation details.
1602
+ # @return [Types::Ec2AutoScalingGroup]
1603
+ #
1604
+ # @!attribute [rw] ec2_instance
1605
+ # The EC2 instance recommendation details.
1606
+ # @return [Types::Ec2Instance]
1607
+ #
1608
+ # @!attribute [rw] ec2_instance_savings_plans
1609
+ # The EC2 instance Savings Plans recommendation details.
1610
+ # @return [Types::Ec2InstanceSavingsPlans]
1611
+ #
1612
+ # @!attribute [rw] ec2_reserved_instances
1613
+ # The EC2 reserved instances recommendation details.
1614
+ # @return [Types::Ec2ReservedInstances]
1615
+ #
1616
+ # @!attribute [rw] ecs_service
1617
+ # The ECS service recommendation details.
1618
+ # @return [Types::EcsService]
1619
+ #
1620
+ # @!attribute [rw] elasti_cache_reserved_instances
1621
+ # The ElastiCache reserved instances recommendation details.
1622
+ # @return [Types::ElastiCacheReservedInstances]
1623
+ #
1624
+ # @!attribute [rw] lambda_function
1625
+ # The Lambda function recommendation details.
1626
+ # @return [Types::LambdaFunction]
1627
+ #
1628
+ # @!attribute [rw] open_search_reserved_instances
1629
+ # The OpenSearch reserved instances recommendation details.
1630
+ # @return [Types::OpenSearchReservedInstances]
1631
+ #
1632
+ # @!attribute [rw] rds_reserved_instances
1633
+ # The RDS reserved instances recommendation details.
1634
+ # @return [Types::RdsReservedInstances]
1635
+ #
1636
+ # @!attribute [rw] redshift_reserved_instances
1637
+ # The Redshift reserved instances recommendation details.
1638
+ # @return [Types::RedshiftReservedInstances]
1639
+ #
1640
+ # @!attribute [rw] sage_maker_savings_plans
1641
+ # The SageMaker Savings Plans recommendation details.
1642
+ # @return [Types::SageMakerSavingsPlans]
1643
+ #
1644
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cost-optimization-hub-2022-07-26/ResourceDetails AWS API Documentation
1645
+ #
1646
+ class ResourceDetails < Struct.new(
1647
+ :compute_savings_plans,
1648
+ :ebs_volume,
1649
+ :ec2_auto_scaling_group,
1650
+ :ec2_instance,
1651
+ :ec2_instance_savings_plans,
1652
+ :ec2_reserved_instances,
1653
+ :ecs_service,
1654
+ :elasti_cache_reserved_instances,
1655
+ :lambda_function,
1656
+ :open_search_reserved_instances,
1657
+ :rds_reserved_instances,
1658
+ :redshift_reserved_instances,
1659
+ :sage_maker_savings_plans,
1660
+ :unknown)
1661
+ SENSITIVE = []
1662
+ include Aws::Structure
1663
+ include Aws::Structure::Union
1664
+
1665
+ class ComputeSavingsPlans < ResourceDetails; end
1666
+ class EbsVolume < ResourceDetails; end
1667
+ class Ec2AutoScalingGroup < ResourceDetails; end
1668
+ class Ec2Instance < ResourceDetails; end
1669
+ class Ec2InstanceSavingsPlans < ResourceDetails; end
1670
+ class Ec2ReservedInstances < ResourceDetails; end
1671
+ class EcsService < ResourceDetails; end
1672
+ class ElastiCacheReservedInstances < ResourceDetails; end
1673
+ class LambdaFunction < ResourceDetails; end
1674
+ class OpenSearchReservedInstances < ResourceDetails; end
1675
+ class RdsReservedInstances < ResourceDetails; end
1676
+ class RedshiftReservedInstances < ResourceDetails; end
1677
+ class SageMakerSavingsPlans < ResourceDetails; end
1678
+ class Unknown < ResourceDetails; end
1679
+ end
1680
+
1681
+ # The specified Amazon Resource Name (ARN) in the request doesn't
1682
+ # exist.
1683
+ #
1684
+ # @!attribute [rw] message
1685
+ # @return [String]
1686
+ #
1687
+ # @!attribute [rw] resource_id
1688
+ # The identifier of the resource that was not found.
1689
+ # @return [String]
1690
+ #
1691
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cost-optimization-hub-2022-07-26/ResourceNotFoundException AWS API Documentation
1692
+ #
1693
+ class ResourceNotFoundException < Struct.new(
1694
+ :message,
1695
+ :resource_id)
1696
+ SENSITIVE = []
1697
+ include Aws::Structure
1698
+ end
1699
+
1700
+ # Contains pricing information about the specified resource.
1701
+ #
1702
+ # @!attribute [rw] estimated_cost_after_discounts
1703
+ # The savings estimate incorporating all discounts with Amazon Web
1704
+ # Services, such as Reserved Instances and Savings Plans.
1705
+ # @return [Float]
1706
+ #
1707
+ # @!attribute [rw] estimated_cost_before_discounts
1708
+ # The savings estimate using Amazon Web Services public pricing
1709
+ # without incorporating any discounts.
1710
+ # @return [Float]
1711
+ #
1712
+ # @!attribute [rw] estimated_discounts
1713
+ # The estimated discounts for a recommendation.
1714
+ # @return [Types::EstimatedDiscounts]
1715
+ #
1716
+ # @!attribute [rw] estimated_net_unused_amortized_commitments
1717
+ # The estimated net unused amortized commitment for the
1718
+ # recommendation.
1719
+ # @return [Float]
1720
+ #
1721
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cost-optimization-hub-2022-07-26/ResourcePricing AWS API Documentation
1722
+ #
1723
+ class ResourcePricing < Struct.new(
1724
+ :estimated_cost_after_discounts,
1725
+ :estimated_cost_before_discounts,
1726
+ :estimated_discounts,
1727
+ :estimated_net_unused_amortized_commitments)
1728
+ SENSITIVE = []
1729
+ include Aws::Structure
1730
+ end
1731
+
1732
+ # The SageMaker Savings Plans recommendation details.
1733
+ #
1734
+ # @!attribute [rw] configuration
1735
+ # The SageMaker Savings Plans configuration used for recommendations.
1736
+ # @return [Types::SageMakerSavingsPlansConfiguration]
1737
+ #
1738
+ # @!attribute [rw] cost_calculation
1739
+ # Cost impact of the Savings Plans purchase recommendation.
1740
+ # @return [Types::SavingsPlansCostCalculation]
1741
+ #
1742
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cost-optimization-hub-2022-07-26/SageMakerSavingsPlans AWS API Documentation
1743
+ #
1744
+ class SageMakerSavingsPlans < Struct.new(
1745
+ :configuration,
1746
+ :cost_calculation)
1747
+ SENSITIVE = []
1748
+ include Aws::Structure
1749
+ end
1750
+
1751
+ # The SageMaker Savings Plans configuration used for recommendations.
1752
+ #
1753
+ # @!attribute [rw] account_scope
1754
+ # The account scope that you want your recommendations for.
1755
+ # @return [String]
1756
+ #
1757
+ # @!attribute [rw] hourly_commitment
1758
+ # The hourly commitment for the Savings Plans type.
1759
+ # @return [String]
1760
+ #
1761
+ # @!attribute [rw] payment_option
1762
+ # The payment option for the commitment.
1763
+ # @return [String]
1764
+ #
1765
+ # @!attribute [rw] term
1766
+ # The Savings Plans recommendation term in years.
1767
+ # @return [String]
1768
+ #
1769
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cost-optimization-hub-2022-07-26/SageMakerSavingsPlansConfiguration AWS API Documentation
1770
+ #
1771
+ class SageMakerSavingsPlansConfiguration < Struct.new(
1772
+ :account_scope,
1773
+ :hourly_commitment,
1774
+ :payment_option,
1775
+ :term)
1776
+ SENSITIVE = []
1777
+ include Aws::Structure
1778
+ end
1779
+
1780
+ # Cost impact of the purchase recommendation.
1781
+ #
1782
+ # @!attribute [rw] pricing
1783
+ # Pricing details of the purchase recommendation.
1784
+ # @return [Types::SavingsPlansPricing]
1785
+ #
1786
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cost-optimization-hub-2022-07-26/SavingsPlansCostCalculation AWS API Documentation
1787
+ #
1788
+ class SavingsPlansCostCalculation < Struct.new(
1789
+ :pricing)
1790
+ SENSITIVE = []
1791
+ include Aws::Structure
1792
+ end
1793
+
1794
+ # Pricing information about a Savings Plan.
1795
+ #
1796
+ # @!attribute [rw] estimated_monthly_commitment
1797
+ # Estimated monthly commitment for the Savings Plan.
1798
+ # @return [Float]
1799
+ #
1800
+ # @!attribute [rw] estimated_on_demand_cost
1801
+ # Estimated On-Demand cost you will pay after buying the Savings Plan.
1802
+ # @return [Float]
1803
+ #
1804
+ # @!attribute [rw] monthly_savings_plans_eligible_cost
1805
+ # The cost of paying for the recommended Savings Plan monthly.
1806
+ # @return [Float]
1807
+ #
1808
+ # @!attribute [rw] savings_percentage
1809
+ # Estimated savings as a percentage of your overall costs after buying
1810
+ # the Savings Plan.
1811
+ # @return [Float]
1812
+ #
1813
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cost-optimization-hub-2022-07-26/SavingsPlansPricing AWS API Documentation
1814
+ #
1815
+ class SavingsPlansPricing < Struct.new(
1816
+ :estimated_monthly_commitment,
1817
+ :estimated_on_demand_cost,
1818
+ :monthly_savings_plans_eligible_cost,
1819
+ :savings_percentage)
1820
+ SENSITIVE = []
1821
+ include Aws::Structure
1822
+ end
1823
+
1824
+ # The storage configuration used for recommendations.
1825
+ #
1826
+ # @!attribute [rw] size_in_gb
1827
+ # The storage volume.
1828
+ # @return [Float]
1829
+ #
1830
+ # @!attribute [rw] type
1831
+ # The storage type.
1832
+ # @return [String]
1833
+ #
1834
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cost-optimization-hub-2022-07-26/StorageConfiguration AWS API Documentation
1835
+ #
1836
+ class StorageConfiguration < Struct.new(
1837
+ :size_in_gb,
1838
+ :type)
1839
+ SENSITIVE = []
1840
+ include Aws::Structure
1841
+ end
1842
+
1843
+ # The tag structure that contains a tag key and value.
1844
+ #
1845
+ # @!attribute [rw] key
1846
+ # The key that's associated with the tag.
1847
+ # @return [String]
1848
+ #
1849
+ # @!attribute [rw] value
1850
+ # The value that's associated with the tag.
1851
+ # @return [String]
1852
+ #
1853
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cost-optimization-hub-2022-07-26/Tag AWS API Documentation
1854
+ #
1855
+ class Tag < Struct.new(
1856
+ :key,
1857
+ :value)
1858
+ SENSITIVE = []
1859
+ include Aws::Structure
1860
+ end
1861
+
1862
+ # The request was denied due to request throttling.
1863
+ #
1864
+ # @!attribute [rw] message
1865
+ # @return [String]
1866
+ #
1867
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cost-optimization-hub-2022-07-26/ThrottlingException AWS API Documentation
1868
+ #
1869
+ class ThrottlingException < Struct.new(
1870
+ :message)
1871
+ SENSITIVE = []
1872
+ include Aws::Structure
1873
+ end
1874
+
1875
+ # @!attribute [rw] include_member_accounts
1876
+ # Indicates whether to enroll member accounts of the organization if
1877
+ # the account is the management account.
1878
+ # @return [Boolean]
1879
+ #
1880
+ # @!attribute [rw] status
1881
+ # Sets the account status.
1882
+ # @return [String]
1883
+ #
1884
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cost-optimization-hub-2022-07-26/UpdateEnrollmentStatusRequest AWS API Documentation
1885
+ #
1886
+ class UpdateEnrollmentStatusRequest < Struct.new(
1887
+ :include_member_accounts,
1888
+ :status)
1889
+ SENSITIVE = []
1890
+ include Aws::Structure
1891
+ end
1892
+
1893
+ # @!attribute [rw] status
1894
+ # The enrollment status of the account.
1895
+ # @return [String]
1896
+ #
1897
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cost-optimization-hub-2022-07-26/UpdateEnrollmentStatusResponse AWS API Documentation
1898
+ #
1899
+ class UpdateEnrollmentStatusResponse < Struct.new(
1900
+ :status)
1901
+ SENSITIVE = []
1902
+ include Aws::Structure
1903
+ end
1904
+
1905
+ # @!attribute [rw] member_account_discount_visibility
1906
+ # Sets the "member account discount visibility" preference.
1907
+ # @return [String]
1908
+ #
1909
+ # @!attribute [rw] savings_estimation_mode
1910
+ # Sets the "savings estimation mode" preference.
1911
+ # @return [String]
1912
+ #
1913
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cost-optimization-hub-2022-07-26/UpdatePreferencesRequest AWS API Documentation
1914
+ #
1915
+ class UpdatePreferencesRequest < Struct.new(
1916
+ :member_account_discount_visibility,
1917
+ :savings_estimation_mode)
1918
+ SENSITIVE = []
1919
+ include Aws::Structure
1920
+ end
1921
+
1922
+ # @!attribute [rw] member_account_discount_visibility
1923
+ # Shows the status of the "member account discount visibility"
1924
+ # preference.
1925
+ # @return [String]
1926
+ #
1927
+ # @!attribute [rw] savings_estimation_mode
1928
+ # Shows the status of the "savings estimation mode" preference.
1929
+ # @return [String]
1930
+ #
1931
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cost-optimization-hub-2022-07-26/UpdatePreferencesResponse AWS API Documentation
1932
+ #
1933
+ class UpdatePreferencesResponse < Struct.new(
1934
+ :member_account_discount_visibility,
1935
+ :savings_estimation_mode)
1936
+ SENSITIVE = []
1937
+ include Aws::Structure
1938
+ end
1939
+
1940
+ # Details about the usage.
1941
+ #
1942
+ # @!attribute [rw] operation
1943
+ # The operation value.
1944
+ # @return [String]
1945
+ #
1946
+ # @!attribute [rw] product_code
1947
+ # The product code.
1948
+ # @return [String]
1949
+ #
1950
+ # @!attribute [rw] unit
1951
+ # The usage unit.
1952
+ # @return [String]
1953
+ #
1954
+ # @!attribute [rw] usage_amount
1955
+ # The usage amount.
1956
+ # @return [Float]
1957
+ #
1958
+ # @!attribute [rw] usage_type
1959
+ # The usage type.
1960
+ # @return [String]
1961
+ #
1962
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cost-optimization-hub-2022-07-26/Usage AWS API Documentation
1963
+ #
1964
+ class Usage < Struct.new(
1965
+ :operation,
1966
+ :product_code,
1967
+ :unit,
1968
+ :usage_amount,
1969
+ :usage_type)
1970
+ SENSITIVE = []
1971
+ include Aws::Structure
1972
+ end
1973
+
1974
+ # The input fails to satisfy the constraints specified by an Amazon Web
1975
+ # Services service.
1976
+ #
1977
+ # @!attribute [rw] fields
1978
+ # The list of fields that are invalid.
1979
+ # @return [Array<Types::ValidationExceptionDetail>]
1980
+ #
1981
+ # @!attribute [rw] message
1982
+ # @return [String]
1983
+ #
1984
+ # @!attribute [rw] reason
1985
+ # The reason for the validation exception.
1986
+ # @return [String]
1987
+ #
1988
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cost-optimization-hub-2022-07-26/ValidationException AWS API Documentation
1989
+ #
1990
+ class ValidationException < Struct.new(
1991
+ :fields,
1992
+ :message,
1993
+ :reason)
1994
+ SENSITIVE = []
1995
+ include Aws::Structure
1996
+ end
1997
+
1998
+ # The input failed to meet the constraints specified by the Amazon Web
1999
+ # Services service in a specified field.
2000
+ #
2001
+ # @!attribute [rw] field_name
2002
+ # The field name where the invalid entry was detected.
2003
+ # @return [String]
2004
+ #
2005
+ # @!attribute [rw] message
2006
+ # A message with the reason for the validation exception error.
2007
+ # @return [String]
2008
+ #
2009
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cost-optimization-hub-2022-07-26/ValidationExceptionDetail AWS API Documentation
2010
+ #
2011
+ class ValidationExceptionDetail < Struct.new(
2012
+ :field_name,
2013
+ :message)
2014
+ SENSITIVE = []
2015
+ include Aws::Structure
2016
+ end
2017
+
2018
+ end
2019
+ end