aws-sdk-computeoptimizer 1.70.0 → 1.72.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -20,6 +20,8 @@ module Aws::ComputeOptimizer
20
20
  AccountId = Shapes::StringShape.new(name: 'AccountId')
21
21
  AccountIds = Shapes::ListShape.new(name: 'AccountIds')
22
22
  AllocatedStorage = Shapes::IntegerShape.new(name: 'AllocatedStorage')
23
+ AllocationStrategy = Shapes::StringShape.new(name: 'AllocationStrategy')
24
+ AsgType = Shapes::StringShape.new(name: 'AsgType')
23
25
  AutoScalingConfiguration = Shapes::StringShape.new(name: 'AutoScalingConfiguration')
24
26
  AutoScalingGroupArn = Shapes::StringShape.new(name: 'AutoScalingGroupArn')
25
27
  AutoScalingGroupArns = Shapes::ListShape.new(name: 'AutoScalingGroupArns')
@@ -50,6 +52,7 @@ module Aws::ComputeOptimizer
50
52
  CustomizableMetricName = Shapes::StringShape.new(name: 'CustomizableMetricName')
51
53
  CustomizableMetricParameters = Shapes::StructureShape.new(name: 'CustomizableMetricParameters')
52
54
  CustomizableMetricThreshold = Shapes::StringShape.new(name: 'CustomizableMetricThreshold')
55
+ DBClusterIdentifier = Shapes::StringShape.new(name: 'DBClusterIdentifier')
53
56
  DBInstanceClass = Shapes::StringShape.new(name: 'DBInstanceClass')
54
57
  DBStorageConfiguration = Shapes::StructureShape.new(name: 'DBStorageConfiguration')
55
58
  DeleteRecommendationPreferencesRequest = Shapes::StructureShape.new(name: 'DeleteRecommendationPreferencesRequest')
@@ -60,6 +63,7 @@ module Aws::ComputeOptimizer
60
63
  DestinationBucket = Shapes::StringShape.new(name: 'DestinationBucket')
61
64
  DestinationKey = Shapes::StringShape.new(name: 'DestinationKey')
62
65
  DestinationKeyPrefix = Shapes::StringShape.new(name: 'DestinationKeyPrefix')
66
+ Dimension = Shapes::StringShape.new(name: 'Dimension')
63
67
  EBSEffectiveRecommendationPreferences = Shapes::StructureShape.new(name: 'EBSEffectiveRecommendationPreferences')
64
68
  EBSEstimatedMonthlySavings = Shapes::StructureShape.new(name: 'EBSEstimatedMonthlySavings')
65
69
  EBSFilter = Shapes::StructureShape.new(name: 'EBSFilter')
@@ -118,6 +122,8 @@ module Aws::ComputeOptimizer
118
122
  ExportEC2InstanceRecommendationsResponse = Shapes::StructureShape.new(name: 'ExportEC2InstanceRecommendationsResponse')
119
123
  ExportECSServiceRecommendationsRequest = Shapes::StructureShape.new(name: 'ExportECSServiceRecommendationsRequest')
120
124
  ExportECSServiceRecommendationsResponse = Shapes::StructureShape.new(name: 'ExportECSServiceRecommendationsResponse')
125
+ ExportIdleRecommendationsRequest = Shapes::StructureShape.new(name: 'ExportIdleRecommendationsRequest')
126
+ ExportIdleRecommendationsResponse = Shapes::StructureShape.new(name: 'ExportIdleRecommendationsResponse')
121
127
  ExportLambdaFunctionRecommendationsRequest = Shapes::StructureShape.new(name: 'ExportLambdaFunctionRecommendationsRequest')
122
128
  ExportLambdaFunctionRecommendationsResponse = Shapes::StructureShape.new(name: 'ExportLambdaFunctionRecommendationsResponse')
123
129
  ExportLicenseRecommendationsRequest = Shapes::StructureShape.new(name: 'ExportLicenseRecommendationsRequest')
@@ -128,6 +134,8 @@ module Aws::ComputeOptimizer
128
134
  ExportableAutoScalingGroupFields = Shapes::ListShape.new(name: 'ExportableAutoScalingGroupFields')
129
135
  ExportableECSServiceField = Shapes::StringShape.new(name: 'ExportableECSServiceField')
130
136
  ExportableECSServiceFields = Shapes::ListShape.new(name: 'ExportableECSServiceFields')
137
+ ExportableIdleField = Shapes::StringShape.new(name: 'ExportableIdleField')
138
+ ExportableIdleFields = Shapes::ListShape.new(name: 'ExportableIdleFields')
131
139
  ExportableInstanceField = Shapes::StringShape.new(name: 'ExportableInstanceField')
132
140
  ExportableInstanceFields = Shapes::ListShape.new(name: 'ExportableInstanceFields')
133
141
  ExportableLambdaFunctionField = Shapes::StringShape.new(name: 'ExportableLambdaFunctionField')
@@ -173,6 +181,8 @@ module Aws::ComputeOptimizer
173
181
  GetEnrollmentStatusResponse = Shapes::StructureShape.new(name: 'GetEnrollmentStatusResponse')
174
182
  GetEnrollmentStatusesForOrganizationRequest = Shapes::StructureShape.new(name: 'GetEnrollmentStatusesForOrganizationRequest')
175
183
  GetEnrollmentStatusesForOrganizationResponse = Shapes::StructureShape.new(name: 'GetEnrollmentStatusesForOrganizationResponse')
184
+ GetIdleRecommendationsRequest = Shapes::StructureShape.new(name: 'GetIdleRecommendationsRequest')
185
+ GetIdleRecommendationsResponse = Shapes::StructureShape.new(name: 'GetIdleRecommendationsResponse')
176
186
  GetLambdaFunctionRecommendationsRequest = Shapes::StructureShape.new(name: 'GetLambdaFunctionRecommendationsRequest')
177
187
  GetLambdaFunctionRecommendationsResponse = Shapes::StructureShape.new(name: 'GetLambdaFunctionRecommendationsResponse')
178
188
  GetLicenseRecommendationsRequest = Shapes::StructureShape.new(name: 'GetLicenseRecommendationsRequest')
@@ -195,6 +205,25 @@ module Aws::ComputeOptimizer
195
205
  High = Shapes::IntegerShape.new(name: 'High')
196
206
  Identifier = Shapes::StringShape.new(name: 'Identifier')
197
207
  Idle = Shapes::StringShape.new(name: 'Idle')
208
+ IdleEstimatedMonthlySavings = Shapes::StructureShape.new(name: 'IdleEstimatedMonthlySavings')
209
+ IdleFinding = Shapes::StringShape.new(name: 'IdleFinding')
210
+ IdleFindingDescription = Shapes::StringShape.new(name: 'IdleFindingDescription')
211
+ IdleMaxResults = Shapes::IntegerShape.new(name: 'IdleMaxResults')
212
+ IdleMetricName = Shapes::StringShape.new(name: 'IdleMetricName')
213
+ IdleRecommendation = Shapes::StructureShape.new(name: 'IdleRecommendation')
214
+ IdleRecommendationError = Shapes::StructureShape.new(name: 'IdleRecommendationError')
215
+ IdleRecommendationErrors = Shapes::ListShape.new(name: 'IdleRecommendationErrors')
216
+ IdleRecommendationFilter = Shapes::StructureShape.new(name: 'IdleRecommendationFilter')
217
+ IdleRecommendationFilterName = Shapes::StringShape.new(name: 'IdleRecommendationFilterName')
218
+ IdleRecommendationFilters = Shapes::ListShape.new(name: 'IdleRecommendationFilters')
219
+ IdleRecommendationResourceType = Shapes::StringShape.new(name: 'IdleRecommendationResourceType')
220
+ IdleRecommendations = Shapes::ListShape.new(name: 'IdleRecommendations')
221
+ IdleSavingsOpportunity = Shapes::StructureShape.new(name: 'IdleSavingsOpportunity')
222
+ IdleSavingsOpportunityAfterDiscounts = Shapes::StructureShape.new(name: 'IdleSavingsOpportunityAfterDiscounts')
223
+ IdleSummaries = Shapes::ListShape.new(name: 'IdleSummaries')
224
+ IdleSummary = Shapes::StructureShape.new(name: 'IdleSummary')
225
+ IdleUtilizationMetric = Shapes::StructureShape.new(name: 'IdleUtilizationMetric')
226
+ IdleUtilizationMetrics = Shapes::ListShape.new(name: 'IdleUtilizationMetrics')
198
227
  IncludeMemberAccounts = Shapes::BooleanShape.new(name: 'IncludeMemberAccounts')
199
228
  InferredWorkloadSaving = Shapes::StructureShape.new(name: 'InferredWorkloadSaving')
200
229
  InferredWorkloadSavings = Shapes::ListShape.new(name: 'InferredWorkloadSavings')
@@ -288,9 +317,13 @@ module Aws::ComputeOptimizer
288
317
  MigrationEffort = Shapes::StringShape.new(name: 'MigrationEffort')
289
318
  MinSize = Shapes::IntegerShape.new(name: 'MinSize')
290
319
  MissingAuthenticationToken = Shapes::StructureShape.new(name: 'MissingAuthenticationToken')
320
+ MixedInstanceType = Shapes::StringShape.new(name: 'MixedInstanceType')
321
+ MixedInstanceTypes = Shapes::ListShape.new(name: 'MixedInstanceTypes')
291
322
  NextToken = Shapes::StringShape.new(name: 'NextToken')
292
323
  NullableCpu = Shapes::IntegerShape.new(name: 'NullableCpu')
324
+ NullableEstimatedInstanceHourReductionPercentage = Shapes::FloatShape.new(name: 'NullableEstimatedInstanceHourReductionPercentage')
293
325
  NullableIOPS = Shapes::IntegerShape.new(name: 'NullableIOPS')
326
+ NullableInstanceType = Shapes::StringShape.new(name: 'NullableInstanceType')
294
327
  NullableMaxAllocatedStorage = Shapes::IntegerShape.new(name: 'NullableMaxAllocatedStorage')
295
328
  NullableMemory = Shapes::IntegerShape.new(name: 'NullableMemory')
296
329
  NullableMemoryReservation = Shapes::IntegerShape.new(name: 'NullableMemoryReservation')
@@ -300,6 +333,8 @@ module Aws::ComputeOptimizer
300
333
  NumberOfMemberAccountsOptedIn = Shapes::IntegerShape.new(name: 'NumberOfMemberAccountsOptedIn')
301
334
  OperatingSystem = Shapes::StringShape.new(name: 'OperatingSystem')
302
335
  OptInRequiredException = Shapes::StructureShape.new(name: 'OptInRequiredException')
336
+ Order = Shapes::StringShape.new(name: 'Order')
337
+ OrderBy = Shapes::StructureShape.new(name: 'OrderBy')
303
338
  PerformanceRisk = Shapes::FloatShape.new(name: 'PerformanceRisk')
304
339
  Period = Shapes::IntegerShape.new(name: 'Period')
305
340
  PlatformDifference = Shapes::StringShape.new(name: 'PlatformDifference')
@@ -312,8 +347,10 @@ module Aws::ComputeOptimizer
312
347
  ProjectedMetric = Shapes::StructureShape.new(name: 'ProjectedMetric')
313
348
  ProjectedMetrics = Shapes::ListShape.new(name: 'ProjectedMetrics')
314
349
  ProjectedUtilizationMetrics = Shapes::ListShape.new(name: 'ProjectedUtilizationMetrics')
350
+ PromotionTier = Shapes::IntegerShape.new(name: 'PromotionTier')
315
351
  PutRecommendationPreferencesRequest = Shapes::StructureShape.new(name: 'PutRecommendationPreferencesRequest')
316
352
  PutRecommendationPreferencesResponse = Shapes::StructureShape.new(name: 'PutRecommendationPreferencesResponse')
353
+ RDSCurrentInstancePerformanceRisk = Shapes::StringShape.new(name: 'RDSCurrentInstancePerformanceRisk')
317
354
  RDSDBInstanceRecommendationOption = Shapes::StructureShape.new(name: 'RDSDBInstanceRecommendationOption')
318
355
  RDSDBInstanceRecommendationOptions = Shapes::ListShape.new(name: 'RDSDBInstanceRecommendationOptions')
319
356
  RDSDBMetricName = Shapes::StringShape.new(name: 'RDSDBMetricName')
@@ -368,6 +405,7 @@ module Aws::ComputeOptimizer
368
405
  RecommendedOptionProjectedMetrics = Shapes::ListShape.new(name: 'RecommendedOptionProjectedMetrics')
369
406
  ResourceArn = Shapes::StringShape.new(name: 'ResourceArn')
370
407
  ResourceArns = Shapes::ListShape.new(name: 'ResourceArns')
408
+ ResourceId = Shapes::StringShape.new(name: 'ResourceId')
371
409
  ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException')
372
410
  ResourceType = Shapes::StringShape.new(name: 'ResourceType')
373
411
  RootVolume = Shapes::BooleanShape.new(name: 'RootVolume')
@@ -438,7 +476,11 @@ module Aws::ComputeOptimizer
438
476
  AutoScalingGroupConfiguration.add_member(:desired_capacity, Shapes::ShapeRef.new(shape: DesiredCapacity, location_name: "desiredCapacity"))
439
477
  AutoScalingGroupConfiguration.add_member(:min_size, Shapes::ShapeRef.new(shape: MinSize, location_name: "minSize"))
440
478
  AutoScalingGroupConfiguration.add_member(:max_size, Shapes::ShapeRef.new(shape: MaxSize, location_name: "maxSize"))
441
- AutoScalingGroupConfiguration.add_member(:instance_type, Shapes::ShapeRef.new(shape: InstanceType, location_name: "instanceType"))
479
+ AutoScalingGroupConfiguration.add_member(:instance_type, Shapes::ShapeRef.new(shape: NullableInstanceType, location_name: "instanceType"))
480
+ AutoScalingGroupConfiguration.add_member(:allocation_strategy, Shapes::ShapeRef.new(shape: AllocationStrategy, location_name: "allocationStrategy"))
481
+ AutoScalingGroupConfiguration.add_member(:estimated_instance_hour_reduction_percentage, Shapes::ShapeRef.new(shape: NullableEstimatedInstanceHourReductionPercentage, location_name: "estimatedInstanceHourReductionPercentage"))
482
+ AutoScalingGroupConfiguration.add_member(:type, Shapes::ShapeRef.new(shape: AsgType, location_name: "type"))
483
+ AutoScalingGroupConfiguration.add_member(:mixed_instance_types, Shapes::ShapeRef.new(shape: MixedInstanceTypes, location_name: "mixedInstanceTypes"))
442
484
  AutoScalingGroupConfiguration.struct_class = Types::AutoScalingGroupConfiguration
443
485
 
444
486
  AutoScalingGroupEstimatedMonthlySavings.add_member(:currency, Shapes::ShapeRef.new(shape: Currency, location_name: "currency"))
@@ -715,6 +757,18 @@ module Aws::ComputeOptimizer
715
757
  ExportECSServiceRecommendationsResponse.add_member(:s3_destination, Shapes::ShapeRef.new(shape: S3Destination, location_name: "s3Destination"))
716
758
  ExportECSServiceRecommendationsResponse.struct_class = Types::ExportECSServiceRecommendationsResponse
717
759
 
760
+ ExportIdleRecommendationsRequest.add_member(:account_ids, Shapes::ShapeRef.new(shape: AccountIds, location_name: "accountIds"))
761
+ ExportIdleRecommendationsRequest.add_member(:filters, Shapes::ShapeRef.new(shape: IdleRecommendationFilters, location_name: "filters"))
762
+ ExportIdleRecommendationsRequest.add_member(:fields_to_export, Shapes::ShapeRef.new(shape: ExportableIdleFields, location_name: "fieldsToExport"))
763
+ ExportIdleRecommendationsRequest.add_member(:s3_destination_config, Shapes::ShapeRef.new(shape: S3DestinationConfig, required: true, location_name: "s3DestinationConfig"))
764
+ ExportIdleRecommendationsRequest.add_member(:file_format, Shapes::ShapeRef.new(shape: FileFormat, location_name: "fileFormat"))
765
+ ExportIdleRecommendationsRequest.add_member(:include_member_accounts, Shapes::ShapeRef.new(shape: IncludeMemberAccounts, location_name: "includeMemberAccounts"))
766
+ ExportIdleRecommendationsRequest.struct_class = Types::ExportIdleRecommendationsRequest
767
+
768
+ ExportIdleRecommendationsResponse.add_member(:job_id, Shapes::ShapeRef.new(shape: JobId, location_name: "jobId"))
769
+ ExportIdleRecommendationsResponse.add_member(:s3_destination, Shapes::ShapeRef.new(shape: S3Destination, location_name: "s3Destination"))
770
+ ExportIdleRecommendationsResponse.struct_class = Types::ExportIdleRecommendationsResponse
771
+
718
772
  ExportLambdaFunctionRecommendationsRequest.add_member(:account_ids, Shapes::ShapeRef.new(shape: AccountIds, location_name: "accountIds"))
719
773
  ExportLambdaFunctionRecommendationsRequest.add_member(:filters, Shapes::ShapeRef.new(shape: LambdaFunctionRecommendationFilters, location_name: "filters"))
720
774
  ExportLambdaFunctionRecommendationsRequest.add_member(:fields_to_export, Shapes::ShapeRef.new(shape: ExportableLambdaFunctionFields, location_name: "fieldsToExport"))
@@ -756,6 +810,8 @@ module Aws::ComputeOptimizer
756
810
 
757
811
  ExportableECSServiceFields.member = Shapes::ShapeRef.new(shape: ExportableECSServiceField)
758
812
 
813
+ ExportableIdleFields.member = Shapes::ShapeRef.new(shape: ExportableIdleField)
814
+
759
815
  ExportableInstanceFields.member = Shapes::ShapeRef.new(shape: ExportableInstanceField)
760
816
 
761
817
  ExportableLambdaFunctionFields.member = Shapes::ShapeRef.new(shape: ExportableLambdaFunctionField)
@@ -882,6 +938,19 @@ module Aws::ComputeOptimizer
882
938
  GetEnrollmentStatusesForOrganizationResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
883
939
  GetEnrollmentStatusesForOrganizationResponse.struct_class = Types::GetEnrollmentStatusesForOrganizationResponse
884
940
 
941
+ GetIdleRecommendationsRequest.add_member(:resource_arns, Shapes::ShapeRef.new(shape: ResourceArns, location_name: "resourceArns"))
942
+ GetIdleRecommendationsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
943
+ GetIdleRecommendationsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: IdleMaxResults, location_name: "maxResults"))
944
+ GetIdleRecommendationsRequest.add_member(:filters, Shapes::ShapeRef.new(shape: IdleRecommendationFilters, location_name: "filters"))
945
+ GetIdleRecommendationsRequest.add_member(:account_ids, Shapes::ShapeRef.new(shape: AccountIds, location_name: "accountIds"))
946
+ GetIdleRecommendationsRequest.add_member(:order_by, Shapes::ShapeRef.new(shape: OrderBy, location_name: "orderBy"))
947
+ GetIdleRecommendationsRequest.struct_class = Types::GetIdleRecommendationsRequest
948
+
949
+ GetIdleRecommendationsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
950
+ GetIdleRecommendationsResponse.add_member(:idle_recommendations, Shapes::ShapeRef.new(shape: IdleRecommendations, location_name: "idleRecommendations"))
951
+ GetIdleRecommendationsResponse.add_member(:errors, Shapes::ShapeRef.new(shape: IdleRecommendationErrors, location_name: "errors"))
952
+ GetIdleRecommendationsResponse.struct_class = Types::GetIdleRecommendationsResponse
953
+
885
954
  GetLambdaFunctionRecommendationsRequest.add_member(:function_arns, Shapes::ShapeRef.new(shape: FunctionArns, location_name: "functionArns"))
886
955
  GetLambdaFunctionRecommendationsRequest.add_member(:account_ids, Shapes::ShapeRef.new(shape: AccountIds, location_name: "accountIds"))
887
956
  GetLambdaFunctionRecommendationsRequest.add_member(:filters, Shapes::ShapeRef.new(shape: LambdaFunctionRecommendationFilters, location_name: "filters"))
@@ -964,6 +1033,61 @@ module Aws::ComputeOptimizer
964
1033
 
965
1034
  Gpus.member = Shapes::ShapeRef.new(shape: Gpu)
966
1035
 
1036
+ IdleEstimatedMonthlySavings.add_member(:currency, Shapes::ShapeRef.new(shape: Currency, location_name: "currency"))
1037
+ IdleEstimatedMonthlySavings.add_member(:value, Shapes::ShapeRef.new(shape: Value, location_name: "value"))
1038
+ IdleEstimatedMonthlySavings.struct_class = Types::IdleEstimatedMonthlySavings
1039
+
1040
+ IdleRecommendation.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ResourceArn, location_name: "resourceArn"))
1041
+ IdleRecommendation.add_member(:resource_id, Shapes::ShapeRef.new(shape: ResourceId, location_name: "resourceId"))
1042
+ IdleRecommendation.add_member(:resource_type, Shapes::ShapeRef.new(shape: IdleRecommendationResourceType, location_name: "resourceType"))
1043
+ IdleRecommendation.add_member(:account_id, Shapes::ShapeRef.new(shape: AccountId, location_name: "accountId"))
1044
+ IdleRecommendation.add_member(:finding, Shapes::ShapeRef.new(shape: IdleFinding, location_name: "finding"))
1045
+ IdleRecommendation.add_member(:finding_description, Shapes::ShapeRef.new(shape: IdleFindingDescription, location_name: "findingDescription"))
1046
+ IdleRecommendation.add_member(:savings_opportunity, Shapes::ShapeRef.new(shape: IdleSavingsOpportunity, location_name: "savingsOpportunity"))
1047
+ IdleRecommendation.add_member(:savings_opportunity_after_discounts, Shapes::ShapeRef.new(shape: IdleSavingsOpportunityAfterDiscounts, location_name: "savingsOpportunityAfterDiscounts"))
1048
+ IdleRecommendation.add_member(:utilization_metrics, Shapes::ShapeRef.new(shape: IdleUtilizationMetrics, location_name: "utilizationMetrics"))
1049
+ IdleRecommendation.add_member(:look_back_period_in_days, Shapes::ShapeRef.new(shape: LookBackPeriodInDays, location_name: "lookBackPeriodInDays"))
1050
+ IdleRecommendation.add_member(:last_refresh_timestamp, Shapes::ShapeRef.new(shape: LastRefreshTimestamp, location_name: "lastRefreshTimestamp"))
1051
+ IdleRecommendation.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, location_name: "tags"))
1052
+ IdleRecommendation.struct_class = Types::IdleRecommendation
1053
+
1054
+ IdleRecommendationError.add_member(:identifier, Shapes::ShapeRef.new(shape: Identifier, location_name: "identifier"))
1055
+ IdleRecommendationError.add_member(:code, Shapes::ShapeRef.new(shape: Code, location_name: "code"))
1056
+ IdleRecommendationError.add_member(:message, Shapes::ShapeRef.new(shape: Message, location_name: "message"))
1057
+ IdleRecommendationError.add_member(:resource_type, Shapes::ShapeRef.new(shape: IdleRecommendationResourceType, location_name: "resourceType"))
1058
+ IdleRecommendationError.struct_class = Types::IdleRecommendationError
1059
+
1060
+ IdleRecommendationErrors.member = Shapes::ShapeRef.new(shape: IdleRecommendationError)
1061
+
1062
+ IdleRecommendationFilter.add_member(:name, Shapes::ShapeRef.new(shape: IdleRecommendationFilterName, location_name: "name"))
1063
+ IdleRecommendationFilter.add_member(:values, Shapes::ShapeRef.new(shape: FilterValues, location_name: "values"))
1064
+ IdleRecommendationFilter.struct_class = Types::IdleRecommendationFilter
1065
+
1066
+ IdleRecommendationFilters.member = Shapes::ShapeRef.new(shape: IdleRecommendationFilter)
1067
+
1068
+ IdleRecommendations.member = Shapes::ShapeRef.new(shape: IdleRecommendation)
1069
+
1070
+ IdleSavingsOpportunity.add_member(:savings_opportunity_percentage, Shapes::ShapeRef.new(shape: SavingsOpportunityPercentage, location_name: "savingsOpportunityPercentage"))
1071
+ IdleSavingsOpportunity.add_member(:estimated_monthly_savings, Shapes::ShapeRef.new(shape: IdleEstimatedMonthlySavings, location_name: "estimatedMonthlySavings"))
1072
+ IdleSavingsOpportunity.struct_class = Types::IdleSavingsOpportunity
1073
+
1074
+ IdleSavingsOpportunityAfterDiscounts.add_member(:savings_opportunity_percentage, Shapes::ShapeRef.new(shape: SavingsOpportunityPercentage, location_name: "savingsOpportunityPercentage"))
1075
+ IdleSavingsOpportunityAfterDiscounts.add_member(:estimated_monthly_savings, Shapes::ShapeRef.new(shape: IdleEstimatedMonthlySavings, location_name: "estimatedMonthlySavings"))
1076
+ IdleSavingsOpportunityAfterDiscounts.struct_class = Types::IdleSavingsOpportunityAfterDiscounts
1077
+
1078
+ IdleSummaries.member = Shapes::ShapeRef.new(shape: IdleSummary)
1079
+
1080
+ IdleSummary.add_member(:name, Shapes::ShapeRef.new(shape: IdleFinding, location_name: "name"))
1081
+ IdleSummary.add_member(:value, Shapes::ShapeRef.new(shape: SummaryValue, location_name: "value"))
1082
+ IdleSummary.struct_class = Types::IdleSummary
1083
+
1084
+ IdleUtilizationMetric.add_member(:name, Shapes::ShapeRef.new(shape: IdleMetricName, location_name: "name"))
1085
+ IdleUtilizationMetric.add_member(:statistic, Shapes::ShapeRef.new(shape: MetricStatistic, location_name: "statistic"))
1086
+ IdleUtilizationMetric.add_member(:value, Shapes::ShapeRef.new(shape: MetricValue, location_name: "value"))
1087
+ IdleUtilizationMetric.struct_class = Types::IdleUtilizationMetric
1088
+
1089
+ IdleUtilizationMetrics.member = Shapes::ShapeRef.new(shape: IdleUtilizationMetric)
1090
+
967
1091
  InferredWorkloadSaving.add_member(:inferred_workload_types, Shapes::ShapeRef.new(shape: InferredWorkloadTypes, location_name: "inferredWorkloadTypes"))
968
1092
  InferredWorkloadSaving.add_member(:estimated_monthly_savings, Shapes::ShapeRef.new(shape: EstimatedMonthlySavings, location_name: "estimatedMonthlySavings"))
969
1093
  InferredWorkloadSaving.struct_class = Types::InferredWorkloadSaving
@@ -1156,9 +1280,15 @@ module Aws::ComputeOptimizer
1156
1280
  MissingAuthenticationToken.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "message"))
1157
1281
  MissingAuthenticationToken.struct_class = Types::MissingAuthenticationToken
1158
1282
 
1283
+ MixedInstanceTypes.member = Shapes::ShapeRef.new(shape: MixedInstanceType)
1284
+
1159
1285
  OptInRequiredException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "message"))
1160
1286
  OptInRequiredException.struct_class = Types::OptInRequiredException
1161
1287
 
1288
+ OrderBy.add_member(:dimension, Shapes::ShapeRef.new(shape: Dimension, location_name: "dimension"))
1289
+ OrderBy.add_member(:order, Shapes::ShapeRef.new(shape: Order, location_name: "order"))
1290
+ OrderBy.struct_class = Types::OrderBy
1291
+
1162
1292
  PlatformDifferences.member = Shapes::ShapeRef.new(shape: PlatformDifference)
1163
1293
 
1164
1294
  PreferredResource.add_member(:name, Shapes::ShapeRef.new(shape: PreferredResourceName, location_name: "name"))
@@ -1208,12 +1338,15 @@ module Aws::ComputeOptimizer
1208
1338
  RDSDBRecommendation.add_member(:account_id, Shapes::ShapeRef.new(shape: AccountId, location_name: "accountId"))
1209
1339
  RDSDBRecommendation.add_member(:engine, Shapes::ShapeRef.new(shape: Engine, location_name: "engine"))
1210
1340
  RDSDBRecommendation.add_member(:engine_version, Shapes::ShapeRef.new(shape: EngineVersion, location_name: "engineVersion"))
1341
+ RDSDBRecommendation.add_member(:promotion_tier, Shapes::ShapeRef.new(shape: PromotionTier, location_name: "promotionTier"))
1211
1342
  RDSDBRecommendation.add_member(:current_db_instance_class, Shapes::ShapeRef.new(shape: CurrentDBInstanceClass, location_name: "currentDBInstanceClass"))
1212
1343
  RDSDBRecommendation.add_member(:current_storage_configuration, Shapes::ShapeRef.new(shape: DBStorageConfiguration, location_name: "currentStorageConfiguration"))
1344
+ RDSDBRecommendation.add_member(:db_cluster_identifier, Shapes::ShapeRef.new(shape: DBClusterIdentifier, location_name: "dbClusterIdentifier"))
1213
1345
  RDSDBRecommendation.add_member(:idle, Shapes::ShapeRef.new(shape: Idle, location_name: "idle"))
1214
1346
  RDSDBRecommendation.add_member(:instance_finding, Shapes::ShapeRef.new(shape: RDSInstanceFinding, location_name: "instanceFinding"))
1215
1347
  RDSDBRecommendation.add_member(:storage_finding, Shapes::ShapeRef.new(shape: RDSStorageFinding, location_name: "storageFinding"))
1216
1348
  RDSDBRecommendation.add_member(:instance_finding_reason_codes, Shapes::ShapeRef.new(shape: RDSInstanceFindingReasonCodes, location_name: "instanceFindingReasonCodes"))
1349
+ RDSDBRecommendation.add_member(:current_instance_performance_risk, Shapes::ShapeRef.new(shape: RDSCurrentInstancePerformanceRisk, location_name: "currentInstancePerformanceRisk"))
1217
1350
  RDSDBRecommendation.add_member(:storage_finding_reason_codes, Shapes::ShapeRef.new(shape: RDSStorageFindingReasonCodes, location_name: "storageFindingReasonCodes"))
1218
1351
  RDSDBRecommendation.add_member(:instance_recommendation_options, Shapes::ShapeRef.new(shape: RDSDBInstanceRecommendationOptions, location_name: "instanceRecommendationOptions"))
1219
1352
  RDSDBRecommendation.add_member(:storage_recommendation_options, Shapes::ShapeRef.new(shape: RDSDBStorageRecommendationOptions, location_name: "storageRecommendationOptions"))
@@ -1336,9 +1469,12 @@ module Aws::ComputeOptimizer
1336
1469
  RecommendationSummaries.member = Shapes::ShapeRef.new(shape: RecommendationSummary)
1337
1470
 
1338
1471
  RecommendationSummary.add_member(:summaries, Shapes::ShapeRef.new(shape: Summaries, location_name: "summaries"))
1472
+ RecommendationSummary.add_member(:idle_summaries, Shapes::ShapeRef.new(shape: IdleSummaries, location_name: "idleSummaries"))
1339
1473
  RecommendationSummary.add_member(:recommendation_resource_type, Shapes::ShapeRef.new(shape: RecommendationSourceType, location_name: "recommendationResourceType"))
1340
1474
  RecommendationSummary.add_member(:account_id, Shapes::ShapeRef.new(shape: AccountId, location_name: "accountId"))
1341
1475
  RecommendationSummary.add_member(:savings_opportunity, Shapes::ShapeRef.new(shape: SavingsOpportunity, location_name: "savingsOpportunity"))
1476
+ RecommendationSummary.add_member(:idle_savings_opportunity, Shapes::ShapeRef.new(shape: SavingsOpportunity, location_name: "idleSavingsOpportunity"))
1477
+ RecommendationSummary.add_member(:aggregated_savings_opportunity, Shapes::ShapeRef.new(shape: SavingsOpportunity, location_name: "aggregatedSavingsOpportunity"))
1342
1478
  RecommendationSummary.add_member(:current_performance_risk_ratings, Shapes::ShapeRef.new(shape: CurrentPerformanceRiskRatings, location_name: "currentPerformanceRiskRatings"))
1343
1479
  RecommendationSummary.add_member(:inferred_workload_savings, Shapes::ShapeRef.new(shape: InferredWorkloadSavings, location_name: "inferredWorkloadSavings"))
1344
1480
  RecommendationSummary.struct_class = Types::RecommendationSummary
@@ -1581,6 +1717,22 @@ module Aws::ComputeOptimizer
1581
1717
  o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
1582
1718
  end)
1583
1719
 
1720
+ api.add_operation(:export_idle_recommendations, Seahorse::Model::Operation.new.tap do |o|
1721
+ o.name = "ExportIdleRecommendations"
1722
+ o.http_method = "POST"
1723
+ o.http_request_uri = "/"
1724
+ o.input = Shapes::ShapeRef.new(shape: ExportIdleRecommendationsRequest)
1725
+ o.output = Shapes::ShapeRef.new(shape: ExportIdleRecommendationsResponse)
1726
+ o.errors << Shapes::ShapeRef.new(shape: OptInRequiredException)
1727
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
1728
+ o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
1729
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1730
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
1731
+ o.errors << Shapes::ShapeRef.new(shape: MissingAuthenticationToken)
1732
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
1733
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
1734
+ end)
1735
+
1584
1736
  api.add_operation(:export_lambda_function_recommendations, Seahorse::Model::Operation.new.tap do |o|
1585
1737
  o.name = "ExportLambdaFunctionRecommendations"
1586
1738
  o.http_method = "POST"
@@ -1775,6 +1927,22 @@ module Aws::ComputeOptimizer
1775
1927
  )
1776
1928
  end)
1777
1929
 
1930
+ api.add_operation(:get_idle_recommendations, Seahorse::Model::Operation.new.tap do |o|
1931
+ o.name = "GetIdleRecommendations"
1932
+ o.http_method = "POST"
1933
+ o.http_request_uri = "/"
1934
+ o.input = Shapes::ShapeRef.new(shape: GetIdleRecommendationsRequest)
1935
+ o.output = Shapes::ShapeRef.new(shape: GetIdleRecommendationsResponse)
1936
+ o.errors << Shapes::ShapeRef.new(shape: OptInRequiredException)
1937
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
1938
+ o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
1939
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1940
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
1941
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1942
+ o.errors << Shapes::ShapeRef.new(shape: MissingAuthenticationToken)
1943
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
1944
+ end)
1945
+
1778
1946
  api.add_operation(:get_lambda_function_recommendations, Seahorse::Model::Operation.new.tap do |o|
1779
1947
  o.name = "GetLambdaFunctionRecommendations"
1780
1948
  o.http_method = "POST"